-#line 1 "dhcp4_lexer.cc"
+#line 2 "dhcp4_lexer.cc"
-#line 3 "dhcp4_lexer.cc"
+#line 4 "dhcp4_lexer.cc"
#define YY_INT_ALIGNED short int
/* %% [3.0] code to copy yytext_ptr to yytext[] goes here, if %array \ */\
(yy_c_buf_p) = yy_cp;
/* %% [4.0] data tables for the DFA and the user's section 1 definitions go here */
-#define YY_NUM_RULES 197
-#define YY_END_OF_BUFFER 198
+#define YY_NUM_RULES 201
+#define YY_END_OF_BUFFER 202
/* 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[1776] =
+static const flex_int16_t yy_accept[1839] =
{ 0,
- 190, 190, 0, 0, 0, 0, 0, 0, 0, 0,
- 198, 196, 10, 11, 196, 1, 190, 187, 190, 190,
- 196, 189, 188, 196, 196, 196, 196, 196, 183, 184,
- 196, 196, 196, 185, 186, 5, 5, 5, 196, 196,
- 196, 10, 11, 0, 0, 179, 0, 0, 0, 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,
0, 0, 0, 0, 0, 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,
- 190, 190, 0, 189, 190, 3, 2, 6, 0, 190,
+ 194, 194, 0, 193, 194, 3, 2, 6, 0, 194,
0, 0, 0, 0, 0, 0, 4, 0, 0, 9,
- 0, 180, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 182, 0, 0, 0,
+ 0, 184, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0,
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, 0, 2, 0, 0, 0,
+ 0, 0, 0, 0, 8, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 181, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 185,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 82, 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, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 195, 193, 0, 192, 191, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 159, 0,
- 158, 0, 0, 88, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 35, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 199, 197,
+ 0, 196, 195, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 163, 0, 162, 0, 0, 88, 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, 85, 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, 85, 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,
- 18, 0, 0, 0, 0, 194, 191, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 160, 0, 0,
- 162, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 89, 0, 0, 0, 0, 0, 0, 0, 74,
- 0, 0, 0, 0, 0, 0, 110, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 38, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 18, 0,
+ 0, 0, 0, 198, 195, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 164, 0, 0, 166, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 89,
+ 0, 0, 0, 0, 0, 0, 0, 74, 0, 0,
+ 0, 0, 0, 0, 110, 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, 73, 0,
+ 0, 0, 0, 0, 0, 0, 0, 73, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 77, 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, 107, 31, 0, 0,
- 36, 0, 0, 0, 0, 0, 0, 0, 0, 12,
- 167, 0, 164, 0, 163, 0, 0, 0, 120, 0,
+ 0, 0, 0, 0, 0, 0, 107, 0, 31, 0,
+ 0, 36, 0, 0, 0, 0, 0, 0, 0, 0,
+ 12, 171, 0, 168, 0, 167, 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, 0, 0, 0, 0, 0, 0, 0, 99,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 99, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 33, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 76,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 121,
- 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, 7, 0, 0, 165, 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, 76, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 121, 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, 7,
+ 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, 87, 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, 97, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 87, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 101, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 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, 80,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 94, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 80, 0, 0, 0, 0,
- 0, 0, 0, 0, 79, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 94, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 79, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 114, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 126, 95, 0, 0, 0,
- 0, 0, 0, 100, 32, 0, 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, 126, 95, 0, 0, 0, 0, 0,
+ 0, 100, 32, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 102, 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, 0, 0, 68, 0,
-
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 168, 0, 0, 0, 0, 0, 0, 141, 0, 0,
+ 0, 172, 0, 0, 0, 0, 0, 0, 145, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 84, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 115, 0, 0, 0, 0, 0, 43, 0, 0,
+ 0, 84, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 115, 0, 0, 0, 0, 0, 43,
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, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 103, 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, 0, 0, 0, 0, 0, 0, 0, 112, 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, 142, 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, 0, 112, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 146,
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, 81, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 147, 0, 0, 0, 145, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 172, 0, 0, 0, 0, 0, 0, 0,
- 113, 0, 0, 0, 0, 0, 0, 0, 0, 117,
- 0, 0, 0, 0, 0, 98, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 23, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 151,
+ 0, 0, 0, 149, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 176, 0, 0, 0, 0, 0, 0, 0, 113,
+ 0, 0, 0, 0, 0, 0, 0, 0, 117, 0,
+ 0, 0, 0, 0, 98, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 111, 22, 0, 122, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 151, 0, 0,
- 0, 0, 71, 0, 0, 0, 0, 0, 125, 34,
- 0, 140, 0, 0, 0, 0, 0, 0, 0, 0,
-
- 0, 0, 0, 0, 0, 0, 0, 59, 0, 0,
- 0, 0, 0, 92, 93, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 75, 0, 0, 0, 0,
- 0, 0, 0, 0, 44, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 119,
+
+ 0, 0, 0, 0, 0, 0, 0, 0, 155, 0,
+ 0, 0, 0, 71, 0, 0, 0, 0, 0, 0,
+ 125, 34, 0, 144, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 59,
+ 0, 0, 0, 0, 0, 92, 93, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 75, 0,
+ 0, 0, 0, 0, 0, 0, 0, 44, 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, 0, 0, 0, 0, 0, 0,
- 0, 176, 0, 72, 86, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 56, 0, 0, 0, 0, 0,
- 0, 0, 148, 0, 0, 146, 0, 137, 136, 0,
- 0, 0, 49, 0, 21, 0, 0, 0, 0, 0,
- 161, 0, 0, 0, 106, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 180, 0, 72, 86,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 134, 0, 139, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 123, 15, 0, 41, 0, 0, 0,
- 0, 0, 0, 0, 0, 150, 0, 0, 0, 0,
+ 56, 0, 0, 0, 0, 0, 0, 0, 152, 0,
+ 0, 150, 0, 141, 140, 0, 0, 0, 49, 0,
+ 0, 21, 0, 0, 0, 0, 0, 165, 0, 0,
+ 0, 106, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 134, 0, 0,
+ 143, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 123, 15, 0, 41, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 154, 0, 0, 0, 0, 0,
+
0, 0, 57, 0, 0, 118, 0, 0, 0, 0,
109, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 78, 0, 170, 0, 169, 0, 175, 0, 0, 0,
+ 0, 78, 0, 174, 0, 173, 0, 179, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 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, 182, 0, 104, 27, 0, 0, 0,
+
+ 50, 139, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 177, 0, 147, 0, 0, 0, 0, 0, 0,
+ 0, 0, 25, 0, 0, 24, 0, 153, 0, 0,
+ 0, 52, 0, 0, 0, 0, 0, 96, 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, 178, 0,
- 104, 27, 0, 0, 0, 50, 135, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 173, 143, 0, 0,
- 0, 0, 0, 0, 0, 0, 25, 0, 0, 24,
- 0, 149, 0, 0, 0, 52, 0, 0, 0, 0,
- 96, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
- 0, 0, 0, 0, 0, 0, 0, 53, 0, 0,
- 0, 0, 0, 42, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 53, 0, 0, 0,
+ 0, 0, 42, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 124, 0, 0,
- 0, 26, 0, 174, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 47, 0, 0,
- 20, 0, 177, 70, 0, 0, 0, 171, 166, 0,
- 28, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 16, 0, 0, 155, 0, 0, 0, 0, 0, 0,
- 132, 0, 0, 0, 108, 0, 0, 0, 0, 0,
- 0, 0, 0, 83, 0, 0, 0, 0, 0, 0,
-
- 0, 0, 0, 0, 0, 62, 0, 0, 0, 0,
- 0, 0, 0, 156, 13, 0, 0, 0, 0, 0,
- 0, 0, 144, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 138,
- 0, 0, 0, 0, 0, 131, 0, 55, 54, 19,
- 0, 152, 0, 0, 0, 0, 45, 0, 0, 0,
- 91, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 130, 0, 0, 51, 0, 0, 46, 154, 0, 0,
+ 0, 26, 0, 178, 0, 0, 0, 0, 0, 135,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 47,
+
+ 0, 0, 20, 0, 181, 70, 0, 0, 0, 0,
+ 175, 170, 0, 28, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 16, 0, 0, 0, 159, 0, 0,
+ 0, 0, 0, 0, 132, 0, 0, 0, 108, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 83, 0,
+ 0, 0, 137, 0, 0, 0, 0, 0, 0, 0,
+ 0, 62, 0, 0, 0, 0, 0, 0, 0, 0,
+ 160, 13, 0, 0, 0, 0, 0, 0, 0, 138,
+ 148, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 142, 0, 0,
+
+ 0, 0, 0, 0, 131, 0, 55, 54, 19, 0,
+ 156, 0, 0, 0, 0, 45, 0, 0, 0, 91,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 130, 0, 0, 51, 0, 0, 46, 158, 0, 0,
69, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 66,
-
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 29, 0, 0, 67, 0, 0,
- 0, 0, 0, 0, 153, 0, 105, 0, 0, 0,
- 63, 0, 0, 0, 0, 0, 0, 128, 0, 133,
- 0, 65, 58, 0, 0, 0, 0, 0, 0, 127,
- 0, 0, 157, 0, 0, 0, 0, 0, 0, 0,
- 64, 0, 0, 0, 0, 0, 90, 61, 0, 0,
- 0, 0, 60, 129, 0
+ 66, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 29, 0, 0, 67,
+ 0, 0, 136, 0, 0, 0, 0, 157, 0, 105,
+ 0, 0, 0, 63, 0, 0, 0, 0, 0, 0,
+
+ 128, 0, 133, 0, 65, 58, 0, 0, 0, 0,
+ 0, 0, 127, 0, 0, 161, 0, 0, 0, 0,
+ 0, 0, 0, 64, 0, 0, 0, 0, 0, 90,
+ 61, 0, 0, 0, 0, 60, 129, 0
} ;
static const YY_CHAR yy_ec[256] =
3, 3, 3
} ;
-static const flex_int16_t yy_base[1788] =
+static const flex_int16_t yy_base[1851] =
{ 0,
0, 72, 21, 31, 43, 51, 54, 60, 91, 99,
- 2176, 2177, 34, 2172, 145, 0, 207, 2177, 214, 221,
- 13, 228, 2177, 2152, 118, 25, 2, 6, 2177, 2177,
- 73, 11, 17, 2177, 2177, 2177, 104, 2160, 2113, 0,
- 2150, 108, 2167, 24, 262, 2177, 2109, 67, 2108, 2114,
- 84, 75, 2106, 88, 226, 91, 89, 290, 196, 2105,
- 206, 285, 206, 210, 219, 60, 223, 2114, 247, 290,
- 315, 303, 231, 2097, 297, 321, 343, 324, 2116, 0,
- 380, 387, 401, 408, 424, 2177, 0, 2177, 429, 438,
- 216, 249, 220, 315, 335, 266, 2177, 2113, 2154, 2177,
-
- 342, 2177, 421, 2141, 312, 2099, 2109, 400, 10, 2104,
- 361, 323, 370, 387, 382, 2149, 0, 474, 393, 2091,
- 2088, 2092, 318, 2088, 2096, 411, 2092, 2081, 2082, 2087,
- 78, 2097, 2080, 2089, 2089, 95, 2080, 399, 2081, 2079,
- 402, 2127, 2131, 2071, 2124, 2064, 2087, 2084, 2084, 2078,
- 398, 2071, 2069, 2063, 2068, 2062, 436, 2073, 2066, 2057,
- 2056, 2070, 413, 2056, 419, 435, 2050, 482, 191, 445,
- 2071, 2068, 2069, 330, 2067, 2102, 2101, 472, 2047, 2049,
- 473, 2041, 2058, 2050, 0, 473, 479, 444, 478, 488,
- 446, 2049, 2177, 0, 2094, 472, 2039, 2042, 490, 479,
-
- 2050, 490, 2095, 500, 2094, 499, 2093, 2177, 545, 2092,
- 509, 2051, 2043, 2030, 2046, 2047, 2044, 2041, 2040, 2031,
- 515, 2082, 2076, 2040, 2021, 2018, 2026, 2021, 2035, 2031,
- 2019, 2031, 2031, 2022, 2006, 2010, 2023, 2025, 2022, 2014,
- 2004, 2022, 2177, 2017, 2020, 2001, 2000, 2052, 1999, 2009,
- 2012, 536, 2008, 2047, 1995, 2006, 2044, 1989, 2047, 1982,
- 1997, 504, 1987, 2003, 1984, 1982, 1982, 1988, 1979, 1978,
- 1985, 1975, 2034, 1990, 1989, 1983, 456, 1990, 1985, 1977,
- 1967, 1982, 1981, 1976, 1980, 481, 1978, 1964, 1970, 1977,
- 1959, 1960, 1963, 1960, 1959, 546, 1954, 1968, 2011, 1970,
-
- 366, 1961, 526, 2177, 2177, 537, 2177, 2177, 1948, 0,
- 241, 508, 1950, 564, 548, 2006, 1957, 521, 2177, 2004,
- 2177, 1998, 590, 2177, 542, 1938, 1947, 1995, 1939, 1956,
- 1937, 1943, 1995, 1950, 1945, 1948, 1943, 539, 2177, 1945,
- 1989, 1983, 1941, 1938, 608, 1944, 1984, 1978, 1931, 1926,
- 1923, 1974, 1931, 1920, 1936, 1970, 1916, 615, 1930, 1915,
- 1928, 1915, 1925, 1920, 1927, 1922, 1918, 560, 1916, 1919,
- 1914, 1900, 1909, 1959, 516, 1953, 2177, 1952, 1902, 1901,
- 1900, 1893, 1895, 1899, 1888, 1905, 1900, 580, 1947, 1900,
- 1897, 1900, 2177, 1899, 1888, 1888, 1900, 538, 1875, 1876,
-
- 1897, 570, 1879, 1930, 1875, 1889, 1892, 1887, 1873, 1885,
- 1884, 1883, 1878, 1881, 1880, 1879, 1878, 572, 1921, 1920,
- 2177, 1862, 1861, 623, 1874, 2177, 2177, 1873, 0, 1862,
- 1854, 594, 1859, 1912, 1911, 1867, 1909, 2177, 1855, 1907,
- 2177, 601, 666, 606, 1906, 1848, 1859, 1852, 1854, 1853,
- 1841, 2177, 1846, 1852, 1855, 1838, 1853, 1840, 1839, 2177,
- 591, 1841, 1838, 583, 1836, 1838, 2177, 1846, 1843, 1828,
- 1841, 1836, 646, 1843, 1831, 1824, 1875, 2177, 1822, 1838,
- 1872, 1833, 1830, 1831, 1833, 1867, 1818, 1813, 1812, 1863,
- 1807, 539, 1826, 1800, 1807, 1812, 1822, 1861, 2177, 1806,
-
- 1802, 1800, 1809, 1803, 1810, 1794, 1794, 1804, 1807, 1796,
- 1792, 1790, 2177, 1847, 2177, 1789, 1800, 1839, 1784, 1789,
- 1798, 1792, 1786, 1795, 1837, 1831, 1793, 1776, 1776, 1771,
- 1791, 1766, 1772, 1777, 1770, 1778, 1782, 1765, 1823, 1764,
- 1816, 1761, 1762, 1761, 1773, 1762, 2177, 2177, 1762, 1760,
- 2177, 1771, 1807, 1767, 0, 1751, 1768, 1808, 1756, 2177,
- 2177, 1753, 2177, 1759, 2177, 613, 613, 650, 2177, 1756,
- 1755, 1762, 1742, 1741, 1794, 1739, 1792, 1737, 1736, 1735,
- 1742, 1735, 1747, 1729, 1729, 1744, 1743, 1742, 1741, 1741,
- 1723, 1728, 1769, 1736, 1728, 1773, 1717, 1733, 1732, 2177,
-
- 1717, 1714, 1772, 1727, 1719, 1725, 1716, 1724, 1709, 1725,
- 1707, 1721, 561, 1703, 1697, 1702, 1717, 1714, 1715, 1694,
- 1704, 1710, 1753, 1708, 1700, 2177, 1693, 1695, 1704, 1702,
- 1741, 1740, 1691, 16, 1700, 1683, 1684, 1687, 1680, 2177,
- 1694, 1673, 1677, 1691, 1683, 1728, 1680, 1687, 1725, 2177,
- 1670, 1684, 1668, 1682, 1685, 1666, 1718, 1717, 1716, 1715,
- 1660, 1713, 1712, 2177, 1657, 1671, 658, 1672, 1671, 1668,
- 1668, 1666, 1649, 1654, 1656, 2177, 1662, 1652, 2177, 1699,
- 1645, 1702, 612, 561, 1643, 1641, 1648, 1639, 1633, 1691,
- 611, 1695, 618, 1689, 1649, 1687, 1686, 1638, 1636, 1644,
-
- 1647, 1631, 1632, 1623, 1678, 1629, 1637, 1638, 1674, 1635,
- 1629, 606, 1625, 1670, 1674, 1629, 1628, 2177, 172, 229,
- 281, 339, 365, 600, 615, 621, 628, 632, 640, 637,
- 682, 689, 639, 631, 641, 688, 646, 696, 2177, 697,
- 650, 647, 641, 644, 697, 660, 649, 662, 2177, 658,
- 669, 670, 672, 716, 717, 660, 671, 656, 679, 658,
- 664, 719, 683, 667, 679, 723, 724, 725, 672, 727,
- 691, 686, 693, 689, 674, 686, 687, 694, 680, 2177,
- 745, 703, 705, 695, 707, 709, 694, 701, 707, 699,
- 713, 718, 759, 2177, 755, 731, 718, 723, 720, 721,
-
- 766, 719, 717, 726, 2177, 716, 731, 728, 714, 721,
- 720, 718, 737, 734, 722, 729, 730, 739, 739, 729,
- 727, 726, 737, 733, 790, 747, 732, 738, 754, 744,
- 2177, 754, 754, 747, 758, 756, 801, 743, 745, 760,
- 747, 807, 764, 750, 753, 2177, 2177, 763, 768, 773,
- 761, 771, 773, 2177, 2177, 774, 778, 765, 759, 764,
- 782, 769, 819, 770, 822, 771, 829, 2177, 2177, 774,
- 778, 777, 774, 834, 787, 777, 778, 774, 787, 798,
- 782, 800, 795, 796, 798, 791, 793, 794, 795, 795,
- 797, 812, 853, 810, 815, 792, 815, 799, 2177, 806,
-
- 807, 821, 811, 858, 816, 806, 821, 822, 809, 823,
- 2177, 842, 850, 819, 814, 869, 870, 2177, 833, 837,
- 878, 826, 821, 822, 834, 841, 830, 831, 827, 830,
- 831, 841, 850, 886, 841, 836, 895, 852, 854, 845,
- 2177, 847, 857, 859, 844, 860, 854, 901, 867, 851,
- 852, 2177, 868, 871, 854, 913, 856, 2177, 873, 876,
- 856, 874, 914, 872, 868, 865, 918, 919, 866, 884,
- 883, 884, 870, 885, 877, 884, 874, 892, 877, 2177,
- 885, 891, 894, 939, 2177, 888, 893, 937, 888, 900,
- 895, 899, 897, 895, 897, 907, 952, 896, 901, 897,
-
- 956, 900, 912, 2177, 900, 908, 906, 957, 919, 905,
- 906, 915, 927, 911, 916, 926, 928, 933, 974, 931,
- 947, 952, 934, 931, 927, 922, 982, 925, 2177, 925,
- 945, 944, 935, 924, 941, 948, 991, 952, 945, 949,
- 953, 936, 997, 944, 2177, 994, 941, 944, 943, 943,
- 966, 963, 968, 969, 955, 963, 972, 952, 967, 974,
- 1016, 2177, 1017, 1018, 969, 979, 981, 970, 966, 973,
- 982, 970, 977, 978, 1030, 977, 975, 977, 994, 1035,
- 985, 984, 990, 988, 986, 1041, 1042, 1038, 1044, 2177,
- 1001, 994, 985, 1004, 992, 1002, 999, 1004, 1000, 1013,
-
- 1013, 2177, 997, 999, 999, 2177, 1000, 1060, 999, 1019,
- 1020, 1022, 1013, 1067, 1068, 1021, 1006, 1027, 1026, 1010,
- 1015, 1033, 2177, 1023, 1056, 1047, 1079, 1019, 1041, 1038,
- 2177, 1025, 1027, 1044, 1039, 1043, 1088, 1036, 1040, 2177,
- 1032, 1049, 1029, 1050, 1040, 2177, 1055, 1055, 1093, 1040,
- 1096, 1058, 1044, 1104, 1047, 1059, 1051, 1057, 1053, 1071,
- 1072, 1073, 2177, 2177, 1072, 2177, 1057, 1058, 1077, 1067,
- 1060, 1072, 1116, 1080, 1069, 1076, 1077, 2177, 1075, 1127,
- 1068, 1129, 2177, 1130, 1072, 1078, 1085, 1129, 2177, 2177,
- 1077, 2177, 1079, 1093, 1098, 1081, 1140, 1097, 1098, 1099,
-
- 1139, 1091, 1096, 1147, 1100, 1096, 1150, 2177, 1097, 1152,
- 1153, 1110, 1112, 2177, 2177, 1095, 1157, 1116, 1159, 1101,
- 1113, 1118, 1104, 1134, 1165, 2177, 1122, 1115, 1124, 1169,
- 1116, 1131, 1167, 1119, 2177, 1115, 1131, 1132, 1133, 1130,
- 1174, 1137, 1141, 1128, 1124, 1184, 1137, 1186, 1143, 2177,
- 1144, 1137, 1146, 1147, 1145, 1135, 1138, 1138, 1144, 1199,
- 1200, 1143, 1202, 1198, 1139, 1155, 1146, 1150, 1163, 1164,
- 1210, 2177, 1163, 2177, 2177, 1168, 1162, 1172, 1157, 1158,
- 1219, 1163, 1173, 1222, 2177, 1170, 1170, 1172, 1174, 1227,
- 1168, 1171, 2177, 1172, 1191, 2177, 1175, 2177, 2177, 1188,
-
- 1190, 1191, 2177, 1185, 2177, 1237, 1186, 1239, 1240, 1220,
- 2177, 1242, 1199, 1240, 2177, 1188, 1196, 1190, 1187, 1190,
- 1193, 1193, 1210, 1249, 1202, 1214, 1217, 1199, 1206, 1196,
- 2177, 1218, 2177, 1204, 1205, 1221, 1221, 1224, 1224, 1221,
- 1265, 1227, 1219, 2177, 2177, 1229, 2177, 1226, 1231, 1232,
- 1229, 1273, 1221, 1236, 1237, 2177, 1225, 1226, 1226, 1232,
- 1231, 1242, 2177, 1283, 1230, 2177, 1231, 1231, 1233, 1239,
- 2177, 1241, 1295, 1237, 1245, 1248, 1259, 1257, 1301, 1262,
- 2177, 1259, 2177, 1256, 2177, 1279, 2177, 1306, 1248, 1308,
- 1309, 1266, 1271, 1253, 1313, 1314, 1310, 1274, 1271, 1267,
-
- 1260, 1272, 1262, 1267, 1323, 1324, 1320, 1283, 1280, 1324,
- 1272, 1277, 1276, 1335, 1291, 1337, 1295, 1339, 1300, 1289,
- 1283, 1343, 1285, 1286, 1302, 1302, 1348, 1290, 1307, 1306,
- 1290, 1348, 1349, 1296, 1351, 1314, 1315, 2177, 1315, 1316,
- 1303, 1302, 1358, 2177, 1316, 1365, 1323, 1336, 2177, 1320,
- 2177, 2177, 1311, 1322, 1371, 2177, 2177, 1317, 1322, 1320,
- 1370, 1328, 1333, 1324, 1322, 1336, 2177, 2177, 1326, 1377,
- 1320, 1325, 1385, 1333, 1343, 1344, 2177, 1389, 1342, 2177,
- 1391, 2177, 1334, 1350, 1339, 2177, 1349, 1350, 1356, 1360,
- 2177, 1396, 1362, 1355, 1364, 1346, 1353, 1407, 1366, 1365,
-
- 1410, 1358, 1412, 1413, 1363, 1367, 1364, 2177, 1417, 1418,
- 1367, 1420, 1362, 2177, 1365, 1375, 1419, 1367, 1382, 1369,
- 1375, 1375, 1430, 1374, 1373, 1433, 1386, 2177, 1430, 1381,
- 1378, 2177, 1392, 2177, 1395, 1440, 1393, 1390, 1391, 1444,
- 1403, 1386, 1388, 1385, 1401, 1402, 1411, 2177, 1401, 1453,
- 2177, 1412, 2177, 2177, 1396, 1403, 1452, 2177, 2177, 1414,
- 2177, 1454, 1416, 1417, 1402, 1403, 1411, 1465, 1461, 1416,
- 2177, 1414, 1421, 2177, 1418, 1423, 1421, 1473, 1474, 1417,
- 2177, 1432, 1433, 1434, 2177, 1435, 1425, 1437, 1482, 1424,
- 1432, 1433, 1446, 2177, 1423, 1483, 1444, 1448, 1433, 1433,
-
- 1448, 1441, 1440, 1451, 1438, 2177, 1443, 1499, 1458, 1449,
- 1458, 1460, 1464, 2177, 2177, 1505, 1448, 1507, 1508, 1509,
- 1467, 1511, 2177, 1507, 1469, 1470, 1457, 1516, 1459, 1464,
- 1455, 1520, 1473, 1474, 1464, 1481, 1480, 1521, 1483, 2177,
- 1484, 1485, 1530, 1487, 1490, 2177, 1533, 2177, 2177, 2177,
- 1494, 2177, 1476, 1536, 1537, 1480, 2177, 1499, 1540, 1499,
- 2177, 1490, 1480, 1539, 1505, 1498, 1494, 1491, 1491, 1493,
- 2177, 1498, 1508, 2177, 1494, 1506, 2177, 2177, 1511, 1504,
- 2177, 1506, 1514, 1559, 1500, 1502, 1499, 1523, 1516, 1507,
- 1561, 1508, 1516, 1525, 1518, 1513, 1517, 1529, 1574, 2177,
-
- 1520, 1532, 1577, 1526, 1525, 1532, 1519, 1534, 1539, 1584,
- 1541, 1586, 1536, 1530, 2177, 1546, 1590, 2177, 1547, 1549,
- 1540, 1554, 1550, 1543, 2177, 1597, 2177, 1554, 1599, 1560,
- 2177, 1601, 1602, 1557, 1556, 1557, 1547, 2177, 1602, 2177,
- 1549, 2177, 2177, 1609, 1551, 1567, 1612, 1573, 1570, 2177,
- 1611, 1560, 2177, 1572, 1565, 1620, 1562, 1564, 1579, 1564,
- 2177, 1577, 1626, 1627, 1575, 1577, 2177, 2177, 1571, 1587,
- 1632, 1633, 2177, 2177, 2177, 1639, 1644, 1649, 1654, 1659,
- 1664, 1669, 1672, 1646, 1651, 1653, 1666
+ 2239, 2240, 34, 2235, 145, 0, 207, 2240, 214, 221,
+ 13, 228, 2240, 2215, 118, 25, 2, 6, 2240, 2240,
+ 73, 11, 17, 2240, 2240, 2240, 104, 2223, 2176, 0,
+ 2213, 108, 2230, 24, 262, 2240, 2172, 67, 2171, 2177,
+ 84, 75, 2169, 88, 226, 91, 89, 290, 196, 2168,
+ 206, 285, 206, 210, 219, 60, 223, 2177, 247, 294,
+ 315, 307, 231, 2160, 286, 325, 354, 328, 2179, 0,
+ 366, 382, 397, 411, 404, 2240, 0, 2240, 419, 425,
+ 216, 249, 220, 315, 319, 329, 2240, 2176, 2217, 2240,
+
+ 404, 2240, 438, 2204, 390, 2162, 2172, 331, 10, 2167,
+ 406, 414, 408, 415, 428, 2212, 0, 491, 412, 2154,
+ 2151, 2155, 286, 2151, 2159, 246, 2155, 2144, 2145, 2150,
+ 78, 2160, 2143, 2152, 2152, 95, 2143, 400, 2144, 2142,
+ 396, 2190, 2194, 2134, 2187, 2127, 2150, 2147, 2147, 2141,
+ 336, 2134, 2132, 2133, 2125, 2130, 2124, 423, 2135, 2128,
+ 2119, 2118, 2132, 419, 2118, 408, 413, 2112, 487, 191,
+ 428, 2133, 2130, 2131, 299, 2129, 2164, 2163, 452, 2109,
+ 2109, 2110, 459, 2102, 2119, 2111, 0, 458, 439, 438,
+ 463, 469, 452, 2110, 2240, 0, 2155, 501, 2100, 2103,
+
+ 489, 491, 2111, 502, 2156, 504, 2155, 496, 2154, 2240,
+ 542, 2153, 538, 2112, 2104, 2091, 2107, 2108, 2105, 2102,
+ 2101, 2092, 512, 2143, 2137, 2101, 2082, 2079, 2087, 2082,
+ 2096, 2092, 2080, 2092, 2092, 2083, 2067, 2071, 2084, 2086,
+ 2083, 2075, 2065, 2083, 2240, 2078, 2081, 2062, 2061, 2113,
+ 2060, 2070, 2073, 519, 2069, 2108, 2053, 2055, 2066, 2104,
+ 2049, 2107, 2042, 2057, 534, 2047, 2053, 2062, 2043, 2041,
+ 2041, 2047, 2038, 2037, 2044, 2034, 2093, 2049, 2048, 2042,
+ 515, 2049, 2044, 2036, 2026, 2041, 2040, 2035, 2039, 410,
+ 2037, 2023, 2029, 2036, 2018, 2019, 2022, 2019, 2018, 346,
+
+ 2013, 2027, 2026, 2069, 2028, 499, 2019, 537, 2240, 2240,
+ 546, 2240, 2240, 2006, 0, 457, 533, 2008, 580, 551,
+ 2064, 2015, 544, 2240, 2062, 2240, 2056, 594, 2240, 544,
+ 1996, 2005, 2053, 1997, 2014, 1995, 2001, 2053, 2008, 2003,
+ 2006, 2001, 536, 2240, 2003, 2047, 2041, 1999, 1996, 583,
+ 2002, 2042, 2036, 1989, 1984, 1981, 2032, 1989, 1978, 1994,
+ 2028, 1974, 617, 1988, 1973, 1986, 1973, 1983, 1978, 1985,
+ 1980, 1976, 562, 1974, 1977, 1972, 1958, 1970, 1966, 2016,
+ 554, 2010, 2240, 2009, 1959, 1958, 1957, 1950, 1952, 1964,
+ 1955, 1944, 1961, 1956, 574, 2003, 1956, 1953, 1956, 2240,
+
+ 1955, 1944, 1944, 1956, 473, 1931, 1932, 1953, 576, 1935,
+ 1986, 1931, 1945, 1948, 1943, 1929, 1941, 1940, 1939, 1934,
+ 1937, 1936, 1935, 1934, 557, 1977, 1936, 1975, 2240, 1917,
+ 1916, 621, 1929, 2240, 2240, 1928, 0, 1917, 1909, 595,
+ 1914, 1967, 1966, 1922, 1964, 2240, 1910, 1962, 2240, 601,
+ 668, 600, 1961, 1903, 1914, 1907, 1909, 1908, 1896, 2240,
+ 1901, 1907, 1910, 1893, 1908, 1895, 1894, 2240, 587, 1896,
+ 1893, 599, 1891, 1893, 2240, 1901, 1898, 1883, 1896, 1891,
+ 646, 1898, 1886, 1879, 1930, 2240, 1877, 1893, 1927, 1888,
+ 1885, 1886, 1888, 1922, 1873, 1868, 1867, 1918, 1862, 596,
+
+ 1881, 1855, 1862, 1867, 1877, 1911, 1915, 2240, 1860, 1856,
+ 1854, 1863, 1857, 1864, 1848, 1848, 1858, 1846, 1860, 1849,
+ 1845, 1843, 2240, 1900, 2240, 1842, 1853, 1892, 1837, 1842,
+ 1851, 1845, 1839, 1848, 1890, 1884, 1846, 1829, 1829, 1824,
+ 1844, 1819, 1825, 1830, 1823, 1831, 1835, 1818, 1876, 1817,
+ 1869, 1814, 1815, 1814, 1826, 1815, 2240, 1825, 2240, 1814,
+ 1812, 2240, 1823, 1859, 1819, 0, 1803, 1820, 1860, 1808,
+ 2240, 2240, 1805, 2240, 1811, 2240, 620, 602, 660, 2240,
+ 1808, 1807, 1814, 1794, 1793, 1846, 1791, 1844, 1789, 1788,
+ 1787, 1794, 1787, 1799, 1781, 1781, 1796, 1795, 1794, 1793,
+
+ 1793, 1775, 1780, 1821, 1788, 1780, 1825, 1769, 1785, 1784,
+ 2240, 1769, 1766, 1824, 1779, 1771, 1777, 1768, 1776, 1761,
+ 1777, 1759, 1773, 606, 1755, 1749, 1754, 1769, 1766, 1767,
+ 1746, 1756, 1762, 1805, 1760, 1752, 1743, 2240, 1744, 1746,
+ 1755, 1753, 1792, 1791, 1742, 16, 1751, 1788, 1733, 1734,
+ 1737, 1730, 2240, 1744, 1723, 1727, 1741, 1733, 1778, 1730,
+ 1737, 1775, 2240, 1720, 1734, 1718, 1732, 1735, 1716, 1768,
+ 1767, 1766, 1765, 1710, 1763, 1762, 2240, 1707, 1721, 652,
+ 1722, 1721, 1718, 1718, 1755, 1715, 1698, 1703, 1705, 2240,
+ 1711, 1701, 2240, 1748, 1694, 1751, 633, 640, 1692, 1690,
+
+ 1697, 1688, 1682, 1740, 620, 1744, 624, 1738, 1698, 1736,
+ 1735, 1687, 1685, 1693, 1696, 1680, 161, 216, 392, 398,
+ 462, 495, 591, 555, 580, 639, 620, 667, 673, 637,
+ 638, 2240, 641, 645, 636, 652, 657, 654, 658, 657,
+ 658, 656, 664, 661, 706, 707, 663, 655, 665, 712,
+ 670, 720, 2240, 721, 674, 676, 672, 666, 669, 722,
+ 685, 674, 687, 2240, 677, 688, 677, 690, 692, 736,
+ 737, 680, 691, 676, 699, 678, 684, 739, 703, 687,
+ 699, 743, 744, 745, 692, 747, 711, 706, 713, 709,
+ 694, 706, 707, 714, 700, 2240, 765, 723, 725, 715,
+
+ 727, 717, 730, 715, 722, 728, 720, 734, 739, 780,
+ 2240, 776, 752, 739, 744, 741, 742, 787, 740, 738,
+ 747, 2240, 737, 752, 749, 735, 742, 741, 739, 758,
+ 755, 743, 750, 751, 760, 760, 750, 748, 747, 758,
+ 754, 811, 768, 753, 754, 760, 776, 766, 2240, 776,
+ 776, 769, 780, 778, 823, 765, 767, 782, 769, 829,
+ 786, 772, 775, 2240, 2240, 785, 790, 795, 783, 793,
+ 795, 2240, 2240, 796, 783, 801, 788, 782, 787, 805,
+ 792, 842, 793, 845, 791, 795, 853, 2240, 2240, 798,
+ 802, 801, 798, 858, 811, 801, 802, 798, 811, 822,
+
+ 806, 824, 819, 820, 822, 815, 817, 818, 819, 819,
+ 821, 836, 877, 834, 839, 816, 839, 823, 2240, 830,
+ 831, 845, 835, 833, 883, 841, 831, 846, 847, 834,
+ 848, 2240, 867, 875, 844, 839, 894, 895, 2240, 858,
+ 862, 903, 851, 846, 847, 859, 866, 855, 856, 852,
+ 855, 856, 866, 875, 911, 866, 861, 920, 877, 879,
+ 870, 2240, 872, 875, 883, 885, 870, 886, 880, 927,
+ 893, 877, 878, 2240, 894, 897, 880, 939, 882, 2240,
+ 899, 902, 882, 900, 940, 898, 894, 891, 944, 945,
+ 907, 893, 911, 910, 911, 897, 912, 904, 911, 901,
+
+ 919, 918, 905, 2240, 913, 919, 922, 967, 2240, 916,
+ 921, 965, 916, 929, 923, 927, 925, 923, 925, 935,
+ 980, 924, 929, 925, 984, 928, 940, 2240, 928, 936,
+ 934, 985, 947, 933, 934, 943, 955, 942, 941, 946,
+ 956, 957, 962, 1003, 960, 976, 981, 963, 960, 956,
+ 951, 1011, 954, 2240, 954, 974, 973, 964, 953, 970,
+ 977, 1020, 981, 974, 978, 982, 965, 1026, 973, 2240,
+ 1023, 970, 973, 972, 973, 975, 996, 993, 998, 999,
+ 985, 993, 1002, 982, 997, 1004, 1046, 2240, 1047, 1048,
+ 999, 1009, 1011, 1000, 996, 1003, 1012, 1000, 1007, 1008,
+
+ 1020, 1061, 1008, 1006, 1008, 1025, 1066, 1016, 1015, 1021,
+ 1019, 1017, 1012, 1073, 1074, 1070, 1076, 2240, 1033, 1026,
+ 1017, 1036, 1024, 1034, 1031, 1036, 1032, 1045, 1045, 2240,
+ 1029, 1031, 1031, 2240, 1032, 1093, 1032, 1051, 1052, 1054,
+ 1045, 1099, 1100, 1053, 1038, 1052, 1060, 1059, 1043, 1048,
+ 1066, 2240, 1056, 1089, 1080, 1112, 1052, 1074, 1071, 2240,
+ 1058, 1060, 1077, 1072, 1076, 1121, 1069, 1073, 2240, 1065,
+ 1082, 1062, 1083, 1073, 2240, 1088, 1088, 1126, 1073, 1129,
+ 1087, 1092, 1078, 1138, 1082, 1093, 1085, 1091, 1087, 1105,
+ 1106, 1107, 2240, 2240, 1106, 2240, 1091, 1092, 1111, 1101,
+
+ 1094, 1106, 1150, 1114, 1103, 1110, 1111, 1117, 2240, 1110,
+ 1162, 1103, 1164, 2240, 1165, 1107, 1113, 1120, 1164, 1126,
+ 2240, 2240, 1113, 2240, 1115, 1129, 1134, 1117, 1176, 1133,
+ 1134, 1135, 1175, 1127, 1132, 1183, 1136, 1132, 1186, 2240,
+ 1133, 1188, 1189, 1146, 1148, 2240, 2240, 1131, 1193, 1189,
+ 1153, 1196, 1138, 1150, 1155, 1141, 1171, 1202, 2240, 1159,
+ 1152, 1161, 1206, 1153, 1168, 1204, 1156, 2240, 1152, 1168,
+ 1169, 1170, 1167, 1211, 1174, 1178, 1165, 1161, 1221, 1174,
+ 1218, 1224, 1181, 2240, 1182, 1175, 1184, 1186, 1183, 1173,
+ 1177, 1177, 1182, 1237, 1238, 1181, 1240, 1236, 1177, 1192,
+
+ 1185, 1188, 1201, 1202, 1200, 1249, 2240, 1204, 2240, 2240,
+ 1209, 1201, 1211, 1196, 1252, 1198, 1259, 1203, 1213, 1262,
+ 2240, 1210, 1210, 1212, 1214, 1267, 1208, 1211, 2240, 1212,
+ 1231, 2240, 1215, 2240, 2240, 1228, 1230, 1231, 2240, 1218,
+ 1226, 2240, 1278, 1227, 1280, 1281, 1261, 2240, 1283, 1240,
+ 1281, 2240, 1229, 1237, 1231, 1228, 1231, 1234, 1234, 1251,
+ 1290, 1243, 1255, 1258, 1240, 1247, 1237, 2240, 1259, 1244,
+ 2240, 1246, 1248, 1263, 1263, 1266, 1266, 1263, 1307, 1269,
+ 1261, 2240, 2240, 1271, 2240, 1268, 1273, 1274, 1271, 1315,
+ 1263, 1278, 1279, 1271, 2240, 1268, 1269, 1269, 1275, 1274,
+
+ 1272, 1286, 2240, 1327, 1274, 2240, 1275, 1275, 1277, 1283,
+ 2240, 1285, 1339, 1281, 1289, 1292, 1303, 1301, 1345, 1298,
+ 1307, 2240, 1304, 2240, 1301, 2240, 1324, 2240, 1351, 1293,
+ 1353, 1354, 1311, 1316, 1298, 1358, 1359, 1355, 1319, 1316,
+ 1312, 1305, 1317, 1307, 1312, 1368, 1322, 1370, 1366, 1330,
+ 1326, 1370, 1318, 1324, 1322, 1381, 1337, 1383, 1341, 1385,
+ 1346, 1335, 1329, 1389, 1331, 1332, 1346, 1349, 1349, 1395,
+ 1337, 1354, 1350, 1354, 1338, 1396, 1397, 1344, 1399, 1362,
+ 1363, 2240, 1363, 1364, 1351, 1350, 1406, 2240, 1347, 1365,
+ 1414, 1372, 1385, 2240, 1369, 2240, 2240, 1360, 1371, 1420,
+
+ 2240, 2240, 1366, 1371, 1369, 1419, 1377, 1382, 1373, 1371,
+ 1385, 2240, 1373, 2240, 1376, 1427, 1370, 1375, 1435, 1383,
+ 1393, 1394, 2240, 1440, 1393, 2240, 1442, 2240, 1385, 1401,
+ 1389, 2240, 1399, 1400, 1449, 1407, 1411, 2240, 1447, 1413,
+ 1389, 1407, 1416, 1398, 1405, 1459, 1418, 1417, 1462, 1410,
+ 1464, 1465, 1415, 1419, 1424, 1417, 2240, 1470, 1471, 1420,
+ 1473, 1415, 2240, 1418, 1428, 1472, 1420, 1435, 1422, 1428,
+ 1428, 1483, 1440, 1428, 1427, 1487, 1440, 2240, 1484, 1435,
+ 1432, 2240, 1446, 2240, 1449, 1494, 1447, 1444, 1445, 2240,
+ 1498, 1457, 1440, 1442, 1458, 1440, 1456, 1457, 1466, 2240,
+
+ 1456, 1508, 2240, 1467, 2240, 2240, 1451, 1458, 1512, 1508,
+ 2240, 2240, 1470, 2240, 1510, 1472, 1473, 1458, 1459, 1467,
+ 1521, 1517, 1472, 2240, 1484, 1471, 1478, 2240, 1475, 1480,
+ 1478, 1530, 1531, 1474, 2240, 1489, 1490, 1491, 2240, 1492,
+ 1482, 1494, 1539, 1540, 1482, 1490, 1491, 1504, 2240, 1481,
+ 1541, 1502, 2240, 1506, 1491, 1491, 1506, 1499, 1498, 1509,
+ 1496, 2240, 1501, 1557, 1515, 1517, 1508, 1517, 1519, 1523,
+ 2240, 2240, 1564, 1507, 1566, 1567, 1568, 1526, 1570, 2240,
+ 2240, 1566, 1528, 1529, 1516, 1575, 1518, 1523, 1514, 1579,
+ 1532, 1533, 1523, 1540, 1539, 1580, 1542, 2240, 1539, 1544,
+
+ 1545, 1590, 1547, 1550, 2240, 1593, 2240, 2240, 2240, 1554,
+ 2240, 1536, 1596, 1597, 1540, 2240, 1559, 1600, 1559, 2240,
+ 1550, 1540, 1599, 1565, 1558, 1554, 1551, 1556, 1552, 1554,
+ 2240, 1559, 1569, 2240, 1555, 1567, 2240, 2240, 1572, 1565,
+ 2240, 1567, 1575, 1620, 1561, 1563, 1560, 1584, 1577, 1580,
+ 1569, 1623, 1570, 1578, 1587, 1580, 1575, 1579, 1591, 1636,
+ 2240, 1582, 1594, 1639, 1588, 1587, 1642, 1595, 1582, 1597,
+ 1602, 1647, 1604, 1649, 1599, 1593, 2240, 1609, 1653, 2240,
+ 1610, 1612, 2240, 1603, 1617, 1613, 1606, 2240, 1660, 2240,
+ 1617, 1662, 1623, 2240, 1664, 1665, 1620, 1619, 1620, 1610,
+
+ 2240, 1665, 2240, 1612, 2240, 2240, 1672, 1614, 1630, 1675,
+ 1636, 1633, 2240, 1674, 1623, 2240, 1635, 1628, 1683, 1625,
+ 1627, 1642, 1627, 2240, 1640, 1689, 1690, 1638, 1640, 2240,
+ 2240, 1634, 1650, 1695, 1696, 2240, 2240, 2240, 1702, 1707,
+ 1712, 1717, 1722, 1727, 1732, 1735, 1709, 1714, 1716, 1729
} ;
-static const flex_int16_t yy_def[1788] =
+static const flex_int16_t yy_def[1851] =
{ 0,
- 1776, 1776, 1777, 1777, 1776, 1776, 1776, 1776, 1776, 1776,
- 1775, 1775, 1775, 1775, 1775, 1778, 1775, 1775, 1775, 1775,
- 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775,
- 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1779,
- 1775, 1775, 1775, 1780, 15, 1775, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 1781, 45, 45,
+ 1839, 1839, 1840, 1840, 1839, 1839, 1839, 1839, 1839, 1839,
+ 1838, 1838, 1838, 1838, 1838, 1841, 1838, 1838, 1838, 1838,
+ 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838,
+ 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1842,
+ 1838, 1838, 1838, 1843, 15, 1838, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 1844, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 45, 1778,
- 1775, 1775, 1775, 1775, 1775, 1775, 1782, 1775, 1775, 1775,
- 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1779, 1775,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 1841,
+ 1838, 1838, 1838, 1838, 1838, 1838, 1845, 1838, 1838, 1838,
+ 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1842, 1838,
- 1780, 1775, 1775, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 1783, 45, 1781, 45, 45,
+ 1843, 1838, 1838, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 1846, 45, 1844, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 1782, 1775, 1775, 1775, 1775, 1775,
- 1775, 1775, 1775, 1784, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 1845, 1838, 1838, 1838,
+ 1838, 1838, 1838, 1838, 1838, 1847, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 1783, 1775, 1781, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 1846, 1838,
+ 1844, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 1775, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 1838, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1785,
- 45, 45, 45, 45, 45, 45, 45, 45, 1775, 45,
- 1775, 45, 1781, 1775, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 1775, 45,
+ 45, 45, 45, 45, 45, 45, 45, 1838, 1838, 1838,
+ 1838, 1838, 1838, 1838, 1848, 45, 45, 45, 45, 45,
+ 45, 45, 45, 1838, 45, 1838, 45, 1844, 1838, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 1838, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 1775, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 1775, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 1838, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 1838,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 1775, 45, 45, 45, 45, 1775, 1775, 1775, 1786, 45,
- 45, 45, 45, 45, 45, 45, 45, 1775, 45, 45,
- 1775, 45, 1781, 45, 45, 45, 45, 45, 45, 45,
- 45, 1775, 45, 45, 45, 45, 45, 45, 45, 1775,
- 45, 45, 45, 45, 45, 45, 1775, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 1775, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 1838, 45,
+ 45, 45, 45, 1838, 1838, 1838, 1849, 45, 45, 45,
+ 45, 45, 45, 45, 45, 1838, 45, 45, 1838, 45,
+ 1844, 45, 45, 45, 45, 45, 45, 45, 45, 1838,
+ 45, 45, 45, 45, 45, 45, 45, 1838, 45, 45,
+ 45, 45, 45, 45, 1838, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 1838, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 1775, 45,
+ 45, 45, 45, 45, 45, 45, 45, 1838, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 1775, 45, 1775, 45, 45, 45, 45, 45,
+ 45, 45, 1838, 45, 1838, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 1775, 1775, 45, 45,
- 1775, 45, 45, 1775, 1787, 45, 45, 45, 45, 1775,
- 1775, 45, 1775, 45, 1775, 45, 45, 45, 1775, 45,
+ 45, 45, 45, 45, 45, 45, 1838, 45, 1838, 45,
+ 45, 1838, 45, 45, 1838, 1850, 45, 45, 45, 45,
+ 1838, 1838, 45, 1838, 45, 1838, 45, 45, 45, 1838,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 45, 1775,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 1838, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 1775, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 45, 1775,
- 45, 45, 45, 45, 45, 45, 45, 45, 45, 1775,
- 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 1775, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 1775, 45, 45, 1775, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 1838, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 1838, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 1838, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 1838, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 1838,
+ 45, 45, 1838, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 1775, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 1775, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 1775, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 1838, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 45, 1775,
+ 45, 45, 1838, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 1838, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 1775, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 1838, 45, 45, 45, 45,
- 45, 45, 45, 45, 1775, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 1838, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 1838, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 1775, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 1775, 1775, 45, 45, 45,
- 45, 45, 45, 1775, 1775, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 1775, 1775, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 1838, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 1838, 1838, 45, 45, 45, 45, 45,
+ 45, 1838, 1838, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 1838, 1838, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 1775, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 1775, 45, 45, 45, 45, 45, 45, 1775, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 1838, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 1838, 45, 45, 45, 45, 45, 45, 1838, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 1775, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 1775, 45, 45, 45, 45, 45, 1775, 45, 45,
+ 45, 1838, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 1838, 45, 45, 45, 45, 45, 1838,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 45, 1775,
- 45, 45, 45, 45, 1775, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 1775, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 1838, 45, 45, 45, 45, 1838, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 1775, 45,
+ 45, 45, 45, 45, 45, 45, 45, 1838, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 1775, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 1775, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 1838, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 1838,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 45, 1775,
+ 45, 45, 45, 45, 45, 45, 45, 1838, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 1775, 45, 45, 45, 1775, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 1775, 45, 45, 45, 45, 45, 45, 45,
- 1775, 45, 45, 45, 45, 45, 45, 45, 45, 1775,
- 45, 45, 45, 45, 45, 1775, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 1838, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 1838,
+ 45, 45, 45, 1838, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 1838, 45, 45, 45, 45, 45, 45, 45, 1838,
+ 45, 45, 45, 45, 45, 45, 45, 45, 1838, 45,
+ 45, 45, 45, 45, 1838, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 1775, 1775, 45, 1775, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 1775, 45, 45,
- 45, 45, 1775, 45, 45, 45, 45, 45, 1775, 1775,
- 45, 1775, 45, 45, 45, 45, 45, 45, 45, 45,
-
- 45, 45, 45, 45, 45, 45, 45, 1775, 45, 45,
- 45, 45, 45, 1775, 1775, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 1775, 45, 45, 45, 45,
- 45, 45, 45, 45, 1775, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 45, 1775,
+ 45, 45, 1838, 1838, 45, 1838, 45, 45, 45, 45,
+
+ 45, 45, 45, 45, 45, 45, 45, 45, 1838, 45,
+ 45, 45, 45, 1838, 45, 45, 45, 45, 45, 45,
+ 1838, 1838, 45, 1838, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 1838,
+ 45, 45, 45, 45, 45, 1838, 1838, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 1838, 45,
+ 45, 45, 45, 45, 45, 45, 45, 1838, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 1838, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 1775, 45, 1775, 1775, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 1775, 45, 45, 45, 45, 45,
- 45, 45, 1775, 45, 45, 1775, 45, 1775, 1775, 45,
- 45, 45, 1775, 45, 1775, 45, 45, 45, 45, 45,
- 1775, 45, 45, 45, 1775, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 1838, 45, 1838, 1838,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 1838, 45, 45, 45, 45, 45, 45, 45, 1838, 45,
+ 45, 1838, 45, 1838, 1838, 45, 45, 45, 1838, 45,
+ 45, 1838, 45, 45, 45, 45, 45, 1838, 45, 45,
+ 45, 1838, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 1838, 45, 45,
+ 1838, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 1838, 1838, 45, 1838, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 1838, 45, 45, 45, 45, 45,
+
+ 45, 45, 1838, 45, 45, 1838, 45, 45, 45, 45,
+ 1838, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 1838, 45, 1838, 45, 1838, 45, 1838, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 1775, 45, 1775, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 1775, 1775, 45, 1775, 45, 45, 45,
- 45, 45, 45, 45, 45, 1775, 45, 45, 45, 45,
- 45, 45, 1775, 45, 45, 1775, 45, 45, 45, 45,
- 1775, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 1775, 45, 1775, 45, 1775, 45, 1775, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
-
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 1775, 45, 45,
- 45, 45, 45, 1775, 45, 45, 45, 45, 1775, 45,
- 1775, 1775, 45, 45, 45, 1775, 1775, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 1775, 1775, 45, 45,
- 45, 45, 45, 45, 45, 45, 1775, 45, 45, 1775,
- 45, 1775, 45, 45, 45, 1775, 45, 45, 45, 45,
- 1775, 45, 45, 45, 45, 45, 45, 45, 45, 45,
-
- 45, 45, 45, 45, 45, 45, 45, 1775, 45, 45,
- 45, 45, 45, 1775, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 1775, 45, 45,
- 45, 1775, 45, 1775, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 1775, 45, 45,
- 1775, 45, 1775, 1775, 45, 45, 45, 1775, 1775, 45,
- 1775, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 1775, 45, 45, 1775, 45, 45, 45, 45, 45, 45,
- 1775, 45, 45, 45, 1775, 45, 45, 45, 45, 45,
- 45, 45, 45, 1775, 45, 45, 45, 45, 45, 45,
-
- 45, 45, 45, 45, 45, 1775, 45, 45, 45, 45,
- 45, 45, 45, 1775, 1775, 45, 45, 45, 45, 45,
- 45, 45, 1775, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 45, 1775,
- 45, 45, 45, 45, 45, 1775, 45, 1775, 1775, 1775,
- 45, 1775, 45, 45, 45, 45, 1775, 45, 45, 45,
- 1775, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 1775, 45, 45, 1775, 45, 45, 1775, 1775, 45, 45,
- 1775, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 45, 1775,
+ 45, 1838, 45, 45, 45, 45, 45, 1838, 45, 45,
+ 45, 45, 45, 1838, 45, 1838, 1838, 45, 45, 45,
+ 1838, 1838, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 1838, 45, 1838, 45, 45, 45, 45, 45, 45,
+ 45, 45, 1838, 45, 45, 1838, 45, 1838, 45, 45,
+ 45, 1838, 45, 45, 45, 45, 45, 1838, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 1838, 45, 45, 45,
+ 45, 45, 1838, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 1838, 45, 45,
+ 45, 1838, 45, 1838, 45, 45, 45, 45, 45, 1838,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 1838,
+
+ 45, 45, 1838, 45, 1838, 1838, 45, 45, 45, 45,
+ 1838, 1838, 45, 1838, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 1838, 45, 45, 45, 1838, 45, 45,
+ 45, 45, 45, 45, 1838, 45, 45, 45, 1838, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 1838, 45,
+ 45, 45, 1838, 45, 45, 45, 45, 45, 45, 45,
+ 45, 1838, 45, 45, 45, 45, 45, 45, 45, 45,
+ 1838, 1838, 45, 45, 45, 45, 45, 45, 45, 1838,
+ 1838, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 1838, 45, 45,
+
+ 45, 45, 45, 45, 1838, 45, 1838, 1838, 1838, 45,
+ 1838, 45, 45, 45, 45, 1838, 45, 45, 45, 1838,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 1775, 45, 45, 1775, 45, 45,
- 45, 45, 45, 45, 1775, 45, 1775, 45, 45, 45,
- 1775, 45, 45, 45, 45, 45, 45, 1775, 45, 1775,
- 45, 1775, 1775, 45, 45, 45, 45, 45, 45, 1775,
- 45, 45, 1775, 45, 45, 45, 45, 45, 45, 45,
- 1775, 45, 45, 45, 45, 45, 1775, 1775, 45, 45,
- 45, 45, 1775, 1775, 0, 1775, 1775, 1775, 1775, 1775,
- 1775, 1775, 1775, 1775, 1775, 1775, 1775
+ 1838, 45, 45, 1838, 45, 45, 1838, 1838, 45, 45,
+ 1838, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 1838, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 1838, 45, 45, 1838,
+ 45, 45, 1838, 45, 45, 45, 45, 1838, 45, 1838,
+ 45, 45, 45, 1838, 45, 45, 45, 45, 45, 45,
+
+ 1838, 45, 1838, 45, 1838, 1838, 45, 45, 45, 45,
+ 45, 45, 1838, 45, 45, 1838, 45, 45, 45, 45,
+ 45, 45, 45, 1838, 45, 45, 45, 45, 45, 1838,
+ 1838, 45, 45, 45, 45, 1838, 1838, 0, 1838, 1838,
+ 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838
} ;
-static const flex_int16_t yy_nxt[2251] =
+static const flex_int16_t yy_nxt[2314] =
{ 0,
- 1775, 13, 14, 13, 1775, 15, 16, 1775, 17, 18,
+ 1838, 13, 14, 13, 1838, 15, 16, 1838, 17, 18,
19, 20, 21, 22, 22, 22, 22, 22, 23, 24,
- 86, 749, 37, 14, 37, 87, 25, 26, 38, 102,
- 1775, 27, 37, 14, 37, 42, 28, 42, 38, 92,
- 93, 29, 200, 30, 13, 14, 13, 91, 92, 25,
+ 86, 764, 37, 14, 37, 87, 25, 26, 38, 102,
+ 1838, 27, 37, 14, 37, 42, 28, 42, 38, 92,
+ 93, 29, 202, 30, 13, 14, 13, 91, 92, 25,
31, 93, 13, 14, 13, 13, 14, 13, 32, 40,
- 750, 13, 14, 13, 33, 40, 103, 92, 93, 200,
+ 765, 13, 14, 13, 33, 40, 103, 92, 93, 202,
91, 34, 35, 13, 14, 13, 95, 15, 16, 96,
17, 18, 19, 20, 21, 22, 22, 22, 22, 22,
23, 24, 13, 14, 13, 91, 39, 105, 25, 26,
13, 14, 13, 27, 39, 42, 108, 42, 28, 42,
109, 42, 41, 29, 111, 30, 114, 115, 94, 141,
- 41, 25, 31, 105, 226, 227, 89, 142, 89, 108,
+ 41, 25, 31, 105, 228, 229, 89, 142, 89, 108,
32, 90, 90, 90, 90, 90, 33, 111, 109, 114,
- 232, 115, 233, 34, 35, 44, 44, 44, 45, 45,
+ 234, 115, 235, 34, 35, 44, 44, 44, 45, 45,
46, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 47, 45, 45, 45, 45, 45, 48, 45, 49,
50, 45, 51, 45, 52, 53, 54, 45, 45, 45,
59, 60, 61, 62, 63, 64, 65, 66, 67, 52,
68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
- 78, 79, 57, 45, 45, 45, 45, 45, 81, 834,
+ 78, 79, 57, 45, 45, 45, 45, 45, 81, 835,
82, 82, 82, 82, 82, 81, 105, 84, 84, 84,
84, 84, 108, 83, 85, 85, 85, 85, 85, 81,
- 83, 84, 84, 84, 84, 84, 186, 83, 283, 284,
- 112, 123, 119, 135, 83, 108, 83, 188, 120, 124,
+ 83, 84, 84, 84, 84, 84, 188, 83, 287, 288,
+ 112, 123, 119, 135, 83, 108, 83, 190, 120, 124,
113, 121, 125, 83, 136, 126, 138, 127, 139, 128,
- 83, 143, 186, 112, 137, 140, 163, 83, 45, 187,
- 164, 144, 835, 145, 45, 188, 45, 45, 113, 45,
- 165, 45, 45, 45, 430, 117, 147, 148, 45, 45,
+ 83, 143, 188, 112, 137, 140, 164, 83, 45, 189,
+ 165, 144, 836, 145, 45, 190, 45, 45, 113, 45,
+ 166, 45, 45, 45, 221, 117, 147, 148, 45, 45,
- 149, 45, 45, 188, 431, 187, 150, 45, 45, 45,
+ 149, 45, 45, 222, 223, 189, 150, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 129, 191, 45, 130, 131, 151, 45, 132, 133, 152,
- 45, 111, 167, 153, 836, 186, 168, 102, 45, 114,
- 134, 196, 45, 158, 45, 118, 203, 176, 177, 154,
- 155, 159, 156, 160, 157, 187, 169, 112, 161, 162,
- 170, 189, 181, 171, 215, 291, 423, 113, 216, 196,
- 172, 173, 182, 203, 103, 174, 175, 183, 837, 292,
- 178, 190, 179, 85, 85, 85, 85, 85, 81, 202,
-
- 82, 82, 82, 82, 82, 113, 83, 204, 206, 89,
- 838, 89, 180, 83, 90, 90, 90, 90, 90, 81,
- 205, 84, 84, 84, 84, 84, 101, 202, 424, 83,
- 199, 206, 196, 101, 83, 204, 83, 85, 85, 85,
- 85, 85, 90, 90, 90, 90, 90, 205, 235, 210,
- 83, 90, 90, 90, 90, 90, 199, 83, 239, 219,
- 211, 240, 251, 101, 236, 241, 252, 101, 220, 221,
- 305, 101, 305, 83, 202, 264, 265, 266, 268, 101,
- 271, 269, 270, 101, 272, 101, 194, 209, 209, 209,
- 209, 209, 274, 305, 312, 308, 209, 209, 209, 209,
-
- 209, 209, 202, 285, 258, 203, 205, 286, 303, 304,
- 316, 287, 397, 303, 380, 398, 318, 312, 304, 209,
- 209, 209, 209, 209, 209, 315, 320, 275, 276, 277,
- 322, 312, 296, 299, 407, 304, 303, 316, 278, 318,
- 279, 306, 280, 281, 307, 282, 368, 408, 432, 320,
- 381, 319, 426, 315, 325, 440, 418, 322, 323, 323,
- 323, 323, 323, 426, 382, 335, 500, 323, 323, 323,
- 323, 323, 323, 336, 437, 426, 501, 432, 337, 338,
- 434, 435, 432, 440, 457, 513, 427, 796, 619, 436,
- 323, 323, 323, 323, 323, 323, 523, 437, 620, 369,
-
- 524, 458, 370, 443, 443, 443, 443, 443, 728, 729,
- 796, 444, 443, 443, 443, 443, 443, 443, 464, 528,
- 478, 491, 492, 529, 465, 479, 493, 545, 551, 558,
- 546, 590, 566, 552, 567, 443, 443, 443, 443, 443,
- 443, 558, 583, 514, 591, 683, 592, 684, 795, 839,
- 584, 600, 585, 586, 587, 679, 601, 558, 803, 566,
- 685, 567, 840, 780, 804, 806, 807, 827, 808, 568,
- 841, 828, 683, 480, 781, 684, 795, 842, 481, 45,
- 45, 45, 45, 45, 843, 844, 845, 846, 45, 45,
- 45, 45, 45, 45, 847, 848, 849, 850, 852, 853,
-
- 851, 854, 855, 856, 857, 858, 859, 860, 861, 862,
- 863, 45, 45, 45, 45, 45, 45, 864, 865, 866,
- 867, 868, 869, 870, 871, 872, 873, 874, 875, 876,
+ 129, 168, 45, 130, 131, 169, 45, 132, 133, 151,
+ 45, 111, 217, 152, 295, 188, 218, 153, 45, 189,
+ 134, 324, 45, 114, 45, 118, 425, 159, 296, 154,
+ 156, 201, 157, 155, 158, 160, 190, 161, 177, 178,
+ 170, 191, 162, 163, 171, 192, 183, 172, 112, 85,
+ 85, 85, 85, 85, 173, 174, 184, 201, 113, 175,
+ 176, 185, 83, 81, 193, 82, 82, 82, 82, 82,
+
+ 253, 179, 837, 180, 254, 89, 181, 89, 83, 102,
+ 90, 90, 90, 90, 90, 83, 113, 85, 85, 85,
+ 85, 85, 81, 182, 84, 84, 84, 84, 84, 198,
+ 83, 83, 90, 90, 90, 90, 90, 83, 90, 90,
+ 90, 90, 90, 101, 204, 206, 103, 205, 207, 237,
+ 101, 198, 241, 83, 208, 242, 838, 198, 275, 243,
+ 83, 204, 276, 414, 310, 238, 267, 272, 212, 309,
+ 273, 274, 204, 206, 205, 207, 415, 208, 310, 213,
+ 101, 268, 269, 270, 101, 205, 289, 310, 101, 204,
+ 290, 261, 207, 308, 291, 309, 101, 278, 308, 309,
+
+ 101, 313, 101, 196, 211, 211, 211, 211, 211, 431,
+ 438, 839, 300, 211, 211, 211, 211, 211, 211, 304,
+ 439, 308, 321, 317, 320, 312, 311, 327, 323, 373,
+ 325, 533, 279, 280, 281, 534, 211, 211, 211, 211,
+ 211, 211, 840, 282, 386, 283, 317, 284, 285, 321,
+ 286, 323, 320, 325, 327, 328, 328, 328, 328, 328,
+ 317, 432, 340, 434, 328, 328, 328, 328, 328, 328,
+ 341, 404, 434, 440, 405, 342, 343, 445, 448, 523,
+ 387, 465, 374, 330, 440, 375, 434, 328, 328, 328,
+ 328, 328, 328, 472, 388, 435, 442, 443, 466, 473,
+
+ 445, 841, 440, 842, 509, 444, 448, 451, 451, 451,
+ 451, 451, 555, 452, 510, 556, 451, 451, 451, 451,
+ 451, 451, 486, 499, 500, 538, 562, 487, 501, 539,
+ 569, 563, 577, 843, 578, 569, 698, 524, 594, 451,
+ 451, 451, 451, 451, 451, 630, 595, 601, 596, 597,
+ 598, 611, 697, 742, 743, 631, 612, 796, 569, 577,
+ 602, 578, 603, 579, 698, 693, 813, 820, 797, 812,
+ 699, 823, 824, 821, 825, 488, 847, 848, 849, 697,
+ 489, 45, 45, 45, 45, 45, 850, 851, 852, 813,
+ 45, 45, 45, 45, 45, 45, 844, 812, 853, 854,
+
+ 845, 855, 856, 857, 846, 858, 859, 860, 861, 862,
+ 863, 864, 865, 45, 45, 45, 45, 45, 45, 866,
+ 867, 868, 870, 871, 869, 872, 873, 874, 875, 876,
877, 878, 879, 880, 881, 882, 883, 884, 885, 886,
- 888, 889, 890, 893, 894, 895, 887, 897, 898, 891,
- 899, 896, 900, 892, 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,
+ 887, 888, 889, 890, 891, 892, 893, 894, 895, 896,
+ 897, 898, 899, 900, 901, 902, 903, 904, 905, 906,
+ 908, 909, 910, 913, 914, 915, 907, 917, 918, 911,
+ 919, 916, 920, 912, 921, 922, 923, 924, 925, 926,
927, 928, 929, 930, 931, 932, 933, 934, 935, 936,
- 937, 938, 939, 940, 913, 941, 942, 943, 944, 945,
+ 937, 938, 939, 940, 941, 942, 943, 944, 945, 946,
- 946, 947, 948, 949, 950, 951, 952, 954, 955, 956,
- 957, 953, 958, 959, 960, 961, 962, 963, 964, 965,
- 966, 967, 968, 969, 970, 971, 972, 973, 975, 976,
- 977, 974, 978, 979, 980, 981, 982, 983, 984, 985,
+ 947, 948, 949, 950, 951, 952, 953, 954, 955, 956,
+ 957, 958, 959, 960, 961, 934, 962, 963, 964, 965,
+ 966, 967, 968, 969, 970, 971, 972, 973, 974, 976,
+ 977, 978, 979, 975, 980, 981, 982, 983, 984, 985,
986, 987, 988, 989, 990, 991, 992, 993, 994, 995,
- 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005,
+ 996, 998, 999, 1000, 997, 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, 1022,
-
- 1045, 1046, 1021, 1047, 1048, 1049, 1050, 1051, 1052, 1053,
- 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1064,
- 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074,
- 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084,
- 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095,
- 1085, 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, 1063, 1121, 1122, 1123,
- 1124, 1125, 1127, 1126, 1128, 1129, 1130, 1131, 1132, 1133,
- 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143,
-
- 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151, 1152, 1125,
- 1126, 1153, 1154, 1155, 1156, 1157, 1158, 1159, 1160, 1161,
- 1162, 1163, 1164, 1166, 1168, 1169, 1170, 1165, 1171, 1172,
- 1173, 1174, 1175, 1176, 1177, 1178, 1179, 1180, 1181, 1182,
- 1183, 1184, 1185, 1186, 1187, 1188, 1189, 1190, 1191, 1192,
- 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1200, 1201, 1202,
- 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1167, 1210, 1211,
- 1212, 1213, 1214, 1215, 1216, 1217, 1218, 1219, 1220, 1221,
- 1222, 1223, 1224, 1225, 1226, 1227, 1228, 1229, 1230, 1231,
- 1232, 1233, 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241,
-
- 1242, 1243, 1244, 1245, 1246, 1224, 1247, 1248, 1249, 1250,
- 1251, 1225, 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, 1281, 1282, 1283, 1284, 1285, 1286, 1287, 1288, 1289,
- 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, 1317, 1318, 1319, 1320, 1321,
- 1322, 1323, 1324, 1325, 1326, 1327, 1328, 1329, 1330, 1331,
- 1332, 1333, 1334, 1335, 1336, 1337, 1338, 1310, 1339, 1340,
-
- 1341, 1342, 1290, 1343, 1344, 1345, 1346, 1347, 1348, 1349,
- 1352, 1350, 1353, 1354, 1355, 1356, 1357, 1358, 1316, 1351,
- 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, 1385, 1386, 1387, 1388, 1384,
- 1389, 1390, 1391, 1392, 1393, 1394, 1395, 1396, 1397, 1398,
- 1399, 1400, 1401, 1402, 1403, 1404, 1405, 1406, 1407, 1386,
- 1408, 1409, 1410, 1411, 1412, 1413, 1414, 1415, 1416, 1417,
- 1418, 1419, 1420, 1421, 1422, 1423, 1424, 1425, 1426, 1427,
- 1428, 1429, 1430, 1431, 1432, 1433, 1434, 1435, 1436, 1437,
-
- 1438, 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447,
- 1448, 1449, 1450, 1451, 1452, 1453, 1454, 1455, 1456, 1457,
- 1458, 1459, 1461, 1462, 1463, 1464, 1465, 1466, 1467, 1468,
- 1469, 1470, 1460, 1471, 1472, 1473, 1474, 1448, 1475, 1476,
- 1477, 1479, 1480, 1481, 1482, 1483, 1484, 1485, 1486, 1487,
+ 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, 1065,
+ 1066, 1067, 1068, 1069, 1047, 1070, 1071, 1046, 1072, 1073,
+ 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083,
+ 1084, 1085, 1086, 1087, 1088, 1090, 1091, 1092, 1093, 1094,
+ 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104,
+ 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1113, 1114, 1115,
+ 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1112, 1123, 1124,
+ 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134,
+ 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144,
+
+ 1145, 1146, 1089, 1147, 1148, 1149, 1150, 1151, 1152, 1153,
+ 1154, 1156, 1155, 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, 1154, 1155,
+ 1182, 1183, 1184, 1185, 1186, 1187, 1188, 1189, 1190, 1191,
+ 1192, 1193, 1194, 1196, 1198, 1199, 1200, 1195, 1201, 1202,
+ 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1210, 1211, 1212,
+ 1213, 1214, 1215, 1216, 1217, 1218, 1219, 1220, 1221, 1222,
+ 1223, 1224, 1225, 1226, 1227, 1228, 1229, 1230, 1231, 1232,
+ 1233, 1234, 1235, 1236, 1237, 1238, 1239, 1197, 1240, 1241,
+
+ 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1251,
+ 1252, 1253, 1254, 1255, 1256, 1257, 1258, 1259, 1260, 1261,
+ 1262, 1263, 1264, 1265, 1266, 1267, 1268, 1269, 1270, 1271,
+ 1272, 1273, 1274, 1275, 1276, 1277, 1278, 1279, 1257, 1280,
+ 1281, 1282, 1283, 1284, 1258, 1285, 1286, 1287, 1288, 1289,
+ 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1297, 1298, 1299,
+ 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309,
+ 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319,
+ 1320, 1321, 1322, 1323, 1324, 1325, 1327, 1328, 1329, 1330,
+ 1331, 1332, 1333, 1334, 1335, 1336, 1337, 1338, 1339, 1340,
+
+ 1341, 1342, 1343, 1344, 1345, 1346, 1347, 1348, 1349, 1350,
+ 1351, 1352, 1354, 1355, 1356, 1357, 1358, 1359, 1360, 1361,
+ 1362, 1363, 1364, 1365, 1366, 1367, 1368, 1369, 1370, 1371,
+ 1372, 1373, 1374, 1375, 1347, 1376, 1377, 1378, 1326, 1379,
+ 1380, 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1388, 1390,
+ 1391, 1392, 1393, 1394, 1395, 1353, 1389, 1396, 1397, 1398,
+ 1399, 1400, 1401, 1402, 1403, 1404, 1405, 1406, 1407, 1408,
+ 1409, 1410, 1411, 1412, 1413, 1414, 1415, 1416, 1417, 1418,
+ 1419, 1420, 1421, 1422, 1423, 1424, 1426, 1427, 1428, 1429,
+ 1425, 1430, 1431, 1432, 1433, 1434, 1435, 1436, 1437, 1438,
+
+ 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447, 1448,
+ 1427, 1449, 1450, 1451, 1452, 1453, 1454, 1455, 1456, 1457,
+ 1458, 1459, 1460, 1461, 1462, 1463, 1464, 1465, 1466, 1467,
+ 1468, 1469, 1470, 1471, 1472, 1473, 1474, 1475, 1476, 1477,
+ 1478, 1479, 1480, 1481, 1482, 1483, 1484, 1485, 1486, 1487,
1488, 1489, 1490, 1491, 1492, 1493, 1494, 1495, 1496, 1497,
- 1498, 1499, 1500, 1501, 1502, 1503, 1504, 1505, 1506, 1507,
- 1508, 1509, 1510, 1511, 1512, 1513, 1514, 1515, 1516, 1517,
- 1518, 1519, 1520, 1521, 1522, 1523, 1524, 1525, 1526, 1527,
- 1528, 1529, 1530, 1531, 1532, 1533, 1534, 1535, 1478, 1536,
-
- 1510, 1537, 1538, 1539, 1540, 1541, 1542, 1543, 1544, 1545,
- 1546, 1547, 1548, 1549, 1550, 1551, 1552, 1553, 1554, 1555,
- 1556, 1557, 1558, 1559, 1560, 1561, 1562, 1563, 1564, 1565,
- 1566, 1567, 1568, 1569, 1570, 1571, 1572, 1573, 1574, 1575,
- 1576, 1577, 1578, 1579, 1580, 1581, 1582, 1583, 1584, 1585,
+ 1498, 1499, 1500, 1501, 1502, 1503, 1504, 1506, 1507, 1508,
+ 1509, 1510, 1511, 1512, 1513, 1514, 1515, 1505, 1516, 1517,
+ 1518, 1519, 1493, 1520, 1521, 1522, 1523, 1525, 1526, 1527,
+ 1528, 1529, 1530, 1531, 1532, 1533, 1534, 1535, 1536, 1537,
+
+ 1538, 1539, 1540, 1541, 1542, 1543, 1544, 1545, 1546, 1547,
+ 1548, 1549, 1550, 1551, 1552, 1553, 1554, 1555, 1556, 1557,
+ 1558, 1559, 1560, 1561, 1562, 1563, 1564, 1565, 1566, 1567,
+ 1568, 1569, 1570, 1571, 1572, 1573, 1574, 1575, 1576, 1577,
+ 1578, 1579, 1580, 1581, 1524, 1582, 1583, 1584, 1585, 1559,
1586, 1587, 1588, 1589, 1590, 1591, 1592, 1593, 1594, 1595,
1596, 1597, 1598, 1599, 1600, 1601, 1602, 1603, 1604, 1605,
1606, 1607, 1608, 1609, 1610, 1611, 1612, 1613, 1614, 1615,
1726, 1727, 1728, 1729, 1730, 1731, 1732, 1733, 1734, 1735,
1736, 1737, 1738, 1739, 1740, 1741, 1742, 1743, 1744, 1745,
- 1746, 1747, 1748, 1749, 1750, 1751, 1752, 1753, 1754, 1756,
- 1755, 1757, 1758, 1759, 1760, 1761, 1762, 1763, 1764, 1765,
- 1766, 1767, 1768, 1769, 1770, 1771, 1772, 1773, 1774, 12,
- 12, 12, 12, 12, 36, 36, 36, 36, 36, 80,
- 310, 80, 80, 80, 99, 429, 99, 555, 99, 101,
- 101, 101, 101, 101, 116, 116, 116, 116, 116, 185,
- 101, 185, 185, 185, 207, 207, 207, 833, 832, 831,
- 830, 829, 826, 825, 824, 823, 822, 821, 820, 819,
- 818, 817, 816, 815, 814, 813, 812, 811, 810, 809,
-
- 805, 802, 801, 800, 799, 798, 797, 794, 793, 792,
- 791, 790, 789, 788, 787, 786, 785, 784, 783, 782,
- 779, 778, 777, 776, 775, 774, 773, 772, 771, 770,
- 769, 768, 767, 766, 765, 764, 763, 762, 761, 760,
- 759, 758, 757, 756, 755, 754, 753, 752, 751, 748,
- 747, 746, 745, 744, 743, 742, 741, 740, 739, 738,
- 737, 736, 735, 734, 733, 732, 731, 730, 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, 692, 691, 690, 689, 688, 687, 686,
- 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, 623,
- 622, 621, 618, 617, 616, 615, 614, 613, 612, 611,
- 610, 609, 608, 607, 606, 605, 604, 603, 602, 599,
- 598, 597, 596, 595, 594, 593, 589, 588, 582, 581,
-
- 580, 579, 578, 577, 576, 575, 574, 573, 572, 571,
- 570, 569, 565, 564, 563, 562, 561, 560, 559, 557,
- 556, 554, 553, 550, 549, 548, 547, 544, 543, 542,
- 541, 540, 539, 538, 537, 536, 535, 534, 533, 532,
- 531, 530, 527, 526, 525, 522, 521, 520, 519, 518,
- 517, 516, 515, 512, 511, 510, 509, 508, 507, 506,
- 505, 504, 503, 502, 499, 498, 497, 496, 495, 494,
- 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, 442, 441,
- 439, 438, 433, 428, 425, 422, 421, 420, 419, 417,
- 416, 415, 414, 413, 412, 411, 410, 409, 406, 405,
- 404, 403, 402, 401, 400, 399, 396, 395, 394, 393,
- 392, 391, 390, 389, 388, 387, 386, 385, 384, 383,
- 379, 378, 377, 376, 375, 374, 373, 372, 371, 367,
- 366, 365, 364, 363, 362, 361, 360, 359, 358, 357,
- 356, 355, 354, 353, 352, 351, 350, 349, 348, 347,
- 346, 345, 344, 343, 342, 341, 340, 339, 334, 333,
- 332, 331, 330, 329, 328, 327, 326, 324, 208, 321,
-
- 319, 317, 314, 313, 311, 309, 302, 301, 300, 298,
- 297, 295, 294, 293, 290, 289, 288, 273, 267, 263,
- 262, 261, 260, 259, 257, 256, 255, 254, 253, 250,
- 249, 248, 247, 246, 245, 244, 243, 242, 238, 237,
- 234, 231, 230, 229, 228, 225, 224, 223, 222, 218,
- 217, 214, 213, 212, 208, 201, 198, 197, 195, 193,
- 192, 184, 166, 146, 122, 110, 107, 106, 104, 43,
- 100, 98, 97, 88, 43, 1775, 11, 1775, 1775, 1775,
- 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775,
- 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775,
-
- 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775,
- 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775,
- 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775,
- 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775,
- 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775
+ 1746, 1747, 1748, 1749, 1750, 1751, 1752, 1753, 1754, 1755,
+ 1756, 1757, 1758, 1759, 1760, 1761, 1762, 1763, 1764, 1765,
+ 1766, 1767, 1768, 1769, 1770, 1771, 1772, 1773, 1774, 1775,
+ 1776, 1777, 1778, 1779, 1780, 1781, 1782, 1783, 1784, 1785,
+ 1786, 1787, 1788, 1789, 1790, 1791, 1792, 1793, 1794, 1795,
+ 1796, 1797, 1798, 1799, 1800, 1801, 1802, 1803, 1804, 1805,
+ 1806, 1807, 1808, 1809, 1810, 1811, 1812, 1813, 1814, 1815,
+ 1816, 1817, 1819, 1818, 1820, 1821, 1822, 1823, 1824, 1825,
+ 1826, 1827, 1828, 1829, 1830, 1831, 1832, 1833, 1834, 1835,
+
+ 1836, 1837, 12, 12, 12, 12, 12, 36, 36, 36,
+ 36, 36, 80, 315, 80, 80, 80, 99, 437, 99,
+ 566, 99, 101, 101, 101, 101, 101, 116, 116, 116,
+ 116, 116, 187, 101, 187, 187, 187, 209, 209, 209,
+ 834, 833, 832, 831, 830, 829, 828, 827, 826, 822,
+ 819, 818, 817, 816, 815, 814, 811, 810, 809, 808,
+ 807, 806, 805, 804, 803, 802, 801, 800, 799, 798,
+ 795, 794, 793, 792, 791, 790, 789, 788, 787, 786,
+ 785, 784, 783, 782, 781, 780, 779, 778, 777, 776,
+ 775, 774, 773, 772, 771, 770, 769, 768, 767, 766,
+
+ 763, 762, 761, 760, 759, 758, 757, 756, 755, 754,
+ 753, 752, 751, 750, 749, 748, 747, 746, 745, 744,
+ 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, 696, 695, 694, 693, 692, 691, 690, 689,
+ 688, 687, 686, 685, 684, 683, 682, 681, 680, 679,
+ 678, 677, 676, 675, 674, 673, 672, 671, 670, 669,
+ 668, 667, 666, 665, 664, 663, 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, 610, 609, 608, 607, 606, 605,
+ 604, 600, 599, 593, 592, 591, 590, 589, 588, 587,
+ 586, 585, 584, 583, 582, 581, 580, 576, 575, 574,
+ 573, 572, 571, 570, 568, 567, 565, 564, 561, 560,
+ 559, 558, 557, 554, 553, 552, 551, 550, 549, 548,
+ 547, 546, 545, 544, 543, 542, 541, 540, 537, 536,
+
+ 535, 532, 531, 530, 529, 528, 527, 526, 525, 522,
+ 521, 520, 519, 518, 517, 516, 515, 514, 513, 512,
+ 511, 508, 507, 506, 505, 504, 503, 502, 498, 497,
+ 496, 495, 494, 493, 492, 491, 490, 485, 484, 483,
+ 482, 481, 480, 479, 478, 477, 476, 475, 474, 471,
+ 470, 469, 468, 467, 464, 463, 462, 461, 460, 459,
+ 458, 457, 456, 455, 454, 453, 450, 449, 447, 446,
+ 441, 436, 433, 430, 429, 428, 427, 426, 424, 423,
+ 422, 421, 420, 419, 418, 417, 416, 413, 412, 411,
+ 410, 409, 408, 407, 406, 403, 402, 401, 400, 399,
+
+ 398, 397, 396, 395, 394, 393, 392, 391, 390, 389,
+ 385, 384, 383, 382, 381, 380, 379, 378, 377, 376,
+ 372, 371, 370, 369, 368, 367, 366, 365, 364, 363,
+ 362, 361, 360, 359, 358, 357, 356, 355, 354, 353,
+ 352, 351, 350, 349, 348, 347, 346, 345, 344, 339,
+ 338, 337, 336, 335, 334, 333, 332, 331, 329, 210,
+ 326, 324, 322, 319, 318, 316, 314, 307, 306, 305,
+ 303, 302, 301, 299, 298, 297, 294, 293, 292, 277,
+ 271, 266, 265, 264, 263, 262, 260, 259, 258, 257,
+ 256, 255, 252, 251, 250, 249, 248, 247, 246, 245,
+
+ 244, 240, 239, 236, 233, 232, 231, 230, 227, 226,
+ 225, 224, 220, 219, 216, 215, 214, 210, 203, 200,
+ 199, 197, 195, 194, 186, 167, 146, 122, 110, 107,
+ 106, 104, 43, 100, 98, 97, 88, 43, 1838, 11,
+ 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838,
+ 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838,
+ 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838,
+ 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838,
+ 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838,
+ 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838,
+
+ 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838,
+ 1838, 1838, 1838
} ;
-static const flex_int16_t yy_chk[2251] =
+static const flex_int16_t yy_chk[2314] =
{ 0,
0, 1, 1, 1, 0, 1, 1, 0, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 21, 634, 3, 3, 3, 21, 1, 1, 3, 44,
+ 21, 646, 3, 3, 3, 21, 1, 1, 3, 44,
0, 1, 4, 4, 4, 13, 1, 13, 4, 27,
28, 1, 109, 1, 5, 5, 5, 26, 32, 1,
1, 33, 6, 6, 6, 7, 7, 7, 1, 7,
- 634, 8, 8, 8, 1, 8, 44, 27, 28, 109,
+ 646, 8, 8, 8, 1, 8, 44, 27, 28, 109,
26, 1, 1, 2, 2, 2, 32, 2, 2, 33,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 9, 9, 9, 31, 5, 48, 2, 2,
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, 719,
+ 15, 15, 15, 15, 15, 15, 15, 15, 17, 717,
17, 17, 17, 17, 17, 19, 59, 19, 19, 19,
19, 19, 64, 17, 20, 20, 20, 20, 20, 22,
- 19, 22, 22, 22, 22, 22, 91, 20, 169, 169,
+ 19, 22, 22, 22, 22, 22, 91, 20, 170, 170,
55, 61, 59, 63, 22, 64, 17, 93, 59, 61,
55, 59, 61, 19, 63, 61, 64, 61, 65, 61,
20, 67, 91, 55, 63, 65, 73, 22, 45, 92,
- 73, 67, 720, 67, 45, 93, 45, 45, 55, 45,
- 73, 45, 45, 45, 311, 58, 69, 69, 45, 45,
+ 73, 67, 718, 67, 45, 93, 45, 45, 55, 45,
+ 73, 45, 45, 45, 126, 58, 69, 69, 45, 45,
- 69, 45, 58, 96, 311, 92, 69, 45, 45, 45,
+ 69, 45, 58, 126, 126, 92, 69, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 62, 96, 58, 62, 62, 70, 58, 62, 62, 70,
- 58, 71, 75, 70, 721, 94, 75, 101, 58, 78,
- 62, 105, 58, 72, 58, 58, 112, 77, 77, 70,
- 71, 72, 71, 72, 71, 95, 76, 77, 72, 72,
- 76, 94, 78, 76, 123, 174, 301, 77, 123, 105,
- 76, 76, 78, 112, 101, 76, 76, 78, 722, 174,
- 77, 95, 77, 81, 81, 81, 81, 81, 82, 111,
-
- 82, 82, 82, 82, 82, 77, 81, 113, 115, 83,
- 723, 83, 77, 82, 83, 83, 83, 83, 83, 84,
- 114, 84, 84, 84, 84, 84, 103, 111, 301, 81,
- 108, 115, 119, 103, 84, 113, 82, 85, 85, 85,
- 85, 85, 89, 89, 89, 89, 89, 114, 138, 119,
- 85, 90, 90, 90, 90, 90, 108, 84, 141, 126,
- 119, 141, 151, 103, 138, 141, 151, 103, 126, 126,
- 188, 103, 191, 85, 157, 163, 163, 163, 165, 103,
- 166, 165, 165, 103, 166, 103, 103, 118, 118, 118,
- 118, 118, 168, 188, 196, 191, 118, 118, 118, 118,
-
- 118, 118, 157, 170, 157, 178, 181, 170, 186, 187,
- 200, 170, 277, 189, 262, 277, 202, 196, 190, 118,
- 118, 118, 118, 118, 118, 199, 204, 168, 168, 168,
- 206, 211, 178, 181, 286, 187, 186, 200, 168, 202,
- 168, 189, 168, 168, 190, 168, 252, 286, 312, 204,
- 262, 296, 303, 199, 211, 318, 296, 206, 209, 209,
- 209, 209, 209, 306, 262, 221, 375, 209, 209, 209,
- 209, 209, 209, 221, 315, 303, 375, 312, 221, 221,
- 314, 314, 325, 318, 338, 388, 306, 684, 492, 314,
- 209, 209, 209, 209, 209, 209, 398, 315, 492, 252,
-
- 398, 338, 252, 323, 323, 323, 323, 323, 613, 613,
- 684, 325, 323, 323, 323, 323, 323, 323, 345, 402,
- 358, 368, 368, 402, 345, 358, 368, 418, 424, 432,
- 418, 464, 442, 424, 442, 323, 323, 323, 323, 323,
- 323, 444, 461, 388, 464, 566, 464, 567, 683, 724,
- 461, 473, 461, 461, 461, 568, 473, 432, 691, 442,
- 568, 442, 725, 667, 691, 693, 693, 712, 693, 444,
- 726, 712, 566, 358, 667, 567, 683, 727, 358, 443,
- 443, 443, 443, 443, 728, 729, 730, 731, 443, 443,
- 443, 443, 443, 443, 732, 733, 734, 735, 736, 737,
-
- 735, 738, 740, 741, 742, 743, 744, 745, 746, 747,
- 748, 443, 443, 443, 443, 443, 443, 750, 751, 752,
- 753, 754, 755, 756, 757, 758, 759, 760, 761, 762,
- 763, 764, 765, 766, 767, 768, 769, 770, 771, 772,
- 773, 774, 774, 775, 776, 777, 772, 778, 779, 774,
- 781, 777, 782, 774, 783, 784, 785, 786, 787, 788,
- 789, 790, 791, 792, 793, 795, 796, 797, 798, 799,
- 800, 801, 802, 803, 804, 806, 807, 808, 809, 810,
- 811, 812, 813, 814, 815, 816, 817, 818, 819, 820,
- 821, 822, 823, 824, 796, 825, 826, 827, 828, 829,
-
- 830, 832, 833, 834, 835, 836, 837, 838, 839, 840,
- 841, 837, 842, 843, 844, 845, 848, 849, 850, 851,
- 852, 853, 856, 857, 858, 859, 860, 861, 862, 863,
- 864, 861, 865, 866, 867, 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, 900, 901, 902, 903, 904, 905,
- 906, 907, 908, 909, 910, 912, 913, 914, 915, 916,
- 917, 919, 920, 921, 922, 923, 924, 925, 926, 927,
- 928, 929, 930, 931, 932, 933, 934, 935, 936, 913,
-
- 937, 938, 912, 939, 940, 942, 943, 944, 945, 946,
- 947, 948, 949, 950, 951, 953, 954, 955, 956, 957,
- 959, 960, 961, 962, 963, 964, 965, 966, 967, 968,
- 969, 970, 971, 972, 973, 974, 975, 976, 977, 978,
- 979, 981, 982, 983, 984, 986, 987, 988, 989, 990,
- 978, 991, 992, 993, 994, 995, 996, 997, 998, 999,
- 1000, 1001, 1002, 1003, 1005, 1006, 1007, 1008, 1009, 1010,
- 1011, 1012, 1013, 1014, 1015, 1016, 956, 1017, 1018, 1019,
- 1020, 1021, 1023, 1022, 1024, 1025, 1026, 1027, 1028, 1030,
- 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040,
-
- 1041, 1042, 1043, 1044, 1046, 1047, 1048, 1049, 1050, 1021,
- 1022, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059,
- 1060, 1061, 1063, 1064, 1065, 1066, 1067, 1063, 1068, 1069,
- 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079,
- 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089,
- 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100,
- 1101, 1103, 1104, 1105, 1107, 1108, 1109, 1064, 1110, 1111,
- 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121,
- 1122, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1132, 1133,
- 1134, 1135, 1136, 1137, 1138, 1139, 1141, 1142, 1143, 1144,
-
- 1145, 1147, 1148, 1149, 1150, 1125, 1151, 1152, 1153, 1154,
- 1155, 1126, 1156, 1157, 1158, 1159, 1160, 1161, 1162, 1165,
- 1167, 1168, 1169, 1170, 1171, 1172, 1173, 1174, 1175, 1176,
- 1177, 1179, 1180, 1181, 1182, 1184, 1185, 1186, 1187, 1188,
- 1191, 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1200, 1201,
- 1202, 1203, 1204, 1205, 1206, 1207, 1209, 1210, 1211, 1212,
- 1213, 1216, 1217, 1218, 1219, 1220, 1221, 1222, 1223, 1224,
- 1225, 1227, 1228, 1229, 1230, 1231, 1232, 1233, 1234, 1236,
- 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246,
- 1247, 1248, 1249, 1251, 1252, 1253, 1254, 1224, 1255, 1256,
-
- 1257, 1258, 1201, 1259, 1260, 1261, 1262, 1263, 1264, 1265,
- 1267, 1266, 1268, 1269, 1270, 1271, 1273, 1276, 1230, 1266,
- 1277, 1278, 1279, 1280, 1281, 1282, 1283, 1284, 1286, 1287,
- 1288, 1289, 1290, 1291, 1292, 1294, 1295, 1297, 1300, 1301,
- 1302, 1304, 1306, 1307, 1308, 1309, 1310, 1312, 1313, 1308,
- 1314, 1316, 1317, 1318, 1319, 1320, 1321, 1322, 1323, 1324,
- 1325, 1326, 1327, 1328, 1329, 1330, 1332, 1334, 1335, 1310,
- 1336, 1337, 1338, 1339, 1340, 1341, 1342, 1343, 1346, 1348,
- 1349, 1350, 1351, 1352, 1353, 1354, 1355, 1357, 1358, 1359,
- 1360, 1361, 1362, 1364, 1365, 1367, 1368, 1369, 1370, 1372,
-
- 1373, 1374, 1375, 1376, 1377, 1378, 1379, 1380, 1382, 1384,
- 1386, 1388, 1389, 1390, 1391, 1392, 1393, 1394, 1395, 1396,
- 1397, 1398, 1399, 1400, 1401, 1402, 1403, 1404, 1405, 1406,
- 1407, 1408, 1398, 1409, 1410, 1411, 1412, 1386, 1413, 1413,
- 1414, 1415, 1416, 1417, 1418, 1419, 1420, 1421, 1422, 1423,
- 1424, 1425, 1426, 1427, 1428, 1429, 1430, 1431, 1432, 1433,
- 1434, 1435, 1436, 1437, 1439, 1440, 1441, 1442, 1443, 1445,
- 1446, 1447, 1448, 1450, 1453, 1454, 1455, 1458, 1459, 1460,
- 1461, 1462, 1463, 1464, 1465, 1466, 1469, 1470, 1471, 1472,
- 1473, 1474, 1475, 1476, 1478, 1479, 1481, 1483, 1414, 1484,
-
- 1448, 1485, 1487, 1488, 1489, 1490, 1492, 1493, 1494, 1495,
- 1496, 1497, 1498, 1499, 1500, 1501, 1502, 1503, 1504, 1505,
- 1506, 1507, 1509, 1510, 1511, 1512, 1513, 1515, 1516, 1517,
- 1518, 1519, 1520, 1521, 1522, 1523, 1524, 1525, 1526, 1527,
- 1529, 1530, 1531, 1533, 1535, 1536, 1537, 1538, 1539, 1540,
- 1541, 1542, 1543, 1544, 1545, 1546, 1547, 1549, 1550, 1552,
- 1555, 1556, 1557, 1560, 1562, 1563, 1564, 1565, 1566, 1567,
- 1568, 1569, 1570, 1572, 1573, 1575, 1576, 1577, 1578, 1579,
- 1580, 1582, 1583, 1584, 1586, 1587, 1588, 1589, 1590, 1591,
- 1592, 1593, 1595, 1596, 1597, 1598, 1599, 1600, 1601, 1602,
-
- 1603, 1604, 1605, 1607, 1608, 1609, 1610, 1611, 1612, 1613,
- 1616, 1617, 1618, 1619, 1620, 1621, 1622, 1624, 1625, 1626,
- 1627, 1628, 1629, 1630, 1631, 1632, 1633, 1634, 1635, 1636,
- 1637, 1638, 1639, 1641, 1642, 1643, 1644, 1645, 1647, 1651,
- 1653, 1654, 1655, 1656, 1658, 1659, 1660, 1662, 1663, 1664,
- 1665, 1666, 1667, 1668, 1669, 1670, 1672, 1673, 1675, 1676,
- 1679, 1680, 1682, 1683, 1684, 1685, 1686, 1687, 1688, 1689,
- 1690, 1691, 1692, 1693, 1694, 1695, 1696, 1697, 1698, 1699,
- 1701, 1702, 1703, 1704, 1705, 1706, 1707, 1708, 1709, 1710,
- 1711, 1712, 1713, 1714, 1716, 1717, 1719, 1720, 1721, 1722,
-
- 1723, 1724, 1726, 1728, 1729, 1730, 1732, 1733, 1734, 1735,
- 1736, 1737, 1739, 1741, 1744, 1745, 1746, 1747, 1748, 1749,
- 1748, 1751, 1752, 1754, 1755, 1756, 1757, 1758, 1759, 1760,
- 1762, 1763, 1764, 1765, 1766, 1769, 1770, 1771, 1772, 1776,
- 1776, 1776, 1776, 1776, 1777, 1777, 1777, 1777, 1777, 1778,
- 1784, 1778, 1778, 1778, 1779, 1785, 1779, 1786, 1779, 1780,
- 1780, 1780, 1780, 1780, 1781, 1781, 1781, 1781, 1781, 1782,
- 1787, 1782, 1782, 1782, 1783, 1783, 1783, 717, 716, 715,
- 714, 713, 711, 710, 709, 708, 707, 706, 705, 704,
- 703, 702, 701, 700, 699, 698, 697, 696, 695, 694,
-
- 692, 690, 689, 688, 687, 686, 685, 682, 681, 680,
- 678, 677, 675, 674, 673, 672, 671, 670, 669, 668,
- 666, 665, 663, 662, 661, 660, 659, 658, 657, 656,
- 655, 654, 653, 652, 651, 649, 648, 647, 646, 645,
- 644, 643, 642, 641, 639, 638, 637, 636, 635, 633,
- 632, 631, 630, 629, 628, 627, 625, 624, 623, 622,
- 621, 620, 619, 618, 617, 616, 615, 614, 612, 611,
- 610, 609, 608, 607, 606, 605, 604, 603, 602, 601,
- 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, 572, 571, 570,
- 564, 562, 559, 558, 557, 556, 554, 553, 552, 550,
- 549, 546, 545, 544, 543, 542, 541, 540, 539, 538,
- 537, 536, 535, 534, 533, 532, 531, 530, 529, 528,
- 527, 526, 525, 524, 523, 522, 521, 520, 519, 518,
- 517, 516, 514, 512, 511, 510, 509, 508, 507, 506,
- 505, 504, 503, 502, 501, 500, 498, 497, 496, 495,
- 494, 493, 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, 440, 439, 437, 436, 435, 434, 433, 431,
- 430, 428, 425, 423, 422, 420, 419, 417, 416, 415,
- 414, 413, 412, 411, 410, 409, 408, 407, 406, 405,
- 404, 403, 401, 400, 399, 397, 396, 395, 394, 392,
- 391, 390, 389, 387, 386, 385, 384, 383, 382, 381,
- 380, 379, 378, 376, 374, 373, 372, 371, 370, 369,
- 367, 366, 365, 364, 363, 362, 361, 360, 359, 357,
- 356, 355, 354, 353, 352, 351, 350, 349, 348, 347,
- 346, 344, 343, 342, 341, 340, 337, 336, 335, 334,
-
- 333, 332, 331, 330, 329, 328, 327, 326, 322, 320,
- 317, 316, 313, 309, 302, 300, 299, 298, 297, 295,
- 294, 293, 292, 291, 290, 289, 288, 287, 285, 284,
- 283, 282, 281, 280, 279, 278, 276, 275, 274, 273,
- 272, 271, 270, 269, 268, 267, 266, 265, 264, 263,
- 261, 260, 259, 258, 257, 256, 255, 254, 253, 251,
- 250, 249, 248, 247, 246, 245, 244, 242, 241, 240,
- 239, 238, 237, 236, 235, 234, 233, 232, 231, 230,
- 229, 228, 227, 226, 225, 224, 223, 222, 220, 219,
- 218, 217, 216, 215, 214, 213, 212, 210, 207, 205,
-
- 203, 201, 198, 197, 195, 192, 184, 183, 182, 180,
- 179, 177, 176, 175, 173, 172, 171, 167, 164, 162,
- 161, 160, 159, 158, 156, 155, 154, 153, 152, 150,
- 149, 148, 147, 146, 145, 144, 143, 142, 140, 139,
- 137, 135, 134, 133, 132, 130, 129, 128, 127, 125,
- 124, 122, 121, 120, 116, 110, 107, 106, 104, 99,
- 98, 79, 74, 68, 60, 53, 50, 49, 47, 43,
- 41, 39, 38, 24, 14, 11, 1775, 1775, 1775, 1775,
- 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775,
- 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775,
-
- 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775,
- 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775,
- 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775,
- 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775,
- 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775
+ 62, 75, 58, 62, 62, 75, 58, 62, 62, 70,
+ 58, 71, 123, 70, 175, 94, 123, 70, 58, 95,
+ 62, 300, 58, 78, 58, 58, 300, 72, 175, 70,
+ 71, 108, 71, 70, 71, 72, 96, 72, 77, 77,
+ 76, 94, 72, 72, 76, 95, 78, 76, 77, 81,
+ 81, 81, 81, 81, 76, 76, 78, 108, 77, 76,
+ 76, 78, 81, 82, 96, 82, 82, 82, 82, 82,
+
+ 151, 77, 719, 77, 151, 83, 77, 83, 82, 101,
+ 83, 83, 83, 83, 83, 81, 77, 85, 85, 85,
+ 85, 85, 84, 77, 84, 84, 84, 84, 84, 105,
+ 85, 82, 89, 89, 89, 89, 89, 84, 90, 90,
+ 90, 90, 90, 103, 111, 113, 101, 112, 114, 138,
+ 103, 119, 141, 85, 115, 141, 720, 105, 167, 141,
+ 84, 158, 167, 290, 190, 138, 164, 166, 119, 189,
+ 166, 166, 111, 113, 112, 114, 290, 115, 193, 119,
+ 103, 164, 164, 164, 103, 179, 171, 190, 103, 158,
+ 171, 158, 183, 188, 171, 189, 103, 169, 191, 192,
+
+ 103, 193, 103, 103, 118, 118, 118, 118, 118, 306,
+ 316, 721, 179, 118, 118, 118, 118, 118, 118, 183,
+ 316, 188, 202, 198, 201, 192, 191, 208, 204, 254,
+ 206, 405, 169, 169, 169, 405, 118, 118, 118, 118,
+ 118, 118, 722, 169, 265, 169, 198, 169, 169, 202,
+ 169, 204, 201, 206, 208, 211, 211, 211, 211, 211,
+ 213, 306, 223, 308, 211, 211, 211, 211, 211, 211,
+ 223, 281, 311, 317, 281, 223, 223, 320, 323, 395,
+ 265, 343, 254, 213, 330, 254, 308, 211, 211, 211,
+ 211, 211, 211, 350, 265, 311, 319, 319, 343, 350,
+
+ 320, 723, 317, 724, 381, 319, 323, 328, 328, 328,
+ 328, 328, 425, 330, 381, 425, 328, 328, 328, 328,
+ 328, 328, 363, 373, 373, 409, 432, 363, 373, 409,
+ 440, 432, 450, 725, 450, 452, 578, 395, 469, 328,
+ 328, 328, 328, 328, 328, 500, 469, 472, 469, 469,
+ 469, 481, 577, 624, 624, 500, 481, 680, 440, 450,
+ 472, 450, 472, 452, 578, 579, 698, 705, 680, 697,
+ 579, 707, 707, 705, 707, 363, 727, 728, 729, 577,
+ 363, 451, 451, 451, 451, 451, 730, 731, 733, 698,
+ 451, 451, 451, 451, 451, 451, 726, 697, 734, 735,
+
+ 726, 736, 737, 738, 726, 739, 740, 741, 742, 743,
+ 744, 745, 746, 451, 451, 451, 451, 451, 451, 747,
+ 748, 749, 750, 751, 749, 752, 754, 755, 756, 757,
+ 758, 759, 760, 761, 762, 763, 765, 766, 767, 768,
+ 769, 770, 771, 772, 773, 774, 775, 776, 777, 778,
+ 779, 780, 781, 782, 783, 784, 785, 786, 787, 788,
+ 789, 790, 790, 791, 792, 793, 788, 794, 795, 790,
+ 797, 793, 798, 790, 799, 800, 801, 802, 803, 804,
+ 805, 806, 807, 808, 809, 810, 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, 813, 842, 843, 844, 845,
+ 846, 847, 848, 850, 851, 852, 853, 854, 855, 856,
+ 857, 858, 859, 855, 860, 861, 862, 863, 866, 867,
+ 868, 869, 870, 871, 874, 875, 876, 877, 878, 879,
+ 880, 881, 882, 883, 880, 884, 885, 886, 887, 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, 915, 916, 917, 918, 920, 921,
+ 922, 923, 924, 925, 926, 927, 928, 929, 930, 931,
+
+ 933, 934, 935, 936, 937, 938, 940, 941, 942, 943,
+ 944, 945, 946, 947, 948, 949, 950, 951, 952, 953,
+ 954, 955, 956, 957, 934, 958, 959, 933, 960, 961,
+ 963, 964, 965, 966, 967, 968, 969, 970, 971, 972,
+ 973, 975, 976, 977, 978, 979, 981, 982, 983, 984,
+ 985, 986, 987, 988, 989, 990, 991, 992, 993, 994,
+ 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1005,
+ 1006, 1007, 1008, 1010, 1011, 1012, 1013, 1001, 1014, 1015,
+ 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025,
+ 1026, 1027, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036,
+
+ 1037, 1038, 978, 1039, 1040, 1041, 1042, 1043, 1044, 1045,
+ 1046, 1048, 1047, 1049, 1050, 1051, 1052, 1053, 1055, 1056,
+ 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066,
+ 1067, 1068, 1069, 1071, 1072, 1073, 1074, 1075, 1046, 1047,
+ 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085,
+ 1086, 1087, 1089, 1090, 1091, 1092, 1093, 1089, 1094, 1095,
+ 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105,
+ 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115,
+ 1116, 1117, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126,
+ 1127, 1128, 1129, 1131, 1132, 1133, 1135, 1090, 1136, 1137,
+
+ 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147,
+ 1148, 1149, 1150, 1151, 1153, 1154, 1155, 1156, 1157, 1158,
+ 1159, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1170,
+ 1171, 1172, 1173, 1174, 1176, 1177, 1178, 1179, 1154, 1180,
+ 1181, 1182, 1183, 1184, 1155, 1185, 1186, 1187, 1188, 1189,
+ 1190, 1191, 1192, 1195, 1197, 1198, 1199, 1200, 1201, 1202,
+ 1203, 1204, 1205, 1206, 1207, 1208, 1210, 1211, 1212, 1213,
+ 1215, 1216, 1217, 1218, 1219, 1220, 1223, 1225, 1226, 1227,
+ 1228, 1229, 1230, 1231, 1232, 1233, 1234, 1235, 1236, 1237,
+ 1238, 1239, 1241, 1242, 1243, 1244, 1245, 1248, 1249, 1250,
+
+ 1251, 1252, 1253, 1254, 1255, 1256, 1257, 1258, 1260, 1261,
+ 1262, 1263, 1264, 1265, 1266, 1267, 1269, 1270, 1271, 1272,
+ 1273, 1274, 1275, 1276, 1277, 1278, 1279, 1280, 1281, 1282,
+ 1283, 1285, 1286, 1287, 1257, 1288, 1289, 1290, 1233, 1291,
+ 1292, 1293, 1294, 1295, 1296, 1297, 1298, 1299, 1300, 1301,
+ 1302, 1303, 1304, 1305, 1306, 1263, 1300, 1308, 1311, 1312,
+ 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1322, 1323,
+ 1324, 1325, 1326, 1327, 1328, 1330, 1331, 1333, 1336, 1337,
+ 1338, 1340, 1341, 1343, 1344, 1345, 1346, 1347, 1349, 1350,
+ 1345, 1351, 1353, 1354, 1355, 1356, 1357, 1358, 1359, 1360,
+
+ 1361, 1362, 1363, 1364, 1365, 1366, 1367, 1369, 1370, 1372,
+ 1347, 1373, 1374, 1375, 1376, 1377, 1378, 1379, 1380, 1381,
+ 1384, 1386, 1387, 1388, 1389, 1390, 1391, 1392, 1393, 1394,
+ 1396, 1397, 1398, 1399, 1400, 1401, 1402, 1404, 1405, 1407,
+ 1408, 1409, 1410, 1412, 1413, 1414, 1415, 1416, 1417, 1418,
+ 1419, 1420, 1421, 1423, 1425, 1427, 1429, 1430, 1431, 1432,
+ 1433, 1434, 1435, 1436, 1437, 1438, 1439, 1440, 1441, 1442,
+ 1443, 1444, 1445, 1446, 1447, 1448, 1449, 1439, 1450, 1451,
+ 1452, 1453, 1427, 1454, 1455, 1455, 1456, 1457, 1458, 1459,
+ 1460, 1461, 1462, 1463, 1464, 1465, 1466, 1467, 1468, 1469,
+
+ 1470, 1471, 1472, 1473, 1474, 1475, 1476, 1477, 1478, 1479,
+ 1480, 1481, 1483, 1484, 1485, 1486, 1487, 1489, 1490, 1491,
+ 1492, 1493, 1495, 1498, 1499, 1500, 1503, 1504, 1505, 1506,
+ 1507, 1508, 1509, 1510, 1511, 1513, 1515, 1516, 1517, 1518,
+ 1519, 1520, 1521, 1522, 1456, 1524, 1525, 1527, 1529, 1493,
+ 1530, 1531, 1533, 1534, 1535, 1536, 1537, 1539, 1540, 1541,
+ 1542, 1543, 1544, 1545, 1546, 1547, 1548, 1549, 1550, 1551,
+ 1552, 1553, 1554, 1555, 1556, 1558, 1559, 1560, 1561, 1562,
+ 1564, 1565, 1566, 1567, 1568, 1569, 1570, 1571, 1572, 1573,
+ 1574, 1575, 1576, 1577, 1579, 1580, 1581, 1583, 1585, 1586,
+
+ 1587, 1588, 1589, 1591, 1592, 1593, 1594, 1595, 1596, 1597,
+ 1598, 1599, 1601, 1602, 1604, 1607, 1608, 1609, 1610, 1613,
+ 1615, 1616, 1617, 1618, 1619, 1620, 1621, 1622, 1623, 1625,
+ 1626, 1627, 1629, 1630, 1631, 1632, 1633, 1634, 1636, 1637,
+ 1638, 1640, 1641, 1642, 1643, 1644, 1645, 1646, 1647, 1648,
+ 1650, 1651, 1652, 1654, 1655, 1656, 1657, 1658, 1659, 1660,
+ 1661, 1663, 1664, 1665, 1666, 1667, 1668, 1669, 1670, 1673,
+ 1674, 1675, 1676, 1677, 1678, 1679, 1682, 1683, 1684, 1685,
+ 1686, 1687, 1688, 1689, 1690, 1691, 1692, 1693, 1694, 1695,
+ 1696, 1697, 1699, 1700, 1701, 1702, 1703, 1704, 1706, 1710,
+
+ 1712, 1713, 1714, 1715, 1717, 1718, 1719, 1721, 1722, 1723,
+ 1724, 1725, 1726, 1727, 1728, 1729, 1730, 1732, 1733, 1735,
+ 1736, 1739, 1740, 1742, 1743, 1744, 1745, 1746, 1747, 1748,
+ 1749, 1750, 1751, 1752, 1753, 1754, 1755, 1756, 1757, 1758,
+ 1759, 1760, 1762, 1763, 1764, 1765, 1766, 1767, 1768, 1769,
+ 1770, 1771, 1772, 1773, 1774, 1775, 1776, 1778, 1779, 1781,
+ 1782, 1784, 1785, 1786, 1787, 1789, 1791, 1792, 1793, 1795,
+ 1796, 1797, 1798, 1799, 1800, 1802, 1804, 1807, 1808, 1809,
+ 1810, 1811, 1812, 1811, 1814, 1815, 1817, 1818, 1819, 1820,
+ 1821, 1822, 1823, 1825, 1826, 1827, 1828, 1829, 1832, 1833,
+
+ 1834, 1835, 1839, 1839, 1839, 1839, 1839, 1840, 1840, 1840,
+ 1840, 1840, 1841, 1847, 1841, 1841, 1841, 1842, 1848, 1842,
+ 1849, 1842, 1843, 1843, 1843, 1843, 1843, 1844, 1844, 1844,
+ 1844, 1844, 1845, 1850, 1845, 1845, 1845, 1846, 1846, 1846,
+ 716, 715, 714, 713, 712, 711, 710, 709, 708, 706,
+ 704, 703, 702, 701, 700, 699, 696, 695, 694, 692,
+ 691, 689, 688, 687, 686, 685, 684, 683, 682, 681,
+ 679, 678, 676, 675, 674, 673, 672, 671, 670, 669,
+ 668, 667, 666, 665, 664, 662, 661, 660, 659, 658,
+ 657, 656, 655, 654, 652, 651, 650, 649, 648, 647,
+
+ 645, 644, 643, 642, 641, 640, 639, 637, 636, 635,
+ 634, 633, 632, 631, 630, 629, 628, 627, 626, 625,
+ 623, 622, 621, 620, 619, 618, 617, 616, 615, 614,
+ 613, 612, 610, 609, 608, 607, 606, 605, 604, 603,
+ 602, 601, 600, 599, 598, 597, 596, 595, 594, 593,
+ 592, 591, 590, 589, 588, 587, 586, 585, 584, 583,
+ 582, 581, 575, 573, 570, 569, 568, 567, 565, 564,
+ 563, 561, 560, 558, 556, 555, 554, 553, 552, 551,
+ 550, 549, 548, 547, 546, 545, 544, 543, 542, 541,
+ 540, 539, 538, 537, 536, 535, 534, 533, 532, 531,
+
+ 530, 529, 528, 527, 526, 524, 522, 521, 520, 519,
+ 518, 517, 516, 515, 514, 513, 512, 511, 510, 509,
+ 507, 506, 505, 504, 503, 502, 501, 499, 498, 497,
+ 496, 495, 494, 493, 492, 491, 490, 489, 488, 487,
+ 485, 484, 483, 482, 480, 479, 478, 477, 476, 474,
+ 473, 471, 470, 467, 466, 465, 464, 463, 462, 461,
+ 459, 458, 457, 456, 455, 454, 453, 448, 447, 445,
+ 444, 443, 442, 441, 439, 438, 436, 433, 431, 430,
+ 428, 427, 426, 424, 423, 422, 421, 420, 419, 418,
+ 417, 416, 415, 414, 413, 412, 411, 410, 408, 407,
+
+ 406, 404, 403, 402, 401, 399, 398, 397, 396, 394,
+ 393, 392, 391, 390, 389, 388, 387, 386, 385, 384,
+ 382, 380, 379, 378, 377, 376, 375, 374, 372, 371,
+ 370, 369, 368, 367, 366, 365, 364, 362, 361, 360,
+ 359, 358, 357, 356, 355, 354, 353, 352, 351, 349,
+ 348, 347, 346, 345, 342, 341, 340, 339, 338, 337,
+ 336, 335, 334, 333, 332, 331, 327, 325, 322, 321,
+ 318, 314, 307, 305, 304, 303, 302, 301, 299, 298,
+ 297, 296, 295, 294, 293, 292, 291, 289, 288, 287,
+ 286, 285, 284, 283, 282, 280, 279, 278, 277, 276,
+
+ 275, 274, 273, 272, 271, 270, 269, 268, 267, 266,
+ 264, 263, 262, 261, 260, 259, 258, 257, 256, 255,
+ 253, 252, 251, 250, 249, 248, 247, 246, 244, 243,
+ 242, 241, 240, 239, 238, 237, 236, 235, 234, 233,
+ 232, 231, 230, 229, 228, 227, 226, 225, 224, 222,
+ 221, 220, 219, 218, 217, 216, 215, 214, 212, 209,
+ 207, 205, 203, 200, 199, 197, 194, 186, 185, 184,
+ 182, 181, 180, 178, 177, 176, 174, 173, 172, 168,
+ 165, 163, 162, 161, 160, 159, 157, 156, 155, 154,
+ 153, 152, 150, 149, 148, 147, 146, 145, 144, 143,
+
+ 142, 140, 139, 137, 135, 134, 133, 132, 130, 129,
+ 128, 127, 125, 124, 122, 121, 120, 116, 110, 107,
+ 106, 104, 99, 98, 79, 74, 68, 60, 53, 50,
+ 49, 47, 43, 41, 39, 38, 24, 14, 11, 1838,
+ 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838,
+ 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838,
+ 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838,
+ 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838,
+ 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838,
+ 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838,
+
+ 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838,
+ 1838, 1838, 1838
} ;
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[197] =
+static const flex_int16_t yy_rule_linenum[201] =
{ 0,
147, 149, 151, 156, 157, 162, 163, 164, 176, 179,
184, 191, 200, 209, 218, 227, 236, 245, 255, 264,
465, 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, 761, 772,
- 781, 791, 805, 821, 830, 839, 848, 857, 878, 899,
- 908, 918, 927, 938, 947, 956, 965, 974, 983, 993,
- 1002, 1013, 1024, 1036, 1045, 1055, 1064, 1073, 1082, 1091,
-
- 1100, 1109, 1118, 1127, 1137, 1148, 1160, 1169, 1178, 1188,
- 1198, 1208, 1218, 1228, 1238, 1247, 1257, 1266, 1275, 1284,
- 1293, 1303, 1313, 1322, 1332, 1341, 1350, 1359, 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, 1623, 1635, 1645, 1655,
- 1665, 1675, 1685, 1695, 1705, 1715, 1725, 1734, 1743, 1752,
- 1761, 1770, 1779, 1788, 1799, 1810, 1823, 1836, 1851, 1950,
- 1955, 1960, 1965, 1966, 1967, 1968, 1969, 1970, 1972, 1990,
- 2003, 2008, 2012, 2014, 2016, 2018
+ 781, 791, 805, 821, 830, 839, 848, 857, 879, 901,
+ 910, 920, 929, 940, 949, 958, 967, 976, 985, 995,
+ 1004, 1015, 1026, 1038, 1047, 1057, 1066, 1075, 1084, 1093,
+
+ 1102, 1111, 1120, 1129, 1139, 1150, 1162, 1171, 1180, 1190,
+ 1200, 1210, 1220, 1230, 1240, 1249, 1259, 1268, 1277, 1286,
+ 1295, 1305, 1315, 1324, 1334, 1343, 1352, 1361, 1370, 1379,
+ 1388, 1397, 1406, 1415, 1424, 1433, 1442, 1451, 1460, 1469,
+ 1478, 1487, 1496, 1505, 1514, 1523, 1532, 1541, 1550, 1559,
+ 1568, 1577, 1586, 1595, 1604, 1613, 1622, 1631, 1640, 1649,
+ 1661, 1673, 1683, 1693, 1703, 1713, 1723, 1733, 1743, 1753,
+ 1763, 1772, 1781, 1790, 1799, 1808, 1817, 1826, 1837, 1848,
+ 1861, 1874, 1887, 1986, 1991, 1996, 2001, 2002, 2003, 2004,
+ 2005, 2006, 2008, 2026, 2039, 2044, 2048, 2050, 2052, 2054
} ;
/* To avoid the call to exit... oops! */
#define YY_FATAL_ERROR(msg) isc::dhcp::Parser4Context::fatal(msg)
-#line 1930 "dhcp4_lexer.cc"
+#line 1968 "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 1956 "dhcp4_lexer.cc"
-#line 1957 "dhcp4_lexer.cc"
+#line 1994 "dhcp4_lexer.cc"
+#line 1995 "dhcp4_lexer.cc"
#define INITIAL 0
#define COMMENT 1
}
-#line 2287 "dhcp4_lexer.cc"
+#line 2325 "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 >= 1776 )
+ if ( yy_current_state >= 1839 )
yy_c = yy_meta[yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
++yy_cp;
}
- while ( yy_current_state != 1775 );
+ while ( yy_current_state != 1838 );
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 < 197 )
+ else if ( yy_act < 201 )
fprintf( stderr, "--accepting rule at line %ld (\"%s\")\n",
(long)yy_rule_linenum[yy_act], yytext );
- else if ( yy_act == 197 )
+ else if ( yy_act == 201 )
fprintf( stderr, "--accepting default rule (\"%s\")\n",
yytext );
- else if ( yy_act == 198 )
+ else if ( yy_act == 202 )
fprintf( stderr, "--(end of buffer or a NUL)\n" );
else
fprintf( stderr, "--EOF (start condition %d)\n", YY_START );
case isc::dhcp::Parser4Context::CLIENT_CLASSES:
case isc::dhcp::Parser4Context::CONTROL_SOCKET:
case isc::dhcp::Parser4Context::DHCP_QUEUE_CONTROL:
+ case isc::dhcp::Parser4Context::DHCP_MULTI_THREADING:
case isc::dhcp::Parser4Context::LOGGERS:
case isc::dhcp::Parser4Context::DHCP_DDNS:
return isc::dhcp::Dhcp4Parser::make_USER_CONTEXT(driver.loc_);
YY_BREAK
case 79:
YY_RULE_SETUP
-#line 878 "dhcp4_lexer.ll"
+#line 879 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
case isc::dhcp::Parser4Context::CLIENT_CLASSES:
case isc::dhcp::Parser4Context::CONTROL_SOCKET:
case isc::dhcp::Parser4Context::DHCP_QUEUE_CONTROL:
+ case isc::dhcp::Parser4Context::DHCP_MULTI_THREADING:
case isc::dhcp::Parser4Context::LOGGERS:
case isc::dhcp::Parser4Context::DHCP_DDNS:
return isc::dhcp::Dhcp4Parser::make_COMMENT(driver.loc_);
YY_BREAK
case 80:
YY_RULE_SETUP
-#line 899 "dhcp4_lexer.ll"
+#line 901 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::SUBNET4:
YY_BREAK
case 81:
YY_RULE_SETUP
-#line 908 "dhcp4_lexer.ll"
+#line 910 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::SUBNET4:
YY_BREAK
case 82:
YY_RULE_SETUP
-#line 918 "dhcp4_lexer.ll"
+#line 920 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::SUBNET4:
YY_BREAK
case 83:
YY_RULE_SETUP
-#line 927 "dhcp4_lexer.ll"
+#line 929 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 84:
YY_RULE_SETUP
-#line 938 "dhcp4_lexer.ll"
+#line 940 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::RESERVATION_MODE:
YY_BREAK
case 85:
YY_RULE_SETUP
-#line 947 "dhcp4_lexer.ll"
+#line 949 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::RESERVATION_MODE:
YY_BREAK
case 86:
YY_RULE_SETUP
-#line 956 "dhcp4_lexer.ll"
+#line 958 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::RESERVATION_MODE:
YY_BREAK
case 87:
YY_RULE_SETUP
-#line 965 "dhcp4_lexer.ll"
+#line 967 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::RESERVATION_MODE:
YY_BREAK
case 88:
YY_RULE_SETUP
-#line 974 "dhcp4_lexer.ll"
+#line 976 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::RESERVATION_MODE:
YY_BREAK
case 89:
YY_RULE_SETUP
-#line 983 "dhcp4_lexer.ll"
+#line 985 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::OPTION_DEF:
YY_BREAK
case 90:
YY_RULE_SETUP
-#line 993 "dhcp4_lexer.ll"
+#line 995 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 91:
YY_RULE_SETUP
-#line 1002 "dhcp4_lexer.ll"
+#line 1004 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 92:
YY_RULE_SETUP
-#line 1013 "dhcp4_lexer.ll"
+#line 1015 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 93:
YY_RULE_SETUP
-#line 1024 "dhcp4_lexer.ll"
+#line 1026 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 94:
YY_RULE_SETUP
-#line 1036 "dhcp4_lexer.ll"
+#line 1038 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::CONFIG:
YY_BREAK
case 95:
YY_RULE_SETUP
-#line 1045 "dhcp4_lexer.ll"
+#line 1047 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 96:
YY_RULE_SETUP
-#line 1055 "dhcp4_lexer.ll"
+#line 1057 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::LOGGERS:
YY_BREAK
case 97:
YY_RULE_SETUP
-#line 1064 "dhcp4_lexer.ll"
+#line 1066 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::OUTPUT_OPTIONS:
YY_BREAK
case 98:
YY_RULE_SETUP
-#line 1073 "dhcp4_lexer.ll"
+#line 1075 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::LOGGERS:
YY_BREAK
case 99:
YY_RULE_SETUP
-#line 1082 "dhcp4_lexer.ll"
+#line 1084 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::OUTPUT_OPTIONS:
YY_BREAK
case 100:
YY_RULE_SETUP
-#line 1091 "dhcp4_lexer.ll"
+#line 1093 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::OUTPUT_OPTIONS:
YY_BREAK
case 101:
YY_RULE_SETUP
-#line 1100 "dhcp4_lexer.ll"
+#line 1102 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::OUTPUT_OPTIONS:
YY_BREAK
case 102:
YY_RULE_SETUP
-#line 1109 "dhcp4_lexer.ll"
+#line 1111 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::OUTPUT_OPTIONS:
YY_BREAK
case 103:
YY_RULE_SETUP
-#line 1118 "dhcp4_lexer.ll"
+#line 1120 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::LOGGERS:
YY_BREAK
case 104:
YY_RULE_SETUP
-#line 1127 "dhcp4_lexer.ll"
+#line 1129 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 105:
YY_RULE_SETUP
-#line 1137 "dhcp4_lexer.ll"
+#line 1139 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::SUBNET4:
YY_BREAK
case 106:
YY_RULE_SETUP
-#line 1148 "dhcp4_lexer.ll"
+#line 1150 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::SUBNET4:
YY_BREAK
case 107:
YY_RULE_SETUP
-#line 1160 "dhcp4_lexer.ll"
+#line 1162 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::CLIENT_CLASSES:
YY_BREAK
case 108:
YY_RULE_SETUP
-#line 1169 "dhcp4_lexer.ll"
+#line 1171 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::CLIENT_CLASSES:
YY_BREAK
case 109:
YY_RULE_SETUP
-#line 1178 "dhcp4_lexer.ll"
+#line 1180 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 110:
YY_RULE_SETUP
-#line 1188 "dhcp4_lexer.ll"
+#line 1190 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS:
YY_BREAK
case 111:
YY_RULE_SETUP
-#line 1198 "dhcp4_lexer.ll"
+#line 1200 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS:
YY_BREAK
case 112:
YY_RULE_SETUP
-#line 1208 "dhcp4_lexer.ll"
+#line 1210 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS:
YY_BREAK
case 113:
YY_RULE_SETUP
-#line 1218 "dhcp4_lexer.ll"
+#line 1220 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS:
YY_BREAK
case 114:
YY_RULE_SETUP
-#line 1228 "dhcp4_lexer.ll"
+#line 1230 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS:
YY_BREAK
case 115:
YY_RULE_SETUP
-#line 1238 "dhcp4_lexer.ll"
+#line 1240 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::RESERVATIONS:
YY_BREAK
case 116:
YY_RULE_SETUP
-#line 1247 "dhcp4_lexer.ll"
+#line 1249 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::OPTION_DEF:
YY_BREAK
case 117:
YY_RULE_SETUP
-#line 1257 "dhcp4_lexer.ll"
+#line 1259 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::OPTION_DATA:
YY_BREAK
case 118:
YY_RULE_SETUP
-#line 1266 "dhcp4_lexer.ll"
+#line 1268 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::OPTION_DEF:
YY_BREAK
case 119:
YY_RULE_SETUP
-#line 1275 "dhcp4_lexer.ll"
+#line 1277 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::OPTION_DEF:
YY_BREAK
case 120:
YY_RULE_SETUP
-#line 1284 "dhcp4_lexer.ll"
+#line 1286 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::OPTION_DEF:
YY_BREAK
case 121:
YY_RULE_SETUP
-#line 1293 "dhcp4_lexer.ll"
+#line 1295 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::SUBNET4:
YY_BREAK
case 122:
YY_RULE_SETUP
-#line 1303 "dhcp4_lexer.ll"
+#line 1305 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::RELAY:
YY_BREAK
case 123:
YY_RULE_SETUP
-#line 1313 "dhcp4_lexer.ll"
+#line 1315 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::RELAY:
YY_BREAK
case 124:
YY_RULE_SETUP
-#line 1322 "dhcp4_lexer.ll"
+#line 1324 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 125:
YY_RULE_SETUP
-#line 1332 "dhcp4_lexer.ll"
+#line 1334 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::HOOKS_LIBRARIES:
YY_BREAK
case 126:
YY_RULE_SETUP
-#line 1341 "dhcp4_lexer.ll"
+#line 1343 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::HOOKS_LIBRARIES:
YY_BREAK
case 127:
YY_RULE_SETUP
-#line 1350 "dhcp4_lexer.ll"
+#line 1352 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 128:
YY_RULE_SETUP
-#line 1359 "dhcp4_lexer.ll"
+#line 1361 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING:
YY_BREAK
case 129:
YY_RULE_SETUP
-#line 1368 "dhcp4_lexer.ll"
+#line 1370 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING:
YY_BREAK
case 130:
YY_RULE_SETUP
-#line 1377 "dhcp4_lexer.ll"
+#line 1379 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING:
YY_BREAK
case 131:
YY_RULE_SETUP
-#line 1386 "dhcp4_lexer.ll"
+#line 1388 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING:
YY_BREAK
case 132:
YY_RULE_SETUP
-#line 1395 "dhcp4_lexer.ll"
+#line 1397 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING:
YY_BREAK
case 133:
YY_RULE_SETUP
-#line 1404 "dhcp4_lexer.ll"
+#line 1406 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING:
YY_BREAK
case 134:
YY_RULE_SETUP
-#line 1413 "dhcp4_lexer.ll"
+#line 1415 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 135:
YY_RULE_SETUP
-#line 1422 "dhcp4_lexer.ll"
+#line 1424 "dhcp4_lexer.ll"
+{
+ switch(driver.ctx_) {
+ case isc::dhcp::Parser4Context::DHCP4:
+ return isc::dhcp::Dhcp4Parser::make_DHCP_MULTI_THREADING(driver.loc_);
+ default:
+ return isc::dhcp::Dhcp4Parser::make_STRING("multi-threading", driver.loc_);
+ }
+}
+ YY_BREAK
+case 136:
+YY_RULE_SETUP
+#line 1433 "dhcp4_lexer.ll"
+{
+ switch(driver.ctx_) {
+ case isc::dhcp::Parser4Context::DHCP_MULTI_THREADING:
+ return isc::dhcp::Dhcp4Parser::make_ENABLE_MULTI_THREADING(driver.loc_);
+ default:
+ return isc::dhcp::Dhcp4Parser::make_STRING("enable-multi-threading", driver.loc_);
+ }
+}
+ YY_BREAK
+case 137:
+YY_RULE_SETUP
+#line 1442 "dhcp4_lexer.ll"
+{
+ switch(driver.ctx_) {
+ case isc::dhcp::Parser4Context::DHCP_MULTI_THREADING:
+ return isc::dhcp::Dhcp4Parser::make_THREAD_POOL_SIZE(driver.loc_);
+ default:
+ return isc::dhcp::Dhcp4Parser::make_STRING("thread-pool-size", driver.loc_);
+ }
+}
+ YY_BREAK
+case 138:
+YY_RULE_SETUP
+#line 1451 "dhcp4_lexer.ll"
+{
+ switch(driver.ctx_) {
+ case isc::dhcp::Parser4Context::DHCP_MULTI_THREADING:
+ return isc::dhcp::Dhcp4Parser::make_PACKET_QUEUE_SIZE(driver.loc_);
+ default:
+ return isc::dhcp::Dhcp4Parser::make_STRING("packet-queue-size", driver.loc_);
+ }
+}
+ YY_BREAK
+case 139:
+YY_RULE_SETUP
+#line 1460 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 136:
+case 140:
YY_RULE_SETUP
-#line 1431 "dhcp4_lexer.ll"
+#line 1469 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::CONTROL_SOCKET:
}
}
YY_BREAK
-case 137:
+case 141:
YY_RULE_SETUP
-#line 1440 "dhcp4_lexer.ll"
+#line 1478 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::CONTROL_SOCKET:
}
}
YY_BREAK
-case 138:
+case 142:
YY_RULE_SETUP
-#line 1449 "dhcp4_lexer.ll"
+#line 1487 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 139:
+case 143:
YY_RULE_SETUP
-#line 1458 "dhcp4_lexer.ll"
+#line 1496 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_QUEUE_CONTROL:
}
}
YY_BREAK
-case 140:
+case 144:
YY_RULE_SETUP
-#line 1467 "dhcp4_lexer.ll"
+#line 1505 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_QUEUE_CONTROL:
}
}
YY_BREAK
-case 141:
+case 145:
YY_RULE_SETUP
-#line 1476 "dhcp4_lexer.ll"
+#line 1514 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_QUEUE_CONTROL:
}
}
YY_BREAK
-case 142:
+case 146:
YY_RULE_SETUP
-#line 1485 "dhcp4_lexer.ll"
+#line 1523 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 143:
+case 147:
YY_RULE_SETUP
-#line 1494 "dhcp4_lexer.ll"
+#line 1532 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_DDNS:
}
}
YY_BREAK
-case 144:
+case 148:
YY_RULE_SETUP
-#line 1503 "dhcp4_lexer.ll"
+#line 1541 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_DDNS:
}
}
YY_BREAK
-case 145:
+case 149:
YY_RULE_SETUP
-#line 1512 "dhcp4_lexer.ll"
+#line 1550 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_DDNS:
}
}
YY_BREAK
-case 146:
+case 150:
YY_RULE_SETUP
-#line 1521 "dhcp4_lexer.ll"
+#line 1559 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_DDNS:
}
}
YY_BREAK
-case 147:
+case 151:
YY_RULE_SETUP
-#line 1530 "dhcp4_lexer.ll"
+#line 1568 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_DDNS:
}
}
YY_BREAK
-case 148:
+case 152:
YY_RULE_SETUP
-#line 1539 "dhcp4_lexer.ll"
+#line 1577 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_DDNS:
}
}
YY_BREAK
-case 149:
+case 153:
YY_RULE_SETUP
-#line 1548 "dhcp4_lexer.ll"
+#line 1586 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_DDNS:
}
}
YY_BREAK
-case 150:
+case 154:
YY_RULE_SETUP
-#line 1557 "dhcp4_lexer.ll"
+#line 1595 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_DDNS:
}
}
YY_BREAK
-case 151:
+case 155:
YY_RULE_SETUP
-#line 1566 "dhcp4_lexer.ll"
+#line 1604 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_DDNS:
}
}
YY_BREAK
-case 152:
+case 156:
YY_RULE_SETUP
-#line 1575 "dhcp4_lexer.ll"
+#line 1613 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_DDNS:
}
}
YY_BREAK
-case 153:
+case 157:
YY_RULE_SETUP
-#line 1584 "dhcp4_lexer.ll"
+#line 1622 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_DDNS:
}
}
YY_BREAK
-case 154:
+case 158:
YY_RULE_SETUP
-#line 1593 "dhcp4_lexer.ll"
+#line 1631 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_DDNS:
}
}
YY_BREAK
-case 155:
+case 159:
YY_RULE_SETUP
-#line 1602 "dhcp4_lexer.ll"
+#line 1640 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_DDNS:
}
}
YY_BREAK
-case 156:
+case 160:
YY_RULE_SETUP
-#line 1611 "dhcp4_lexer.ll"
+#line 1649 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 157:
+case 161:
YY_RULE_SETUP
-#line 1623 "dhcp4_lexer.ll"
+#line 1661 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 158:
+case 162:
YY_RULE_SETUP
-#line 1635 "dhcp4_lexer.ll"
+#line 1673 "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 159:
+case 163:
YY_RULE_SETUP
-#line 1645 "dhcp4_lexer.ll"
+#line 1683 "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 160:
+case 164:
YY_RULE_SETUP
-#line 1655 "dhcp4_lexer.ll"
+#line 1693 "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 161:
+case 165:
YY_RULE_SETUP
-#line 1665 "dhcp4_lexer.ll"
+#line 1703 "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 162:
+case 166:
YY_RULE_SETUP
-#line 1675 "dhcp4_lexer.ll"
+#line 1713 "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 163:
+case 167:
YY_RULE_SETUP
-#line 1685 "dhcp4_lexer.ll"
+#line 1723 "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 164:
+case 168:
YY_RULE_SETUP
-#line 1695 "dhcp4_lexer.ll"
+#line 1733 "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 165:
+case 169:
YY_RULE_SETUP
-#line 1705 "dhcp4_lexer.ll"
+#line 1743 "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 166:
+case 170:
YY_RULE_SETUP
-#line 1715 "dhcp4_lexer.ll"
+#line 1753 "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 167:
+case 171:
YY_RULE_SETUP
-#line 1725 "dhcp4_lexer.ll"
+#line 1763 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::CONFIG:
}
}
YY_BREAK
-case 168:
+case 172:
YY_RULE_SETUP
-#line 1734 "dhcp4_lexer.ll"
+#line 1772 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::CONFIG:
}
}
YY_BREAK
-case 169:
+case 173:
YY_RULE_SETUP
-#line 1743 "dhcp4_lexer.ll"
+#line 1781 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::CONFIG:
}
}
YY_BREAK
-case 170:
+case 174:
YY_RULE_SETUP
-#line 1752 "dhcp4_lexer.ll"
+#line 1790 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::SUBNET4:
}
}
YY_BREAK
-case 171:
+case 175:
YY_RULE_SETUP
-#line 1761 "dhcp4_lexer.ll"
+#line 1799 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::SUBNET4:
}
}
YY_BREAK
-case 172:
+case 176:
YY_RULE_SETUP
-#line 1770 "dhcp4_lexer.ll"
+#line 1808 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::SUBNET4:
}
}
YY_BREAK
-case 173:
+case 177:
YY_RULE_SETUP
-#line 1779 "dhcp4_lexer.ll"
+#line 1817 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 174:
+case 178:
YY_RULE_SETUP
-#line 1788 "dhcp4_lexer.ll"
+#line 1826 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 175:
+case 179:
YY_RULE_SETUP
-#line 1799 "dhcp4_lexer.ll"
+#line 1837 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 176:
+case 180:
YY_RULE_SETUP
-#line 1810 "dhcp4_lexer.ll"
+#line 1848 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 177:
+case 181:
YY_RULE_SETUP
-#line 1823 "dhcp4_lexer.ll"
+#line 1861 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 178:
+case 182:
YY_RULE_SETUP
-#line 1836 "dhcp4_lexer.ll"
+#line 1874 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 179:
+case 183:
YY_RULE_SETUP
-#line 1851 "dhcp4_lexer.ll"
+#line 1887 "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 180:
-/* rule 180 can match eol */
+case 184:
+/* rule 184 can match eol */
YY_RULE_SETUP
-#line 1950 "dhcp4_lexer.ll"
+#line 1986 "dhcp4_lexer.ll"
{
/* Bad string with a forbidden control character inside */
driver.error(driver.loc_, "Invalid control in " + std::string(yytext));
}
YY_BREAK
-case 181:
-/* rule 181 can match eol */
+case 185:
+/* rule 185 can match eol */
YY_RULE_SETUP
-#line 1955 "dhcp4_lexer.ll"
+#line 1991 "dhcp4_lexer.ll"
{
/* Bad string with a bad escape inside */
driver.error(driver.loc_, "Bad escape in " + std::string(yytext));
}
YY_BREAK
-case 182:
+case 186:
YY_RULE_SETUP
-#line 1960 "dhcp4_lexer.ll"
+#line 1996 "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 183:
+case 187:
YY_RULE_SETUP
-#line 1965 "dhcp4_lexer.ll"
+#line 2001 "dhcp4_lexer.ll"
{ return isc::dhcp::Dhcp4Parser::make_LSQUARE_BRACKET(driver.loc_); }
YY_BREAK
-case 184:
+case 188:
YY_RULE_SETUP
-#line 1966 "dhcp4_lexer.ll"
+#line 2002 "dhcp4_lexer.ll"
{ return isc::dhcp::Dhcp4Parser::make_RSQUARE_BRACKET(driver.loc_); }
YY_BREAK
-case 185:
+case 189:
YY_RULE_SETUP
-#line 1967 "dhcp4_lexer.ll"
+#line 2003 "dhcp4_lexer.ll"
{ return isc::dhcp::Dhcp4Parser::make_LCURLY_BRACKET(driver.loc_); }
YY_BREAK
-case 186:
+case 190:
YY_RULE_SETUP
-#line 1968 "dhcp4_lexer.ll"
+#line 2004 "dhcp4_lexer.ll"
{ return isc::dhcp::Dhcp4Parser::make_RCURLY_BRACKET(driver.loc_); }
YY_BREAK
-case 187:
+case 191:
YY_RULE_SETUP
-#line 1969 "dhcp4_lexer.ll"
+#line 2005 "dhcp4_lexer.ll"
{ return isc::dhcp::Dhcp4Parser::make_COMMA(driver.loc_); }
YY_BREAK
-case 188:
+case 192:
YY_RULE_SETUP
-#line 1970 "dhcp4_lexer.ll"
+#line 2006 "dhcp4_lexer.ll"
{ return isc::dhcp::Dhcp4Parser::make_COLON(driver.loc_); }
YY_BREAK
-case 189:
+case 193:
YY_RULE_SETUP
-#line 1972 "dhcp4_lexer.ll"
+#line 2008 "dhcp4_lexer.ll"
{
/* An integer was found. */
std::string tmp(yytext);
return isc::dhcp::Dhcp4Parser::make_INTEGER(integer, driver.loc_);
}
YY_BREAK
-case 190:
+case 194:
YY_RULE_SETUP
-#line 1990 "dhcp4_lexer.ll"
+#line 2026 "dhcp4_lexer.ll"
{
/* A floating point was found. */
std::string tmp(yytext);
return isc::dhcp::Dhcp4Parser::make_FLOAT(fp, driver.loc_);
}
YY_BREAK
-case 191:
+case 195:
YY_RULE_SETUP
-#line 2003 "dhcp4_lexer.ll"
+#line 2039 "dhcp4_lexer.ll"
{
string tmp(yytext);
return isc::dhcp::Dhcp4Parser::make_BOOLEAN(tmp == "true", driver.loc_);
}
YY_BREAK
-case 192:
+case 196:
YY_RULE_SETUP
-#line 2008 "dhcp4_lexer.ll"
+#line 2044 "dhcp4_lexer.ll"
{
return isc::dhcp::Dhcp4Parser::make_NULL_TYPE(driver.loc_);
}
YY_BREAK
-case 193:
+case 197:
YY_RULE_SETUP
-#line 2012 "dhcp4_lexer.ll"
+#line 2048 "dhcp4_lexer.ll"
driver.error (driver.loc_, "JSON true reserved keyword is lower case only");
YY_BREAK
-case 194:
+case 198:
YY_RULE_SETUP
-#line 2014 "dhcp4_lexer.ll"
+#line 2050 "dhcp4_lexer.ll"
driver.error (driver.loc_, "JSON false reserved keyword is lower case only");
YY_BREAK
-case 195:
+case 199:
YY_RULE_SETUP
-#line 2016 "dhcp4_lexer.ll"
+#line 2052 "dhcp4_lexer.ll"
driver.error (driver.loc_, "JSON null reserved keyword is lower case only");
YY_BREAK
-case 196:
+case 200:
YY_RULE_SETUP
-#line 2018 "dhcp4_lexer.ll"
+#line 2054 "dhcp4_lexer.ll"
driver.error (driver.loc_, "Invalid character: " + std::string(yytext));
YY_BREAK
case YY_STATE_EOF(INITIAL):
-#line 2020 "dhcp4_lexer.ll"
+#line 2056 "dhcp4_lexer.ll"
{
if (driver.states_.empty()) {
return isc::dhcp::Dhcp4Parser::make_END(driver.loc_);
BEGIN(DIR_EXIT);
}
YY_BREAK
-case 197:
+case 201:
YY_RULE_SETUP
-#line 2043 "dhcp4_lexer.ll"
+#line 2079 "dhcp4_lexer.ll"
ECHO;
YY_BREAK
-#line 4868 "dhcp4_lexer.cc"
+#line 4956 "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 >= 1776 )
+ if ( yy_current_state >= 1839 )
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 >= 1776 )
+ if ( yy_current_state >= 1839 )
yy_c = yy_meta[yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
- yy_is_jam = (yy_current_state == 1775);
+ yy_is_jam = (yy_current_state == 1838);
return yy_is_jam ? 0 : yy_current_state;
}
/* %ok-for-header */
-#line 2043 "dhcp4_lexer.ll"
+#line 2079 "dhcp4_lexer.ll"
using namespace isc::dhcp;
-// A Bison parser, made by GNU Bison 3.5.3.
+// 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.
-// Undocumented macros, especially those whose name start with YY_,
-// are private implementation details. Do not rely on them.
-
-
// 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 51 "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)
#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 143 "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
{
if (*yystr == '"')
{
- std::string yyr;
+ std::string yyr = "";
char const *yyp = yystr;
for (;;)
case '\\':
if (*++yyp != '\\')
goto do_not_strip_quotes;
- else
- goto append;
-
- append:
+ // Fall through.
default:
yyr += *yyp;
break;
/// 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 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)
{}
+ inline
Dhcp4Parser::symbol_number_type
- Dhcp4Parser::by_state::type_get () const YY_NOEXCEPT
+ Dhcp4Parser::by_state::type_get () const
{
if (state == empty_state)
return empty_symbol;
else
- return 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.type_get ())
- {
- case 207: // value
- case 211: // map_value
- case 252: // ddns_replace_client_name_value
- case 274: // socket_type
- case 277: // outbound_interface_value
- case 299: // db_type
- case 386: // hr_mode
- case 541: // ncr_protocol_value
- value.YY_MOVE_OR_COPY< ElementPtr > (YY_MOVE (that.value));
- break;
-
- case 190: // "boolean"
- value.YY_MOVE_OR_COPY< bool > (YY_MOVE (that.value));
- break;
-
- case 189: // "floating point"
- value.YY_MOVE_OR_COPY< double > (YY_MOVE (that.value));
- break;
-
- case 188: // "integer"
- value.YY_MOVE_OR_COPY< int64_t > (YY_MOVE (that.value));
- break;
-
- case 187: // "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.type_get ())
- {
- case 207: // value
- case 211: // map_value
- case 252: // ddns_replace_client_name_value
- case 274: // socket_type
- case 277: // outbound_interface_value
- case 299: // db_type
- case 386: // hr_mode
- case 541: // ncr_protocol_value
- value.move< ElementPtr > (YY_MOVE (that.value));
+ switch (that.type_get ())
+ {
+ case 211: // value
+ case 215: // map_value
+ case 256: // ddns_replace_client_name_value
+ case 278: // socket_type
+ case 281: // outbound_interface_value
+ case 303: // db_type
+ case 397: // hr_mode
+ case 552: // ncr_protocol_value
+ value.move< ElementPtr > (that.value);
break;
- case 190: // "boolean"
- value.move< bool > (YY_MOVE (that.value));
+ case 194: // "boolean"
+ value.move< bool > (that.value);
break;
- case 189: // "floating point"
- value.move< double > (YY_MOVE (that.value));
+ case 193: // "floating point"
+ value.move< double > (that.value);
break;
- case 188: // "integer"
- value.move< int64_t > (YY_MOVE (that.value));
+ case 192: // "integer"
+ value.move< int64_t > (that.value);
break;
- case 187: // "constant string"
- value.move< std::string > (YY_MOVE (that.value));
+ case 191: // "constant string"
+ value.move< std::string > (that.value);
break;
default:
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.type_get ())
- {
- case 207: // value
- case 211: // map_value
- case 252: // ddns_replace_client_name_value
- case 274: // socket_type
- case 277: // outbound_interface_value
- case 299: // db_type
- case 386: // hr_mode
- case 541: // ncr_protocol_value
+ switch (that.type_get ())
+ {
+ case 211: // value
+ case 215: // map_value
+ case 256: // ddns_replace_client_name_value
+ case 278: // socket_type
+ case 281: // outbound_interface_value
+ case 303: // db_type
+ case 397: // hr_mode
+ case 552: // ncr_protocol_value
value.copy< ElementPtr > (that.value);
break;
- case 190: // "boolean"
+ case 194: // "boolean"
value.copy< bool > (that.value);
break;
- case 189: // "floating point"
+ case 193: // "floating point"
value.copy< double > (that.value);
break;
- case 188: // "integer"
+ case 192: // "integer"
value.copy< int64_t > (that.value);
break;
- case 187: // "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.type_get ())
- {
- case 207: // value
- case 211: // map_value
- case 252: // ddns_replace_client_name_value
- case 274: // socket_type
- case 277: // outbound_interface_value
- case 299: // db_type
- case 386: // hr_mode
- case 541: // ncr_protocol_value
- value.move< ElementPtr > (that.value);
- break;
-
- case 190: // "boolean"
- value.move< bool > (that.value);
- break;
-
- case 189: // "floating point"
- value.move< double > (that.value);
- break;
-
- case 188: // "integer"
- value.move< int64_t > (that.value);
- break;
-
- case 187: // "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
{
std::ostream& yyoutput = yyo;
YYUSE (yyoutput);
symbol_number_type yytype = yysym.type_get ();
-#if defined __GNUC__ && ! defined __clang__ && ! defined __ICC && __GNUC__ * 100 + __GNUC_MINOR__ <= 408
// Avoid a (spurious) G++ 4.8 warning about "array subscript is
// below array bounds".
if (yysym.empty ())
std::abort ();
-#endif
yyo << (yytype < yyntokens_ ? "token" : "nterm")
<< ' ' << yytname_[yytype] << " ("
<< yysym.location << ": ";
switch (yytype)
{
- case 187: // "constant string"
-#line 269 "dhcp4_parser.yy"
- { yyoutput << yysym.value.template as < std::string > (); }
-#line 447 "dhcp4_parser.cc"
+ case 191: // "constant string"
+
+#line 274 "dhcp4_parser.yy" // lalr1.cc:636
+ { yyoutput << yysym.value.template as< std::string > (); }
+#line 366 "dhcp4_parser.cc" // lalr1.cc:636
break;
- case 188: // "integer"
-#line 269 "dhcp4_parser.yy"
- { yyoutput << yysym.value.template as < int64_t > (); }
-#line 453 "dhcp4_parser.cc"
+ case 192: // "integer"
+
+#line 274 "dhcp4_parser.yy" // lalr1.cc:636
+ { yyoutput << yysym.value.template as< int64_t > (); }
+#line 373 "dhcp4_parser.cc" // lalr1.cc:636
break;
- case 189: // "floating point"
-#line 269 "dhcp4_parser.yy"
- { yyoutput << yysym.value.template as < double > (); }
-#line 459 "dhcp4_parser.cc"
+ case 193: // "floating point"
+
+#line 274 "dhcp4_parser.yy" // lalr1.cc:636
+ { yyoutput << yysym.value.template as< double > (); }
+#line 380 "dhcp4_parser.cc" // lalr1.cc:636
break;
- case 190: // "boolean"
-#line 269 "dhcp4_parser.yy"
- { yyoutput << yysym.value.template as < bool > (); }
-#line 465 "dhcp4_parser.cc"
+ case 194: // "boolean"
+
+#line 274 "dhcp4_parser.yy" // lalr1.cc:636
+ { yyoutput << yysym.value.template as< bool > (); }
+#line 387 "dhcp4_parser.cc" // lalr1.cc:636
break;
- case 207: // value
-#line 269 "dhcp4_parser.yy"
- { yyoutput << yysym.value.template as < ElementPtr > (); }
-#line 471 "dhcp4_parser.cc"
+ case 211: // value
+
+#line 274 "dhcp4_parser.yy" // lalr1.cc:636
+ { yyoutput << yysym.value.template as< ElementPtr > (); }
+#line 394 "dhcp4_parser.cc" // lalr1.cc:636
break;
- case 211: // map_value
-#line 269 "dhcp4_parser.yy"
- { yyoutput << yysym.value.template as < ElementPtr > (); }
-#line 477 "dhcp4_parser.cc"
+ case 215: // map_value
+
+#line 274 "dhcp4_parser.yy" // lalr1.cc:636
+ { yyoutput << yysym.value.template as< ElementPtr > (); }
+#line 401 "dhcp4_parser.cc" // lalr1.cc:636
break;
- case 252: // ddns_replace_client_name_value
-#line 269 "dhcp4_parser.yy"
- { yyoutput << yysym.value.template as < ElementPtr > (); }
-#line 483 "dhcp4_parser.cc"
+ case 256: // ddns_replace_client_name_value
+
+#line 274 "dhcp4_parser.yy" // lalr1.cc:636
+ { yyoutput << yysym.value.template as< ElementPtr > (); }
+#line 408 "dhcp4_parser.cc" // lalr1.cc:636
break;
- case 274: // socket_type
-#line 269 "dhcp4_parser.yy"
- { yyoutput << yysym.value.template as < ElementPtr > (); }
-#line 489 "dhcp4_parser.cc"
+ case 278: // socket_type
+
+#line 274 "dhcp4_parser.yy" // lalr1.cc:636
+ { yyoutput << yysym.value.template as< ElementPtr > (); }
+#line 415 "dhcp4_parser.cc" // lalr1.cc:636
break;
- case 277: // outbound_interface_value
-#line 269 "dhcp4_parser.yy"
- { yyoutput << yysym.value.template as < ElementPtr > (); }
-#line 495 "dhcp4_parser.cc"
+ case 281: // outbound_interface_value
+
+#line 274 "dhcp4_parser.yy" // lalr1.cc:636
+ { yyoutput << yysym.value.template as< ElementPtr > (); }
+#line 422 "dhcp4_parser.cc" // lalr1.cc:636
break;
- case 299: // db_type
-#line 269 "dhcp4_parser.yy"
- { yyoutput << yysym.value.template as < ElementPtr > (); }
-#line 501 "dhcp4_parser.cc"
+ case 303: // db_type
+
+#line 274 "dhcp4_parser.yy" // lalr1.cc:636
+ { yyoutput << yysym.value.template as< ElementPtr > (); }
+#line 429 "dhcp4_parser.cc" // lalr1.cc:636
break;
- case 386: // hr_mode
-#line 269 "dhcp4_parser.yy"
- { yyoutput << yysym.value.template as < ElementPtr > (); }
-#line 507 "dhcp4_parser.cc"
+ case 397: // hr_mode
+
+#line 274 "dhcp4_parser.yy" // lalr1.cc:636
+ { yyoutput << yysym.value.template as< ElementPtr > (); }
+#line 436 "dhcp4_parser.cc" // lalr1.cc:636
break;
- case 541: // ncr_protocol_value
-#line 269 "dhcp4_parser.yy"
- { yyoutput << yysym.value.template as < ElementPtr > (); }
-#line 513 "dhcp4_parser.cc"
+ case 552: // ncr_protocol_value
+
+#line 274 "dhcp4_parser.yy" // lalr1.cc:636
+ { yyoutput << yysym.value.template as< ElementPtr > (); }
+#line 443 "dhcp4_parser.cc" // lalr1.cc:636
break;
+
default:
break;
}
}
#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;
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';
+ 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;
if (yyla.empty ())
{
YYCDEBUG << "Reading a token: ";
-#if YY_EXCEPTIONS
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);
to detect an error, take that action. */
yyn += yyla.type_get ();
if (yyn < 0 || yylast_ < yyn || yycheck_[yyn] != yyla.type_get ())
- {
- goto yydefault;
- }
+ 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 207: // value
- case 211: // map_value
- case 252: // ddns_replace_client_name_value
- case 274: // socket_type
- case 277: // outbound_interface_value
- case 299: // db_type
- case 386: // hr_mode
- case 541: // ncr_protocol_value
- yylhs.value.emplace< ElementPtr > ();
+ switch (yyr1_[yyn])
+ {
+ case 211: // value
+ case 215: // map_value
+ case 256: // ddns_replace_client_name_value
+ case 278: // socket_type
+ case 281: // outbound_interface_value
+ case 303: // db_type
+ case 397: // hr_mode
+ case 552: // ncr_protocol_value
+ yylhs.value.build< ElementPtr > ();
break;
- case 190: // "boolean"
- yylhs.value.emplace< bool > ();
+ case 194: // "boolean"
+ yylhs.value.build< bool > ();
break;
- case 189: // "floating point"
- yylhs.value.emplace< double > ();
+ case 193: // "floating point"
+ yylhs.value.build< double > ();
break;
- case 188: // "integer"
- yylhs.value.emplace< int64_t > ();
+ case 192: // "integer"
+ yylhs.value.build< int64_t > ();
break;
- case 187: // "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:
-#line 278 "dhcp4_parser.yy"
- { ctx.ctx_ = ctx.NO_KEYWORD; }
-#line 781 "dhcp4_parser.cc"
+#line 283 "dhcp4_parser.yy" // lalr1.cc:859
+ { ctx.ctx_ = ctx.NO_KEYWORD; }
+#line 690 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 4:
-#line 279 "dhcp4_parser.yy"
- { ctx.ctx_ = ctx.CONFIG; }
-#line 787 "dhcp4_parser.cc"
+#line 284 "dhcp4_parser.yy" // lalr1.cc:859
+ { ctx.ctx_ = ctx.CONFIG; }
+#line 696 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 6:
-#line 280 "dhcp4_parser.yy"
- { ctx.ctx_ = ctx.DHCP4; }
-#line 793 "dhcp4_parser.cc"
+#line 285 "dhcp4_parser.yy" // lalr1.cc:859
+ { ctx.ctx_ = ctx.DHCP4; }
+#line 702 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 8:
-#line 281 "dhcp4_parser.yy"
- { ctx.ctx_ = ctx.INTERFACES_CONFIG; }
-#line 799 "dhcp4_parser.cc"
+#line 286 "dhcp4_parser.yy" // lalr1.cc:859
+ { ctx.ctx_ = ctx.INTERFACES_CONFIG; }
+#line 708 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 10:
-#line 282 "dhcp4_parser.yy"
- { ctx.ctx_ = ctx.SUBNET4; }
-#line 805 "dhcp4_parser.cc"
+#line 287 "dhcp4_parser.yy" // lalr1.cc:859
+ { ctx.ctx_ = ctx.SUBNET4; }
+#line 714 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 12:
-#line 283 "dhcp4_parser.yy"
- { ctx.ctx_ = ctx.POOLS; }
-#line 811 "dhcp4_parser.cc"
+#line 288 "dhcp4_parser.yy" // lalr1.cc:859
+ { ctx.ctx_ = ctx.POOLS; }
+#line 720 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 14:
-#line 284 "dhcp4_parser.yy"
- { ctx.ctx_ = ctx.RESERVATIONS; }
-#line 817 "dhcp4_parser.cc"
+#line 289 "dhcp4_parser.yy" // lalr1.cc:859
+ { ctx.ctx_ = ctx.RESERVATIONS; }
+#line 726 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 16:
-#line 285 "dhcp4_parser.yy"
- { ctx.ctx_ = ctx.DHCP4; }
-#line 823 "dhcp4_parser.cc"
+#line 290 "dhcp4_parser.yy" // lalr1.cc:859
+ { ctx.ctx_ = ctx.DHCP4; }
+#line 732 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 18:
-#line 286 "dhcp4_parser.yy"
- { ctx.ctx_ = ctx.OPTION_DEF; }
-#line 829 "dhcp4_parser.cc"
+#line 291 "dhcp4_parser.yy" // lalr1.cc:859
+ { ctx.ctx_ = ctx.OPTION_DEF; }
+#line 738 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 20:
-#line 287 "dhcp4_parser.yy"
- { ctx.ctx_ = ctx.OPTION_DATA; }
-#line 835 "dhcp4_parser.cc"
+#line 292 "dhcp4_parser.yy" // lalr1.cc:859
+ { ctx.ctx_ = ctx.OPTION_DATA; }
+#line 744 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 22:
-#line 288 "dhcp4_parser.yy"
- { ctx.ctx_ = ctx.HOOKS_LIBRARIES; }
-#line 841 "dhcp4_parser.cc"
+#line 293 "dhcp4_parser.yy" // lalr1.cc:859
+ { ctx.ctx_ = ctx.HOOKS_LIBRARIES; }
+#line 750 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 24:
-#line 289 "dhcp4_parser.yy"
- { ctx.ctx_ = ctx.DHCP_DDNS; }
-#line 847 "dhcp4_parser.cc"
+#line 294 "dhcp4_parser.yy" // lalr1.cc:859
+ { ctx.ctx_ = ctx.DHCP_DDNS; }
+#line 756 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 26:
-#line 290 "dhcp4_parser.yy"
- { ctx.ctx_ = ctx.LOGGING; }
-#line 853 "dhcp4_parser.cc"
+#line 295 "dhcp4_parser.yy" // lalr1.cc:859
+ { ctx.ctx_ = ctx.LOGGING; }
+#line 762 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 28:
-#line 291 "dhcp4_parser.yy"
- { ctx.ctx_ = ctx.CONFIG_CONTROL; }
-#line 859 "dhcp4_parser.cc"
+#line 296 "dhcp4_parser.yy" // lalr1.cc:859
+ { ctx.ctx_ = ctx.CONFIG_CONTROL; }
+#line 768 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 30:
-#line 299 "dhcp4_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); }
-#line 865 "dhcp4_parser.cc"
+#line 304 "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 774 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 31:
-#line 300 "dhcp4_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location))); }
-#line 871 "dhcp4_parser.cc"
+#line 305 "dhcp4_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new DoubleElement(yystack_[0].value.as< double > (), ctx.loc2pos(yystack_[0].location))); }
+#line 780 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 32:
-#line 301 "dhcp4_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); }
-#line 877 "dhcp4_parser.cc"
+#line 306 "dhcp4_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); }
+#line 786 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 33:
-#line 302 "dhcp4_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); }
-#line 883 "dhcp4_parser.cc"
+#line 307 "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 792 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 34:
-#line 303 "dhcp4_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new NullElement(ctx.loc2pos(yystack_[0].location))); }
-#line 889 "dhcp4_parser.cc"
+#line 308 "dhcp4_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new NullElement(ctx.loc2pos(yystack_[0].location))); }
+#line 798 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 35:
-#line 304 "dhcp4_parser.yy"
- { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); }
-#line 895 "dhcp4_parser.cc"
+#line 309 "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 36:
-#line 305 "dhcp4_parser.yy"
- { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); }
-#line 901 "dhcp4_parser.cc"
+#line 310 "dhcp4_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); }
+#line 810 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 37:
-#line 308 "dhcp4_parser.yy"
- {
+#line 313 "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 910 "dhcp4_parser.cc"
+#line 819 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 38:
-#line 313 "dhcp4_parser.yy"
- {
+#line 318 "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 921 "dhcp4_parser.cc"
+#line 830 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 39:
-#line 318 "dhcp4_parser.yy"
- {
+#line 323 "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 931 "dhcp4_parser.cc"
+#line 840 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 40:
-#line 324 "dhcp4_parser.yy"
- { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); }
-#line 937 "dhcp4_parser.cc"
+#line 329 "dhcp4_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); }
+#line 846 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 43:
-#line 331 "dhcp4_parser.yy"
- {
+#line 336 "dhcp4_parser.yy" // lalr1.cc:859
+ {
// map containing a single entry
- ctx.stack_.back()->set(yystack_[2].value.as < std::string > (), yystack_[0].value.as < ElementPtr > ());
+ ctx.stack_.back()->set(yystack_[2].value.as< std::string > (), yystack_[0].value.as< ElementPtr > ());
}
-#line 946 "dhcp4_parser.cc"
+#line 855 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 44:
-#line 335 "dhcp4_parser.yy"
- {
+#line 340 "dhcp4_parser.yy" // lalr1.cc:859
+ {
// map consisting of a shorter map followed by
// comma and string:value
- ctx.stack_.back()->set(yystack_[2].value.as < std::string > (), yystack_[0].value.as < ElementPtr > ());
+ ctx.stack_.back()->set(yystack_[2].value.as< std::string > (), yystack_[0].value.as< ElementPtr > ());
}
-#line 956 "dhcp4_parser.cc"
+#line 865 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 45:
-#line 342 "dhcp4_parser.yy"
- {
+#line 347 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.push_back(l);
}
-#line 965 "dhcp4_parser.cc"
+#line 874 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 46:
-#line 345 "dhcp4_parser.yy"
- {
+#line 350 "dhcp4_parser.yy" // lalr1.cc:859
+ {
// list parsing complete. Put any sanity checking here
}
-#line 973 "dhcp4_parser.cc"
+#line 882 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 49:
-#line 353 "dhcp4_parser.yy"
- {
+#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 982 "dhcp4_parser.cc"
+#line 891 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 50:
-#line 357 "dhcp4_parser.yy"
- {
+#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 991 "dhcp4_parser.cc"
+#line 900 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 51:
-#line 364 "dhcp4_parser.yy"
- {
+#line 369 "dhcp4_parser.yy" // lalr1.cc:859
+ {
// List parsing about to start
}
-#line 999 "dhcp4_parser.cc"
+#line 908 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 52:
-#line 366 "dhcp4_parser.yy"
- {
+#line 371 "dhcp4_parser.yy" // lalr1.cc:859
+ {
// list parsing complete. Put any sanity checking here
//ctx.stack_.pop_back();
}
-#line 1008 "dhcp4_parser.cc"
+#line 917 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 55:
-#line 375 "dhcp4_parser.yy"
- {
- ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+#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 1017 "dhcp4_parser.cc"
+#line 926 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 56:
-#line 379 "dhcp4_parser.yy"
- {
- ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+#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 1026 "dhcp4_parser.cc"
+#line 935 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 57:
-#line 390 "dhcp4_parser.yy"
- {
+#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 1037 "dhcp4_parser.cc"
+#line 946 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 58:
-#line 400 "dhcp4_parser.yy"
- {
+#line 405 "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 1048 "dhcp4_parser.cc"
+#line 957 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 59:
-#line 405 "dhcp4_parser.yy"
- {
+#line 410 "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 1061 "dhcp4_parser.cc"
+#line 970 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 68:
-#line 429 "dhcp4_parser.yy"
- {
+#line 434 "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);
ctx.enter(ctx.DHCP4);
}
-#line 1074 "dhcp4_parser.cc"
+#line 983 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 69:
-#line 436 "dhcp4_parser.yy"
- {
+#line 441 "dhcp4_parser.yy" // lalr1.cc:859
+ {
// No global parameter is required
ctx.stack_.pop_back();
ctx.leave();
}
-#line 1084 "dhcp4_parser.cc"
+#line 993 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 70:
-#line 444 "dhcp4_parser.yy"
- {
+#line 449 "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 1094 "dhcp4_parser.cc"
+#line 1003 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 71:
-#line 448 "dhcp4_parser.yy"
- {
+#line 453 "dhcp4_parser.yy" // lalr1.cc:859
+ {
// No global parameter is required
// parsing completed
}
-#line 1103 "dhcp4_parser.cc"
+#line 1012 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 125:
-#line 512 "dhcp4_parser.yy"
- {
- ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ case 126:
+#line 518 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("valid-lifetime", prf);
}
-#line 1112 "dhcp4_parser.cc"
+#line 1021 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 126:
-#line 517 "dhcp4_parser.yy"
- {
- ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ case 127:
+#line 523 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("min-valid-lifetime", prf);
}
-#line 1121 "dhcp4_parser.cc"
+#line 1030 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 127:
-#line 522 "dhcp4_parser.yy"
- {
- ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ case 128:
+#line 528 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("max-valid-lifetime", prf);
}
-#line 1130 "dhcp4_parser.cc"
+#line 1039 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 128:
-#line 527 "dhcp4_parser.yy"
- {
- ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ case 129:
+#line 533 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("renew-timer", prf);
}
-#line 1139 "dhcp4_parser.cc"
+#line 1048 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 129:
-#line 532 "dhcp4_parser.yy"
- {
- ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ case 130:
+#line 538 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("rebind-timer", prf);
}
-#line 1148 "dhcp4_parser.cc"
+#line 1057 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 130:
-#line 537 "dhcp4_parser.yy"
- {
- ElementPtr ctt(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ case 131:
+#line 543 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr ctt(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("calculate-tee-times", ctt);
}
-#line 1157 "dhcp4_parser.cc"
+#line 1066 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 131:
-#line 542 "dhcp4_parser.yy"
- {
- ElementPtr t1(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location)));
+ case 132:
+#line 548 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr t1(new DoubleElement(yystack_[0].value.as< double > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("t1-percent", t1);
}
-#line 1166 "dhcp4_parser.cc"
+#line 1075 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 132:
-#line 547 "dhcp4_parser.yy"
- {
- ElementPtr t2(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location)));
+ case 133:
+#line 553 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr t2(new DoubleElement(yystack_[0].value.as< double > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("t2-percent", t2);
}
-#line 1175 "dhcp4_parser.cc"
+#line 1084 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 133:
-#line 552 "dhcp4_parser.yy"
- {
- ElementPtr dpp(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ case 134:
+#line 558 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr dpp(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("decline-probation-period", dpp);
}
-#line 1184 "dhcp4_parser.cc"
+#line 1093 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 134:
-#line 557 "dhcp4_parser.yy"
- {
+ case 135:
+#line 563 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1192 "dhcp4_parser.cc"
+#line 1101 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 135:
-#line 559 "dhcp4_parser.yy"
- {
- ElementPtr stag(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 136:
+#line 565 "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 1202 "dhcp4_parser.cc"
+#line 1111 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 136:
-#line 565 "dhcp4_parser.yy"
- {
- ElementPtr echo(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ case 137:
+#line 571 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr echo(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("echo-client-id", echo);
}
-#line 1211 "dhcp4_parser.cc"
+#line 1120 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 137:
-#line 570 "dhcp4_parser.yy"
- {
- ElementPtr match(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ case 138:
+#line 576 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr match(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("match-client-id", match);
}
-#line 1220 "dhcp4_parser.cc"
+#line 1129 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 138:
-#line 575 "dhcp4_parser.yy"
- {
- ElementPtr prf(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ case 139:
+#line 581 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ 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 1138 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 139:
-#line 580 "dhcp4_parser.yy"
- {
- ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ case 140:
+#line 586 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("ddns-send-updates", b);
}
-#line 1238 "dhcp4_parser.cc"
+#line 1147 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 140:
-#line 585 "dhcp4_parser.yy"
- {
- ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ case 141:
+#line 591 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("ddns-override-no-update", b);
}
-#line 1247 "dhcp4_parser.cc"
+#line 1156 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 141:
-#line 590 "dhcp4_parser.yy"
- {
- ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ case 142:
+#line 596 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("ddns-override-client-update", b);
}
-#line 1256 "dhcp4_parser.cc"
+#line 1165 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 142:
-#line 595 "dhcp4_parser.yy"
- {
+ case 143:
+#line 601 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.REPLACE_CLIENT_NAME);
}
-#line 1264 "dhcp4_parser.cc"
+#line 1173 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 143:
-#line 597 "dhcp4_parser.yy"
- {
- ctx.stack_.back()->set("ddns-replace-client-name", yystack_[0].value.as < ElementPtr > ());
+ case 144:
+#line 603 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ctx.stack_.back()->set("ddns-replace-client-name", yystack_[0].value.as< ElementPtr > ());
ctx.leave();
}
-#line 1273 "dhcp4_parser.cc"
- break;
-
- case 144:
-#line 603 "dhcp4_parser.yy"
- {
- yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("when-present", ctx.loc2pos(yystack_[0].location)));
- }
-#line 1281 "dhcp4_parser.cc"
+#line 1182 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 145:
-#line 606 "dhcp4_parser.yy"
- {
- yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("never", ctx.loc2pos(yystack_[0].location)));
+#line 609 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("when-present", ctx.loc2pos(yystack_[0].location)));
}
-#line 1289 "dhcp4_parser.cc"
+#line 1190 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 146:
-#line 609 "dhcp4_parser.yy"
- {
- yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("always", ctx.loc2pos(yystack_[0].location)));
+#line 612 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("never", ctx.loc2pos(yystack_[0].location)));
}
-#line 1297 "dhcp4_parser.cc"
+#line 1198 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 147:
-#line 612 "dhcp4_parser.yy"
- {
- yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("when-not-present", ctx.loc2pos(yystack_[0].location)));
+#line 615 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("always", ctx.loc2pos(yystack_[0].location)));
}
-#line 1305 "dhcp4_parser.cc"
+#line 1206 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 148:
-#line 615 "dhcp4_parser.yy"
- {
+#line 618 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("when-not-present", ctx.loc2pos(yystack_[0].location)));
+ }
+#line 1214 "dhcp4_parser.cc" // lalr1.cc:859
+ break;
+
+ case 149:
+#line 621 "dhcp4_parser.yy" // lalr1.cc:859
+ {
error(yystack_[0].location, "boolean values for the replace-client-name are "
"no longer supported");
}
-#line 1314 "dhcp4_parser.cc"
+#line 1223 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 149:
-#line 621 "dhcp4_parser.yy"
- {
+ case 150:
+#line 627 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1322 "dhcp4_parser.cc"
+#line 1231 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 150:
-#line 623 "dhcp4_parser.yy"
- {
- ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 151:
+#line 629 "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 1332 "dhcp4_parser.cc"
+#line 1241 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 151:
-#line 629 "dhcp4_parser.yy"
- {
+ case 152:
+#line 635 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1340 "dhcp4_parser.cc"
+#line 1249 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 152:
-#line 631 "dhcp4_parser.yy"
- {
- ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 153:
+#line 637 "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 1350 "dhcp4_parser.cc"
+#line 1259 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 153:
-#line 637 "dhcp4_parser.yy"
- {
+ case 154:
+#line 643 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1358 "dhcp4_parser.cc"
+#line 1267 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 154:
-#line 639 "dhcp4_parser.yy"
- {
- ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 155:
+#line 645 "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 1368 "dhcp4_parser.cc"
+#line 1277 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 155:
-#line 645 "dhcp4_parser.yy"
- {
+ case 156:
+#line 651 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1376 "dhcp4_parser.cc"
+#line 1285 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 156:
-#line 647 "dhcp4_parser.yy"
- {
- ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 157:
+#line 653 "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 1386 "dhcp4_parser.cc"
+#line 1295 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 157:
-#line 653 "dhcp4_parser.yy"
- {
- ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ case 158:
+#line 659 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("store-extended-info", b);
}
-#line 1395 "dhcp4_parser.cc"
+#line 1304 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 158:
-#line 658 "dhcp4_parser.yy"
- {
- ElementPtr count(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ case 159:
+#line 664 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ 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 1404 "dhcp4_parser.cc"
+#line 1313 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 159:
-#line 663 "dhcp4_parser.yy"
- {
- ElementPtr age(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ case 160:
+#line 669 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ 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 1413 "dhcp4_parser.cc"
+#line 1322 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 160:
-#line 668 "dhcp4_parser.yy"
- {
+ case 161:
+#line 674 "dhcp4_parser.yy" // lalr1.cc:859
+ {
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 1424 "dhcp4_parser.cc"
+#line 1333 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 161:
-#line 673 "dhcp4_parser.yy"
- {
+ case 162:
+#line 679 "dhcp4_parser.yy" // lalr1.cc:859
+ {
// No interfaces config param is required
ctx.stack_.pop_back();
ctx.leave();
}
-#line 1434 "dhcp4_parser.cc"
+#line 1343 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 171:
-#line 692 "dhcp4_parser.yy"
- {
+ case 172:
+#line 698 "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 1444 "dhcp4_parser.cc"
+#line 1353 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 172:
-#line 696 "dhcp4_parser.yy"
- {
+ case 173:
+#line 702 "dhcp4_parser.yy" // lalr1.cc:859
+ {
// No interfaces config param is required
// parsing completed
}
-#line 1453 "dhcp4_parser.cc"
+#line 1362 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 173:
-#line 701 "dhcp4_parser.yy"
- {
+ case 174:
+#line 707 "dhcp4_parser.yy" // lalr1.cc:859
+ {
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 1464 "dhcp4_parser.cc"
+#line 1373 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 174:
-#line 706 "dhcp4_parser.yy"
- {
+ case 175:
+#line 712 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 1473 "dhcp4_parser.cc"
+#line 1382 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 175:
-#line 711 "dhcp4_parser.yy"
- {
+ case 176:
+#line 717 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.DHCP_SOCKET_TYPE);
}
-#line 1481 "dhcp4_parser.cc"
+#line 1390 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 176:
-#line 713 "dhcp4_parser.yy"
- {
- ctx.stack_.back()->set("dhcp-socket-type", yystack_[0].value.as < ElementPtr > ());
+ case 177:
+#line 719 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ctx.stack_.back()->set("dhcp-socket-type", yystack_[0].value.as< ElementPtr > ());
ctx.leave();
}
-#line 1490 "dhcp4_parser.cc"
- break;
-
- case 177:
-#line 718 "dhcp4_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("raw", ctx.loc2pos(yystack_[0].location))); }
-#line 1496 "dhcp4_parser.cc"
+#line 1399 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 178:
-#line 719 "dhcp4_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("udp", ctx.loc2pos(yystack_[0].location))); }
-#line 1502 "dhcp4_parser.cc"
+#line 724 "dhcp4_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("raw", ctx.loc2pos(yystack_[0].location))); }
+#line 1405 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 179:
-#line 722 "dhcp4_parser.yy"
- {
- ctx.enter(ctx.OUTBOUND_INTERFACE);
-}
-#line 1510 "dhcp4_parser.cc"
+#line 725 "dhcp4_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("udp", ctx.loc2pos(yystack_[0].location))); }
+#line 1411 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 180:
-#line 724 "dhcp4_parser.yy"
- {
- ctx.stack_.back()->set("outbound-interface", yystack_[0].value.as < ElementPtr > ());
- ctx.leave();
+#line 728 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ctx.enter(ctx.OUTBOUND_INTERFACE);
}
-#line 1519 "dhcp4_parser.cc"
+#line 1419 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 181:
-#line 729 "dhcp4_parser.yy"
- {
- yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("same-as-inbound", ctx.loc2pos(yystack_[0].location)));
+#line 730 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ctx.stack_.back()->set("outbound-interface", yystack_[0].value.as< ElementPtr > ());
+ ctx.leave();
}
-#line 1527 "dhcp4_parser.cc"
+#line 1428 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 182:
-#line 731 "dhcp4_parser.yy"
- {
- yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("use-routing", ctx.loc2pos(yystack_[0].location)));
- }
-#line 1535 "dhcp4_parser.cc"
- break;
+#line 735 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("same-as-inbound", ctx.loc2pos(yystack_[0].location)));
+}
+#line 1436 "dhcp4_parser.cc" // lalr1.cc:859
+ break;
case 183:
-#line 735 "dhcp4_parser.yy"
- {
- ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+#line 737 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("use-routing", ctx.loc2pos(yystack_[0].location)));
+ }
+#line 1444 "dhcp4_parser.cc" // lalr1.cc:859
+ break;
+
+ case 184:
+#line 741 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("re-detect", b);
}
-#line 1544 "dhcp4_parser.cc"
+#line 1453 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 184:
-#line 741 "dhcp4_parser.yy"
- {
+ case 185:
+#line 747 "dhcp4_parser.yy" // lalr1.cc:859
+ {
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 1555 "dhcp4_parser.cc"
+#line 1464 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 185:
-#line 746 "dhcp4_parser.yy"
- {
+ case 186:
+#line 752 "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 1566 "dhcp4_parser.cc"
+#line 1475 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 186:
-#line 753 "dhcp4_parser.yy"
- {
+ case 187:
+#line 759 "dhcp4_parser.yy" // lalr1.cc:859
+ {
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 1577 "dhcp4_parser.cc"
+#line 1486 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 187:
-#line 758 "dhcp4_parser.yy"
- {
+ case 188:
+#line 764 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 1586 "dhcp4_parser.cc"
+#line 1495 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 191:
-#line 768 "dhcp4_parser.yy"
- {
+ case 192:
+#line 774 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1594 "dhcp4_parser.cc"
+#line 1503 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 192:
-#line 770 "dhcp4_parser.yy"
- {
-
- 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)));
+ case 193:
+#line 776 "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)));
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 1614 "dhcp4_parser.cc"
+#line 1523 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 193:
-#line 786 "dhcp4_parser.yy"
- {
+ case 194:
+#line 792 "dhcp4_parser.yy" // lalr1.cc:859
+ {
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 1625 "dhcp4_parser.cc"
+#line 1534 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 194:
-#line 791 "dhcp4_parser.yy"
- {
+ case 195:
+#line 797 "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 1636 "dhcp4_parser.cc"
+#line 1545 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 195:
-#line 798 "dhcp4_parser.yy"
- {
+ case 196:
+#line 804 "dhcp4_parser.yy" // lalr1.cc:859
+ {
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 1647 "dhcp4_parser.cc"
+#line 1556 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 196:
-#line 803 "dhcp4_parser.yy"
- {
+ case 197:
+#line 809 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 1656 "dhcp4_parser.cc"
+#line 1565 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 201:
-#line 816 "dhcp4_parser.yy"
- {
+ case 202:
+#line 822 "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 1666 "dhcp4_parser.cc"
+#line 1575 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 202:
-#line 820 "dhcp4_parser.yy"
- {
+ case 203:
+#line 826 "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 1676 "dhcp4_parser.cc"
+#line 1585 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 226:
-#line 853 "dhcp4_parser.yy"
- {
+ case 227:
+#line 859 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.DATABASE_TYPE);
}
-#line 1684 "dhcp4_parser.cc"
+#line 1593 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 227:
-#line 855 "dhcp4_parser.yy"
- {
- ctx.stack_.back()->set("type", yystack_[0].value.as < ElementPtr > ());
+ case 228:
+#line 861 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ctx.stack_.back()->set("type", yystack_[0].value.as< ElementPtr > ());
ctx.leave();
}
-#line 1693 "dhcp4_parser.cc"
- break;
-
- case 228:
-#line 860 "dhcp4_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("memfile", ctx.loc2pos(yystack_[0].location))); }
-#line 1699 "dhcp4_parser.cc"
+#line 1602 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 229:
-#line 861 "dhcp4_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("mysql", ctx.loc2pos(yystack_[0].location))); }
-#line 1705 "dhcp4_parser.cc"
+#line 866 "dhcp4_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("memfile", ctx.loc2pos(yystack_[0].location))); }
+#line 1608 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 230:
-#line 862 "dhcp4_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("postgresql", ctx.loc2pos(yystack_[0].location))); }
-#line 1711 "dhcp4_parser.cc"
+#line 867 "dhcp4_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("mysql", ctx.loc2pos(yystack_[0].location))); }
+#line 1614 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 231:
-#line 863 "dhcp4_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("cql", ctx.loc2pos(yystack_[0].location))); }
-#line 1717 "dhcp4_parser.cc"
+#line 868 "dhcp4_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("postgresql", ctx.loc2pos(yystack_[0].location))); }
+#line 1620 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 232:
-#line 866 "dhcp4_parser.yy"
- {
+#line 869 "dhcp4_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("cql", ctx.loc2pos(yystack_[0].location))); }
+#line 1626 "dhcp4_parser.cc" // lalr1.cc:859
+ break;
+
+ case 233:
+#line 872 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1725 "dhcp4_parser.cc"
+#line 1634 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 233:
-#line 868 "dhcp4_parser.yy"
- {
- ElementPtr user(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 234:
+#line 874 "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 1735 "dhcp4_parser.cc"
+#line 1644 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 234:
-#line 874 "dhcp4_parser.yy"
- {
+ case 235:
+#line 880 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1743 "dhcp4_parser.cc"
+#line 1652 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 235:
-#line 876 "dhcp4_parser.yy"
- {
- ElementPtr pwd(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 236:
+#line 882 "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 1753 "dhcp4_parser.cc"
+#line 1662 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 236:
-#line 882 "dhcp4_parser.yy"
- {
+ case 237:
+#line 888 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1761 "dhcp4_parser.cc"
+#line 1670 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 237:
-#line 884 "dhcp4_parser.yy"
- {
- ElementPtr h(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 238:
+#line 890 "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 1771 "dhcp4_parser.cc"
+#line 1680 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 238:
-#line 890 "dhcp4_parser.yy"
- {
- ElementPtr p(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ case 239:
+#line 896 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr p(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("port", p);
}
-#line 1780 "dhcp4_parser.cc"
+#line 1689 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 239:
-#line 895 "dhcp4_parser.yy"
- {
+ case 240:
+#line 901 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1788 "dhcp4_parser.cc"
+#line 1697 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 240:
-#line 897 "dhcp4_parser.yy"
- {
- ElementPtr name(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 241:
+#line 903 "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 1798 "dhcp4_parser.cc"
+#line 1707 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 241:
-#line 903 "dhcp4_parser.yy"
- {
- ElementPtr n(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ case 242:
+#line 909 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr n(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("persist", n);
}
-#line 1807 "dhcp4_parser.cc"
+#line 1716 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 242:
-#line 908 "dhcp4_parser.yy"
- {
- ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ case 243:
+#line 914 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr n(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("lfc-interval", n);
}
-#line 1816 "dhcp4_parser.cc"
+#line 1725 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 243:
-#line 913 "dhcp4_parser.yy"
- {
- ElementPtr n(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ case 244:
+#line 919 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr n(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("readonly", n);
}
-#line 1825 "dhcp4_parser.cc"
+#line 1734 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 244:
-#line 918 "dhcp4_parser.yy"
- {
- ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ case 245:
+#line 924 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr n(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("connect-timeout", n);
}
-#line 1834 "dhcp4_parser.cc"
+#line 1743 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 245:
-#line 923 "dhcp4_parser.yy"
- {
- ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ case 246:
+#line 929 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr n(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("request-timeout", n);
}
-#line 1843 "dhcp4_parser.cc"
+#line 1752 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 246:
-#line 928 "dhcp4_parser.yy"
- {
- ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ case 247:
+#line 934 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr n(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("tcp-keepalive", n);
}
-#line 1852 "dhcp4_parser.cc"
+#line 1761 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 247:
-#line 933 "dhcp4_parser.yy"
- {
- ElementPtr n(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ case 248:
+#line 939 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr n(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("tcp-nodelay", n);
}
-#line 1861 "dhcp4_parser.cc"
+#line 1770 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 248:
-#line 938 "dhcp4_parser.yy"
- {
+ case 249:
+#line 944 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1869 "dhcp4_parser.cc"
+#line 1778 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 249:
-#line 940 "dhcp4_parser.yy"
- {
- ElementPtr cp(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 250:
+#line 946 "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 1879 "dhcp4_parser.cc"
+#line 1788 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 250:
-#line 946 "dhcp4_parser.yy"
- {
+ case 251:
+#line 952 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1887 "dhcp4_parser.cc"
+#line 1796 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 251:
-#line 948 "dhcp4_parser.yy"
- {
- ElementPtr ks(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 252:
+#line 954 "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 1897 "dhcp4_parser.cc"
+#line 1806 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 252:
-#line 954 "dhcp4_parser.yy"
- {
+ case 253:
+#line 960 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1905 "dhcp4_parser.cc"
+#line 1814 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 253:
-#line 956 "dhcp4_parser.yy"
- {
- ElementPtr c(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 254:
+#line 962 "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 1915 "dhcp4_parser.cc"
+#line 1824 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 254:
-#line 962 "dhcp4_parser.yy"
- {
+ case 255:
+#line 968 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1923 "dhcp4_parser.cc"
+#line 1832 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 255:
-#line 964 "dhcp4_parser.yy"
- {
- ElementPtr c(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 256:
+#line 970 "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 1933 "dhcp4_parser.cc"
+#line 1842 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 256:
-#line 970 "dhcp4_parser.yy"
- {
- ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ case 257:
+#line 976 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr n(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("max-reconnect-tries", n);
}
-#line 1942 "dhcp4_parser.cc"
+#line 1851 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 257:
-#line 975 "dhcp4_parser.yy"
- {
- ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ case 258:
+#line 981 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr n(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("reconnect-wait-time", n);
}
-#line 1951 "dhcp4_parser.cc"
+#line 1860 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 258:
-#line 980 "dhcp4_parser.yy"
- {
- ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ case 259:
+#line 986 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr n(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("max-row-errors", n);
}
-#line 1960 "dhcp4_parser.cc"
+#line 1869 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 259:
-#line 986 "dhcp4_parser.yy"
- {
+ case 260:
+#line 992 "dhcp4_parser.yy" // lalr1.cc:859
+ {
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 1971 "dhcp4_parser.cc"
+#line 1880 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 260:
-#line 991 "dhcp4_parser.yy"
- {
+ case 261:
+#line 997 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 1980 "dhcp4_parser.cc"
+#line 1889 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 268:
-#line 1007 "dhcp4_parser.yy"
- {
+ case 269:
+#line 1013 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ElementPtr duid(new StringElement("duid", ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(duid);
}
-#line 1989 "dhcp4_parser.cc"
+#line 1898 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 269:
-#line 1012 "dhcp4_parser.yy"
- {
+ case 270:
+#line 1018 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ElementPtr hwaddr(new StringElement("hw-address", ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(hwaddr);
}
-#line 1998 "dhcp4_parser.cc"
+#line 1907 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 270:
-#line 1017 "dhcp4_parser.yy"
- {
+ case 271:
+#line 1023 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ElementPtr circuit(new StringElement("circuit-id", ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(circuit);
}
-#line 2007 "dhcp4_parser.cc"
+#line 1916 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 271:
-#line 1022 "dhcp4_parser.yy"
- {
+ case 272:
+#line 1028 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ElementPtr client(new StringElement("client-id", ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(client);
}
-#line 2016 "dhcp4_parser.cc"
+#line 1925 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 272:
-#line 1027 "dhcp4_parser.yy"
- {
+ case 273:
+#line 1033 "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 2025 "dhcp4_parser.cc"
+#line 1934 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 273:
-#line 1032 "dhcp4_parser.yy"
- {
+ case 274:
+#line 1040 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ 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 1945 "dhcp4_parser.cc" // lalr1.cc:859
+ break;
+
+ case 275:
+#line 1045 "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 1956 "dhcp4_parser.cc" // lalr1.cc:859
+ break;
+
+ case 284:
+#line 1064 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
+ ctx.stack_.back()->set("enable-multi-threading", b);
+}
+#line 1965 "dhcp4_parser.cc" // lalr1.cc:859
+ break;
+
+ case 285:
+#line 1069 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ctx.stack_.back()->set("thread-pool-size", prf);
+}
+#line 1974 "dhcp4_parser.cc" // lalr1.cc:859
+ break;
+
+ case 286:
+#line 1074 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ctx.stack_.back()->set("packet-queue-size", prf);
+}
+#line 1983 "dhcp4_parser.cc" // lalr1.cc:859
+ break;
+
+ case 287:
+#line 1079 "dhcp4_parser.yy" // lalr1.cc:859
+ {
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 2036 "dhcp4_parser.cc"
+#line 1994 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 274:
-#line 1037 "dhcp4_parser.yy"
- {
+ case 288:
+#line 1084 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 2045 "dhcp4_parser.cc"
+#line 2003 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 279:
-#line 1050 "dhcp4_parser.yy"
- {
+ case 293:
+#line 1097 "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 2055 "dhcp4_parser.cc"
+#line 2013 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 280:
-#line 1054 "dhcp4_parser.yy"
- {
+ case 294:
+#line 1101 "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 2065 "dhcp4_parser.cc"
+#line 2023 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 281:
-#line 1060 "dhcp4_parser.yy"
- {
+ case 295:
+#line 1107 "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 2075 "dhcp4_parser.cc"
+#line 2033 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 282:
-#line 1064 "dhcp4_parser.yy"
- {
+ case 296:
+#line 1111 "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 2085 "dhcp4_parser.cc"
+#line 2043 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 288:
-#line 1079 "dhcp4_parser.yy"
- {
+ case 302:
+#line 1126 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2093 "dhcp4_parser.cc"
+#line 2051 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 289:
-#line 1081 "dhcp4_parser.yy"
- {
- ElementPtr lib(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 303:
+#line 1128 "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 2103 "dhcp4_parser.cc"
+#line 2061 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 290:
-#line 1087 "dhcp4_parser.yy"
- {
+ case 304:
+#line 1134 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2111 "dhcp4_parser.cc"
+#line 2069 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 291:
-#line 1089 "dhcp4_parser.yy"
- {
- ctx.stack_.back()->set("parameters", yystack_[0].value.as < ElementPtr > ());
+ case 305:
+#line 1136 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ctx.stack_.back()->set("parameters", yystack_[0].value.as< ElementPtr > ());
ctx.leave();
}
-#line 2120 "dhcp4_parser.cc"
+#line 2078 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 292:
-#line 1095 "dhcp4_parser.yy"
- {
+ case 306:
+#line 1142 "dhcp4_parser.yy" // lalr1.cc:859
+ {
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 2131 "dhcp4_parser.cc"
+#line 2089 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 293:
-#line 1100 "dhcp4_parser.yy"
- {
+ case 307:
+#line 1147 "dhcp4_parser.yy" // lalr1.cc:859
+ {
// No expired lease parameter is required
ctx.stack_.pop_back();
ctx.leave();
}
-#line 2141 "dhcp4_parser.cc"
+#line 2099 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 302:
-#line 1118 "dhcp4_parser.yy"
- {
- ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ case 316:
+#line 1165 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ 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 2150 "dhcp4_parser.cc"
+#line 2108 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 303:
-#line 1123 "dhcp4_parser.yy"
- {
- ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ case 317:
+#line 1170 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ 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 2159 "dhcp4_parser.cc"
+#line 2117 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 304:
-#line 1128 "dhcp4_parser.yy"
- {
- ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ case 318:
+#line 1175 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr value(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("hold-reclaimed-time", value);
}
-#line 2168 "dhcp4_parser.cc"
+#line 2126 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 305:
-#line 1133 "dhcp4_parser.yy"
- {
- ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ case 319:
+#line 1180 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr value(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("max-reclaim-leases", value);
}
-#line 2177 "dhcp4_parser.cc"
+#line 2135 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 306:
-#line 1138 "dhcp4_parser.yy"
- {
- ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ case 320:
+#line 1185 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr value(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("max-reclaim-time", value);
}
-#line 2186 "dhcp4_parser.cc"
+#line 2144 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 307:
-#line 1143 "dhcp4_parser.yy"
- {
- ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ case 321:
+#line 1190 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr value(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("unwarned-reclaim-cycles", value);
}
-#line 2195 "dhcp4_parser.cc"
+#line 2153 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 308:
-#line 1151 "dhcp4_parser.yy"
- {
+ case 322:
+#line 1198 "dhcp4_parser.yy" // lalr1.cc:859
+ {
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 2206 "dhcp4_parser.cc"
+#line 2164 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 309:
-#line 1156 "dhcp4_parser.yy"
- {
+ case 323:
+#line 1203 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 2215 "dhcp4_parser.cc"
+#line 2173 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 314:
-#line 1176 "dhcp4_parser.yy"
- {
+ case 328:
+#line 1223 "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 2225 "dhcp4_parser.cc"
+#line 2183 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 315:
-#line 1180 "dhcp4_parser.yy"
- {
+ case 329:
+#line 1227 "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 2251 "dhcp4_parser.cc"
+#line 2209 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 316:
-#line 1202 "dhcp4_parser.yy"
- {
+ case 330:
+#line 1249 "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 2261 "dhcp4_parser.cc"
+#line 2219 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 317:
-#line 1206 "dhcp4_parser.yy"
- {
+ case 331:
+#line 1253 "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 2271 "dhcp4_parser.cc"
+#line 2229 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 358:
-#line 1258 "dhcp4_parser.yy"
- {
+ case 372:
+#line 1305 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2279 "dhcp4_parser.cc"
+#line 2237 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 359:
-#line 1260 "dhcp4_parser.yy"
- {
- ElementPtr subnet(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 373:
+#line 1307 "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 2289 "dhcp4_parser.cc"
+#line 2247 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 360:
-#line 1266 "dhcp4_parser.yy"
- {
+ case 374:
+#line 1313 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2297 "dhcp4_parser.cc"
+#line 2255 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 361:
-#line 1268 "dhcp4_parser.yy"
- {
- ElementPtr iface(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 375:
+#line 1315 "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 2307 "dhcp4_parser.cc"
+#line 2265 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 362:
-#line 1274 "dhcp4_parser.yy"
- {
+ case 376:
+#line 1321 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2315 "dhcp4_parser.cc"
+#line 2273 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 363:
-#line 1276 "dhcp4_parser.yy"
- {
- ElementPtr iface(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 377:
+#line 1323 "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 2325 "dhcp4_parser.cc"
+#line 2283 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 364:
-#line 1282 "dhcp4_parser.yy"
- {
+ case 378:
+#line 1329 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2333 "dhcp4_parser.cc"
+#line 2291 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 365:
-#line 1284 "dhcp4_parser.yy"
- {
- ElementPtr iface(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 379:
+#line 1331 "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 2343 "dhcp4_parser.cc"
+#line 2301 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 366:
-#line 1290 "dhcp4_parser.yy"
- {
+ case 380:
+#line 1337 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2351 "dhcp4_parser.cc"
+#line 2309 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 367:
-#line 1292 "dhcp4_parser.yy"
- {
- ElementPtr iface(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 381:
+#line 1339 "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 2361 "dhcp4_parser.cc"
+#line 2319 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 368:
-#line 1298 "dhcp4_parser.yy"
- {
+ case 382:
+#line 1345 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2369 "dhcp4_parser.cc"
+#line 2327 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 369:
-#line 1300 "dhcp4_parser.yy"
- {
- ElementPtr cls(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 383:
+#line 1347 "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 2379 "dhcp4_parser.cc"
+#line 2337 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 370:
-#line 1306 "dhcp4_parser.yy"
- {
+ case 384:
+#line 1353 "dhcp4_parser.yy" // lalr1.cc:859
+ {
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 2390 "dhcp4_parser.cc"
+#line 2348 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 371:
-#line 1311 "dhcp4_parser.yy"
- {
+ case 385:
+#line 1358 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 2399 "dhcp4_parser.cc"
+#line 2357 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 372:
-#line 1316 "dhcp4_parser.yy"
- {
+ case 386:
+#line 1363 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.RESERVATION_MODE);
}
-#line 2407 "dhcp4_parser.cc"
+#line 2365 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 373:
-#line 1318 "dhcp4_parser.yy"
- {
- ctx.stack_.back()->set("reservation-mode", yystack_[0].value.as < ElementPtr > ());
+ case 387:
+#line 1365 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ctx.stack_.back()->set("reservation-mode", yystack_[0].value.as< ElementPtr > ());
ctx.leave();
}
-#line 2416 "dhcp4_parser.cc"
+#line 2374 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 374:
-#line 1323 "dhcp4_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("disabled", ctx.loc2pos(yystack_[0].location))); }
-#line 2422 "dhcp4_parser.cc"
+ case 388:
+#line 1370 "dhcp4_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("disabled", ctx.loc2pos(yystack_[0].location))); }
+#line 2380 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 375:
-#line 1324 "dhcp4_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("out-of-pool", ctx.loc2pos(yystack_[0].location))); }
-#line 2428 "dhcp4_parser.cc"
+ case 389:
+#line 1371 "dhcp4_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("out-of-pool", ctx.loc2pos(yystack_[0].location))); }
+#line 2386 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 376:
-#line 1325 "dhcp4_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("global", ctx.loc2pos(yystack_[0].location))); }
-#line 2434 "dhcp4_parser.cc"
+ case 390:
+#line 1372 "dhcp4_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("global", ctx.loc2pos(yystack_[0].location))); }
+#line 2392 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 377:
-#line 1326 "dhcp4_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("all", ctx.loc2pos(yystack_[0].location))); }
-#line 2440 "dhcp4_parser.cc"
+ case 391:
+#line 1373 "dhcp4_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("all", ctx.loc2pos(yystack_[0].location))); }
+#line 2398 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 378:
-#line 1329 "dhcp4_parser.yy"
- {
- ElementPtr id(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ case 392:
+#line 1376 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr id(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("id", id);
}
-#line 2449 "dhcp4_parser.cc"
+#line 2407 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 379:
-#line 1336 "dhcp4_parser.yy"
- {
+ case 393:
+#line 1383 "dhcp4_parser.yy" // lalr1.cc:859
+ {
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 2460 "dhcp4_parser.cc"
+#line 2418 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 380:
-#line 1341 "dhcp4_parser.yy"
- {
+ case 394:
+#line 1388 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 2469 "dhcp4_parser.cc"
+#line 2427 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 385:
-#line 1356 "dhcp4_parser.yy"
- {
+ case 399:
+#line 1403 "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 2479 "dhcp4_parser.cc"
+#line 2437 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 386:
-#line 1360 "dhcp4_parser.yy"
- {
+ case 400:
+#line 1407 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
}
-#line 2487 "dhcp4_parser.cc"
+#line 2445 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 422:
-#line 1407 "dhcp4_parser.yy"
- {
+ case 436:
+#line 1454 "dhcp4_parser.yy" // lalr1.cc:859
+ {
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 2498 "dhcp4_parser.cc"
+#line 2456 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 423:
-#line 1412 "dhcp4_parser.yy"
- {
+ case 437:
+#line 1459 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 2507 "dhcp4_parser.cc"
+#line 2465 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 424:
-#line 1420 "dhcp4_parser.yy"
- {
+ case 438:
+#line 1467 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.push_back(m);
}
-#line 2516 "dhcp4_parser.cc"
+#line 2474 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 425:
-#line 1423 "dhcp4_parser.yy"
- {
+ case 439:
+#line 1470 "dhcp4_parser.yy" // lalr1.cc:859
+ {
// parsing completed
}
-#line 2524 "dhcp4_parser.cc"
+#line 2482 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 430:
-#line 1439 "dhcp4_parser.yy"
- {
+ case 444:
+#line 1486 "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 2534 "dhcp4_parser.cc"
+#line 2492 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 431:
-#line 1443 "dhcp4_parser.yy"
- {
+ case 445:
+#line 1490 "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 2546 "dhcp4_parser.cc"
+#line 2504 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 432:
-#line 1454 "dhcp4_parser.yy"
- {
+ case 446:
+#line 1501 "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 2556 "dhcp4_parser.cc"
+#line 2514 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 433:
-#line 1458 "dhcp4_parser.yy"
- {
+ case 447:
+#line 1505 "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 2568 "dhcp4_parser.cc"
+#line 2526 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 449:
-#line 1490 "dhcp4_parser.yy"
- {
- ElementPtr code(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ case 463:
+#line 1537 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr code(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("code", code);
}
-#line 2577 "dhcp4_parser.cc"
+#line 2535 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 451:
-#line 1497 "dhcp4_parser.yy"
- {
+ case 465:
+#line 1544 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2585 "dhcp4_parser.cc"
+#line 2543 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 452:
-#line 1499 "dhcp4_parser.yy"
- {
- ElementPtr prf(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 466:
+#line 1546 "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 2595 "dhcp4_parser.cc"
+#line 2553 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 453:
-#line 1505 "dhcp4_parser.yy"
- {
+ case 467:
+#line 1552 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2603 "dhcp4_parser.cc"
+#line 2561 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 454:
-#line 1507 "dhcp4_parser.yy"
- {
- ElementPtr rtypes(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 468:
+#line 1554 "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 2613 "dhcp4_parser.cc"
+#line 2571 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 455:
-#line 1513 "dhcp4_parser.yy"
- {
+ case 469:
+#line 1560 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2621 "dhcp4_parser.cc"
+#line 2579 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 456:
-#line 1515 "dhcp4_parser.yy"
- {
- ElementPtr space(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 470:
+#line 1562 "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 2631 "dhcp4_parser.cc"
+#line 2589 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 458:
-#line 1523 "dhcp4_parser.yy"
- {
+ case 472:
+#line 1570 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2639 "dhcp4_parser.cc"
+#line 2597 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 459:
-#line 1525 "dhcp4_parser.yy"
- {
- ElementPtr encap(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 473:
+#line 1572 "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 2649 "dhcp4_parser.cc"
+#line 2607 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 460:
-#line 1531 "dhcp4_parser.yy"
- {
- ElementPtr array(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ case 474:
+#line 1578 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr array(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("array", array);
}
-#line 2658 "dhcp4_parser.cc"
+#line 2616 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 461:
-#line 1540 "dhcp4_parser.yy"
- {
+ case 475:
+#line 1587 "dhcp4_parser.yy" // lalr1.cc:859
+ {
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 2669 "dhcp4_parser.cc"
+#line 2627 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 462:
-#line 1545 "dhcp4_parser.yy"
- {
+ case 476:
+#line 1592 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 2678 "dhcp4_parser.cc"
+#line 2636 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 467:
-#line 1564 "dhcp4_parser.yy"
- {
+ case 481:
+#line 1611 "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 2688 "dhcp4_parser.cc"
+#line 2646 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 468:
-#line 1568 "dhcp4_parser.yy"
- {
+ case 482:
+#line 1615 "dhcp4_parser.yy" // lalr1.cc:859
+ {
/// @todo: the code or name parameters are required.
ctx.stack_.pop_back();
}
-#line 2697 "dhcp4_parser.cc"
+#line 2655 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 469:
-#line 1576 "dhcp4_parser.yy"
- {
+ case 483:
+#line 1623 "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 2707 "dhcp4_parser.cc"
+#line 2665 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 470:
-#line 1580 "dhcp4_parser.yy"
- {
+ case 484:
+#line 1627 "dhcp4_parser.yy" // lalr1.cc:859
+ {
/// @todo: the code or name parameters are required.
// parsing completed
}
-#line 2716 "dhcp4_parser.cc"
+#line 2674 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 485:
-#line 1613 "dhcp4_parser.yy"
- {
+ case 499:
+#line 1660 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2724 "dhcp4_parser.cc"
+#line 2682 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 486:
-#line 1615 "dhcp4_parser.yy"
- {
- ElementPtr data(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 500:
+#line 1662 "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 2734 "dhcp4_parser.cc"
+#line 2692 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 489:
-#line 1625 "dhcp4_parser.yy"
- {
- ElementPtr space(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ case 503:
+#line 1672 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr space(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("csv-format", space);
}
-#line 2743 "dhcp4_parser.cc"
+#line 2701 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 490:
-#line 1630 "dhcp4_parser.yy"
- {
- ElementPtr persist(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ case 504:
+#line 1677 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr persist(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("always-send", persist);
}
-#line 2752 "dhcp4_parser.cc"
+#line 2710 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 491:
-#line 1638 "dhcp4_parser.yy"
- {
+ case 505:
+#line 1685 "dhcp4_parser.yy" // lalr1.cc:859
+ {
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 2763 "dhcp4_parser.cc"
+#line 2721 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 492:
-#line 1643 "dhcp4_parser.yy"
- {
+ case 506:
+#line 1690 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 2772 "dhcp4_parser.cc"
+#line 2730 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 497:
-#line 1658 "dhcp4_parser.yy"
- {
+ case 511:
+#line 1705 "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 2782 "dhcp4_parser.cc"
+#line 2740 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 498:
-#line 1662 "dhcp4_parser.yy"
- {
+ case 512:
+#line 1709 "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 2792 "dhcp4_parser.cc"
+#line 2750 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 499:
-#line 1668 "dhcp4_parser.yy"
- {
+ case 513:
+#line 1715 "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 2802 "dhcp4_parser.cc"
+#line 2760 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 500:
-#line 1672 "dhcp4_parser.yy"
- {
+ case 514:
+#line 1719 "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 2812 "dhcp4_parser.cc"
+#line 2770 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 510:
-#line 1691 "dhcp4_parser.yy"
- {
+ case 524:
+#line 1738 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2820 "dhcp4_parser.cc"
+#line 2778 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 511:
-#line 1693 "dhcp4_parser.yy"
- {
- ElementPtr pool(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 525:
+#line 1740 "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 2830 "dhcp4_parser.cc"
+#line 2788 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 512:
-#line 1699 "dhcp4_parser.yy"
- {
+ case 526:
+#line 1746 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2838 "dhcp4_parser.cc"
+#line 2796 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 513:
-#line 1701 "dhcp4_parser.yy"
- {
+ case 527:
+#line 1748 "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 2865 "dhcp4_parser.cc"
+#line 2823 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 514:
-#line 1724 "dhcp4_parser.yy"
- {
+ case 528:
+#line 1771 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2873 "dhcp4_parser.cc"
+#line 2831 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 515:
-#line 1726 "dhcp4_parser.yy"
- {
+ case 529:
+#line 1773 "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 2902 "dhcp4_parser.cc"
+#line 2860 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 516:
-#line 1754 "dhcp4_parser.yy"
- {
+ case 530:
+#line 1801 "dhcp4_parser.yy" // lalr1.cc:859
+ {
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 2913 "dhcp4_parser.cc"
+#line 2871 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 517:
-#line 1759 "dhcp4_parser.yy"
- {
+ case 531:
+#line 1806 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 2922 "dhcp4_parser.cc"
+#line 2880 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 522:
-#line 1772 "dhcp4_parser.yy"
- {
+ case 536:
+#line 1819 "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 2932 "dhcp4_parser.cc"
+#line 2890 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 523:
-#line 1776 "dhcp4_parser.yy"
- {
+ case 537:
+#line 1823 "dhcp4_parser.yy" // lalr1.cc:859
+ {
/// @todo: an identifier parameter is required.
ctx.stack_.pop_back();
}
-#line 2941 "dhcp4_parser.cc"
+#line 2899 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 524:
-#line 1781 "dhcp4_parser.yy"
- {
+ case 538:
+#line 1828 "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 2951 "dhcp4_parser.cc"
+#line 2909 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 525:
-#line 1785 "dhcp4_parser.yy"
- {
+ case 539:
+#line 1832 "dhcp4_parser.yy" // lalr1.cc:859
+ {
/// @todo: an identifier parameter is required.
// parsing completed
}
-#line 2960 "dhcp4_parser.cc"
+#line 2918 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 545:
-#line 1816 "dhcp4_parser.yy"
- {
+ case 559:
+#line 1863 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2968 "dhcp4_parser.cc"
+#line 2926 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 546:
-#line 1818 "dhcp4_parser.yy"
- {
- ElementPtr next_server(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 560:
+#line 1865 "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 2978 "dhcp4_parser.cc"
+#line 2936 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 547:
-#line 1824 "dhcp4_parser.yy"
- {
+ case 561:
+#line 1871 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2986 "dhcp4_parser.cc"
+#line 2944 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 548:
-#line 1826 "dhcp4_parser.yy"
- {
- ElementPtr srv(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 562:
+#line 1873 "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 2996 "dhcp4_parser.cc"
+#line 2954 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 549:
-#line 1832 "dhcp4_parser.yy"
- {
+ case 563:
+#line 1879 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3004 "dhcp4_parser.cc"
+#line 2962 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 550:
-#line 1834 "dhcp4_parser.yy"
- {
- ElementPtr bootfile(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 564:
+#line 1881 "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 3014 "dhcp4_parser.cc"
+#line 2972 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 551:
-#line 1840 "dhcp4_parser.yy"
- {
+ case 565:
+#line 1887 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3022 "dhcp4_parser.cc"
+#line 2980 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 552:
-#line 1842 "dhcp4_parser.yy"
- {
- ElementPtr addr(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 566:
+#line 1889 "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 3032 "dhcp4_parser.cc"
+#line 2990 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 553:
-#line 1848 "dhcp4_parser.yy"
- {
+ case 567:
+#line 1895 "dhcp4_parser.yy" // lalr1.cc:859
+ {
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 3043 "dhcp4_parser.cc"
+#line 3001 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 554:
-#line 1853 "dhcp4_parser.yy"
- {
+ case 568:
+#line 1900 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 3052 "dhcp4_parser.cc"
+#line 3010 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 555:
-#line 1858 "dhcp4_parser.yy"
- {
+ case 569:
+#line 1905 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3060 "dhcp4_parser.cc"
+#line 3018 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 556:
-#line 1860 "dhcp4_parser.yy"
- {
- ElementPtr d(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 570:
+#line 1907 "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 3070 "dhcp4_parser.cc"
+#line 3028 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 557:
-#line 1866 "dhcp4_parser.yy"
- {
+ case 571:
+#line 1913 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3078 "dhcp4_parser.cc"
+#line 3036 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 558:
-#line 1868 "dhcp4_parser.yy"
- {
- ElementPtr hw(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 572:
+#line 1915 "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 3088 "dhcp4_parser.cc"
+#line 3046 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 559:
-#line 1874 "dhcp4_parser.yy"
- {
+ case 573:
+#line 1921 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3096 "dhcp4_parser.cc"
+#line 3054 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 560:
-#line 1876 "dhcp4_parser.yy"
- {
- ElementPtr hw(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 574:
+#line 1923 "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 3106 "dhcp4_parser.cc"
+#line 3064 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 561:
-#line 1882 "dhcp4_parser.yy"
- {
+ case 575:
+#line 1929 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3114 "dhcp4_parser.cc"
+#line 3072 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 562:
-#line 1884 "dhcp4_parser.yy"
- {
- ElementPtr hw(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 576:
+#line 1931 "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 3124 "dhcp4_parser.cc"
+#line 3082 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 563:
-#line 1890 "dhcp4_parser.yy"
- {
+ case 577:
+#line 1937 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3132 "dhcp4_parser.cc"
+#line 3090 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 564:
-#line 1892 "dhcp4_parser.yy"
- {
- ElementPtr hw(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 578:
+#line 1939 "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 3142 "dhcp4_parser.cc"
+#line 3100 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 565:
-#line 1898 "dhcp4_parser.yy"
- {
+ case 579:
+#line 1945 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3150 "dhcp4_parser.cc"
+#line 3108 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 566:
-#line 1900 "dhcp4_parser.yy"
- {
- ElementPtr host(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 580:
+#line 1947 "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 3160 "dhcp4_parser.cc"
+#line 3118 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 567:
-#line 1906 "dhcp4_parser.yy"
- {
+ case 581:
+#line 1953 "dhcp4_parser.yy" // lalr1.cc:859
+ {
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 3171 "dhcp4_parser.cc"
+#line 3129 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 568:
-#line 1911 "dhcp4_parser.yy"
- {
+ case 582:
+#line 1958 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 3180 "dhcp4_parser.cc"
+#line 3138 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 569:
-#line 1919 "dhcp4_parser.yy"
- {
+ case 583:
+#line 1966 "dhcp4_parser.yy" // lalr1.cc:859
+ {
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 3191 "dhcp4_parser.cc"
+#line 3149 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 570:
-#line 1924 "dhcp4_parser.yy"
- {
+ case 584:
+#line 1971 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 3200 "dhcp4_parser.cc"
+#line 3158 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 573:
-#line 1936 "dhcp4_parser.yy"
- {
+ case 587:
+#line 1983 "dhcp4_parser.yy" // lalr1.cc:859
+ {
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 3211 "dhcp4_parser.cc"
+#line 3169 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 574:
-#line 1941 "dhcp4_parser.yy"
- {
+ case 588:
+#line 1988 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 3220 "dhcp4_parser.cc"
+#line 3178 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 577:
-#line 1950 "dhcp4_parser.yy"
- {
+ case 591:
+#line 1997 "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 3230 "dhcp4_parser.cc"
+#line 3188 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 578:
-#line 1954 "dhcp4_parser.yy"
- {
+ case 592:
+#line 2001 "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 3240 "dhcp4_parser.cc"
+#line 3198 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 595:
-#line 1983 "dhcp4_parser.yy"
- {
+ case 609:
+#line 2030 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3248 "dhcp4_parser.cc"
+#line 3206 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 596:
-#line 1985 "dhcp4_parser.yy"
- {
- ElementPtr test(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 610:
+#line 2032 "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 3258 "dhcp4_parser.cc"
+#line 3216 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 597:
-#line 1991 "dhcp4_parser.yy"
- {
- ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ case 611:
+#line 2038 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("only-if-required", b);
}
-#line 3267 "dhcp4_parser.cc"
+#line 3225 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 598:
-#line 2000 "dhcp4_parser.yy"
- {
- ElementPtr time(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ case 612:
+#line 2045 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr time(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("dhcp4o6-port", time);
}
-#line 3276 "dhcp4_parser.cc"
+#line 3234 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 599:
-#line 2007 "dhcp4_parser.yy"
- {
+ case 613:
+#line 2052 "dhcp4_parser.yy" // lalr1.cc:859
+ {
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 3287 "dhcp4_parser.cc"
+#line 3245 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 600:
-#line 2012 "dhcp4_parser.yy"
- {
+ case 614:
+#line 2057 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 3296 "dhcp4_parser.cc"
+#line 3254 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 608:
-#line 2028 "dhcp4_parser.yy"
- {
+ case 622:
+#line 2073 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3304 "dhcp4_parser.cc"
+#line 3262 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 609:
-#line 2030 "dhcp4_parser.yy"
- {
- ElementPtr stype(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 623:
+#line 2075 "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 3314 "dhcp4_parser.cc"
+#line 3272 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 610:
-#line 2036 "dhcp4_parser.yy"
- {
+ case 624:
+#line 2081 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3322 "dhcp4_parser.cc"
+#line 3280 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 611:
-#line 2038 "dhcp4_parser.yy"
- {
- ElementPtr name(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 625:
+#line 2083 "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 3332 "dhcp4_parser.cc"
+#line 3290 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 612:
-#line 2047 "dhcp4_parser.yy"
- {
+ case 626:
+#line 2092 "dhcp4_parser.yy" // lalr1.cc:859
+ {
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 3343 "dhcp4_parser.cc"
+#line 3301 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 613:
-#line 2052 "dhcp4_parser.yy"
- {
+ case 627:
+#line 2097 "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 3354 "dhcp4_parser.cc"
+#line 3312 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 622:
-#line 2071 "dhcp4_parser.yy"
- {
- ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ case 636:
+#line 2116 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("enable-queue", b);
}
-#line 3363 "dhcp4_parser.cc"
+#line 3321 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 623:
-#line 2076 "dhcp4_parser.yy"
- {
+ case 637:
+#line 2121 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3371 "dhcp4_parser.cc"
+#line 3329 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 624:
-#line 2078 "dhcp4_parser.yy"
- {
- ElementPtr qt(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 638:
+#line 2123 "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 3381 "dhcp4_parser.cc"
+#line 3339 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 625:
-#line 2084 "dhcp4_parser.yy"
- {
- ElementPtr c(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ case 639:
+#line 2129 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr c(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("capacity", c);
}
-#line 3390 "dhcp4_parser.cc"
+#line 3348 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 626:
-#line 2089 "dhcp4_parser.yy"
- {
+ case 640:
+#line 2134 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3398 "dhcp4_parser.cc"
+#line 3356 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 627:
-#line 2091 "dhcp4_parser.yy"
- {
- ctx.stack_.back()->set(yystack_[3].value.as < std::string > (), yystack_[0].value.as < ElementPtr > ());
+ case 641:
+#line 2136 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ctx.stack_.back()->set(yystack_[3].value.as< std::string > (), yystack_[0].value.as< ElementPtr > ());
ctx.leave();
}
-#line 3407 "dhcp4_parser.cc"
+#line 3365 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 628:
-#line 2098 "dhcp4_parser.yy"
- {
+ case 642:
+#line 2143 "dhcp4_parser.yy" // lalr1.cc:859
+ {
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 3418 "dhcp4_parser.cc"
+#line 3376 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 629:
-#line 2103 "dhcp4_parser.yy"
- {
+ case 643:
+#line 2148 "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 3429 "dhcp4_parser.cc"
+#line 3387 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 630:
-#line 2110 "dhcp4_parser.yy"
- {
+ case 644:
+#line 2155 "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 3439 "dhcp4_parser.cc"
+#line 3397 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 631:
-#line 2114 "dhcp4_parser.yy"
- {
+ case 645:
+#line 2159 "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 3449 "dhcp4_parser.cc"
+#line 3407 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 652:
-#line 2144 "dhcp4_parser.yy"
- {
- ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ case 666:
+#line 2189 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("enable-updates", b);
}
-#line 3458 "dhcp4_parser.cc"
+#line 3416 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 653:
-#line 2149 "dhcp4_parser.yy"
- {
+ case 667:
+#line 2194 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3466 "dhcp4_parser.cc"
+#line 3424 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 654:
-#line 2151 "dhcp4_parser.yy"
- {
- ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 668:
+#line 2196 "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 3476 "dhcp4_parser.cc"
+#line 3434 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 655:
-#line 2157 "dhcp4_parser.yy"
- {
- ElementPtr i(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ case 669:
+#line 2202 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr i(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("server-port", i);
}
-#line 3485 "dhcp4_parser.cc"
+#line 3443 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 656:
-#line 2162 "dhcp4_parser.yy"
- {
+ case 670:
+#line 2207 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3493 "dhcp4_parser.cc"
+#line 3451 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 657:
-#line 2164 "dhcp4_parser.yy"
- {
- ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 671:
+#line 2209 "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 3503 "dhcp4_parser.cc"
+#line 3461 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 658:
-#line 2170 "dhcp4_parser.yy"
- {
- ElementPtr i(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ case 672:
+#line 2215 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr i(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("sender-port", i);
}
-#line 3512 "dhcp4_parser.cc"
+#line 3470 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 659:
-#line 2175 "dhcp4_parser.yy"
- {
- ElementPtr i(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ case 673:
+#line 2220 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr i(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("max-queue-size", i);
}
-#line 3521 "dhcp4_parser.cc"
+#line 3479 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 660:
-#line 2180 "dhcp4_parser.yy"
- {
+ case 674:
+#line 2225 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NCR_PROTOCOL);
}
-#line 3529 "dhcp4_parser.cc"
+#line 3487 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 661:
-#line 2182 "dhcp4_parser.yy"
- {
- ctx.stack_.back()->set("ncr-protocol", yystack_[0].value.as < ElementPtr > ());
+ case 675:
+#line 2227 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ctx.stack_.back()->set("ncr-protocol", yystack_[0].value.as< ElementPtr > ());
ctx.leave();
}
-#line 3538 "dhcp4_parser.cc"
+#line 3496 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 662:
-#line 2188 "dhcp4_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("UDP", ctx.loc2pos(yystack_[0].location))); }
-#line 3544 "dhcp4_parser.cc"
+ case 676:
+#line 2233 "dhcp4_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("UDP", ctx.loc2pos(yystack_[0].location))); }
+#line 3502 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 663:
-#line 2189 "dhcp4_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("TCP", ctx.loc2pos(yystack_[0].location))); }
-#line 3550 "dhcp4_parser.cc"
+ case 677:
+#line 2234 "dhcp4_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("TCP", ctx.loc2pos(yystack_[0].location))); }
+#line 3508 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 664:
-#line 2192 "dhcp4_parser.yy"
- {
+ case 678:
+#line 2237 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NCR_FORMAT);
}
-#line 3558 "dhcp4_parser.cc"
+#line 3516 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 665:
-#line 2194 "dhcp4_parser.yy"
- {
+ case 679:
+#line 2239 "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 3568 "dhcp4_parser.cc"
+#line 3526 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 666:
-#line 2201 "dhcp4_parser.yy"
- {
+ case 680:
+#line 2246 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3576 "dhcp4_parser.cc"
+#line 3534 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 667:
-#line 2203 "dhcp4_parser.yy"
- {
- ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 681:
+#line 2248 "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 3586 "dhcp4_parser.cc"
+#line 3544 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 668:
-#line 2210 "dhcp4_parser.yy"
- {
- ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ case 682:
+#line 2255 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("override-no-update", b);
}
-#line 3595 "dhcp4_parser.cc"
+#line 3553 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 669:
-#line 2216 "dhcp4_parser.yy"
- {
- ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ case 683:
+#line 2261 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("override-client-update", b);
}
-#line 3604 "dhcp4_parser.cc"
+#line 3562 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 670:
-#line 2222 "dhcp4_parser.yy"
- {
+ case 684:
+#line 2267 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.REPLACE_CLIENT_NAME);
}
-#line 3612 "dhcp4_parser.cc"
+#line 3570 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 671:
-#line 2224 "dhcp4_parser.yy"
- {
- ctx.stack_.back()->set("replace-client-name", yystack_[0].value.as < ElementPtr > ());
+ case 685:
+#line 2269 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ctx.stack_.back()->set("replace-client-name", yystack_[0].value.as< ElementPtr > ());
ctx.leave();
}
-#line 3621 "dhcp4_parser.cc"
+#line 3579 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 672:
-#line 2230 "dhcp4_parser.yy"
- {
+ case 686:
+#line 2275 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3629 "dhcp4_parser.cc"
+#line 3587 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 673:
-#line 2232 "dhcp4_parser.yy"
- {
- ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 687:
+#line 2277 "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 3639 "dhcp4_parser.cc"
+#line 3597 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 674:
-#line 2239 "dhcp4_parser.yy"
- {
+ case 688:
+#line 2284 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3647 "dhcp4_parser.cc"
+#line 3605 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 675:
-#line 2241 "dhcp4_parser.yy"
- {
- ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 689:
+#line 2286 "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 3657 "dhcp4_parser.cc"
+#line 3615 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 676:
-#line 2248 "dhcp4_parser.yy"
- {
+ case 690:
+#line 2293 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3665 "dhcp4_parser.cc"
+#line 3623 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 677:
-#line 2250 "dhcp4_parser.yy"
- {
- ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 691:
+#line 2295 "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 3675 "dhcp4_parser.cc"
+#line 3633 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 678:
-#line 2259 "dhcp4_parser.yy"
- {
+ case 692:
+#line 2304 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3683 "dhcp4_parser.cc"
+#line 3641 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 679:
-#line 2261 "dhcp4_parser.yy"
- {
- ctx.stack_.back()->set("Dhcp6", yystack_[0].value.as < ElementPtr > ());
+ case 693:
+#line 2306 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ctx.stack_.back()->set("Dhcp6", yystack_[0].value.as< ElementPtr > ());
ctx.leave();
}
-#line 3692 "dhcp4_parser.cc"
+#line 3650 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 680:
-#line 2266 "dhcp4_parser.yy"
- {
+ case 694:
+#line 2311 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3700 "dhcp4_parser.cc"
+#line 3658 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 681:
-#line 2268 "dhcp4_parser.yy"
- {
- ctx.stack_.back()->set("DhcpDdns", yystack_[0].value.as < ElementPtr > ());
+ case 695:
+#line 2313 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ctx.stack_.back()->set("DhcpDdns", yystack_[0].value.as< ElementPtr > ());
ctx.leave();
}
-#line 3709 "dhcp4_parser.cc"
+#line 3667 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 682:
-#line 2273 "dhcp4_parser.yy"
- {
+ case 696:
+#line 2318 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3717 "dhcp4_parser.cc"
+#line 3675 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 683:
-#line 2275 "dhcp4_parser.yy"
- {
- ctx.stack_.back()->set("Control-agent", yystack_[0].value.as < ElementPtr > ());
+ case 697:
+#line 2320 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ctx.stack_.back()->set("Control-agent", yystack_[0].value.as< ElementPtr > ());
ctx.leave();
}
-#line 3726 "dhcp4_parser.cc"
+#line 3684 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 684:
-#line 2280 "dhcp4_parser.yy"
- {
+ case 698:
+#line 2327 "dhcp4_parser.yy" // lalr1.cc:859
+ {
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 3737 "dhcp4_parser.cc"
+#line 3695 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 685:
-#line 2285 "dhcp4_parser.yy"
- {
+ case 699:
+#line 2332 "dhcp4_parser.yy" // lalr1.cc:859
+ {
// No config control params are required
ctx.stack_.pop_back();
ctx.leave();
}
-#line 3747 "dhcp4_parser.cc"
+#line 3705 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 686:
-#line 2291 "dhcp4_parser.yy"
- {
+ case 700:
+#line 2338 "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 3757 "dhcp4_parser.cc"
+#line 3715 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 687:
-#line 2295 "dhcp4_parser.yy"
- {
+ case 701:
+#line 2342 "dhcp4_parser.yy" // lalr1.cc:859
+ {
// No config_control params are required
// parsing completed
}
-#line 3766 "dhcp4_parser.cc"
+#line 3724 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 692:
-#line 2310 "dhcp4_parser.yy"
- {
+ case 706:
+#line 2357 "dhcp4_parser.yy" // lalr1.cc:859
+ {
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 3777 "dhcp4_parser.cc"
+#line 3735 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 693:
-#line 2315 "dhcp4_parser.yy"
- {
+ case 707:
+#line 2362 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 3786 "dhcp4_parser.cc"
+#line 3744 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 694:
-#line 2320 "dhcp4_parser.yy"
- {
- ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ case 708:
+#line 2367 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ 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 3795 "dhcp4_parser.cc"
+#line 3753 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 695:
-#line 2330 "dhcp4_parser.yy"
- {
+ case 709:
+#line 2377 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("Logging", m);
ctx.stack_.push_back(m);
ctx.enter(ctx.LOGGING);
}
-#line 3806 "dhcp4_parser.cc"
+#line 3764 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 696:
-#line 2335 "dhcp4_parser.yy"
- {
+ case 710:
+#line 2382 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 3815 "dhcp4_parser.cc"
+#line 3773 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 697:
-#line 2340 "dhcp4_parser.yy"
- {
+ case 711:
+#line 2387 "dhcp4_parser.yy" // lalr1.cc:859
+ {
// Parse the Logging map
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.push_back(m);
}
-#line 3825 "dhcp4_parser.cc"
+#line 3783 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 698:
-#line 2344 "dhcp4_parser.yy"
- {
+ case 712:
+#line 2391 "dhcp4_parser.yy" // lalr1.cc:859
+ {
// parsing completed
}
-#line 3833 "dhcp4_parser.cc"
+#line 3791 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 702:
-#line 2360 "dhcp4_parser.yy"
- {
+ case 716:
+#line 2407 "dhcp4_parser.yy" // lalr1.cc:859
+ {
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 3844 "dhcp4_parser.cc"
+#line 3802 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 703:
-#line 2365 "dhcp4_parser.yy"
- {
+ case 717:
+#line 2412 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 3853 "dhcp4_parser.cc"
+#line 3811 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 706:
-#line 2377 "dhcp4_parser.yy"
- {
+ case 720:
+#line 2424 "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 3863 "dhcp4_parser.cc"
+#line 3821 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 707:
-#line 2381 "dhcp4_parser.yy"
- {
+ case 721:
+#line 2428 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
}
-#line 3871 "dhcp4_parser.cc"
+#line 3829 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 717:
-#line 2398 "dhcp4_parser.yy"
- {
- ElementPtr dl(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ case 731:
+#line 2445 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr dl(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("debuglevel", dl);
}
-#line 3880 "dhcp4_parser.cc"
+#line 3838 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 718:
-#line 2403 "dhcp4_parser.yy"
- {
+ case 732:
+#line 2450 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3888 "dhcp4_parser.cc"
+#line 3846 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 719:
-#line 2405 "dhcp4_parser.yy"
- {
- ElementPtr sev(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 733:
+#line 2452 "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 3898 "dhcp4_parser.cc"
+#line 3856 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 720:
-#line 2411 "dhcp4_parser.yy"
- {
+ case 734:
+#line 2458 "dhcp4_parser.yy" // lalr1.cc:859
+ {
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 3909 "dhcp4_parser.cc"
+#line 3867 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 721:
-#line 2416 "dhcp4_parser.yy"
- {
+ case 735:
+#line 2463 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 3918 "dhcp4_parser.cc"
+#line 3876 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 724:
-#line 2425 "dhcp4_parser.yy"
- {
+ case 738:
+#line 2472 "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 3928 "dhcp4_parser.cc"
+#line 3886 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 725:
-#line 2429 "dhcp4_parser.yy"
- {
+ case 739:
+#line 2476 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
}
-#line 3936 "dhcp4_parser.cc"
+#line 3894 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 733:
-#line 2444 "dhcp4_parser.yy"
- {
+ case 747:
+#line 2491 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3944 "dhcp4_parser.cc"
+#line 3902 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 734:
-#line 2446 "dhcp4_parser.yy"
- {
- ElementPtr sev(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 748:
+#line 2493 "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 3954 "dhcp4_parser.cc"
+#line 3912 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 735:
-#line 2452 "dhcp4_parser.yy"
- {
- ElementPtr flush(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ case 749:
+#line 2499 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr flush(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("flush", flush);
}
-#line 3963 "dhcp4_parser.cc"
+#line 3921 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 736:
-#line 2457 "dhcp4_parser.yy"
- {
- ElementPtr maxsize(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ case 750:
+#line 2504 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr maxsize(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("maxsize", maxsize);
}
-#line 3972 "dhcp4_parser.cc"
+#line 3930 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 737:
-#line 2462 "dhcp4_parser.yy"
- {
- ElementPtr maxver(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ case 751:
+#line 2509 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr maxver(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("maxver", maxver);
}
-#line 3981 "dhcp4_parser.cc"
+#line 3939 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 738:
-#line 2467 "dhcp4_parser.yy"
- {
+ case 752:
+#line 2514 "dhcp4_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3989 "dhcp4_parser.cc"
+#line 3947 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 739:
-#line 2469 "dhcp4_parser.yy"
- {
- ElementPtr sev(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 753:
+#line 2516 "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 3999 "dhcp4_parser.cc"
+#line 3957 "dhcp4_parser.cc" // lalr1.cc:859
break;
-#line 4003 "dhcp4_parser.cc"
-
+#line 3961 "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. |
`--------------------------------------*/
| 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;
goto yyerrlab1;
-
/*-------------------------------------------------------------.
| yyerrlab1 -- common code for both syntax error and YYERROR. |
`-------------------------------------------------------------*/
stack_symbol_type error_token;
for (;;)
{
- yyn = yypact_[+yystack_[0].state];
+ yyn = yypact_[yystack_[0].state];
if (!yy_pact_value_is_default_ (yyn))
{
- yyn += yy_error_token_;
- if (0 <= yyn && yyn <= yylast_ && yycheck_[yyn] == yy_error_token_)
+ yyn += yyterror_;
+ if (0 <= yyn && yyn <= yylast_ && yycheck_[yyn] == yyterror_)
{
yyn = yytable_[yyn];
if (0 < yyn)
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);
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 ());
+ error (yyexc.location, yyexc.what());
}
// Generate an error message.
{
// Number of reported tokens (one for the "unexpected", one per
// "expected").
- std::ptrdiff_t yycount = 0;
+ size_t yycount = 0;
// Its maximum.
enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
// Arguments of yyformat.
- 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 (!yyla.empty ())
{
- symbol_number_type yytoken = yyla.type_get ();
+ int yytoken = yyla.type_get ();
yyarg[yycount++] = yytname_[yytoken];
-
- int yyn = yypact_[+yystate];
+ int yyn = yypact_[yystate];
if (!yy_pact_value_is_default_ (yyn))
{
/* Start YYX at -YYN if negative to avoid negative indexes in
int yychecklim = yylast_ - yyn + 1;
int yyxend = yychecklim < yyntokens_ ? yychecklim : yyntokens_;
for (int yyx = yyxbegin; yyx < yyxend; ++yyx)
- if (yycheck_[yyx + yyn] == yyx && yyx != yy_error_token_
+ if (yycheck_[yyx + yyn] == yyx && yyx != yyterror_
&& !yy_table_value_is_error_ (yytable_[yyx + yyn]))
{
if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
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)
{
}
- const short Dhcp4Parser::yypact_ninf_ = -915;
+ const short int Dhcp4Parser::yypact_ninf_ = -939;
const signed char Dhcp4Parser::yytable_ninf_ = -1;
- const short
+ const short int
Dhcp4Parser::yypact_[] =
{
- 384, -915, -915, -915, -915, -915, -915, -915, -915, -915,
- -915, -915, -915, -915, -915, 56, 28, 23, 67, 73,
- 77, 79, 81, 107, 117, 123, 142, 146, 150, 162,
- -915, -915, -915, -915, -915, -915, -915, -915, -915, -915,
- -915, -915, -915, -915, -915, -915, -915, -915, -915, -915,
- -915, -915, -915, -915, -915, -915, -915, -915, -915, -915,
- -915, -915, -915, -915, -915, -915, -915, -915, 28, -128,
- 17, 169, 25, 290, -45, 596, -11, 66, 211, -59,
- 578, -55, 289, -915, 131, 113, 174, 195, 204, -915,
- -915, -915, -915, -915, 209, -915, 43, -915, -915, -915,
- -915, -915, -915, -915, -915, -915, 242, 265, 280, -915,
- -915, -915, -915, -915, -915, 310, 325, 331, 332, 333,
- 334, 336, 337, 338, -915, 339, 340, 341, 342, 362,
- -915, -915, -915, 366, -915, -915, -915, -915, -915, -915,
- -915, -915, -915, -915, -915, -915, 368, -915, -915, -915,
- -915, -915, -915, -915, 62, -915, -915, -915, -915, -915,
- -915, -915, -915, -915, -915, -915, -915, -915, -915, -915,
- -915, -915, -915, -915, -915, -915, -915, -915, -915, -915,
- -915, -915, -915, -915, -915, -915, -915, -915, -915, -915,
- -915, -915, -915, -915, -915, -915, -915, -915, -915, -915,
- -915, -915, -915, -915, -915, -915, -915, -915, -915, 369,
- -915, 68, -915, -915, -915, -915, -915, -915, -915, -915,
- -915, -915, -915, -915, -915, 370, -915, -915, -915, -915,
- -915, -915, -915, -915, -915, -915, -915, -915, -915, -915,
- -915, -915, -915, -915, -915, -915, -915, -915, -915, 74,
- -915, -915, -915, -915, -915, -915, -915, -915, -915, -915,
- -915, -915, -915, -915, -915, -915, -915, -915, -915, -915,
- -915, -915, -915, -915, 75, -915, -915, -915, -915, -915,
- -915, -915, -915, -915, -915, -915, -915, -915, -915, -915,
- -915, 213, 245, -915, -915, -915, -915, -915, -915, -915,
- -915, -915, -915, -915, -915, 274, -915, -915, 371, -915,
- -915, -915, 374, -915, -915, 373, 376, -915, -915, -915,
- -915, -915, -915, -915, -915, -915, -915, -915, -915, -915,
- 379, 386, -915, -915, -915, -915, 385, 389, -915, -915,
- -915, -915, -915, -915, -915, -915, -915, -915, -915, -915,
- 87, -915, -915, -915, 390, -915, -915, 391, -915, 397,
- 398, -915, -915, 399, 400, -915, -915, -915, -915, -915,
- -915, -915, 93, -915, -915, -915, -915, -915, -915, -915,
- -915, -915, -915, -915, -915, -915, -915, -915, -915, 109,
- -915, -915, -915, 401, 110, -915, -915, -915, -915, 28,
- 28, -915, 219, 404, 407, 409, 410, 411, -915, 17,
- -915, 412, 414, 415, 230, 231, 234, 422, 423, 424,
- 425, 426, 427, 246, 249, 252, 253, 255, 260, 256,
- 263, 266, 449, 269, 272, 271, 276, 284, 452, 459,
- 461, 286, 463, 464, 466, 476, 477, 478, 480, 483,
- 485, 486, 488, 490, 308, 494, 496, 497, 498, 502,
- 503, 169, -915, 507, 508, 519, 314, 25, -915, 520,
- 521, 522, 526, 531, 532, 350, 567, 568, 569, 290,
- -915, 570, -45, -915, 571, 572, 573, 574, 575, 576,
- 577, 579, -915, 596, -915, 580, 582, 402, 583, 584,
- 587, 403, -915, 66, 588, 406, 408, -915, 211, 590,
- 593, -79, -915, 413, 595, 597, 416, 598, 417, 418,
- 603, 605, 420, 421, 608, 610, 616, 617, 578, -915,
- -55, -915, 618, 435, 289, -915, -915, -915, 623, 621,
- 625, 28, 28, 28, -915, 626, 627, 629, -915, -915,
- -915, 443, 450, 451, 632, 633, 636, -915, -915, -915,
- -915, -915, -915, -915, -915, -915, 467, -915, -915, -915,
- -915, -915, -22, 468, 469, -915, 652, 661, 662, 663,
- 667, 482, 221, 670, 671, 673, 677, 678, -915, 682,
- 685, 686, 509, 510, 689, -915, 694, 273, 291, -915,
- -915, 513, 515, 516, 699, 518, 528, -915, 694, 529,
- 706, -915, 543, -915, 694, 544, 545, 546, 547, 548,
- 551, 552, -915, 553, 554, -915, 555, 556, 557, -915,
- -915, 558, -915, -915, -915, 559, 28, -915, -915, 562,
- 563, -915, 564, -915, -915, 14, 447, -915, -915, -22,
- 565, 566, 581, -915, -915, 749, -915, -915, 28, 169,
- -55, -915, -915, -915, 289, 25, 731, -915, -915, -915,
- 500, 500, 750, -915, -915, -915, -915, -915, -915, -915,
- -915, -915, 751, 752, 753, 754, -915, -915, -915, -915,
- -915, -915, -915, -915, 51, 755, 756, 757, 130, 90,
- 4, 578, -915, -915, 759, -915, -915, -915, -915, -915,
- -915, -915, -915, -915, -915, -915, 760, -915, -915, -915,
- -915, 207, -915, -915, -915, -915, -915, -915, -915, -915,
- -915, -915, -915, -915, -915, -915, -915, -915, -915, -915,
- -915, -915, -915, -915, -915, -915, -915, -915, -915, -915,
- 750, -915, 128, 135, 144, 178, -915, 202, -915, -915,
- -915, -915, -915, -915, 765, 766, 767, 768, 769, -915,
- -915, -915, -915, 770, 771, 773, 774, 775, 776, -915,
- 216, -915, -915, -915, -915, -915, -915, -915, -915, -915,
- -915, -915, -915, -915, -915, -915, -915, -915, -915, -915,
- -915, -915, 217, -915, 778, 779, -915, -915, 780, 782,
- -915, -915, 781, 785, -915, -915, 783, 787, -915, -915,
- 786, 788, -915, -915, -915, -915, -915, -915, 99, -915,
- -915, -915, -915, -915, -915, -915, 176, -915, -915, 789,
- 790, -915, -915, 791, 793, -915, 777, 794, 795, 796,
- 797, 798, 244, -915, -915, -915, -915, -915, -915, -915,
- -915, -915, -915, -915, -915, 258, -915, -915, -915, 799,
- -915, 800, -915, -915, -915, 259, -915, -915, -915, -915,
- -915, 262, -915, 187, -915, 607, -915, 801, 802, -915,
- -915, -915, -915, 748, 803, -915, -915, -915, -915, 804,
- 731, -915, 806, 807, 808, 809, 628, 624, 630, 631,
- 634, 811, 813, 815, 816, 635, 637, 638, 639, 640,
- 641, 500, -915, -915, 500, -915, 750, 290, -915, 751,
- 66, -915, 752, 211, -915, 753, 589, -915, 754, 51,
- -915, 64, 755, -915, 596, -915, 756, -59, -915, 757,
- 643, 644, 645, 646, 647, 648, 130, -915, 820, 824,
- 90, -915, 649, 833, 650, 836, 4, -915, -915, 193,
- 759, -915, -915, 835, 839, -45, -915, 760, 840, -915,
- -915, 619, -915, 296, 656, 658, 659, -915, -915, -915,
- -915, -915, 660, 664, 665, 666, -915, -915, -915, -915,
- -915, -915, -915, 268, -915, 275, -915, 841, -915, 842,
- -915, -915, -915, -915, -915, -915, -915, -915, -915, -915,
- -915, -915, -915, -915, -915, -915, -915, -915, -915, -915,
- -915, -915, -915, -915, -915, -915, -915, 277, -915, -915,
- -915, -915, -915, -915, -915, -915, -915, -915, -915, 844,
- -915, -915, -915, -915, -915, -915, -915, -915, -915, 846,
- 852, -915, -915, -915, -915, -915, 848, -915, 278, -915,
- -915, -915, -915, -915, -915, -915, -915, 672, 674, -915,
- -915, 675, -915, 28, -915, -915, 854, -915, -915, -915,
- -915, -915, 301, -915, -915, -915, -915, -915, -915, 681,
- 305, -915, 694, -915, -915, -915, -915, -915, -915, -915,
- -915, -915, -915, -915, -915, -915, -915, -915, -915, -915,
- 589, -915, 860, 691, -915, 64, -915, -915, -915, -915,
- -915, -915, 868, 687, 878, 193, -915, -915, -915, -915,
- -915, 698, -915, -915, 881, -915, 701, -915, -915, 888,
- -915, -915, 208, -915, 7, 888, -915, -915, 892, 894,
- 896, -915, 307, -915, -915, -915, -915, -915, -915, -915,
- 897, 714, 718, 720, 907, 7, -915, 727, -915, -915,
- -915, 728, -915, -915, -915
+ 370, -939, -939, -939, -939, -939, -939, -939, -939, -939,
+ -939, -939, -939, -939, -939, 32, 43, 33, 50, 67,
+ 69, 71, 83, 90, 112, 121, 127, 129, 157, 171,
+ -939, -939, -939, -939, -939, -939, -939, -939, -939, -939,
+ -939, -939, -939, -939, -939, -939, -939, -939, -939, -939,
+ -939, -939, -939, -939, -939, -939, -939, -939, -939, -939,
+ -939, -939, -939, -939, -939, -939, -939, -939, 43, -162,
+ 24, 200, 107, 637, -8, 54, -33, 91, 58, -67,
+ 223, -112, 134, -939, 178, 62, 191, 189, 209, -939,
+ -939, -939, -939, -939, 216, -939, 35, -939, -939, -939,
+ -939, -939, -939, -939, -939, -939, 218, 220, 240, -939,
+ -939, -939, -939, -939, -939, 242, 250, 252, 273, 275,
+ 283, 285, 309, 332, -939, 336, 339, 360, 378, 385,
+ -939, -939, -939, 392, -939, -939, -939, -939, -939, -939,
+ -939, -939, -939, -939, -939, -939, 399, -939, -939, -939,
+ -939, -939, -939, -939, -939, 48, -939, -939, -939, -939,
+ -939, -939, -939, -939, -939, -939, -939, -939, -939, -939,
+ -939, -939, -939, -939, -939, -939, -939, -939, -939, -939,
+ -939, -939, -939, -939, -939, -939, -939, -939, -939, -939,
+ -939, -939, -939, -939, -939, -939, -939, -939, -939, -939,
+ -939, -939, -939, -939, -939, -939, -939, -939, -939, -939,
+ -939, 401, -939, 59, -939, -939, -939, -939, -939, -939,
+ -939, -939, -939, -939, -939, -939, -939, 409, -939, -939,
+ -939, -939, -939, -939, -939, -939, -939, -939, -939, -939,
+ -939, -939, -939, -939, -939, -939, -939, -939, -939, -939,
+ -939, 72, -939, -939, -939, -939, -939, -939, -939, -939,
+ -939, -939, -939, -939, -939, -939, -939, -939, -939, -939,
+ -939, -939, -939, -939, -939, -939, 85, -939, -939, -939,
+ -939, -939, -939, -939, -939, -939, -939, -939, -939, -939,
+ -939, -939, -939, 412, 418, -939, -939, -939, -939, -939,
+ -939, -939, -939, -939, -939, -939, -939, 414, -939, -939,
+ 419, -939, -939, -939, 421, -939, -939, 422, 424, -939,
+ -939, -939, -939, -939, -939, -939, -939, -939, -939, -939,
+ -939, -939, 425, 428, -939, -939, -939, -939, 426, 430,
+ -939, -939, -939, -939, -939, -939, -939, -939, -939, -939,
+ -939, -939, 113, -939, -939, -939, 431, -939, -939, 433,
+ -939, 439, 442, -939, -939, 444, 445, -939, -939, -939,
+ -939, -939, -939, -939, 174, -939, -939, -939, -939, -939,
+ -939, -939, -939, -939, -939, -939, -939, -939, -939, -939,
+ -939, 244, -939, -939, -939, 446, 245, -939, -939, -939,
+ -939, 43, 43, -939, 262, 455, 456, 458, 459, 460,
+ -939, 24, -939, 461, 463, 465, 276, 279, 281, 472,
+ 477, 479, 480, 481, 483, 296, 297, 299, 302, 307,
+ 301, 310, 314, 318, 498, 320, 321, 312, 324, 327,
+ 510, 511, 516, 331, 524, 525, 526, 528, 529, 530,
+ 531, 532, 533, 534, 535, 537, 350, 539, 557, 558,
+ 559, 560, 561, 562, 200, -939, 563, 564, 565, 377,
+ 107, -939, 566, 568, 569, 570, 571, 572, 386, 573,
+ 575, 576, 637, -939, 577, -8, -939, 578, 579, 580,
+ 581, 582, 583, 584, 585, -939, 54, -939, 586, 587,
+ 400, 590, 591, 592, 403, -939, 91, 594, 406, 407,
+ -939, 58, 598, 599, 204, -939, 410, 602, 603, 416,
+ 605, 420, 427, 606, 607, 423, 429, 609, 610, 612,
+ 614, 223, -939, -112, -939, 616, 432, 134, -939, -939,
+ -939, 617, 615, 618, 43, 43, 43, -939, 619, 620,
+ 621, -939, -939, -939, 438, 440, 441, 623, 628, 632,
+ -939, -939, -939, -939, -939, -939, -939, -939, -939, 447,
+ -939, -939, -939, -939, -939, 2, 448, 450, -939, 638,
+ 639, 640, 641, 635, 457, 3, 642, 648, 649, 651,
+ 650, -939, 652, 653, 654, 661, 467, 478, 665, -939,
+ 666, 363, 398, -939, -939, 482, 484, 485, 667, 486,
+ 487, -939, 666, 488, 673, -939, 490, -939, 666, 491,
+ 492, 493, 494, 495, 496, 497, -939, 502, 512, -939,
+ 513, 514, 522, -939, -939, 536, -939, -939, -939, 546,
+ 43, -939, -939, 547, 548, -939, 549, -939, -939, 31,
+ 517, -939, -939, 2, 550, 551, 553, -939, -939, 697,
+ -939, -939, 43, 200, -112, -939, -939, -939, 134, 107,
+ 693, -939, -939, -939, 305, 305, 712, -939, -939, -939,
+ -939, -939, -939, -939, -939, -939, 713, 714, 715, 716,
+ -939, -939, -939, -939, -939, -939, -939, -939, 172, 717,
+ 718, 719, 114, 60, 14, 17, 223, -939, -939, 721,
+ -939, -939, -939, -939, -939, -939, -939, -939, -939, -939,
+ -939, 723, -939, -939, -939, -939, 292, -939, -939, -939,
+ -939, -939, -939, -939, -939, -939, -939, -939, -939, -939,
+ -939, -939, -939, -939, -939, -939, -939, -939, -939, -939,
+ -939, -939, -939, -939, -939, 712, -939, 247, 293, 294,
+ 300, -939, 303, -939, -939, -939, -939, -939, -939, 741,
+ 744, 745, 746, 747, -939, -939, -939, -939, 748, 749,
+ 751, 752, 753, 754, -939, 304, -939, -939, -939, -939,
+ -939, -939, -939, -939, -939, -939, -939, -939, -939, -939,
+ -939, -939, -939, -939, -939, -939, -939, 306, -939, 755,
+ 756, -939, -939, 757, 759, -939, -939, 758, 762, -939,
+ -939, 760, 764, -939, -939, 763, 765, -939, -939, -939,
+ -939, -939, -939, 38, -939, -939, -939, -939, -939, -939,
+ -939, 88, -939, -939, 766, 767, -939, -939, 768, 770,
+ -939, 771, 772, 773, 774, 775, 776, 313, -939, -939,
+ -939, -939, -939, -939, -939, 777, 778, 779, -939, 316,
+ -939, -939, -939, -939, -939, -939, -939, -939, -939, -939,
+ -939, 319, -939, -939, -939, 780, -939, 781, -939, -939,
+ -939, 325, -939, -939, -939, -939, -939, 326, -939, 168,
+ -939, 595, -939, 782, 784, -939, -939, -939, -939, 783,
+ 786, -939, -939, -939, -939, 785, 693, -939, 789, 790,
+ 791, 792, 611, 596, 613, 604, 622, 793, 797, 798,
+ 800, 624, 625, 626, 627, 629, 630, 305, -939, -939,
+ 305, -939, 712, 637, -939, 713, 91, -939, 714, 58,
+ -939, 715, 1166, -939, 716, 172, -939, 109, 717, -939,
+ 54, -939, 718, -67, -939, 719, 633, 634, 643, 644,
+ 645, 646, 114, -939, 636, 647, 655, 60, -939, 802,
+ 803, 14, -939, 656, 804, 657, 805, 17, -939, -939,
+ 124, 721, -939, -939, 806, 807, -8, -939, 723, 809,
+ -939, -939, 660, -939, 371, 662, 663, 664, -939, -939,
+ -939, -939, -939, 668, 669, 670, 671, -939, -939, -939,
+ -939, -939, -939, -939, 329, -939, 376, -939, 812, -939,
+ 813, -939, -939, -939, -939, -939, -939, -939, -939, -939,
+ -939, -939, -939, -939, -939, -939, -939, -939, -939, -939,
+ -939, -939, -939, -939, -939, -939, -939, -939, 380, -939,
+ -939, -939, -939, -939, -939, -939, -939, -939, -939, -939,
+ 811, -939, -939, -939, -939, -939, -939, -939, -939, -939,
+ 816, 808, -939, -939, -939, -939, -939, 819, -939, 387,
+ -939, -939, -939, -939, -939, -939, -939, -939, -939, -939,
+ -939, -939, 672, 674, -939, -939, 675, -939, 43, -939,
+ -939, 825, -939, -939, -939, -939, -939, 389, -939, -939,
+ -939, -939, -939, -939, 676, 390, -939, 666, -939, -939,
+ -939, -939, -939, -939, -939, -939, -939, -939, -939, -939,
+ -939, -939, -939, -939, -939, 1166, -939, 827, 658, -939,
+ 109, -939, -939, -939, -939, -939, -939, 828, 677, 829,
+ 124, -939, -939, -939, -939, -939, 679, -939, -939, 835,
+ -939, 680, -939, -939, 834, -939, -939, 207, -939, -40,
+ 834, -939, -939, 830, 838, 839, -939, 396, -939, -939,
+ -939, -939, -939, -939, -939, 840, 678, 682, 683, 841,
+ -40, -939, 686, -939, -939, -939, 687, -939, -939, -939
};
- const short
+ const unsigned short int
Dhcp4Parser::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, 70, 7, 171, 9, 316, 11,
- 499, 13, 524, 15, 424, 17, 432, 19, 469, 21,
- 281, 23, 630, 25, 697, 27, 686, 29, 47, 41,
- 0, 0, 0, 0, 0, 526, 0, 434, 471, 0,
+ 35, 36, 58, 5, 70, 7, 172, 9, 330, 11,
+ 513, 13, 538, 15, 438, 17, 446, 19, 483, 21,
+ 295, 23, 644, 25, 711, 27, 700, 29, 47, 41,
+ 0, 0, 0, 0, 0, 540, 0, 448, 485, 0,
0, 0, 0, 49, 0, 48, 0, 0, 42, 68,
- 695, 678, 680, 682, 0, 67, 0, 60, 62, 64,
- 65, 66, 63, 684, 160, 186, 0, 0, 0, 545,
- 547, 549, 184, 193, 195, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 134, 0, 0, 0, 0, 0,
- 142, 149, 151, 0, 308, 422, 461, 379, 512, 514,
- 372, 259, 573, 516, 273, 292, 0, 599, 612, 628,
- 153, 155, 702, 124, 0, 72, 74, 75, 76, 77,
- 78, 109, 110, 111, 79, 107, 96, 97, 98, 115,
- 116, 117, 118, 119, 120, 113, 114, 121, 122, 123,
- 82, 83, 104, 84, 85, 86, 90, 91, 80, 108,
- 81, 88, 89, 102, 103, 105, 99, 100, 101, 87,
- 92, 93, 94, 95, 106, 112, 173, 175, 179, 0,
- 170, 0, 162, 164, 165, 166, 167, 168, 169, 360,
- 362, 364, 491, 358, 366, 0, 370, 368, 569, 357,
- 320, 321, 322, 323, 324, 345, 346, 347, 335, 336,
- 348, 349, 350, 351, 352, 353, 354, 355, 356, 0,
- 318, 327, 340, 341, 342, 328, 330, 331, 333, 329,
- 325, 326, 343, 344, 332, 337, 338, 339, 334, 510,
- 509, 505, 506, 504, 0, 501, 503, 507, 508, 567,
- 555, 557, 561, 559, 565, 563, 551, 544, 538, 542,
- 543, 0, 527, 528, 539, 540, 541, 535, 530, 536,
- 532, 533, 534, 537, 531, 0, 451, 239, 0, 455,
- 453, 458, 0, 447, 448, 0, 435, 436, 438, 450,
- 439, 440, 441, 457, 442, 443, 444, 445, 446, 485,
- 0, 0, 483, 484, 487, 488, 0, 472, 473, 475,
- 476, 477, 478, 479, 480, 481, 482, 288, 290, 285,
- 0, 283, 286, 287, 0, 666, 653, 0, 656, 0,
- 0, 660, 664, 0, 0, 670, 672, 674, 676, 651,
- 649, 650, 0, 632, 634, 635, 636, 637, 638, 639,
- 640, 641, 646, 642, 643, 644, 645, 647, 648, 0,
- 699, 701, 692, 0, 0, 688, 690, 691, 46, 0,
- 0, 39, 0, 0, 0, 0, 0, 0, 57, 0,
- 59, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 709, 692, 694, 696, 0, 67, 0, 60, 62, 64,
+ 65, 66, 63, 698, 161, 187, 0, 0, 0, 559,
+ 561, 563, 185, 194, 196, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 135, 0, 0, 0, 0, 0,
+ 143, 150, 152, 0, 322, 436, 475, 393, 526, 528,
+ 386, 260, 587, 530, 287, 306, 0, 274, 613, 626,
+ 642, 154, 156, 716, 125, 0, 72, 74, 75, 76,
+ 77, 78, 109, 110, 111, 79, 107, 96, 97, 98,
+ 115, 116, 117, 118, 119, 120, 113, 114, 121, 122,
+ 123, 82, 83, 104, 84, 85, 86, 124, 90, 91,
+ 80, 108, 81, 88, 89, 102, 103, 105, 99, 100,
+ 101, 87, 92, 93, 94, 95, 106, 112, 174, 176,
+ 180, 0, 171, 0, 163, 165, 166, 167, 168, 169,
+ 170, 374, 376, 378, 505, 372, 380, 0, 384, 382,
+ 583, 371, 334, 335, 336, 337, 338, 359, 360, 361,
+ 349, 350, 362, 363, 364, 365, 366, 367, 368, 369,
+ 370, 0, 332, 341, 354, 355, 356, 342, 344, 345,
+ 347, 343, 339, 340, 357, 358, 346, 351, 352, 353,
+ 348, 524, 523, 519, 520, 518, 0, 515, 517, 521,
+ 522, 581, 569, 571, 575, 573, 579, 577, 565, 558,
+ 552, 556, 557, 0, 541, 542, 553, 554, 555, 549,
+ 544, 550, 546, 547, 548, 551, 545, 0, 465, 240,
+ 0, 469, 467, 472, 0, 461, 462, 0, 449, 450,
+ 452, 464, 453, 454, 455, 471, 456, 457, 458, 459,
+ 460, 499, 0, 0, 497, 498, 501, 502, 0, 486,
+ 487, 489, 490, 491, 492, 493, 494, 495, 496, 302,
+ 304, 299, 0, 297, 300, 301, 0, 680, 667, 0,
+ 670, 0, 0, 674, 678, 0, 0, 684, 686, 688,
+ 690, 665, 663, 664, 0, 646, 648, 649, 650, 651,
+ 652, 653, 654, 655, 660, 656, 657, 658, 659, 661,
+ 662, 0, 713, 715, 706, 0, 0, 702, 704, 705,
+ 46, 0, 0, 39, 0, 0, 0, 0, 0, 0,
+ 57, 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, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 71, 0, 0, 0, 0, 0, 172, 0,
+ 0, 0, 0, 0, 0, 71, 0, 0, 0, 0,
+ 0, 173, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 331, 0, 0, 514, 0, 0, 0,
+ 0, 0, 0, 0, 0, 539, 0, 439, 0, 0,
+ 0, 0, 0, 0, 0, 447, 0, 0, 0, 0,
+ 484, 0, 0, 0, 0, 296, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 317, 0, 0, 500, 0, 0, 0, 0, 0, 0,
- 0, 0, 525, 0, 425, 0, 0, 0, 0, 0,
- 0, 0, 433, 0, 0, 0, 0, 470, 0, 0,
- 0, 0, 282, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 631,
- 0, 698, 0, 0, 0, 687, 50, 43, 0, 0,
- 0, 0, 0, 0, 61, 0, 0, 0, 136, 137,
- 138, 0, 0, 0, 0, 0, 0, 125, 126, 127,
- 128, 129, 130, 131, 132, 133, 0, 158, 159, 139,
- 140, 141, 0, 0, 0, 157, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 598, 0,
- 0, 0, 0, 0, 0, 73, 0, 0, 0, 183,
- 163, 0, 0, 0, 0, 0, 0, 378, 0, 0,
- 0, 319, 0, 502, 0, 0, 0, 0, 0, 0,
- 0, 0, 529, 0, 0, 449, 0, 0, 0, 460,
- 437, 0, 489, 490, 474, 0, 0, 284, 652, 0,
- 0, 655, 0, 658, 659, 0, 0, 668, 669, 0,
- 0, 0, 0, 633, 700, 0, 694, 689, 0, 0,
- 0, 679, 681, 683, 0, 0, 0, 546, 548, 550,
- 0, 0, 197, 135, 144, 145, 146, 147, 148, 143,
- 150, 152, 310, 426, 463, 381, 40, 513, 515, 374,
- 375, 376, 377, 373, 0, 0, 518, 275, 0, 0,
- 0, 0, 154, 156, 0, 51, 174, 177, 178, 176,
- 181, 182, 180, 361, 363, 365, 493, 359, 367, 371,
- 369, 0, 511, 568, 556, 558, 562, 560, 566, 564,
- 552, 452, 240, 456, 454, 459, 486, 289, 291, 667,
- 654, 657, 662, 663, 661, 665, 671, 673, 675, 677,
- 197, 44, 0, 0, 0, 0, 191, 0, 188, 190,
- 226, 232, 234, 236, 0, 0, 0, 0, 0, 248,
- 250, 252, 254, 0, 0, 0, 0, 0, 0, 225,
- 0, 203, 205, 206, 207, 208, 209, 210, 211, 212,
- 213, 214, 218, 219, 220, 215, 221, 222, 223, 216,
- 217, 224, 0, 201, 0, 198, 199, 314, 0, 311,
- 312, 430, 0, 427, 428, 467, 0, 464, 465, 385,
- 0, 382, 383, 268, 269, 270, 271, 272, 0, 261,
- 263, 264, 265, 266, 267, 577, 0, 575, 522, 0,
- 519, 520, 279, 0, 276, 277, 0, 0, 0, 0,
- 0, 0, 0, 294, 296, 297, 298, 299, 300, 301,
- 608, 610, 607, 605, 606, 0, 601, 603, 604, 0,
- 623, 0, 626, 619, 620, 0, 614, 616, 617, 618,
- 621, 0, 706, 0, 704, 53, 497, 0, 494, 495,
- 553, 571, 572, 0, 0, 69, 696, 685, 161, 0,
- 0, 187, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 645, 0, 712, 0, 0, 0, 701, 50,
+ 43, 0, 0, 0, 0, 0, 0, 61, 0, 0,
+ 0, 137, 138, 139, 0, 0, 0, 0, 0, 0,
+ 126, 127, 128, 129, 130, 131, 132, 133, 134, 0,
+ 159, 160, 140, 141, 142, 0, 0, 0, 158, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 185, 194, 0, 196, 0, 0, 309, 0,
- 434, 423, 0, 471, 462, 0, 0, 380, 0, 0,
- 260, 579, 0, 574, 526, 517, 0, 0, 274, 0,
- 0, 0, 0, 0, 0, 0, 0, 293, 0, 0,
- 0, 600, 0, 0, 0, 0, 0, 613, 629, 0,
- 0, 703, 55, 0, 54, 0, 492, 0, 0, 570,
- 693, 0, 189, 0, 0, 0, 0, 238, 241, 242,
- 243, 244, 0, 0, 0, 0, 256, 257, 245, 246,
- 247, 258, 204, 0, 200, 0, 313, 0, 429, 0,
- 466, 421, 404, 405, 406, 392, 393, 409, 410, 411,
- 395, 396, 412, 413, 414, 415, 416, 417, 418, 419,
- 420, 389, 390, 391, 402, 403, 401, 0, 387, 394,
- 407, 408, 397, 398, 399, 400, 384, 262, 595, 0,
- 593, 594, 586, 587, 591, 592, 588, 589, 590, 0,
- 580, 581, 583, 584, 585, 576, 0, 521, 0, 278,
- 302, 303, 304, 305, 306, 307, 295, 0, 0, 602,
- 622, 0, 625, 0, 615, 720, 0, 718, 716, 710,
- 714, 715, 0, 708, 712, 713, 711, 705, 52, 0,
- 0, 496, 0, 192, 228, 229, 230, 231, 227, 233,
- 235, 237, 249, 251, 253, 255, 202, 315, 431, 468,
- 0, 386, 0, 0, 578, 0, 523, 280, 609, 611,
- 624, 627, 0, 0, 0, 0, 707, 56, 498, 554,
- 388, 0, 597, 582, 0, 717, 0, 709, 596, 0,
- 719, 724, 0, 722, 0, 0, 721, 733, 0, 0,
- 0, 738, 0, 726, 728, 729, 730, 731, 732, 723,
- 0, 0, 0, 0, 0, 0, 725, 0, 735, 736,
- 737, 0, 727, 734, 739
+ 0, 612, 0, 0, 0, 0, 0, 0, 0, 73,
+ 0, 0, 0, 184, 164, 0, 0, 0, 0, 0,
+ 0, 392, 0, 0, 0, 333, 0, 516, 0, 0,
+ 0, 0, 0, 0, 0, 0, 543, 0, 0, 463,
+ 0, 0, 0, 474, 451, 0, 503, 504, 488, 0,
+ 0, 298, 666, 0, 0, 669, 0, 672, 673, 0,
+ 0, 682, 683, 0, 0, 0, 0, 647, 714, 0,
+ 708, 703, 0, 0, 0, 693, 695, 697, 0, 0,
+ 0, 560, 562, 564, 0, 0, 198, 136, 145, 146,
+ 147, 148, 149, 144, 151, 153, 324, 440, 477, 395,
+ 40, 527, 529, 388, 389, 390, 391, 387, 0, 0,
+ 532, 289, 0, 0, 0, 0, 0, 155, 157, 0,
+ 51, 175, 178, 179, 177, 182, 183, 181, 375, 377,
+ 379, 507, 373, 381, 385, 383, 0, 525, 582, 570,
+ 572, 576, 574, 580, 578, 566, 466, 241, 470, 468,
+ 473, 500, 303, 305, 681, 668, 671, 676, 677, 675,
+ 679, 685, 687, 689, 691, 198, 44, 0, 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, 444, 0, 441, 442,
+ 481, 0, 478, 479, 399, 0, 396, 397, 269, 270,
+ 271, 272, 273, 0, 262, 264, 265, 266, 267, 268,
+ 591, 0, 589, 536, 0, 533, 534, 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, 622, 624, 621, 619,
+ 620, 0, 615, 617, 618, 0, 637, 0, 640, 633,
+ 634, 0, 628, 630, 631, 632, 635, 0, 720, 0,
+ 718, 53, 511, 0, 508, 509, 567, 585, 586, 0,
+ 0, 69, 710, 699, 162, 0, 0, 188, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 186, 195,
+ 0, 197, 0, 0, 323, 0, 448, 437, 0, 485,
+ 476, 0, 0, 394, 0, 0, 261, 593, 0, 588,
+ 540, 531, 0, 0, 288, 0, 0, 0, 0, 0,
+ 0, 0, 0, 307, 0, 0, 0, 0, 275, 0,
+ 0, 0, 614, 0, 0, 0, 0, 0, 627, 643,
+ 0, 0, 717, 55, 0, 54, 0, 506, 0, 0,
+ 584, 707, 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, 443,
+ 0, 480, 435, 418, 419, 420, 406, 407, 423, 424,
+ 425, 409, 410, 426, 427, 428, 429, 430, 431, 432,
+ 433, 434, 403, 404, 405, 416, 417, 415, 0, 401,
+ 408, 421, 422, 411, 412, 413, 414, 398, 263, 609,
+ 0, 607, 608, 600, 601, 605, 606, 602, 603, 604,
+ 0, 594, 595, 597, 598, 599, 590, 0, 535, 0,
+ 292, 316, 317, 318, 319, 320, 321, 309, 284, 285,
+ 286, 277, 0, 0, 616, 636, 0, 639, 0, 629,
+ 734, 0, 732, 730, 724, 728, 729, 0, 722, 726,
+ 727, 725, 719, 52, 0, 0, 510, 0, 193, 229,
+ 230, 231, 232, 228, 234, 236, 238, 250, 252, 254,
+ 256, 203, 329, 445, 482, 0, 400, 0, 0, 592,
+ 0, 537, 294, 623, 625, 638, 641, 0, 0, 0,
+ 0, 721, 56, 512, 568, 402, 0, 611, 596, 0,
+ 731, 0, 723, 610, 0, 733, 738, 0, 736, 0,
+ 0, 735, 747, 0, 0, 0, 752, 0, 740, 742,
+ 743, 744, 745, 746, 737, 0, 0, 0, 0, 0,
+ 0, 739, 0, 749, 750, 751, 0, 741, 748, 753
};
- const short
+ const short int
Dhcp4Parser::yypgoto_[] =
{
- -915, -915, -915, -915, -915, -915, -915, -915, -915, -915,
- -915, -915, -915, -915, -915, -915, -23, -915, 343, -915,
- -915, -915, -915, -915, -915, -915, -915, -580, -915, -915,
- -915, -70, -915, -915, -915, 550, -915, -915, -915, -915,
- 279, 456, -47, -44, -1, 16, 18, 24, 30, 31,
- -915, -915, -915, -915, 34, 35, 36, 37, 38, 42,
- -915, 270, 48, -915, 49, -915, 50, -915, 52, -915,
- 53, -915, -915, -915, -915, 257, 458, -915, -915, -915,
- -915, -915, -915, -915, -915, -915, -915, -915, -915, -915,
- -915, -915, -915, 82, -915, -915, -915, -915, -915, -915,
- 181, -915, 2, -915, -652, 71, -915, -915, -915, -915,
- -915, -915, -915, -915, -915, -915, -39, -915, -915, -915,
- -915, -915, -915, -915, -915, -915, -915, -915, -915, -915,
- -915, -915, -915, -915, -915, -915, -915, -915, -915, 44,
- -915, -915, -915, -915, -915, -915, -915, -915, -915, 45,
- -915, -915, -915, 40, 484, -915, -915, -915, -915, -915,
- -915, -915, 41, -915, -915, -915, -915, -915, -915, -914,
- -915, -915, -915, 69, -915, -915, -915, 72, 514, -915,
- -915, -915, -915, -915, -915, -915, -915, -912, -915, -43,
- -915, 55, -915, 54, -915, -915, -915, -915, -915, -915,
- -915, 58, -915, -915, -120, -63, -915, -915, -915, -915,
- -915, 70, -915, -915, -915, 76, -915, 501, -915, -66,
- -915, -915, -915, -915, -915, -64, -915, -915, -915, -915,
- -915, -7, -915, -915, -915, 78, -915, -915, -915, 83,
- -915, 493, -915, -915, -915, -915, -915, -915, -915, -915,
- -915, -915, -915, 26, -915, -915, -915, 32, 523, -915,
- -915, -57, -915, -20, -915, -62, -915, -915, -915, 63,
- -915, -915, -915, 80, -915, 517, 0, -915, 6, -915,
- 12, -915, 287, -915, -915, -915, -915, -915, -915, -915,
- -915, -915, -915, -915, -915, -915, -915, -915, -915, -915,
- -911, -915, -915, -915, -915, -915, 84, -915, -915, -915,
- -114, -915, -915, -915, -915, -915, -915, -915, -915, 57,
- -915, -915, -915, -915, -915, -915, -915, 46, -915, -915,
- -915, -915, -915, -915, -915, -915, -915, -915, 313, 487,
- -915, -915, -915, -915, -915, -915, -915, -915, -915, -915,
- -915, -915, -915, -915, -915, -915, -915, -915, -915, -915,
- -915, -915, -915, -915, -915, -915, -915, -915, -915, -915,
- -915, -915, -915, -915, -915, 354, 489, -915, -915, -915,
- -915, -915, -915, -915, 359, 491, -75, -915, -915, 59,
- -915, -915, -115, -915, -915, -915, -915, -915, -915, -133,
- -915, -915, -150, -915, -915, -915, -915, -915, -915, -915
+ -939, -939, -939, -939, -939, -939, -939, -939, -939, -939,
+ -939, -939, -939, -939, -939, -939, 0, -939, 177, -939,
+ -939, -939, -939, -939, -939, -939, -939, -587, -939, -939,
+ -939, -70, -939, -939, -939, 435, -939, -939, -939, -939,
+ 108, 384, -43, -31, -27, -4, -2, 8, 16, 19,
+ -939, -939, -939, -939, 22, 23, 26, 27, 29, 34,
+ -939, 203, 37, -939, 40, -939, 41, -939, 42, -939,
+ 44, -939, -939, -939, -939, 188, 388, -939, -939, -939,
+ -939, -939, -939, -939, -939, -939, -939, -939, -939, -939,
+ -939, -939, -939, -52, -939, -939, -939, -939, -939, -939,
+ 126, -939, -74, -939, -662, -41, -939, -939, -939, -939,
+ -939, -939, -939, -939, -939, -939, -66, -939, -939, -939,
+ -939, -939, -939, -939, -939, -939, -939, -939, -939, -939,
+ -939, -939, -939, -939, -939, -939, -939, -939, -939, -42,
+ -939, -939, -939, -939, -939, -939, -939, -939, -89, -939,
+ -939, -939, -939, -939, -939, -939, -64, -939, -939, -939,
+ -46, 383, -939, -939, -939, -939, -939, -939, -939, -35,
+ -939, -939, -939, -939, -939, -939, -938, -939, -939, -939,
+ -15, -939, -939, -939, -25, 449, -939, -939, -939, -939,
+ -939, -939, -939, -939, -936, -939, -68, -939, 46, -939,
+ 45, -939, -939, -939, -939, -939, -939, -939, -20, -939,
+ -939, -201, -49, -939, -939, -939, -939, -939, 5, -939,
+ -939, -939, -1, -939, 489, -939, -45, -939, -939, -939,
+ -939, -939, -39, -939, -939, -939, -939, -939, -38, -939,
+ -939, -939, 1, -939, -939, -939, 6, -939, 499, -939,
+ -939, -939, -939, -939, -939, -939, -939, -939, -939, -939,
+ -7, -939, -939, -939, -6, 515, -939, -939, -54, -939,
+ -14, -939, -28, -939, -939, -939, 39, -939, -939, -939,
+ 47, -939, 503, -58, -939, -3, -939, 4, -939, 277,
+ -939, -939, -939, -939, -939, -939, -939, -939, -939, -939,
+ -939, -939, -939, -939, -939, -939, -939, -924, -939, -939,
+ -939, -939, -939, 51, -939, -939, -939, -148, -939, -939,
+ -939, -939, -939, -939, -939, -939, 25, -939, -939, -939,
+ -939, -939, -939, -939, 18, -939, -939, -939, -939, -939,
+ -939, -939, -939, -939, -939, 298, 500, -939, -939, -939,
+ -939, -939, -939, -939, -939, -939, -939, -939, -939, -939,
+ -939, -939, -939, -939, -939, -939, -939, -939, -939, -939,
+ -939, -939, -939, -939, -939, -939, -939, -939, -939, -939,
+ -939, -939, 340, 474, -939, -939, -939, -939, -939, -939,
+ -939, 348, 501, -59, -939, -939, 28, -939, -939, -147,
+ -939, -939, -939, -939, -939, -939, -166, -939, -939, -185,
+ -939, -939, -939, -939, -939, -939, -939
};
- const short
+ const short int
Dhcp4Parser::yydefgoto_[] =
{
-1, 15, 16, 17, 18, 19, 20, 21, 22, 23,
24, 25, 26, 27, 28, 29, 38, 39, 40, 69,
- 687, 87, 88, 41, 68, 84, 85, 706, 885, 973,
- 974, 779, 43, 70, 96, 97, 98, 403, 45, 71,
- 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
- 164, 165, 432, 166, 167, 168, 169, 170, 171, 172,
- 438, 679, 173, 439, 174, 440, 175, 458, 176, 459,
- 177, 178, 179, 180, 412, 211, 212, 47, 72, 213,
- 463, 214, 464, 709, 215, 465, 712, 216, 181, 420,
- 182, 413, 757, 758, 759, 899, 183, 421, 184, 422,
- 804, 805, 806, 924, 780, 781, 782, 902, 1108, 783,
- 903, 784, 904, 785, 905, 786, 787, 496, 788, 789,
- 790, 791, 792, 793, 794, 795, 911, 796, 912, 797,
- 913, 798, 914, 799, 800, 801, 185, 449, 828, 829,
- 830, 831, 832, 833, 834, 186, 452, 843, 844, 845,
- 947, 61, 79, 350, 351, 352, 509, 353, 510, 187,
- 453, 852, 853, 854, 855, 856, 857, 858, 859, 188,
- 442, 808, 809, 810, 927, 49, 73, 249, 250, 251,
- 473, 252, 469, 253, 470, 254, 471, 255, 474, 256,
- 477, 257, 476, 189, 448, 693, 259, 190, 445, 820,
- 821, 822, 936, 1037, 1038, 191, 443, 55, 76, 812,
- 813, 814, 930, 57, 77, 315, 316, 317, 318, 319,
- 320, 321, 495, 322, 499, 323, 498, 324, 325, 500,
- 326, 192, 444, 816, 817, 818, 933, 59, 78, 336,
- 337, 338, 339, 340, 504, 341, 342, 343, 344, 261,
- 472, 887, 888, 889, 975, 51, 74, 274, 275, 276,
- 481, 193, 446, 194, 447, 195, 451, 839, 840, 841,
- 944, 53, 75, 291, 292, 293, 196, 417, 197, 418,
- 198, 419, 297, 491, 892, 978, 298, 485, 299, 486,
- 300, 488, 301, 487, 302, 490, 303, 489, 304, 484,
- 268, 478, 893, 199, 450, 836, 837, 941, 1059, 1060,
- 1061, 1062, 1063, 1122, 1064, 200, 201, 455, 865, 866,
- 867, 958, 868, 959, 202, 456, 875, 876, 877, 878,
- 963, 879, 880, 965, 203, 457, 63, 80, 372, 373,
- 374, 375, 515, 376, 377, 517, 378, 379, 380, 520,
- 744, 381, 521, 382, 514, 383, 384, 385, 524, 386,
- 525, 387, 526, 388, 527, 99, 405, 100, 406, 101,
- 407, 204, 411, 67, 82, 394, 395, 396, 532, 397,
- 102, 404, 65, 81, 389, 390, 205, 460, 883, 884,
- 969, 1092, 1093, 1094, 1095, 1134, 1096, 1132, 1152, 1153,
- 1154, 1162, 1163, 1164, 1170, 1165, 1166, 1167, 1168, 1174
+ 691, 87, 88, 41, 68, 84, 85, 711, 901, 994,
+ 995, 784, 43, 70, 96, 97, 98, 405, 45, 71,
+ 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
+ 165, 166, 434, 167, 168, 169, 170, 171, 172, 173,
+ 440, 683, 174, 441, 175, 442, 176, 461, 177, 462,
+ 178, 179, 180, 181, 414, 213, 214, 47, 72, 215,
+ 466, 216, 467, 714, 217, 468, 717, 218, 182, 422,
+ 183, 415, 762, 763, 764, 915, 184, 423, 185, 424,
+ 809, 810, 811, 940, 785, 786, 787, 918, 1133, 788,
+ 919, 789, 920, 790, 921, 791, 792, 499, 793, 794,
+ 795, 796, 797, 798, 799, 800, 927, 801, 928, 802,
+ 929, 803, 930, 804, 805, 806, 186, 451, 833, 834,
+ 835, 836, 837, 838, 839, 187, 457, 869, 870, 871,
+ 872, 873, 188, 454, 848, 849, 850, 963, 61, 79,
+ 352, 353, 354, 512, 355, 513, 189, 455, 857, 858,
+ 859, 860, 861, 862, 863, 864, 190, 444, 813, 814,
+ 815, 943, 49, 73, 251, 252, 253, 476, 254, 472,
+ 255, 473, 256, 474, 257, 477, 258, 480, 259, 479,
+ 191, 450, 697, 261, 192, 447, 825, 826, 827, 952,
+ 1058, 1059, 193, 445, 55, 76, 817, 818, 819, 946,
+ 57, 77, 317, 318, 319, 320, 321, 322, 323, 498,
+ 324, 502, 325, 501, 326, 327, 503, 328, 194, 446,
+ 821, 822, 823, 949, 59, 78, 338, 339, 340, 341,
+ 342, 507, 343, 344, 345, 346, 263, 475, 903, 904,
+ 905, 996, 51, 74, 276, 277, 278, 484, 195, 448,
+ 196, 449, 197, 453, 844, 845, 846, 960, 53, 75,
+ 293, 294, 295, 198, 419, 199, 420, 200, 421, 299,
+ 494, 908, 999, 300, 488, 301, 489, 302, 491, 303,
+ 490, 304, 493, 305, 492, 306, 487, 270, 481, 909,
+ 201, 452, 841, 842, 957, 1080, 1081, 1082, 1083, 1084,
+ 1147, 1085, 202, 203, 458, 881, 882, 883, 979, 884,
+ 980, 204, 459, 891, 892, 893, 894, 984, 895, 896,
+ 986, 205, 460, 63, 80, 374, 375, 376, 377, 518,
+ 378, 379, 520, 380, 381, 382, 523, 749, 383, 524,
+ 384, 517, 385, 386, 387, 527, 388, 528, 389, 529,
+ 390, 530, 99, 407, 100, 408, 101, 409, 206, 413,
+ 67, 82, 396, 397, 398, 535, 399, 102, 406, 65,
+ 81, 391, 392, 207, 463, 899, 900, 990, 1117, 1118,
+ 1119, 1120, 1159, 1121, 1157, 1177, 1178, 1179, 1187, 1188,
+ 1189, 1195, 1190, 1191, 1192, 1193, 1199
};
- const short
+ const unsigned short int
Dhcp4Parser::yytable_[] =
{
- 95, 153, 210, 229, 270, 287, 391, 313, 332, 349,
- 369, 264, 334, 305, 335, 217, 262, 277, 289, 802,
- 327, 345, 1032, 370, 1033, 1045, 230, 89, 719, 231,
- 42, 271, 742, 31, 723, 32, 136, 33, 314, 333,
- 206, 207, 347, 348, 208, 83, 409, 209, 269, 138,
- 139, 410, 218, 263, 278, 290, 30, 328, 346, 86,
- 371, 226, 347, 348, 227, 461, 260, 273, 288, 135,
- 462, 467, 232, 265, 44, 294, 468, 479, 482, 266,
- 46, 295, 480, 483, 48, 267, 50, 296, 52, 233,
- 511, 234, 109, 110, 111, 512, 528, 235, 138, 139,
- 306, 529, 939, 236, 237, 940, 152, 238, 239, 240,
- 241, 242, 530, 534, 54, 243, 399, 531, 535, 138,
- 139, 244, 245, 246, 56, 247, 248, 258, 94, 272,
- 58, 461, 674, 675, 676, 677, 895, 398, 530, 869,
- 870, 871, 94, 896, 135, 136, 307, 534, 307, 60,
- 308, 309, 897, 62, 310, 311, 312, 64, 138, 139,
- 138, 139, 823, 824, 825, 826, 743, 827, 678, 66,
- 1157, 1048, 1049, 1158, 1159, 1160, 1161, 90, 400, 942,
- 103, 467, 943, 104, 138, 139, 898, 91, 92, 93,
- 970, 872, 105, 971, 106, 107, 108, 109, 110, 111,
- 112, 113, 114, 401, 94, 900, 1032, 402, 1033, 1045,
- 901, 1155, 94, 408, 1156, 34, 35, 36, 37, 921,
- 921, 492, 860, 861, 922, 923, 115, 116, 117, 118,
- 119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
- 129, 130, 131, 132, 133, 134, 414, 956, 493, 135,
- 136, 94, 957, 94, 846, 847, 848, 849, 850, 851,
- 137, 960, 966, 138, 139, 528, 961, 967, 140, 415,
- 968, 921, 1003, 141, 142, 307, 1116, 94, 479, 143,
- 1120, 511, 494, 1117, 416, 1121, 1127, 138, 139, 144,
- 707, 708, 145, 307, 329, 308, 309, 330, 331, 146,
- 147, 392, 393, 148, 1135, 138, 139, 149, 482, 1136,
- 1175, 710, 711, 1138, 423, 1176, 107, 108, 109, 110,
- 111, 689, 690, 691, 692, 286, 890, 150, 151, 424,
- 152, 1104, 1105, 1106, 1107, 425, 426, 427, 428, 95,
- 429, 430, 431, 433, 434, 435, 436, 115, 116, 117,
- 118, 119, 120, 121, 122, 1085, 94, 1086, 1087, 127,
- 128, 129, 130, 131, 132, 133, 437, 219, 220, 221,
- 441, 136, 454, 466, 475, 497, 536, 537, 501, 503,
- 94, 502, 222, 505, 138, 139, 223, 224, 225, 140,
- 506, 153, 508, 507, 513, 516, 226, 210, 94, 227,
- 143, 518, 519, 522, 523, 533, 538, 228, 539, 229,
- 217, 540, 270, 541, 542, 543, 545, 264, 546, 547,
- 548, 549, 262, 287, 550, 277, 551, 552, 553, 554,
- 555, 556, 230, 313, 557, 231, 289, 558, 332, 271,
- 559, 560, 334, 561, 335, 563, 327, 218, 150, 151,
- 562, 345, 564, 566, 565, 391, 572, 567, 369, 263,
- 568, 569, 278, 573, 314, 574, 570, 576, 577, 333,
- 578, 370, 260, 290, 571, 273, 575, 94, 232, 265,
- 579, 580, 581, 328, 582, 266, 288, 583, 346, 584,
- 585, 267, 586, 294, 587, 233, 588, 234, 589, 295,
- 590, 591, 592, 235, 599, 296, 593, 594, 371, 236,
- 237, 596, 597, 238, 239, 240, 241, 242, 661, 662,
- 663, 243, 1139, 598, 601, 602, 603, 244, 245, 246,
- 604, 247, 248, 258, 760, 605, 606, 272, 607, 761,
- 762, 763, 764, 765, 766, 767, 768, 769, 770, 771,
- 772, 773, 774, 775, 776, 777, 778, 1, 2, 3,
+ 95, 154, 212, 231, 272, 289, 273, 315, 334, 351,
+ 371, 316, 335, 807, 1053, 267, 1054, 296, 219, 264,
+ 279, 291, 393, 329, 347, 724, 372, 307, 1066, 86,
+ 232, 728, 30, 336, 89, 262, 275, 290, 411, 337,
+ 42, 955, 233, 412, 956, 266, 234, 135, 31, 747,
+ 32, 464, 33, 153, 349, 350, 465, 44, 220, 265,
+ 280, 292, 470, 330, 348, 401, 373, 471, 83, 235,
+ 268, 236, 297, 136, 46, 482, 48, 269, 50, 298,
+ 483, 237, 109, 110, 111, 271, 138, 139, 485, 238,
+ 52, 958, 239, 486, 959, 240, 241, 54, 228, 242,
+ 243, 229, 244, 693, 694, 695, 696, 245, 138, 139,
+ 246, 138, 139, 247, 248, 249, 514, 250, 260, 56,
+ 274, 515, 208, 209, 94, 308, 210, 1182, 58, 211,
+ 1183, 1184, 1185, 1186, 60, 136, 62, 109, 110, 111,
+ 309, 331, 310, 311, 332, 333, 394, 395, 138, 139,
+ 876, 877, 138, 139, 138, 139, 885, 886, 887, 281,
+ 678, 679, 680, 681, 64, 282, 283, 284, 285, 286,
+ 287, 991, 288, 309, 992, 310, 311, 531, 66, 312,
+ 313, 314, 532, 94, 400, 138, 139, 748, 90, 135,
+ 136, 309, 865, 866, 867, 402, 682, 403, 91, 92,
+ 93, 138, 139, 138, 139, 94, 309, 1053, 888, 1054,
+ 1180, 103, 404, 1181, 104, 94, 1069, 1070, 138, 139,
+ 410, 1066, 416, 105, 417, 106, 107, 108, 109, 110,
+ 111, 112, 113, 114, 34, 35, 36, 37, 851, 852,
+ 853, 854, 855, 856, 418, 94, 425, 533, 537, 94,
+ 464, 94, 534, 538, 426, 911, 427, 115, 116, 117,
+ 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
+ 128, 129, 130, 131, 132, 133, 134, 428, 1024, 429,
+ 135, 136, 94, 828, 829, 830, 831, 430, 832, 431,
+ 1110, 137, 1111, 1112, 138, 139, 533, 537, 94, 140,
+ 94, 912, 913, 470, 141, 142, 916, 937, 914, 937,
+ 143, 917, 938, 432, 939, 94, 972, 138, 139, 977,
+ 144, 973, 981, 145, 978, 349, 350, 982, 987, 531,
+ 146, 147, 937, 988, 989, 148, 433, 1141, 149, 765,
+ 435, 95, 150, 436, 766, 767, 768, 769, 770, 771,
+ 772, 773, 774, 775, 776, 777, 778, 779, 780, 781,
+ 782, 783, 151, 152, 437, 153, 356, 357, 358, 359,
+ 360, 361, 362, 363, 364, 365, 366, 367, 368, 482,
+ 712, 713, 438, 1145, 1142, 369, 370, 309, 1146, 439,
+ 514, 94, 1160, 485, 154, 1152, 443, 1161, 1163, 1200,
+ 212, 539, 540, 456, 1201, 469, 1129, 1130, 1131, 1132,
+ 288, 906, 231, 478, 94, 272, 219, 273, 715, 716,
+ 495, 496, 497, 500, 267, 504, 289, 506, 264, 508,
+ 505, 279, 509, 511, 510, 516, 315, 519, 296, 232,
+ 316, 334, 291, 521, 262, 335, 522, 275, 525, 526,
+ 536, 233, 329, 541, 266, 234, 220, 347, 290, 542,
+ 543, 371, 544, 545, 546, 548, 336, 549, 265, 550,
+ 551, 280, 337, 552, 393, 553, 554, 372, 235, 268,
+ 236, 555, 292, 556, 557, 558, 269, 559, 560, 561,
+ 237, 562, 330, 297, 563, 565, 94, 348, 238, 564,
+ 298, 239, 569, 566, 240, 241, 572, 567, 242, 243,
+ 568, 244, 570, 571, 575, 576, 245, 373, 573, 246,
+ 577, 574, 247, 248, 249, 578, 250, 260, 579, 580,
+ 581, 274, 582, 583, 584, 585, 586, 587, 588, 589,
+ 1164, 590, 591, 592, 665, 666, 667, 1, 2, 3,
4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
- 14, 608, 609, 610, 612, 614, 615, 616, 617, 618,
- 619, 620, 307, 621, 623, 391, 624, 626, 627, 153,
- 625, 628, 631, 629, 635, 210, 632, 636, 633, 639,
- 745, 640, 642, 638, 641, 643, 644, 645, 217, 646,
- 647, 648, 649, 738, 650, 107, 108, 109, 110, 111,
- 651, 652, 655, 656, 109, 110, 111, 658, 659, 862,
- 667, 369, 660, 664, 665, 751, 666, 668, 669, 670,
- 671, 672, 863, 873, 370, 218, 115, 116, 117, 118,
- 119, 120, 121, 122, 673, 680, 681, 682, 127, 128,
- 129, 130, 131, 132, 133, 134, 683, 684, 685, 688,
- 136, 307, 138, 139, 32, 694, 695, 136, 696, 864,
- 874, 371, 697, 138, 139, 698, 224, 94, 140, 699,
- 138, 139, 700, 701, 704, 226, 702, 703, 227, 705,
- 713, 279, 714, 715, 716, 717, 228, 280, 281, 282,
- 283, 284, 285, 721, 286, 718, 720, 354, 355, 356,
- 357, 358, 359, 360, 361, 362, 363, 364, 365, 366,
- 722, 724, 725, 726, 727, 728, 367, 368, 729, 730,
- 731, 732, 733, 734, 735, 736, 737, 150, 151, 739,
- 740, 741, 747, 748, 750, 756, 979, 803, 807, 811,
- 815, 819, 835, 838, 842, 94, 882, 886, 749, 906,
- 907, 908, 909, 910, 915, 916, 94, 917, 918, 919,
- 920, 950, 926, 94, 925, 929, 928, 931, 932, 934,
- 935, 938, 937, 946, 972, 945, 949, 948, 951, 952,
- 953, 954, 955, 962, 964, 977, 1103, 976, 981, 980,
- 983, 984, 985, 986, 988, 992, 987, 993, 989, 994,
- 995, 990, 991, 996, 1077, 997, 998, 999, 1078, 1001,
- 1000, 1070, 1071, 1072, 1073, 1074, 1075, 1081, 1082, 1080,
- 1083, 1098, 1099, 1109, 1102, 1110, 1111, 1112, 1123, 1118,
- 1119, 1113, 1114, 1115, 1124, 1125, 1126, 229, 1133, 1128,
- 313, 1129, 1130, 332, 1141, 264, 1011, 334, 1137, 335,
- 262, 1050, 1144, 327, 287, 1145, 345, 349, 1052, 1040,
- 230, 1142, 1146, 231, 1054, 1148, 1149, 289, 1150, 1012,
- 862, 314, 1013, 1034, 333, 1151, 1171, 1031, 1172, 1088,
- 1173, 1177, 1051, 863, 1178, 270, 1179, 263, 1180, 873,
- 328, 1181, 1090, 346, 1183, 1184, 1041, 595, 277, 746,
- 260, 1055, 755, 686, 290, 600, 232, 265, 1004, 1039,
- 1089, 894, 271, 266, 1053, 1014, 1042, 288, 752, 267,
- 864, 1056, 1043, 233, 294, 234, 874, 1057, 1044, 1091,
- 295, 235, 1015, 1058, 1016, 278, 296, 236, 237, 544,
- 1017, 238, 239, 240, 241, 242, 1018, 1019, 273, 243,
- 1020, 1021, 1022, 1023, 1024, 244, 245, 246, 1025, 247,
- 248, 258, 982, 1047, 1026, 1027, 1028, 1068, 1029, 1030,
- 1036, 1035, 1002, 611, 1069, 637, 1046, 1076, 1006, 1005,
- 1140, 634, 1008, 1101, 630, 613, 1007, 1100, 891, 1067,
- 622, 1143, 1084, 1010, 881, 653, 1009, 1079, 754, 753,
- 1147, 654, 1169, 657, 1066, 1182, 1065, 0, 0, 1097,
- 272, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 14, 593, 594, 595, 596, 597, 598, 600, 601, 602,
+ 605, 603, 606, 607, 608, 609, 610, 612, 611, 613,
+ 614, 616, 618, 619, 620, 621, 622, 623, 624, 625,
+ 627, 628, 629, 154, 630, 631, 632, 633, 635, 212,
+ 636, 637, 639, 640, 642, 393, 643, 644, 645, 646,
+ 649, 650, 647, 653, 654, 219, 655, 651, 656, 648,
+ 659, 662, 663, 652, 660, 664, 668, 669, 670, 671,
+ 674, 672, 673, 868, 878, 675, 371, 676, 677, 684,
+ 743, 685, 32, 686, 687, 688, 689, 698, 692, 874,
+ 879, 889, 372, 699, 700, 220, 701, 702, 707, 703,
+ 704, 705, 756, 107, 108, 109, 110, 111, 706, 708,
+ 709, 710, 721, 718, 750, 719, 720, 722, 723, 725,
+ 726, 727, 729, 730, 731, 732, 733, 734, 735, 875,
+ 880, 890, 373, 736, 115, 116, 117, 118, 119, 120,
+ 121, 122, 755, 737, 738, 739, 127, 128, 129, 130,
+ 131, 132, 133, 740, 221, 222, 223, 761, 136, 808,
+ 812, 816, 820, 824, 840, 843, 847, 741, 898, 224,
+ 902, 138, 139, 225, 226, 227, 140, 742, 744, 745,
+ 746, 752, 753, 228, 754, 922, 229, 143, 923, 924,
+ 925, 926, 931, 932, 230, 933, 934, 935, 936, 942,
+ 690, 941, 945, 944, 947, 948, 950, 951, 954, 953,
+ 962, 757, 961, 965, 964, 966, 967, 968, 969, 970,
+ 971, 974, 975, 976, 983, 985, 993, 998, 997, 1002,
+ 1009, 1000, 1001, 1004, 1005, 1006, 1007, 1013, 1011, 151,
+ 152, 1014, 1015, 1008, 1016, 1010, 1102, 1103, 1106, 1108,
+ 1124, 1150, 1123, 1127, 1012, 1148, 1017, 1018, 1019, 1020,
+ 1143, 1144, 1022, 1021, 1149, 1091, 1092, 1151, 94, 1158,
+ 1098, 1166, 1169, 1171, 1196, 1093, 1094, 1095, 1096, 1099,
+ 1174, 1176, 1197, 1198, 1202, 1206, 547, 1100, 599, 1107,
+ 1105, 1128, 1167, 1134, 1135, 1136, 751, 760, 604, 1137,
+ 1138, 1139, 1140, 1153, 1003, 1154, 1155, 1162, 1025, 1170,
+ 1173, 1175, 1203, 231, 1204, 1205, 315, 1208, 1209, 334,
+ 316, 910, 1032, 335, 1055, 267, 1052, 1071, 1101, 264,
+ 289, 1072, 329, 351, 1063, 347, 1023, 641, 1061, 1077,
+ 232, 1090, 296, 1075, 336, 262, 291, 868, 1073, 1033,
+ 337, 878, 233, 1068, 1060, 266, 234, 1089, 1026, 1074,
+ 1113, 1034, 290, 874, 1114, 1035, 272, 879, 273, 265,
+ 1027, 615, 330, 889, 1067, 348, 1115, 1097, 1062, 235,
+ 268, 236, 279, 1076, 1165, 1028, 292, 269, 1036, 1064,
+ 1037, 237, 1031, 1029, 1078, 1030, 1065, 297, 275, 238,
+ 1038, 1079, 239, 875, 298, 240, 241, 880, 1039, 242,
+ 243, 1040, 244, 890, 1041, 1042, 1116, 245, 1043, 1044,
+ 246, 1045, 280, 247, 248, 249, 1046, 250, 260, 1047,
+ 1125, 1126, 1048, 1049, 1050, 634, 1051, 1057, 1056, 626,
+ 617, 1088, 1168, 907, 897, 1109, 1104, 1087, 759, 1086,
+ 638, 661, 758, 1172, 1194, 1207, 0, 0, 0, 1122,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 657, 0, 0, 658, 0, 0, 0, 0, 0,
+ 0, 0, 274, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1011, 0, 0, 0, 0, 1050, 0, 0, 0, 0,
- 1131, 0, 1052, 1040, 0, 1088, 0, 0, 1054, 0,
- 0, 0, 0, 1012, 0, 0, 1013, 1034, 1090, 0,
- 0, 1031, 0, 0, 0, 0, 1051, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1089, 0, 0, 0,
- 1041, 0, 0, 0, 0, 1055, 0, 0, 0, 0,
- 0, 0, 0, 1039, 0, 1091, 0, 0, 1053, 1014,
- 1042, 0, 0, 0, 0, 1056, 1043, 0, 0, 0,
- 0, 1057, 1044, 0, 0, 0, 1015, 1058, 1016, 0,
- 0, 0, 0, 0, 1017, 0, 0, 0, 0, 0,
- 1018, 1019, 0, 0, 1020, 1021, 1022, 1023, 1024, 0,
- 0, 0, 1025, 0, 0, 0, 0, 0, 1026, 1027,
- 1028, 0, 1029, 1030, 1036, 1035
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1032, 0, 1055, 0, 1052,
+ 1071, 0, 0, 0, 1072, 0, 0, 1063, 0, 0,
+ 1113, 1061, 1077, 0, 1114, 0, 1075, 0, 0, 0,
+ 0, 1073, 1033, 0, 0, 0, 1115, 1060, 1156, 0,
+ 0, 0, 1074, 0, 1034, 0, 0, 0, 1035, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1062, 0, 0, 0, 0, 1076, 0, 0, 0,
+ 0, 1036, 1064, 1037, 0, 0, 1116, 1078, 0, 1065,
+ 0, 0, 0, 1038, 1079, 0, 0, 0, 0, 0,
+ 0, 1039, 0, 0, 1040, 0, 0, 1041, 1042, 0,
+ 0, 1043, 1044, 0, 1045, 0, 0, 0, 0, 1046,
+ 0, 0, 1047, 0, 0, 1048, 1049, 1050, 0, 1051,
+ 1057, 1056, 107, 108, 109, 110, 111, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 115, 116, 117, 118, 119, 120, 121,
+ 122, 0, 0, 0, 0, 127, 128, 129, 130, 131,
+ 132, 133, 134, 0, 0, 0, 0, 136, 309, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 138, 139, 0, 226, 0, 140, 0, 0, 0, 0,
+ 0, 0, 228, 0, 0, 229, 0, 0, 0, 0,
+ 0, 0, 0, 230, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 151, 152,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 94
};
- const short
+ const short int
Dhcp4Parser::yycheck_[] =
{
- 70, 71, 72, 73, 74, 75, 81, 77, 78, 79,
- 80, 73, 78, 76, 78, 72, 73, 74, 75, 671,
- 77, 78, 936, 80, 936, 936, 73, 10, 608, 73,
- 7, 74, 18, 5, 614, 7, 81, 9, 77, 78,
- 15, 16, 121, 122, 19, 68, 3, 22, 93, 94,
- 95, 8, 72, 73, 74, 75, 0, 77, 78, 187,
- 80, 106, 121, 122, 109, 3, 73, 74, 75, 80,
- 8, 3, 73, 73, 7, 75, 8, 3, 3, 73,
- 7, 75, 8, 8, 7, 73, 7, 75, 7, 73,
- 3, 73, 28, 29, 30, 8, 3, 73, 94, 95,
- 34, 8, 3, 73, 73, 6, 161, 73, 73, 73,
- 73, 73, 3, 3, 7, 73, 3, 8, 8, 94,
- 95, 73, 73, 73, 7, 73, 73, 73, 187, 74,
- 7, 3, 154, 155, 156, 157, 8, 6, 3, 135,
- 136, 137, 187, 8, 80, 81, 82, 3, 82, 7,
- 84, 85, 8, 7, 88, 89, 90, 7, 94, 95,
- 94, 95, 111, 112, 113, 114, 152, 116, 190, 7,
- 163, 107, 108, 166, 167, 168, 169, 160, 4, 3,
- 11, 3, 6, 14, 94, 95, 8, 170, 171, 172,
- 3, 187, 23, 6, 25, 26, 27, 28, 29, 30,
- 31, 32, 33, 8, 187, 3, 1120, 3, 1120, 1120,
- 8, 3, 187, 4, 6, 187, 188, 189, 190, 3,
- 3, 8, 132, 133, 8, 8, 57, 58, 59, 60,
- 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
- 71, 72, 73, 74, 75, 76, 4, 3, 3, 80,
- 81, 187, 8, 187, 124, 125, 126, 127, 128, 129,
- 91, 3, 3, 94, 95, 3, 8, 8, 99, 4,
- 8, 3, 924, 104, 105, 82, 8, 187, 3, 110,
- 3, 3, 8, 8, 4, 8, 8, 94, 95, 120,
- 17, 18, 123, 82, 83, 84, 85, 86, 87, 130,
- 131, 12, 13, 134, 3, 94, 95, 138, 3, 8,
- 3, 20, 21, 8, 4, 8, 26, 27, 28, 29,
- 30, 100, 101, 102, 103, 118, 119, 158, 159, 4,
- 161, 35, 36, 37, 38, 4, 4, 4, 4, 409,
- 4, 4, 4, 4, 4, 4, 4, 57, 58, 59,
- 60, 61, 62, 63, 64, 162, 187, 164, 165, 69,
- 70, 71, 72, 73, 74, 75, 4, 77, 78, 79,
- 4, 81, 4, 4, 4, 4, 399, 400, 4, 3,
- 187, 8, 92, 4, 94, 95, 96, 97, 98, 99,
- 4, 461, 3, 8, 4, 4, 106, 467, 187, 109,
- 110, 4, 4, 4, 4, 4, 187, 117, 4, 479,
- 467, 4, 482, 4, 4, 4, 4, 479, 4, 4,
- 190, 190, 479, 493, 190, 482, 4, 4, 4, 4,
- 4, 4, 479, 503, 188, 479, 493, 188, 508, 482,
- 188, 188, 508, 188, 508, 189, 503, 467, 158, 159,
- 190, 508, 189, 4, 188, 530, 4, 188, 528, 479,
- 188, 190, 482, 4, 503, 4, 190, 4, 4, 508,
- 4, 528, 479, 493, 190, 482, 190, 187, 479, 479,
- 4, 4, 4, 503, 4, 479, 493, 4, 508, 4,
- 4, 479, 4, 493, 4, 479, 188, 479, 4, 493,
- 4, 4, 4, 479, 190, 493, 4, 4, 528, 479,
- 479, 4, 4, 479, 479, 479, 479, 479, 541, 542,
- 543, 479, 1102, 4, 4, 4, 4, 479, 479, 479,
- 4, 479, 479, 479, 34, 4, 4, 482, 188, 39,
- 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
- 50, 51, 52, 53, 54, 55, 56, 173, 174, 175,
- 176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
- 186, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 82, 4, 4, 660, 4, 4, 4, 659,
- 188, 4, 4, 190, 4, 665, 190, 4, 190, 4,
- 153, 4, 4, 190, 188, 188, 188, 4, 665, 4,
- 190, 190, 4, 636, 4, 26, 27, 28, 29, 30,
- 4, 4, 4, 188, 28, 29, 30, 4, 7, 699,
- 187, 701, 7, 7, 7, 658, 7, 187, 187, 7,
- 7, 5, 699, 700, 701, 665, 57, 58, 59, 60,
- 61, 62, 63, 64, 187, 187, 187, 5, 69, 70,
- 71, 72, 73, 74, 75, 76, 5, 5, 5, 187,
- 81, 82, 94, 95, 7, 5, 5, 81, 5, 699,
- 700, 701, 5, 94, 95, 7, 97, 187, 99, 7,
- 94, 95, 7, 7, 5, 106, 187, 187, 109, 5,
- 187, 105, 187, 187, 5, 187, 117, 111, 112, 113,
- 114, 115, 116, 7, 118, 187, 187, 139, 140, 141,
- 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
- 187, 187, 187, 187, 187, 187, 158, 159, 187, 187,
- 187, 187, 187, 187, 187, 187, 187, 158, 159, 187,
- 187, 187, 187, 187, 5, 24, 8, 7, 7, 7,
- 7, 7, 7, 7, 7, 187, 7, 7, 187, 4,
- 4, 4, 4, 4, 4, 4, 187, 4, 4, 4,
- 4, 4, 3, 187, 6, 3, 6, 6, 3, 6,
- 3, 3, 6, 3, 187, 6, 3, 6, 4, 4,
- 4, 4, 4, 4, 4, 3, 187, 6, 4, 6,
- 4, 4, 4, 4, 190, 4, 188, 4, 188, 4,
- 4, 190, 188, 188, 4, 188, 188, 188, 4, 188,
- 190, 188, 188, 188, 188, 188, 188, 4, 188, 190,
- 4, 6, 3, 187, 4, 187, 187, 187, 4, 8,
- 8, 187, 187, 187, 8, 3, 8, 927, 4, 187,
- 930, 187, 187, 933, 4, 927, 936, 933, 187, 933,
- 927, 941, 4, 930, 944, 188, 933, 947, 941, 936,
- 927, 190, 4, 927, 941, 187, 5, 944, 187, 936,
- 960, 930, 936, 936, 933, 7, 4, 936, 4, 969,
- 4, 4, 941, 960, 190, 975, 188, 927, 188, 966,
- 930, 4, 969, 933, 187, 187, 936, 461, 975, 649,
- 927, 941, 665, 580, 944, 467, 927, 927, 926, 936,
- 969, 750, 975, 927, 941, 936, 936, 944, 659, 927,
- 960, 941, 936, 927, 944, 927, 966, 941, 936, 969,
- 944, 927, 936, 941, 936, 975, 944, 927, 927, 409,
- 936, 927, 927, 927, 927, 927, 936, 936, 975, 927,
- 936, 936, 936, 936, 936, 927, 927, 927, 936, 927,
- 927, 927, 900, 939, 936, 936, 936, 947, 936, 936,
- 936, 936, 921, 479, 949, 511, 938, 956, 929, 927,
- 1120, 508, 932, 977, 503, 482, 930, 975, 721, 946,
- 493, 1125, 966, 935, 701, 528, 933, 960, 664, 660,
- 1135, 530, 1155, 534, 944, 1175, 942, -1, -1, 970,
- 975, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 70, 71, 72, 73, 74, 75, 74, 77, 78, 79,
+ 80, 77, 78, 675, 952, 73, 952, 75, 72, 73,
+ 74, 75, 81, 77, 78, 612, 80, 76, 952, 191,
+ 73, 618, 0, 78, 10, 73, 74, 75, 3, 78,
+ 7, 3, 73, 8, 6, 73, 73, 80, 5, 18,
+ 7, 3, 9, 165, 121, 122, 8, 7, 72, 73,
+ 74, 75, 3, 77, 78, 3, 80, 8, 68, 73,
+ 73, 73, 75, 81, 7, 3, 7, 73, 7, 75,
+ 8, 73, 28, 29, 30, 93, 94, 95, 3, 73,
+ 7, 3, 73, 8, 6, 73, 73, 7, 106, 73,
+ 73, 109, 73, 100, 101, 102, 103, 73, 94, 95,
+ 73, 94, 95, 73, 73, 73, 3, 73, 73, 7,
+ 74, 8, 15, 16, 191, 34, 19, 167, 7, 22,
+ 170, 171, 172, 173, 7, 81, 7, 28, 29, 30,
+ 82, 83, 84, 85, 86, 87, 12, 13, 94, 95,
+ 136, 137, 94, 95, 94, 95, 139, 140, 141, 105,
+ 158, 159, 160, 161, 7, 111, 112, 113, 114, 115,
+ 116, 3, 118, 82, 6, 84, 85, 3, 7, 88,
+ 89, 90, 8, 191, 6, 94, 95, 156, 164, 80,
+ 81, 82, 132, 133, 134, 4, 194, 8, 174, 175,
+ 176, 94, 95, 94, 95, 191, 82, 1145, 191, 1145,
+ 3, 11, 3, 6, 14, 191, 107, 108, 94, 95,
+ 4, 1145, 4, 23, 4, 25, 26, 27, 28, 29,
+ 30, 31, 32, 33, 191, 192, 193, 194, 124, 125,
+ 126, 127, 128, 129, 4, 191, 4, 3, 3, 191,
+ 3, 191, 8, 8, 4, 8, 4, 57, 58, 59,
+ 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
+ 70, 71, 72, 73, 74, 75, 76, 4, 940, 4,
+ 80, 81, 191, 111, 112, 113, 114, 4, 116, 4,
+ 166, 91, 168, 169, 94, 95, 3, 3, 191, 99,
+ 191, 8, 8, 3, 104, 105, 3, 3, 8, 3,
+ 110, 8, 8, 4, 8, 191, 3, 94, 95, 3,
+ 120, 8, 3, 123, 8, 121, 122, 8, 3, 3,
+ 130, 131, 3, 8, 8, 135, 4, 8, 138, 34,
+ 4, 411, 142, 4, 39, 40, 41, 42, 43, 44,
+ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
+ 55, 56, 162, 163, 4, 165, 143, 144, 145, 146,
+ 147, 148, 149, 150, 151, 152, 153, 154, 155, 3,
+ 17, 18, 4, 3, 8, 162, 163, 82, 8, 4,
+ 3, 191, 3, 3, 464, 8, 4, 8, 8, 3,
+ 470, 401, 402, 4, 8, 4, 35, 36, 37, 38,
+ 118, 119, 482, 4, 191, 485, 470, 485, 20, 21,
+ 8, 3, 8, 4, 482, 4, 496, 3, 482, 4,
+ 8, 485, 4, 3, 8, 4, 506, 4, 496, 482,
+ 506, 511, 496, 4, 482, 511, 4, 485, 4, 4,
+ 4, 482, 506, 191, 482, 482, 470, 511, 496, 4,
+ 4, 531, 4, 4, 4, 4, 511, 4, 482, 4,
+ 194, 485, 511, 194, 533, 194, 4, 531, 482, 482,
+ 482, 4, 496, 4, 4, 4, 482, 4, 192, 192,
+ 482, 192, 506, 496, 192, 194, 191, 511, 482, 192,
+ 496, 482, 4, 193, 482, 482, 194, 193, 482, 482,
+ 192, 482, 192, 192, 4, 4, 482, 531, 194, 482,
+ 4, 194, 482, 482, 482, 194, 482, 482, 4, 4,
+ 4, 485, 4, 4, 4, 4, 4, 4, 4, 4,
+ 1127, 4, 192, 4, 544, 545, 546, 177, 178, 179,
+ 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
+ 190, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 194, 4, 4, 4, 4, 4, 4, 192, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 192, 663, 4, 4, 4, 194, 4, 669,
+ 194, 194, 4, 4, 194, 664, 4, 4, 192, 4,
+ 4, 4, 192, 4, 4, 669, 4, 194, 4, 192,
+ 4, 4, 7, 194, 192, 7, 7, 7, 7, 191,
+ 7, 191, 191, 703, 704, 7, 706, 5, 191, 191,
+ 640, 191, 7, 5, 5, 5, 5, 5, 191, 703,
+ 704, 705, 706, 5, 5, 669, 5, 7, 191, 7,
+ 7, 7, 662, 26, 27, 28, 29, 30, 7, 191,
+ 5, 5, 5, 191, 157, 191, 191, 191, 191, 191,
+ 7, 191, 191, 191, 191, 191, 191, 191, 191, 703,
+ 704, 705, 706, 191, 57, 58, 59, 60, 61, 62,
+ 63, 64, 5, 191, 191, 191, 69, 70, 71, 72,
+ 73, 74, 75, 191, 77, 78, 79, 24, 81, 7,
+ 7, 7, 7, 7, 7, 7, 7, 191, 7, 92,
+ 7, 94, 95, 96, 97, 98, 99, 191, 191, 191,
+ 191, 191, 191, 106, 191, 4, 109, 110, 4, 4,
+ 4, 4, 4, 4, 117, 4, 4, 4, 4, 3,
+ 583, 6, 3, 6, 6, 3, 6, 3, 3, 6,
+ 3, 663, 6, 3, 6, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 191, 3, 6, 4,
+ 194, 8, 6, 4, 4, 4, 4, 4, 194, 162,
+ 163, 4, 4, 192, 4, 192, 4, 4, 4, 4,
+ 3, 3, 6, 4, 192, 4, 192, 192, 192, 192,
+ 8, 8, 192, 194, 8, 192, 192, 8, 191, 4,
+ 194, 4, 4, 4, 4, 192, 192, 192, 192, 192,
+ 5, 7, 4, 4, 4, 4, 411, 192, 464, 192,
+ 194, 191, 194, 191, 191, 191, 653, 669, 470, 191,
+ 191, 191, 191, 191, 916, 191, 191, 191, 942, 192,
+ 191, 191, 194, 943, 192, 192, 946, 191, 191, 949,
+ 946, 755, 952, 949, 952, 943, 952, 957, 977, 943,
+ 960, 957, 946, 963, 952, 949, 937, 514, 952, 957,
+ 943, 965, 960, 957, 949, 943, 960, 977, 957, 952,
+ 949, 981, 943, 955, 952, 943, 943, 963, 943, 957,
+ 990, 952, 960, 977, 990, 952, 996, 981, 996, 943,
+ 945, 482, 946, 987, 954, 949, 990, 972, 952, 943,
+ 943, 943, 996, 957, 1145, 946, 960, 943, 952, 952,
+ 952, 943, 951, 948, 957, 949, 952, 960, 996, 943,
+ 952, 957, 943, 977, 960, 943, 943, 981, 952, 943,
+ 943, 952, 943, 987, 952, 952, 990, 943, 952, 952,
+ 943, 952, 996, 943, 943, 943, 952, 943, 943, 952,
+ 996, 998, 952, 952, 952, 506, 952, 952, 952, 496,
+ 485, 962, 1150, 726, 706, 987, 981, 960, 668, 958,
+ 511, 537, 664, 1160, 1180, 1200, -1, -1, -1, 991,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 531, -1, -1, 533, -1, -1, -1, -1, -1,
+ -1, -1, 996, -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, 1145, -1, 1145, -1, 1145,
+ 1150, -1, -1, -1, 1150, -1, -1, 1145, -1, -1,
+ 1160, 1145, 1150, -1, 1160, -1, 1150, -1, -1, -1,
+ -1, 1150, 1145, -1, -1, -1, 1160, 1145, 1108, -1,
+ -1, -1, 1150, -1, 1145, -1, -1, -1, 1145, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 1145, -1, -1, -1, -1, 1150, -1, -1, -1,
+ -1, 1145, 1145, 1145, -1, -1, 1160, 1150, -1, 1145,
+ -1, -1, -1, 1145, 1150, -1, -1, -1, -1, -1,
+ -1, 1145, -1, -1, 1145, -1, -1, 1145, 1145, -1,
+ -1, 1145, 1145, -1, 1145, -1, -1, -1, -1, 1145,
+ -1, -1, 1145, -1, -1, 1145, 1145, 1145, -1, 1145,
+ 1145, 1145, 26, 27, 28, 29, 30, -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, 57, 58, 59, 60, 61, 62, 63,
+ 64, -1, -1, -1, -1, 69, 70, 71, 72, 73,
+ 74, 75, 76, -1, -1, -1, -1, 81, 82, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 1120, -1, -1, -1, -1, 1125, -1, -1, -1, -1,
- 1083, -1, 1125, 1120, -1, 1135, -1, -1, 1125, -1,
- -1, -1, -1, 1120, -1, -1, 1120, 1120, 1135, -1,
- -1, 1120, -1, -1, -1, -1, 1125, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 1135, -1, -1, -1,
- 1120, -1, -1, -1, -1, 1125, -1, -1, -1, -1,
- -1, -1, -1, 1120, -1, 1135, -1, -1, 1125, 1120,
- 1120, -1, -1, -1, -1, 1125, 1120, -1, -1, -1,
- -1, 1125, 1120, -1, -1, -1, 1120, 1125, 1120, -1,
- -1, -1, -1, -1, 1120, -1, -1, -1, -1, -1,
- 1120, 1120, -1, -1, 1120, 1120, 1120, 1120, 1120, -1,
- -1, -1, 1120, -1, -1, -1, -1, -1, 1120, 1120,
- 1120, -1, 1120, 1120, 1120, 1120
+ 94, 95, -1, 97, -1, 99, -1, -1, -1, -1,
+ -1, -1, 106, -1, -1, 109, -1, -1, -1, -1,
+ -1, -1, -1, 117, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 162, 163,
+ -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, 191
};
- const short
+ const unsigned short int
Dhcp4Parser::yystos_[] =
{
- 0, 173, 174, 175, 176, 177, 178, 179, 180, 181,
- 182, 183, 184, 185, 186, 192, 193, 194, 195, 196,
- 197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
- 0, 5, 7, 9, 187, 188, 189, 190, 207, 208,
- 209, 214, 7, 223, 7, 229, 7, 268, 7, 366,
- 7, 446, 7, 462, 7, 398, 7, 404, 7, 428,
- 7, 342, 7, 527, 7, 573, 7, 564, 215, 210,
- 224, 230, 269, 367, 447, 463, 399, 405, 429, 343,
- 528, 574, 565, 207, 216, 217, 187, 212, 213, 10,
- 160, 170, 171, 172, 187, 222, 225, 226, 227, 556,
- 558, 560, 571, 11, 14, 23, 25, 26, 27, 28,
+ 0, 177, 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, 210,
+ 0, 5, 7, 9, 191, 192, 193, 194, 211, 212,
+ 213, 218, 7, 227, 7, 233, 7, 272, 7, 377,
+ 7, 457, 7, 473, 7, 409, 7, 415, 7, 439,
+ 7, 353, 7, 538, 7, 584, 7, 575, 219, 214,
+ 228, 234, 273, 378, 458, 474, 410, 416, 440, 354,
+ 539, 585, 576, 211, 220, 221, 191, 216, 217, 10,
+ 164, 174, 175, 176, 191, 226, 229, 230, 231, 567,
+ 569, 571, 582, 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, 80, 81, 91, 94, 95,
- 99, 104, 105, 110, 120, 123, 130, 131, 134, 138,
- 158, 159, 161, 222, 231, 232, 233, 234, 235, 236,
- 237, 238, 239, 240, 241, 242, 244, 245, 246, 247,
- 248, 249, 250, 253, 255, 257, 259, 261, 262, 263,
- 264, 279, 281, 287, 289, 327, 336, 350, 360, 384,
- 388, 396, 422, 452, 454, 456, 467, 469, 471, 494,
- 506, 507, 515, 525, 562, 577, 15, 16, 19, 22,
- 222, 266, 267, 270, 272, 275, 278, 452, 454, 77,
- 78, 79, 92, 96, 97, 98, 106, 109, 117, 222,
- 233, 234, 235, 236, 237, 238, 239, 240, 245, 246,
- 247, 248, 249, 250, 253, 255, 257, 259, 261, 368,
- 369, 370, 372, 374, 376, 378, 380, 382, 384, 387,
- 422, 440, 452, 454, 456, 467, 469, 471, 491, 93,
- 222, 380, 382, 422, 448, 449, 450, 452, 454, 105,
- 111, 112, 113, 114, 115, 116, 118, 222, 422, 452,
- 454, 464, 465, 466, 467, 469, 471, 473, 477, 479,
- 481, 483, 485, 487, 489, 396, 34, 82, 84, 85,
- 88, 89, 90, 222, 307, 406, 407, 408, 409, 410,
- 411, 412, 414, 416, 418, 419, 421, 452, 454, 83,
- 86, 87, 222, 307, 410, 416, 430, 431, 432, 433,
- 434, 436, 437, 438, 439, 452, 454, 121, 122, 222,
- 344, 345, 346, 348, 139, 140, 141, 142, 143, 144,
- 145, 146, 147, 148, 149, 150, 151, 158, 159, 222,
- 452, 454, 529, 530, 531, 532, 534, 535, 537, 538,
- 539, 542, 544, 546, 547, 548, 550, 552, 554, 575,
- 576, 577, 12, 13, 566, 567, 568, 570, 6, 3,
- 4, 8, 3, 228, 572, 557, 559, 561, 4, 3,
- 8, 563, 265, 282, 4, 4, 4, 468, 470, 472,
- 280, 288, 290, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 243, 4, 4, 4, 4, 4, 251, 254,
- 256, 4, 361, 397, 423, 389, 453, 455, 385, 328,
- 495, 457, 337, 351, 4, 508, 516, 526, 258, 260,
- 578, 3, 8, 271, 273, 276, 4, 3, 8, 373,
- 375, 377, 441, 371, 379, 4, 383, 381, 492, 3,
- 8, 451, 3, 8, 490, 478, 480, 484, 482, 488,
- 486, 474, 8, 3, 8, 413, 308, 4, 417, 415,
- 420, 4, 8, 3, 435, 4, 4, 8, 3, 347,
- 349, 3, 8, 4, 545, 533, 4, 536, 4, 4,
- 540, 543, 4, 4, 549, 551, 553, 555, 3, 8,
- 3, 8, 569, 4, 3, 8, 207, 207, 187, 4,
- 4, 4, 4, 4, 226, 4, 4, 4, 190, 190,
- 190, 4, 4, 4, 4, 4, 4, 188, 188, 188,
- 188, 188, 190, 189, 189, 188, 4, 188, 188, 190,
- 190, 190, 4, 4, 4, 190, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 188, 4,
- 4, 4, 4, 4, 4, 232, 4, 4, 4, 190,
- 267, 4, 4, 4, 4, 4, 4, 188, 4, 4,
- 4, 369, 4, 449, 4, 4, 4, 4, 4, 4,
- 4, 4, 466, 4, 4, 188, 4, 4, 4, 190,
- 408, 4, 190, 190, 432, 4, 4, 345, 190, 4,
- 4, 188, 4, 188, 188, 4, 4, 190, 190, 4,
- 4, 4, 4, 530, 576, 4, 188, 567, 4, 7,
- 7, 207, 207, 207, 7, 7, 7, 187, 187, 187,
- 7, 7, 5, 187, 154, 155, 156, 157, 190, 252,
- 187, 187, 5, 5, 5, 5, 209, 211, 187, 100,
- 101, 102, 103, 386, 5, 5, 5, 5, 7, 7,
- 7, 7, 187, 187, 5, 5, 218, 17, 18, 274,
- 20, 21, 277, 187, 187, 187, 5, 187, 187, 218,
- 187, 7, 187, 218, 187, 187, 187, 187, 187, 187,
- 187, 187, 187, 187, 187, 187, 187, 187, 207, 187,
- 187, 187, 18, 152, 541, 153, 252, 187, 187, 187,
- 5, 207, 231, 575, 566, 266, 24, 283, 284, 285,
- 34, 39, 40, 41, 42, 43, 44, 45, 46, 47,
- 48, 49, 50, 51, 52, 53, 54, 55, 56, 222,
- 295, 296, 297, 300, 302, 304, 306, 307, 309, 310,
- 311, 312, 313, 314, 315, 316, 318, 320, 322, 324,
- 325, 326, 295, 7, 291, 292, 293, 7, 362, 363,
- 364, 7, 400, 401, 402, 7, 424, 425, 426, 7,
- 390, 391, 392, 111, 112, 113, 114, 116, 329, 330,
- 331, 332, 333, 334, 335, 7, 496, 497, 7, 458,
- 459, 460, 7, 338, 339, 340, 124, 125, 126, 127,
- 128, 129, 352, 353, 354, 355, 356, 357, 358, 359,
- 132, 133, 222, 452, 454, 509, 510, 511, 513, 135,
- 136, 137, 187, 452, 454, 517, 518, 519, 520, 522,
- 523, 529, 7, 579, 580, 219, 7, 442, 443, 444,
- 119, 473, 475, 493, 291, 8, 8, 8, 8, 286,
- 3, 8, 298, 301, 303, 305, 4, 4, 4, 4,
- 4, 317, 319, 321, 323, 4, 4, 4, 4, 4,
- 4, 3, 8, 8, 294, 6, 3, 365, 6, 3,
- 403, 6, 3, 427, 6, 3, 393, 6, 3, 3,
- 6, 498, 3, 6, 461, 6, 3, 341, 6, 3,
- 4, 4, 4, 4, 4, 4, 3, 8, 512, 514,
- 3, 8, 4, 521, 4, 524, 3, 8, 8, 581,
- 3, 6, 187, 220, 221, 445, 6, 3, 476, 8,
- 6, 4, 284, 4, 4, 4, 4, 188, 190, 188,
- 190, 188, 4, 4, 4, 4, 188, 188, 188, 188,
- 190, 188, 296, 295, 293, 368, 364, 406, 402, 430,
- 426, 222, 233, 234, 235, 236, 237, 238, 239, 240,
- 245, 246, 247, 248, 249, 250, 253, 255, 257, 259,
- 261, 307, 360, 378, 380, 382, 384, 394, 395, 422,
- 452, 454, 467, 469, 471, 491, 392, 330, 107, 108,
- 222, 307, 396, 422, 452, 454, 467, 469, 471, 499,
- 500, 501, 502, 503, 505, 497, 464, 460, 344, 340,
- 188, 188, 188, 188, 188, 188, 353, 4, 4, 510,
- 190, 4, 188, 4, 518, 162, 164, 165, 222, 307,
- 452, 454, 582, 583, 584, 585, 587, 580, 6, 3,
- 448, 444, 4, 187, 35, 36, 37, 38, 299, 187,
- 187, 187, 187, 187, 187, 187, 8, 8, 8, 8,
- 3, 8, 504, 4, 8, 3, 8, 8, 187, 187,
- 187, 207, 588, 4, 586, 3, 8, 187, 8, 218,
- 395, 4, 190, 501, 4, 188, 4, 583, 187, 5,
- 187, 7, 589, 590, 591, 3, 6, 163, 166, 167,
- 168, 169, 592, 593, 594, 596, 597, 598, 599, 590,
- 595, 4, 4, 4, 600, 3, 8, 4, 190, 188,
- 188, 4, 593, 187, 187
+ 99, 104, 105, 110, 120, 123, 130, 131, 135, 138,
+ 142, 162, 163, 165, 226, 235, 236, 237, 238, 239,
+ 240, 241, 242, 243, 244, 245, 246, 248, 249, 250,
+ 251, 252, 253, 254, 257, 259, 261, 263, 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, 573, 588, 15, 16,
+ 19, 22, 226, 270, 271, 274, 276, 279, 282, 463,
+ 465, 77, 78, 79, 92, 96, 97, 98, 106, 109,
+ 117, 226, 237, 238, 239, 240, 241, 242, 243, 244,
+ 249, 250, 251, 252, 253, 254, 257, 259, 261, 263,
+ 265, 379, 380, 381, 383, 385, 387, 389, 391, 393,
+ 395, 398, 433, 451, 463, 465, 467, 478, 480, 482,
+ 502, 93, 226, 391, 393, 433, 459, 460, 461, 463,
+ 465, 105, 111, 112, 113, 114, 115, 116, 118, 226,
+ 433, 463, 465, 475, 476, 477, 478, 480, 482, 484,
+ 488, 490, 492, 494, 496, 498, 500, 407, 34, 82,
+ 84, 85, 88, 89, 90, 226, 311, 417, 418, 419,
+ 420, 421, 422, 423, 425, 427, 429, 430, 432, 463,
+ 465, 83, 86, 87, 226, 311, 421, 427, 441, 442,
+ 443, 444, 445, 447, 448, 449, 450, 463, 465, 121,
+ 122, 226, 355, 356, 357, 359, 143, 144, 145, 146,
+ 147, 148, 149, 150, 151, 152, 153, 154, 155, 162,
+ 163, 226, 463, 465, 540, 541, 542, 543, 545, 546,
+ 548, 549, 550, 553, 555, 557, 558, 559, 561, 563,
+ 565, 586, 587, 588, 12, 13, 577, 578, 579, 581,
+ 6, 3, 4, 8, 3, 232, 583, 568, 570, 572,
+ 4, 3, 8, 574, 269, 286, 4, 4, 4, 479,
+ 481, 483, 284, 292, 294, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 247, 4, 4, 4, 4, 4,
+ 255, 258, 260, 4, 372, 408, 434, 400, 464, 466,
+ 396, 332, 506, 468, 348, 362, 4, 341, 519, 527,
+ 537, 262, 264, 589, 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, 3, 8, 580, 4, 3, 8, 211,
+ 211, 191, 4, 4, 4, 4, 4, 230, 4, 4,
+ 4, 194, 194, 194, 4, 4, 4, 4, 4, 4,
+ 192, 192, 192, 192, 192, 194, 193, 193, 192, 4,
+ 192, 192, 194, 194, 194, 4, 4, 4, 194, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 192, 4, 4, 4, 4, 4, 4, 4, 236,
+ 4, 4, 4, 194, 271, 4, 4, 4, 4, 4,
+ 4, 192, 4, 4, 4, 380, 4, 460, 4, 4,
+ 4, 4, 4, 4, 4, 4, 477, 4, 4, 192,
+ 4, 4, 4, 194, 419, 4, 194, 194, 443, 4,
+ 4, 356, 194, 4, 4, 192, 4, 192, 192, 4,
+ 4, 194, 194, 4, 4, 4, 4, 541, 587, 4,
+ 192, 578, 4, 7, 7, 211, 211, 211, 7, 7,
+ 7, 191, 191, 191, 7, 7, 5, 191, 158, 159,
+ 160, 161, 194, 256, 191, 191, 5, 5, 5, 5,
+ 213, 215, 191, 100, 101, 102, 103, 397, 5, 5,
+ 5, 5, 7, 7, 7, 7, 7, 191, 191, 5,
+ 5, 222, 17, 18, 278, 20, 21, 281, 191, 191,
+ 191, 5, 191, 191, 222, 191, 7, 191, 222, 191,
+ 191, 191, 191, 191, 191, 191, 191, 191, 191, 191,
+ 191, 191, 191, 211, 191, 191, 191, 18, 156, 552,
+ 157, 256, 191, 191, 191, 5, 211, 235, 586, 577,
+ 270, 24, 287, 288, 289, 34, 39, 40, 41, 42,
+ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
+ 53, 54, 55, 56, 226, 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, 111, 112,
+ 113, 114, 116, 333, 334, 335, 336, 337, 338, 339,
+ 7, 507, 508, 7, 469, 470, 471, 7, 349, 350,
+ 351, 124, 125, 126, 127, 128, 129, 363, 364, 365,
+ 366, 367, 368, 369, 370, 132, 133, 134, 226, 342,
+ 343, 344, 345, 346, 463, 465, 136, 137, 226, 463,
+ 465, 520, 521, 522, 524, 139, 140, 141, 191, 463,
+ 465, 528, 529, 530, 531, 533, 534, 540, 7, 590,
+ 591, 223, 7, 453, 454, 455, 119, 484, 486, 504,
+ 295, 8, 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,
+ 592, 3, 6, 191, 224, 225, 456, 6, 3, 487,
+ 8, 6, 4, 288, 4, 4, 4, 4, 192, 194,
+ 192, 194, 192, 4, 4, 4, 4, 192, 192, 192,
+ 192, 194, 192, 300, 299, 297, 379, 375, 417, 413,
+ 441, 437, 226, 237, 238, 239, 240, 241, 242, 243,
+ 244, 249, 250, 251, 252, 253, 254, 257, 259, 261,
+ 263, 265, 311, 371, 389, 391, 393, 395, 405, 406,
+ 433, 463, 465, 478, 480, 482, 502, 403, 334, 107,
+ 108, 226, 311, 407, 433, 463, 465, 478, 480, 482,
+ 510, 511, 512, 513, 514, 516, 508, 475, 471, 355,
+ 351, 192, 192, 192, 192, 192, 192, 364, 194, 192,
+ 192, 343, 4, 4, 521, 194, 4, 192, 4, 529,
+ 166, 168, 169, 226, 311, 463, 465, 593, 594, 595,
+ 596, 598, 591, 6, 3, 459, 455, 4, 191, 35,
+ 36, 37, 38, 303, 191, 191, 191, 191, 191, 191,
+ 191, 8, 8, 8, 8, 3, 8, 515, 4, 8,
+ 3, 8, 8, 191, 191, 191, 211, 599, 4, 597,
+ 3, 8, 191, 8, 222, 406, 4, 194, 512, 4,
+ 192, 4, 594, 191, 5, 191, 7, 600, 601, 602,
+ 3, 6, 167, 170, 171, 172, 173, 603, 604, 605,
+ 607, 608, 609, 610, 601, 606, 4, 4, 4, 611,
+ 3, 8, 4, 194, 192, 192, 4, 604, 191, 191
};
- const short
+ const unsigned short int
Dhcp4Parser::yyr1_[] =
{
- 0, 191, 193, 192, 194, 192, 195, 192, 196, 192,
- 197, 192, 198, 192, 199, 192, 200, 192, 201, 192,
- 202, 192, 203, 192, 204, 192, 205, 192, 206, 192,
- 207, 207, 207, 207, 207, 207, 207, 208, 210, 209,
- 211, 212, 212, 213, 213, 215, 214, 216, 216, 217,
- 217, 219, 218, 220, 220, 221, 221, 222, 224, 223,
- 225, 225, 226, 226, 226, 226, 226, 226, 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, 233, 234, 235, 236, 237,
- 238, 239, 240, 241, 243, 242, 244, 245, 246, 247,
- 248, 249, 251, 250, 252, 252, 252, 252, 252, 254,
- 253, 256, 255, 258, 257, 260, 259, 261, 262, 263,
- 265, 264, 266, 266, 267, 267, 267, 267, 267, 267,
- 267, 269, 268, 271, 270, 273, 272, 274, 274, 276,
- 275, 277, 277, 278, 280, 279, 282, 281, 283, 283,
- 284, 286, 285, 288, 287, 290, 289, 291, 291, 292,
- 292, 294, 293, 295, 295, 296, 296, 296, 296, 296,
- 296, 296, 296, 296, 296, 296, 296, 296, 296, 296,
- 296, 296, 296, 296, 296, 296, 298, 297, 299, 299,
- 299, 299, 301, 300, 303, 302, 305, 304, 306, 308,
- 307, 309, 310, 311, 312, 313, 314, 315, 317, 316,
- 319, 318, 321, 320, 323, 322, 324, 325, 326, 328,
- 327, 329, 329, 330, 330, 330, 330, 330, 331, 332,
- 333, 334, 335, 337, 336, 338, 338, 339, 339, 341,
- 340, 343, 342, 344, 344, 344, 345, 345, 347, 346,
- 349, 348, 351, 350, 352, 352, 353, 353, 353, 353,
- 353, 353, 354, 355, 356, 357, 358, 359, 361, 360,
- 362, 362, 363, 363, 365, 364, 367, 366, 368, 368,
- 369, 369, 369, 369, 369, 369, 369, 369, 369, 369,
- 369, 369, 369, 369, 369, 369, 369, 369, 369, 369,
- 369, 369, 369, 369, 369, 369, 369, 369, 369, 369,
- 369, 369, 369, 369, 369, 369, 369, 369, 371, 370,
- 373, 372, 375, 374, 377, 376, 379, 378, 381, 380,
- 383, 382, 385, 384, 386, 386, 386, 386, 387, 389,
- 388, 390, 390, 391, 391, 393, 392, 394, 394, 395,
- 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
- 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
- 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
- 395, 395, 397, 396, 399, 398, 400, 400, 401, 401,
- 403, 402, 405, 404, 406, 406, 407, 407, 408, 408,
- 408, 408, 408, 408, 408, 408, 408, 408, 409, 410,
- 411, 413, 412, 415, 414, 417, 416, 418, 420, 419,
- 421, 423, 422, 424, 424, 425, 425, 427, 426, 429,
- 428, 430, 430, 431, 431, 432, 432, 432, 432, 432,
- 432, 432, 432, 432, 433, 435, 434, 436, 437, 438,
- 439, 441, 440, 442, 442, 443, 443, 445, 444, 447,
- 446, 448, 448, 449, 449, 449, 449, 449, 449, 449,
- 451, 450, 453, 452, 455, 454, 457, 456, 458, 458,
- 459, 459, 461, 460, 463, 462, 464, 464, 465, 465,
- 466, 466, 466, 466, 466, 466, 466, 466, 466, 466,
- 466, 466, 466, 466, 466, 468, 467, 470, 469, 472,
- 471, 474, 473, 476, 475, 478, 477, 480, 479, 482,
- 481, 484, 483, 486, 485, 488, 487, 490, 489, 492,
- 491, 493, 493, 495, 494, 496, 496, 498, 497, 499,
- 499, 500, 500, 501, 501, 501, 501, 501, 501, 501,
- 501, 501, 501, 501, 502, 504, 503, 505, 506, 508,
- 507, 509, 509, 510, 510, 510, 510, 510, 512, 511,
- 514, 513, 516, 515, 517, 517, 518, 518, 518, 518,
- 518, 518, 519, 521, 520, 522, 524, 523, 526, 525,
- 528, 527, 529, 529, 530, 530, 530, 530, 530, 530,
- 530, 530, 530, 530, 530, 530, 530, 530, 530, 530,
- 530, 530, 531, 533, 532, 534, 536, 535, 537, 538,
- 540, 539, 541, 541, 543, 542, 545, 544, 546, 547,
- 549, 548, 551, 550, 553, 552, 555, 554, 557, 556,
- 559, 558, 561, 560, 563, 562, 565, 564, 566, 566,
- 567, 567, 569, 568, 570, 572, 571, 574, 573, 575,
- 575, 576, 578, 577, 579, 579, 581, 580, 582, 582,
- 583, 583, 583, 583, 583, 583, 583, 584, 586, 585,
- 588, 587, 589, 589, 591, 590, 592, 592, 593, 593,
- 593, 593, 593, 595, 594, 596, 597, 598, 600, 599
+ 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, 196,
+ 211, 211, 211, 211, 211, 211, 211, 212, 214, 213,
+ 215, 216, 216, 217, 217, 219, 218, 220, 220, 221,
+ 221, 223, 222, 224, 224, 225, 225, 226, 228, 227,
+ 229, 229, 230, 230, 230, 230, 230, 230, 232, 231,
+ 234, 233, 235, 235, 236, 236, 236, 236, 236, 236,
+ 236, 236, 236, 236, 236, 236, 236, 236, 236, 236,
+ 236, 236, 236, 236, 236, 236, 236, 236, 236, 236,
+ 236, 236, 236, 236, 236, 236, 236, 236, 236, 236,
+ 236, 236, 236, 236, 236, 236, 236, 236, 236, 236,
+ 236, 236, 236, 236, 236, 236, 237, 238, 239, 240,
+ 241, 242, 243, 244, 245, 247, 246, 248, 249, 250,
+ 251, 252, 253, 255, 254, 256, 256, 256, 256, 256,
+ 258, 257, 260, 259, 262, 261, 264, 263, 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, 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, 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, 572, 571, 574, 573,
+ 576, 575, 577, 577, 578, 578, 580, 579, 581, 583,
+ 582, 585, 584, 586, 586, 587, 589, 588, 590, 590,
+ 592, 591, 593, 593, 594, 594, 594, 594, 594, 594,
+ 594, 595, 597, 596, 599, 598, 600, 600, 602, 601,
+ 603, 603, 604, 604, 604, 604, 604, 606, 605, 607,
+ 608, 609, 611, 610
};
- const 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,
- 1, 1, 1, 1, 1, 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,
+ 1, 1, 1, 1, 1, 1, 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, 0, 4, 0, 4, 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, 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, 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, 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, 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, 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, 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, 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,
+ 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,
- 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,
+ 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,
+ 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,
- 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,
+ 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, 4,
- 0, 4, 0, 4, 0, 6, 0, 4, 1, 3,
- 1, 1, 0, 6, 3, 0, 6, 0, 4, 1,
- 3, 1, 0, 6, 1, 3, 0, 4, 1, 3,
- 1, 1, 1, 1, 1, 1, 1, 3, 0, 4,
- 0, 6, 1, 3, 0, 4, 1, 3, 1, 1,
- 1, 1, 1, 0, 4, 3, 3, 3, 0, 4
+ 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, 4, 0, 4, 0, 4, 0, 6,
+ 0, 4, 1, 3, 1, 1, 0, 6, 3, 0,
+ 6, 0, 4, 1, 3, 1, 0, 6, 1, 3,
+ 0, 4, 1, 3, 1, 1, 1, 1, 1, 1,
+ 1, 3, 0, 4, 0, 6, 1, 3, 0, 4,
+ 1, 3, 1, 1, 1, 1, 1, 0, 4, 3,
+ 3, 3, 0, 4
};
"\"reclaim-timer-wait-time\"", "\"flush-reclaimed-timer-wait-time\"",
"\"hold-reclaimed-time\"", "\"max-reclaim-leases\"",
"\"max-reclaim-time\"", "\"unwarned-reclaim-cycles\"",
- "\"dhcp4o6-port\"", "\"control-socket\"", "\"socket-type\"",
- "\"socket-name\"", "\"dhcp-queue-control\"", "\"enable-queue\"",
- "\"queue-type\"", "\"capacity\"", "\"dhcp-ddns\"", "\"enable-updates\"",
- "\"qualifying-suffix\"", "\"server-ip\"", "\"server-port\"",
- "\"sender-ip\"", "\"sender-port\"", "\"max-queue-size\"",
- "\"ncr-protocol\"", "\"ncr-format\"", "\"override-no-update\"",
- "\"override-client-update\"", "\"replace-client-name\"",
- "\"generated-prefix\"", "\"tcp\"", "\"JSON\"", "\"when-present\"",
- "\"never\"", "\"always\"", "\"when-not-present\"",
+ "\"dhcp4o6-port\"", "\"multi-threading\"", "\"enable-multi-threading\"",
+ "\"thread-pool-size\"", "\"packet-queue-size\"", "\"control-socket\"",
+ "\"socket-type\"", "\"socket-name\"", "\"dhcp-queue-control\"",
+ "\"enable-queue\"", "\"queue-type\"", "\"capacity\"", "\"dhcp-ddns\"",
+ "\"enable-updates\"", "\"qualifying-suffix\"", "\"server-ip\"",
+ "\"server-port\"", "\"sender-ip\"", "\"sender-port\"",
+ "\"max-queue-size\"", "\"ncr-protocol\"", "\"ncr-format\"",
+ "\"override-no-update\"", "\"override-client-update\"",
+ "\"replace-client-name\"", "\"generated-prefix\"", "\"tcp\"", "\"JSON\"",
+ "\"when-present\"", "\"never\"", "\"always\"", "\"when-not-present\"",
"\"hostname-char-set\"", "\"hostname-char-replacement\"", "\"Logging\"",
"\"loggers\"", "\"output_options\"", "\"output\"", "\"debuglevel\"",
"\"severity\"", "\"flush\"", "\"maxsize\"", "\"maxver\"", "\"pattern\"",
"host_reservation_identifiers", "$@47",
"host_reservation_identifiers_list", "host_reservation_identifier",
"duid_id", "hw_address_id", "circuit_id", "client_id", "flex_id",
- "hooks_libraries", "$@48", "hooks_libraries_list",
- "not_empty_hooks_libraries_list", "hooks_library", "$@49",
- "sub_hooks_library", "$@50", "hooks_params", "hooks_param", "library",
- "$@51", "parameters", "$@52", "expired_leases_processing", "$@53",
+ "dhcp_multi_threading", "$@48", "multi_threading_params",
+ "multi_threading_param", "enable_multi_threading", "thread_pool_size",
+ "packet_queue_size", "hooks_libraries", "$@49", "hooks_libraries_list",
+ "not_empty_hooks_libraries_list", "hooks_library", "$@50",
+ "sub_hooks_library", "$@51", "hooks_params", "hooks_param", "library",
+ "$@52", "parameters", "$@53", "expired_leases_processing", "$@54",
"expired_leases_params", "expired_leases_param",
"reclaim_timer_wait_time", "flush_reclaimed_timer_wait_time",
"hold_reclaimed_time", "max_reclaim_leases", "max_reclaim_time",
- "unwarned_reclaim_cycles", "subnet4_list", "$@54",
- "subnet4_list_content", "not_empty_subnet4_list", "subnet4", "$@55",
- "sub_subnet4", "$@56", "subnet4_params", "subnet4_param", "subnet",
- "$@57", "subnet_4o6_interface", "$@58", "subnet_4o6_interface_id",
- "$@59", "subnet_4o6_subnet", "$@60", "interface", "$@61", "client_class",
- "$@62", "require_client_classes", "$@63", "reservation_mode", "$@64",
- "hr_mode", "id", "shared_networks", "$@65", "shared_networks_content",
- "shared_networks_list", "shared_network", "$@66",
+ "unwarned_reclaim_cycles", "subnet4_list", "$@55",
+ "subnet4_list_content", "not_empty_subnet4_list", "subnet4", "$@56",
+ "sub_subnet4", "$@57", "subnet4_params", "subnet4_param", "subnet",
+ "$@58", "subnet_4o6_interface", "$@59", "subnet_4o6_interface_id",
+ "$@60", "subnet_4o6_subnet", "$@61", "interface", "$@62", "client_class",
+ "$@63", "require_client_classes", "$@64", "reservation_mode", "$@65",
+ "hr_mode", "id", "shared_networks", "$@66", "shared_networks_content",
+ "shared_networks_list", "shared_network", "$@67",
"shared_network_params", "shared_network_param", "option_def_list",
- "$@67", "sub_option_def_list", "$@68", "option_def_list_content",
- "not_empty_option_def_list", "option_def_entry", "$@69",
- "sub_option_def", "$@70", "option_def_params",
+ "$@68", "sub_option_def_list", "$@69", "option_def_list_content",
+ "not_empty_option_def_list", "option_def_entry", "$@70",
+ "sub_option_def", "$@71", "option_def_params",
"not_empty_option_def_params", "option_def_param", "option_def_name",
- "code", "option_def_code", "option_def_type", "$@71",
- "option_def_record_types", "$@72", "space", "$@73", "option_def_space",
- "option_def_encapsulate", "$@74", "option_def_array", "option_data_list",
- "$@75", "option_data_list_content", "not_empty_option_data_list",
- "option_data_entry", "$@76", "sub_option_data", "$@77",
+ "code", "option_def_code", "option_def_type", "$@72",
+ "option_def_record_types", "$@73", "space", "$@74", "option_def_space",
+ "option_def_encapsulate", "$@75", "option_def_array", "option_data_list",
+ "$@76", "option_data_list_content", "not_empty_option_data_list",
+ "option_data_entry", "$@77", "sub_option_data", "$@78",
"option_data_params", "not_empty_option_data_params",
- "option_data_param", "option_data_name", "option_data_data", "$@78",
+ "option_data_param", "option_data_name", "option_data_data", "$@79",
"option_data_code", "option_data_space", "option_data_csv_format",
- "option_data_always_send", "pools_list", "$@79", "pools_list_content",
- "not_empty_pools_list", "pool_list_entry", "$@80", "sub_pool4", "$@81",
- "pool_params", "pool_param", "pool_entry", "$@82", "user_context",
- "$@83", "comment", "$@84", "reservations", "$@85", "reservations_list",
- "not_empty_reservations_list", "reservation", "$@86", "sub_reservation",
- "$@87", "reservation_params", "not_empty_reservation_params",
- "reservation_param", "next_server", "$@88", "server_hostname", "$@89",
- "boot_file_name", "$@90", "ip_address", "$@91", "ip_addresses", "$@92",
- "duid", "$@93", "hw_address", "$@94", "client_id_value", "$@95",
- "circuit_id_value", "$@96", "flex_id_value", "$@97", "hostname", "$@98",
- "reservation_client_classes", "$@99", "relay", "$@100", "relay_map",
- "client_classes", "$@101", "client_classes_list", "client_class_entry",
- "$@102", "client_class_params", "not_empty_client_class_params",
- "client_class_param", "client_class_name", "client_class_test", "$@103",
- "only_if_required", "dhcp4o6_port", "control_socket", "$@104",
+ "option_data_always_send", "pools_list", "$@80", "pools_list_content",
+ "not_empty_pools_list", "pool_list_entry", "$@81", "sub_pool4", "$@82",
+ "pool_params", "pool_param", "pool_entry", "$@83", "user_context",
+ "$@84", "comment", "$@85", "reservations", "$@86", "reservations_list",
+ "not_empty_reservations_list", "reservation", "$@87", "sub_reservation",
+ "$@88", "reservation_params", "not_empty_reservation_params",
+ "reservation_param", "next_server", "$@89", "server_hostname", "$@90",
+ "boot_file_name", "$@91", "ip_address", "$@92", "ip_addresses", "$@93",
+ "duid", "$@94", "hw_address", "$@95", "client_id_value", "$@96",
+ "circuit_id_value", "$@97", "flex_id_value", "$@98", "hostname", "$@99",
+ "reservation_client_classes", "$@100", "relay", "$@101", "relay_map",
+ "client_classes", "$@102", "client_classes_list", "client_class_entry",
+ "$@103", "client_class_params", "not_empty_client_class_params",
+ "client_class_param", "client_class_name", "client_class_test", "$@104",
+ "only_if_required", "dhcp4o6_port", "control_socket", "$@105",
"control_socket_params", "control_socket_param", "control_socket_type",
- "$@105", "control_socket_name", "$@106", "dhcp_queue_control", "$@107",
+ "$@106", "control_socket_name", "$@107", "dhcp_queue_control", "$@108",
"queue_control_params", "queue_control_param", "enable_queue",
- "queue_type", "$@108", "capacity", "arbitrary_map_entry", "$@109",
- "dhcp_ddns", "$@110", "sub_dhcp_ddns", "$@111", "dhcp_ddns_params",
- "dhcp_ddns_param", "enable_updates", "server_ip", "$@112", "server_port",
- "sender_ip", "$@113", "sender_port", "max_queue_size", "ncr_protocol",
- "$@114", "ncr_protocol_value", "ncr_format", "$@115",
- "dep_qualifying_suffix", "$@116", "dep_override_no_update",
- "dep_override_client_update", "dep_replace_client_name", "$@117",
- "dep_generated_prefix", "$@118", "dep_hostname_char_set", "$@119",
- "dep_hostname_char_replacement", "$@120", "dhcp6_json_object", "$@121",
- "dhcpddns_json_object", "$@122", "control_agent_json_object", "$@123",
- "config_control", "$@124", "sub_config_control", "$@125",
+ "queue_type", "$@109", "capacity", "arbitrary_map_entry", "$@110",
+ "dhcp_ddns", "$@111", "sub_dhcp_ddns", "$@112", "dhcp_ddns_params",
+ "dhcp_ddns_param", "enable_updates", "server_ip", "$@113", "server_port",
+ "sender_ip", "$@114", "sender_port", "max_queue_size", "ncr_protocol",
+ "$@115", "ncr_protocol_value", "ncr_format", "$@116",
+ "dep_qualifying_suffix", "$@117", "dep_override_no_update",
+ "dep_override_client_update", "dep_replace_client_name", "$@118",
+ "dep_generated_prefix", "$@119", "dep_hostname_char_set", "$@120",
+ "dep_hostname_char_replacement", "$@121", "dhcp6_json_object", "$@122",
+ "dhcpddns_json_object", "$@123", "control_agent_json_object", "$@124",
+ "config_control", "$@125", "sub_config_control", "$@126",
"config_control_params", "config_control_param", "config_databases",
- "$@126", "config_fetch_wait_time", "logging_object", "$@127",
- "sub_logging", "$@128", "logging_params", "logging_param", "loggers",
- "$@129", "loggers_entries", "logger_entry", "$@130", "logger_params",
- "logger_param", "debuglevel", "severity", "$@131", "output_options_list",
- "$@132", "output_options_list_content", "output_entry", "$@133",
- "output_params_list", "output_params", "output", "$@134", "flush",
- "maxsize", "maxver", "pattern", "$@135", YY_NULLPTR
+ "$@127", "config_fetch_wait_time", "logging_object", "$@128",
+ "sub_logging", "$@129", "logging_params", "logging_param", "loggers",
+ "$@130", "loggers_entries", "logger_entry", "$@131", "logger_params",
+ "logger_param", "debuglevel", "severity", "$@132", "output_options_list",
+ "$@133", "output_options_list_content", "output_entry", "$@134",
+ "output_params_list", "output_params", "output", "$@135", "flush",
+ "maxsize", "maxver", "pattern", "$@136", YY_NULLPTR
};
#if PARSER4_DEBUG
- const short
+ const unsigned short int
Dhcp4Parser::yyrline_[] =
{
- 0, 278, 278, 278, 279, 279, 280, 280, 281, 281,
- 282, 282, 283, 283, 284, 284, 285, 285, 286, 286,
+ 0, 283, 283, 283, 284, 284, 285, 285, 286, 286,
287, 287, 288, 288, 289, 289, 290, 290, 291, 291,
- 299, 300, 301, 302, 303, 304, 305, 308, 313, 313,
- 324, 327, 328, 331, 335, 342, 342, 349, 350, 353,
- 357, 364, 364, 371, 372, 375, 379, 390, 400, 400,
- 416, 417, 421, 422, 423, 424, 425, 426, 429, 429,
- 444, 444, 453, 454, 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, 512, 517, 522, 527, 532,
- 537, 542, 547, 552, 557, 557, 565, 570, 575, 580,
- 585, 590, 595, 595, 603, 606, 609, 612, 615, 621,
- 621, 629, 629, 637, 637, 645, 645, 653, 658, 663,
- 668, 668, 679, 680, 683, 684, 685, 686, 687, 688,
- 689, 692, 692, 701, 701, 711, 711, 718, 719, 722,
- 722, 729, 731, 735, 741, 741, 753, 753, 763, 764,
- 766, 768, 768, 786, 786, 798, 798, 808, 809, 812,
- 813, 816, 816, 826, 827, 830, 831, 832, 833, 834,
- 835, 836, 837, 838, 839, 840, 841, 842, 843, 844,
- 845, 846, 847, 848, 849, 850, 853, 853, 860, 861,
- 862, 863, 866, 866, 874, 874, 882, 882, 890, 895,
- 895, 903, 908, 913, 918, 923, 928, 933, 938, 938,
- 946, 946, 954, 954, 962, 962, 970, 975, 980, 986,
- 986, 996, 997, 1000, 1001, 1002, 1003, 1004, 1007, 1012,
- 1017, 1022, 1027, 1032, 1032, 1042, 1043, 1046, 1047, 1050,
- 1050, 1060, 1060, 1070, 1071, 1072, 1075, 1076, 1079, 1079,
- 1087, 1087, 1095, 1095, 1106, 1107, 1110, 1111, 1112, 1113,
- 1114, 1115, 1118, 1123, 1128, 1133, 1138, 1143, 1151, 1151,
- 1164, 1165, 1168, 1169, 1176, 1176, 1202, 1202, 1213, 1214,
- 1218, 1219, 1220, 1221, 1222, 1223, 1224, 1225, 1226, 1227,
- 1228, 1229, 1230, 1231, 1232, 1233, 1234, 1235, 1236, 1237,
- 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247,
- 1248, 1249, 1250, 1251, 1252, 1253, 1254, 1255, 1258, 1258,
- 1266, 1266, 1274, 1274, 1282, 1282, 1290, 1290, 1298, 1298,
- 1306, 1306, 1316, 1316, 1323, 1324, 1325, 1326, 1329, 1336,
- 1336, 1347, 1348, 1352, 1353, 1356, 1356, 1364, 1365, 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, 1400, 1407, 1407, 1420, 1420, 1429, 1430, 1433, 1434,
- 1439, 1439, 1454, 1454, 1468, 1469, 1472, 1473, 1476, 1477,
- 1478, 1479, 1480, 1481, 1482, 1483, 1484, 1485, 1488, 1490,
- 1495, 1497, 1497, 1505, 1505, 1513, 1513, 1521, 1523, 1523,
- 1531, 1540, 1540, 1552, 1553, 1558, 1559, 1564, 1564, 1576,
- 1576, 1588, 1589, 1594, 1595, 1600, 1601, 1602, 1603, 1604,
- 1605, 1606, 1607, 1608, 1611, 1613, 1613, 1621, 1623, 1625,
- 1630, 1638, 1638, 1650, 1651, 1654, 1655, 1658, 1658, 1668,
- 1668, 1678, 1679, 1682, 1683, 1684, 1685, 1686, 1687, 1688,
- 1691, 1691, 1699, 1699, 1724, 1724, 1754, 1754, 1764, 1765,
- 1768, 1769, 1772, 1772, 1781, 1781, 1790, 1791, 1794, 1795,
- 1799, 1800, 1801, 1802, 1803, 1804, 1805, 1806, 1807, 1808,
- 1809, 1810, 1811, 1812, 1813, 1816, 1816, 1824, 1824, 1832,
- 1832, 1840, 1840, 1848, 1848, 1858, 1858, 1866, 1866, 1874,
- 1874, 1882, 1882, 1890, 1890, 1898, 1898, 1906, 1906, 1919,
- 1919, 1929, 1930, 1936, 1936, 1946, 1947, 1950, 1950, 1960,
- 1961, 1964, 1965, 1968, 1969, 1970, 1971, 1972, 1973, 1974,
- 1975, 1976, 1977, 1978, 1981, 1983, 1983, 1991, 2000, 2007,
- 2007, 2017, 2018, 2021, 2022, 2023, 2024, 2025, 2028, 2028,
- 2036, 2036, 2047, 2047, 2059, 2060, 2063, 2064, 2065, 2066,
- 2067, 2068, 2071, 2076, 2076, 2084, 2089, 2089, 2098, 2098,
- 2110, 2110, 2120, 2121, 2124, 2125, 2126, 2127, 2128, 2129,
- 2130, 2131, 2132, 2133, 2134, 2135, 2136, 2137, 2138, 2139,
- 2140, 2141, 2144, 2149, 2149, 2157, 2162, 2162, 2170, 2175,
- 2180, 2180, 2188, 2189, 2192, 2192, 2201, 2201, 2210, 2216,
- 2222, 2222, 2230, 2230, 2239, 2239, 2248, 2248, 2259, 2259,
- 2266, 2266, 2273, 2273, 2280, 2280, 2291, 2291, 2301, 2302,
- 2306, 2307, 2310, 2310, 2320, 2330, 2330, 2340, 2340, 2351,
- 2352, 2356, 2360, 2360, 2372, 2373, 2377, 2377, 2385, 2386,
- 2389, 2390, 2391, 2392, 2393, 2394, 2395, 2398, 2403, 2403,
- 2411, 2411, 2421, 2422, 2425, 2425, 2433, 2434, 2437, 2438,
- 2439, 2440, 2441, 2444, 2444, 2452, 2457, 2462, 2467, 2467
+ 292, 292, 293, 293, 294, 294, 295, 295, 296, 296,
+ 304, 305, 306, 307, 308, 309, 310, 313, 318, 318,
+ 329, 332, 333, 336, 340, 347, 347, 354, 355, 358,
+ 362, 369, 369, 376, 377, 380, 384, 395, 405, 405,
+ 421, 422, 426, 427, 428, 429, 430, 431, 434, 434,
+ 449, 449, 458, 459, 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, 523, 528, 533,
+ 538, 543, 548, 553, 558, 563, 563, 571, 576, 581,
+ 586, 591, 596, 601, 601, 609, 612, 615, 618, 621,
+ 627, 627, 635, 635, 643, 643, 651, 651, 659, 664,
+ 669, 674, 674, 685, 686, 689, 690, 691, 692, 693,
+ 694, 695, 698, 698, 707, 707, 717, 717, 724, 725,
+ 728, 728, 735, 737, 741, 747, 747, 759, 759, 769,
+ 770, 772, 774, 774, 792, 792, 804, 804, 814, 815,
+ 818, 819, 822, 822, 832, 833, 836, 837, 838, 839,
+ 840, 841, 842, 843, 844, 845, 846, 847, 848, 849,
+ 850, 851, 852, 853, 854, 855, 856, 859, 859, 866,
+ 867, 868, 869, 872, 872, 880, 880, 888, 888, 896,
+ 901, 901, 909, 914, 919, 924, 929, 934, 939, 944,
+ 944, 952, 952, 960, 960, 968, 968, 976, 981, 986,
+ 992, 992, 1002, 1003, 1006, 1007, 1008, 1009, 1010, 1013,
+ 1018, 1023, 1028, 1033, 1040, 1040, 1052, 1053, 1056, 1057,
+ 1058, 1059, 1060, 1061, 1064, 1069, 1074, 1079, 1079, 1089,
+ 1090, 1093, 1094, 1097, 1097, 1107, 1107, 1117, 1118, 1119,
+ 1122, 1123, 1126, 1126, 1134, 1134, 1142, 1142, 1153, 1154,
+ 1157, 1158, 1159, 1160, 1161, 1162, 1165, 1170, 1175, 1180,
+ 1185, 1190, 1198, 1198, 1211, 1212, 1215, 1216, 1223, 1223,
+ 1249, 1249, 1260, 1261, 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, 1295, 1296, 1297, 1298, 1299, 1300,
+ 1301, 1302, 1305, 1305, 1313, 1313, 1321, 1321, 1329, 1329,
+ 1337, 1337, 1345, 1345, 1353, 1353, 1363, 1363, 1370, 1371,
+ 1372, 1373, 1376, 1383, 1383, 1394, 1395, 1399, 1400, 1403,
+ 1403, 1411, 1412, 1415, 1416, 1417, 1418, 1419, 1420, 1421,
+ 1422, 1423, 1424, 1425, 1426, 1427, 1428, 1429, 1430, 1431,
+ 1432, 1433, 1434, 1435, 1436, 1437, 1438, 1439, 1440, 1441,
+ 1442, 1443, 1444, 1445, 1446, 1447, 1454, 1454, 1467, 1467,
+ 1476, 1477, 1480, 1481, 1486, 1486, 1501, 1501, 1515, 1516,
+ 1519, 1520, 1523, 1524, 1525, 1526, 1527, 1528, 1529, 1530,
+ 1531, 1532, 1535, 1537, 1542, 1544, 1544, 1552, 1552, 1560,
+ 1560, 1568, 1570, 1570, 1578, 1587, 1587, 1599, 1600, 1605,
+ 1606, 1611, 1611, 1623, 1623, 1635, 1636, 1641, 1642, 1647,
+ 1648, 1649, 1650, 1651, 1652, 1653, 1654, 1655, 1658, 1660,
+ 1660, 1668, 1670, 1672, 1677, 1685, 1685, 1697, 1698, 1701,
+ 1702, 1705, 1705, 1715, 1715, 1725, 1726, 1729, 1730, 1731,
+ 1732, 1733, 1734, 1735, 1738, 1738, 1746, 1746, 1771, 1771,
+ 1801, 1801, 1811, 1812, 1815, 1816, 1819, 1819, 1828, 1828,
+ 1837, 1838, 1841, 1842, 1846, 1847, 1848, 1849, 1850, 1851,
+ 1852, 1853, 1854, 1855, 1856, 1857, 1858, 1859, 1860, 1863,
+ 1863, 1871, 1871, 1879, 1879, 1887, 1887, 1895, 1895, 1905,
+ 1905, 1913, 1913, 1921, 1921, 1929, 1929, 1937, 1937, 1945,
+ 1945, 1953, 1953, 1966, 1966, 1976, 1977, 1983, 1983, 1993,
+ 1994, 1997, 1997, 2007, 2008, 2011, 2012, 2015, 2016, 2017,
+ 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2028, 2030,
+ 2030, 2038, 2045, 2052, 2052, 2062, 2063, 2066, 2067, 2068,
+ 2069, 2070, 2073, 2073, 2081, 2081, 2092, 2092, 2104, 2105,
+ 2108, 2109, 2110, 2111, 2112, 2113, 2116, 2121, 2121, 2129,
+ 2134, 2134, 2143, 2143, 2155, 2155, 2165, 2166, 2169, 2170,
+ 2171, 2172, 2173, 2174, 2175, 2176, 2177, 2178, 2179, 2180,
+ 2181, 2182, 2183, 2184, 2185, 2186, 2189, 2194, 2194, 2202,
+ 2207, 2207, 2215, 2220, 2225, 2225, 2233, 2234, 2237, 2237,
+ 2246, 2246, 2255, 2261, 2267, 2267, 2275, 2275, 2284, 2284,
+ 2293, 2293, 2304, 2304, 2311, 2311, 2318, 2318, 2327, 2327,
+ 2338, 2338, 2348, 2349, 2353, 2354, 2357, 2357, 2367, 2377,
+ 2377, 2387, 2387, 2398, 2399, 2403, 2407, 2407, 2419, 2420,
+ 2424, 2424, 2432, 2433, 2436, 2437, 2438, 2439, 2440, 2441,
+ 2442, 2445, 2450, 2450, 2458, 2458, 2468, 2469, 2472, 2472,
+ 2480, 2481, 2484, 2485, 2486, 2487, 2488, 2491, 2491, 2499,
+ 2504, 2509, 2514, 2514
};
// Print the state stack on the debug stream.
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)
{
- 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 5423 "dhcp4_parser.cc"
-
-#line 2476 "dhcp4_parser.yy"
+#line 5418 "dhcp4_parser.cc" // lalr1.cc:1167
+#line 2522 "dhcp4_parser.yy" // lalr1.cc:1168
void
-// A Bison parser, made by GNU Bison 3.5.3.
+// 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.
-// Undocumented macros, especially those whose name start with YY_,
-// are private implementation details. Do not rely on them.
-
#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 60 "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 203 "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);
}
/// 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:
/// Prohibit blind copies.
- self_type& operator= (const self_type&);
- semantic_type (const self_type&);
+ 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_MAX_RECLAIM_TIME = 383,
TOKEN_UNWARNED_RECLAIM_CYCLES = 384,
TOKEN_DHCP4O6_PORT = 385,
- TOKEN_CONTROL_SOCKET = 386,
- TOKEN_SOCKET_TYPE = 387,
- TOKEN_SOCKET_NAME = 388,
- TOKEN_DHCP_QUEUE_CONTROL = 389,
- TOKEN_ENABLE_QUEUE = 390,
- TOKEN_QUEUE_TYPE = 391,
- TOKEN_CAPACITY = 392,
- TOKEN_DHCP_DDNS = 393,
- TOKEN_ENABLE_UPDATES = 394,
- TOKEN_QUALIFYING_SUFFIX = 395,
- TOKEN_SERVER_IP = 396,
- TOKEN_SERVER_PORT = 397,
- TOKEN_SENDER_IP = 398,
- TOKEN_SENDER_PORT = 399,
- TOKEN_MAX_QUEUE_SIZE = 400,
- TOKEN_NCR_PROTOCOL = 401,
- TOKEN_NCR_FORMAT = 402,
- TOKEN_OVERRIDE_NO_UPDATE = 403,
- TOKEN_OVERRIDE_CLIENT_UPDATE = 404,
- TOKEN_REPLACE_CLIENT_NAME = 405,
- TOKEN_GENERATED_PREFIX = 406,
- TOKEN_TCP = 407,
- TOKEN_JSON = 408,
- TOKEN_WHEN_PRESENT = 409,
- TOKEN_NEVER = 410,
- TOKEN_ALWAYS = 411,
- TOKEN_WHEN_NOT_PRESENT = 412,
- TOKEN_HOSTNAME_CHAR_SET = 413,
- TOKEN_HOSTNAME_CHAR_REPLACEMENT = 414,
- TOKEN_LOGGING = 415,
- TOKEN_LOGGERS = 416,
- TOKEN_OUTPUT_OPTIONS = 417,
- TOKEN_OUTPUT = 418,
- TOKEN_DEBUGLEVEL = 419,
- TOKEN_SEVERITY = 420,
- TOKEN_FLUSH = 421,
- TOKEN_MAXSIZE = 422,
- TOKEN_MAXVER = 423,
- TOKEN_PATTERN = 424,
- TOKEN_DHCP6 = 425,
- TOKEN_DHCPDDNS = 426,
- TOKEN_CONTROL_AGENT = 427,
- TOKEN_TOPLEVEL_JSON = 428,
- TOKEN_TOPLEVEL_DHCP4 = 429,
- TOKEN_SUB_DHCP4 = 430,
- TOKEN_SUB_INTERFACES4 = 431,
- TOKEN_SUB_SUBNET4 = 432,
- TOKEN_SUB_POOL4 = 433,
- TOKEN_SUB_RESERVATION = 434,
- TOKEN_SUB_OPTION_DEFS = 435,
- TOKEN_SUB_OPTION_DEF = 436,
- TOKEN_SUB_OPTION_DATA = 437,
- TOKEN_SUB_HOOKS_LIBRARY = 438,
- TOKEN_SUB_DHCP_DDNS = 439,
- TOKEN_SUB_LOGGING = 440,
- TOKEN_SUB_CONFIG_CONTROL = 441,
- TOKEN_STRING = 442,
- TOKEN_INTEGER = 443,
- TOKEN_FLOAT = 444,
- TOKEN_BOOLEAN = 445
+ TOKEN_DHCP_MULTI_THREADING = 386,
+ TOKEN_ENABLE_MULTI_THREADING = 387,
+ TOKEN_THREAD_POOL_SIZE = 388,
+ TOKEN_PACKET_QUEUE_SIZE = 389,
+ TOKEN_CONTROL_SOCKET = 390,
+ TOKEN_SOCKET_TYPE = 391,
+ TOKEN_SOCKET_NAME = 392,
+ TOKEN_DHCP_QUEUE_CONTROL = 393,
+ TOKEN_ENABLE_QUEUE = 394,
+ TOKEN_QUEUE_TYPE = 395,
+ TOKEN_CAPACITY = 396,
+ TOKEN_DHCP_DDNS = 397,
+ TOKEN_ENABLE_UPDATES = 398,
+ TOKEN_QUALIFYING_SUFFIX = 399,
+ TOKEN_SERVER_IP = 400,
+ TOKEN_SERVER_PORT = 401,
+ TOKEN_SENDER_IP = 402,
+ TOKEN_SENDER_PORT = 403,
+ TOKEN_MAX_QUEUE_SIZE = 404,
+ TOKEN_NCR_PROTOCOL = 405,
+ TOKEN_NCR_FORMAT = 406,
+ TOKEN_OVERRIDE_NO_UPDATE = 407,
+ TOKEN_OVERRIDE_CLIENT_UPDATE = 408,
+ TOKEN_REPLACE_CLIENT_NAME = 409,
+ TOKEN_GENERATED_PREFIX = 410,
+ TOKEN_TCP = 411,
+ TOKEN_JSON = 412,
+ TOKEN_WHEN_PRESENT = 413,
+ TOKEN_NEVER = 414,
+ TOKEN_ALWAYS = 415,
+ TOKEN_WHEN_NOT_PRESENT = 416,
+ TOKEN_HOSTNAME_CHAR_SET = 417,
+ TOKEN_HOSTNAME_CHAR_REPLACEMENT = 418,
+ TOKEN_LOGGING = 419,
+ TOKEN_LOGGERS = 420,
+ TOKEN_OUTPUT_OPTIONS = 421,
+ TOKEN_OUTPUT = 422,
+ TOKEN_DEBUGLEVEL = 423,
+ TOKEN_SEVERITY = 424,
+ TOKEN_FLUSH = 425,
+ TOKEN_MAXSIZE = 426,
+ TOKEN_MAXVER = 427,
+ TOKEN_PATTERN = 428,
+ TOKEN_DHCP6 = 429,
+ TOKEN_DHCPDDNS = 430,
+ TOKEN_CONTROL_AGENT = 431,
+ TOKEN_TOPLEVEL_JSON = 432,
+ TOKEN_TOPLEVEL_DHCP4 = 433,
+ TOKEN_SUB_DHCP4 = 434,
+ TOKEN_SUB_INTERFACES4 = 435,
+ TOKEN_SUB_SUBNET4 = 436,
+ TOKEN_SUB_POOL4 = 437,
+ TOKEN_SUB_RESERVATION = 438,
+ TOKEN_SUB_OPTION_DEFS = 439,
+ TOKEN_SUB_OPTION_DEF = 440,
+ TOKEN_SUB_OPTION_DATA = 441,
+ TOKEN_SUB_HOOKS_LIBRARY = 442,
+ TOKEN_SUB_DHCP_DDNS = 443,
+ TOKEN_SUB_LOGGING = 444,
+ TOKEN_SUB_CONFIG_CONTROL = 445,
+ TOKEN_STRING = 446,
+ TOKEN_INTEGER = 447,
+ TOKEN_FLOAT = 448,
+ TOKEN_BOOLEAN = 449
};
};
/// A complete symbol.
///
/// Expects its Base type to provide access to the symbol type
- /// via type_get ().
+ /// 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);
-#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_number_type yytype = this->type_get ();
- basic_symbol<Base>& yysym = *this;
- (void) yysym;
- switch (yytype)
- {
- default:
- break;
- }
-
- // Type destructor.
-switch (yytype)
- {
- case 207: // value
- case 211: // map_value
- case 252: // ddns_replace_client_name_value
- case 274: // socket_type
- case 277: // outbound_interface_value
- case 299: // db_type
- case 386: // hr_mode
- case 541: // ncr_protocol_value
- value.template destroy< ElementPtr > ();
- break;
+ basic_symbol (typename Base::kind_type t, const ElementPtr v, const location_type& l);
- case 190: // "boolean"
- value.template destroy< bool > ();
- break;
+ basic_symbol (typename Base::kind_type t, const bool v, const location_type& l);
- case 189: // "floating point"
- value.template destroy< double > ();
- break;
+ basic_symbol (typename Base::kind_type t, const double v, const location_type& l);
- case 188: // "integer"
- value.template destroy< int64_t > ();
- break;
+ basic_symbol (typename Base::kind_type t, const int64_t v, const location_type& l);
- case 187: // "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);
+
+ /// Destroy the symbol.
+ ~basic_symbol ();
+
+ /// 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.
/// Default constructor.
by_type ();
-#if 201103L <= YY_CPLUSPLUS
- /// Move constructor.
- by_type (by_type&& that);
-#endif
-
/// Copy constructor.
- by_type (const by_type& that);
+ by_type (const by_type& other);
/// The symbol type as needed by the constructor.
typedef token_type kind_type;
/// The (internal) type number (corresponding to \a type).
/// \a empty when empty.
- symbol_number_type type_get () const YY_NOEXCEPT;
+ symbol_number_type type_get () const;
+
+ /// The token.
+ token_type token () const;
/// The symbol type.
/// \a empty_symbol when empty.
};
/// "External" symbols: returned by the scanner.
- struct symbol_type : basic_symbol<by_type>
- {
- /// Superclass.
- typedef basic_symbol<by_type> super_type;
+ 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_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_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_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_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_LOGGING || tok == token::TOKEN_LOGGERS || tok == token::TOKEN_OUTPUT_OPTIONS || tok == token::TOKEN_OUTPUT || tok == token::TOKEN_DEBUGLEVEL || tok == token::TOKEN_SEVERITY || tok == token::TOKEN_FLUSH || tok == token::TOKEN_MAXSIZE || tok == token::TOKEN_MAXVER || tok == token::TOKEN_PATTERN || tok == token::TOKEN_DHCP6 || tok == token::TOKEN_DHCPDDNS || tok == token::TOKEN_CONTROL_AGENT || 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_LOGGING || 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_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_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_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_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_LOGGING || tok == token::TOKEN_LOGGERS || tok == token::TOKEN_OUTPUT_OPTIONS || tok == token::TOKEN_OUTPUT || tok == token::TOKEN_DEBUGLEVEL || tok == token::TOKEN_SEVERITY || tok == token::TOKEN_FLUSH || tok == token::TOKEN_MAXSIZE || tok == token::TOKEN_MAXVER || tok == token::TOKEN_PATTERN || tok == token::TOKEN_DHCP6 || tok == token::TOKEN_DHCPDDNS || tok == token::TOKEN_CONTROL_AGENT || 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_LOGGING || tok == token::TOKEN_SUB_CONFIG_CONTROL);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- symbol_type (int tok, bool v, location_type l)
- : super_type(token_type (tok), std::move (v), std::move (l))
- {
- 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);
- /// Parse. An alias for parse ().
- /// \returns 0 iff parsing succeeded.
- int operator() ();
+ static inline
+ symbol_type
+ make_LSQUARE_BRACKET (const location_type& l);
- /// Parse.
- /// \returns 0 iff parsing succeeded.
- virtual int parse ();
+ static inline
+ symbol_type
+ make_RSQUARE_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_LCURLY_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_RCURLY_BRACKET (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_NULL_TYPE (const location_type& l);
- /// Report a syntax error.
- void error (const syntax_error& err);
+ static inline
+ symbol_type
+ make_DHCP4 (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_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);
- }
-#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);
- }
+ static inline
+ symbol_type
+ make_CONFIG_CONTROL (const location_type& 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_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_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_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_LOGGING (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_DHCP6 (const location_type& l);
+
+ static inline
+ symbol_type
+ make_DHCPDDNS (const location_type& l);
+
+ static inline
+ symbol_type
+ make_CONTROL_AGENT (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_LOGGING (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_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_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_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_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_LOGGING (location_type l)
- {
- return symbol_type (token::TOKEN_LOGGING, std::move (l));
- }
-#else
- static
- symbol_type
- make_LOGGING (const location_type& l)
- {
- return symbol_type (token::TOKEN_LOGGING, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_LOGGERS (location_type l)
- {
- return symbol_type (token::TOKEN_LOGGERS, std::move (l));
- }
-#else
- static
- symbol_type
- make_LOGGERS (const location_type& l)
- {
- return symbol_type (token::TOKEN_LOGGERS, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_OUTPUT_OPTIONS (location_type l)
- {
- return symbol_type (token::TOKEN_OUTPUT_OPTIONS, std::move (l));
- }
-#else
- static
- symbol_type
- make_OUTPUT_OPTIONS (const location_type& l)
- {
- return symbol_type (token::TOKEN_OUTPUT_OPTIONS, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_OUTPUT (location_type l)
- {
- return symbol_type (token::TOKEN_OUTPUT, std::move (l));
- }
-#else
- static
- symbol_type
- make_OUTPUT (const location_type& l)
- {
- return symbol_type (token::TOKEN_OUTPUT, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_DEBUGLEVEL (location_type l)
- {
- return symbol_type (token::TOKEN_DEBUGLEVEL, std::move (l));
- }
-#else
- static
- symbol_type
- make_DEBUGLEVEL (const location_type& l)
- {
- return symbol_type (token::TOKEN_DEBUGLEVEL, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_SEVERITY (location_type l)
- {
- return symbol_type (token::TOKEN_SEVERITY, std::move (l));
- }
-#else
- static
- symbol_type
- make_SEVERITY (const location_type& l)
- {
- return symbol_type (token::TOKEN_SEVERITY, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_FLUSH (location_type l)
- {
- return symbol_type (token::TOKEN_FLUSH, std::move (l));
- }
-#else
- static
- symbol_type
- make_FLUSH (const location_type& l)
- {
- return symbol_type (token::TOKEN_FLUSH, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_MAXSIZE (location_type l)
- {
- return symbol_type (token::TOKEN_MAXSIZE, std::move (l));
- }
-#else
- static
- symbol_type
- make_MAXSIZE (const location_type& l)
- {
- return symbol_type (token::TOKEN_MAXSIZE, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_MAXVER (location_type l)
- {
- return symbol_type (token::TOKEN_MAXVER, std::move (l));
- }
-#else
- static
- symbol_type
- make_MAXVER (const location_type& l)
- {
- return symbol_type (token::TOKEN_MAXVER, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_PATTERN (location_type l)
- {
- return symbol_type (token::TOKEN_PATTERN, std::move (l));
- }
-#else
- static
- symbol_type
- make_PATTERN (const location_type& l)
- {
- return symbol_type (token::TOKEN_PATTERN, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_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_DHCPDDNS (location_type l)
- {
- return symbol_type (token::TOKEN_DHCPDDNS, std::move (l));
- }
-#else
- static
- symbol_type
- make_DHCPDDNS (const location_type& l)
- {
- return symbol_type (token::TOKEN_DHCPDDNS, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_CONTROL_AGENT (location_type l)
- {
- return symbol_type (token::TOKEN_CONTROL_AGENT, std::move (l));
- }
-#else
- static
- symbol_type
- make_CONTROL_AGENT (const location_type& l)
- {
- return symbol_type (token::TOKEN_CONTROL_AGENT, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_TOPLEVEL_JSON (location_type l)
- {
- return symbol_type (token::TOKEN_TOPLEVEL_JSON, std::move (l));
- }
-#else
- static
- symbol_type
- make_TOPLEVEL_JSON (const location_type& l)
- {
- return symbol_type (token::TOKEN_TOPLEVEL_JSON, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_TOPLEVEL_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_LOGGING (location_type l)
- {
- return symbol_type (token::TOKEN_SUB_LOGGING, std::move (l));
- }
-#else
- static
- symbol_type
- make_SUB_LOGGING (const location_type& l)
- {
- return symbol_type (token::TOKEN_SUB_LOGGING, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_SUB_CONFIG_CONTROL (location_type l)
- {
- return symbol_type (token::TOKEN_SUB_CONFIG_CONTROL, std::move (l));
- }
-#else
- static
- symbol_type
- make_SUB_CONFIG_CONTROL (const location_type& l)
- {
- return symbol_type (token::TOKEN_SUB_CONFIG_CONTROL, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_STRING (std::string v, location_type l)
- {
- return symbol_type (token::TOKEN_STRING, std::move (v), std::move (l));
- }
-#else
- static
- symbol_type
- make_STRING (const std::string& v, const location_type& l)
- {
- return symbol_type (token::TOKEN_STRING, v, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_INTEGER (int64_t v, location_type l)
- {
- return symbol_type (token::TOKEN_INTEGER, std::move (v), std::move (l));
- }
-#else
- static
- symbol_type
- make_INTEGER (const int64_t& v, const location_type& l)
- {
- return symbol_type (token::TOKEN_INTEGER, v, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_FLOAT (double v, location_type l)
- {
- return symbol_type (token::TOKEN_FLOAT, std::move (v), std::move (l));
- }
-#else
- static
- symbol_type
- make_FLOAT (const double& v, const location_type& l)
- {
- return symbol_type (token::TOKEN_FLOAT, v, l);
- }
-#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_ = 1357, ///< Last index in yytable_.
+ yynnts_ = 417, ///< Number of nonterminal symbols.
+ yyfinal_ = 30, ///< 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 211: // value
+ case 215: // map_value
+ case 256: // ddns_replace_client_name_value
+ case 278: // socket_type
+ case 281: // outbound_interface_value
+ case 303: // db_type
+ case 397: // hr_mode
+ case 552: // 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 211: // value
+ case 215: // map_value
+ case 256: // ddns_replace_client_name_value
+ case 278: // socket_type
+ case 281: // outbound_interface_value
+ case 303: // db_type
+ case 397: // hr_mode
+ case 552: // 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 211: // value
+ case 215: // map_value
+ case 256: // ddns_replace_client_name_value
+ case 278: // socket_type
+ case 281: // outbound_interface_value
+ case 303: // db_type
+ case 397: // hr_mode
+ case 552: // 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 211: // value
+ case 215: // map_value
+ case 256: // ddns_replace_client_name_value
+ case 278: // socket_type
+ case 281: // outbound_interface_value
+ case 303: // db_type
+ case 397: // hr_mode
+ case 552: // 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);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_TCP_KEEPALIVE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_TCP_KEEPALIVE, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_TCP_NODELAY (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_TCP_NODELAY, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_MAX_ROW_ERRORS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_MAX_ROW_ERRORS, l);
+ }
+
+ 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);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_MAX_VALID_LIFETIME (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_MAX_VALID_LIFETIME, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_RENEW_TIMER (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_RENEW_TIMER, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_REBIND_TIMER (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_REBIND_TIMER, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_CALCULATE_TEE_TIMES (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_CALCULATE_TEE_TIMES, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_T1_PERCENT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_T1_PERCENT, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_T2_PERCENT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_T2_PERCENT, l);
+ }
+
+ 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);
+ }
- private:
- /// This class is not copyable.
- Dhcp4Parser (const Dhcp4Parser&);
- Dhcp4Parser& operator= (const Dhcp4Parser&);
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_STATISTIC_DEFAULT_SAMPLE_COUNT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_STATISTIC_DEFAULT_SAMPLE_COUNT, l);
+ }
- /// Stored state numbers (used for stacks).
- typedef short state_type;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_STATISTIC_DEFAULT_SAMPLE_AGE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_STATISTIC_DEFAULT_SAMPLE_AGE, l);
+ }
- /// Generate an error message.
- /// \param yystate the state where the error occurred.
- /// \param yyla the lookahead token.
- virtual std::string yysyntax_error_ (state_type yystate,
- const symbol_type& yyla) const;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_DDNS_SEND_UPDATES (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_DDNS_SEND_UPDATES, l);
+ }
- /// 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_DDNS_OVERRIDE_NO_UPDATE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_DDNS_OVERRIDE_NO_UPDATE, 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_DDNS_OVERRIDE_CLIENT_UPDATE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE, 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_DDNS_REPLACE_CLIENT_NAME (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_DDNS_REPLACE_CLIENT_NAME, l);
+ }
- static const short yypact_ninf_;
- static const signed char yytable_ninf_;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_DDNS_GENERATED_PREFIX (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_DDNS_GENERATED_PREFIX, l);
+ }
- /// Convert a scanner token number \a t to a symbol number.
- /// In theory \a t should be a token_type, but character literals
- /// are valid, yet not members of the token_type enum.
- static token_number_type yytranslate_ (int t);
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_DDNS_QUALIFYING_SUFFIX (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_DDNS_QUALIFYING_SUFFIX, l);
+ }
- // Tables.
- // YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
- // STATE-NUM.
- static const short yypact_[];
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_STORE_EXTENDED_INFO (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_STORE_EXTENDED_INFO, 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_SUBNET4 (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SUBNET4, l);
+ }
- // YYPGOTO[NTERM-NUM].
- static const short yypgoto_[];
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SUBNET_4O6_INTERFACE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SUBNET_4O6_INTERFACE, l);
+ }
- // YYDEFGOTO[NTERM-NUM].
- static const short yydefgoto_[];
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SUBNET_4O6_INTERFACE_ID (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SUBNET_4O6_INTERFACE_ID, 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_SUBNET_4O6_SUBNET (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SUBNET_4O6_SUBNET, l);
+ }
- static const short yycheck_[];
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_OPTION_DEF (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_OPTION_DEF, l);
+ }
- // YYSTOS[STATE-NUM] -- The (internal number of the) accessing
- // symbol of state STATE-NUM.
- static const short yystos_[];
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_OPTION_DATA (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_OPTION_DATA, l);
+ }
- // YYR1[YYN] -- Symbol number of symbol that rule YYN derives.
- static const short yyr1_[];
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_NAME (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_NAME, l);
+ }
- // YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.
- static const signed char yyr2_[];
+ 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);
+ }
- /// Convert the symbol name \a n to a form suitable for a diagnostic.
- static std::string yytnamerr_ (const char *n);
+ 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);
+ }
- /// 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 short yyrline_[];
- /// Report on the debug stream that the rule \a r is going to be reduced.
- virtual void yy_reduce_print_ (int r);
- /// Print the state stack on the debug stream.
- virtual void yystack_print_ ();
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_ALWAYS_SEND (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_ALWAYS_SEND, l);
+ }
- /// Debugging level.
- int yydebug_;
- /// Debug stream.
- std::ostream* yycdebug_;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_RECORD_TYPES (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_RECORD_TYPES, l);
+ }
- /// \brief Display a symbol type, value and location.
- /// \param yyo The output stream.
- /// \param yysym The symbol.
- template <typename Base>
- void yy_print_ (std::ostream& yyo, const basic_symbol<Base>& yysym) const;
-#endif
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_ENCAPSULATE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_ENCAPSULATE, 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_ARRAY (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_ARRAY, l);
+ }
- private:
- /// Type access provider for state based symbols.
- struct by_state
- {
- /// Default constructor.
- by_state () YY_NOEXCEPT;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SHARED_NETWORKS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SHARED_NETWORKS, l);
+ }
- /// The symbol type as needed by the constructor.
- typedef state_type kind_type;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_POOLS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_POOLS, l);
+ }
- /// Constructor.
- by_state (kind_type s) YY_NOEXCEPT;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_POOL (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_POOL, l);
+ }
- /// Copy constructor.
- by_state (const by_state& that) YY_NOEXCEPT;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_USER_CONTEXT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_USER_CONTEXT, l);
+ }
- /// Record that this symbol is empty.
- void clear () YY_NOEXCEPT;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_COMMENT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_COMMENT, l);
+ }
- /// Steal the symbol type from \a that.
- void move (by_state& that);
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SUBNET (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SUBNET, l);
+ }
- /// The (internal) type number (corresponding to \a state).
- /// \a empty_symbol when empty.
- symbol_number_type type_get () const YY_NOEXCEPT;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_INTERFACE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_INTERFACE, 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_ID (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_ID, l);
+ }
- /// The state.
- /// \a empty when empty.
- state_type state;
- };
+ 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);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_THREAD_POOL_SIZE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_THREAD_POOL_SIZE, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_PACKET_QUEUE_SIZE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_PACKET_QUEUE_SIZE, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_CONTROL_SOCKET (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_CONTROL_SOCKET, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SOCKET_TYPE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SOCKET_TYPE, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SOCKET_NAME (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SOCKET_NAME, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_DHCP_QUEUE_CONTROL (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_DHCP_QUEUE_CONTROL, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_ENABLE_QUEUE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_ENABLE_QUEUE, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_QUEUE_TYPE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_QUEUE_TYPE, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_CAPACITY (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_CAPACITY, 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_DHCP_DDNS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_DHCP_DDNS, l);
+ }
- /// A stack with random access from its top.
- template <typename T, typename S = std::vector<T> >
- class stack
- {
- public:
- // Hide our reversed order.
- typedef typename S::reverse_iterator iterator;
- typedef typename S::const_reverse_iterator const_iterator;
- typedef typename S::size_type size_type;
- typedef typename std::ptrdiff_t index_type;
-
- stack (size_type n = 200)
- : seq_ (n)
- {}
-
- /// 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_ENABLE_UPDATES (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_ENABLE_UPDATES, 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_QUALIFYING_SUFFIX (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_QUALIFYING_SUFFIX, l);
+ }
- /// Pop all elements from the stack.
- void
- clear () YY_NOEXCEPT
- {
- seq_.clear ();
- }
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SERVER_IP (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SERVER_IP, l);
+ }
- /// Number of elements on the stack.
- index_type
- size () const YY_NOEXCEPT
- {
- return index_type (seq_.size ());
- }
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SERVER_PORT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SERVER_PORT, l);
+ }
- std::ptrdiff_t
- ssize () const YY_NOEXCEPT
- {
- return std::ptrdiff_t (size ());
- }
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SENDER_IP (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SENDER_IP, l);
+ }
- /// Iterator on top of the stack (going downwards).
- const_iterator
- begin () const YY_NOEXCEPT
- {
- return seq_.rbegin ();
- }
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SENDER_PORT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SENDER_PORT, l);
+ }
- /// Bottom of the stack.
- const_iterator
- end () const YY_NOEXCEPT
- {
- return seq_.rend ();
- }
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_MAX_QUEUE_SIZE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_MAX_QUEUE_SIZE, 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_PROTOCOL (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_NCR_PROTOCOL, l);
+ }
- private:
- stack (const stack&);
- stack& operator= (const stack&);
- /// The wrapped container.
- S seq_;
- };
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_NCR_FORMAT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_NCR_FORMAT, l);
+ }
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_OVERRIDE_NO_UPDATE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_OVERRIDE_NO_UPDATE, l);
+ }
- /// Stack type.
- typedef stack<stack_symbol_type> stack_type;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_OVERRIDE_CLIENT_UPDATE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_OVERRIDE_CLIENT_UPDATE, l);
+ }
- /// The stack.
- stack_type yystack_;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_REPLACE_CLIENT_NAME (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_REPLACE_CLIENT_NAME, 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_GENERATED_PREFIX (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_GENERATED_PREFIX, 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_TCP (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_TCP, l);
+ }
- /// Pop \a n symbols from the stack.
- void yypop_ (int n = 1);
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_JSON (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_JSON, l);
+ }
- /// Some specific tokens.
- static const token_number_type yy_error_token_ = 1;
- static const token_number_type yy_undef_token_ = 2;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_WHEN_PRESENT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_WHEN_PRESENT, l);
+ }
- /// Constants.
- enum
- {
- yyeof_ = 0,
- yylast_ = 1175, ///< Last index in yytable_.
- yynnts_ = 410, ///< Number of nonterminal symbols.
- yyfinal_ = 30, ///< Termination state number.
- yyntokens_ = 191 ///< Number of tokens.
- };
+ 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);
+ }
- inline
- Dhcp4Parser::token_number_type
- Dhcp4Parser::yytranslate_ (int t)
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_HOSTNAME_CHAR_SET (const location_type& l)
{
- // YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to
- // TOKEN-NUM as returned by yylex.
- static
- const token_number_type
- translate_table[] =
- {
- 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
- 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
- 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
- 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
- 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
- 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
- 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
- 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
- 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
- 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
- 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
- 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
- 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
- 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
- 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
- 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
- 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
- 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
- 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
- 185, 186, 187, 188, 189, 190
- };
- const int user_token_number_max_ = 445;
+ return symbol_type (token::TOKEN_HOSTNAME_CHAR_SET, l);
+ }
- if (t <= 0)
- return yyeof_;
- else if (t <= user_token_number_max_)
- return translate_table[t];
- else
- return yy_undef_token_;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_HOSTNAME_CHAR_REPLACEMENT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_HOSTNAME_CHAR_REPLACEMENT, l);
}
- // basic_symbol.
-#if 201103L <= YY_CPLUSPLUS
- template <typename Base>
- Dhcp4Parser::basic_symbol<Base>::basic_symbol (basic_symbol&& that)
- : Base (std::move (that))
- , value ()
- , location (std::move (that.location))
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_LOGGING (const location_type& l)
{
- switch (this->type_get ())
- {
- case 207: // value
- case 211: // map_value
- case 252: // ddns_replace_client_name_value
- case 274: // socket_type
- case 277: // outbound_interface_value
- case 299: // db_type
- case 386: // hr_mode
- case 541: // ncr_protocol_value
- value.move< ElementPtr > (std::move (that.value));
- break;
+ return symbol_type (token::TOKEN_LOGGING, l);
+ }
- case 190: // "boolean"
- value.move< bool > (std::move (that.value));
- break;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_LOGGERS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_LOGGERS, l);
+ }
- case 189: // "floating point"
- value.move< double > (std::move (that.value));
- break;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_OUTPUT_OPTIONS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_OUTPUT_OPTIONS, l);
+ }
- case 188: // "integer"
- value.move< int64_t > (std::move (that.value));
- break;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_OUTPUT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_OUTPUT, l);
+ }
- case 187: // "constant string"
- value.move< std::string > (std::move (that.value));
- break;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_DEBUGLEVEL (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_DEBUGLEVEL, l);
+ }
- default:
- break;
- }
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SEVERITY (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SEVERITY, l);
+ }
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_FLUSH (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_FLUSH, l);
}
-#endif
- template <typename Base>
- Dhcp4Parser::basic_symbol<Base>::basic_symbol (const basic_symbol& that)
- : Base (that)
- , value ()
- , location (that.location)
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_MAXSIZE (const location_type& l)
{
- switch (this->type_get ())
- {
- case 207: // value
- case 211: // map_value
- case 252: // ddns_replace_client_name_value
- case 274: // socket_type
- case 277: // outbound_interface_value
- case 299: // db_type
- case 386: // hr_mode
- case 541: // ncr_protocol_value
- value.copy< ElementPtr > (YY_MOVE (that.value));
- break;
+ return symbol_type (token::TOKEN_MAXSIZE, l);
+ }
- case 190: // "boolean"
- value.copy< bool > (YY_MOVE (that.value));
- break;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_MAXVER (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_MAXVER, l);
+ }
- case 189: // "floating point"
- value.copy< double > (YY_MOVE (that.value));
- break;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_PATTERN (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_PATTERN, l);
+ }
- case 188: // "integer"
- value.copy< int64_t > (YY_MOVE (that.value));
- break;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_DHCP6 (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_DHCP6, l);
+ }
- case 187: // "constant string"
- value.copy< std::string > (YY_MOVE (that.value));
- break;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_DHCPDDNS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_DHCPDDNS, l);
+ }
- default:
- break;
- }
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_CONTROL_AGENT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_CONTROL_AGENT, l);
+ }
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_TOPLEVEL_JSON (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_TOPLEVEL_JSON, l);
}
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_TOPLEVEL_DHCP4 (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_TOPLEVEL_DHCP4, l);
+ }
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SUB_DHCP4 (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SUB_DHCP4, l);
+ }
- template <typename Base>
- bool
- Dhcp4Parser::basic_symbol<Base>::empty () const YY_NOEXCEPT
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SUB_INTERFACES4 (const location_type& l)
{
- return Base::type_get () == empty_symbol;
+ return symbol_type (token::TOKEN_SUB_INTERFACES4, l);
}
- template <typename Base>
- void
- Dhcp4Parser::basic_symbol<Base>::move (basic_symbol& s)
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SUB_SUBNET4 (const location_type& l)
{
- super_type::move (s);
- switch (this->type_get ())
- {
- case 207: // value
- case 211: // map_value
- case 252: // ddns_replace_client_name_value
- case 274: // socket_type
- case 277: // outbound_interface_value
- case 299: // db_type
- case 386: // hr_mode
- case 541: // ncr_protocol_value
- value.move< ElementPtr > (YY_MOVE (s.value));
- break;
+ return symbol_type (token::TOKEN_SUB_SUBNET4, l);
+ }
- case 190: // "boolean"
- value.move< bool > (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 189: // "floating point"
- value.move< double > (YY_MOVE (s.value));
- break;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SUB_RESERVATION (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SUB_RESERVATION, l);
+ }
- case 188: // "integer"
- value.move< int64_t > (YY_MOVE (s.value));
- break;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SUB_OPTION_DEFS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SUB_OPTION_DEFS, l);
+ }
- case 187: // "constant string"
- value.move< std::string > (YY_MOVE (s.value));
- break;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SUB_OPTION_DEF (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SUB_OPTION_DEF, l);
+ }
- default:
- break;
- }
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SUB_OPTION_DATA (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SUB_OPTION_DATA, l);
+ }
- location = YY_MOVE (s.location);
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SUB_HOOKS_LIBRARY (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SUB_HOOKS_LIBRARY, l);
}
- // by_type.
- inline
- Dhcp4Parser::by_type::by_type ()
- : type (empty_symbol)
- {}
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SUB_DHCP_DDNS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SUB_DHCP_DDNS, l);
+ }
-#if 201103L <= YY_CPLUSPLUS
- inline
- Dhcp4Parser::by_type::by_type (by_type&& that)
- : type (that.type)
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SUB_LOGGING (const location_type& l)
{
- that.clear ();
+ return symbol_type (token::TOKEN_SUB_LOGGING, l);
}
-#endif
- inline
- Dhcp4Parser::by_type::by_type (const by_type& that)
- : type (that.type)
- {}
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SUB_CONFIG_CONTROL (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SUB_CONFIG_CONTROL, l);
+ }
- inline
- Dhcp4Parser::by_type::by_type (token_type t)
- : type (yytranslate_ (t))
- {}
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_STRING (const std::string& v, const location_type& l)
+ {
+ return symbol_type (token::TOKEN_STRING, v, l);
+ }
- inline
- void
- Dhcp4Parser::by_type::clear ()
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_INTEGER (const int64_t& v, const location_type& l)
{
- type = empty_symbol;
+ return symbol_type (token::TOKEN_INTEGER, v, l);
}
- inline
- void
- Dhcp4Parser::by_type::move (by_type& that)
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_FLOAT (const double& v, const location_type& l)
{
- type = that.type;
- that.clear ();
+ return symbol_type (token::TOKEN_FLOAT, v, l);
}
- inline
- int
- Dhcp4Parser::by_type::type_get () const YY_NOEXCEPT
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_BOOLEAN (const bool& v, const location_type& l)
{
- return type;
+ return symbol_type (token::TOKEN_BOOLEAN, v, l);
}
-#line 14 "dhcp4_parser.yy"
-} } // isc::dhcp
-#line 4408 "dhcp4_parser.h"
+#line 14 "dhcp4_parser.yy" // lalr1.cc:377
+} } // isc::dhcp
+#line 3200 "dhcp4_parser.h" // lalr1.cc:377
-// Generated 202004050938
-// A Bison parser, made by GNU Bison 3.5.3.
+// 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 line and column numbers.
- typedef int counter_type;
-
- /// Construct a position.
- explicit position (std::string* f = YY_NULLPTR,
- counter_type l = 1,
- counter_type c = 1)
- : filename (f)
- , line (l)
- , column (c)
- {}
-
-
- /// Initialization.
- void initialize (std::string* 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.
- std::string* 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;
- }
-
- /// 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>
- 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 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 (std::string* f,
- counter_type l = 1,
- counter_type c = 1)
+ unsigned int l = 1u,
+ unsigned int c = 1u)
: begin (f, l, c)
, end (f, l, c)
- {}
+ {
+ }
/// Initialization.
void initialize (std::string* f = YY_NULLPTR,
- counter_type l = 1,
- counter_type c = 1)
+ 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;
}
** 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 333 "location.hh"
-
+#line 192 "location.hh" // location.cc:296
#endif // !YY_PARSER4_LOCATION_HH_INCLUDED
-// Generated 202004050938
-// A Bison parser, made by GNU Bison 3.5.3.
-
-// 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 202004050938
-// A Bison parser, made by GNU Bison 3.5.3.
-
-// 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
"{"
" \"enable-multi-threading\": false,\n"
" \"thread-pool-size\": 0,\n"
- " \"packet-queue-size\": 0\n"
+ " \"packet-queue-size\": 64\n"
"}";
ConstElementPtr param;
ASSERT_NO_THROW(param = Element::fromJSON(content_json))
"}";
std::string config = "{ " + genIfaceConfig() + "," +
"\"subnet4\": [ ], "
- "\"multi-threading\": " + content_json;
+ "\"multi-threading\": " + content_json + "}";
ConstElementPtr json;
ASSERT_NO_THROW(json = parseDHCP4(config));
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
+" \"rebind-timer\": 2000,\n"
+" \"renew-timer\": 1000,\n"
+" \"statistic-default-sample-age\": 5,\n"
+" \"statistic-default-sample-count\": 10,\n"
+" \"valid-lifetime\": 4000\n"
+" }\n",
+ // CONFIGURATION 73
+"{\n"
+" \"interfaces-config\": {\n"
+" \"interfaces\": [ \"*\" ],\n"
+" \"re-detect\": false\n"
+" },\n"
+" \"subnet4\": [ ]\n"
+" }\n",
+ // CONFIGURATION 74
+"{\n"
+" \"interfaces-config\": {\n"
+" \"interfaces\": [ \"*\" ],\n"
+" \"re-detect\": false\n"
+" },\n"
" \"multi-threading\": {\n"
-" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 0,\n"
-" \"thread-pool-size\": 0\n"
+" \"enable-multi-threading\": true,\n"
+" \"packet-queue-size\": 1024,\n"
+" \"thread-pool-size\": 48\n"
" },\n"
" \"subnet4\": [ ]\n"
" }\n"
" \"match-client-id\": true,\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"next-server\": \"0.0.0.0\",\n"
" \"server-hostname\": \"\",\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet4\": [ ],\n"
" \"t1-percent\": 0.5,\n"
" \"match-client-id\": true,\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"next-server\": \"0.0.0.0\",\n"
" \"server-hostname\": \"\",\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet4\": [\n"
" {\n"
" \"match-client-id\": true,\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"next-server\": \"0.0.0.0\",\n"
" \"server-hostname\": \"\",\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet4\": [\n"
" {\n"
" \"min-valid-lifetime\": 3000,\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"next-server\": \"0.0.0.0\",\n"
" \"server-hostname\": \"\",\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet4\": [\n"
" {\n"
" \"match-client-id\": true,\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"next-server\": \"0.0.0.0\",\n"
" \"server-hostname\": \"\",\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet4\": [\n"
" {\n"
" \"match-client-id\": true,\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"next-server\": \"0.0.0.0\",\n"
" \"server-hostname\": \"\",\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet4\": [\n"
" {\n"
" \"match-client-id\": true,\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"next-server\": \"1.2.3.4\",\n"
" \"server-hostname\": \"foo\",\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet4\": [\n"
" {\n"
" \"match-client-id\": true,\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"next-server\": \"0.0.0.0\",\n"
" \"server-hostname\": \"\",\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet4\": [\n"
" {\n"
" \"match-client-id\": true,\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"next-server\": \"192.0.0.1\",\n"
" \"server-hostname\": \"nohost\",\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet4\": [\n"
" {\n"
" \"match-client-id\": true,\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"next-server\": \"0.0.0.0\",\n"
" \"server-hostname\": \"\",\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet4\": [\n"
" {\n"
" \"match-client-id\": true,\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"next-server\": \"0.0.0.0\",\n"
" \"server-hostname\": \"\",\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet4\": [\n"
" {\n"
" \"match-client-id\": true,\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"next-server\": \"0.0.0.0\",\n"
" \"server-hostname\": \"\",\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet4\": [\n"
" {\n"
" \"match-client-id\": true,\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"next-server\": \"0.0.0.0\",\n"
" \"server-hostname\": \"\",\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet4\": [\n"
" {\n"
" \"match-client-id\": true,\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"next-server\": \"0.0.0.0\",\n"
" \"server-hostname\": \"\",\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet4\": [\n"
" {\n"
" \"match-client-id\": true,\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"next-server\": \"0.0.0.0\",\n"
" \"server-hostname\": \"\",\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet4\": [\n"
" {\n"
" \"min-valid-lifetime\": 3000,\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"next-server\": \"0.0.0.0\",\n"
" \"server-hostname\": \"\",\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet4\": [\n"
" {\n"
" \"match-client-id\": true,\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"next-server\": \"0.0.0.0\",\n"
" \"server-hostname\": \"\",\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet4\": [\n"
" {\n"
" \"match-client-id\": true,\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"next-server\": \"0.0.0.0\",\n"
" \"server-hostname\": \"\",\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet4\": [\n"
" {\n"
" \"match-client-id\": true,\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"next-server\": \"0.0.0.0\",\n"
" \"server-hostname\": \"\",\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet4\": [ ],\n"
" \"t1-percent\": 0.5,\n"
" \"match-client-id\": true,\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"next-server\": \"0.0.0.0\",\n"
" \"server-hostname\": \"\",\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet4\": [ ],\n"
" \"t1-percent\": 0.5,\n"
" \"match-client-id\": true,\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"next-server\": \"0.0.0.0\",\n"
" \"server-hostname\": \"\",\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet4\": [ ],\n"
" \"t1-percent\": 0.5,\n"
" \"match-client-id\": true,\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"next-server\": \"0.0.0.0\",\n"
" \"server-hostname\": \"\",\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet4\": [ ],\n"
" \"t1-percent\": 0.5,\n"
" \"match-client-id\": true,\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"next-server\": \"0.0.0.0\",\n"
" \"server-hostname\": \"\",\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet4\": [ ],\n"
" \"t1-percent\": 0.5,\n"
" \"match-client-id\": true,\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"next-server\": \"0.0.0.0\",\n"
" \"server-hostname\": \"\",\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet4\": [ ],\n"
" \"t1-percent\": 0.5,\n"
" \"match-client-id\": true,\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"next-server\": \"0.0.0.0\",\n"
" \"server-hostname\": \"\",\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet4\": [ ],\n"
" \"t1-percent\": 0.5,\n"
" \"match-client-id\": true,\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"next-server\": \"0.0.0.0\",\n"
" \"server-hostname\": \"\",\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet4\": [\n"
" {\n"
" \"match-client-id\": true,\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"next-server\": \"0.0.0.0\",\n"
" \"server-hostname\": \"\",\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet4\": [\n"
" {\n"
" \"match-client-id\": true,\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"next-server\": \"0.0.0.0\",\n"
" \"server-hostname\": \"\",\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet4\": [\n"
" {\n"
" \"match-client-id\": true,\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"next-server\": \"0.0.0.0\",\n"
" \"server-hostname\": \"\",\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet4\": [ ],\n"
" \"t1-percent\": 0.5,\n"
" \"match-client-id\": true,\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"next-server\": \"0.0.0.0\",\n"
" \"server-hostname\": \"\",\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet4\": [\n"
" {\n"
" \"match-client-id\": true,\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"next-server\": \"0.0.0.0\",\n"
" \"server-hostname\": \"\",\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet4\": [\n"
" {\n"
" \"match-client-id\": true,\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"next-server\": \"0.0.0.0\",\n"
" \"server-hostname\": \"\",\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet4\": [\n"
" {\n"
" \"match-client-id\": true,\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"next-server\": \"0.0.0.0\",\n"
" \"server-hostname\": \"\",\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet4\": [\n"
" {\n"
" \"match-client-id\": true,\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"next-server\": \"0.0.0.0\",\n"
" \"server-hostname\": \"\",\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet4\": [\n"
" {\n"
" \"match-client-id\": true,\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"next-server\": \"0.0.0.0\",\n"
" \"server-hostname\": \"\",\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet4\": [\n"
" {\n"
" \"match-client-id\": true,\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"next-server\": \"0.0.0.0\",\n"
" \"server-hostname\": \"\",\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet4\": [ ],\n"
" \"t1-percent\": 0.5,\n"
" \"match-client-id\": true,\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"next-server\": \"0.0.0.0\",\n"
" \"server-hostname\": \"\",\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet4\": [\n"
" {\n"
" \"match-client-id\": true,\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"next-server\": \"0.0.0.0\",\n"
" \"server-hostname\": \"\",\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet4\": [\n"
" {\n"
" \"match-client-id\": true,\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"next-server\": \"0.0.0.0\",\n"
" \"server-hostname\": \"\",\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet4\": [\n"
" {\n"
" \"match-client-id\": true,\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"next-server\": \"0.0.0.0\",\n"
" \"server-hostname\": \"\",\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet4\": [ ],\n"
" \"t1-percent\": 0.5,\n"
" \"match-client-id\": true,\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"next-server\": \"0.0.0.0\",\n"
" \"server-hostname\": \"\",\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet4\": [ ],\n"
" \"t1-percent\": 0.5,\n"
" \"match-client-id\": true,\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"next-server\": \"0.0.0.0\",\n"
" \"server-hostname\": \"\",\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet4\": [\n"
" {\n"
" \"match-client-id\": true,\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"next-server\": \"0.0.0.0\",\n"
" \"server-hostname\": \"\",\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet4\": [\n"
" {\n"
" \"match-client-id\": true,\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"next-server\": \"0.0.0.0\",\n"
" \"server-hostname\": \"\",\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet4\": [\n"
" {\n"
" \"match-client-id\": true,\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"next-server\": \"0.0.0.0\",\n"
" \"server-hostname\": \"\",\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet4\": [\n"
" {\n"
" \"match-client-id\": true,\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"next-server\": \"0.0.0.0\",\n"
" \"server-hostname\": \"\",\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet4\": [\n"
" {\n"
" \"match-client-id\": true,\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"next-server\": \"0.0.0.0\",\n"
" \"server-hostname\": \"\",\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet4\": [\n"
" {\n"
" \"match-client-id\": true,\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"next-server\": \"0.0.0.0\",\n"
" \"server-hostname\": \"\",\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet4\": [\n"
" {\n"
" \"match-client-id\": true,\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"next-server\": \"0.0.0.0\",\n"
" \"server-hostname\": \"\",\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet4\": [\n"
" {\n"
" \"match-client-id\": true,\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"next-server\": \"0.0.0.0\",\n"
" \"server-hostname\": \"\",\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet4\": [\n"
" {\n"
" \"match-client-id\": true,\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"next-server\": \"0.0.0.0\",\n"
" \"server-hostname\": \"\",\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet4\": [\n"
" {\n"
" \"match-client-id\": true,\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"next-server\": \"0.0.0.0\",\n"
" \"server-hostname\": \"\",\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet4\": [\n"
" {\n"
" \"match-client-id\": true,\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"next-server\": \"0.0.0.0\",\n"
" \"server-hostname\": \"\",\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet4\": [ ],\n"
" \"t1-percent\": 0.5,\n"
" \"match-client-id\": true,\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"next-server\": \"0.0.0.0\",\n"
" \"server-hostname\": \"\",\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet4\": [ ],\n"
" \"t1-percent\": 0.5,\n"
" \"match-client-id\": true,\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"next-server\": \"0.0.0.0\",\n"
" \"server-hostname\": \"\",\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet4\": [ ],\n"
" \"t1-percent\": 0.5,\n"
" \"match-client-id\": true,\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"next-server\": \"0.0.0.0\",\n"
" \"server-hostname\": \"\",\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet4\": [ ],\n"
" \"t1-percent\": 0.5,\n"
" \"match-client-id\": true,\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"next-server\": \"0.0.0.0\",\n"
" \"server-hostname\": \"\",\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet4\": [\n"
" {\n"
" \"match-client-id\": true,\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"next-server\": \"0.0.0.0\",\n"
" \"server-hostname\": \"\",\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet4\": [\n"
" {\n"
" \"match-client-id\": true,\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"next-server\": \"0.0.0.0\",\n"
" \"server-hostname\": \"\",\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet4\": [\n"
" {\n"
" \"match-client-id\": true,\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"next-server\": \"0.0.0.0\",\n"
" \"server-hostname\": \"\",\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet4\": [\n"
" {\n"
" \"match-client-id\": true,\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"next-server\": \"0.0.0.0\",\n"
" \"server-hostname\": \"\",\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet4\": [\n"
" {\n"
" \"match-client-id\": true,\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"next-server\": \"0.0.0.0\",\n"
" \"server-hostname\": \"\",\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet4\": [\n"
" {\n"
" \"match-client-id\": true,\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"next-server\": \"0.0.0.0\",\n"
" \"server-hostname\": \"\",\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet4\": [\n"
" {\n"
" \"match-client-id\": true,\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"next-server\": \"0.0.0.0\",\n"
" \"server-hostname\": \"\",\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet4\": [\n"
" {\n"
" \"match-client-id\": true,\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"next-server\": \"0.0.0.0\",\n"
" \"server-hostname\": \"\",\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet4\": [\n"
" {\n"
" \"match-client-id\": true,\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"next-server\": \"0.0.0.0\",\n"
" \"server-hostname\": \"\",\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet4\": [\n"
" {\n"
" \"match-client-id\": true,\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"next-server\": \"0.0.0.0\",\n"
" \"server-hostname\": \"\",\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet4\": [ ],\n"
" \"t1-percent\": 0.5,\n"
" \"match-client-id\": true,\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"next-server\": \"0.0.0.0\",\n"
" \"valid-lifetime\": 7200\n"
" }\n"
" ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet4\": [ ],\n"
" \"t1-percent\": 0.5,\n"
" \"match-client-id\": true,\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"next-server\": \"0.0.0.0\",\n"
" \"server-hostname\": \"\",\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet4\": [\n"
" {\n"
" \"match-client-id\": true,\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"next-server\": \"0.0.0.0\",\n"
" \"valid-lifetime\": 4000\n"
" }\n"
" ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet4\": [\n"
" {\n"
" \"match-client-id\": true,\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"next-server\": \"0.0.0.0\",\n"
" \"server-hostname\": \"\",\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet4\": [\n"
" {\n"
" \"match-client-id\": true,\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"next-server\": \"0.0.0.0\",\n"
" \"server-hostname\": \"\",\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": true,\n"
" \"subnet4\": [\n"
" {\n"
" \"match-client-id\": true,\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 0,\n"
+" \"packet-queue-size\": 64,\n"
+" \"thread-pool-size\": 0\n"
+" },\n"
+" \"next-server\": \"0.0.0.0\",\n"
+" \"option-data\": [ ],\n"
+" \"option-def\": [ ],\n"
+" \"rebind-timer\": 2000,\n"
+" \"renew-timer\": 1000,\n"
+" \"reservation-mode\": \"all\",\n"
+" \"sanity-checks\": {\n"
+" \"lease-checks\": \"warn\"\n"
+" },\n"
+" \"server-hostname\": \"\",\n"
+" \"server-tag\": \"\",\n"
+" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 5,\n"
+" \"statistic-default-sample-count\": 10,\n"
+" \"store-extended-info\": false,\n"
+" \"subnet4\": [ ],\n"
+" \"t1-percent\": 0.5,\n"
+" \"t2-percent\": 0.875,\n"
+" \"valid-lifetime\": 4000\n"
+" }\n",
+ // CONFIGURATION 73
+"{\n"
+" \"authoritative\": false,\n"
+" \"boot-file-name\": \"\",\n"
+" \"calculate-tee-times\": false,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
+" \"decline-probation-period\": 86400,\n"
+" \"dhcp-ddns\": {\n"
+" \"enable-updates\": false,\n"
+" \"max-queue-size\": 1024,\n"
+" \"ncr-format\": \"JSON\",\n"
+" \"ncr-protocol\": \"UDP\",\n"
+" \"sender-ip\": \"0.0.0.0\",\n"
+" \"sender-port\": 0,\n"
+" \"server-ip\": \"127.0.0.1\",\n"
+" \"server-port\": 53001\n"
+" },\n"
+" \"dhcp-queue-control\": {\n"
+" \"capacity\": 500,\n"
+" \"enable-queue\": false,\n"
+" \"queue-type\": \"kea-ring4\"\n"
+" },\n"
+" \"dhcp4o6-port\": 0,\n"
+" \"echo-client-id\": true,\n"
+" \"expired-leases-processing\": {\n"
+" \"flush-reclaimed-timer-wait-time\": 25,\n"
+" \"hold-reclaimed-time\": 3600,\n"
+" \"max-reclaim-leases\": 100,\n"
+" \"max-reclaim-time\": 250,\n"
+" \"reclaim-timer-wait-time\": 10,\n"
+" \"unwarned-reclaim-cycles\": 5\n"
+" },\n"
+" \"hooks-libraries\": [ ],\n"
+" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
+" \"hostname-char-replacement\": \"\",\n"
+" \"hostname-char-set\": \"[^A-Za-z0-9.-]\",\n"
+" \"interfaces-config\": {\n"
+" \"interfaces\": [ \"*\" ],\n"
+" \"re-detect\": false\n"
+" },\n"
+" \"lease-database\": {\n"
+" \"type\": \"memfile\"\n"
+" },\n"
+" \"match-client-id\": true,\n"
+" \"multi-threading\": {\n"
+" \"enable-multi-threading\": false,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"next-server\": \"0.0.0.0\",\n"
" \"server-hostname\": \"\",\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
+" \"store-extended-info\": false,\n"
+" \"subnet4\": [ ],\n"
+" \"t1-percent\": 0.5,\n"
+" \"t2-percent\": 0.875,\n"
+" \"valid-lifetime\": 7200\n"
+" }\n",
+ // CONFIGURATION 74
+"{\n"
+" \"authoritative\": false,\n"
+" \"boot-file-name\": \"\",\n"
+" \"calculate-tee-times\": false,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
+" \"decline-probation-period\": 86400,\n"
+" \"dhcp-ddns\": {\n"
+" \"enable-updates\": false,\n"
+" \"max-queue-size\": 1024,\n"
+" \"ncr-format\": \"JSON\",\n"
+" \"ncr-protocol\": \"UDP\",\n"
+" \"sender-ip\": \"0.0.0.0\",\n"
+" \"sender-port\": 0,\n"
+" \"server-ip\": \"127.0.0.1\",\n"
+" \"server-port\": 53001\n"
+" },\n"
+" \"dhcp-queue-control\": {\n"
+" \"capacity\": 500,\n"
+" \"enable-queue\": false,\n"
+" \"queue-type\": \"kea-ring4\"\n"
+" },\n"
+" \"dhcp4o6-port\": 0,\n"
+" \"echo-client-id\": true,\n"
+" \"expired-leases-processing\": {\n"
+" \"flush-reclaimed-timer-wait-time\": 25,\n"
+" \"hold-reclaimed-time\": 3600,\n"
+" \"max-reclaim-leases\": 100,\n"
+" \"max-reclaim-time\": 250,\n"
+" \"reclaim-timer-wait-time\": 10,\n"
+" \"unwarned-reclaim-cycles\": 5\n"
+" },\n"
+" \"hooks-libraries\": [ ],\n"
+" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
+" \"hostname-char-replacement\": \"\",\n"
+" \"hostname-char-set\": \"[^A-Za-z0-9.-]\",\n"
+" \"interfaces-config\": {\n"
+" \"interfaces\": [ \"*\" ],\n"
+" \"re-detect\": false\n"
+" },\n"
+" \"lease-database\": {\n"
+" \"type\": \"memfile\"\n"
+" },\n"
+" \"match-client-id\": true,\n"
+" \"multi-threading\": {\n"
+" \"enable-multi-threading\": true,\n"
+" \"packet-queue-size\": 1024,\n"
+" \"thread-pool-size\": 48\n"
+" },\n"
+" \"next-server\": \"0.0.0.0\",\n"
+" \"option-data\": [ ],\n"
+" \"option-def\": [ ],\n"
+" \"reservation-mode\": \"all\",\n"
+" \"sanity-checks\": {\n"
+" \"lease-checks\": \"warn\"\n"
+" },\n"
+" \"server-hostname\": \"\",\n"
+" \"server-tag\": \"\",\n"
+" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet4\": [ ],\n"
" \"t1-percent\": 0.5,\n"
-#line 1 "dhcp6_lexer.cc"
+#line 2 "dhcp6_lexer.cc"
-#line 3 "dhcp6_lexer.cc"
+#line 4 "dhcp6_lexer.cc"
#define YY_INT_ALIGNED short int
/* %% [3.0] code to copy yytext_ptr to yytext[] goes here, if %array \ */\
(yy_c_buf_p) = yy_cp;
/* %% [4.0] data tables for the DFA and the user's section 1 definitions go here */
-#define YY_NUM_RULES 204
-#define YY_END_OF_BUFFER 205
+#define YY_NUM_RULES 208
+#define YY_END_OF_BUFFER 209
/* 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[1810] =
+static const flex_int16_t yy_accept[1873] =
{ 0,
- 197, 197, 0, 0, 0, 0, 0, 0, 0, 0,
- 205, 203, 10, 11, 203, 1, 197, 194, 197, 197,
- 203, 196, 195, 203, 203, 203, 203, 203, 190, 191,
- 203, 203, 203, 192, 193, 5, 5, 5, 203, 203,
- 203, 10, 11, 0, 0, 186, 0, 0, 0, 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,
0, 0, 0, 0, 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, 197,
- 197, 0, 196, 197, 3, 2, 6, 0, 197, 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,
- 187, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 189, 0, 0, 0,
+ 191, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 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, 161, 0, 0, 162,
+ 0, 0, 0, 0, 0, 2, 0, 0, 0, 0,
+ 0, 0, 0, 8, 0, 0, 0, 0, 161, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 188, 0,
+ 0, 162, 0, 0, 0, 0, 0, 0, 0, 0,
+ 192, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 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, 112, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 202, 200, 0, 199,
- 198, 0, 0, 0, 0, 0, 0, 0, 160, 0,
- 0, 28, 0, 27, 0, 0, 119, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 55, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 206, 204, 0, 203, 202, 0, 0, 0, 0,
+ 0, 0, 0, 160, 0, 0, 28, 0, 27, 0,
+ 0, 119, 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,
- 116, 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, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 201, 198,
- 0, 0, 0, 0, 0, 0, 0, 0, 29, 0,
- 0, 31, 0, 0, 0, 0, 0, 0, 0, 120,
- 0, 0, 0, 0, 0, 0, 0, 97, 0, 0,
- 0, 0, 0, 0, 0, 0, 145, 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, 205, 202, 0, 0,
+ 0, 0, 0, 0, 0, 0, 29, 0, 0, 31,
+ 0, 0, 0, 0, 0, 0, 0, 120, 0, 0,
+ 0, 0, 0, 0, 0, 97, 0, 0, 0, 0,
+ 0, 0, 0, 0, 145, 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, 96, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 106, 0, 59,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 96, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 106, 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, 140, 165, 51, 0, 56, 0, 0,
- 0, 0, 0, 0, 183, 37, 0, 34, 0, 33,
- 0, 0, 0, 153, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 140, 0, 165, 51, 0, 56, 0,
+ 0, 0, 0, 0, 0, 187, 37, 0, 34, 0,
+ 33, 0, 0, 0, 153, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 131, 0, 0, 0, 0, 0, 0,
- 0, 0, 164, 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, 99, 0, 0,
+ 0, 0, 0, 0, 131, 0, 0, 0, 0, 0,
+ 0, 0, 0, 164, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 154, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 149, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 7, 35, 0, 0, 0,
+ 0, 0, 0, 0, 0, 53, 0, 0, 32, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 99, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 154, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 149, 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, 118, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 118, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 133, 0, 0,
- 0, 0, 0, 0, 0, 0, 130, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 101, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 133, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 130, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 101, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 109, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 127, 0, 0, 0, 0, 0,
- 0, 108, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 109,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 148,
+ 0, 127, 0, 0, 0, 0, 0, 0, 108, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 158, 128, 0, 0, 0,
- 0, 0, 0, 0, 132, 52, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 134, 0, 60,
0, 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, 0, 0, 0, 0,
+ 0, 0, 0, 158, 128, 0, 0, 0, 0, 0,
+ 0, 0, 132, 52, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 134, 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,
0, 0, 91, 0, 0, 0, 0, 0, 0, 0,
- 0, 184, 0, 0, 0, 0, 181, 0, 0, 0,
+ 0, 0, 188, 0, 0, 0, 0, 185, 0, 0,
0, 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, 115,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 147, 0, 0, 0, 0, 0, 0, 63, 0, 0,
+ 0, 0, 147, 0, 0, 0, 0, 0, 0, 63,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 57,
- 100, 0, 0, 0, 144, 0, 0, 0, 0, 50,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 136, 0,
+ 0, 0, 0, 57, 100, 0, 0, 0, 144, 0,
+ 0, 0, 0, 50, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 136, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 182, 0, 0, 0, 0, 0,
+ 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, 110, 0,
+
0, 0, 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, 0, 0, 0, 41, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 16, 0, 0, 159,
- 14, 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, 159, 14, 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, 135, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 146, 163, 0, 40, 0, 155, 0,
+ 0, 0, 0, 0, 0, 0, 0, 150, 0, 0,
+ 0, 0, 0, 0, 135, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 20, 0, 0, 0, 94, 0, 0, 0,
- 0, 157, 54, 0, 102, 0, 180, 0, 0, 0,
+ 0, 0, 0, 146, 163, 0, 40, 0, 155, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 82, 0, 0, 0, 0, 0, 125, 126,
- 0, 0, 0, 0, 0, 0, 0, 0, 98, 0,
- 0, 0, 0, 0, 0, 64, 0, 0, 0, 0,
+ 0, 0, 0, 20, 0, 0, 0, 94, 0, 0,
+ 0, 0, 0, 157, 54, 0, 102, 0, 184, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 152, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 121, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 95, 117,
+ 0, 0, 0, 0, 82, 0, 0, 0, 0, 0,
+ 125, 126, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 98, 0, 0, 0, 0, 0, 0, 64, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 152, 0, 0, 0, 0, 0,
- 0, 79, 0, 0, 0, 0, 0, 0, 17, 0,
- 15, 0, 177, 176, 0, 0, 0, 69, 0, 0,
- 0, 0, 0, 30, 0, 139, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 174, 179, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 111, 0, 143, 43, 0,
- 61, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 19, 0, 0, 0, 0, 0, 0, 113, 80, 0,
+ 0, 121, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 95, 117, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 79, 0, 0,
+ 0, 0, 0, 0, 17, 0, 15, 0, 181, 180,
+ 0, 0, 0, 69, 0, 0, 0, 0, 0, 0,
+ 30, 0, 139, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 174,
+ 0, 183, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 111, 0, 143, 43, 0, 61, 0,
+
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 19,
+ 0, 0, 0, 0, 0, 0, 0, 113, 80, 0,
0, 151, 0, 0, 0, 0, 0, 142, 0, 0,
- 0, 0, 0, 0, 0, 107, 0, 185, 0, 0,
-
+ 0, 0, 0, 0, 0, 0, 107, 0, 189, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 105, 0, 0, 166, 0, 0,
+ 0, 0, 0, 0, 0, 105, 0, 0, 0, 166,
0, 0, 0, 0, 0, 0, 0, 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, 137, 47, 0, 0, 0, 70, 175, 38, 0,
- 0, 0, 0, 0, 0, 0, 0, 12, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 45, 0, 0,
- 44, 0, 18, 0, 0, 0, 72, 0, 0, 0,
-
- 0, 129, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 76, 0,
- 0, 0, 0, 62, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 42, 0, 0, 0, 0,
+
+ 68, 0, 0, 0, 0, 0, 137, 47, 0, 0,
+ 0, 70, 179, 38, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 12, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 45, 0, 0, 44, 0, 18, 0,
+ 0, 0, 72, 0, 0, 0, 0, 0, 129, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 76, 0, 0,
+ 0, 0, 62, 0, 0, 0, 0, 0, 0, 0,
0, 0, 103, 0, 0, 0, 0, 0, 156, 0,
0, 0, 46, 0, 0, 0, 0, 0, 0, 0,
+
+ 0, 175, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 67, 0, 0, 0, 93, 0, 0, 0,
+ 0, 36, 0, 48, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 24, 0, 0,
+ 0, 0, 0, 0, 0, 172, 0, 0, 0, 0,
+ 141, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 114, 0, 0, 0, 177, 0, 0, 0, 0,
+ 0, 0, 0, 0, 85, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 25, 39, 0, 0, 0, 0,
+ 0, 0, 0, 0, 178, 0, 13, 0, 0, 0,
+
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 67, 0, 0, 0, 93, 0, 0, 0, 36, 0,
- 48, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 24, 0, 0, 0, 0, 0, 0,
- 0, 172, 0, 0, 0, 0, 141, 0, 0, 0,
-
- 0, 0, 0, 0, 0, 0, 114, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 85, 0,
- 0, 0, 0, 0, 0, 0, 0, 25, 39, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 13, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 178, 0, 0, 0,
- 0, 0, 0, 0, 171, 0, 78, 0, 77, 0,
- 21, 73, 0, 0, 0, 0, 0, 65, 0, 0,
- 0, 124, 0, 0, 0, 0, 0, 0, 0, 104,
+ 0, 0, 0, 0, 182, 0, 0, 0, 0, 0,
+ 0, 0, 0, 171, 0, 78, 0, 77, 0, 21,
+ 73, 0, 0, 0, 0, 0, 65, 0, 0, 0,
+ 124, 0, 0, 0, 0, 0, 0, 0, 0, 104,
0, 0, 170, 0, 0, 0, 71, 0, 0, 0,
-
66, 0, 23, 0, 0, 92, 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, 0, 0, 0, 0, 0, 0, 89, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 49, 0, 0, 90, 0,
- 0, 0, 0, 0, 0, 75, 74, 22, 0, 122,
- 138, 0, 0, 0, 86, 0, 0, 0, 0, 0,
- 0, 168, 0, 173, 0, 88, 81, 0, 0, 0,
- 0, 0, 0, 167, 0, 0, 26, 0, 0, 0,
- 0, 0, 0, 0, 87, 0, 0, 0, 0, 0,
-
- 123, 84, 0, 0, 0, 0, 83, 169, 0
+
+ 0, 0, 0, 0, 0, 0, 0, 49, 0, 0,
+ 90, 0, 0, 176, 0, 0, 0, 0, 75, 74,
+ 22, 0, 122, 138, 0, 0, 0, 86, 0, 0,
+ 0, 0, 0, 0, 168, 0, 173, 0, 88, 81,
+ 0, 0, 0, 0, 0, 0, 167, 0, 0, 26,
+ 0, 0, 0, 0, 0, 0, 0, 87, 0, 0,
+ 0, 0, 0, 123, 84, 0, 0, 0, 0, 83,
+ 169, 0
} ;
static const YY_CHAR yy_ec[256] =
3, 3, 3
} ;
-static const flex_int16_t yy_base[1822] =
+static const flex_int16_t yy_base[1885] =
{ 0,
0, 72, 21, 31, 43, 51, 54, 60, 91, 99,
- 2211, 2212, 34, 2207, 145, 0, 207, 2212, 214, 221,
- 13, 228, 2212, 2187, 118, 25, 2, 6, 2212, 2212,
- 73, 11, 17, 2212, 2212, 2212, 104, 2195, 2148, 0,
- 2185, 108, 2202, 24, 256, 2212, 67, 2144, 2150, 2170,
+ 2274, 2275, 34, 2270, 145, 0, 207, 2275, 214, 221,
+ 13, 228, 2275, 2250, 118, 25, 2, 6, 2275, 2275,
+ 73, 11, 17, 2275, 2275, 2275, 104, 2258, 2211, 0,
+ 2248, 108, 2265, 24, 256, 2275, 67, 2207, 2213, 2233,
84, 75, 189, 88, 226, 91, 89, 284, 196, 206,
- 279, 191, 210, 197, 60, 216, 2151, 241, 284, 309,
- 297, 316, 2134, 212, 321, 345, 326, 2153, 0, 386,
- 402, 416, 423, 428, 2212, 0, 2212, 442, 447, 241,
- 242, 302, 269, 315, 303, 2212, 2150, 2191, 2212, 345,
-
- 2212, 441, 337, 2137, 2147, 2188, 352, 10, 336, 2141,
- 339, 242, 346, 360, 399, 2186, 0, 494, 411, 2128,
- 335, 2136, 417, 2132, 2121, 2122, 2127, 350, 2137, 2120,
- 2129, 421, 362, 219, 2123, 2121, 417, 2110, 2168, 422,
- 2113, 2166, 2106, 2129, 2126, 2126, 2120, 422, 2113, 2111,
- 2105, 2110, 2104, 432, 2115, 2108, 2099, 2098, 2112, 430,
- 2150, 2097, 438, 2109, 437, 2097, 502, 2098, 464, 2110,
- 2107, 2108, 293, 2106, 2141, 2140, 419, 2086, 2091, 2087,
- 2079, 2096, 2088, 0, 460, 391, 455, 461, 458, 476,
- 2087, 2212, 0, 491, 2078, 2081, 2212, 492, 498, 2212,
-
- 2135, 2088, 489, 2133, 502, 2132, 501, 2131, 2212, 553,
- 2130, 509, 2089, 2086, 2087, 2082, 2081, 2072, 523, 2123,
- 2117, 2081, 2062, 2059, 2067, 2073, 2061, 2075, 2071, 2072,
- 2072, 2067, 2059, 2061, 2045, 2049, 2062, 2064, 2061, 2053,
- 2043, 2046, 2060, 2212, 2046, 2054, 2057, 2038, 2037, 2089,
- 2036, 2046, 2086, 525, 2045, 2084, 2032, 2043, 2081, 508,
- 2085, 2020, 2035, 523, 2025, 2041, 2022, 2020, 2023, 2019,
- 2025, 2016, 2015, 2028, 2021, 2011, 2022, 2026, 2025, 2019,
- 494, 2026, 2021, 2013, 2003, 2018, 2013, 2017, 357, 2015,
- 2001, 2007, 2014, 1996, 1997, 2000, 1997, 1996, 479, 1991,
-
- 2005, 2004, 2007, 1989, 1997, 535, 2212, 2212, 545, 2212,
- 2212, 1984, 0, 505, 1986, 579, 556, 2042, 2212, 1993,
- 530, 2212, 2040, 2212, 2034, 593, 2212, 545, 1974, 1977,
- 1994, 1982, 2034, 1989, 1984, 1987, 1982, 80, 2212, 1984,
- 616, 2023, 1981, 1978, 1979, 536, 1983, 2023, 1971, 1966,
- 1963, 1959, 1961, 2012, 1969, 1958, 1974, 2008, 1954, 617,
- 1967, 1967, 1950, 1951, 1964, 1951, 1961, 1956, 1963, 1958,
- 1943, 563, 1952, 1955, 1950, 568, 1946, 1996, 585, 596,
- 2212, 1990, 1940, 1939, 1932, 1934, 1938, 1927, 1944, 1933,
- 1938, 584, 1985, 1938, 544, 1935, 1938, 1938, 1936, 1925,
-
- 1925, 1937, 574, 1912, 1913, 1934, 584, 1916, 1913, 1927,
- 1930, 1925, 1911, 1923, 1922, 1921, 1916, 1919, 1918, 1917,
- 1916, 591, 1959, 1958, 1957, 1899, 643, 1912, 2212, 2212,
- 1911, 0, 596, 1899, 1952, 1951, 1907, 1949, 2212, 1895,
- 1947, 2212, 619, 668, 609, 1946, 1894, 1896, 1884, 2212,
- 1889, 1895, 1898, 1881, 1896, 1883, 1882, 2212, 1892, 603,
- 1883, 1880, 1892, 607, 1877, 1879, 2212, 1885, 1870, 1872,
- 1883, 1881, 1876, 646, 1883, 1871, 1864, 1915, 2212, 1862,
- 1878, 1912, 1916, 1872, 1866, 1868, 1869, 1871, 1905, 1856,
- 1851, 1850, 1852, 1848, 1844, 608, 1863, 1837, 1844, 1849,
-
- 1842, 1858, 1897, 2212, 1842, 1838, 1894, 1845, 1839, 1846,
- 1831, 1841, 1844, 1833, 1829, 1831, 1826, 2212, 1883, 2212,
- 1825, 1824, 1817, 1834, 1873, 1872, 1817, 1822, 1831, 1825,
- 1819, 1828, 664, 1865, 1827, 1810, 1810, 1805, 1801, 1807,
- 1812, 1805, 1813, 1817, 1800, 1858, 1799, 1851, 1796, 1797,
- 1796, 1808, 1797, 2212, 2212, 2212, 1797, 2212, 1807, 1843,
- 1803, 0, 1846, 1794, 2212, 2212, 1791, 2212, 1797, 2212,
- 628, 627, 666, 2212, 1802, 1782, 1835, 1780, 1833, 1778,
- 1777, 1776, 1783, 1776, 1784, 1787, 1769, 1769, 1784, 1783,
- 1782, 1781, 1765, 1780, 1762, 1809, 1776, 1814, 1758, 1760,
-
- 1772, 1772, 1771, 2212, 1756, 1753, 1811, 1766, 1758, 1764,
- 1755, 1763, 2212, 1748, 1759, 1763, 1745, 1759, 564, 1741,
- 1735, 1740, 1737, 1752, 1751, 1752, 1731, 1741, 1747, 1790,
- 1745, 1744, 1736, 2212, 1729, 1731, 2212, 1739, 1778, 1777,
- 16, 1738, 1721, 1722, 1725, 1726, 1717, 2212, 1731, 1717,
- 691, 1709, 1713, 1729, 1726, 1718, 1763, 1715, 1722, 1760,
- 2212, 1706, 1704, 1718, 1702, 1716, 1719, 1753, 1752, 1751,
- 1750, 1695, 1748, 1747, 2212, 1692, 1706, 681, 1707, 1706,
- 1703, 1703, 1701, 1690, 1692, 2212, 2212, 1737, 1683, 1740,
- 642, 564, 1681, 1679, 1673, 1694, 1735, 652, 1729, 1689,
-
- 1727, 1726, 1678, 1672, 1675, 1683, 1686, 1670, 1671, 1662,
- 1717, 1677, 1667, 1675, 1713, 1674, 642, 1665, 1667, 1671,
- 1708, 1712, 1667, 1666, 2212, 1667, 1660, 1649, 91, 234,
- 287, 290, 341, 341, 488, 520, 618, 621, 668, 683,
- 635, 654, 640, 652, 699, 657, 707, 2212, 714, 670,
- 668, 665, 659, 714, 677, 666, 2212, 668, 679, 680,
- 682, 726, 669, 728, 671, 686, 2212, 680, 674, 685,
- 670, 682, 695, 674, 680, 735, 699, 683, 683, 696,
- 740, 741, 742, 689, 707, 702, 709, 704, 689, 701,
- 702, 708, 695, 2212, 760, 718, 720, 710, 722, 724,
-
- 715, 721, 730, 771, 2212, 767, 743, 730, 731, 776,
- 726, 2212, 724, 739, 736, 722, 729, 728, 726, 745,
- 742, 743, 731, 738, 739, 748, 748, 738, 751, 737,
- 736, 742, 798, 739, 745, 762, 745, 799, 754, 2212,
- 764, 764, 757, 768, 766, 811, 753, 755, 770, 771,
- 759, 818, 775, 761, 764, 2212, 2212, 780, 779, 780,
- 785, 773, 783, 785, 2212, 2212, 785, 787, 791, 778,
- 776, 794, 781, 781, 832, 782, 840, 2212, 841, 2212,
- 786, 800, 800, 845, 793, 792, 796, 790, 850, 803,
- 793, 794, 790, 800, 804, 815, 799, 817, 812, 814,
-
- 807, 809, 810, 822, 812, 827, 868, 825, 830, 807,
- 830, 814, 2212, 821, 822, 836, 827, 874, 821, 836,
- 836, 2212, 855, 863, 832, 881, 2212, 847, 835, 830,
- 831, 843, 850, 839, 840, 836, 854, 840, 841, 851,
- 860, 896, 851, 846, 899, 905, 862, 854, 2212, 865,
- 868, 853, 869, 859, 871, 865, 912, 878, 862, 863,
- 2212, 879, 882, 865, 867, 925, 868, 2212, 885, 888,
- 868, 887, 875, 928, 886, 882, 879, 932, 881, 934,
- 881, 899, 898, 884, 899, 891, 887, 905, 890, 2212,
- 2212, 898, 945, 898, 2212, 906, 909, 902, 955, 2212,
-
- 904, 909, 954, 905, 906, 918, 912, 916, 914, 912,
- 923, 968, 912, 917, 971, 972, 916, 928, 2212, 916,
- 924, 922, 973, 935, 921, 922, 931, 944, 928, 942,
- 943, 944, 960, 965, 947, 933, 935, 935, 955, 954,
- 945, 934, 951, 958, 1001, 943, 963, 956, 960, 964,
- 947, 1008, 955, 959, 2212, 1006, 955, 953, 974, 971,
- 1011, 962, 980, 981, 967, 975, 984, 964, 979, 986,
- 1028, 1029, 2212, 982, 1031, 1032, 983, 993, 995, 979,
- 981, 981, 988, 997, 985, 992, 987, 994, 1046, 993,
- 992, 1009, 1050, 1000, 1004, 1002, 1000, 1055, 1056, 1006,
-
- 1058, 1054, 1060, 1013, 2212, 1018, 1011, 1002, 1021, 1015,
- 1010, 1020, 1017, 1022, 1018, 1030, 2212, 1014, 1016, 2212,
- 2212, 1016, 1077, 1016, 1035, 1036, 1038, 1029, 1083, 1084,
- 1037, 1022, 1043, 1025, 1030, 1037, 1070, 1061, 1093, 1050,
- 1037, 1039, 1056, 1051, 1055, 1100, 1048, 1052, 2212, 1049,
- 1045, 1062, 1042, 1063, 1053, 2212, 1068, 1066, 1069, 1053,
- 1069, 1056, 1116, 1069, 1074, 1061, 1073, 1065, 1071, 1067,
- 1085, 1086, 1087, 2212, 2212, 1085, 2212, 1087, 2212, 1072,
- 1073, 1092, 1082, 1134, 1091, 1088, 1132, 1096, 1085, 1092,
- 1097, 1094, 2212, 1092, 1084, 1145, 2212, 1146, 1093, 1100,
-
- 1144, 2212, 2212, 1102, 2212, 1093, 2212, 1093, 1096, 1110,
- 1115, 1098, 1109, 1158, 1115, 1116, 1117, 1157, 1113, 1164,
- 1117, 1166, 2212, 1113, 1168, 1169, 1126, 1128, 2212, 2212,
- 1111, 1173, 1132, 1116, 1128, 1118, 1148, 1179, 2212, 1136,
- 1181, 1128, 1143, 1179, 1131, 2212, 1127, 1143, 1131, 1145,
- 1146, 1143, 1187, 1150, 1154, 1142, 1142, 1197, 1198, 1155,
- 2212, 1157, 1156, 1158, 1151, 1160, 1161, 1159, 1149, 1152,
- 1152, 1211, 1158, 1213, 1214, 1158, 1217, 2212, 1175, 1154,
- 1169, 1162, 1165, 1178, 1181, 1181, 1227, 1181, 2212, 2212,
- 1177, 1187, 1172, 1188, 1174, 1235, 1236, 1180, 1190, 1239,
-
- 1196, 2212, 1188, 1188, 1190, 1192, 1245, 1188, 2212, 1189,
- 2212, 1191, 2212, 2212, 1204, 1206, 1207, 2212, 1201, 1253,
- 1202, 1255, 1235, 2212, 1252, 2212, 1200, 1208, 1202, 1199,
- 1202, 1205, 1205, 1201, 1223, 1262, 1215, 1227, 1230, 1212,
- 1272, 1220, 2212, 2212, 1216, 1275, 1228, 1219, 1234, 1235,
- 1238, 1238, 1235, 1279, 1241, 2212, 1233, 2212, 2212, 1243,
- 2212, 1283, 1245, 1246, 1243, 1287, 1235, 1250, 1290, 1252,
- 2212, 1240, 1240, 1246, 1245, 1257, 1257, 2212, 2212, 1298,
- 1245, 2212, 1262, 1247, 1247, 1249, 1255, 2212, 1310, 1252,
- 1262, 1273, 1271, 1315, 1276, 2212, 1273, 2212, 1292, 1260,
-
- 1320, 1321, 1278, 1283, 1265, 1325, 1326, 1327, 1323, 1287,
- 1284, 1280, 1273, 1285, 2212, 1275, 1335, 2212, 1273, 1332,
- 1295, 1291, 1336, 1284, 1289, 1289, 1344, 1303, 1349, 1299,
- 1351, 1312, 1301, 1295, 1355, 1297, 1306, 1299, 1315, 1360,
- 1302, 1319, 1304, 1319, 1303, 1361, 1362, 1363, 1310, 1365,
- 1328, 2212, 1328, 1315, 1314, 1370, 2212, 1328, 1377, 1347,
- 1331, 2212, 2212, 1322, 1333, 1382, 2212, 2212, 2212, 1328,
- 1333, 1331, 1381, 1339, 1344, 1335, 1333, 2212, 1391, 1337,
- 1388, 1331, 1336, 1397, 1345, 1355, 1356, 2212, 1401, 1355,
- 2212, 1356, 2212, 1347, 1363, 1351, 2212, 1361, 1362, 1363,
-
- 1369, 2212, 1408, 1374, 1367, 1368, 1377, 1359, 1365, 1367,
- 1421, 1380, 1379, 1371, 1425, 1375, 1379, 1376, 2212, 1429,
- 1378, 1431, 1373, 2212, 1376, 1386, 1430, 1378, 1393, 1380,
- 1386, 1386, 2212, 1390, 1385, 1384, 1444, 1397, 2212, 1441,
- 1392, 1389, 2212, 1403, 1405, 1407, 1452, 1405, 1402, 1410,
- 1404, 1457, 1398, 1400, 1408, 1398, 1414, 1415, 1409, 1425,
- 2212, 1415, 1467, 1426, 2212, 1410, 1417, 1466, 2212, 1428,
- 2212, 1468, 1430, 1431, 1416, 1417, 1425, 1479, 1475, 1430,
- 1438, 1429, 1436, 2212, 1433, 1438, 1436, 1488, 1489, 1446,
- 1433, 2212, 1448, 1449, 1450, 1451, 2212, 1441, 1453, 1454,
-
- 1499, 1441, 1449, 1443, 1451, 1464, 2212, 1441, 1501, 1462,
- 1466, 1451, 1451, 1466, 1459, 1458, 1469, 1456, 2212, 1461,
- 1517, 1465, 1477, 1468, 1477, 1479, 1483, 2212, 2212, 1465,
- 1525, 1468, 1527, 1469, 1529, 1487, 1531, 1532, 2212, 1528,
- 1490, 1487, 1492, 1479, 1538, 1481, 1486, 1477, 1542, 1495,
- 1496, 1486, 1503, 1502, 1543, 1505, 2212, 1550, 1507, 1508,
- 1553, 1510, 1513, 1508, 2212, 1557, 2212, 1510, 2212, 1519,
- 2212, 2212, 1501, 1561, 1508, 1563, 1506, 2212, 1525, 1566,
- 1525, 2212, 1516, 1506, 1565, 1531, 1524, 1520, 1517, 2212,
- 1517, 1519, 2212, 1524, 1534, 1527, 2212, 1528, 1522, 1534,
-
- 2212, 1530, 2212, 1540, 1533, 2212, 1535, 1543, 1588, 1529,
- 1531, 1528, 1552, 1545, 1536, 1590, 1537, 1545, 1554, 1555,
- 1556, 1549, 1544, 1545, 1549, 1561, 1606, 2212, 1552, 1564,
- 1609, 1558, 1557, 1564, 1551, 1566, 1571, 1616, 1617, 1618,
- 1575, 1620, 1621, 1571, 1565, 2212, 1581, 1625, 2212, 1582,
- 1584, 1575, 1589, 1585, 1578, 2212, 2212, 2212, 1632, 2212,
- 2212, 1589, 1634, 1595, 2212, 1636, 1637, 1592, 1591, 1592,
- 1582, 2212, 1637, 2212, 1584, 2212, 2212, 1644, 1586, 1602,
- 1647, 1608, 1605, 2212, 1646, 1595, 2212, 1607, 1600, 1655,
- 1597, 1599, 1614, 1599, 2212, 1612, 1661, 1662, 1610, 1612,
-
- 2212, 2212, 1606, 1622, 1667, 1668, 2212, 2212, 2212, 1674,
- 1679, 1684, 1689, 1694, 1699, 1704, 1707, 1681, 1686, 1688,
- 1701
+ 279, 191, 210, 197, 60, 216, 2214, 241, 288, 309,
+ 301, 315, 2197, 212, 320, 367, 320, 2216, 0, 373,
+ 381, 395, 424, 429, 2275, 0, 2275, 410, 443, 241,
+ 242, 306, 269, 299, 310, 2275, 2213, 2254, 2275, 297,
+
+ 2275, 442, 337, 2200, 2210, 2251, 306, 10, 395, 2204,
+ 355, 373, 397, 415, 324, 2249, 0, 495, 410, 2191,
+ 219, 2199, 413, 2195, 2184, 2185, 2190, 418, 2200, 2183,
+ 2192, 368, 416, 219, 2186, 2184, 423, 2173, 2231, 423,
+ 2176, 2229, 2169, 2192, 2189, 2189, 2183, 421, 2176, 2174,
+ 2175, 2167, 2172, 2166, 414, 2177, 2170, 2161, 2160, 2174,
+ 434, 2212, 2159, 428, 2171, 450, 2159, 491, 2160, 465,
+ 2172, 2169, 2170, 293, 2168, 2203, 2202, 434, 2148, 2148,
+ 2152, 2148, 2140, 2157, 2149, 0, 450, 472, 467, 470,
+ 473, 499, 2148, 2275, 0, 508, 2139, 2142, 2275, 497,
+
+ 503, 2275, 2196, 2149, 509, 2194, 513, 2193, 515, 2192,
+ 2275, 561, 2191, 534, 2150, 2147, 2148, 2143, 2142, 2133,
+ 505, 2184, 2178, 2142, 2123, 2120, 2128, 2134, 2122, 2136,
+ 2132, 2133, 2133, 2128, 2120, 2122, 2106, 2110, 2123, 2125,
+ 2122, 2114, 2104, 2107, 2121, 2275, 2107, 2115, 2118, 2099,
+ 2098, 2150, 2097, 2107, 2147, 504, 2106, 2145, 2090, 2092,
+ 2103, 2141, 531, 2145, 2080, 2095, 505, 2085, 2091, 2100,
+ 2081, 2079, 2082, 2078, 2084, 2075, 2074, 2087, 2080, 2070,
+ 2081, 2085, 2084, 2078, 533, 2085, 2080, 2072, 2062, 2077,
+ 2072, 2076, 506, 2074, 2060, 2066, 2073, 2055, 2056, 2059,
+
+ 2056, 2055, 561, 2050, 2064, 2063, 2062, 2065, 2047, 2055,
+ 555, 2275, 2275, 556, 2275, 2275, 2042, 0, 524, 2044,
+ 574, 568, 2100, 2275, 2051, 561, 2275, 2098, 2275, 2092,
+ 611, 2275, 560, 2032, 2035, 2052, 2040, 2092, 2047, 2042,
+ 2045, 2040, 80, 2275, 2042, 591, 2081, 2039, 2036, 2037,
+ 587, 2041, 2081, 2029, 2024, 2021, 2017, 2019, 2070, 2027,
+ 2016, 2032, 2066, 2012, 608, 2025, 2025, 2008, 2009, 2022,
+ 2009, 2019, 2014, 2021, 2016, 2001, 554, 2010, 2013, 2008,
+ 579, 2007, 2003, 2053, 552, 585, 2275, 2047, 1997, 1996,
+ 1989, 1991, 2003, 1994, 1983, 2000, 1989, 1994, 616, 2041,
+
+ 1994, 591, 1991, 1994, 1994, 1992, 1981, 1981, 1993, 584,
+ 1968, 1969, 1990, 599, 1972, 1969, 1983, 1986, 1981, 1967,
+ 1979, 1978, 1977, 1972, 1975, 1974, 1973, 1972, 595, 2015,
+ 1974, 2013, 2012, 1954, 644, 1967, 2275, 2275, 1966, 0,
+ 606, 1954, 2007, 2006, 1962, 2004, 2275, 1950, 2002, 2275,
+ 631, 679, 620, 2001, 1949, 1951, 1939, 2275, 1944, 1950,
+ 1953, 1936, 1951, 1938, 1937, 2275, 1947, 614, 1938, 1935,
+ 1947, 582, 1932, 1934, 2275, 1940, 1925, 1927, 1938, 1936,
+ 1931, 658, 1938, 1926, 1919, 1970, 2275, 1917, 1933, 1967,
+ 1971, 1927, 1921, 1923, 1924, 1926, 1960, 1911, 1906, 1905,
+
+ 1907, 1903, 1899, 573, 1918, 1892, 1899, 1904, 1897, 1913,
+ 1947, 1951, 2275, 1896, 1892, 1948, 1899, 1893, 1900, 1885,
+ 1895, 1883, 1897, 1886, 1882, 1884, 1879, 2275, 1936, 2275,
+ 1878, 1877, 1870, 1887, 1926, 1925, 1870, 1875, 1884, 1878,
+ 1872, 1881, 662, 1918, 1880, 1863, 1863, 1858, 1854, 1860,
+ 1865, 1858, 1866, 1870, 1853, 1911, 1852, 1904, 1849, 1850,
+ 1849, 1861, 1850, 2275, 1860, 2275, 2275, 1849, 2275, 1859,
+ 1895, 1855, 0, 1898, 1846, 2275, 2275, 1843, 2275, 1849,
+ 2275, 619, 636, 675, 2275, 1854, 1834, 1887, 1832, 1885,
+ 1830, 1829, 1828, 1835, 1828, 1836, 1839, 1821, 1821, 1836,
+
+ 1835, 1834, 1833, 1817, 1832, 1814, 1861, 1828, 1866, 1810,
+ 1812, 1824, 1824, 1823, 2275, 1808, 1805, 1863, 1818, 1810,
+ 1816, 1807, 1815, 2275, 1800, 1811, 1815, 1797, 1811, 370,
+ 1793, 1787, 1792, 1789, 1804, 1803, 1804, 1783, 1793, 1799,
+ 1842, 1797, 1796, 1788, 1779, 2275, 1780, 1782, 2275, 1790,
+ 1829, 1828, 16, 1789, 1826, 1771, 1772, 1775, 1776, 1767,
+ 2275, 1781, 1767, 702, 1759, 1763, 1779, 1776, 1768, 1813,
+ 1765, 1772, 1810, 2275, 1756, 1754, 1768, 1752, 1766, 1769,
+ 1803, 1802, 1801, 1800, 1745, 1798, 1797, 2275, 1742, 1756,
+ 669, 1757, 1756, 1753, 1753, 1790, 1750, 1739, 1741, 2275,
+
+ 2275, 1786, 1732, 1789, 645, 661, 1730, 1728, 1722, 1743,
+ 1784, 666, 1778, 1738, 1776, 1775, 1727, 1721, 1724, 1732,
+ 1735, 1719, 1720, 1711, 1766, 1726, 82, 291, 360, 354,
+ 654, 395, 400, 421, 473, 519, 477, 501, 2275, 551,
+ 578, 619, 635, 643, 641, 644, 652, 651, 659, 665,
+ 673, 671, 716, 717, 661, 680, 666, 676, 723, 681,
+ 731, 2275, 732, 688, 686, 688, 684, 678, 733, 696,
+ 685, 2275, 687, 698, 687, 700, 702, 747, 690, 749,
+ 692, 707, 2275, 701, 695, 706, 691, 702, 715, 694,
+ 700, 755, 719, 703, 703, 716, 760, 761, 762, 709,
+
+ 727, 722, 729, 724, 709, 721, 722, 728, 715, 2275,
+ 780, 738, 740, 730, 742, 732, 745, 736, 742, 751,
+ 792, 2275, 788, 764, 751, 752, 797, 747, 2275, 745,
+ 760, 757, 743, 750, 749, 747, 766, 763, 764, 752,
+ 759, 760, 769, 769, 759, 772, 758, 757, 763, 819,
+ 760, 761, 768, 784, 767, 821, 776, 2275, 786, 786,
+ 779, 790, 788, 833, 775, 777, 792, 793, 781, 840,
+ 797, 783, 786, 2275, 2275, 802, 801, 802, 807, 795,
+ 805, 807, 2275, 2275, 807, 809, 796, 814, 801, 799,
+ 817, 804, 804, 855, 802, 806, 864, 2275, 865, 2275,
+
+ 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, 2275, 845, 846, 860, 851, 849, 899, 846,
+ 861, 861, 2275, 880, 888, 857, 906, 2275, 872, 860,
+ 855, 856, 868, 875, 864, 865, 861, 879, 865, 866,
+ 876, 885, 921, 876, 871, 924, 930, 887, 879, 2275,
+ 883, 892, 894, 879, 895, 885, 897, 891, 938, 904,
+ 888, 889, 2275, 905, 908, 891, 893, 951, 894, 2275,
+ 911, 914, 894, 913, 901, 954, 912, 908, 905, 958,
+
+ 907, 960, 922, 908, 926, 925, 911, 926, 918, 914,
+ 932, 931, 918, 2275, 2275, 926, 973, 926, 2275, 934,
+ 937, 930, 983, 2275, 932, 938, 982, 933, 934, 946,
+ 940, 944, 942, 940, 951, 996, 940, 945, 999, 1000,
+ 944, 956, 2275, 944, 952, 950, 1001, 963, 949, 951,
+ 960, 972, 959, 957, 971, 972, 973, 989, 994, 976,
+ 962, 964, 964, 984, 983, 974, 963, 980, 987, 1030,
+ 972, 992, 985, 989, 993, 976, 1037, 984, 988, 2275,
+ 1035, 984, 983, 983, 1004, 1001, 1043, 992, 1010, 1011,
+ 997, 1005, 1014, 994, 1009, 1016, 1058, 1059, 2275, 1012,
+
+ 1061, 1062, 1013, 1023, 1025, 1009, 1011, 1011, 1018, 1027,
+ 1015, 1022, 1017, 1024, 1036, 1077, 1024, 1023, 1040, 1081,
+ 1031, 1035, 1033, 1031, 1026, 1087, 1088, 1038, 1090, 1086,
+ 1092, 1045, 2275, 1050, 1043, 1034, 1053, 1047, 1042, 1052,
+ 1049, 1054, 1050, 1062, 2275, 1046, 1049, 2275, 2275, 1049,
+ 1109, 1048, 1067, 1068, 1070, 1061, 1115, 1116, 1069, 1054,
+ 1068, 1076, 1058, 1063, 1070, 1103, 1094, 1126, 1083, 1070,
+ 1072, 1089, 1084, 1088, 1133, 1081, 1085, 2275, 1082, 1078,
+ 1095, 1075, 1096, 1086, 2275, 1101, 1099, 1102, 1086, 1098,
+ 1104, 1090, 1150, 1103, 1108, 1096, 1107, 1099, 1105, 1101,
+
+ 1119, 1120, 1121, 2275, 2275, 1119, 2275, 1121, 2275, 1106,
+ 1107, 1126, 1116, 1168, 1125, 1122, 1166, 1130, 1119, 1126,
+ 1131, 1128, 1134, 2275, 1127, 1119, 1180, 2275, 1181, 1128,
+ 1135, 1179, 1141, 2275, 2275, 1138, 2275, 1129, 2275, 1129,
+ 1132, 1146, 1151, 1134, 1145, 1194, 1151, 1152, 1153, 1193,
+ 1149, 1200, 1153, 1202, 2275, 1149, 1204, 1205, 1162, 1164,
+ 2275, 2275, 1147, 1209, 1205, 1169, 1153, 1165, 1155, 1185,
+ 1216, 2275, 1173, 1218, 1165, 1180, 1216, 1168, 2275, 1164,
+ 1180, 1168, 1182, 1183, 1180, 1224, 1187, 1191, 1179, 1179,
+ 1234, 1230, 1236, 1193, 2275, 1195, 1194, 1196, 1189, 1198,
+
+ 1200, 1197, 1187, 1190, 1190, 1249, 1196, 1252, 1253, 1196,
+ 1255, 2275, 1213, 1192, 1207, 1200, 1203, 1216, 1220, 1219,
+ 1217, 1267, 1220, 2275, 2275, 1216, 1226, 1211, 1267, 1228,
+ 1214, 1275, 1276, 1220, 1230, 1279, 1236, 2275, 1228, 1228,
+ 1230, 1232, 1285, 1228, 2275, 1229, 2275, 1231, 2275, 2275,
+ 1244, 1246, 1247, 2275, 1234, 1242, 1294, 1243, 1296, 1276,
+ 2275, 1293, 2275, 1241, 1249, 1243, 1240, 1243, 1246, 1246,
+ 1242, 1264, 1303, 1256, 1268, 1271, 1253, 1313, 1261, 2275,
+ 1256, 2275, 1258, 1317, 1270, 1261, 1277, 1277, 1280, 1280,
+ 1277, 1321, 1283, 2275, 1275, 2275, 2275, 1285, 2275, 1325,
+
+ 1287, 1288, 1285, 1329, 1277, 1292, 1332, 1294, 1286, 2275,
+ 1283, 1283, 1289, 1288, 1286, 1301, 1301, 2275, 2275, 1342,
+ 1289, 2275, 1306, 1291, 1291, 1293, 1299, 2275, 1354, 1296,
+ 1306, 1317, 1315, 1359, 1312, 1321, 2275, 1318, 2275, 1337,
+ 1305, 1365, 1366, 1323, 1328, 1310, 1370, 1371, 1372, 1368,
+ 1332, 1329, 1325, 1318, 1330, 2275, 1320, 1333, 1381, 2275,
+ 1319, 1378, 1341, 1338, 1382, 1330, 1335, 1334, 1393, 1349,
+ 1395, 1345, 1397, 1358, 1347, 1341, 1401, 1343, 1352, 1345,
+ 1359, 1362, 1407, 1349, 1366, 1362, 1352, 1367, 1351, 1409,
+ 1410, 1411, 1358, 1413, 1376, 2275, 1376, 1363, 1362, 1418,
+
+ 2275, 1359, 1377, 1426, 1396, 1380, 2275, 2275, 1371, 1382,
+ 1431, 2275, 2275, 2275, 1377, 1382, 1380, 1430, 1388, 1393,
+ 1384, 1382, 1383, 2275, 1441, 1387, 1438, 1381, 1386, 1447,
+ 1395, 1405, 1406, 2275, 1452, 1405, 2275, 1406, 2275, 1398,
+ 1413, 1401, 2275, 1411, 1412, 1413, 1462, 1420, 2275, 1459,
+ 1425, 1401, 1419, 1420, 1429, 1411, 1417, 1419, 1473, 1432,
+ 1431, 1423, 1477, 1427, 1431, 1436, 1429, 2275, 1482, 1431,
+ 1484, 1426, 2275, 1429, 1439, 1483, 1431, 1446, 1433, 1439,
+ 1439, 1450, 2275, 1444, 1439, 1438, 1498, 1451, 2275, 1495,
+ 1446, 1443, 2275, 1457, 1459, 1461, 1506, 1459, 1456, 1464,
+
+ 1458, 2275, 1511, 1452, 1454, 1470, 1463, 1453, 1469, 1470,
+ 1464, 1480, 2275, 1470, 1522, 1481, 2275, 1465, 1472, 1526,
+ 1522, 2275, 1484, 2275, 1524, 1486, 1487, 1472, 1473, 1481,
+ 1535, 1531, 1486, 1498, 1495, 1486, 1493, 2275, 1490, 1495,
+ 1493, 1545, 1546, 1503, 1490, 2275, 1505, 1506, 1507, 1508,
+ 2275, 1498, 1510, 1555, 1512, 1557, 1499, 1507, 1501, 1509,
+ 1522, 2275, 1499, 1559, 1520, 2275, 1524, 1509, 1509, 1524,
+ 1517, 1516, 1527, 1514, 2275, 1519, 1575, 1533, 1524, 1536,
+ 1527, 1536, 1538, 1542, 2275, 2275, 1524, 1584, 1527, 1586,
+ 1528, 1588, 1546, 1590, 2275, 1591, 2275, 1587, 1549, 1546,
+
+ 1551, 1538, 1597, 1540, 1545, 1536, 1601, 1554, 1555, 1545,
+ 1562, 1561, 1602, 1564, 2275, 1561, 1610, 1567, 1568, 1613,
+ 1570, 1573, 1568, 2275, 1617, 2275, 1570, 2275, 1579, 2275,
+ 2275, 1561, 1621, 1568, 1623, 1566, 2275, 1585, 1626, 1585,
+ 2275, 1576, 1566, 1625, 1591, 1584, 1580, 1577, 1582, 2275,
+ 1578, 1580, 2275, 1585, 1595, 1588, 2275, 1589, 1583, 1595,
+ 2275, 1591, 2275, 1601, 1594, 2275, 1596, 1604, 1649, 1590,
+ 1592, 1589, 1613, 1606, 1609, 1598, 1652, 1599, 1607, 1616,
+ 1617, 1618, 1611, 1606, 1607, 1611, 1623, 1668, 2275, 1614,
+ 1626, 1671, 1620, 1619, 1674, 1627, 1614, 1629, 1634, 1679,
+
+ 1680, 1681, 1638, 1683, 1684, 1634, 1628, 2275, 1644, 1688,
+ 2275, 1645, 1647, 2275, 1638, 1652, 1648, 1641, 2275, 2275,
+ 2275, 1695, 2275, 2275, 1652, 1697, 1658, 2275, 1699, 1700,
+ 1655, 1654, 1655, 1645, 2275, 1700, 2275, 1647, 2275, 2275,
+ 1707, 1649, 1665, 1710, 1671, 1668, 2275, 1709, 1658, 2275,
+ 1670, 1663, 1718, 1660, 1662, 1677, 1662, 2275, 1675, 1724,
+ 1725, 1673, 1675, 2275, 2275, 1669, 1685, 1730, 1731, 2275,
+ 2275, 2275, 1737, 1742, 1747, 1752, 1757, 1762, 1767, 1770,
+ 1744, 1749, 1751, 1764
} ;
-static const flex_int16_t yy_def[1822] =
+static const flex_int16_t yy_def[1885] =
{ 0,
- 1810, 1810, 1811, 1811, 1810, 1810, 1810, 1810, 1810, 1810,
- 1809, 1809, 1809, 1809, 1809, 1812, 1809, 1809, 1809, 1809,
- 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809,
- 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1813,
- 1809, 1809, 1809, 1814, 15, 1809, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 1815, 45, 45,
+ 1873, 1873, 1874, 1874, 1873, 1873, 1873, 1873, 1873, 1873,
+ 1872, 1872, 1872, 1872, 1872, 1875, 1872, 1872, 1872, 1872,
+ 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872,
+ 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1876,
+ 1872, 1872, 1872, 1877, 15, 1872, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 1878, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 1812, 1809,
- 1809, 1809, 1809, 1809, 1809, 1816, 1809, 1809, 1809, 1809,
- 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1813, 1809, 1814,
+ 45, 45, 45, 45, 45, 45, 45, 45, 1875, 1872,
+ 1872, 1872, 1872, 1872, 1872, 1879, 1872, 1872, 1872, 1872,
+ 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1876, 1872, 1877,
- 1809, 1809, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 1817, 45, 1815, 45, 45,
+ 1872, 1872, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 1880, 45, 1878, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 1816, 1809, 1809, 1809, 1809, 1809, 1809,
- 1809, 1809, 1818, 45, 45, 45, 1809, 45, 45, 1809,
+ 45, 45, 45, 45, 45, 1879, 1872, 1872, 1872, 1872,
+ 1872, 1872, 1872, 1872, 1881, 45, 45, 45, 1872, 45,
- 45, 45, 45, 45, 45, 45, 45, 1817, 1809, 1815,
- 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 1872, 45, 45, 45, 45, 45, 45, 45, 1880,
+ 1872, 1878, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 1809, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 1872, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 1809, 1809, 1809, 1809, 1809,
- 1809, 1809, 1819, 45, 45, 45, 45, 45, 1809, 45,
- 45, 1809, 45, 1809, 45, 1815, 1809, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 1809, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1882, 45, 45,
+ 45, 45, 45, 1872, 45, 45, 1872, 45, 1872, 45,
+ 1878, 1872, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 1872, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 1809, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 1872, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 1809, 1809,
- 1809, 1820, 45, 45, 45, 45, 45, 45, 1809, 45,
- 45, 1809, 45, 1815, 45, 45, 45, 45, 45, 1809,
- 45, 45, 45, 45, 45, 45, 45, 1809, 45, 45,
- 45, 45, 45, 45, 45, 45, 1809, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 1809, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 1872, 1872, 1872, 1883,
+ 45, 45, 45, 45, 45, 45, 1872, 45, 45, 1872,
+ 45, 1878, 45, 45, 45, 45, 45, 1872, 45, 45,
+ 45, 45, 45, 45, 45, 1872, 45, 45, 45, 45,
+ 45, 45, 45, 45, 1872, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 1872, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 1809, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 1809, 45, 1809,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 1872, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 1872, 45, 1872,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 1809, 1809, 1809, 45, 1809, 45, 45,
- 1809, 1821, 45, 45, 1809, 1809, 45, 1809, 45, 1809,
- 45, 45, 45, 1809, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 1872, 45, 1872, 1872, 45, 1872, 45,
+ 45, 1872, 1884, 45, 45, 1872, 1872, 45, 1872, 45,
+ 1872, 45, 45, 45, 1872, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 1809, 45, 45, 45, 45, 45, 45,
- 45, 45, 1809, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 1809, 45, 45, 1809, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 1809, 45, 45,
+ 45, 45, 45, 45, 1872, 45, 45, 45, 45, 45,
+ 45, 45, 45, 1872, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 1809, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 1809, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 1809, 1809, 45, 45, 45,
+ 45, 45, 45, 45, 45, 1872, 45, 45, 1872, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 1872, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 1872, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 1872, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 1872,
+ 1872, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 1809, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 1872, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 1809, 45, 45,
- 45, 45, 45, 45, 45, 45, 1809, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 1809, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 1872, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 1872, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 1872, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 1809, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 1809, 45, 45, 45, 45, 45,
- 45, 1809, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 1872,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 45, 1809,
+ 45, 1872, 45, 45, 45, 45, 45, 45, 1872, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 1809, 1809, 45, 45, 45,
- 45, 45, 45, 45, 1809, 1809, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 1809, 45, 1809,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 1872, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 1872, 1872, 45, 45, 45, 45, 45,
+ 45, 45, 1872, 1872, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 1872, 45, 1872,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 1809, 45, 45, 45, 45, 45, 45, 45,
- 45, 1809, 45, 45, 45, 45, 1809, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 1809, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 1809, 45, 45, 45, 45, 45, 45, 1809, 45, 45,
+ 45, 45, 1872, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 1872, 45, 45, 45, 45, 1872, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 45, 1809,
- 1809, 45, 45, 45, 1809, 45, 45, 45, 45, 1809,
-
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 1872,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 1809, 45,
+ 45, 45, 1872, 45, 45, 45, 45, 45, 45, 1872,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 1872, 1872, 45, 45, 45, 1872, 45,
+ 45, 45, 45, 1872, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 1809, 45, 45, 45, 45, 45,
+ 45, 45, 1872, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 1809, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 1872,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 1872, 45,
- 45, 45, 45, 45, 1809, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 1809, 45, 45, 1809,
- 1809, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 1809, 45,
- 45, 45, 45, 45, 45, 1809, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 1809, 1809, 45, 1809, 45, 1809, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 1809, 45, 45, 45, 1809, 45, 45, 45,
-
- 45, 1809, 1809, 45, 1809, 45, 1809, 45, 45, 45,
+ 45, 45, 1872, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 1872, 45, 45, 1872, 1872, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 1809, 45, 45, 45, 45, 45, 1809, 1809,
- 45, 45, 45, 45, 45, 45, 45, 45, 1809, 45,
- 45, 45, 45, 45, 45, 1809, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 1809, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 1809, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 1809, 1809,
+ 45, 45, 45, 45, 45, 45, 45, 1872, 45, 45,
+ 45, 45, 45, 45, 1872, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 1809, 45, 45, 45, 45, 45, 45, 1809, 45,
- 1809, 45, 1809, 1809, 45, 45, 45, 1809, 45, 45,
- 45, 45, 45, 1809, 45, 1809, 45, 45, 45, 45,
+ 45, 45, 45, 1872, 1872, 45, 1872, 45, 1872, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 1872, 45, 45, 45, 1872, 45, 45,
+ 45, 45, 45, 1872, 1872, 45, 1872, 45, 1872, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 1809, 1809, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 1809, 45, 1809, 1809, 45,
- 1809, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 1809, 45, 45, 45, 45, 45, 45, 1809, 1809, 45,
- 45, 1809, 45, 45, 45, 45, 45, 1809, 45, 45,
- 45, 45, 45, 45, 45, 1809, 45, 1809, 45, 45,
+ 45, 45, 45, 45, 1872, 45, 45, 45, 45, 45,
+ 1872, 1872, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 1872, 45, 45, 45, 45, 45, 45, 1872, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 1872, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 1809, 45, 45, 1809, 45, 45,
+ 45, 1872, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 1872, 1872, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 1872, 45, 45,
+ 45, 45, 45, 45, 1872, 45, 1872, 45, 1872, 1872,
+ 45, 45, 45, 1872, 45, 45, 45, 45, 45, 45,
+ 1872, 45, 1872, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 1872,
+ 45, 1872, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 1872, 45, 1872, 1872, 45, 1872, 45,
+
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 1872,
+ 45, 45, 45, 45, 45, 45, 45, 1872, 1872, 45,
+ 45, 1872, 45, 45, 45, 45, 45, 1872, 45, 45,
+ 45, 45, 45, 45, 45, 45, 1872, 45, 1872, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 1872, 45, 45, 45, 1872,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 1809, 45, 45, 45, 45, 1809, 45, 45, 45,
- 45, 1809, 1809, 45, 45, 45, 1809, 1809, 1809, 45,
- 45, 45, 45, 45, 45, 45, 45, 1809, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 1809, 45, 45,
- 1809, 45, 1809, 45, 45, 45, 1809, 45, 45, 45,
-
- 45, 1809, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 1809, 45,
- 45, 45, 45, 1809, 45, 45, 45, 45, 45, 45,
- 45, 45, 1809, 45, 45, 45, 45, 45, 1809, 45,
- 45, 45, 1809, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 1809, 45, 45, 45, 1809, 45, 45, 45, 1809, 45,
- 1809, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 1809, 45, 45, 45, 45, 45, 45,
- 45, 1809, 45, 45, 45, 45, 1809, 45, 45, 45,
-
- 45, 45, 45, 45, 45, 45, 1809, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 1809, 45,
- 45, 45, 45, 45, 45, 45, 45, 1809, 1809, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 1809, 45,
+ 45, 45, 45, 45, 45, 1872, 45, 45, 45, 45,
+
+ 1872, 45, 45, 45, 45, 45, 1872, 1872, 45, 45,
+ 45, 1872, 1872, 1872, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 1872, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 1872, 45, 45, 1872, 45, 1872, 45,
+ 45, 45, 1872, 45, 45, 45, 45, 45, 1872, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 1809, 45, 45, 45,
- 45, 45, 45, 45, 1809, 45, 1809, 45, 1809, 45,
- 1809, 1809, 45, 45, 45, 45, 45, 1809, 45, 45,
- 45, 1809, 45, 45, 45, 45, 45, 45, 45, 1809,
- 45, 45, 1809, 45, 45, 45, 1809, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 1872, 45, 45,
+ 45, 45, 1872, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 1872, 45, 45, 45, 45, 45, 1872, 45,
+ 45, 45, 1872, 45, 45, 45, 45, 45, 45, 45,
+
+ 45, 1872, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 1872, 45, 45, 45, 1872, 45, 45, 45,
+ 45, 1872, 45, 1872, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 1872, 45, 45,
+ 45, 45, 45, 45, 45, 1872, 45, 45, 45, 45,
+ 1872, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 1872, 45, 45, 45, 1872, 45, 45, 45, 45,
+ 45, 45, 45, 45, 1872, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 1872, 1872, 45, 45, 45, 45,
+ 45, 45, 45, 45, 1872, 45, 1872, 45, 45, 45,
- 1809, 45, 1809, 45, 45, 1809, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 1809, 45, 45,
+ 45, 45, 45, 45, 1872, 45, 45, 45, 45, 45,
+ 45, 45, 45, 1872, 45, 1872, 45, 1872, 45, 1872,
+ 1872, 45, 45, 45, 45, 45, 1872, 45, 45, 45,
+ 1872, 45, 45, 45, 45, 45, 45, 45, 45, 1872,
+ 45, 45, 1872, 45, 45, 45, 1872, 45, 45, 45,
+ 1872, 45, 1872, 45, 45, 1872, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 1809, 45, 45, 1809, 45,
- 45, 45, 45, 45, 45, 1809, 1809, 1809, 45, 1809,
- 1809, 45, 45, 45, 1809, 45, 45, 45, 45, 45,
- 45, 1809, 45, 1809, 45, 1809, 1809, 45, 45, 45,
- 45, 45, 45, 1809, 45, 45, 1809, 45, 45, 45,
- 45, 45, 45, 45, 1809, 45, 45, 45, 45, 45,
-
- 1809, 1809, 45, 45, 45, 45, 1809, 1809, 0, 1809,
- 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809,
- 1809
+ 45, 45, 45, 45, 45, 45, 45, 45, 1872, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+
+ 45, 45, 45, 45, 45, 45, 45, 1872, 45, 45,
+ 1872, 45, 45, 1872, 45, 45, 45, 45, 1872, 1872,
+ 1872, 45, 1872, 1872, 45, 45, 45, 1872, 45, 45,
+ 45, 45, 45, 45, 1872, 45, 1872, 45, 1872, 1872,
+ 45, 45, 45, 45, 45, 45, 1872, 45, 45, 1872,
+ 45, 45, 45, 45, 45, 45, 45, 1872, 45, 45,
+ 45, 45, 45, 1872, 1872, 45, 45, 45, 45, 1872,
+ 1872, 0, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872,
+ 1872, 1872, 1872, 1872
} ;
-static const flex_int16_t yy_nxt[2286] =
+static const flex_int16_t yy_nxt[2349] =
{ 0,
- 1809, 13, 14, 13, 1809, 15, 16, 1809, 17, 18,
+ 1872, 13, 14, 13, 1872, 15, 16, 1872, 17, 18,
19, 20, 21, 22, 22, 22, 22, 22, 23, 24,
- 85, 757, 37, 14, 37, 86, 25, 26, 38, 101,
- 1809, 27, 37, 14, 37, 42, 28, 42, 38, 91,
- 92, 29, 199, 30, 13, 14, 13, 90, 91, 25,
+ 85, 772, 37, 14, 37, 86, 25, 26, 38, 101,
+ 1872, 27, 37, 14, 37, 42, 28, 42, 38, 91,
+ 92, 29, 201, 30, 13, 14, 13, 90, 91, 25,
31, 92, 13, 14, 13, 13, 14, 13, 32, 40,
- 758, 13, 14, 13, 33, 40, 102, 91, 92, 199,
+ 773, 13, 14, 13, 33, 40, 102, 91, 92, 201,
90, 34, 35, 13, 14, 13, 94, 15, 16, 95,
17, 18, 19, 20, 21, 22, 22, 22, 22, 22,
23, 24, 13, 14, 13, 90, 39, 103, 25, 26,
13, 14, 13, 27, 39, 42, 107, 42, 28, 42,
108, 42, 41, 29, 111, 30, 114, 115, 93, 137,
- 41, 25, 31, 103, 138, 455, 88, 139, 88, 107,
+ 41, 25, 31, 103, 138, 463, 88, 139, 88, 107,
32, 89, 89, 89, 89, 89, 33, 111, 108, 114,
- 846, 115, 456, 34, 35, 44, 44, 44, 45, 45,
+ 847, 115, 464, 34, 35, 44, 44, 44, 45, 45,
46, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 47, 45, 48,
49, 50, 51, 45, 52, 53, 54, 45, 45, 45,
81, 81, 81, 81, 81, 80, 103, 83, 83, 83,
83, 83, 107, 82, 84, 84, 84, 84, 84, 80,
82, 83, 83, 83, 83, 83, 135, 82, 110, 132,
- 112, 121, 119, 136, 82, 107, 82, 166, 120, 133,
- 113, 167, 122, 82, 140, 123, 134, 124, 235, 125,
- 82, 185, 186, 112, 141, 204, 142, 82, 45, 847,
- 45, 45, 45, 45, 236, 45, 45, 45, 113, 117,
- 144, 145, 45, 45, 146, 45, 45, 185, 186, 185,
+ 112, 121, 119, 136, 82, 107, 82, 167, 120, 133,
+ 113, 168, 122, 82, 140, 123, 134, 124, 237, 125,
+ 82, 187, 188, 112, 141, 216, 142, 82, 45, 217,
+ 45, 45, 45, 45, 238, 45, 45, 45, 113, 117,
+ 144, 145, 45, 45, 146, 45, 45, 187, 188, 187,
- 147, 45, 204, 45, 45, 45, 45, 45, 45, 45,
+ 147, 45, 101, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 126, 188, 45, 127, 128, 148,
- 45, 129, 130, 149, 45, 111, 848, 150, 294, 187,
- 187, 200, 45, 849, 131, 186, 45, 155, 45, 118,
- 101, 114, 295, 151, 152, 156, 153, 157, 154, 175,
- 176, 160, 158, 159, 161, 162, 168, 187, 190, 112,
- 169, 189, 201, 170, 114, 163, 194, 203, 164, 113,
- 171, 172, 198, 205, 181, 173, 174, 102, 850, 182,
- 851, 214, 177, 206, 178, 215, 224, 225, 179, 84,
-
- 84, 84, 84, 84, 194, 203, 226, 113, 198, 233,
- 411, 205, 82, 80, 180, 81, 81, 81, 81, 81,
- 206, 307, 234, 412, 88, 207, 88, 244, 82, 89,
- 89, 89, 89, 89, 80, 82, 83, 83, 83, 83,
- 83, 84, 84, 84, 84, 84, 100, 307, 207, 82,
- 194, 82, 204, 100, 82, 89, 89, 89, 89, 89,
- 89, 89, 89, 89, 89, 217, 230, 211, 231, 253,
- 203, 245, 82, 239, 218, 219, 240, 82, 212, 299,
- 241, 308, 275, 100, 322, 232, 276, 100, 307, 422,
- 254, 100, 266, 267, 268, 306, 306, 271, 260, 100,
-
- 272, 273, 308, 100, 308, 100, 193, 210, 210, 210,
- 210, 210, 278, 314, 310, 321, 210, 210, 210, 210,
- 210, 210, 288, 306, 309, 311, 289, 317, 323, 318,
- 290, 314, 325, 384, 321, 372, 314, 852, 321, 210,
- 210, 210, 210, 210, 210, 433, 464, 279, 280, 281,
- 402, 323, 465, 403, 328, 317, 318, 380, 282, 325,
- 283, 429, 284, 285, 441, 286, 326, 326, 326, 326,
- 326, 429, 853, 335, 433, 326, 326, 326, 326, 326,
- 326, 336, 438, 385, 429, 433, 337, 338, 373, 518,
- 807, 374, 441, 522, 430, 435, 436, 523, 326, 326,
-
- 326, 326, 326, 326, 437, 438, 444, 444, 444, 444,
- 444, 736, 737, 807, 445, 444, 444, 444, 444, 444,
- 444, 458, 479, 494, 495, 496, 459, 480, 501, 497,
- 441, 563, 531, 536, 502, 505, 532, 537, 444, 444,
- 444, 444, 444, 444, 563, 506, 552, 519, 558, 553,
- 571, 604, 572, 559, 586, 594, 605, 626, 507, 563,
- 691, 692, 587, 854, 588, 589, 590, 627, 595, 661,
- 855, 687, 573, 856, 662, 481, 693, 571, 806, 572,
- 482, 45, 45, 45, 45, 45, 794, 691, 857, 692,
- 45, 45, 45, 45, 45, 45, 767, 858, 795, 813,
-
- 814, 768, 815, 834, 859, 860, 806, 835, 861, 863,
- 864, 862, 865, 45, 45, 45, 45, 45, 45, 866,
- 867, 868, 869, 870, 871, 872, 873, 874, 875, 876,
- 877, 878, 879, 880, 881, 882, 883, 884, 885, 886,
- 769, 887, 888, 889, 890, 891, 892, 893, 894, 895,
- 896, 897, 898, 899, 900, 901, 903, 904, 907, 908,
- 909, 911, 902, 912, 905, 913, 910, 914, 906, 915,
- 916, 917, 918, 919, 920, 921, 922, 923, 924, 925,
- 926, 927, 928, 929, 930, 931, 932, 933, 934, 935,
+ 45, 45, 45, 45, 126, 190, 45, 127, 128, 188,
+ 45, 129, 130, 148, 45, 111, 200, 149, 298, 102,
+ 848, 150, 45, 189, 131, 114, 45, 189, 45, 118,
+ 209, 156, 299, 151, 153, 191, 154, 152, 155, 157,
+ 161, 158, 200, 162, 163, 169, 159, 160, 114, 170,
+ 849, 189, 171, 209, 164, 192, 196, 165, 183, 172,
+ 173, 176, 177, 184, 174, 175, 84, 84, 84, 84,
+ 84, 112, 80, 205, 81, 81, 81, 81, 81, 82,
+
+ 202, 113, 850, 88, 196, 88, 206, 82, 89, 89,
+ 89, 89, 89, 232, 178, 233, 179, 750, 751, 180,
+ 181, 205, 82, 89, 89, 89, 89, 89, 246, 113,
+ 82, 203, 234, 206, 207, 80, 182, 83, 83, 83,
+ 83, 83, 84, 84, 84, 84, 84, 100, 208, 196,
+ 82, 854, 205, 855, 100, 82, 89, 89, 89, 89,
+ 89, 219, 207, 235, 226, 227, 213, 206, 255, 856,
+ 220, 221, 247, 82, 228, 208, 236, 214, 82, 241,
+ 263, 269, 242, 857, 100, 311, 243, 275, 100, 256,
+ 276, 277, 100, 313, 303, 279, 270, 271, 272, 280,
+
+ 100, 282, 312, 312, 100, 311, 100, 195, 212, 212,
+ 212, 212, 212, 311, 377, 390, 313, 212, 212, 212,
+ 212, 212, 212, 292, 858, 313, 859, 293, 312, 315,
+ 319, 294, 322, 314, 323, 326, 283, 284, 285, 328,
+ 212, 212, 212, 212, 212, 212, 330, 286, 316, 287,
+ 860, 288, 289, 319, 290, 340, 319, 326, 326, 418,
+ 322, 323, 328, 341, 441, 391, 327, 378, 342, 343,
+ 379, 429, 419, 330, 331, 331, 331, 331, 331, 333,
+ 386, 437, 437, 331, 331, 331, 331, 331, 331, 409,
+ 443, 444, 410, 441, 446, 449, 466, 472, 861, 445,
+
+ 441, 467, 514, 473, 437, 438, 331, 331, 331, 331,
+ 331, 331, 515, 487, 502, 503, 504, 446, 488, 449,
+ 505, 528, 637, 449, 452, 452, 452, 452, 452, 453,
+ 605, 862, 638, 452, 452, 452, 452, 452, 452, 509,
+ 532, 574, 541, 606, 533, 510, 542, 516, 546, 569,
+ 562, 705, 547, 563, 570, 574, 452, 452, 452, 452,
+ 452, 452, 582, 615, 583, 597, 489, 674, 616, 574,
+ 706, 490, 675, 598, 810, 599, 600, 601, 705, 529,
+ 701, 823, 863, 584, 864, 707, 811, 824, 865, 582,
+ 866, 583, 45, 45, 45, 45, 45, 867, 706, 868,
+
+ 869, 45, 45, 45, 45, 45, 45, 783, 870, 823,
+ 824, 851, 784, 830, 831, 852, 832, 871, 872, 853,
+ 873, 874, 875, 876, 45, 45, 45, 45, 45, 45,
+ 877, 878, 879, 881, 882, 880, 883, 884, 885, 886,
+ 887, 888, 889, 890, 891, 892, 893, 894, 895, 896,
+ 897, 785, 898, 899, 900, 901, 902, 903, 904, 905,
+ 906, 907, 908, 909, 910, 911, 912, 913, 914, 915,
+ 916, 917, 918, 919, 920, 921, 923, 924, 927, 928,
+ 929, 931, 922, 932, 925, 933, 930, 934, 926, 935,
936, 937, 938, 939, 940, 941, 942, 943, 944, 945,
- 946, 947, 948, 949, 950, 951, 924, 952, 953, 954,
- 955, 956, 957, 958, 959, 960, 961, 963, 964, 965,
- 966, 962, 967, 968, 969, 970, 971, 972, 973, 974,
- 975, 976, 977, 978, 979, 980, 981, 982, 983, 984,
- 986, 987, 988, 985, 989, 990, 991, 992, 993, 994,
+ 946, 947, 948, 949, 950, 951, 952, 953, 954, 955,
+ 956, 957, 958, 959, 960, 961, 962, 963, 964, 965,
+ 966, 967, 968, 969, 970, 971, 972, 945, 973, 974,
+ 975, 976, 977, 978, 979, 980, 981, 982, 983, 985,
+ 986, 987, 988, 984, 989, 990, 991, 992, 993, 994,
995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004,
- 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014,
- 1015, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025,
- 1026, 1027, 1016, 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, 1034, 1057, 1058, 1033, 1059, 1060, 1061, 1062,
- 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072,
- 1073, 1076, 1077, 1078, 1079, 1074, 1080, 1081, 1082, 1083,
- 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093,
- 1094, 1095, 1096, 1098, 1099, 1100, 1101, 1102, 1103, 1104,
- 1105, 1106, 1107, 1097, 1108, 1109, 1110, 1111, 1112, 1113,
+ 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, 1037, 1038, 1039, 1041, 1042, 1043, 1044, 1045,
+
+ 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, 1078, 1079, 1080, 1081, 1059, 1082, 1083,
+ 1058, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092,
+ 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1102, 1103, 1104,
+ 1105, 1100, 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, 1075, 1132,
- 1133, 1134, 1135, 1136, 1137, 1139, 1138, 1140, 1141, 1142,
-
- 1143, 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151, 1152,
- 1153, 1154, 1155, 1156, 1157, 1158, 1159, 1160, 1161, 1162,
- 1163, 1164, 1137, 1138, 1165, 1166, 1167, 1168, 1169, 1170,
- 1171, 1172, 1173, 1174, 1175, 1176, 1177, 1179, 1181, 1182,
- 1183, 1178, 1184, 1185, 1186, 1187, 1188, 1189, 1190, 1191,
- 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1200, 1201,
- 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1210, 1211,
- 1212, 1213, 1214, 1215, 1216, 1217, 1218, 1219, 1220, 1221,
- 1222, 1180, 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, 1255, 1256, 1257, 1258, 1259, 1237,
- 1260, 1261, 1262, 1263, 1264, 1238, 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, 1295, 1296, 1297, 1298,
- 1299, 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1308, 1309,
- 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319,
- 1320, 1321, 1322, 1323, 1324, 1325, 1326, 1328, 1329, 1330,
- 1331, 1332, 1333, 1334, 1335, 1336, 1337, 1338, 1339, 1340,
-
- 1341, 1342, 1343, 1344, 1345, 1346, 1347, 1348, 1349, 1350,
- 1351, 1323, 1352, 1353, 1354, 1355, 1356, 1357, 1358, 1359,
- 1307, 1360, 1361, 1362, 1363, 1364, 1366, 1367, 1368, 1369,
- 1327, 1370, 1371, 1365, 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, 1409, 1410, 1411, 1412, 1413, 1414, 1415, 1416, 1417,
- 1418, 1419, 1420, 1421, 1399, 1422, 1423, 1424, 1425, 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, 1471, 1473, 1474, 1475, 1476, 1477,
- 1478, 1479, 1480, 1481, 1482, 1472, 1483, 1484, 1485, 1488,
- 1460, 1486, 1487, 1490, 1491, 1492, 1493, 1494, 1495, 1496,
+ 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134,
+ 1124, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143,
+
+ 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151, 1152, 1153,
+ 1154, 1155, 1156, 1157, 1101, 1158, 1159, 1160, 1161, 1162,
+ 1163, 1164, 1165, 1166, 1168, 1167, 1169, 1170, 1171, 1172,
+ 1173, 1174, 1175, 1176, 1177, 1178, 1179, 1180, 1181, 1182,
+ 1183, 1184, 1185, 1186, 1187, 1188, 1189, 1190, 1191, 1192,
+ 1193, 1166, 1167, 1194, 1195, 1196, 1197, 1198, 1199, 1200,
+ 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1209, 1211, 1212,
+ 1213, 1208, 1214, 1215, 1216, 1217, 1218, 1219, 1220, 1221,
+ 1222, 1223, 1224, 1225, 1226, 1227, 1228, 1229, 1230, 1231,
+ 1232, 1233, 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241,
+
+ 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1251,
+ 1252, 1210, 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,
+ 1281, 1282, 1283, 1284, 1285, 1286, 1287, 1288, 1289, 1290,
+ 1291, 1292, 1270, 1293, 1294, 1295, 1296, 1297, 1271, 1298,
+ 1299, 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308,
+ 1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318,
+ 1319, 1320, 1321, 1322, 1323, 1324, 1325, 1326, 1327, 1328,
+ 1329, 1330, 1331, 1332, 1333, 1334, 1335, 1336, 1337, 1338,
+
+ 1339, 1340, 1341, 1342, 1344, 1345, 1346, 1347, 1348, 1349,
+ 1350, 1351, 1352, 1353, 1354, 1355, 1356, 1357, 1358, 1359,
+ 1360, 1361, 1362, 1363, 1365, 1366, 1367, 1368, 1369, 1370,
+ 1371, 1372, 1373, 1374, 1375, 1376, 1377, 1378, 1379, 1380,
+ 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1388, 1360, 1389,
+ 1390, 1391, 1392, 1393, 1394, 1395, 1343, 1396, 1397, 1398,
+ 1399, 1400, 1401, 1402, 1404, 1405, 1406, 1364, 1407, 1408,
+ 1409, 1403, 1410, 1411, 1412, 1413, 1414, 1415, 1416, 1417,
+ 1418, 1419, 1420, 1421, 1422, 1423, 1424, 1425, 1426, 1427,
+ 1428, 1429, 1430, 1431, 1432, 1433, 1434, 1435, 1436, 1437,
+
+ 1438, 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447,
+ 1448, 1449, 1450, 1451, 1452, 1453, 1454, 1455, 1456, 1457,
+ 1458, 1459, 1460, 1461, 1462, 1440, 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,
- 1517, 1518, 1519, 1520, 1521, 1522, 1523, 1524, 1525, 1526,
- 1527, 1528, 1529, 1530, 1531, 1532, 1533, 1535, 1536, 1537,
-
- 1538, 1534, 1539, 1540, 1541, 1542, 1543, 1489, 1544, 1545,
- 1546, 1520, 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,
- 1595, 1596, 1597, 1598, 1599, 1600, 1601, 1602, 1603, 1604,
+ 1518, 1519, 1520, 1521, 1522, 1523, 1524, 1525, 1526, 1527,
+ 1517, 1528, 1529, 1530, 1531, 1505, 1532, 1533, 1534, 1536,
+
+ 1537, 1538, 1539, 1540, 1541, 1542, 1543, 1544, 1545, 1546,
+ 1547, 1548, 1549, 1550, 1551, 1552, 1553, 1554, 1555, 1556,
+ 1557, 1558, 1559, 1560, 1561, 1562, 1563, 1564, 1565, 1566,
+ 1567, 1568, 1569, 1570, 1571, 1572, 1573, 1574, 1575, 1576,
+ 1577, 1578, 1579, 1580, 1581, 1582, 1583, 1585, 1586, 1587,
+ 1588, 1584, 1589, 1590, 1591, 1592, 1535, 1593, 1594, 1595,
+ 1569, 1596, 1597, 1598, 1599, 1600, 1601, 1602, 1603, 1604,
1605, 1606, 1607, 1608, 1609, 1610, 1611, 1612, 1613, 1614,
1615, 1616, 1617, 1618, 1619, 1620, 1621, 1622, 1623, 1624,
1625, 1626, 1627, 1628, 1629, 1630, 1631, 1632, 1633, 1634,
1755, 1756, 1757, 1758, 1759, 1760, 1761, 1762, 1763, 1764,
1765, 1766, 1767, 1768, 1769, 1770, 1771, 1772, 1773, 1774,
1775, 1776, 1777, 1778, 1779, 1780, 1781, 1782, 1783, 1784,
- 1785, 1786, 1787, 1788, 1790, 1789, 1791, 1792, 1793, 1794,
+ 1785, 1786, 1787, 1788, 1789, 1790, 1791, 1792, 1793, 1794,
1795, 1796, 1797, 1798, 1799, 1800, 1801, 1802, 1803, 1804,
- 1805, 1806, 1807, 1808, 12, 12, 12, 12, 12, 36,
- 36, 36, 36, 36, 79, 313, 79, 79, 79, 98,
- 432, 98, 562, 98, 100, 100, 100, 100, 100, 116,
-
- 116, 116, 116, 116, 184, 100, 184, 184, 184, 208,
- 208, 208, 845, 844, 843, 842, 841, 840, 839, 838,
- 837, 836, 833, 832, 831, 830, 829, 828, 827, 826,
- 825, 824, 823, 822, 821, 820, 819, 818, 817, 816,
- 812, 811, 810, 809, 808, 805, 804, 803, 802, 801,
- 800, 799, 798, 797, 796, 793, 792, 791, 790, 789,
- 788, 787, 786, 785, 784, 783, 782, 781, 780, 779,
- 778, 777, 776, 775, 774, 773, 772, 771, 770, 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, 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, 699, 698, 697, 696, 695, 694, 690, 689,
- 688, 687, 686, 685, 684, 683, 682, 681, 680, 679,
- 678, 677, 676, 675, 674, 673, 672, 671, 670, 669,
- 668, 667, 666, 665, 664, 663, 660, 659, 658, 657,
- 656, 655, 654, 653, 652, 651, 650, 649, 648, 647,
- 646, 645, 644, 643, 642, 641, 640, 639, 638, 637,
-
- 636, 635, 634, 633, 632, 631, 630, 629, 628, 625,
- 624, 623, 622, 621, 620, 619, 618, 617, 616, 615,
- 614, 613, 612, 611, 610, 609, 608, 607, 606, 603,
- 602, 601, 600, 599, 598, 597, 596, 593, 592, 591,
- 585, 584, 583, 582, 581, 580, 579, 578, 577, 576,
- 575, 574, 570, 569, 568, 567, 566, 565, 564, 561,
- 560, 557, 556, 555, 554, 551, 550, 549, 548, 547,
- 546, 545, 544, 543, 542, 541, 540, 539, 538, 535,
- 534, 533, 530, 529, 528, 527, 526, 525, 524, 521,
- 520, 517, 516, 515, 514, 513, 512, 511, 510, 509,
-
- 508, 504, 503, 500, 499, 498, 493, 492, 491, 490,
- 489, 488, 487, 486, 485, 484, 483, 478, 477, 476,
- 475, 474, 473, 472, 471, 470, 469, 468, 467, 466,
- 463, 462, 461, 460, 457, 454, 453, 452, 451, 450,
- 449, 448, 447, 446, 443, 442, 440, 439, 434, 431,
- 428, 427, 426, 425, 424, 423, 421, 420, 419, 418,
- 417, 416, 415, 414, 413, 410, 409, 408, 407, 406,
- 405, 404, 401, 400, 399, 398, 397, 396, 395, 394,
- 393, 392, 391, 390, 389, 388, 387, 386, 383, 382,
- 381, 379, 378, 377, 376, 375, 371, 370, 369, 368,
-
- 367, 366, 365, 364, 363, 362, 361, 360, 359, 358,
- 357, 356, 355, 354, 353, 352, 351, 350, 349, 348,
- 347, 346, 345, 344, 343, 342, 341, 340, 339, 334,
- 333, 332, 331, 330, 329, 327, 209, 324, 322, 320,
- 319, 316, 315, 312, 305, 304, 303, 302, 301, 300,
- 298, 297, 296, 293, 292, 291, 287, 277, 274, 270,
- 269, 265, 264, 263, 262, 261, 259, 258, 257, 256,
- 255, 252, 251, 250, 249, 248, 247, 246, 243, 242,
- 238, 237, 229, 228, 227, 223, 222, 221, 220, 216,
- 213, 209, 202, 197, 196, 195, 192, 191, 183, 165,
-
- 143, 106, 105, 104, 43, 99, 97, 96, 87, 43,
- 1809, 11, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809,
- 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809,
- 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809,
- 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809,
- 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809,
- 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809,
- 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809,
- 1809, 1809, 1809, 1809, 1809
+ 1805, 1806, 1807, 1808, 1809, 1810, 1811, 1812, 1813, 1814,
+ 1815, 1816, 1817, 1818, 1819, 1820, 1821, 1822, 1823, 1824,
+ 1825, 1826, 1827, 1828, 1829, 1830, 1831, 1832, 1833, 1834,
+
+ 1835, 1836, 1837, 1838, 1839, 1840, 1841, 1842, 1843, 1844,
+ 1845, 1846, 1847, 1848, 1849, 1850, 1851, 1853, 1852, 1854,
+ 1855, 1856, 1857, 1858, 1859, 1860, 1861, 1862, 1863, 1864,
+ 1865, 1866, 1867, 1868, 1869, 1870, 1871, 12, 12, 12,
+ 12, 12, 36, 36, 36, 36, 36, 79, 318, 79,
+ 79, 79, 98, 440, 98, 573, 98, 100, 100, 100,
+ 100, 100, 116, 116, 116, 116, 116, 186, 100, 186,
+ 186, 186, 210, 210, 210, 846, 845, 844, 843, 842,
+ 841, 840, 839, 838, 837, 836, 835, 834, 833, 829,
+ 828, 827, 826, 825, 822, 821, 820, 819, 818, 817,
+
+ 816, 815, 814, 813, 812, 809, 808, 807, 806, 805,
+ 804, 803, 802, 801, 800, 799, 798, 797, 796, 795,
+ 794, 793, 792, 791, 790, 789, 788, 787, 786, 782,
+ 781, 780, 779, 778, 777, 776, 775, 774, 771, 770,
+ 769, 768, 767, 766, 765, 764, 763, 762, 761, 760,
+ 759, 758, 757, 756, 755, 754, 753, 752, 749, 748,
+ 747, 746, 745, 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,
+ 717, 716, 715, 714, 713, 712, 711, 710, 709, 708,
+
+ 704, 703, 702, 701, 700, 699, 698, 697, 696, 695,
+ 694, 693, 692, 691, 690, 689, 688, 687, 686, 685,
+ 684, 683, 682, 681, 680, 679, 678, 677, 676, 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, 636, 635, 634, 633, 632, 631,
+ 630, 629, 628, 627, 626, 625, 624, 623, 622, 621,
+ 620, 619, 618, 617, 614, 613, 612, 611, 610, 609,
+ 608, 607, 604, 603, 602, 596, 595, 594, 593, 592,
+
+ 591, 590, 589, 588, 587, 586, 585, 581, 580, 579,
+ 578, 577, 576, 575, 572, 571, 568, 567, 566, 565,
+ 564, 561, 560, 559, 558, 557, 556, 555, 554, 553,
+ 552, 551, 550, 549, 548, 545, 544, 543, 540, 539,
+ 538, 537, 536, 535, 534, 531, 530, 527, 526, 525,
+ 524, 523, 522, 521, 520, 519, 518, 517, 513, 512,
+ 511, 508, 507, 506, 501, 500, 499, 498, 497, 496,
+ 495, 494, 493, 492, 491, 486, 485, 484, 483, 482,
+ 481, 480, 479, 478, 477, 476, 475, 474, 471, 470,
+ 469, 468, 465, 462, 461, 460, 459, 458, 457, 456,
+
+ 455, 454, 451, 450, 448, 447, 442, 439, 436, 435,
+ 434, 433, 432, 431, 430, 428, 427, 426, 425, 424,
+ 423, 422, 421, 420, 417, 416, 415, 414, 413, 412,
+ 411, 408, 407, 406, 405, 404, 403, 402, 401, 400,
+ 399, 398, 397, 396, 395, 394, 393, 392, 389, 388,
+ 387, 385, 384, 383, 382, 381, 380, 376, 375, 374,
+ 373, 372, 371, 370, 369, 368, 367, 366, 365, 364,
+ 363, 362, 361, 360, 359, 358, 357, 356, 355, 354,
+ 353, 352, 351, 350, 349, 348, 347, 346, 345, 344,
+ 339, 338, 337, 336, 335, 334, 332, 211, 329, 327,
+
+ 325, 324, 321, 320, 317, 310, 309, 308, 307, 306,
+ 305, 304, 302, 301, 300, 297, 296, 295, 291, 281,
+ 278, 274, 273, 268, 267, 266, 265, 264, 262, 261,
+ 260, 259, 258, 257, 254, 253, 252, 251, 250, 249,
+ 248, 245, 244, 240, 239, 231, 230, 229, 225, 224,
+ 223, 222, 218, 215, 211, 204, 199, 198, 197, 194,
+ 193, 185, 166, 143, 106, 105, 104, 43, 99, 97,
+ 96, 87, 43, 1872, 11, 1872, 1872, 1872, 1872, 1872,
+ 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872,
+ 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872,
+
+ 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872,
+ 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872,
+ 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872,
+ 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872,
+ 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872
} ;
-static const flex_int16_t yy_chk[2286] =
+static const flex_int16_t yy_chk[2349] =
{ 0,
0, 1, 1, 1, 0, 1, 1, 0, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 21, 641, 3, 3, 3, 21, 1, 1, 3, 44,
+ 21, 653, 3, 3, 3, 21, 1, 1, 3, 44,
0, 1, 4, 4, 4, 13, 1, 13, 4, 27,
28, 1, 108, 1, 5, 5, 5, 26, 32, 1,
1, 33, 6, 6, 6, 7, 7, 7, 1, 7,
- 641, 8, 8, 8, 1, 8, 44, 27, 28, 108,
+ 653, 8, 8, 8, 1, 8, 44, 27, 28, 108,
26, 1, 1, 2, 2, 2, 32, 2, 2, 33,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 9, 9, 9, 31, 5, 47, 2, 2,
10, 10, 10, 2, 6, 37, 51, 37, 2, 42,
52, 42, 9, 2, 54, 2, 56, 57, 31, 65,
- 10, 2, 2, 47, 65, 338, 25, 65, 25, 51,
+ 10, 2, 2, 47, 65, 343, 25, 65, 25, 51,
2, 25, 25, 25, 25, 25, 2, 54, 52, 56,
- 729, 57, 338, 2, 2, 15, 15, 15, 15, 15,
+ 727, 57, 343, 2, 2, 15, 15, 15, 15, 15,
15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
19, 22, 22, 22, 22, 22, 64, 20, 53, 62,
55, 60, 59, 64, 22, 63, 17, 74, 59, 62,
55, 74, 60, 19, 66, 60, 63, 60, 134, 60,
- 20, 90, 91, 55, 66, 112, 66, 22, 45, 730,
+ 20, 90, 91, 55, 66, 121, 66, 22, 45, 121,
45, 45, 45, 45, 134, 45, 45, 45, 55, 58,
68, 68, 45, 45, 68, 45, 58, 90, 91, 93,
- 68, 45, 112, 45, 45, 45, 45, 45, 45, 45,
+ 68, 45, 100, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 61, 93, 58, 61, 61, 69,
- 58, 61, 61, 69, 58, 70, 731, 69, 173, 92,
- 95, 109, 58, 732, 61, 94, 58, 71, 58, 58,
- 100, 77, 173, 69, 70, 71, 70, 71, 70, 76,
- 76, 72, 71, 71, 72, 72, 75, 92, 95, 76,
- 75, 94, 109, 75, 77, 72, 103, 111, 72, 76,
- 75, 75, 107, 113, 77, 75, 75, 100, 733, 77,
- 734, 121, 76, 114, 76, 121, 128, 128, 76, 80,
-
- 80, 80, 80, 80, 103, 111, 128, 76, 107, 133,
- 289, 113, 80, 81, 76, 81, 81, 81, 81, 81,
- 114, 186, 133, 289, 82, 115, 82, 140, 81, 82,
- 82, 82, 82, 82, 83, 80, 83, 83, 83, 83,
- 83, 84, 84, 84, 84, 84, 102, 186, 115, 83,
- 119, 81, 177, 102, 84, 88, 88, 88, 88, 88,
- 89, 89, 89, 89, 89, 123, 132, 119, 132, 148,
- 154, 140, 83, 137, 123, 123, 137, 84, 119, 177,
- 137, 187, 165, 102, 299, 132, 165, 102, 189, 299,
- 148, 102, 160, 160, 160, 185, 188, 163, 154, 102,
-
- 163, 163, 190, 102, 187, 102, 102, 118, 118, 118,
- 118, 118, 167, 194, 189, 203, 118, 118, 118, 118,
- 118, 118, 169, 185, 188, 190, 169, 198, 205, 199,
- 169, 212, 207, 264, 260, 254, 194, 735, 203, 118,
- 118, 118, 118, 118, 118, 314, 346, 167, 167, 167,
- 281, 205, 346, 281, 212, 198, 199, 260, 167, 207,
- 167, 306, 167, 167, 321, 167, 210, 210, 210, 210,
- 210, 309, 736, 219, 314, 210, 210, 210, 210, 210,
- 210, 219, 317, 264, 306, 328, 219, 219, 254, 392,
- 692, 254, 321, 395, 309, 316, 316, 395, 210, 210,
-
- 210, 210, 210, 210, 316, 317, 326, 326, 326, 326,
- 326, 619, 619, 692, 328, 326, 326, 326, 326, 326,
- 326, 341, 360, 372, 372, 372, 341, 360, 376, 372,
- 380, 433, 403, 407, 376, 379, 403, 407, 326, 326,
- 326, 326, 326, 326, 445, 379, 422, 392, 427, 422,
- 443, 474, 443, 427, 460, 464, 474, 496, 380, 433,
- 571, 572, 460, 737, 460, 460, 460, 496, 464, 533,
- 738, 573, 445, 739, 533, 360, 573, 443, 691, 443,
- 360, 444, 444, 444, 444, 444, 678, 571, 740, 572,
- 444, 444, 444, 444, 444, 444, 651, 741, 678, 698,
-
- 698, 651, 698, 717, 742, 743, 691, 717, 744, 745,
- 746, 744, 747, 444, 444, 444, 444, 444, 444, 749,
- 750, 751, 752, 753, 754, 755, 756, 758, 759, 760,
- 761, 762, 763, 764, 765, 766, 768, 769, 770, 771,
- 651, 772, 773, 774, 775, 776, 777, 778, 779, 780,
- 781, 782, 783, 784, 785, 786, 787, 788, 789, 790,
- 791, 792, 786, 793, 788, 795, 791, 796, 788, 797,
- 798, 799, 800, 801, 802, 803, 804, 806, 807, 808,
- 809, 810, 811, 813, 814, 815, 816, 817, 818, 819,
- 820, 821, 822, 823, 824, 825, 826, 827, 828, 829,
-
- 830, 831, 832, 833, 834, 835, 807, 836, 837, 838,
- 839, 841, 842, 843, 844, 845, 846, 847, 848, 849,
- 850, 846, 851, 852, 853, 854, 855, 858, 859, 860,
- 861, 862, 863, 864, 867, 868, 869, 870, 871, 872,
- 873, 874, 875, 872, 876, 877, 879, 881, 882, 883,
- 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, 904, 917, 918, 919, 920, 921, 923, 924,
- 925, 926, 928, 929, 930, 931, 932, 933, 934, 935,
-
- 936, 937, 938, 939, 940, 941, 942, 943, 944, 945,
- 946, 947, 924, 948, 950, 923, 951, 952, 953, 954,
- 955, 956, 957, 958, 959, 960, 962, 963, 964, 965,
- 966, 967, 969, 970, 971, 966, 972, 973, 974, 975,
- 976, 977, 978, 979, 980, 981, 982, 983, 984, 985,
- 986, 987, 988, 989, 992, 993, 994, 996, 997, 998,
- 999, 1001, 1002, 988, 1003, 1004, 1005, 1006, 1007, 1008,
- 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018,
- 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 966, 1028,
- 1029, 1030, 1031, 1032, 1033, 1035, 1034, 1036, 1037, 1038,
-
- 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048,
- 1049, 1050, 1051, 1052, 1053, 1054, 1056, 1057, 1058, 1059,
- 1060, 1061, 1033, 1034, 1062, 1063, 1064, 1065, 1066, 1067,
- 1068, 1069, 1070, 1071, 1072, 1074, 1075, 1076, 1077, 1078,
- 1079, 1075, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087,
- 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097,
- 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1106, 1107, 1108,
- 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1118, 1119,
- 1122, 1076, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130,
- 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140,
-
- 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 1150, 1151,
- 1152, 1153, 1154, 1155, 1157, 1158, 1159, 1160, 1161, 1137,
- 1162, 1163, 1164, 1165, 1166, 1138, 1167, 1168, 1169, 1170,
- 1171, 1172, 1173, 1176, 1178, 1180, 1181, 1182, 1183, 1184,
- 1185, 1186, 1187, 1188, 1189, 1190, 1191, 1192, 1194, 1195,
- 1196, 1198, 1199, 1200, 1201, 1204, 1206, 1208, 1209, 1210,
+ 45, 45, 45, 45, 61, 93, 58, 61, 61, 94,
+ 58, 61, 61, 69, 58, 70, 107, 69, 174, 100,
+ 728, 69, 58, 92, 61, 77, 58, 95, 58, 58,
+ 115, 71, 174, 69, 70, 94, 70, 69, 70, 71,
+ 72, 71, 107, 72, 72, 75, 71, 71, 77, 75,
+ 729, 92, 75, 115, 72, 95, 103, 72, 77, 75,
+ 75, 76, 76, 77, 75, 75, 80, 80, 80, 80,
+ 80, 76, 81, 111, 81, 81, 81, 81, 81, 80,
+
+ 109, 76, 730, 82, 103, 82, 112, 81, 82, 82,
+ 82, 82, 82, 132, 76, 132, 76, 630, 630, 76,
+ 76, 111, 80, 88, 88, 88, 88, 88, 140, 76,
+ 81, 109, 132, 112, 113, 83, 76, 83, 83, 83,
+ 83, 83, 84, 84, 84, 84, 84, 102, 114, 119,
+ 83, 732, 155, 733, 102, 84, 89, 89, 89, 89,
+ 89, 123, 113, 133, 128, 128, 119, 178, 148, 734,
+ 123, 123, 140, 83, 128, 114, 133, 119, 84, 137,
+ 155, 161, 137, 735, 102, 187, 137, 164, 102, 148,
+ 164, 164, 102, 189, 178, 166, 161, 161, 161, 166,
+
+ 102, 168, 188, 191, 102, 190, 102, 102, 118, 118,
+ 118, 118, 118, 187, 256, 267, 189, 118, 118, 118,
+ 118, 118, 118, 170, 736, 192, 737, 170, 188, 191,
+ 196, 170, 200, 190, 201, 205, 168, 168, 168, 207,
+ 118, 118, 118, 118, 118, 118, 209, 168, 192, 168,
+ 738, 168, 168, 196, 168, 221, 214, 263, 205, 293,
+ 200, 201, 207, 221, 319, 267, 303, 256, 221, 221,
+ 256, 303, 293, 209, 212, 212, 212, 212, 212, 214,
+ 263, 311, 314, 212, 212, 212, 212, 212, 212, 285,
+ 321, 321, 285, 319, 322, 326, 346, 351, 740, 321,
+
+ 333, 346, 385, 351, 311, 314, 212, 212, 212, 212,
+ 212, 212, 385, 365, 377, 377, 377, 322, 365, 386,
+ 377, 399, 504, 326, 331, 331, 331, 331, 331, 333,
+ 472, 741, 504, 331, 331, 331, 331, 331, 331, 381,
+ 402, 441, 410, 472, 402, 381, 410, 386, 414, 435,
+ 429, 582, 414, 429, 435, 453, 331, 331, 331, 331,
+ 331, 331, 451, 482, 451, 468, 365, 543, 482, 441,
+ 583, 365, 543, 468, 691, 468, 468, 468, 582, 399,
+ 584, 705, 742, 453, 743, 584, 691, 706, 744, 451,
+ 745, 451, 452, 452, 452, 452, 452, 746, 583, 747,
+
+ 748, 452, 452, 452, 452, 452, 452, 664, 749, 705,
+ 706, 731, 664, 712, 712, 731, 712, 750, 751, 731,
+ 752, 753, 754, 755, 452, 452, 452, 452, 452, 452,
+ 756, 757, 758, 759, 760, 758, 761, 763, 764, 765,
+ 766, 767, 768, 769, 770, 771, 773, 774, 775, 776,
+ 777, 664, 778, 779, 780, 781, 782, 784, 785, 786,
+ 787, 788, 789, 790, 791, 792, 793, 794, 795, 796,
+ 797, 798, 799, 800, 801, 802, 803, 804, 805, 806,
+ 807, 808, 802, 809, 804, 811, 807, 812, 804, 813,
+ 814, 815, 816, 817, 818, 819, 820, 821, 823, 824,
+
+ 825, 826, 827, 828, 830, 831, 832, 833, 834, 835,
+ 836, 837, 838, 839, 840, 841, 842, 843, 844, 845,
+ 846, 847, 848, 849, 850, 851, 852, 824, 853, 854,
+ 855, 856, 857, 859, 860, 861, 862, 863, 864, 865,
+ 866, 867, 868, 864, 869, 870, 871, 872, 873, 876,
+ 877, 878, 879, 880, 881, 882, 885, 886, 887, 888,
+ 889, 890, 891, 892, 893, 894, 891, 895, 896, 897,
+ 899, 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,
+
+ 930, 931, 932, 934, 935, 936, 924, 937, 938, 939,
+ 940, 941, 942, 944, 945, 946, 947, 949, 950, 951,
+ 952, 953, 954, 955, 956, 957, 958, 959, 960, 961,
+ 962, 963, 964, 965, 966, 967, 968, 945, 969, 971,
+ 944, 972, 973, 974, 975, 976, 977, 978, 979, 980,
+ 981, 982, 984, 985, 986, 987, 988, 989, 991, 992,
+ 993, 988, 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, 1049, 988, 1050, 1051, 1052, 1053, 1054,
+ 1055, 1056, 1057, 1058, 1060, 1059, 1061, 1062, 1063, 1064,
+ 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074,
+ 1075, 1076, 1077, 1078, 1079, 1081, 1082, 1083, 1084, 1085,
+ 1086, 1058, 1059, 1087, 1088, 1089, 1090, 1091, 1092, 1093,
+ 1094, 1095, 1096, 1097, 1098, 1100, 1101, 1102, 1103, 1104,
+ 1105, 1101, 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,
+ 1146, 1102, 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, 1179, 1180, 1181, 1182, 1183, 1184, 1186, 1187, 1188,
+ 1189, 1190, 1166, 1191, 1192, 1193, 1194, 1195, 1167, 1196,
+ 1197, 1198, 1199, 1200, 1201, 1202, 1203, 1206, 1208, 1210,
1211, 1212, 1213, 1214, 1215, 1216, 1217, 1218, 1219, 1220,
- 1221, 1222, 1224, 1225, 1226, 1227, 1228, 1231, 1232, 1233,
- 1234, 1235, 1236, 1237, 1238, 1240, 1241, 1242, 1243, 1244,
- 1245, 1247, 1248, 1249, 1250, 1251, 1252, 1253, 1254, 1255,
-
- 1256, 1257, 1258, 1259, 1260, 1262, 1263, 1264, 1265, 1266,
- 1267, 1237, 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275,
- 1218, 1276, 1277, 1279, 1280, 1281, 1282, 1283, 1284, 1285,
- 1241, 1286, 1287, 1281, 1288, 1291, 1292, 1293, 1294, 1295,
- 1296, 1297, 1298, 1299, 1300, 1301, 1303, 1304, 1305, 1306,
- 1307, 1308, 1310, 1312, 1315, 1316, 1317, 1319, 1320, 1321,
- 1322, 1323, 1325, 1327, 1328, 1329, 1330, 1331, 1332, 1333,
- 1334, 1335, 1336, 1337, 1338, 1339, 1340, 1341, 1342, 1345,
- 1346, 1347, 1348, 1349, 1323, 1350, 1351, 1352, 1353, 1354,
- 1355, 1357, 1360, 1362, 1363, 1364, 1365, 1366, 1367, 1368,
-
- 1369, 1370, 1372, 1373, 1374, 1375, 1376, 1377, 1380, 1381,
- 1383, 1384, 1385, 1386, 1387, 1389, 1390, 1391, 1392, 1393,
- 1394, 1395, 1397, 1399, 1400, 1401, 1402, 1403, 1404, 1405,
- 1406, 1407, 1408, 1409, 1410, 1411, 1412, 1413, 1414, 1416,
- 1417, 1419, 1420, 1421, 1422, 1410, 1423, 1424, 1425, 1427,
- 1399, 1426, 1426, 1428, 1429, 1430, 1431, 1432, 1433, 1434,
- 1435, 1436, 1437, 1438, 1439, 1440, 1441, 1442, 1443, 1444,
- 1445, 1446, 1447, 1448, 1449, 1450, 1451, 1453, 1454, 1455,
- 1456, 1458, 1459, 1460, 1461, 1464, 1465, 1466, 1470, 1471,
- 1472, 1473, 1474, 1475, 1476, 1477, 1479, 1480, 1481, 1482,
-
- 1483, 1479, 1484, 1485, 1486, 1487, 1489, 1427, 1490, 1492,
- 1494, 1460, 1495, 1496, 1498, 1499, 1500, 1501, 1503, 1504,
- 1505, 1506, 1507, 1508, 1509, 1510, 1511, 1512, 1513, 1514,
- 1515, 1516, 1517, 1518, 1520, 1521, 1522, 1523, 1525, 1526,
- 1527, 1528, 1529, 1530, 1531, 1532, 1534, 1535, 1536, 1537,
- 1538, 1540, 1541, 1542, 1544, 1545, 1546, 1547, 1548, 1549,
- 1550, 1551, 1552, 1553, 1554, 1555, 1556, 1557, 1558, 1559,
- 1560, 1562, 1563, 1564, 1566, 1567, 1568, 1570, 1572, 1573,
- 1574, 1575, 1576, 1577, 1578, 1579, 1580, 1581, 1582, 1583,
- 1585, 1586, 1587, 1588, 1589, 1590, 1591, 1593, 1594, 1595,
-
- 1596, 1598, 1599, 1600, 1601, 1602, 1603, 1604, 1605, 1606,
- 1608, 1609, 1610, 1611, 1612, 1613, 1614, 1615, 1616, 1617,
- 1618, 1620, 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1630,
- 1631, 1632, 1633, 1634, 1635, 1636, 1637, 1638, 1640, 1641,
- 1642, 1643, 1644, 1645, 1646, 1647, 1648, 1649, 1650, 1651,
- 1652, 1653, 1654, 1655, 1656, 1658, 1659, 1660, 1661, 1662,
- 1663, 1664, 1666, 1668, 1670, 1673, 1674, 1675, 1676, 1677,
- 1679, 1680, 1681, 1683, 1684, 1685, 1686, 1687, 1688, 1689,
- 1691, 1692, 1694, 1695, 1696, 1698, 1699, 1700, 1702, 1704,
- 1705, 1707, 1708, 1709, 1710, 1711, 1712, 1713, 1714, 1715,
-
- 1716, 1717, 1718, 1719, 1720, 1721, 1722, 1723, 1724, 1725,
- 1726, 1727, 1729, 1730, 1731, 1732, 1733, 1734, 1735, 1736,
- 1737, 1738, 1739, 1740, 1741, 1742, 1743, 1744, 1745, 1747,
- 1748, 1750, 1751, 1752, 1753, 1754, 1755, 1759, 1762, 1763,
- 1764, 1766, 1767, 1768, 1769, 1770, 1771, 1773, 1775, 1778,
- 1779, 1780, 1781, 1782, 1783, 1782, 1785, 1786, 1788, 1789,
- 1790, 1791, 1792, 1793, 1794, 1796, 1797, 1798, 1799, 1800,
- 1803, 1804, 1805, 1806, 1810, 1810, 1810, 1810, 1810, 1811,
- 1811, 1811, 1811, 1811, 1812, 1818, 1812, 1812, 1812, 1813,
- 1819, 1813, 1820, 1813, 1814, 1814, 1814, 1814, 1814, 1815,
-
- 1815, 1815, 1815, 1815, 1816, 1821, 1816, 1816, 1816, 1817,
- 1817, 1817, 728, 727, 726, 724, 723, 722, 721, 720,
- 719, 718, 716, 715, 714, 713, 712, 711, 710, 709,
- 708, 707, 706, 705, 704, 703, 702, 701, 700, 699,
- 697, 696, 695, 694, 693, 690, 689, 688, 685, 684,
- 683, 682, 681, 680, 679, 677, 676, 674, 673, 672,
- 671, 670, 669, 668, 667, 666, 665, 664, 663, 662,
- 660, 659, 658, 657, 656, 655, 654, 653, 652, 650,
- 649, 647, 646, 645, 644, 643, 642, 640, 639, 638,
- 636, 635, 633, 632, 631, 630, 629, 628, 627, 626,
-
- 625, 624, 623, 622, 621, 620, 618, 617, 616, 615,
- 614, 612, 611, 610, 609, 608, 607, 606, 605, 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, 576, 575, 569, 567,
- 564, 563, 561, 560, 559, 557, 553, 552, 551, 550,
- 549, 548, 547, 546, 545, 544, 543, 542, 541, 540,
- 539, 538, 537, 536, 535, 534, 532, 531, 530, 529,
- 528, 527, 526, 525, 524, 523, 522, 521, 519, 517,
- 516, 515, 514, 513, 512, 511, 510, 509, 508, 507,
-
- 506, 505, 503, 502, 501, 500, 499, 498, 497, 495,
- 494, 493, 492, 491, 490, 489, 488, 487, 486, 485,
- 484, 483, 482, 481, 480, 478, 477, 476, 475, 473,
- 472, 471, 470, 469, 468, 466, 465, 463, 462, 461,
- 459, 457, 456, 455, 454, 453, 452, 451, 449, 448,
- 447, 446, 441, 440, 438, 437, 436, 435, 434, 431,
- 428, 426, 425, 424, 423, 421, 420, 419, 418, 417,
- 416, 415, 414, 413, 412, 411, 410, 409, 408, 406,
- 405, 404, 402, 401, 400, 399, 398, 397, 396, 394,
- 393, 391, 390, 389, 388, 387, 386, 385, 384, 383,
-
- 382, 378, 377, 375, 374, 373, 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, 325, 323, 320, 318, 315, 312,
- 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, 263, 262,
- 261, 259, 258, 257, 256, 255, 253, 252, 251, 250,
-
- 249, 248, 247, 246, 245, 243, 242, 241, 240, 239,
- 238, 237, 236, 235, 234, 233, 232, 231, 230, 229,
- 228, 227, 226, 225, 224, 223, 222, 221, 220, 218,
- 217, 216, 215, 214, 213, 211, 208, 206, 204, 202,
- 201, 196, 195, 191, 183, 182, 181, 180, 179, 178,
- 176, 175, 174, 172, 171, 170, 168, 166, 164, 162,
- 161, 159, 158, 157, 156, 155, 153, 152, 151, 150,
- 149, 147, 146, 145, 144, 143, 142, 141, 139, 138,
- 136, 135, 131, 130, 129, 127, 126, 125, 124, 122,
- 120, 116, 110, 106, 105, 104, 98, 97, 78, 73,
-
- 67, 50, 49, 48, 43, 41, 39, 38, 24, 14,
- 11, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809,
- 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809,
- 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809,
- 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809,
- 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809,
- 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809,
- 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809,
- 1809, 1809, 1809, 1809, 1809
+ 1221, 1222, 1223, 1225, 1226, 1227, 1229, 1230, 1231, 1232,
+ 1233, 1236, 1238, 1240, 1241, 1242, 1243, 1244, 1245, 1246,
+
+ 1247, 1248, 1249, 1250, 1251, 1252, 1253, 1254, 1256, 1257,
+ 1258, 1259, 1260, 1263, 1264, 1265, 1266, 1267, 1268, 1269,
+ 1270, 1271, 1273, 1274, 1275, 1276, 1277, 1278, 1280, 1281,
+ 1282, 1283, 1284, 1285, 1286, 1287, 1288, 1289, 1290, 1291,
+ 1292, 1293, 1294, 1296, 1297, 1298, 1299, 1300, 1270, 1301,
+ 1302, 1303, 1304, 1305, 1306, 1307, 1250, 1308, 1309, 1310,
+ 1311, 1313, 1314, 1315, 1316, 1317, 1318, 1274, 1319, 1320,
+ 1321, 1315, 1322, 1323, 1326, 1327, 1328, 1329, 1330, 1331,
+ 1332, 1333, 1334, 1335, 1336, 1337, 1339, 1340, 1341, 1342,
+ 1343, 1344, 1346, 1348, 1351, 1352, 1353, 1355, 1356, 1357,
+
+ 1358, 1359, 1360, 1362, 1364, 1365, 1366, 1367, 1368, 1369,
+ 1370, 1371, 1372, 1373, 1374, 1375, 1376, 1377, 1378, 1379,
+ 1381, 1383, 1384, 1385, 1386, 1360, 1387, 1388, 1389, 1390,
+ 1391, 1392, 1393, 1395, 1398, 1400, 1401, 1402, 1403, 1404,
+ 1405, 1406, 1407, 1408, 1409, 1411, 1412, 1413, 1414, 1415,
+ 1416, 1417, 1420, 1421, 1423, 1424, 1425, 1426, 1427, 1429,
+ 1430, 1431, 1432, 1433, 1434, 1435, 1436, 1438, 1440, 1441,
+ 1442, 1443, 1444, 1445, 1446, 1447, 1448, 1449, 1450, 1451,
+ 1452, 1453, 1454, 1455, 1457, 1458, 1459, 1461, 1462, 1463,
+ 1451, 1464, 1465, 1466, 1467, 1440, 1468, 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, 1497, 1498, 1499, 1500, 1502,
+ 1503, 1504, 1505, 1506, 1509, 1510, 1511, 1515, 1516, 1517,
+ 1518, 1519, 1520, 1521, 1522, 1523, 1525, 1526, 1527, 1528,
+ 1529, 1525, 1530, 1531, 1532, 1533, 1469, 1535, 1536, 1538,
+ 1505, 1540, 1541, 1542, 1544, 1545, 1546, 1547, 1548, 1550,
+ 1551, 1552, 1553, 1554, 1555, 1556, 1557, 1558, 1559, 1560,
+ 1561, 1562, 1563, 1564, 1565, 1566, 1567, 1569, 1570, 1571,
+ 1572, 1574, 1575, 1576, 1577, 1578, 1579, 1580, 1581, 1582,
+
+ 1584, 1585, 1586, 1587, 1588, 1590, 1591, 1592, 1594, 1595,
+ 1596, 1597, 1598, 1599, 1600, 1601, 1603, 1604, 1605, 1606,
+ 1607, 1608, 1609, 1610, 1611, 1612, 1614, 1615, 1616, 1618,
+ 1619, 1620, 1621, 1623, 1625, 1626, 1627, 1628, 1629, 1630,
+ 1631, 1632, 1633, 1634, 1635, 1636, 1637, 1639, 1640, 1641,
+ 1642, 1643, 1644, 1645, 1647, 1648, 1649, 1650, 1652, 1653,
+ 1654, 1655, 1656, 1657, 1658, 1659, 1660, 1661, 1663, 1664,
+ 1665, 1667, 1668, 1669, 1670, 1671, 1672, 1673, 1674, 1676,
+ 1677, 1678, 1679, 1680, 1681, 1682, 1683, 1684, 1687, 1688,
+ 1689, 1690, 1691, 1692, 1693, 1694, 1696, 1698, 1699, 1700,
+
+ 1701, 1702, 1703, 1704, 1705, 1706, 1707, 1708, 1709, 1710,
+ 1711, 1712, 1713, 1714, 1716, 1717, 1718, 1719, 1720, 1721,
+ 1722, 1723, 1725, 1727, 1729, 1732, 1733, 1734, 1735, 1736,
+ 1738, 1739, 1740, 1742, 1743, 1744, 1745, 1746, 1747, 1748,
+ 1749, 1751, 1752, 1754, 1755, 1756, 1758, 1759, 1760, 1762,
+ 1764, 1765, 1767, 1768, 1769, 1770, 1771, 1772, 1773, 1774,
+ 1775, 1776, 1777, 1778, 1779, 1780, 1781, 1782, 1783, 1784,
+ 1785, 1786, 1787, 1788, 1790, 1791, 1792, 1793, 1794, 1795,
+ 1796, 1797, 1798, 1799, 1800, 1801, 1802, 1803, 1804, 1805,
+ 1806, 1807, 1809, 1810, 1812, 1813, 1815, 1816, 1817, 1818,
+
+ 1822, 1825, 1826, 1827, 1829, 1830, 1831, 1832, 1833, 1834,
+ 1836, 1838, 1841, 1842, 1843, 1844, 1845, 1846, 1845, 1848,
+ 1849, 1851, 1852, 1853, 1854, 1855, 1856, 1857, 1859, 1860,
+ 1861, 1862, 1863, 1866, 1867, 1868, 1869, 1873, 1873, 1873,
+ 1873, 1873, 1874, 1874, 1874, 1874, 1874, 1875, 1881, 1875,
+ 1875, 1875, 1876, 1882, 1876, 1883, 1876, 1877, 1877, 1877,
+ 1877, 1877, 1878, 1878, 1878, 1878, 1878, 1879, 1884, 1879,
+ 1879, 1879, 1880, 1880, 1880, 726, 725, 724, 723, 722,
+ 721, 720, 719, 718, 717, 716, 715, 714, 713, 711,
+ 710, 709, 708, 707, 704, 703, 702, 699, 698, 697,
+
+ 696, 695, 694, 693, 692, 690, 689, 687, 686, 685,
+ 684, 683, 682, 681, 680, 679, 678, 677, 676, 675,
+ 673, 672, 671, 670, 669, 668, 667, 666, 665, 663,
+ 662, 660, 659, 658, 657, 656, 655, 654, 652, 651,
+ 650, 648, 647, 645, 644, 643, 642, 641, 640, 639,
+ 638, 637, 636, 635, 634, 633, 632, 631, 629, 628,
+ 627, 626, 625, 623, 622, 621, 620, 619, 618, 617,
+ 616, 614, 613, 612, 611, 610, 609, 608, 607, 606,
+ 605, 604, 603, 602, 601, 600, 599, 598, 597, 596,
+ 595, 594, 593, 592, 591, 590, 589, 588, 587, 586,
+
+ 580, 578, 575, 574, 572, 571, 570, 568, 565, 563,
+ 562, 561, 560, 559, 558, 557, 556, 555, 554, 553,
+ 552, 551, 550, 549, 548, 547, 546, 545, 544, 542,
+ 541, 540, 539, 538, 537, 536, 535, 534, 533, 532,
+ 531, 529, 527, 526, 525, 524, 523, 522, 521, 520,
+ 519, 518, 517, 516, 515, 514, 512, 511, 510, 509,
+ 508, 507, 506, 505, 503, 502, 501, 500, 499, 498,
+ 497, 496, 495, 494, 493, 492, 491, 490, 489, 488,
+ 486, 485, 484, 483, 481, 480, 479, 478, 477, 476,
+ 474, 473, 471, 470, 469, 467, 465, 464, 463, 462,
+
+ 461, 460, 459, 457, 456, 455, 454, 449, 448, 446,
+ 445, 444, 443, 442, 439, 436, 434, 433, 432, 431,
+ 430, 428, 427, 426, 425, 424, 423, 422, 421, 420,
+ 419, 418, 417, 416, 415, 413, 412, 411, 409, 408,
+ 407, 406, 405, 404, 403, 401, 400, 398, 397, 396,
+ 395, 394, 393, 392, 391, 390, 389, 388, 384, 383,
+ 382, 380, 379, 378, 376, 375, 374, 373, 372, 371,
+ 370, 369, 368, 367, 366, 364, 363, 362, 361, 360,
+ 359, 358, 357, 356, 355, 354, 353, 352, 350, 349,
+ 348, 347, 345, 342, 341, 340, 339, 338, 337, 336,
+
+ 335, 334, 330, 328, 325, 323, 320, 317, 310, 309,
+ 308, 307, 306, 305, 304, 302, 301, 300, 299, 298,
+ 297, 296, 295, 294, 292, 291, 290, 289, 288, 287,
+ 286, 284, 283, 282, 281, 280, 279, 278, 277, 276,
+ 275, 274, 273, 272, 271, 270, 269, 268, 266, 265,
+ 264, 262, 261, 260, 259, 258, 257, 255, 254, 253,
+ 252, 251, 250, 249, 248, 247, 245, 244, 243, 242,
+ 241, 240, 239, 238, 237, 236, 235, 234, 233, 232,
+ 231, 230, 229, 228, 227, 226, 225, 224, 223, 222,
+ 220, 219, 218, 217, 216, 215, 213, 210, 208, 206,
+
+ 204, 203, 198, 197, 193, 185, 184, 183, 182, 181,
+ 180, 179, 177, 176, 175, 173, 172, 171, 169, 167,
+ 165, 163, 162, 160, 159, 158, 157, 156, 154, 153,
+ 152, 151, 150, 149, 147, 146, 145, 144, 143, 142,
+ 141, 139, 138, 136, 135, 131, 130, 129, 127, 126,
+ 125, 124, 122, 120, 116, 110, 106, 105, 104, 98,
+ 97, 78, 73, 67, 50, 49, 48, 43, 41, 39,
+ 38, 24, 14, 11, 1872, 1872, 1872, 1872, 1872, 1872,
+ 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872,
+ 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872,
+
+ 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872,
+ 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872,
+ 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872,
+ 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872,
+ 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872
} ;
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[204] =
+static const flex_int16_t yy_rule_linenum[208] =
{ 0,
149, 151, 153, 158, 159, 164, 165, 166, 178, 181,
186, 193, 202, 211, 220, 229, 238, 247, 256, 265,
882, 891, 900, 909, 918, 929, 940, 951, 962, 973,
984, 994, 1005, 1014, 1023, 1038, 1054, 1063, 1072, 1081,
- 1090, 1099, 1108, 1117, 1126, 1135, 1144, 1167, 1190, 1199,
- 1209, 1219, 1228, 1238, 1249, 1258, 1267, 1276, 1285, 1294,
- 1304, 1313, 1322, 1331, 1342, 1353, 1364, 1373, 1383, 1392,
- 1401, 1410, 1419, 1428, 1437, 1446, 1455, 1465, 1477, 1490,
- 1499, 1508, 1518, 1528, 1537, 1548, 1558, 1567, 1577, 1587,
- 1596, 1605, 1614, 1623, 1633, 1642, 1652, 1661, 1670, 1679,
- 1688, 1697, 1706, 1715, 1724, 1733, 1742, 1751, 1760, 1769,
- 1778, 1787, 1796, 1805, 1814, 1823, 1832, 1841, 1850, 1859,
- 1868, 1877, 1886, 1895, 1904, 1914, 2013, 2018, 2023, 2028,
- 2029, 2030, 2031, 2032, 2033, 2035, 2053, 2066, 2071, 2075,
-
- 2077, 2079, 2081
+ 1090, 1099, 1108, 1117, 1126, 1135, 1144, 1168, 1192, 1201,
+ 1211, 1221, 1230, 1240, 1251, 1260, 1269, 1278, 1287, 1296,
+ 1306, 1315, 1324, 1333, 1344, 1355, 1366, 1375, 1385, 1394,
+ 1403, 1412, 1421, 1430, 1439, 1448, 1457, 1467, 1479, 1492,
+ 1501, 1510, 1520, 1530, 1539, 1550, 1560, 1569, 1579, 1589,
+ 1598, 1607, 1616, 1625, 1635, 1644, 1653, 1662, 1671, 1680,
+ 1689, 1698, 1707, 1716, 1725, 1734, 1743, 1752, 1761, 1770,
+ 1779, 1788, 1797, 1806, 1815, 1824, 1833, 1842, 1851, 1860,
+ 1869, 1878, 1887, 1896, 1905, 1914, 1923, 1932, 1941, 1950,
+ 2049, 2054, 2059, 2064, 2065, 2066, 2067, 2068, 2069, 2071,
+
+ 2089, 2102, 2107, 2111, 2113, 2115, 2117
} ;
/* 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 1953 "dhcp6_lexer.cc"
+#line 1987 "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 1979 "dhcp6_lexer.cc"
-#line 1980 "dhcp6_lexer.cc"
+#line 2013 "dhcp6_lexer.cc"
+#line 2014 "dhcp6_lexer.cc"
#define INITIAL 0
#define COMMENT 1
}
-#line 2312 "dhcp6_lexer.cc"
+#line 2346 "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 >= 1810 )
+ if ( yy_current_state >= 1873 )
yy_c = yy_meta[yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
++yy_cp;
}
- while ( yy_current_state != 1809 );
+ while ( yy_current_state != 1872 );
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 < 204 )
+ else if ( yy_act < 208 )
fprintf( stderr, "--accepting rule at line %ld (\"%s\")\n",
(long)yy_rule_linenum[yy_act], yytext );
- else if ( yy_act == 204 )
+ else if ( yy_act == 208 )
fprintf( stderr, "--accepting default rule (\"%s\")\n",
yytext );
- else if ( yy_act == 205 )
+ else if ( yy_act == 209 )
fprintf( stderr, "--(end of buffer or a NUL)\n" );
else
fprintf( stderr, "--EOF (start condition %d)\n", YY_START );
case isc::dhcp::Parser6Context::DHCP6:
case isc::dhcp::Parser6Context::INTERFACES_CONFIG:
case isc::dhcp::Parser6Context::SUBNET6:
+ case isc::dhcp::Parser6Context::POOLS:
+ case isc::dhcp::Parser6Context::PD_POOLS:
case isc::dhcp::Parser6Context::SHARED_NETWORK:
case isc::dhcp::Parser6Context::OPTION_DEF:
case isc::dhcp::Parser6Context::OPTION_DATA:
+ case isc::dhcp::Parser6Context::RESERVATIONS:
case isc::dhcp::Parser6Context::CLIENT_CLASSES:
case isc::dhcp::Parser6Context::SERVER_ID:
case isc::dhcp::Parser6Context::CONTROL_SOCKET:
- case isc::dhcp::Parser6Context::POOLS:
- case isc::dhcp::Parser6Context::PD_POOLS:
- case isc::dhcp::Parser6Context::RESERVATIONS:
case isc::dhcp::Parser6Context::DHCP_QUEUE_CONTROL:
+ case isc::dhcp::Parser6Context::DHCP_MULTI_THREADING:
case isc::dhcp::Parser6Context::LOGGERS:
case isc::dhcp::Parser6Context::DHCP_DDNS:
return isc::dhcp::Dhcp6Parser::make_USER_CONTEXT(driver.loc_);
YY_BREAK
case 108:
YY_RULE_SETUP
-#line 1167 "dhcp6_lexer.ll"
+#line 1168 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
case isc::dhcp::Parser6Context::INTERFACES_CONFIG:
case isc::dhcp::Parser6Context::SUBNET6:
+ case isc::dhcp::Parser6Context::POOLS:
+ case isc::dhcp::Parser6Context::PD_POOLS:
case isc::dhcp::Parser6Context::SHARED_NETWORK:
case isc::dhcp::Parser6Context::OPTION_DEF:
case isc::dhcp::Parser6Context::OPTION_DATA:
+ case isc::dhcp::Parser6Context::RESERVATIONS:
case isc::dhcp::Parser6Context::CLIENT_CLASSES:
case isc::dhcp::Parser6Context::SERVER_ID:
case isc::dhcp::Parser6Context::CONTROL_SOCKET:
- case isc::dhcp::Parser6Context::POOLS:
- case isc::dhcp::Parser6Context::PD_POOLS:
case isc::dhcp::Parser6Context::DHCP_QUEUE_CONTROL:
- case isc::dhcp::Parser6Context::RESERVATIONS:
+ case isc::dhcp::Parser6Context::DHCP_MULTI_THREADING:
case isc::dhcp::Parser6Context::LOGGERS:
case isc::dhcp::Parser6Context::DHCP_DDNS:
return isc::dhcp::Dhcp6Parser::make_COMMENT(driver.loc_);
YY_BREAK
case 109:
YY_RULE_SETUP
-#line 1190 "dhcp6_lexer.ll"
+#line 1192 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SUBNET6:
YY_BREAK
case 110:
YY_RULE_SETUP
-#line 1199 "dhcp6_lexer.ll"
+#line 1201 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SUBNET6:
YY_BREAK
case 111:
YY_RULE_SETUP
-#line 1209 "dhcp6_lexer.ll"
+#line 1211 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SUBNET6:
YY_BREAK
case 112:
YY_RULE_SETUP
-#line 1219 "dhcp6_lexer.ll"
+#line 1221 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SUBNET6:
YY_BREAK
case 113:
YY_RULE_SETUP
-#line 1228 "dhcp6_lexer.ll"
+#line 1230 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SUBNET6:
YY_BREAK
case 114:
YY_RULE_SETUP
-#line 1238 "dhcp6_lexer.ll"
+#line 1240 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 115:
YY_RULE_SETUP
-#line 1249 "dhcp6_lexer.ll"
+#line 1251 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::RESERVATION_MODE:
YY_BREAK
case 116:
YY_RULE_SETUP
-#line 1258 "dhcp6_lexer.ll"
+#line 1260 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::RESERVATION_MODE:
YY_BREAK
case 117:
YY_RULE_SETUP
-#line 1267 "dhcp6_lexer.ll"
+#line 1269 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::RESERVATION_MODE:
YY_BREAK
case 118:
YY_RULE_SETUP
-#line 1276 "dhcp6_lexer.ll"
+#line 1278 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::RESERVATION_MODE:
YY_BREAK
case 119:
YY_RULE_SETUP
-#line 1285 "dhcp6_lexer.ll"
+#line 1287 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::RESERVATION_MODE:
YY_BREAK
case 120:
YY_RULE_SETUP
-#line 1294 "dhcp6_lexer.ll"
+#line 1296 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::OPTION_DEF:
YY_BREAK
case 121:
YY_RULE_SETUP
-#line 1304 "dhcp6_lexer.ll"
+#line 1306 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 122:
YY_RULE_SETUP
-#line 1313 "dhcp6_lexer.ll"
+#line 1315 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 123:
YY_RULE_SETUP
-#line 1322 "dhcp6_lexer.ll"
+#line 1324 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 124:
YY_RULE_SETUP
-#line 1331 "dhcp6_lexer.ll"
+#line 1333 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 125:
YY_RULE_SETUP
-#line 1342 "dhcp6_lexer.ll"
+#line 1344 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 126:
YY_RULE_SETUP
-#line 1353 "dhcp6_lexer.ll"
+#line 1355 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 127:
YY_RULE_SETUP
-#line 1364 "dhcp6_lexer.ll"
+#line 1366 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::CONFIG:
YY_BREAK
case 128:
YY_RULE_SETUP
-#line 1373 "dhcp6_lexer.ll"
+#line 1375 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 129:
YY_RULE_SETUP
-#line 1383 "dhcp6_lexer.ll"
+#line 1385 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::LOGGERS:
YY_BREAK
case 130:
YY_RULE_SETUP
-#line 1392 "dhcp6_lexer.ll"
+#line 1394 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::OUTPUT_OPTIONS:
YY_BREAK
case 131:
YY_RULE_SETUP
-#line 1401 "dhcp6_lexer.ll"
+#line 1403 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::OUTPUT_OPTIONS:
YY_BREAK
case 132:
YY_RULE_SETUP
-#line 1410 "dhcp6_lexer.ll"
+#line 1412 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::OUTPUT_OPTIONS:
YY_BREAK
case 133:
YY_RULE_SETUP
-#line 1419 "dhcp6_lexer.ll"
+#line 1421 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::OUTPUT_OPTIONS:
YY_BREAK
case 134:
YY_RULE_SETUP
-#line 1428 "dhcp6_lexer.ll"
+#line 1430 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::OUTPUT_OPTIONS:
YY_BREAK
case 135:
YY_RULE_SETUP
-#line 1437 "dhcp6_lexer.ll"
+#line 1439 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::LOGGERS:
YY_BREAK
case 136:
YY_RULE_SETUP
-#line 1446 "dhcp6_lexer.ll"
+#line 1448 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::LOGGERS:
YY_BREAK
case 137:
YY_RULE_SETUP
-#line 1455 "dhcp6_lexer.ll"
+#line 1457 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 138:
YY_RULE_SETUP
-#line 1465 "dhcp6_lexer.ll"
+#line 1467 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SUBNET6:
YY_BREAK
case 139:
YY_RULE_SETUP
-#line 1477 "dhcp6_lexer.ll"
+#line 1479 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SUBNET6:
YY_BREAK
case 140:
YY_RULE_SETUP
-#line 1490 "dhcp6_lexer.ll"
+#line 1492 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::CLIENT_CLASSES:
YY_BREAK
case 141:
YY_RULE_SETUP
-#line 1499 "dhcp6_lexer.ll"
+#line 1501 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::CLIENT_CLASSES:
YY_BREAK
case 142:
YY_RULE_SETUP
-#line 1508 "dhcp6_lexer.ll"
+#line 1510 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 143:
YY_RULE_SETUP
-#line 1518 "dhcp6_lexer.ll"
+#line 1520 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::RESERVATIONS:
YY_BREAK
case 144:
YY_RULE_SETUP
-#line 1528 "dhcp6_lexer.ll"
+#line 1530 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::RESERVATIONS:
YY_BREAK
case 145:
YY_RULE_SETUP
-#line 1537 "dhcp6_lexer.ll"
+#line 1539 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::MAC_SOURCES:
YY_BREAK
case 146:
YY_RULE_SETUP
-#line 1548 "dhcp6_lexer.ll"
+#line 1550 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::HOST_RESERVATION_IDENTIFIERS:
YY_BREAK
case 147:
YY_RULE_SETUP
-#line 1558 "dhcp6_lexer.ll"
+#line 1560 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::RESERVATIONS:
YY_BREAK
case 148:
YY_RULE_SETUP
-#line 1567 "dhcp6_lexer.ll"
+#line 1569 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::HOST_RESERVATION_IDENTIFIERS:
YY_BREAK
case 149:
YY_RULE_SETUP
-#line 1577 "dhcp6_lexer.ll"
+#line 1579 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::OPTION_DEF:
YY_BREAK
case 150:
YY_RULE_SETUP
-#line 1587 "dhcp6_lexer.ll"
+#line 1589 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::OPTION_DATA:
YY_BREAK
case 151:
YY_RULE_SETUP
-#line 1596 "dhcp6_lexer.ll"
+#line 1598 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::OPTION_DEF:
YY_BREAK
case 152:
YY_RULE_SETUP
-#line 1605 "dhcp6_lexer.ll"
+#line 1607 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::OPTION_DEF:
YY_BREAK
case 153:
YY_RULE_SETUP
-#line 1614 "dhcp6_lexer.ll"
+#line 1616 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::OPTION_DEF:
YY_BREAK
case 154:
YY_RULE_SETUP
-#line 1623 "dhcp6_lexer.ll"
+#line 1625 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SUBNET6:
YY_BREAK
case 155:
YY_RULE_SETUP
-#line 1633 "dhcp6_lexer.ll"
+#line 1635 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::RELAY:
YY_BREAK
case 156:
YY_RULE_SETUP
-#line 1642 "dhcp6_lexer.ll"
+#line 1644 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 157:
YY_RULE_SETUP
-#line 1652 "dhcp6_lexer.ll"
+#line 1653 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::HOOKS_LIBRARIES:
YY_BREAK
case 158:
YY_RULE_SETUP
-#line 1661 "dhcp6_lexer.ll"
+#line 1662 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::HOOKS_LIBRARIES:
YY_BREAK
case 159:
YY_RULE_SETUP
-#line 1670 "dhcp6_lexer.ll"
+#line 1671 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 160:
YY_RULE_SETUP
-#line 1679 "dhcp6_lexer.ll"
+#line 1680 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DUID_TYPE:
YY_BREAK
case 161:
YY_RULE_SETUP
-#line 1688 "dhcp6_lexer.ll"
+#line 1689 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DUID_TYPE:
YY_BREAK
case 162:
YY_RULE_SETUP
-#line 1697 "dhcp6_lexer.ll"
+#line 1698 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DUID_TYPE:
YY_BREAK
case 163:
YY_RULE_SETUP
-#line 1706 "dhcp6_lexer.ll"
+#line 1707 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SERVER_ID:
YY_BREAK
case 164:
YY_RULE_SETUP
-#line 1715 "dhcp6_lexer.ll"
+#line 1716 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SERVER_ID:
YY_BREAK
case 165:
YY_RULE_SETUP
-#line 1724 "dhcp6_lexer.ll"
+#line 1725 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SERVER_ID:
YY_BREAK
case 166:
YY_RULE_SETUP
-#line 1733 "dhcp6_lexer.ll"
+#line 1734 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SERVER_ID:
YY_BREAK
case 167:
YY_RULE_SETUP
-#line 1742 "dhcp6_lexer.ll"
+#line 1743 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 168:
YY_RULE_SETUP
-#line 1751 "dhcp6_lexer.ll"
+#line 1752 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING:
YY_BREAK
case 169:
YY_RULE_SETUP
-#line 1760 "dhcp6_lexer.ll"
+#line 1761 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING:
YY_BREAK
case 170:
YY_RULE_SETUP
-#line 1769 "dhcp6_lexer.ll"
+#line 1770 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING:
YY_BREAK
case 171:
YY_RULE_SETUP
-#line 1778 "dhcp6_lexer.ll"
+#line 1779 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING:
YY_BREAK
case 172:
YY_RULE_SETUP
-#line 1787 "dhcp6_lexer.ll"
+#line 1788 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING:
YY_BREAK
case 173:
YY_RULE_SETUP
-#line 1796 "dhcp6_lexer.ll"
+#line 1797 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING:
YY_BREAK
case 174:
YY_RULE_SETUP
-#line 1805 "dhcp6_lexer.ll"
+#line 1806 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 175:
YY_RULE_SETUP
-#line 1814 "dhcp6_lexer.ll"
+#line 1815 "dhcp6_lexer.ll"
+{
+ switch(driver.ctx_) {
+ case isc::dhcp::Parser6Context::DHCP6:
+ return isc::dhcp::Dhcp6Parser::make_DHCP_MULTI_THREADING(driver.loc_);
+ default:
+ return isc::dhcp::Dhcp6Parser::make_STRING("multi-threading", driver.loc_);
+ }
+}
+ YY_BREAK
+case 176:
+YY_RULE_SETUP
+#line 1824 "dhcp6_lexer.ll"
+{
+ switch(driver.ctx_) {
+ case isc::dhcp::Parser6Context::DHCP_MULTI_THREADING:
+ return isc::dhcp::Dhcp6Parser::make_ENABLE_MULTI_THREADING(driver.loc_);
+ default:
+ return isc::dhcp::Dhcp6Parser::make_STRING("enable-multi-threading", driver.loc_);
+ }
+}
+ YY_BREAK
+case 177:
+YY_RULE_SETUP
+#line 1833 "dhcp6_lexer.ll"
+{
+ switch(driver.ctx_) {
+ case isc::dhcp::Parser6Context::DHCP_MULTI_THREADING:
+ return isc::dhcp::Dhcp6Parser::make_THREAD_POOL_SIZE(driver.loc_);
+ default:
+ return isc::dhcp::Dhcp6Parser::make_STRING("thread-pool-size", driver.loc_);
+ }
+}
+ YY_BREAK
+case 178:
+YY_RULE_SETUP
+#line 1842 "dhcp6_lexer.ll"
+{
+ switch(driver.ctx_) {
+ case isc::dhcp::Parser6Context::DHCP_MULTI_THREADING:
+ return isc::dhcp::Dhcp6Parser::make_PACKET_QUEUE_SIZE(driver.loc_);
+ default:
+ return isc::dhcp::Dhcp6Parser::make_STRING("packet-queue-size", driver.loc_);
+ }
+}
+ YY_BREAK
+case 179:
+YY_RULE_SETUP
+#line 1851 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
}
}
YY_BREAK
-case 176:
+case 180:
YY_RULE_SETUP
-#line 1823 "dhcp6_lexer.ll"
+#line 1860 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::CONTROL_SOCKET:
}
}
YY_BREAK
-case 177:
+case 181:
YY_RULE_SETUP
-#line 1832 "dhcp6_lexer.ll"
+#line 1869 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::CONTROL_SOCKET:
}
}
YY_BREAK
-case 178:
+case 182:
YY_RULE_SETUP
-#line 1841 "dhcp6_lexer.ll"
+#line 1878 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
}
}
YY_BREAK
-case 179:
+case 183:
YY_RULE_SETUP
-#line 1850 "dhcp6_lexer.ll"
+#line 1887 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP_QUEUE_CONTROL:
}
}
YY_BREAK
-case 180:
+case 184:
YY_RULE_SETUP
-#line 1859 "dhcp6_lexer.ll"
+#line 1896 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP_QUEUE_CONTROL:
}
}
YY_BREAK
-case 181:
+case 185:
YY_RULE_SETUP
-#line 1868 "dhcp6_lexer.ll"
+#line 1905 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP_QUEUE_CONTROL:
}
}
YY_BREAK
-case 182:
+case 186:
YY_RULE_SETUP
-#line 1877 "dhcp6_lexer.ll"
+#line 1914 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
}
}
YY_BREAK
-case 183:
+case 187:
YY_RULE_SETUP
-#line 1886 "dhcp6_lexer.ll"
+#line 1923 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::CONFIG:
}
}
YY_BREAK
-case 184:
+case 188:
YY_RULE_SETUP
-#line 1895 "dhcp6_lexer.ll"
+#line 1932 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::CONFIG:
}
}
YY_BREAK
-case 185:
+case 189:
YY_RULE_SETUP
-#line 1904 "dhcp6_lexer.ll"
+#line 1941 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::CONFIG:
}
}
YY_BREAK
-case 186:
+case 190:
YY_RULE_SETUP
-#line 1914 "dhcp6_lexer.ll"
+#line 1950 "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 187:
-/* rule 187 can match eol */
+case 191:
+/* rule 191 can match eol */
YY_RULE_SETUP
-#line 2013 "dhcp6_lexer.ll"
+#line 2049 "dhcp6_lexer.ll"
{
/* Bad string with a forbidden control character inside */
driver.error(driver.loc_, "Invalid control in " + std::string(yytext));
}
YY_BREAK
-case 188:
-/* rule 188 can match eol */
+case 192:
+/* rule 192 can match eol */
YY_RULE_SETUP
-#line 2018 "dhcp6_lexer.ll"
+#line 2054 "dhcp6_lexer.ll"
{
/* Bad string with a bad escape inside */
driver.error(driver.loc_, "Bad escape in " + std::string(yytext));
}
YY_BREAK
-case 189:
+case 193:
YY_RULE_SETUP
-#line 2023 "dhcp6_lexer.ll"
+#line 2059 "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 190:
+case 194:
YY_RULE_SETUP
-#line 2028 "dhcp6_lexer.ll"
+#line 2064 "dhcp6_lexer.ll"
{ return isc::dhcp::Dhcp6Parser::make_LSQUARE_BRACKET(driver.loc_); }
YY_BREAK
-case 191:
+case 195:
YY_RULE_SETUP
-#line 2029 "dhcp6_lexer.ll"
+#line 2065 "dhcp6_lexer.ll"
{ return isc::dhcp::Dhcp6Parser::make_RSQUARE_BRACKET(driver.loc_); }
YY_BREAK
-case 192:
+case 196:
YY_RULE_SETUP
-#line 2030 "dhcp6_lexer.ll"
+#line 2066 "dhcp6_lexer.ll"
{ return isc::dhcp::Dhcp6Parser::make_LCURLY_BRACKET(driver.loc_); }
YY_BREAK
-case 193:
+case 197:
YY_RULE_SETUP
-#line 2031 "dhcp6_lexer.ll"
+#line 2067 "dhcp6_lexer.ll"
{ return isc::dhcp::Dhcp6Parser::make_RCURLY_BRACKET(driver.loc_); }
YY_BREAK
-case 194:
+case 198:
YY_RULE_SETUP
-#line 2032 "dhcp6_lexer.ll"
+#line 2068 "dhcp6_lexer.ll"
{ return isc::dhcp::Dhcp6Parser::make_COMMA(driver.loc_); }
YY_BREAK
-case 195:
+case 199:
YY_RULE_SETUP
-#line 2033 "dhcp6_lexer.ll"
+#line 2069 "dhcp6_lexer.ll"
{ return isc::dhcp::Dhcp6Parser::make_COLON(driver.loc_); }
YY_BREAK
-case 196:
+case 200:
YY_RULE_SETUP
-#line 2035 "dhcp6_lexer.ll"
+#line 2071 "dhcp6_lexer.ll"
{
/* An integer was found. */
std::string tmp(yytext);
return isc::dhcp::Dhcp6Parser::make_INTEGER(integer, driver.loc_);
}
YY_BREAK
-case 197:
+case 201:
YY_RULE_SETUP
-#line 2053 "dhcp6_lexer.ll"
+#line 2089 "dhcp6_lexer.ll"
{
/* A floating point was found. */
std::string tmp(yytext);
return isc::dhcp::Dhcp6Parser::make_FLOAT(fp, driver.loc_);
}
YY_BREAK
-case 198:
+case 202:
YY_RULE_SETUP
-#line 2066 "dhcp6_lexer.ll"
+#line 2102 "dhcp6_lexer.ll"
{
string tmp(yytext);
return isc::dhcp::Dhcp6Parser::make_BOOLEAN(tmp == "true", driver.loc_);
}
YY_BREAK
-case 199:
+case 203:
YY_RULE_SETUP
-#line 2071 "dhcp6_lexer.ll"
+#line 2107 "dhcp6_lexer.ll"
{
return isc::dhcp::Dhcp6Parser::make_NULL_TYPE(driver.loc_);
}
YY_BREAK
-case 200:
+case 204:
YY_RULE_SETUP
-#line 2075 "dhcp6_lexer.ll"
+#line 2111 "dhcp6_lexer.ll"
driver.error (driver.loc_, "JSON true reserved keyword is lower case only");
YY_BREAK
-case 201:
+case 205:
YY_RULE_SETUP
-#line 2077 "dhcp6_lexer.ll"
+#line 2113 "dhcp6_lexer.ll"
driver.error (driver.loc_, "JSON false reserved keyword is lower case only");
YY_BREAK
-case 202:
+case 206:
YY_RULE_SETUP
-#line 2079 "dhcp6_lexer.ll"
+#line 2115 "dhcp6_lexer.ll"
driver.error (driver.loc_, "JSON null reserved keyword is lower case only");
YY_BREAK
-case 203:
+case 207:
YY_RULE_SETUP
-#line 2081 "dhcp6_lexer.ll"
+#line 2117 "dhcp6_lexer.ll"
driver.error (driver.loc_, "Invalid character: " + std::string(yytext));
YY_BREAK
case YY_STATE_EOF(INITIAL):
-#line 2083 "dhcp6_lexer.ll"
+#line 2119 "dhcp6_lexer.ll"
{
if (driver.states_.empty()) {
return isc::dhcp::Dhcp6Parser::make_END(driver.loc_);
BEGIN(DIR_EXIT);
}
YY_BREAK
-case 204:
+case 208:
YY_RULE_SETUP
-#line 2106 "dhcp6_lexer.ll"
+#line 2142 "dhcp6_lexer.ll"
ECHO;
YY_BREAK
-#line 4977 "dhcp6_lexer.cc"
+#line 5061 "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 >= 1810 )
+ if ( yy_current_state >= 1873 )
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 >= 1810 )
+ if ( yy_current_state >= 1873 )
yy_c = yy_meta[yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
- yy_is_jam = (yy_current_state == 1809);
+ yy_is_jam = (yy_current_state == 1872);
return yy_is_jam ? 0 : yy_current_state;
}
/* %ok-for-header */
-#line 2106 "dhcp6_lexer.ll"
+#line 2142 "dhcp6_lexer.ll"
using namespace isc::dhcp;
-// A Bison parser, made by GNU Bison 3.5.3.
+// 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.
-// Undocumented macros, especially those whose name start with YY_,
-// are private implementation details. Do not rely on them.
-
-
// 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 51 "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)
#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 143 "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
{
if (*yystr == '"')
{
- std::string yyr;
+ std::string yyr = "";
char const *yyp = yystr;
for (;;)
case '\\':
if (*++yyp != '\\')
goto do_not_strip_quotes;
- else
- goto append;
-
- append:
+ // Fall through.
default:
yyr += *yyp;
break;
/// 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 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)
{}
+ inline
Dhcp6Parser::symbol_number_type
- Dhcp6Parser::by_state::type_get () const YY_NOEXCEPT
+ Dhcp6Parser::by_state::type_get () const
{
if (state == empty_state)
return empty_symbol;
else
- return 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.type_get ())
- {
- case 216: // value
- case 220: // map_value
- case 261: // ddns_replace_client_name_value
- case 298: // db_type
- case 392: // hr_mode
- case 528: // duid_type
- case 571: // ncr_protocol_value
- value.YY_MOVE_OR_COPY< ElementPtr > (YY_MOVE (that.value));
- break;
-
- case 198: // "boolean"
- value.YY_MOVE_OR_COPY< bool > (YY_MOVE (that.value));
- break;
-
- case 197: // "floating point"
- value.YY_MOVE_OR_COPY< double > (YY_MOVE (that.value));
- break;
-
- case 196: // "integer"
- value.YY_MOVE_OR_COPY< int64_t > (YY_MOVE (that.value));
- break;
-
- case 195: // "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.type_get ())
- {
- case 216: // value
- case 220: // map_value
- case 261: // ddns_replace_client_name_value
- case 298: // db_type
- case 392: // hr_mode
- case 528: // duid_type
- case 571: // ncr_protocol_value
- value.move< ElementPtr > (YY_MOVE (that.value));
+ switch (that.type_get ())
+ {
+ case 220: // value
+ case 224: // map_value
+ case 265: // ddns_replace_client_name_value
+ case 302: // db_type
+ case 403: // hr_mode
+ case 539: // duid_type
+ case 582: // ncr_protocol_value
+ value.move< ElementPtr > (that.value);
break;
- case 198: // "boolean"
- value.move< bool > (YY_MOVE (that.value));
+ case 202: // "boolean"
+ value.move< bool > (that.value);
break;
- case 197: // "floating point"
- value.move< double > (YY_MOVE (that.value));
+ case 201: // "floating point"
+ value.move< double > (that.value);
break;
- case 196: // "integer"
- value.move< int64_t > (YY_MOVE (that.value));
+ case 200: // "integer"
+ value.move< int64_t > (that.value);
break;
- case 195: // "constant string"
- value.move< std::string > (YY_MOVE (that.value));
+ case 199: // "constant string"
+ value.move< std::string > (that.value);
break;
default:
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.type_get ())
- {
- case 216: // value
- case 220: // map_value
- case 261: // ddns_replace_client_name_value
- case 298: // db_type
- case 392: // hr_mode
- case 528: // duid_type
- case 571: // ncr_protocol_value
+ switch (that.type_get ())
+ {
+ case 220: // value
+ case 224: // map_value
+ case 265: // ddns_replace_client_name_value
+ case 302: // db_type
+ case 403: // hr_mode
+ case 539: // duid_type
+ case 582: // ncr_protocol_value
value.copy< ElementPtr > (that.value);
break;
- case 198: // "boolean"
+ case 202: // "boolean"
value.copy< bool > (that.value);
break;
- case 197: // "floating point"
+ case 201: // "floating point"
value.copy< double > (that.value);
break;
- case 196: // "integer"
+ case 200: // "integer"
value.copy< int64_t > (that.value);
break;
- case 195: // "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.type_get ())
- {
- case 216: // value
- case 220: // map_value
- case 261: // ddns_replace_client_name_value
- case 298: // db_type
- case 392: // hr_mode
- case 528: // duid_type
- case 571: // ncr_protocol_value
- value.move< ElementPtr > (that.value);
- break;
-
- case 198: // "boolean"
- value.move< bool > (that.value);
- break;
-
- case 197: // "floating point"
- value.move< double > (that.value);
- break;
-
- case 196: // "integer"
- value.move< int64_t > (that.value);
- break;
-
- case 195: // "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
{
std::ostream& yyoutput = yyo;
YYUSE (yyoutput);
symbol_number_type yytype = yysym.type_get ();
-#if defined __GNUC__ && ! defined __clang__ && ! defined __ICC && __GNUC__ * 100 + __GNUC_MINOR__ <= 408
// Avoid a (spurious) G++ 4.8 warning about "array subscript is
// below array bounds".
if (yysym.empty ())
std::abort ();
-#endif
yyo << (yytype < yyntokens_ ? "token" : "nterm")
<< ' ' << yytname_[yytype] << " ("
<< yysym.location << ": ";
switch (yytype)
{
- case 195: // "constant string"
-#line 274 "dhcp6_parser.yy"
- { yyoutput << yysym.value.template as < std::string > (); }
-#line 443 "dhcp6_parser.cc"
+ case 199: // "constant string"
+
+#line 280 "dhcp6_parser.yy" // lalr1.cc:636
+ { yyoutput << yysym.value.template as< std::string > (); }
+#line 364 "dhcp6_parser.cc" // lalr1.cc:636
break;
- case 196: // "integer"
-#line 274 "dhcp6_parser.yy"
- { yyoutput << yysym.value.template as < int64_t > (); }
-#line 449 "dhcp6_parser.cc"
+ case 200: // "integer"
+
+#line 280 "dhcp6_parser.yy" // lalr1.cc:636
+ { yyoutput << yysym.value.template as< int64_t > (); }
+#line 371 "dhcp6_parser.cc" // lalr1.cc:636
break;
- case 197: // "floating point"
-#line 274 "dhcp6_parser.yy"
- { yyoutput << yysym.value.template as < double > (); }
-#line 455 "dhcp6_parser.cc"
+ case 201: // "floating point"
+
+#line 280 "dhcp6_parser.yy" // lalr1.cc:636
+ { yyoutput << yysym.value.template as< double > (); }
+#line 378 "dhcp6_parser.cc" // lalr1.cc:636
break;
- case 198: // "boolean"
-#line 274 "dhcp6_parser.yy"
- { yyoutput << yysym.value.template as < bool > (); }
-#line 461 "dhcp6_parser.cc"
+ case 202: // "boolean"
+
+#line 280 "dhcp6_parser.yy" // lalr1.cc:636
+ { yyoutput << yysym.value.template as< bool > (); }
+#line 385 "dhcp6_parser.cc" // lalr1.cc:636
break;
- case 216: // value
-#line 274 "dhcp6_parser.yy"
- { yyoutput << yysym.value.template as < ElementPtr > (); }
-#line 467 "dhcp6_parser.cc"
+ case 220: // value
+
+#line 280 "dhcp6_parser.yy" // lalr1.cc:636
+ { yyoutput << yysym.value.template as< ElementPtr > (); }
+#line 392 "dhcp6_parser.cc" // lalr1.cc:636
break;
- case 220: // map_value
-#line 274 "dhcp6_parser.yy"
- { yyoutput << yysym.value.template as < ElementPtr > (); }
-#line 473 "dhcp6_parser.cc"
+ case 224: // map_value
+
+#line 280 "dhcp6_parser.yy" // lalr1.cc:636
+ { yyoutput << yysym.value.template as< ElementPtr > (); }
+#line 399 "dhcp6_parser.cc" // lalr1.cc:636
break;
- case 261: // ddns_replace_client_name_value
-#line 274 "dhcp6_parser.yy"
- { yyoutput << yysym.value.template as < ElementPtr > (); }
-#line 479 "dhcp6_parser.cc"
+ case 265: // ddns_replace_client_name_value
+
+#line 280 "dhcp6_parser.yy" // lalr1.cc:636
+ { yyoutput << yysym.value.template as< ElementPtr > (); }
+#line 406 "dhcp6_parser.cc" // lalr1.cc:636
break;
- case 298: // db_type
-#line 274 "dhcp6_parser.yy"
- { yyoutput << yysym.value.template as < ElementPtr > (); }
-#line 485 "dhcp6_parser.cc"
+ case 302: // db_type
+
+#line 280 "dhcp6_parser.yy" // lalr1.cc:636
+ { yyoutput << yysym.value.template as< ElementPtr > (); }
+#line 413 "dhcp6_parser.cc" // lalr1.cc:636
break;
- case 392: // hr_mode
-#line 274 "dhcp6_parser.yy"
- { yyoutput << yysym.value.template as < ElementPtr > (); }
-#line 491 "dhcp6_parser.cc"
+ case 403: // hr_mode
+
+#line 280 "dhcp6_parser.yy" // lalr1.cc:636
+ { yyoutput << yysym.value.template as< ElementPtr > (); }
+#line 420 "dhcp6_parser.cc" // lalr1.cc:636
break;
- case 528: // duid_type
-#line 274 "dhcp6_parser.yy"
- { yyoutput << yysym.value.template as < ElementPtr > (); }
-#line 497 "dhcp6_parser.cc"
+ case 539: // duid_type
+
+#line 280 "dhcp6_parser.yy" // lalr1.cc:636
+ { yyoutput << yysym.value.template as< ElementPtr > (); }
+#line 427 "dhcp6_parser.cc" // lalr1.cc:636
break;
- case 571: // ncr_protocol_value
-#line 274 "dhcp6_parser.yy"
- { yyoutput << yysym.value.template as < ElementPtr > (); }
-#line 503 "dhcp6_parser.cc"
+ case 582: // ncr_protocol_value
+
+#line 280 "dhcp6_parser.yy" // lalr1.cc:636
+ { yyoutput << yysym.value.template as< ElementPtr > (); }
+#line 434 "dhcp6_parser.cc" // lalr1.cc:636
break;
+
default:
break;
}
}
#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;
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';
+ 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;
if (yyla.empty ())
{
YYCDEBUG << "Reading a token: ";
-#if YY_EXCEPTIONS
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);
to detect an error, take that action. */
yyn += yyla.type_get ();
if (yyn < 0 || yylast_ < yyn || yycheck_[yyn] != yyla.type_get ())
- {
- goto yydefault;
- }
+ 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 216: // value
- case 220: // map_value
- case 261: // ddns_replace_client_name_value
- case 298: // db_type
- case 392: // hr_mode
- case 528: // duid_type
- case 571: // ncr_protocol_value
- yylhs.value.emplace< ElementPtr > ();
+ switch (yyr1_[yyn])
+ {
+ case 220: // value
+ case 224: // map_value
+ case 265: // ddns_replace_client_name_value
+ case 302: // db_type
+ case 403: // hr_mode
+ case 539: // duid_type
+ case 582: // ncr_protocol_value
+ yylhs.value.build< ElementPtr > ();
break;
- case 198: // "boolean"
- yylhs.value.emplace< bool > ();
+ case 202: // "boolean"
+ yylhs.value.build< bool > ();
break;
- case 197: // "floating point"
- yylhs.value.emplace< double > ();
+ case 201: // "floating point"
+ yylhs.value.build< double > ();
break;
- case 196: // "integer"
- yylhs.value.emplace< int64_t > ();
+ case 200: // "integer"
+ yylhs.value.build< int64_t > ();
break;
- case 195: // "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:
-#line 283 "dhcp6_parser.yy"
- { ctx.ctx_ = ctx.NO_KEYWORD; }
-#line 770 "dhcp6_parser.cc"
+#line 289 "dhcp6_parser.yy" // lalr1.cc:859
+ { ctx.ctx_ = ctx.NO_KEYWORD; }
+#line 680 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 4:
-#line 284 "dhcp6_parser.yy"
- { ctx.ctx_ = ctx.CONFIG; }
-#line 776 "dhcp6_parser.cc"
+#line 290 "dhcp6_parser.yy" // lalr1.cc:859
+ { ctx.ctx_ = ctx.CONFIG; }
+#line 686 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 6:
-#line 285 "dhcp6_parser.yy"
- { ctx.ctx_ = ctx.DHCP6; }
-#line 782 "dhcp6_parser.cc"
+#line 291 "dhcp6_parser.yy" // lalr1.cc:859
+ { ctx.ctx_ = ctx.DHCP6; }
+#line 692 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 8:
-#line 286 "dhcp6_parser.yy"
- { ctx.ctx_ = ctx.INTERFACES_CONFIG; }
-#line 788 "dhcp6_parser.cc"
+#line 292 "dhcp6_parser.yy" // lalr1.cc:859
+ { ctx.ctx_ = ctx.INTERFACES_CONFIG; }
+#line 698 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 10:
-#line 287 "dhcp6_parser.yy"
- { ctx.ctx_ = ctx.SUBNET6; }
-#line 794 "dhcp6_parser.cc"
+#line 293 "dhcp6_parser.yy" // lalr1.cc:859
+ { ctx.ctx_ = ctx.SUBNET6; }
+#line 704 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 12:
-#line 288 "dhcp6_parser.yy"
- { ctx.ctx_ = ctx.POOLS; }
-#line 800 "dhcp6_parser.cc"
+#line 294 "dhcp6_parser.yy" // lalr1.cc:859
+ { ctx.ctx_ = ctx.POOLS; }
+#line 710 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 14:
-#line 289 "dhcp6_parser.yy"
- { ctx.ctx_ = ctx.PD_POOLS; }
-#line 806 "dhcp6_parser.cc"
+#line 295 "dhcp6_parser.yy" // lalr1.cc:859
+ { ctx.ctx_ = ctx.PD_POOLS; }
+#line 716 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 16:
-#line 290 "dhcp6_parser.yy"
- { ctx.ctx_ = ctx.RESERVATIONS; }
-#line 812 "dhcp6_parser.cc"
+#line 296 "dhcp6_parser.yy" // lalr1.cc:859
+ { ctx.ctx_ = ctx.RESERVATIONS; }
+#line 722 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 18:
-#line 291 "dhcp6_parser.yy"
- { ctx.ctx_ = ctx.DHCP6; }
-#line 818 "dhcp6_parser.cc"
+#line 297 "dhcp6_parser.yy" // lalr1.cc:859
+ { ctx.ctx_ = ctx.DHCP6; }
+#line 728 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 20:
-#line 292 "dhcp6_parser.yy"
- { ctx.ctx_ = ctx.OPTION_DEF; }
-#line 824 "dhcp6_parser.cc"
+#line 298 "dhcp6_parser.yy" // lalr1.cc:859
+ { ctx.ctx_ = ctx.OPTION_DEF; }
+#line 734 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 22:
-#line 293 "dhcp6_parser.yy"
- { ctx.ctx_ = ctx.OPTION_DATA; }
-#line 830 "dhcp6_parser.cc"
+#line 299 "dhcp6_parser.yy" // lalr1.cc:859
+ { ctx.ctx_ = ctx.OPTION_DATA; }
+#line 740 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 24:
-#line 294 "dhcp6_parser.yy"
- { ctx.ctx_ = ctx.HOOKS_LIBRARIES; }
-#line 836 "dhcp6_parser.cc"
+#line 300 "dhcp6_parser.yy" // lalr1.cc:859
+ { ctx.ctx_ = ctx.HOOKS_LIBRARIES; }
+#line 746 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 26:
-#line 295 "dhcp6_parser.yy"
- { ctx.ctx_ = ctx.DHCP_DDNS; }
-#line 842 "dhcp6_parser.cc"
+#line 301 "dhcp6_parser.yy" // lalr1.cc:859
+ { ctx.ctx_ = ctx.DHCP_DDNS; }
+#line 752 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 28:
-#line 296 "dhcp6_parser.yy"
- { ctx.ctx_ = ctx.LOGGING; }
-#line 848 "dhcp6_parser.cc"
+#line 302 "dhcp6_parser.yy" // lalr1.cc:859
+ { ctx.ctx_ = ctx.LOGGING; }
+#line 758 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 30:
-#line 297 "dhcp6_parser.yy"
- { ctx.ctx_ = ctx.CONFIG_CONTROL; }
-#line 854 "dhcp6_parser.cc"
+#line 303 "dhcp6_parser.yy" // lalr1.cc:859
+ { ctx.ctx_ = ctx.CONFIG_CONTROL; }
+#line 764 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 32:
-#line 305 "dhcp6_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); }
-#line 860 "dhcp6_parser.cc"
+#line 311 "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 770 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 33:
-#line 306 "dhcp6_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location))); }
-#line 866 "dhcp6_parser.cc"
+#line 312 "dhcp6_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new DoubleElement(yystack_[0].value.as< double > (), ctx.loc2pos(yystack_[0].location))); }
+#line 776 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 34:
-#line 307 "dhcp6_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); }
-#line 872 "dhcp6_parser.cc"
+#line 313 "dhcp6_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); }
+#line 782 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 35:
-#line 308 "dhcp6_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); }
-#line 878 "dhcp6_parser.cc"
+#line 314 "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 788 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 36:
-#line 309 "dhcp6_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new NullElement(ctx.loc2pos(yystack_[0].location))); }
-#line 884 "dhcp6_parser.cc"
+#line 315 "dhcp6_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new NullElement(ctx.loc2pos(yystack_[0].location))); }
+#line 794 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 37:
-#line 310 "dhcp6_parser.yy"
- { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); }
-#line 890 "dhcp6_parser.cc"
+#line 316 "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 38:
-#line 311 "dhcp6_parser.yy"
- { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); }
-#line 896 "dhcp6_parser.cc"
+#line 317 "dhcp6_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); }
+#line 806 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 39:
-#line 314 "dhcp6_parser.yy"
- {
+#line 320 "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 905 "dhcp6_parser.cc"
+#line 815 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 40:
-#line 319 "dhcp6_parser.yy"
- {
+#line 325 "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 916 "dhcp6_parser.cc"
+#line 826 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 41:
-#line 324 "dhcp6_parser.yy"
- {
+#line 330 "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 926 "dhcp6_parser.cc"
+#line 836 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 42:
-#line 330 "dhcp6_parser.yy"
- { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); }
-#line 932 "dhcp6_parser.cc"
+#line 336 "dhcp6_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); }
+#line 842 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 45:
-#line 337 "dhcp6_parser.yy"
- {
+#line 343 "dhcp6_parser.yy" // lalr1.cc:859
+ {
// map containing a single entry
- ctx.stack_.back()->set(yystack_[2].value.as < std::string > (), yystack_[0].value.as < ElementPtr > ());
+ ctx.stack_.back()->set(yystack_[2].value.as< std::string > (), yystack_[0].value.as< ElementPtr > ());
}
-#line 941 "dhcp6_parser.cc"
+#line 851 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 46:
-#line 341 "dhcp6_parser.yy"
- {
+#line 347 "dhcp6_parser.yy" // lalr1.cc:859
+ {
// map consisting of a shorter map followed by
// comma and string:value
- ctx.stack_.back()->set(yystack_[2].value.as < std::string > (), yystack_[0].value.as < ElementPtr > ());
+ ctx.stack_.back()->set(yystack_[2].value.as< std::string > (), yystack_[0].value.as< ElementPtr > ());
}
-#line 951 "dhcp6_parser.cc"
+#line 861 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 47:
-#line 348 "dhcp6_parser.yy"
- {
+#line 354 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.push_back(l);
}
-#line 960 "dhcp6_parser.cc"
+#line 870 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 48:
-#line 351 "dhcp6_parser.yy"
- {
+#line 357 "dhcp6_parser.yy" // lalr1.cc:859
+ {
// list parsing complete. Put any sanity checking here
}
-#line 968 "dhcp6_parser.cc"
+#line 878 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 51:
-#line 359 "dhcp6_parser.yy"
- {
+#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 977 "dhcp6_parser.cc"
+#line 887 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 52:
-#line 363 "dhcp6_parser.yy"
- {
+#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 986 "dhcp6_parser.cc"
+#line 896 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 53:
-#line 370 "dhcp6_parser.yy"
- {
+#line 376 "dhcp6_parser.yy" // lalr1.cc:859
+ {
// List parsing about to start
}
-#line 994 "dhcp6_parser.cc"
+#line 904 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 54:
-#line 372 "dhcp6_parser.yy"
- {
+#line 378 "dhcp6_parser.yy" // lalr1.cc:859
+ {
// list parsing complete. Put any sanity checking here
//ctx.stack_.pop_back();
}
-#line 1003 "dhcp6_parser.cc"
+#line 913 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 57:
-#line 381 "dhcp6_parser.yy"
- {
- ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+#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 1012 "dhcp6_parser.cc"
+#line 922 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 58:
-#line 385 "dhcp6_parser.yy"
- {
- ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+#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 1021 "dhcp6_parser.cc"
+#line 931 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 59:
-#line 396 "dhcp6_parser.yy"
- {
+#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 1032 "dhcp6_parser.cc"
+#line 942 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 60:
-#line 406 "dhcp6_parser.yy"
- {
+#line 412 "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 1043 "dhcp6_parser.cc"
+#line 953 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 61:
-#line 411 "dhcp6_parser.yy"
- {
+#line 417 "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 1056 "dhcp6_parser.cc"
+#line 966 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 70:
-#line 434 "dhcp6_parser.yy"
- {
+#line 441 "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);
ctx.enter(ctx.DHCP6);
}
-#line 1069 "dhcp6_parser.cc"
+#line 979 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 71:
-#line 441 "dhcp6_parser.yy"
- {
+#line 448 "dhcp6_parser.yy" // lalr1.cc:859
+ {
// No global parameter is required
ctx.stack_.pop_back();
ctx.leave();
}
-#line 1079 "dhcp6_parser.cc"
+#line 989 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 72:
-#line 449 "dhcp6_parser.yy"
- {
+#line 456 "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 1089 "dhcp6_parser.cc"
+#line 999 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 73:
-#line 453 "dhcp6_parser.yy"
- {
+#line 460 "dhcp6_parser.yy" // lalr1.cc:859
+ {
// No global parameter is required
// parsing completed
}
-#line 1098 "dhcp6_parser.cc"
+#line 1008 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 128:
-#line 518 "dhcp6_parser.yy"
- {
+ case 129:
+#line 526 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1106 "dhcp6_parser.cc"
+#line 1016 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 129:
-#line 520 "dhcp6_parser.yy"
- {
- ElementPtr datadir(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 130:
+#line 528 "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 1116 "dhcp6_parser.cc"
+#line 1026 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 130:
-#line 526 "dhcp6_parser.yy"
- {
- ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ case 131:
+#line 534 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("preferred-lifetime", prf);
}
-#line 1125 "dhcp6_parser.cc"
+#line 1035 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 131:
-#line 531 "dhcp6_parser.yy"
- {
- ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ case 132:
+#line 539 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("min-preferred-lifetime", prf);
}
-#line 1134 "dhcp6_parser.cc"
+#line 1044 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 132:
-#line 536 "dhcp6_parser.yy"
- {
- ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ case 133:
+#line 544 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("max-preferred-lifetime", prf);
}
-#line 1143 "dhcp6_parser.cc"
+#line 1053 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 133:
-#line 541 "dhcp6_parser.yy"
- {
- ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ case 134:
+#line 549 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("valid-lifetime", prf);
}
-#line 1152 "dhcp6_parser.cc"
+#line 1062 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 134:
-#line 546 "dhcp6_parser.yy"
- {
- ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ case 135:
+#line 554 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("min-valid-lifetime", prf);
}
-#line 1161 "dhcp6_parser.cc"
+#line 1071 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 135:
-#line 551 "dhcp6_parser.yy"
- {
- ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ case 136:
+#line 559 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("max-valid-lifetime", prf);
}
-#line 1170 "dhcp6_parser.cc"
+#line 1080 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 136:
-#line 556 "dhcp6_parser.yy"
- {
- ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ case 137:
+#line 564 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("renew-timer", prf);
}
-#line 1179 "dhcp6_parser.cc"
+#line 1089 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 137:
-#line 561 "dhcp6_parser.yy"
- {
- ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ case 138:
+#line 569 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("rebind-timer", prf);
}
-#line 1188 "dhcp6_parser.cc"
+#line 1098 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 138:
-#line 566 "dhcp6_parser.yy"
- {
- ElementPtr ctt(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ case 139:
+#line 574 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr ctt(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("calculate-tee-times", ctt);
}
-#line 1197 "dhcp6_parser.cc"
+#line 1107 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 139:
-#line 571 "dhcp6_parser.yy"
- {
- ElementPtr t1(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location)));
+ case 140:
+#line 579 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr t1(new DoubleElement(yystack_[0].value.as< double > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("t1-percent", t1);
}
-#line 1206 "dhcp6_parser.cc"
+#line 1116 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 140:
-#line 576 "dhcp6_parser.yy"
- {
- ElementPtr t2(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location)));
+ case 141:
+#line 584 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr t2(new DoubleElement(yystack_[0].value.as< double > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("t2-percent", t2);
}
-#line 1215 "dhcp6_parser.cc"
+#line 1125 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 141:
-#line 581 "dhcp6_parser.yy"
- {
- ElementPtr dpp(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ case 142:
+#line 589 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ 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 1134 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 142:
-#line 586 "dhcp6_parser.yy"
- {
- ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ case 143:
+#line 594 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("ddns-send-updates", b);
}
-#line 1233 "dhcp6_parser.cc"
+#line 1143 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 143:
-#line 591 "dhcp6_parser.yy"
- {
- ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ case 144:
+#line 599 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("ddns-override-no-update", b);
}
-#line 1242 "dhcp6_parser.cc"
+#line 1152 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 144:
-#line 596 "dhcp6_parser.yy"
- {
- ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ case 145:
+#line 604 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("ddns-override-client-update", b);
}
-#line 1251 "dhcp6_parser.cc"
+#line 1161 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 145:
-#line 601 "dhcp6_parser.yy"
- {
+ case 146:
+#line 609 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.REPLACE_CLIENT_NAME);
}
-#line 1259 "dhcp6_parser.cc"
+#line 1169 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 146:
-#line 603 "dhcp6_parser.yy"
- {
- ctx.stack_.back()->set("ddns-replace-client-name", yystack_[0].value.as < ElementPtr > ());
+ case 147:
+#line 611 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ctx.stack_.back()->set("ddns-replace-client-name", yystack_[0].value.as< ElementPtr > ());
ctx.leave();
}
-#line 1268 "dhcp6_parser.cc"
- break;
-
- case 147:
-#line 609 "dhcp6_parser.yy"
- {
- yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("when-present", ctx.loc2pos(yystack_[0].location)));
- }
-#line 1276 "dhcp6_parser.cc"
+#line 1178 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 148:
-#line 612 "dhcp6_parser.yy"
- {
- yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("never", ctx.loc2pos(yystack_[0].location)));
+#line 617 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("when-present", ctx.loc2pos(yystack_[0].location)));
}
-#line 1284 "dhcp6_parser.cc"
+#line 1186 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 149:
-#line 615 "dhcp6_parser.yy"
- {
- yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("always", ctx.loc2pos(yystack_[0].location)));
+#line 620 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("never", ctx.loc2pos(yystack_[0].location)));
}
-#line 1292 "dhcp6_parser.cc"
+#line 1194 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 150:
-#line 618 "dhcp6_parser.yy"
- {
- yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("when-not-present", ctx.loc2pos(yystack_[0].location)));
+#line 623 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("always", ctx.loc2pos(yystack_[0].location)));
}
-#line 1300 "dhcp6_parser.cc"
+#line 1202 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 151:
-#line 621 "dhcp6_parser.yy"
- {
+#line 626 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("when-not-present", ctx.loc2pos(yystack_[0].location)));
+ }
+#line 1210 "dhcp6_parser.cc" // lalr1.cc:859
+ break;
+
+ case 152:
+#line 629 "dhcp6_parser.yy" // lalr1.cc:859
+ {
error(yystack_[0].location, "boolean values for the replace-client-name are "
"no longer supported");
}
-#line 1309 "dhcp6_parser.cc"
+#line 1219 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 152:
-#line 627 "dhcp6_parser.yy"
- {
+ case 153:
+#line 635 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1317 "dhcp6_parser.cc"
+#line 1227 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 153:
-#line 629 "dhcp6_parser.yy"
- {
- ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 154:
+#line 637 "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 1327 "dhcp6_parser.cc"
+#line 1237 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 154:
-#line 635 "dhcp6_parser.yy"
- {
+ case 155:
+#line 643 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1335 "dhcp6_parser.cc"
+#line 1245 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 155:
-#line 637 "dhcp6_parser.yy"
- {
- ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 156:
+#line 645 "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 1345 "dhcp6_parser.cc"
+#line 1255 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 156:
-#line 643 "dhcp6_parser.yy"
- {
+ case 157:
+#line 651 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1353 "dhcp6_parser.cc"
+#line 1263 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 157:
-#line 645 "dhcp6_parser.yy"
- {
- ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 158:
+#line 653 "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 1363 "dhcp6_parser.cc"
+#line 1273 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 158:
-#line 651 "dhcp6_parser.yy"
- {
+ case 159:
+#line 659 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1371 "dhcp6_parser.cc"
+#line 1281 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 159:
-#line 653 "dhcp6_parser.yy"
- {
- ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 160:
+#line 661 "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 1381 "dhcp6_parser.cc"
+#line 1291 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 160:
-#line 659 "dhcp6_parser.yy"
- {
- ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ case 161:
+#line 667 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("store-extended-info", b);
}
-#line 1390 "dhcp6_parser.cc"
+#line 1300 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 161:
-#line 664 "dhcp6_parser.yy"
- {
- ElementPtr count(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ case 162:
+#line 672 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ 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 1399 "dhcp6_parser.cc"
+#line 1309 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 162:
-#line 669 "dhcp6_parser.yy"
- {
- ElementPtr age(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ case 163:
+#line 677 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ 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 1408 "dhcp6_parser.cc"
+#line 1318 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 163:
-#line 674 "dhcp6_parser.yy"
- {
+ case 164:
+#line 682 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1416 "dhcp6_parser.cc"
+#line 1326 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 164:
-#line 676 "dhcp6_parser.yy"
- {
- ElementPtr stag(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 165:
+#line 684 "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 1426 "dhcp6_parser.cc"
+#line 1336 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 165:
-#line 682 "dhcp6_parser.yy"
- {
+ case 166:
+#line 690 "dhcp6_parser.yy" // lalr1.cc:859
+ {
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 1437 "dhcp6_parser.cc"
+#line 1347 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 166:
-#line 687 "dhcp6_parser.yy"
- {
+ case 167:
+#line 695 "dhcp6_parser.yy" // lalr1.cc:859
+ {
// No interfaces config param is required
ctx.stack_.pop_back();
ctx.leave();
}
-#line 1447 "dhcp6_parser.cc"
+#line 1357 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 167:
-#line 693 "dhcp6_parser.yy"
- {
+ case 168:
+#line 701 "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 1457 "dhcp6_parser.cc"
+#line 1367 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 168:
-#line 697 "dhcp6_parser.yy"
- {
+ case 169:
+#line 705 "dhcp6_parser.yy" // lalr1.cc:859
+ {
// No interfaces config param is required
// parsing completed
}
-#line 1466 "dhcp6_parser.cc"
+#line 1376 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 176:
-#line 713 "dhcp6_parser.yy"
- {
+ case 177:
+#line 721 "dhcp6_parser.yy" // lalr1.cc:859
+ {
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 1477 "dhcp6_parser.cc"
+#line 1387 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 177:
-#line 718 "dhcp6_parser.yy"
- {
+ case 178:
+#line 726 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 1486 "dhcp6_parser.cc"
+#line 1396 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 178:
-#line 723 "dhcp6_parser.yy"
- {
- ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ case 179:
+#line 731 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("re-detect", b);
}
-#line 1495 "dhcp6_parser.cc"
+#line 1405 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 179:
-#line 729 "dhcp6_parser.yy"
- {
+ case 180:
+#line 736 "dhcp6_parser.yy" // lalr1.cc:859
+ {
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 1506 "dhcp6_parser.cc"
+#line 1416 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 180:
-#line 734 "dhcp6_parser.yy"
- {
+ case 181:
+#line 741 "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 1517 "dhcp6_parser.cc"
+#line 1427 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 181:
-#line 741 "dhcp6_parser.yy"
- {
+ case 182:
+#line 748 "dhcp6_parser.yy" // lalr1.cc:859
+ {
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 1528 "dhcp6_parser.cc"
+#line 1438 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 182:
-#line 746 "dhcp6_parser.yy"
- {
+ case 183:
+#line 753 "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 1539 "dhcp6_parser.cc"
+#line 1449 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 183:
-#line 753 "dhcp6_parser.yy"
- {
+ case 184:
+#line 760 "dhcp6_parser.yy" // lalr1.cc:859
+ {
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 1550 "dhcp6_parser.cc"
+#line 1460 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 184:
-#line 758 "dhcp6_parser.yy"
- {
+ case 185:
+#line 765 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 1559 "dhcp6_parser.cc"
+#line 1469 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 189:
-#line 771 "dhcp6_parser.yy"
- {
+ case 190:
+#line 778 "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 1569 "dhcp6_parser.cc"
+#line 1479 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 190:
-#line 775 "dhcp6_parser.yy"
- {
+ case 191:
+#line 782 "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 1579 "dhcp6_parser.cc"
+#line 1489 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 214:
-#line 808 "dhcp6_parser.yy"
- {
+ case 215:
+#line 815 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.DATABASE_TYPE);
}
-#line 1587 "dhcp6_parser.cc"
+#line 1497 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 215:
-#line 810 "dhcp6_parser.yy"
- {
- ctx.stack_.back()->set("type", yystack_[0].value.as < ElementPtr > ());
+ case 216:
+#line 817 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ctx.stack_.back()->set("type", yystack_[0].value.as< ElementPtr > ());
ctx.leave();
}
-#line 1596 "dhcp6_parser.cc"
- break;
-
- case 216:
-#line 815 "dhcp6_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("memfile", ctx.loc2pos(yystack_[0].location))); }
-#line 1602 "dhcp6_parser.cc"
+#line 1506 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 217:
-#line 816 "dhcp6_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("mysql", ctx.loc2pos(yystack_[0].location))); }
-#line 1608 "dhcp6_parser.cc"
+#line 822 "dhcp6_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("memfile", ctx.loc2pos(yystack_[0].location))); }
+#line 1512 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 218:
-#line 817 "dhcp6_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("postgresql", ctx.loc2pos(yystack_[0].location))); }
-#line 1614 "dhcp6_parser.cc"
+#line 823 "dhcp6_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("mysql", ctx.loc2pos(yystack_[0].location))); }
+#line 1518 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 219:
-#line 818 "dhcp6_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("cql", ctx.loc2pos(yystack_[0].location))); }
-#line 1620 "dhcp6_parser.cc"
+#line 824 "dhcp6_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("postgresql", ctx.loc2pos(yystack_[0].location))); }
+#line 1524 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 220:
-#line 821 "dhcp6_parser.yy"
- {
+#line 825 "dhcp6_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("cql", ctx.loc2pos(yystack_[0].location))); }
+#line 1530 "dhcp6_parser.cc" // lalr1.cc:859
+ break;
+
+ case 221:
+#line 828 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1628 "dhcp6_parser.cc"
+#line 1538 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 221:
-#line 823 "dhcp6_parser.yy"
- {
- ElementPtr user(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 222:
+#line 830 "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 1638 "dhcp6_parser.cc"
+#line 1548 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 222:
-#line 829 "dhcp6_parser.yy"
- {
+ case 223:
+#line 836 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1646 "dhcp6_parser.cc"
+#line 1556 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 223:
-#line 831 "dhcp6_parser.yy"
- {
- ElementPtr pwd(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 224:
+#line 838 "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 1656 "dhcp6_parser.cc"
+#line 1566 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 224:
-#line 837 "dhcp6_parser.yy"
- {
+ case 225:
+#line 844 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1664 "dhcp6_parser.cc"
+#line 1574 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 225:
-#line 839 "dhcp6_parser.yy"
- {
- ElementPtr h(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 226:
+#line 846 "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 1674 "dhcp6_parser.cc"
+#line 1584 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 226:
-#line 845 "dhcp6_parser.yy"
- {
- ElementPtr p(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ case 227:
+#line 852 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr p(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("port", p);
}
-#line 1683 "dhcp6_parser.cc"
+#line 1593 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 227:
-#line 850 "dhcp6_parser.yy"
- {
+ case 228:
+#line 857 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1691 "dhcp6_parser.cc"
+#line 1601 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 228:
-#line 852 "dhcp6_parser.yy"
- {
- ElementPtr name(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 229:
+#line 859 "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 1701 "dhcp6_parser.cc"
+#line 1611 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 229:
-#line 858 "dhcp6_parser.yy"
- {
- ElementPtr n(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ case 230:
+#line 865 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr n(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("persist", n);
}
-#line 1710 "dhcp6_parser.cc"
+#line 1620 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 230:
-#line 863 "dhcp6_parser.yy"
- {
- ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ case 231:
+#line 870 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr n(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("lfc-interval", n);
}
-#line 1719 "dhcp6_parser.cc"
+#line 1629 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 231:
-#line 868 "dhcp6_parser.yy"
- {
- ElementPtr n(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ case 232:
+#line 875 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr n(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("readonly", n);
}
-#line 1728 "dhcp6_parser.cc"
+#line 1638 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 232:
-#line 873 "dhcp6_parser.yy"
- {
- ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ case 233:
+#line 880 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr n(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("connect-timeout", n);
}
-#line 1737 "dhcp6_parser.cc"
+#line 1647 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 233:
-#line 878 "dhcp6_parser.yy"
- {
- ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ case 234:
+#line 885 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr n(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("reconnect-wait-time", n);
}
-#line 1746 "dhcp6_parser.cc"
+#line 1656 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 234:
-#line 883 "dhcp6_parser.yy"
- {
- ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ case 235:
+#line 890 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr n(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("max-row-errors", n);
}
-#line 1755 "dhcp6_parser.cc"
+#line 1665 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 235:
-#line 888 "dhcp6_parser.yy"
- {
- ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ case 236:
+#line 895 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr n(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("request-timeout", n);
}
-#line 1764 "dhcp6_parser.cc"
+#line 1674 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 236:
-#line 893 "dhcp6_parser.yy"
- {
- ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ case 237:
+#line 900 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr n(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("tcp-keepalive", n);
}
-#line 1773 "dhcp6_parser.cc"
+#line 1683 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 237:
-#line 898 "dhcp6_parser.yy"
- {
- ElementPtr n(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ case 238:
+#line 905 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr n(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("tcp-nodelay", n);
}
-#line 1782 "dhcp6_parser.cc"
+#line 1692 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 238:
-#line 903 "dhcp6_parser.yy"
- {
+ case 239:
+#line 910 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1790 "dhcp6_parser.cc"
+#line 1700 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 239:
-#line 905 "dhcp6_parser.yy"
- {
- ElementPtr cp(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 240:
+#line 912 "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 1800 "dhcp6_parser.cc"
+#line 1710 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 240:
-#line 911 "dhcp6_parser.yy"
- {
- ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ case 241:
+#line 918 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr n(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("max-reconnect-tries", n);
}
-#line 1809 "dhcp6_parser.cc"
+#line 1719 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 241:
-#line 916 "dhcp6_parser.yy"
- {
+ case 242:
+#line 923 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1817 "dhcp6_parser.cc"
+#line 1727 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 242:
-#line 918 "dhcp6_parser.yy"
- {
- ElementPtr ks(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 243:
+#line 925 "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 1827 "dhcp6_parser.cc"
+#line 1737 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 243:
-#line 924 "dhcp6_parser.yy"
- {
+ case 244:
+#line 931 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1835 "dhcp6_parser.cc"
+#line 1745 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 244:
-#line 926 "dhcp6_parser.yy"
- {
- ElementPtr c(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 245:
+#line 933 "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 1845 "dhcp6_parser.cc"
+#line 1755 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 245:
-#line 932 "dhcp6_parser.yy"
- {
+ case 246:
+#line 939 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1853 "dhcp6_parser.cc"
+#line 1763 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 246:
-#line 934 "dhcp6_parser.yy"
- {
- ElementPtr c(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 247:
+#line 941 "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 1863 "dhcp6_parser.cc"
+#line 1773 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 247:
-#line 940 "dhcp6_parser.yy"
- {
+ case 248:
+#line 947 "dhcp6_parser.yy" // lalr1.cc:859
+ {
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 1874 "dhcp6_parser.cc"
+#line 1784 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 248:
-#line 945 "dhcp6_parser.yy"
- {
+ case 249:
+#line 952 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 1883 "dhcp6_parser.cc"
+#line 1793 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 252:
-#line 955 "dhcp6_parser.yy"
- {
+ case 253:
+#line 962 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1891 "dhcp6_parser.cc"
+#line 1801 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 253:
-#line 957 "dhcp6_parser.yy"
- {
-
- 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)));
+ case 254:
+#line 964 "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)));
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 1911 "dhcp6_parser.cc"
+#line 1821 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 254:
-#line 973 "dhcp6_parser.yy"
- {
+ case 255:
+#line 980 "dhcp6_parser.yy" // lalr1.cc:859
+ {
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 1922 "dhcp6_parser.cc"
+#line 1832 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 255:
-#line 978 "dhcp6_parser.yy"
- {
+ case 256:
+#line 985 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 1931 "dhcp6_parser.cc"
+#line 1841 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 260:
-#line 991 "dhcp6_parser.yy"
- {
+ case 261:
+#line 998 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ElementPtr duid(new StringElement("duid", ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(duid);
}
-#line 1940 "dhcp6_parser.cc"
+#line 1850 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 261:
-#line 996 "dhcp6_parser.yy"
- {
- ElementPtr duid(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 262:
+#line 1003 "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 1949 "dhcp6_parser.cc"
+#line 1859 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 262:
-#line 1001 "dhcp6_parser.yy"
- {
+ case 263:
+#line 1008 "dhcp6_parser.yy" // lalr1.cc:859
+ {
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 1960 "dhcp6_parser.cc"
+#line 1870 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 263:
-#line 1006 "dhcp6_parser.yy"
- {
+ case 264:
+#line 1013 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 1969 "dhcp6_parser.cc"
+#line 1879 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 269:
-#line 1020 "dhcp6_parser.yy"
- {
+ case 270:
+#line 1027 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ElementPtr hwaddr(new StringElement("hw-address", ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(hwaddr);
}
-#line 1978 "dhcp6_parser.cc"
+#line 1888 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 270:
-#line 1025 "dhcp6_parser.yy"
- {
+ case 271:
+#line 1032 "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 1987 "dhcp6_parser.cc"
+#line 1897 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 271:
-#line 1032 "dhcp6_parser.yy"
- {
+ case 272:
+#line 1039 "dhcp6_parser.yy" // lalr1.cc:859
+ {
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 1998 "dhcp6_parser.cc"
+#line 1908 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 272:
-#line 1037 "dhcp6_parser.yy"
- {
+ case 273:
+#line 1044 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 2007 "dhcp6_parser.cc"
+#line 1917 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 273:
-#line 1042 "dhcp6_parser.yy"
- {
+ case 274:
+#line 1051 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ 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 1928 "dhcp6_parser.cc" // lalr1.cc:859
+ break;
+
+ case 275:
+#line 1056 "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 1939 "dhcp6_parser.cc" // lalr1.cc:859
+ break;
+
+ case 284:
+#line 1075 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
+ ctx.stack_.back()->set("enable-multi-threading", b);
+}
+#line 1948 "dhcp6_parser.cc" // lalr1.cc:859
+ break;
+
+ case 285:
+#line 1080 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ctx.stack_.back()->set("thread-pool-size", prf);
+}
+#line 1957 "dhcp6_parser.cc" // lalr1.cc:859
+ break;
+
+ case 286:
+#line 1085 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ctx.stack_.back()->set("packet-queue-size", prf);
+}
+#line 1966 "dhcp6_parser.cc" // lalr1.cc:859
+ break;
+
+ case 287:
+#line 1090 "dhcp6_parser.yy" // lalr1.cc:859
+ {
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 2018 "dhcp6_parser.cc"
+#line 1977 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 274:
-#line 1047 "dhcp6_parser.yy"
- {
+ case 288:
+#line 1095 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 2027 "dhcp6_parser.cc"
+#line 1986 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 279:
-#line 1060 "dhcp6_parser.yy"
- {
+ case 293:
+#line 1108 "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 2037 "dhcp6_parser.cc"
+#line 1996 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 280:
-#line 1064 "dhcp6_parser.yy"
- {
+ case 294:
+#line 1112 "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 2047 "dhcp6_parser.cc"
+#line 2006 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 281:
-#line 1070 "dhcp6_parser.yy"
- {
+ case 295:
+#line 1118 "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 2057 "dhcp6_parser.cc"
+#line 2016 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 282:
-#line 1074 "dhcp6_parser.yy"
- {
+ case 296:
+#line 1122 "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 2067 "dhcp6_parser.cc"
+#line 2026 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 288:
-#line 1089 "dhcp6_parser.yy"
- {
+ case 302:
+#line 1137 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2075 "dhcp6_parser.cc"
+#line 2034 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 289:
-#line 1091 "dhcp6_parser.yy"
- {
- ElementPtr lib(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 303:
+#line 1139 "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 2085 "dhcp6_parser.cc"
+#line 2044 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 290:
-#line 1097 "dhcp6_parser.yy"
- {
+ case 304:
+#line 1145 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2093 "dhcp6_parser.cc"
+#line 2052 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 291:
-#line 1099 "dhcp6_parser.yy"
- {
- ctx.stack_.back()->set("parameters", yystack_[0].value.as < ElementPtr > ());
+ case 305:
+#line 1147 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ctx.stack_.back()->set("parameters", yystack_[0].value.as< ElementPtr > ());
ctx.leave();
}
-#line 2102 "dhcp6_parser.cc"
+#line 2061 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 292:
-#line 1105 "dhcp6_parser.yy"
- {
+ case 306:
+#line 1153 "dhcp6_parser.yy" // lalr1.cc:859
+ {
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 2113 "dhcp6_parser.cc"
+#line 2072 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 293:
-#line 1110 "dhcp6_parser.yy"
- {
+ case 307:
+#line 1158 "dhcp6_parser.yy" // lalr1.cc:859
+ {
// No expired lease parameter is required
ctx.stack_.pop_back();
ctx.leave();
}
-#line 2123 "dhcp6_parser.cc"
+#line 2082 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 302:
-#line 1128 "dhcp6_parser.yy"
- {
- ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ case 316:
+#line 1176 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ 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 2132 "dhcp6_parser.cc"
+#line 2091 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 303:
-#line 1133 "dhcp6_parser.yy"
- {
- ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ case 317:
+#line 1181 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ 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 2141 "dhcp6_parser.cc"
+#line 2100 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 304:
-#line 1138 "dhcp6_parser.yy"
- {
- ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ case 318:
+#line 1186 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr value(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("hold-reclaimed-time", value);
}
-#line 2150 "dhcp6_parser.cc"
+#line 2109 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 305:
-#line 1143 "dhcp6_parser.yy"
- {
- ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ case 319:
+#line 1191 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr value(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("max-reclaim-leases", value);
}
-#line 2159 "dhcp6_parser.cc"
+#line 2118 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 306:
-#line 1148 "dhcp6_parser.yy"
- {
- ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ case 320:
+#line 1196 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr value(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("max-reclaim-time", value);
}
-#line 2168 "dhcp6_parser.cc"
+#line 2127 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 307:
-#line 1153 "dhcp6_parser.yy"
- {
- ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ case 321:
+#line 1201 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr value(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("unwarned-reclaim-cycles", value);
}
-#line 2177 "dhcp6_parser.cc"
+#line 2136 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 308:
-#line 1161 "dhcp6_parser.yy"
- {
+ case 322:
+#line 1209 "dhcp6_parser.yy" // lalr1.cc:859
+ {
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 2188 "dhcp6_parser.cc"
+#line 2147 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 309:
-#line 1166 "dhcp6_parser.yy"
- {
+ case 323:
+#line 1214 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 2197 "dhcp6_parser.cc"
+#line 2156 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 314:
-#line 1186 "dhcp6_parser.yy"
- {
+ case 328:
+#line 1234 "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 2207 "dhcp6_parser.cc"
+#line 2166 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 315:
-#line 1190 "dhcp6_parser.yy"
- {
+ case 329:
+#line 1238 "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 2233 "dhcp6_parser.cc"
+#line 2192 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 316:
-#line 1212 "dhcp6_parser.yy"
- {
+ case 330:
+#line 1260 "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 2243 "dhcp6_parser.cc"
+#line 2202 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 317:
-#line 1216 "dhcp6_parser.yy"
- {
+ case 331:
+#line 1264 "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 2253 "dhcp6_parser.cc"
+#line 2212 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 356:
-#line 1266 "dhcp6_parser.yy"
- {
+ case 370:
+#line 1314 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2261 "dhcp6_parser.cc"
+#line 2220 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 357:
-#line 1268 "dhcp6_parser.yy"
- {
- ElementPtr subnet(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 371:
+#line 1316 "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 2271 "dhcp6_parser.cc"
+#line 2230 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 358:
-#line 1274 "dhcp6_parser.yy"
- {
+ case 372:
+#line 1322 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2279 "dhcp6_parser.cc"
+#line 2238 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 359:
-#line 1276 "dhcp6_parser.yy"
- {
- ElementPtr iface(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 373:
+#line 1324 "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 2289 "dhcp6_parser.cc"
+#line 2248 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 360:
-#line 1282 "dhcp6_parser.yy"
- {
+ case 374:
+#line 1330 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2297 "dhcp6_parser.cc"
+#line 2256 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 361:
-#line 1284 "dhcp6_parser.yy"
- {
- ElementPtr iface(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 375:
+#line 1332 "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 2307 "dhcp6_parser.cc"
+#line 2266 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 362:
-#line 1290 "dhcp6_parser.yy"
- {
+ case 376:
+#line 1338 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2315 "dhcp6_parser.cc"
+#line 2274 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 363:
-#line 1292 "dhcp6_parser.yy"
- {
- ElementPtr cls(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 377:
+#line 1340 "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 2325 "dhcp6_parser.cc"
+#line 2284 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 364:
-#line 1298 "dhcp6_parser.yy"
- {
+ case 378:
+#line 1346 "dhcp6_parser.yy" // lalr1.cc:859
+ {
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 2336 "dhcp6_parser.cc"
+#line 2295 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 365:
-#line 1303 "dhcp6_parser.yy"
- {
+ case 379:
+#line 1351 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 2345 "dhcp6_parser.cc"
+#line 2304 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 366:
-#line 1308 "dhcp6_parser.yy"
- {
+ case 380:
+#line 1356 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.RESERVATION_MODE);
}
-#line 2353 "dhcp6_parser.cc"
+#line 2312 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 367:
-#line 1310 "dhcp6_parser.yy"
- {
- ctx.stack_.back()->set("reservation-mode", yystack_[0].value.as < ElementPtr > ());
+ case 381:
+#line 1358 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ctx.stack_.back()->set("reservation-mode", yystack_[0].value.as< ElementPtr > ());
ctx.leave();
}
-#line 2362 "dhcp6_parser.cc"
+#line 2321 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 368:
-#line 1315 "dhcp6_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("disabled", ctx.loc2pos(yystack_[0].location))); }
-#line 2368 "dhcp6_parser.cc"
+ case 382:
+#line 1363 "dhcp6_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("disabled", ctx.loc2pos(yystack_[0].location))); }
+#line 2327 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 369:
-#line 1316 "dhcp6_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("out-of-pool", ctx.loc2pos(yystack_[0].location))); }
-#line 2374 "dhcp6_parser.cc"
+ case 383:
+#line 1364 "dhcp6_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("out-of-pool", ctx.loc2pos(yystack_[0].location))); }
+#line 2333 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 370:
-#line 1317 "dhcp6_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("global", ctx.loc2pos(yystack_[0].location))); }
-#line 2380 "dhcp6_parser.cc"
+ case 384:
+#line 1365 "dhcp6_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("global", ctx.loc2pos(yystack_[0].location))); }
+#line 2339 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 371:
-#line 1318 "dhcp6_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("all", ctx.loc2pos(yystack_[0].location))); }
-#line 2386 "dhcp6_parser.cc"
+ case 385:
+#line 1366 "dhcp6_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("all", ctx.loc2pos(yystack_[0].location))); }
+#line 2345 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 372:
-#line 1321 "dhcp6_parser.yy"
- {
- ElementPtr id(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ case 386:
+#line 1369 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr id(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("id", id);
}
-#line 2395 "dhcp6_parser.cc"
+#line 2354 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 373:
-#line 1326 "dhcp6_parser.yy"
- {
- ElementPtr rc(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ case 387:
+#line 1374 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr rc(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("rapid-commit", rc);
}
-#line 2404 "dhcp6_parser.cc"
+#line 2363 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 374:
-#line 1334 "dhcp6_parser.yy"
- {
+ case 388:
+#line 1381 "dhcp6_parser.yy" // lalr1.cc:859
+ {
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 2415 "dhcp6_parser.cc"
+#line 2374 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 375:
-#line 1339 "dhcp6_parser.yy"
- {
+ case 389:
+#line 1386 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 2424 "dhcp6_parser.cc"
+#line 2383 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 380:
-#line 1354 "dhcp6_parser.yy"
- {
+ case 394:
+#line 1401 "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 2434 "dhcp6_parser.cc"
+#line 2393 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 381:
-#line 1358 "dhcp6_parser.yy"
- {
+ case 395:
+#line 1405 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
}
-#line 2442 "dhcp6_parser.cc"
+#line 2401 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 417:
-#line 1405 "dhcp6_parser.yy"
- {
+ case 431:
+#line 1452 "dhcp6_parser.yy" // lalr1.cc:859
+ {
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 2453 "dhcp6_parser.cc"
+#line 2412 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 418:
-#line 1410 "dhcp6_parser.yy"
- {
+ case 432:
+#line 1457 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 2462 "dhcp6_parser.cc"
+#line 2421 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 419:
-#line 1418 "dhcp6_parser.yy"
- {
+ case 433:
+#line 1465 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.push_back(m);
}
-#line 2471 "dhcp6_parser.cc"
+#line 2430 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 420:
-#line 1421 "dhcp6_parser.yy"
- {
+ case 434:
+#line 1468 "dhcp6_parser.yy" // lalr1.cc:859
+ {
// parsing completed
}
-#line 2479 "dhcp6_parser.cc"
+#line 2438 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 425:
-#line 1437 "dhcp6_parser.yy"
- {
+ case 439:
+#line 1484 "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 2489 "dhcp6_parser.cc"
+#line 2448 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 426:
-#line 1441 "dhcp6_parser.yy"
- {
+ case 440:
+#line 1488 "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 2501 "dhcp6_parser.cc"
+#line 2460 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 427:
-#line 1452 "dhcp6_parser.yy"
- {
+ case 441:
+#line 1499 "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 2511 "dhcp6_parser.cc"
+#line 2470 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 428:
-#line 1456 "dhcp6_parser.yy"
- {
+ case 442:
+#line 1503 "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 2523 "dhcp6_parser.cc"
+#line 2482 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 444:
-#line 1488 "dhcp6_parser.yy"
- {
- ElementPtr code(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ case 458:
+#line 1535 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr code(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("code", code);
}
-#line 2532 "dhcp6_parser.cc"
+#line 2491 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 446:
-#line 1495 "dhcp6_parser.yy"
- {
+ case 460:
+#line 1542 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2540 "dhcp6_parser.cc"
+#line 2499 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 447:
-#line 1497 "dhcp6_parser.yy"
- {
- ElementPtr prf(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 461:
+#line 1544 "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 2550 "dhcp6_parser.cc"
+#line 2509 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 448:
-#line 1503 "dhcp6_parser.yy"
- {
+ case 462:
+#line 1550 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2558 "dhcp6_parser.cc"
+#line 2517 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 449:
-#line 1505 "dhcp6_parser.yy"
- {
- ElementPtr rtypes(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 463:
+#line 1552 "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 2568 "dhcp6_parser.cc"
+#line 2527 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 450:
-#line 1511 "dhcp6_parser.yy"
- {
+ case 464:
+#line 1558 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2576 "dhcp6_parser.cc"
+#line 2535 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 451:
-#line 1513 "dhcp6_parser.yy"
- {
- ElementPtr space(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 465:
+#line 1560 "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 2586 "dhcp6_parser.cc"
+#line 2545 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 453:
-#line 1521 "dhcp6_parser.yy"
- {
+ case 467:
+#line 1568 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2594 "dhcp6_parser.cc"
+#line 2553 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 454:
-#line 1523 "dhcp6_parser.yy"
- {
- ElementPtr encap(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 468:
+#line 1570 "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 2604 "dhcp6_parser.cc"
+#line 2563 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 455:
-#line 1529 "dhcp6_parser.yy"
- {
- ElementPtr array(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ case 469:
+#line 1576 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr array(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("array", array);
}
-#line 2613 "dhcp6_parser.cc"
+#line 2572 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 456:
-#line 1538 "dhcp6_parser.yy"
- {
+ case 470:
+#line 1585 "dhcp6_parser.yy" // lalr1.cc:859
+ {
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 2624 "dhcp6_parser.cc"
+#line 2583 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 457:
-#line 1543 "dhcp6_parser.yy"
- {
+ case 471:
+#line 1590 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 2633 "dhcp6_parser.cc"
+#line 2592 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 462:
-#line 1562 "dhcp6_parser.yy"
- {
+ case 476:
+#line 1609 "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 2643 "dhcp6_parser.cc"
+#line 2602 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 463:
-#line 1566 "dhcp6_parser.yy"
- {
+ case 477:
+#line 1613 "dhcp6_parser.yy" // lalr1.cc:859
+ {
/// @todo: the code or name parameters are required.
ctx.stack_.pop_back();
}
-#line 2652 "dhcp6_parser.cc"
+#line 2611 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 464:
-#line 1574 "dhcp6_parser.yy"
- {
+ case 478:
+#line 1621 "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 2662 "dhcp6_parser.cc"
+#line 2621 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 465:
-#line 1578 "dhcp6_parser.yy"
- {
+ case 479:
+#line 1625 "dhcp6_parser.yy" // lalr1.cc:859
+ {
/// @todo: the code or name parameters are required.
// parsing completed
}
-#line 2671 "dhcp6_parser.cc"
+#line 2630 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 480:
-#line 1611 "dhcp6_parser.yy"
- {
+ case 494:
+#line 1658 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2679 "dhcp6_parser.cc"
+#line 2638 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 481:
-#line 1613 "dhcp6_parser.yy"
- {
- ElementPtr data(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 495:
+#line 1660 "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 2689 "dhcp6_parser.cc"
+#line 2648 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 484:
-#line 1623 "dhcp6_parser.yy"
- {
- ElementPtr space(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ case 498:
+#line 1670 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr space(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("csv-format", space);
}
-#line 2698 "dhcp6_parser.cc"
+#line 2657 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 485:
-#line 1628 "dhcp6_parser.yy"
- {
- ElementPtr persist(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ case 499:
+#line 1675 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr persist(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("always-send", persist);
}
-#line 2707 "dhcp6_parser.cc"
+#line 2666 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 486:
-#line 1636 "dhcp6_parser.yy"
- {
+ case 500:
+#line 1683 "dhcp6_parser.yy" // lalr1.cc:859
+ {
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 2718 "dhcp6_parser.cc"
+#line 2677 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 487:
-#line 1641 "dhcp6_parser.yy"
- {
+ case 501:
+#line 1688 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 2727 "dhcp6_parser.cc"
+#line 2686 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 492:
-#line 1656 "dhcp6_parser.yy"
- {
+ case 506:
+#line 1703 "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 2737 "dhcp6_parser.cc"
+#line 2696 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 493:
-#line 1660 "dhcp6_parser.yy"
- {
+ case 507:
+#line 1707 "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 2747 "dhcp6_parser.cc"
+#line 2706 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 494:
-#line 1666 "dhcp6_parser.yy"
- {
+ case 508:
+#line 1713 "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 2757 "dhcp6_parser.cc"
+#line 2716 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 495:
-#line 1670 "dhcp6_parser.yy"
- {
+ case 509:
+#line 1717 "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 2766 "dhcp6_parser.cc"
+#line 2726 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 505:
-#line 1688 "dhcp6_parser.yy"
- {
+ case 519:
+#line 1736 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2774 "dhcp6_parser.cc"
+#line 2734 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 506:
-#line 1690 "dhcp6_parser.yy"
- {
- ElementPtr pool(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 520:
+#line 1738 "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 2784 "dhcp6_parser.cc"
+#line 2744 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 507:
-#line 1696 "dhcp6_parser.yy"
- {
+ case 521:
+#line 1744 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2792 "dhcp6_parser.cc"
+#line 2752 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 508:
-#line 1698 "dhcp6_parser.yy"
- {
+ case 522:
+#line 1746 "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 2819 "dhcp6_parser.cc"
+#line 2779 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 509:
-#line 1721 "dhcp6_parser.yy"
- {
+ case 523:
+#line 1769 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2827 "dhcp6_parser.cc"
+#line 2787 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 510:
-#line 1723 "dhcp6_parser.yy"
- {
+ case 524:
+#line 1771 "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 2856 "dhcp6_parser.cc"
+#line 2816 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 511:
-#line 1751 "dhcp6_parser.yy"
- {
+ case 525:
+#line 1799 "dhcp6_parser.yy" // lalr1.cc:859
+ {
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 2867 "dhcp6_parser.cc"
+#line 2827 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 512:
-#line 1756 "dhcp6_parser.yy"
- {
+ case 526:
+#line 1804 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 2876 "dhcp6_parser.cc"
+#line 2836 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 517:
-#line 1771 "dhcp6_parser.yy"
- {
+ case 531:
+#line 1819 "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 2886 "dhcp6_parser.cc"
+#line 2846 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 518:
-#line 1775 "dhcp6_parser.yy"
- {
+ case 532:
+#line 1823 "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 2898 "dhcp6_parser.cc"
+#line 2858 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 519:
-#line 1783 "dhcp6_parser.yy"
- {
+ case 533:
+#line 1831 "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 2908 "dhcp6_parser.cc"
+#line 2868 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 520:
-#line 1787 "dhcp6_parser.yy"
- {
+ case 534:
+#line 1835 "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 2920 "dhcp6_parser.cc"
+#line 2880 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 534:
-#line 1812 "dhcp6_parser.yy"
- {
+ case 548:
+#line 1860 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2928 "dhcp6_parser.cc"
+#line 2888 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 535:
-#line 1814 "dhcp6_parser.yy"
- {
- ElementPtr prf(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 549:
+#line 1862 "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 2938 "dhcp6_parser.cc"
+#line 2898 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 536:
-#line 1820 "dhcp6_parser.yy"
- {
- ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ case 550:
+#line 1868 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("prefix-len", prf);
}
-#line 2947 "dhcp6_parser.cc"
+#line 2907 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 537:
-#line 1825 "dhcp6_parser.yy"
- {
+ case 551:
+#line 1873 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2955 "dhcp6_parser.cc"
+#line 2915 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 538:
-#line 1827 "dhcp6_parser.yy"
- {
- ElementPtr prf(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 552:
+#line 1875 "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 2965 "dhcp6_parser.cc"
+#line 2925 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 539:
-#line 1833 "dhcp6_parser.yy"
- {
- ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ case 553:
+#line 1881 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("excluded-prefix-len", prf);
}
-#line 2974 "dhcp6_parser.cc"
+#line 2934 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 540:
-#line 1838 "dhcp6_parser.yy"
- {
- ElementPtr deleg(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ case 554:
+#line 1886 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr deleg(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("delegated-len", deleg);
}
-#line 2983 "dhcp6_parser.cc"
+#line 2943 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 541:
-#line 1846 "dhcp6_parser.yy"
- {
+ case 555:
+#line 1894 "dhcp6_parser.yy" // lalr1.cc:859
+ {
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 2994 "dhcp6_parser.cc"
+#line 2954 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 542:
-#line 1851 "dhcp6_parser.yy"
- {
+ case 556:
+#line 1899 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 3003 "dhcp6_parser.cc"
+#line 2963 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 547:
-#line 1864 "dhcp6_parser.yy"
- {
+ case 561:
+#line 1912 "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 3013 "dhcp6_parser.cc"
+#line 2973 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 548:
-#line 1868 "dhcp6_parser.yy"
- {
+ case 562:
+#line 1916 "dhcp6_parser.yy" // lalr1.cc:859
+ {
/// @todo: an identifier parameter is required.
ctx.stack_.pop_back();
}
-#line 3022 "dhcp6_parser.cc"
+#line 2982 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 549:
-#line 1873 "dhcp6_parser.yy"
- {
+ case 563:
+#line 1921 "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 3032 "dhcp6_parser.cc"
+#line 2992 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 550:
-#line 1877 "dhcp6_parser.yy"
- {
+ case 564:
+#line 1925 "dhcp6_parser.yy" // lalr1.cc:859
+ {
/// @todo: an identifier parameter is required.
// parsing completed
}
-#line 3041 "dhcp6_parser.cc"
+#line 3001 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 566:
-#line 1904 "dhcp6_parser.yy"
- {
+ case 580:
+#line 1952 "dhcp6_parser.yy" // lalr1.cc:859
+ {
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 3052 "dhcp6_parser.cc"
+#line 3012 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 567:
-#line 1909 "dhcp6_parser.yy"
- {
+ case 581:
+#line 1957 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 3061 "dhcp6_parser.cc"
+#line 3021 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 568:
-#line 1914 "dhcp6_parser.yy"
- {
+ case 582:
+#line 1962 "dhcp6_parser.yy" // lalr1.cc:859
+ {
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 3072 "dhcp6_parser.cc"
+#line 3032 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 569:
-#line 1919 "dhcp6_parser.yy"
- {
+ case 583:
+#line 1967 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 3081 "dhcp6_parser.cc"
+#line 3041 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 570:
-#line 1924 "dhcp6_parser.yy"
- {
+ case 584:
+#line 1972 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3089 "dhcp6_parser.cc"
+#line 3049 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 571:
-#line 1926 "dhcp6_parser.yy"
- {
- ElementPtr d(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 585:
+#line 1974 "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 3099 "dhcp6_parser.cc"
+#line 3059 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 572:
-#line 1932 "dhcp6_parser.yy"
- {
+ case 586:
+#line 1980 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3107 "dhcp6_parser.cc"
+#line 3067 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 573:
-#line 1934 "dhcp6_parser.yy"
- {
- ElementPtr hw(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 587:
+#line 1982 "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 3117 "dhcp6_parser.cc"
+#line 3077 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 574:
-#line 1940 "dhcp6_parser.yy"
- {
+ case 588:
+#line 1988 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3125 "dhcp6_parser.cc"
+#line 3085 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 575:
-#line 1942 "dhcp6_parser.yy"
- {
- ElementPtr host(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 589:
+#line 1990 "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 3135 "dhcp6_parser.cc"
+#line 3095 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 576:
-#line 1948 "dhcp6_parser.yy"
- {
+ case 590:
+#line 1996 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3143 "dhcp6_parser.cc"
+#line 3103 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 577:
-#line 1950 "dhcp6_parser.yy"
- {
- ElementPtr hw(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 591:
+#line 1998 "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 3153 "dhcp6_parser.cc"
+#line 3113 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 578:
-#line 1956 "dhcp6_parser.yy"
- {
+ case 592:
+#line 2004 "dhcp6_parser.yy" // lalr1.cc:859
+ {
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 3164 "dhcp6_parser.cc"
+#line 3124 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 579:
-#line 1961 "dhcp6_parser.yy"
- {
+ case 593:
+#line 2009 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 3173 "dhcp6_parser.cc"
+#line 3133 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 580:
-#line 1969 "dhcp6_parser.yy"
- {
+ case 594:
+#line 2017 "dhcp6_parser.yy" // lalr1.cc:859
+ {
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 3184 "dhcp6_parser.cc"
+#line 3144 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 581:
-#line 1974 "dhcp6_parser.yy"
- {
+ case 595:
+#line 2022 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 3193 "dhcp6_parser.cc"
+#line 3153 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 584:
-#line 1983 "dhcp6_parser.yy"
- {
+ case 598:
+#line 2031 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3201 "dhcp6_parser.cc"
+#line 3161 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 585:
-#line 1985 "dhcp6_parser.yy"
- {
- ElementPtr addr(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 599:
+#line 2033 "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 3211 "dhcp6_parser.cc"
+#line 3171 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 586:
-#line 1994 "dhcp6_parser.yy"
- {
+ case 600:
+#line 2042 "dhcp6_parser.yy" // lalr1.cc:859
+ {
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 3222 "dhcp6_parser.cc"
+#line 3182 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 587:
-#line 1999 "dhcp6_parser.yy"
- {
+ case 601:
+#line 2047 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 3231 "dhcp6_parser.cc"
+#line 3191 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 590:
-#line 2008 "dhcp6_parser.yy"
- {
+ case 604:
+#line 2056 "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 3241 "dhcp6_parser.cc"
+#line 3201 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 591:
-#line 2012 "dhcp6_parser.yy"
- {
+ case 605:
+#line 2060 "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 3251 "dhcp6_parser.cc"
+#line 3211 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 604:
-#line 2037 "dhcp6_parser.yy"
- {
+ case 618:
+#line 2085 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3259 "dhcp6_parser.cc"
+#line 3219 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 605:
-#line 2039 "dhcp6_parser.yy"
- {
- ElementPtr test(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 619:
+#line 2087 "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 3269 "dhcp6_parser.cc"
+#line 3229 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 606:
-#line 2045 "dhcp6_parser.yy"
- {
- ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ case 620:
+#line 2093 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("only-if-required", b);
}
-#line 3278 "dhcp6_parser.cc"
+#line 3238 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 607:
-#line 2053 "dhcp6_parser.yy"
- {
+ case 621:
+#line 2101 "dhcp6_parser.yy" // lalr1.cc:859
+ {
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 3289 "dhcp6_parser.cc"
+#line 3249 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 608:
-#line 2058 "dhcp6_parser.yy"
- {
+ case 622:
+#line 2106 "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 3300 "dhcp6_parser.cc"
+#line 3260 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 620:
-#line 2080 "dhcp6_parser.yy"
- {
+ case 634:
+#line 2128 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.DUID_TYPE);
}
-#line 3308 "dhcp6_parser.cc"
+#line 3268 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 621:
-#line 2082 "dhcp6_parser.yy"
- {
- ctx.stack_.back()->set("type", yystack_[0].value.as < ElementPtr > ());
+ case 635:
+#line 2130 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ctx.stack_.back()->set("type", yystack_[0].value.as< ElementPtr > ());
ctx.leave();
}
-#line 3317 "dhcp6_parser.cc"
+#line 3277 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 622:
-#line 2087 "dhcp6_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("LLT", ctx.loc2pos(yystack_[0].location))); }
-#line 3323 "dhcp6_parser.cc"
+ case 636:
+#line 2135 "dhcp6_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("LLT", ctx.loc2pos(yystack_[0].location))); }
+#line 3283 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 623:
-#line 2088 "dhcp6_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("EN", ctx.loc2pos(yystack_[0].location))); }
-#line 3329 "dhcp6_parser.cc"
+ case 637:
+#line 2136 "dhcp6_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("EN", ctx.loc2pos(yystack_[0].location))); }
+#line 3289 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 624:
-#line 2089 "dhcp6_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("LL", ctx.loc2pos(yystack_[0].location))); }
-#line 3335 "dhcp6_parser.cc"
+ case 638:
+#line 2137 "dhcp6_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("LL", ctx.loc2pos(yystack_[0].location))); }
+#line 3295 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 625:
-#line 2092 "dhcp6_parser.yy"
- {
- ElementPtr htype(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ case 639:
+#line 2140 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr htype(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("htype", htype);
}
-#line 3344 "dhcp6_parser.cc"
+#line 3304 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 626:
-#line 2097 "dhcp6_parser.yy"
- {
+ case 640:
+#line 2145 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3352 "dhcp6_parser.cc"
+#line 3312 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 627:
-#line 2099 "dhcp6_parser.yy"
- {
- ElementPtr id(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 641:
+#line 2147 "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 3362 "dhcp6_parser.cc"
+#line 3322 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 628:
-#line 2105 "dhcp6_parser.yy"
- {
- ElementPtr time(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ case 642:
+#line 2153 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr time(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("time", time);
}
-#line 3371 "dhcp6_parser.cc"
+#line 3331 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 629:
-#line 2110 "dhcp6_parser.yy"
- {
- ElementPtr time(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ case 643:
+#line 2158 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr time(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("enterprise-id", time);
}
-#line 3380 "dhcp6_parser.cc"
+#line 3340 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 630:
-#line 2117 "dhcp6_parser.yy"
- {
- ElementPtr time(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ case 644:
+#line 2165 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr time(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("dhcp4o6-port", time);
}
-#line 3389 "dhcp6_parser.cc"
+#line 3349 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 631:
-#line 2124 "dhcp6_parser.yy"
- {
+ case 645:
+#line 2172 "dhcp6_parser.yy" // lalr1.cc:859
+ {
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 3400 "dhcp6_parser.cc"
+#line 3360 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 632:
-#line 2129 "dhcp6_parser.yy"
- {
+ case 646:
+#line 2177 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 3409 "dhcp6_parser.cc"
+#line 3369 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 640:
-#line 2145 "dhcp6_parser.yy"
- {
+ case 654:
+#line 2193 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3417 "dhcp6_parser.cc"
+#line 3377 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 641:
-#line 2147 "dhcp6_parser.yy"
- {
- ElementPtr stype(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 655:
+#line 2195 "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 3427 "dhcp6_parser.cc"
+#line 3387 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 642:
-#line 2153 "dhcp6_parser.yy"
- {
+ case 656:
+#line 2201 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3435 "dhcp6_parser.cc"
+#line 3395 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 643:
-#line 2155 "dhcp6_parser.yy"
- {
- ElementPtr name(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 657:
+#line 2203 "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 3445 "dhcp6_parser.cc"
+#line 3405 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 644:
-#line 2163 "dhcp6_parser.yy"
- {
+ case 658:
+#line 2212 "dhcp6_parser.yy" // lalr1.cc:859
+ {
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 3456 "dhcp6_parser.cc"
+#line 3416 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 645:
-#line 2168 "dhcp6_parser.yy"
- {
+ case 659:
+#line 2217 "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 3467 "dhcp6_parser.cc"
+#line 3427 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 654:
-#line 2187 "dhcp6_parser.yy"
- {
- ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ case 668:
+#line 2236 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("enable-queue", b);
}
-#line 3476 "dhcp6_parser.cc"
+#line 3436 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 655:
-#line 2192 "dhcp6_parser.yy"
- {
+ case 669:
+#line 2241 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3484 "dhcp6_parser.cc"
+#line 3444 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 656:
-#line 2194 "dhcp6_parser.yy"
- {
- ElementPtr qt(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 670:
+#line 2243 "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 3494 "dhcp6_parser.cc"
+#line 3454 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 657:
-#line 2200 "dhcp6_parser.yy"
- {
- ElementPtr c(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ case 671:
+#line 2249 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr c(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("capacity", c);
}
-#line 3503 "dhcp6_parser.cc"
+#line 3463 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 658:
-#line 2205 "dhcp6_parser.yy"
- {
+ case 672:
+#line 2254 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3511 "dhcp6_parser.cc"
+#line 3471 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 659:
-#line 2207 "dhcp6_parser.yy"
- {
- ctx.stack_.back()->set(yystack_[3].value.as < std::string > (), yystack_[0].value.as < ElementPtr > ());
+ case 673:
+#line 2256 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ctx.stack_.back()->set(yystack_[3].value.as< std::string > (), yystack_[0].value.as< ElementPtr > ());
ctx.leave();
}
-#line 3520 "dhcp6_parser.cc"
+#line 3480 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 660:
-#line 2214 "dhcp6_parser.yy"
- {
+ case 674:
+#line 2263 "dhcp6_parser.yy" // lalr1.cc:859
+ {
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 3531 "dhcp6_parser.cc"
+#line 3491 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 661:
-#line 2219 "dhcp6_parser.yy"
- {
+ case 675:
+#line 2268 "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 3542 "dhcp6_parser.cc"
+#line 3502 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 662:
-#line 2226 "dhcp6_parser.yy"
- {
+ case 676:
+#line 2275 "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 3552 "dhcp6_parser.cc"
+#line 3512 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 663:
-#line 2230 "dhcp6_parser.yy"
- {
+ case 677:
+#line 2279 "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 3562 "dhcp6_parser.cc"
+#line 3522 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 684:
-#line 2260 "dhcp6_parser.yy"
- {
- ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ case 698:
+#line 2309 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("enable-updates", b);
}
-#line 3571 "dhcp6_parser.cc"
+#line 3531 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 685:
-#line 2265 "dhcp6_parser.yy"
- {
+ case 699:
+#line 2314 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3579 "dhcp6_parser.cc"
+#line 3539 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 686:
-#line 2267 "dhcp6_parser.yy"
- {
- ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 700:
+#line 2316 "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 3589 "dhcp6_parser.cc"
+#line 3549 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 687:
-#line 2273 "dhcp6_parser.yy"
- {
+ case 701:
+#line 2322 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3597 "dhcp6_parser.cc"
+#line 3557 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 688:
-#line 2275 "dhcp6_parser.yy"
- {
- ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 702:
+#line 2324 "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 3607 "dhcp6_parser.cc"
+#line 3567 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 689:
-#line 2281 "dhcp6_parser.yy"
- {
- ElementPtr i(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ case 703:
+#line 2330 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr i(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("server-port", i);
}
-#line 3616 "dhcp6_parser.cc"
+#line 3576 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 690:
-#line 2286 "dhcp6_parser.yy"
- {
+ case 704:
+#line 2335 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3624 "dhcp6_parser.cc"
+#line 3584 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 691:
-#line 2288 "dhcp6_parser.yy"
- {
- ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 705:
+#line 2337 "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 3634 "dhcp6_parser.cc"
+#line 3594 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 692:
-#line 2294 "dhcp6_parser.yy"
- {
- ElementPtr i(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ case 706:
+#line 2343 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr i(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("sender-port", i);
}
-#line 3643 "dhcp6_parser.cc"
+#line 3603 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 693:
-#line 2299 "dhcp6_parser.yy"
- {
- ElementPtr i(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ case 707:
+#line 2348 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr i(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("max-queue-size", i);
}
-#line 3652 "dhcp6_parser.cc"
+#line 3612 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 694:
-#line 2304 "dhcp6_parser.yy"
- {
+ case 708:
+#line 2353 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NCR_PROTOCOL);
}
-#line 3660 "dhcp6_parser.cc"
+#line 3620 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 695:
-#line 2306 "dhcp6_parser.yy"
- {
- ctx.stack_.back()->set("ncr-protocol", yystack_[0].value.as < ElementPtr > ());
+ case 709:
+#line 2355 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ctx.stack_.back()->set("ncr-protocol", yystack_[0].value.as< ElementPtr > ());
ctx.leave();
}
-#line 3669 "dhcp6_parser.cc"
+#line 3629 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 696:
-#line 2312 "dhcp6_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("UDP", ctx.loc2pos(yystack_[0].location))); }
-#line 3675 "dhcp6_parser.cc"
+ case 710:
+#line 2361 "dhcp6_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("UDP", ctx.loc2pos(yystack_[0].location))); }
+#line 3635 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 697:
-#line 2313 "dhcp6_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("TCP", ctx.loc2pos(yystack_[0].location))); }
-#line 3681 "dhcp6_parser.cc"
+ case 711:
+#line 2362 "dhcp6_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("TCP", ctx.loc2pos(yystack_[0].location))); }
+#line 3641 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 698:
-#line 2316 "dhcp6_parser.yy"
- {
+ case 712:
+#line 2365 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NCR_FORMAT);
}
-#line 3689 "dhcp6_parser.cc"
+#line 3649 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 699:
-#line 2318 "dhcp6_parser.yy"
- {
+ case 713:
+#line 2367 "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 3699 "dhcp6_parser.cc"
+#line 3659 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 700:
-#line 2325 "dhcp6_parser.yy"
- {
- ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ case 714:
+#line 2374 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("override-no-update", b);
}
-#line 3708 "dhcp6_parser.cc"
+#line 3668 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 701:
-#line 2331 "dhcp6_parser.yy"
- {
- ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ case 715:
+#line 2380 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("override-client-update", b);
}
-#line 3717 "dhcp6_parser.cc"
+#line 3677 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 702:
-#line 2337 "dhcp6_parser.yy"
- {
+ case 716:
+#line 2386 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.REPLACE_CLIENT_NAME);
}
-#line 3725 "dhcp6_parser.cc"
+#line 3685 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 703:
-#line 2339 "dhcp6_parser.yy"
- {
- ctx.stack_.back()->set("replace-client-name", yystack_[0].value.as < ElementPtr > ());
+ case 717:
+#line 2388 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ctx.stack_.back()->set("replace-client-name", yystack_[0].value.as< ElementPtr > ());
ctx.leave();
}
-#line 3734 "dhcp6_parser.cc"
+#line 3694 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 704:
-#line 2345 "dhcp6_parser.yy"
- {
+ case 718:
+#line 2394 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3742 "dhcp6_parser.cc"
+#line 3702 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 705:
-#line 2347 "dhcp6_parser.yy"
- {
- ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 719:
+#line 2396 "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 3752 "dhcp6_parser.cc"
+#line 3712 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 706:
-#line 2354 "dhcp6_parser.yy"
- {
+ case 720:
+#line 2403 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3760 "dhcp6_parser.cc"
+#line 3720 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 707:
-#line 2356 "dhcp6_parser.yy"
- {
- ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 721:
+#line 2405 "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 3770 "dhcp6_parser.cc"
+#line 3730 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 708:
-#line 2363 "dhcp6_parser.yy"
- {
+ case 722:
+#line 2412 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3778 "dhcp6_parser.cc"
+#line 3738 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 709:
-#line 2365 "dhcp6_parser.yy"
- {
- ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 723:
+#line 2414 "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 3788 "dhcp6_parser.cc"
+#line 3748 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 710:
-#line 2373 "dhcp6_parser.yy"
- {
+ case 724:
+#line 2423 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3796 "dhcp6_parser.cc"
+#line 3756 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 711:
-#line 2375 "dhcp6_parser.yy"
- {
- ctx.stack_.back()->set("Dhcp4", yystack_[0].value.as < ElementPtr > ());
+ case 725:
+#line 2425 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ctx.stack_.back()->set("Dhcp4", yystack_[0].value.as< ElementPtr > ());
ctx.leave();
}
-#line 3805 "dhcp6_parser.cc"
+#line 3765 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 712:
-#line 2380 "dhcp6_parser.yy"
- {
+ case 726:
+#line 2430 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3813 "dhcp6_parser.cc"
+#line 3773 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 713:
-#line 2382 "dhcp6_parser.yy"
- {
- ctx.stack_.back()->set("DhcpDdns", yystack_[0].value.as < ElementPtr > ());
+ case 727:
+#line 2432 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ctx.stack_.back()->set("DhcpDdns", yystack_[0].value.as< ElementPtr > ());
ctx.leave();
}
-#line 3822 "dhcp6_parser.cc"
+#line 3782 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 714:
-#line 2387 "dhcp6_parser.yy"
- {
+ case 728:
+#line 2437 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3830 "dhcp6_parser.cc"
+#line 3790 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 715:
-#line 2389 "dhcp6_parser.yy"
- {
- ctx.stack_.back()->set("Control-agent", yystack_[0].value.as < ElementPtr > ());
+ case 729:
+#line 2439 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ctx.stack_.back()->set("Control-agent", yystack_[0].value.as< ElementPtr > ());
ctx.leave();
}
-#line 3839 "dhcp6_parser.cc"
+#line 3799 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 716:
-#line 2396 "dhcp6_parser.yy"
- {
+ case 730:
+#line 2446 "dhcp6_parser.yy" // lalr1.cc:859
+ {
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 3850 "dhcp6_parser.cc"
+#line 3810 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 717:
-#line 2401 "dhcp6_parser.yy"
- {
+ case 731:
+#line 2451 "dhcp6_parser.yy" // lalr1.cc:859
+ {
// No config control params are required
ctx.stack_.pop_back();
ctx.leave();
}
-#line 3860 "dhcp6_parser.cc"
+#line 3820 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 718:
-#line 2407 "dhcp6_parser.yy"
- {
+ case 732:
+#line 2457 "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 3870 "dhcp6_parser.cc"
+#line 3830 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 719:
-#line 2411 "dhcp6_parser.yy"
- {
+ case 733:
+#line 2461 "dhcp6_parser.yy" // lalr1.cc:859
+ {
// No config_control params are required
// parsing completed
}
-#line 3879 "dhcp6_parser.cc"
+#line 3839 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 724:
-#line 2426 "dhcp6_parser.yy"
- {
+ case 738:
+#line 2476 "dhcp6_parser.yy" // lalr1.cc:859
+ {
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 3890 "dhcp6_parser.cc"
+#line 3850 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 725:
-#line 2431 "dhcp6_parser.yy"
- {
+ case 739:
+#line 2481 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 3899 "dhcp6_parser.cc"
+#line 3859 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 726:
-#line 2436 "dhcp6_parser.yy"
- {
- ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ case 740:
+#line 2486 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ 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 3908 "dhcp6_parser.cc"
+#line 3868 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 727:
-#line 2446 "dhcp6_parser.yy"
- {
+ case 741:
+#line 2496 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("Logging", m);
ctx.stack_.push_back(m);
ctx.enter(ctx.LOGGING);
}
-#line 3919 "dhcp6_parser.cc"
+#line 3879 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 728:
-#line 2451 "dhcp6_parser.yy"
- {
+ case 742:
+#line 2501 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 3928 "dhcp6_parser.cc"
+#line 3888 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 729:
-#line 2456 "dhcp6_parser.yy"
- {
+ case 743:
+#line 2506 "dhcp6_parser.yy" // lalr1.cc:859
+ {
// Parse the Logging map
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.push_back(m);
}
-#line 3938 "dhcp6_parser.cc"
+#line 3898 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 730:
-#line 2460 "dhcp6_parser.yy"
- {
+ case 744:
+#line 2510 "dhcp6_parser.yy" // lalr1.cc:859
+ {
// parsing completed
}
-#line 3946 "dhcp6_parser.cc"
+#line 3906 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 734:
-#line 2476 "dhcp6_parser.yy"
- {
+ case 748:
+#line 2526 "dhcp6_parser.yy" // lalr1.cc:859
+ {
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 3957 "dhcp6_parser.cc"
+#line 3917 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 735:
-#line 2481 "dhcp6_parser.yy"
- {
+ case 749:
+#line 2531 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 3966 "dhcp6_parser.cc"
+#line 3926 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 738:
-#line 2493 "dhcp6_parser.yy"
- {
+ case 752:
+#line 2543 "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 3976 "dhcp6_parser.cc"
+#line 3936 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 739:
-#line 2497 "dhcp6_parser.yy"
- {
+ case 753:
+#line 2547 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
}
-#line 3984 "dhcp6_parser.cc"
+#line 3944 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 749:
-#line 2514 "dhcp6_parser.yy"
- {
- ElementPtr dl(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ case 763:
+#line 2564 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr dl(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("debuglevel", dl);
}
-#line 3993 "dhcp6_parser.cc"
+#line 3953 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 750:
-#line 2519 "dhcp6_parser.yy"
- {
+ case 764:
+#line 2569 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 4001 "dhcp6_parser.cc"
+#line 3961 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 751:
-#line 2521 "dhcp6_parser.yy"
- {
- ElementPtr sev(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 765:
+#line 2571 "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 4011 "dhcp6_parser.cc"
+#line 3971 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 752:
-#line 2527 "dhcp6_parser.yy"
- {
+ case 766:
+#line 2577 "dhcp6_parser.yy" // lalr1.cc:859
+ {
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 4022 "dhcp6_parser.cc"
+#line 3982 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 753:
-#line 2532 "dhcp6_parser.yy"
- {
+ case 767:
+#line 2582 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
ctx.leave();
}
-#line 4031 "dhcp6_parser.cc"
+#line 3991 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 756:
-#line 2541 "dhcp6_parser.yy"
- {
+ case 770:
+#line 2591 "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 4041 "dhcp6_parser.cc"
+#line 4001 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 757:
-#line 2545 "dhcp6_parser.yy"
- {
+ case 771:
+#line 2595 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.stack_.pop_back();
}
-#line 4049 "dhcp6_parser.cc"
+#line 4009 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 765:
-#line 2560 "dhcp6_parser.yy"
- {
+ case 779:
+#line 2610 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 4057 "dhcp6_parser.cc"
+#line 4017 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 766:
-#line 2562 "dhcp6_parser.yy"
- {
- ElementPtr sev(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 780:
+#line 2612 "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 4067 "dhcp6_parser.cc"
+#line 4027 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 767:
-#line 2568 "dhcp6_parser.yy"
- {
- ElementPtr flush(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ case 781:
+#line 2618 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr flush(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("flush", flush);
}
-#line 4076 "dhcp6_parser.cc"
+#line 4036 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 768:
-#line 2573 "dhcp6_parser.yy"
- {
- ElementPtr maxsize(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ case 782:
+#line 2623 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr maxsize(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("maxsize", maxsize);
}
-#line 4085 "dhcp6_parser.cc"
+#line 4045 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 769:
-#line 2578 "dhcp6_parser.yy"
- {
- ElementPtr maxver(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ case 783:
+#line 2628 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr maxver(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("maxver", maxver);
}
-#line 4094 "dhcp6_parser.cc"
+#line 4054 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 770:
-#line 2583 "dhcp6_parser.yy"
- {
+ case 784:
+#line 2633 "dhcp6_parser.yy" // lalr1.cc:859
+ {
ctx.enter(ctx.NO_KEYWORD);
}
-#line 4102 "dhcp6_parser.cc"
+#line 4062 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 771:
-#line 2585 "dhcp6_parser.yy"
- {
- ElementPtr sev(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ case 785:
+#line 2635 "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 4112 "dhcp6_parser.cc"
+#line 4072 "dhcp6_parser.cc" // lalr1.cc:859
break;
-#line 4116 "dhcp6_parser.cc"
-
+#line 4076 "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. |
`--------------------------------------*/
| 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;
goto yyerrlab1;
-
/*-------------------------------------------------------------.
| yyerrlab1 -- common code for both syntax error and YYERROR. |
`-------------------------------------------------------------*/
stack_symbol_type error_token;
for (;;)
{
- yyn = yypact_[+yystack_[0].state];
+ yyn = yypact_[yystack_[0].state];
if (!yy_pact_value_is_default_ (yyn))
{
- yyn += yy_error_token_;
- if (0 <= yyn && yyn <= yylast_ && yycheck_[yyn] == yy_error_token_)
+ yyn += yyterror_;
+ if (0 <= yyn && yyn <= yylast_ && yycheck_[yyn] == yyterror_)
{
yyn = yytable_[yyn];
if (0 < yyn)
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);
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 ());
+ error (yyexc.location, yyexc.what());
}
// Generate an error message.
{
// Number of reported tokens (one for the "unexpected", one per
// "expected").
- std::ptrdiff_t yycount = 0;
+ size_t yycount = 0;
// Its maximum.
enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
// Arguments of yyformat.
- 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 (!yyla.empty ())
{
- symbol_number_type yytoken = yyla.type_get ();
+ int yytoken = yyla.type_get ();
yyarg[yycount++] = yytname_[yytoken];
-
- int yyn = yypact_[+yystate];
+ int yyn = yypact_[yystate];
if (!yy_pact_value_is_default_ (yyn))
{
/* Start YYX at -YYN if negative to avoid negative indexes in
int yychecklim = yylast_ - yyn + 1;
int yyxend = yychecklim < yyntokens_ ? yychecklim : yyntokens_;
for (int yyx = yyxbegin; yyx < yyxend; ++yyx)
- if (yycheck_[yyx + yyn] == yyx && yyx != yy_error_token_
+ if (yycheck_[yyx + yyn] == yyx && yyx != yyterror_
&& !yy_table_value_is_error_ (yytable_[yyx + yyn]))
{
if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
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)
{
}
- const short Dhcp6Parser::yypact_ninf_ = -945;
+ const short int Dhcp6Parser::yypact_ninf_ = -961;
const signed char Dhcp6Parser::yytable_ninf_ = -1;
- const short
+ const short int
Dhcp6Parser::yypact_[] =
{
- 452, -945, -945, -945, -945, -945, -945, -945, -945, -945,
- -945, -945, -945, -945, -945, -945, 66, 31, 73, 76,
- 95, 160, 166, 168, 175, 177, 186, 196, 262, 280,
- 286, 297, -945, -945, -945, -945, -945, -945, -945, -945,
- -945, -945, -945, -945, -945, -945, -945, -945, -945, -945,
- -945, -945, -945, -945, -945, -945, -945, -945, -945, -945,
- -945, -945, -945, -945, -945, -945, -945, -945, -945, -945,
- -945, -945, 31, -149, 29, 199, 28, 514, 126, 75,
- 77, 27, 20, 260, -41, 538, -15, 46, -945, 269,
- 274, 279, 298, 316, -945, -945, -945, -945, -945, 322,
- -945, 49, -945, -945, -945, -945, -945, -945, -945, -945,
- -945, -945, -945, -945, 324, 340, 365, 366, 419, 427,
- 429, 432, 442, 443, 445, 455, -945, 456, 463, 466,
- 470, 471, -945, -945, -945, 472, -945, -945, -945, -945,
- -945, -945, -945, -945, -945, -945, -945, -945, -945, -945,
- -945, -945, 477, -945, -945, -945, -945, -945, -945, -945,
- 101, -945, -945, -945, -945, -945, -945, -945, -945, -945,
- -945, -945, -945, -945, -945, -945, -945, -945, -945, -945,
- -945, -945, -945, -945, -945, -945, -945, -945, -945, -945,
- -945, -945, -945, -945, -945, -945, -945, -945, -945, -945,
- -945, -945, -945, -945, -945, -945, -945, -945, -945, -945,
- -945, -945, -945, -945, 479, -945, 109, -945, -945, -945,
- -945, -945, -945, -945, -945, -945, -945, 481, 482, -945,
- -945, -945, -945, -945, -945, -945, -945, -945, -945, -945,
- -945, -945, -945, -945, -945, -945, -945, -945, -945, -945,
- -945, -945, -945, 143, -945, -945, -945, -945, -945, -945,
- -945, -945, -945, -945, -945, -945, -945, -945, -945, -945,
- -945, -945, -945, -945, -945, 147, -945, -945, -945, -945,
- -945, 486, -945, 487, 491, -945, -945, -945, -945, -945,
- -945, 171, -945, -945, -945, -945, -945, -945, -945, -945,
- -945, -945, -945, -945, -945, -945, -945, -945, -945, 330,
- 359, -945, -945, -945, -945, -945, -945, -945, -945, 393,
- -945, -945, 494, -945, -945, -945, 501, -945, -945, 403,
- 503, -945, -945, -945, -945, -945, -945, -945, -945, -945,
- -945, -945, -945, -945, 504, 505, -945, -945, -945, -945,
- 499, 507, -945, -945, -945, -945, -945, -945, -945, -945,
- -945, -945, -945, -945, 194, -945, -945, -945, 508, -945,
- -945, 513, -945, 516, 517, -945, -945, 519, 520, -945,
- -945, -945, -945, -945, -945, -945, 201, -945, -945, -945,
- -945, -945, -945, -945, -945, -945, -945, -945, -945, -945,
- -945, -945, -945, 213, -945, -945, -945, 521, 217, -945,
- -945, -945, -945, 31, 31, -945, 331, 525, 526, 528,
- 529, 532, -945, 29, -945, 533, 534, 536, 537, 539,
- 540, 353, 354, 355, 356, 357, 373, 374, 375, 313,
- 383, 384, 376, 541, 387, 388, 389, 390, 391, 542,
- 543, 544, 392, 550, 581, 582, 587, 589, 591, 592,
- 593, 594, 595, 605, 606, 608, 609, 610, 612, 422,
- 613, 616, 617, 622, 623, 624, 199, -945, 625, 449,
- 28, -945, 646, 648, 649, 651, 652, 461, 460, 655,
- 656, 657, 514, -945, 658, 126, -945, 659, 473, 664,
- 474, 475, 75, -945, 668, 669, 670, 671, 673, 674,
- 678, -945, 77, -945, 692, 693, 502, 695, 696, 697,
- 509, -945, 20, 698, 510, 512, -945, 260, 701, 702,
- 122, -945, 515, 707, 708, 522, 715, 524, 527, 717,
- 718, 530, 531, 720, 721, 722, 723, 538, -945, -15,
- -945, 726, 535, 46, -945, -945, -945, 728, 727, 729,
- 31, 31, 31, -945, 545, 730, 731, 732, 734, 737,
- -945, -945, -945, -945, -945, -945, -945, -945, -945, -945,
- -945, -945, 548, -945, -945, -945, -945, -945, -99, 549,
- 551, -945, 740, 742, 743, 744, 554, 288, 745, 747,
- 748, 749, 750, 751, 753, 754, 755, 756, -945, 757,
- 758, 759, 560, 565, 762, -945, 763, -945, -945, 764,
- 765, 566, 576, 577, -945, -945, 763, 578, 767, -945,
- 580, -945, 583, -945, 584, -945, -945, -945, 763, 763,
- 763, 585, 586, 588, 590, -945, 596, 597, -945, 598,
- 599, 600, -945, -945, 601, -945, -945, -945, 602, 31,
- -945, -945, 603, 604, -945, 607, -945, -945, 157, 575,
- -945, -945, -99, 611, 614, 615, -945, -945, 771, -945,
- -945, 31, 199, -15, -945, -945, -945, -945, 46, 28,
- 99, 99, 770, -945, -945, -945, -945, -945, -945, -945,
- -945, -945, 775, 777, 779, -945, -945, -945, -945, -945,
- -945, -945, -945, 780, -51, 31, 367, 685, 782, 783,
- 793, 187, 37, 202, 35, 538, -945, -945, 794, -945,
- -945, 796, 797, -945, -945, -945, -945, -945, -68, -945,
- -945, -945, -945, -945, -945, -945, -945, -945, -945, -945,
- -945, -945, -945, -945, -945, -945, -945, -945, -945, -945,
- -945, -945, -945, -945, -945, -945, -945, -945, 770, -945,
- 268, 270, 276, 287, -945, -945, -945, -945, 801, 803,
- 804, 807, 808, -945, 809, 810, -945, -945, -945, 811,
- 812, 813, 814, -945, 315, -945, -945, -945, -945, -945,
- -945, -945, -945, -945, -945, -945, -945, -945, -945, -945,
- -945, -945, -945, -945, -945, -945, 334, -945, 815, 816,
- -945, -945, 817, 819, -945, -945, 818, 822, -945, -945,
- 820, 824, -945, -945, 823, 825, -945, -945, -945, 70,
- -945, -945, -945, 826, -945, -945, -945, 87, -945, -945,
- -945, -945, 342, -945, -945, -945, 102, -945, -945, 827,
- 828, -945, -945, 829, 831, -945, 832, 833, 834, 835,
- 836, 837, 348, -945, -945, -945, -945, -945, -945, -945,
- -945, -945, 838, 839, 840, -945, -945, -945, -945, 349,
- -945, -945, -945, -945, -945, -945, -945, -945, -945, -945,
- -945, 350, -945, -945, -945, 841, -945, 842, -945, -945,
- -945, 351, -945, -945, -945, -945, -945, 352, -945, 146,
- -945, 635, -945, 843, 844, -945, -945, 845, 847, -945,
- -945, -945, 846, -945, 849, -945, -945, -945, -945, 848,
- 852, 853, 854, 663, 650, 665, 662, 666, 859, 672,
- 675, 860, 861, 862, 676, 677, 679, 680, 99, -945,
- -945, 99, -945, 770, 514, -945, 775, 20, -945, 777,
- 260, -945, 779, 327, -945, 780, -51, -945, -945, 367,
- -945, 863, 685, -945, 79, 782, -945, 77, -945, 783,
- -41, -945, 793, 682, 683, 684, 686, 687, 688, 187,
- -945, 865, 866, 689, 690, 691, 37, -945, 870, 871,
- 202, -945, 694, 877, 699, 884, 35, -945, -945, 153,
- 794, -945, -945, 883, 850, 126, -945, 796, 75, -945,
- 797, 887, -945, -945, 417, 703, 710, 713, -945, -945,
- -945, -945, -945, 719, -945, -945, 724, 725, 733, -945,
- -945, -945, -945, -945, 358, -945, 360, -945, 889, -945,
- 895, -945, -945, -945, -945, -945, -945, -945, -945, -945,
- -945, -945, -945, -945, -945, -945, -945, -945, -945, -945,
- -945, -945, -945, -945, -945, -945, -945, -945, -945, -945,
- -945, 395, -945, -945, -945, -945, -945, -945, -945, -945,
- 746, -945, -945, 917, -945, -945, -945, -945, -945, 915,
- 922, -945, -945, -945, -945, -945, 919, -945, 396, -945,
- -945, -945, -945, -945, -945, -945, -945, 296, 760, -945,
- -945, -945, -945, 769, 791, -945, -945, 798, -945, 31,
- -945, -945, 938, -945, -945, -945, -945, -945, 397, -945,
- -945, -945, -945, -945, -945, 800, 404, -945, 407, -945,
- 821, -945, -945, -945, -945, -945, -945, -945, -945, -945,
- -945, -945, -945, -945, -945, -945, -945, 327, -945, -945,
- 946, 768, -945, 79, -945, -945, -945, -945, -945, -945,
- -945, -945, -945, -945, -945, 953, 795, 985, 153, -945,
- -945, -945, -945, -945, -945, 830, -945, -945, 987, -945,
- 851, -945, -945, 999, -945, -945, 299, -945, 25, 999,
- -945, -945, 1003, 1006, 1010, -945, 421, -945, -945, -945,
- -945, -945, -945, -945, 1011, 855, 856, 858, 1014, 25,
- -945, 864, -945, -945, -945, 867, -945, -945, -945
+ 403, -961, -961, -961, -961, -961, -961, -961, -961, -961,
+ -961, -961, -961, -961, -961, -961, 50, 36, 45, 47,
+ 51, 65, 75, 119, 154, 164, 186, 197, 198, 208,
+ 259, 279, -961, -961, -961, -961, -961, -961, -961, -961,
+ -961, -961, -961, -961, -961, -961, -961, -961, -961, -961,
+ -961, -961, -961, -961, -961, -961, -961, -961, -961, -961,
+ -961, -961, -961, -961, -961, -961, -961, -961, -961, -961,
+ -961, -961, 36, -155, 26, 685, 31, 209, 91, 105,
+ 108, 21, 81, 262, -25, 205, -52, 86, -961, 122,
+ 159, 284, 286, 306, -961, -961, -961, -961, -961, 308,
+ -961, 43, -961, -961, -961, -961, -961, -961, -961, -961,
+ -961, -961, -961, -961, 309, 322, 323, 324, 326, 335,
+ 346, 348, 349, 369, 395, 396, -961, 399, 402, 413,
+ 418, 419, -961, -961, -961, 422, -961, -961, -961, -961,
+ -961, -961, -961, -961, -961, -961, -961, -961, -961, -961,
+ -961, -961, 428, -961, -961, -961, -961, -961, -961, -961,
+ -961, 76, -961, -961, -961, -961, -961, -961, -961, -961,
+ -961, -961, -961, -961, -961, -961, -961, -961, -961, -961,
+ -961, -961, -961, -961, -961, -961, -961, -961, -961, -961,
+ -961, -961, -961, -961, -961, -961, -961, -961, -961, -961,
+ -961, -961, -961, -961, -961, -961, -961, -961, -961, -961,
+ -961, -961, -961, -961, -961, -961, 430, -961, 93, -961,
+ -961, -961, -961, -961, -961, -961, -961, -961, -961, 431,
+ 432, -961, -961, -961, -961, -961, -961, -961, -961, -961,
+ -961, -961, -961, -961, -961, -961, -961, -961, -961, -961,
+ -961, -961, -961, -961, -961, 100, -961, -961, -961, -961,
+ -961, -961, -961, -961, -961, -961, -961, -961, -961, -961,
+ -961, -961, -961, -961, -961, -961, -961, 113, -961, -961,
+ -961, -961, -961, 434, -961, 435, 438, -961, -961, -961,
+ -961, -961, -961, 121, -961, -961, -961, -961, -961, -961,
+ -961, -961, -961, -961, -961, -961, -961, -961, -961, -961,
+ -961, 333, 340, -961, -961, -961, -961, -961, -961, -961,
+ -961, 408, -961, -961, 439, -961, -961, -961, 440, -961,
+ -961, 437, 443, -961, -961, -961, -961, -961, -961, -961,
+ -961, -961, -961, -961, -961, -961, 445, 446, -961, -961,
+ -961, -961, 444, 459, -961, -961, -961, -961, -961, -961,
+ -961, -961, -961, -961, -961, -961, 176, -961, -961, -961,
+ 462, -961, -961, 464, -961, 465, 466, -961, -961, 474,
+ 475, -961, -961, -961, -961, -961, -961, -961, 203, -961,
+ -961, -961, -961, -961, -961, -961, -961, -961, -961, -961,
+ -961, -961, -961, -961, -961, 221, -961, -961, -961, 478,
+ 240, -961, -961, -961, -961, 36, 36, -961, 264, 479,
+ 480, 481, 482, 483, -961, 26, -961, 484, 485, 486,
+ 490, 491, 493, 298, 299, 300, 301, 302, 304, 312,
+ 314, 305, 315, 316, 318, 502, 319, 320, 329, 332,
+ 334, 511, 520, 522, 336, 531, 535, 536, 537, 540,
+ 541, 542, 543, 547, 548, 549, 550, 551, 552, 568,
+ 569, 375, 570, 580, 598, 601, 604, 607, 609, 685,
+ -961, 610, 414, 31, -961, 613, 614, 616, 617, 619,
+ 424, 425, 622, 624, 625, 209, -961, 626, 91, -961,
+ 627, 436, 628, 441, 442, 105, -961, 630, 633, 634,
+ 635, 636, 639, 640, -961, 108, -961, 641, 642, 447,
+ 644, 645, 646, 449, -961, 81, 651, 455, 457, -961,
+ 262, 656, 657, -54, -961, 460, 659, 660, 467, 661,
+ 473, 476, 662, 670, 477, 487, 671, 673, 674, 677,
+ 205, -961, -52, -961, 678, 488, 86, -961, -961, -961,
+ 679, 514, 683, 36, 36, 36, -961, 494, 687, 688,
+ 691, 692, 680, -961, -961, -961, -961, -961, -961, -961,
+ -961, -961, -961, -961, -961, 503, -961, -961, -961, -961,
+ -961, -105, 507, 508, -961, 696, 703, 704, 705, 512,
+ 155, 708, 709, 710, 712, 711, 714, 715, 716, 747,
+ 748, -961, 749, 750, 751, 752, 523, 524, 755, -961,
+ 756, -961, -961, 757, 758, 565, 566, 567, -961, -961,
+ 756, 571, 760, -961, 574, -961, 575, -961, 576, -961,
+ -961, -961, 756, 756, 756, 577, 578, 581, 582, -961,
+ 583, 589, -961, 591, 592, 593, -961, -961, 594, -961,
+ -961, -961, 596, 36, -961, -961, 597, 599, -961, 600,
+ -961, -961, 102, 528, -961, -961, -105, 602, 603, 605,
+ -961, -961, 763, -961, -961, 36, 685, -52, -961, -961,
+ -961, -961, 86, 31, 106, 106, 762, -961, -961, -961,
+ -961, -961, -961, -961, -961, -961, 772, 790, 793, -961,
+ -961, -961, -961, -961, -961, -961, -961, 798, -48, 36,
+ 70, 706, 800, 801, 803, 245, 68, 145, 195, 94,
+ 205, -961, -961, 804, -961, -961, 805, 807, -961, -961,
+ -961, -961, -961, -68, -961, -961, -961, -961, -961, -961,
+ -961, -961, -961, -961, -961, -961, -961, -961, -961, -961,
+ -961, -961, -961, -961, -961, -961, -961, -961, -961, -961,
+ -961, -961, -961, 762, -961, 303, 307, 313, 321, -961,
+ -961, -961, -961, 811, 812, 813, 814, 815, -961, 816,
+ 819, -961, -961, -961, 820, 821, 823, 824, -961, 337,
+ -961, -961, -961, -961, -961, -961, -961, -961, -961, -961,
+ -961, -961, -961, -961, -961, -961, -961, -961, -961, -961,
+ -961, 339, -961, 825, 681, -961, -961, 826, 707, -961,
+ -961, 828, 827, -961, -961, 829, 833, -961, -961, 831,
+ 835, -961, -961, -961, 107, -961, -961, -961, 834, -961,
+ -961, -961, 166, -961, -961, -961, -961, 373, -961, -961,
+ -961, 211, -961, -961, 836, 838, -961, -961, 837, 841,
+ -961, 842, 843, 844, 845, 846, 847, 374, -961, -961,
+ -961, -961, -961, -961, -961, -961, -961, 848, 849, 852,
+ -961, -961, -961, -961, 377, -961, -961, -961, -961, -961,
+ -961, 854, 855, 856, -961, 380, -961, -961, -961, -961,
+ -961, -961, -961, -961, -961, -961, -961, 381, -961, -961,
+ -961, 857, -961, 858, -961, -961, -961, 383, -961, -961,
+ -961, -961, -961, 384, -961, 272, -961, 664, -961, 839,
+ 861, -961, -961, 859, 863, -961, -961, -961, 860, -961,
+ 864, -961, -961, -961, -961, 865, 867, 868, 869, 667,
+ 637, 675, 672, 676, 873, 682, 686, 874, 875, 876,
+ 689, 690, 693, 694, 106, -961, -961, 106, -961, 762,
+ 209, -961, 772, 81, -961, 790, 262, -961, 793, 517,
+ -961, 798, -48, -961, -961, 70, -961, 877, 706, -961,
+ -1, 800, -961, 108, -961, 801, -25, -961, 803, 697,
+ 698, 699, 700, 701, 702, 245, -961, 879, 881, 713,
+ 719, 721, 68, -961, 722, 730, 735, 145, -961, 883,
+ 884, 195, -961, 734, 887, 737, 888, 94, -961, -961,
+ 147, 804, -961, -961, 890, 900, 91, -961, 805, 105,
+ -961, 807, 889, -961, -961, 405, 740, 742, 744, -961,
+ -961, -961, -961, -961, 745, -961, -961, 753, 771, 778,
+ -961, -961, -961, -961, -961, 387, -961, 390, -961, 896,
+ -961, 897, -961, -961, -961, -961, -961, -961, -961, -961,
+ -961, -961, -961, -961, -961, -961, -961, -961, -961, -961,
+ -961, -961, -961, -961, -961, -961, -961, -961, -961, -961,
+ -961, -961, 393, -961, -961, -961, -961, -961, -961, -961,
+ -961, 781, -961, -961, 903, -961, -961, -961, -961, -961,
+ 906, 905, -961, -961, -961, -961, -961, 938, -961, 394,
+ -961, -961, -961, -961, -961, -961, -961, -961, 97, 784,
+ -961, -961, -961, -961, -961, -961, -961, -961, 787, 809,
+ -961, -961, 840, -961, 36, -961, -961, 907, -961, -961,
+ -961, -961, -961, 404, -961, -961, -961, -961, -961, -961,
+ 850, 410, -961, 411, -961, 851, -961, -961, -961, -961,
+ -961, -961, -961, -961, -961, -961, -961, -961, -961, -961,
+ -961, -961, 517, -961, -961, 946, 759, -961, -1, -961,
+ -961, -961, -961, -961, -961, -961, -961, -961, -961, -961,
+ 947, 754, 951, 147, -961, -961, -961, -961, -961, -961,
+ 853, -961, -961, 984, -961, 862, -961, -961, 985, -961,
+ -961, 273, -961, -14, 985, -961, -961, 993, 996, 1007,
+ -961, 412, -961, -961, -961, -961, -961, -961, -961, 1009,
+ 830, 866, 870, 1026, -14, -961, 872, -961, -961, -961,
+ 878, -961, -961, -961
};
- const short
+ const unsigned short int
Dhcp6Parser::yydefact_[] =
{
0, 2, 4, 6, 8, 10, 12, 14, 16, 18,
20, 22, 24, 26, 28, 30, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 47, 40, 36, 35, 32, 33, 34,
- 39, 3, 37, 38, 60, 5, 72, 7, 167, 9,
- 316, 11, 494, 13, 519, 15, 549, 17, 419, 19,
- 427, 21, 464, 23, 281, 25, 662, 27, 729, 29,
- 718, 31, 49, 43, 0, 0, 0, 0, 0, 0,
- 551, 0, 429, 466, 0, 0, 0, 0, 51, 0,
- 50, 0, 0, 44, 70, 727, 710, 712, 714, 0,
- 69, 0, 62, 64, 66, 67, 68, 65, 128, 716,
- 165, 179, 181, 183, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 163, 0, 0, 0,
- 0, 0, 145, 152, 154, 0, 308, 417, 456, 507,
- 509, 366, 374, 254, 271, 262, 247, 586, 541, 273,
- 292, 607, 0, 631, 644, 660, 156, 158, 734, 127,
- 0, 74, 76, 77, 78, 79, 80, 81, 82, 83,
- 84, 112, 113, 114, 85, 118, 119, 120, 121, 122,
- 123, 116, 117, 124, 125, 126, 110, 88, 89, 90,
- 91, 107, 92, 94, 93, 98, 99, 86, 111, 87,
- 96, 97, 105, 106, 108, 95, 100, 101, 102, 103,
- 104, 109, 115, 176, 0, 175, 0, 169, 171, 172,
- 173, 174, 486, 511, 356, 358, 360, 0, 0, 364,
- 362, 580, 355, 320, 321, 322, 323, 324, 325, 326,
- 327, 343, 344, 345, 348, 349, 350, 351, 352, 353,
- 346, 347, 354, 0, 318, 331, 332, 333, 336, 337,
- 339, 334, 335, 328, 329, 341, 342, 330, 338, 340,
- 505, 504, 500, 501, 499, 0, 496, 498, 502, 503,
- 534, 0, 537, 0, 0, 533, 527, 528, 526, 531,
- 532, 0, 521, 523, 524, 529, 530, 525, 578, 566,
- 568, 570, 572, 574, 576, 565, 562, 563, 564, 0,
- 552, 553, 557, 558, 555, 559, 560, 561, 556, 0,
- 446, 227, 0, 450, 448, 453, 0, 442, 443, 0,
- 430, 431, 433, 445, 434, 435, 436, 452, 437, 438,
- 439, 440, 441, 480, 0, 0, 478, 479, 482, 483,
- 0, 467, 468, 470, 471, 472, 473, 474, 475, 476,
- 477, 288, 290, 285, 0, 283, 286, 287, 0, 685,
- 687, 0, 690, 0, 0, 694, 698, 0, 0, 702,
- 704, 706, 708, 683, 681, 682, 0, 664, 666, 667,
- 668, 669, 670, 671, 672, 673, 674, 675, 676, 677,
- 678, 679, 680, 0, 731, 733, 724, 0, 0, 720,
- 722, 723, 48, 0, 0, 41, 0, 0, 0, 0,
- 0, 0, 59, 0, 61, 0, 0, 0, 0, 0,
+ 39, 3, 37, 38, 60, 5, 72, 7, 168, 9,
+ 330, 11, 508, 13, 533, 15, 563, 17, 433, 19,
+ 441, 21, 478, 23, 295, 25, 676, 27, 743, 29,
+ 732, 31, 49, 43, 0, 0, 0, 0, 0, 0,
+ 565, 0, 443, 480, 0, 0, 0, 0, 51, 0,
+ 50, 0, 0, 44, 70, 741, 724, 726, 728, 0,
+ 69, 0, 62, 64, 66, 67, 68, 65, 129, 730,
+ 166, 180, 182, 184, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 164, 0, 0, 0,
+ 0, 0, 146, 153, 155, 0, 322, 431, 470, 521,
+ 523, 380, 388, 255, 272, 263, 248, 600, 555, 287,
+ 306, 621, 0, 274, 645, 658, 674, 157, 159, 748,
+ 128, 0, 74, 76, 77, 78, 79, 80, 81, 82,
+ 83, 84, 112, 113, 114, 85, 118, 119, 120, 121,
+ 122, 123, 116, 117, 124, 125, 126, 110, 88, 89,
+ 90, 91, 107, 92, 94, 93, 127, 98, 99, 86,
+ 111, 87, 96, 97, 105, 106, 108, 95, 100, 101,
+ 102, 103, 104, 109, 115, 177, 0, 176, 0, 170,
+ 172, 173, 174, 175, 500, 525, 370, 372, 374, 0,
+ 0, 378, 376, 594, 369, 334, 335, 336, 337, 338,
+ 339, 340, 341, 357, 358, 359, 362, 363, 364, 365,
+ 366, 367, 360, 361, 368, 0, 332, 345, 346, 347,
+ 350, 351, 353, 348, 349, 342, 343, 355, 356, 344,
+ 352, 354, 519, 518, 514, 515, 513, 0, 510, 512,
+ 516, 517, 548, 0, 551, 0, 0, 547, 541, 542,
+ 540, 545, 546, 0, 535, 537, 538, 543, 544, 539,
+ 592, 580, 582, 584, 586, 588, 590, 579, 576, 577,
+ 578, 0, 566, 567, 571, 572, 569, 573, 574, 575,
+ 570, 0, 460, 228, 0, 464, 462, 467, 0, 456,
+ 457, 0, 444, 445, 447, 459, 448, 449, 450, 466,
+ 451, 452, 453, 454, 455, 494, 0, 0, 492, 493,
+ 496, 497, 0, 481, 482, 484, 485, 486, 487, 488,
+ 489, 490, 491, 302, 304, 299, 0, 297, 300, 301,
+ 0, 699, 701, 0, 704, 0, 0, 708, 712, 0,
+ 0, 716, 718, 720, 722, 697, 695, 696, 0, 678,
+ 680, 681, 682, 683, 684, 685, 686, 687, 688, 689,
+ 690, 691, 692, 693, 694, 0, 745, 747, 738, 0,
+ 0, 734, 736, 737, 48, 0, 0, 41, 0, 0,
+ 0, 0, 0, 0, 59, 0, 61, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 73, 0, 0, 0, 169, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 331, 0, 0, 509,
+ 0, 0, 0, 0, 0, 0, 534, 0, 0, 0,
+ 0, 0, 0, 0, 564, 0, 434, 0, 0, 0,
+ 0, 0, 0, 0, 442, 0, 0, 0, 0, 479,
+ 0, 0, 0, 0, 296, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 677, 0, 744, 0, 0, 0, 733, 52, 45,
+ 0, 0, 0, 0, 0, 0, 63, 0, 0, 0,
+ 0, 0, 0, 131, 132, 133, 134, 135, 136, 137,
+ 138, 139, 140, 141, 142, 0, 162, 163, 143, 144,
+ 145, 0, 0, 0, 161, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 73, 0, 0,
- 0, 168, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 317, 0, 0, 495, 0, 0, 0,
- 0, 0, 0, 520, 0, 0, 0, 0, 0, 0,
- 0, 550, 0, 420, 0, 0, 0, 0, 0, 0,
- 0, 428, 0, 0, 0, 0, 465, 0, 0, 0,
- 0, 282, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 663, 0,
- 730, 0, 0, 0, 719, 52, 45, 0, 0, 0,
- 0, 0, 0, 63, 0, 0, 0, 0, 0, 0,
- 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
- 140, 141, 0, 161, 162, 142, 143, 144, 0, 0,
- 0, 160, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 630, 0,
- 0, 0, 0, 0, 0, 75, 0, 178, 170, 0,
- 0, 0, 0, 0, 372, 373, 0, 0, 0, 319,
- 0, 497, 0, 536, 0, 539, 540, 522, 0, 0,
- 0, 0, 0, 0, 0, 554, 0, 0, 444, 0,
- 0, 0, 455, 432, 0, 484, 485, 469, 0, 0,
- 284, 684, 0, 0, 689, 0, 692, 693, 0, 0,
- 700, 701, 0, 0, 0, 0, 665, 732, 0, 726,
- 721, 0, 0, 0, 711, 713, 715, 129, 0, 0,
- 0, 0, 185, 164, 147, 148, 149, 150, 151, 146,
- 153, 155, 310, 421, 458, 42, 508, 510, 368, 369,
- 370, 371, 367, 376, 0, 49, 0, 0, 0, 543,
- 275, 0, 0, 0, 0, 0, 157, 159, 0, 53,
- 177, 488, 513, 357, 359, 361, 365, 363, 0, 506,
- 535, 538, 579, 567, 569, 571, 573, 575, 577, 447,
- 228, 451, 449, 454, 481, 289, 291, 686, 688, 691,
- 696, 697, 695, 699, 703, 705, 707, 709, 185, 46,
- 0, 0, 0, 0, 214, 220, 222, 224, 0, 0,
- 0, 0, 0, 238, 0, 0, 241, 243, 245, 0,
- 0, 0, 0, 213, 0, 191, 193, 194, 195, 196,
- 197, 198, 199, 200, 201, 202, 205, 212, 206, 207,
- 208, 203, 204, 209, 210, 211, 0, 189, 0, 186,
- 187, 314, 0, 311, 312, 425, 0, 422, 423, 462,
- 0, 459, 460, 380, 0, 377, 378, 260, 261, 0,
- 256, 258, 259, 0, 269, 270, 266, 0, 264, 267,
- 268, 252, 0, 249, 251, 590, 0, 588, 547, 0,
- 544, 545, 279, 0, 276, 277, 0, 0, 0, 0,
- 0, 0, 0, 294, 296, 297, 298, 299, 300, 301,
- 620, 626, 0, 0, 0, 619, 616, 617, 618, 0,
- 609, 611, 614, 612, 613, 615, 640, 642, 639, 637,
- 638, 0, 633, 635, 636, 0, 655, 0, 658, 651,
- 652, 0, 646, 648, 649, 650, 653, 0, 738, 0,
- 736, 55, 492, 0, 489, 490, 517, 0, 514, 515,
- 584, 583, 0, 582, 0, 71, 728, 717, 166, 0,
+ 0, 644, 0, 0, 0, 0, 0, 0, 0, 75,
+ 0, 179, 171, 0, 0, 0, 0, 0, 386, 387,
+ 0, 0, 0, 333, 0, 511, 0, 550, 0, 553,
+ 554, 536, 0, 0, 0, 0, 0, 0, 0, 568,
+ 0, 0, 458, 0, 0, 0, 469, 446, 0, 498,
+ 499, 483, 0, 0, 298, 698, 0, 0, 703, 0,
+ 706, 707, 0, 0, 714, 715, 0, 0, 0, 0,
+ 679, 746, 0, 740, 735, 0, 0, 0, 725, 727,
+ 729, 130, 0, 0, 0, 0, 186, 165, 148, 149,
+ 150, 151, 152, 147, 154, 156, 324, 435, 472, 42,
+ 522, 524, 382, 383, 384, 385, 381, 390, 0, 49,
+ 0, 0, 0, 557, 289, 0, 0, 0, 0, 0,
+ 0, 158, 160, 0, 53, 178, 502, 527, 371, 373,
+ 375, 379, 377, 0, 520, 549, 552, 593, 581, 583,
+ 585, 587, 589, 591, 461, 229, 465, 463, 468, 495,
+ 303, 305, 700, 702, 705, 710, 711, 709, 713, 717,
+ 719, 721, 723, 186, 46, 0, 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,
+ 439, 0, 436, 437, 476, 0, 473, 474, 394, 0,
+ 391, 392, 261, 262, 0, 257, 259, 260, 0, 270,
+ 271, 267, 0, 265, 268, 269, 253, 0, 250, 252,
+ 604, 0, 602, 561, 0, 558, 559, 293, 0, 290,
+ 291, 0, 0, 0, 0, 0, 0, 0, 308, 310,
+ 311, 312, 313, 314, 315, 634, 640, 0, 0, 0,
+ 633, 630, 631, 632, 0, 623, 625, 628, 626, 627,
+ 629, 0, 0, 0, 283, 0, 276, 278, 279, 280,
+ 281, 282, 654, 656, 653, 651, 652, 0, 647, 649,
+ 650, 0, 669, 0, 672, 665, 666, 0, 660, 662,
+ 663, 664, 667, 0, 752, 0, 750, 55, 506, 0,
+ 503, 504, 531, 0, 528, 529, 598, 597, 0, 596,
+ 0, 71, 742, 731, 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, 180,
- 182, 0, 184, 0, 0, 309, 0, 429, 418, 0,
- 466, 457, 0, 0, 375, 0, 0, 255, 272, 0,
- 263, 0, 0, 248, 592, 0, 587, 551, 542, 0,
- 0, 274, 0, 0, 0, 0, 0, 0, 0, 0,
- 293, 0, 0, 0, 0, 0, 0, 608, 0, 0,
- 0, 632, 0, 0, 0, 0, 0, 645, 661, 0,
- 0, 735, 57, 0, 56, 0, 487, 0, 0, 512,
- 0, 0, 581, 725, 0, 0, 0, 0, 226, 229,
- 230, 231, 232, 0, 240, 233, 0, 0, 0, 235,
- 236, 237, 234, 192, 0, 188, 0, 313, 0, 424,
- 0, 461, 416, 395, 396, 397, 399, 400, 401, 388,
- 389, 404, 405, 406, 409, 410, 411, 412, 413, 414,
- 407, 408, 415, 384, 385, 386, 387, 393, 394, 392,
- 398, 0, 382, 390, 402, 403, 391, 379, 257, 265,
- 0, 250, 604, 0, 602, 603, 599, 600, 601, 0,
- 593, 594, 596, 597, 598, 589, 0, 546, 0, 278,
- 302, 303, 304, 305, 306, 307, 295, 0, 0, 625,
- 628, 629, 610, 0, 0, 634, 654, 0, 657, 0,
- 647, 752, 0, 750, 748, 742, 746, 747, 0, 740,
- 744, 745, 743, 737, 54, 0, 0, 491, 0, 516,
- 0, 216, 217, 218, 219, 215, 221, 223, 225, 239,
- 242, 244, 246, 190, 315, 426, 463, 0, 381, 253,
- 0, 0, 591, 0, 548, 280, 622, 623, 624, 621,
- 627, 641, 643, 656, 659, 0, 0, 0, 0, 739,
- 58, 493, 518, 585, 383, 0, 606, 595, 0, 749,
- 0, 741, 605, 0, 751, 756, 0, 754, 0, 0,
- 753, 765, 0, 0, 0, 770, 0, 758, 760, 761,
- 762, 763, 764, 755, 0, 0, 0, 0, 0, 0,
- 757, 0, 767, 768, 769, 0, 759, 766, 771
+ 0, 0, 0, 0, 0, 181, 183, 0, 185, 0,
+ 0, 323, 0, 443, 432, 0, 480, 471, 0, 0,
+ 389, 0, 0, 256, 273, 0, 264, 0, 0, 249,
+ 606, 0, 601, 565, 556, 0, 0, 288, 0, 0,
+ 0, 0, 0, 0, 0, 0, 307, 0, 0, 0,
+ 0, 0, 0, 622, 0, 0, 0, 0, 275, 0,
+ 0, 0, 646, 0, 0, 0, 0, 0, 659, 675,
+ 0, 0, 749, 57, 0, 56, 0, 501, 0, 0,
+ 526, 0, 0, 595, 739, 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,
+ 438, 0, 475, 430, 409, 410, 411, 413, 414, 415,
+ 402, 403, 418, 419, 420, 423, 424, 425, 426, 427,
+ 428, 421, 422, 429, 398, 399, 400, 401, 407, 408,
+ 406, 412, 0, 396, 404, 416, 417, 405, 393, 258,
+ 266, 0, 251, 618, 0, 616, 617, 613, 614, 615,
+ 0, 607, 608, 610, 611, 612, 603, 0, 560, 0,
+ 292, 316, 317, 318, 319, 320, 321, 309, 0, 0,
+ 639, 642, 643, 624, 284, 285, 286, 277, 0, 0,
+ 648, 668, 0, 671, 0, 661, 766, 0, 764, 762,
+ 756, 760, 761, 0, 754, 758, 759, 757, 751, 54,
+ 0, 0, 505, 0, 530, 0, 217, 218, 219, 220,
+ 216, 222, 224, 226, 240, 243, 245, 247, 191, 329,
+ 440, 477, 0, 395, 254, 0, 0, 605, 0, 562,
+ 294, 636, 637, 638, 635, 641, 655, 657, 670, 673,
+ 0, 0, 0, 0, 753, 58, 507, 532, 599, 397,
+ 0, 620, 609, 0, 763, 0, 755, 619, 0, 765,
+ 770, 0, 768, 0, 0, 767, 779, 0, 0, 0,
+ 784, 0, 772, 774, 775, 776, 777, 778, 769, 0,
+ 0, 0, 0, 0, 0, 771, 0, 781, 782, 783,
+ 0, 773, 780, 785
};
- const short
+ const short int
Dhcp6Parser::yypgoto_[] =
{
- -945, -945, -945, -945, -945, -945, -945, -945, -945, -945,
- -945, -945, -945, -945, -945, -945, -945, -5, -945, 225,
- -945, -945, -945, -945, -945, -945, 304, -945, -358, -945,
- -945, -945, -74, -945, -945, -945, 618, -945, -945, -945,
- -945, 339, 546, -945, -945, -62, -42, -40, -34, -30,
- -29, -27, -26, 4, 5, 7, -945, 8, 9, 10,
- 11, -945, 361, 21, -945, 23, -945, 24, -945, 26,
- -945, 36, -945, -945, -945, -945, -945, -945, -945, -945,
- 335, 547, -945, -945, -945, -945, -945, -945, -945, -945,
- -945, 255, -945, 63, -945, -665, 71, -945, -945, -945,
- -945, -945, -945, -945, -945, -945, -945, -66, -945, -699,
- -945, -945, -945, -945, -945, -945, -945, -945, -945, -945,
- -945, -945, -945, -945, -945, -945, -945, -945, -945, -945,
- 48, -945, -945, -945, -945, -945, 52, -688, -945, -945,
- -945, -945, 53, -945, -945, -945, -945, -945, -945, -945,
- -945, 42, -945, -945, -945, 41, 506, -945, -945, -945,
- -945, -945, -945, -945, 38, -945, -945, -945, -945, -945,
- -945, -944, -945, -945, -945, 69, -945, -945, -945, 74,
- 552, -945, -945, -942, -945, -941, -945, 32, -945, 40,
- -945, 39, -945, -945, -945, -940, -945, -945, -945, -945,
- 64, -945, -945, -137, 961, -945, -945, -945, -945, -945,
- 78, -945, -945, -945, 81, -945, 523, -945, -76, -945,
- -945, -945, -945, -945, -70, -945, -945, -945, -945, -945,
- -24, -945, -945, -945, 83, -945, -945, -945, 80, -945,
- 553, -945, -945, -945, -945, -945, -945, -945, -945, -945,
- -945, -945, 16, -945, -945, -945, 33, 556, -945, -945,
- -58, -945, -8, -945, -945, -945, -945, -945, 19, -945,
- -945, -945, 43, 559, -945, -945, -945, -945, -945, -945,
- -945, -47, -945, -945, -945, 67, -945, -945, -945, 82,
- -945, 555, 325, -945, -945, -945, -945, -945, -945, -945,
- -945, -945, -945, -945, -945, -945, -939, -945, -945, -945,
- -945, -945, -945, -945, 85, -945, -945, -945, -119, -945,
- -945, -945, -945, -945, -945, -945, 60, -945, -945, -945,
- -945, -945, -945, -945, -945, -945, -945, -945, -945, 62,
- -945, -945, -945, -945, -945, -945, -945, 57, -945, -945,
- -945, -945, -945, -945, -945, -945, -945, -945, 362, 557,
- -945, -945, -945, -945, -945, -945, -945, -945, -945, -945,
- -945, -945, -945, -945, -945, -945, -945, -945, -945, -945,
- -945, -945, -945, -945, -945, -945, -945, -945, -945, -945,
- -945, -945, -945, -945, -945, 386, 561, -945, -945, -945,
- -945, -945, -945, -945, 394, 558, -72, -945, -945, 55,
- -945, -945, -122, -945, -945, -945, -945, -945, -945, -141,
- -945, -945, -160, -945, -945, -945, -945, -945, -945, -945
+ -961, -961, -961, -961, -961, -961, -961, -961, -961, -961,
+ -961, -961, -961, -961, -961, -961, -961, -5, -961, 448,
+ -961, -961, -961, -961, -961, -961, 317, -961, -573, -961,
+ -961, -961, -74, -961, -961, -961, 615, -961, -961, -961,
+ -961, 356, 555, -961, -961, -62, -42, -24, -22, -21,
+ -18, -4, 10, 13, 14, 15, -961, 16, 27, 30,
+ 32, -961, 367, 34, -961, 35, -961, 37, -961, 38,
+ -961, 42, -961, -961, -961, -961, -961, -961, -961, -961,
+ 352, 572, -961, -961, -961, -961, -961, -961, -961, -961,
+ -961, 275, -961, 72, -961, -669, 79, -961, -961, -961,
+ -961, -961, -961, -961, -961, -961, -961, -66, -961, -703,
+ -961, -961, -961, -961, -961, -961, -961, -961, -961, -961,
+ -961, -961, -961, -961, -961, -961, -961, -961, -961, -961,
+ 56, -961, -961, -961, -961, -961, 64, -692, -961, -961,
+ -961, -961, 62, -961, -961, -961, -961, -961, -961, -961,
+ 33, -961, -961, -961, -961, -961, -961, -961, 54, -961,
+ -961, -961, 53, 525, -961, -961, -961, -961, -961, -961,
+ -961, 49, -961, -961, -961, -961, -961, -961, -960, -961,
+ -961, -961, 83, -961, -961, -961, 87, 573, -961, -961,
+ -958, -961, -957, -961, 44, -961, 52, -961, 48, -961,
+ -961, -961, -956, -961, -961, -961, -961, 78, -961, -961,
+ -139, 991, -961, -961, -961, -961, -961, 88, -961, -961,
+ -961, 92, -961, 553, -961, -76, -961, -961, -961, -961,
+ -961, -70, -961, -961, -961, -961, -961, -40, -961, -961,
+ -961, 95, -961, -961, -961, 90, -961, 544, -961, -961,
+ -961, -961, -961, -961, -961, -961, -961, -961, -961, 39,
+ -961, -961, -961, 40, 584, -961, -961, -58, -961, -2,
+ -961, -961, -961, -961, -961, 28, -961, -961, -961, 46,
+ 579, -961, -961, -961, -961, -961, -961, -961, -47, -961,
+ -961, -961, 80, -961, -961, -961, 77, -961, 585, 338,
+ -961, -961, -961, -961, -961, -961, -961, -961, -961, -961,
+ -961, -961, -961, -955, -961, -961, -961, -961, -961, -961,
+ -961, 96, -961, -961, -961, -120, -961, -961, -961, -961,
+ -961, -961, -961, 67, -961, -961, -961, -961, -961, -961,
+ -961, -961, -961, -961, -961, -961, 60, -961, -961, -961,
+ -961, -961, -961, -961, 55, -961, -961, -961, -961, -961,
+ -961, -961, -961, -961, -961, 364, 546, -961, -961, -961,
+ -961, -961, -961, -961, -961, -961, -961, -961, -961, -961,
+ -961, -961, -961, -961, -961, -961, -961, -961, -961, -961,
+ -961, -961, -961, -961, -961, -961, -961, -961, -961, -961,
+ -961, -961, 407, 554, -961, -961, -961, -961, -961, -961,
+ -961, 415, 556, -72, -961, -961, 63, -961, -961, -118,
+ -961, -961, -961, -961, -961, -961, -141, -961, -961, -158,
+ -961, -961, -961, -961, -961, -961, -961
};
- const short
+ const short int
Dhcp6Parser::yydefgoto_[] =
{
-1, 16, 17, 18, 19, 20, 21, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 88, 41, 42,
- 73, 706, 92, 93, 43, 72, 89, 90, 730, 921,
- 1023, 1024, 793, 45, 74, 101, 102, 103, 417, 47,
- 75, 160, 161, 162, 425, 163, 164, 165, 166, 167,
- 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
- 178, 449, 699, 179, 450, 180, 451, 181, 473, 182,
- 474, 183, 184, 185, 186, 443, 187, 427, 49, 76,
- 216, 217, 218, 478, 219, 188, 428, 189, 429, 190,
- 430, 818, 819, 820, 961, 794, 795, 796, 939, 1165,
- 797, 940, 798, 941, 799, 942, 800, 801, 515, 802,
- 803, 804, 805, 806, 807, 808, 809, 810, 811, 948,
- 812, 813, 951, 814, 952, 815, 953, 191, 463, 852,
- 853, 854, 981, 192, 460, 839, 840, 841, 842, 193,
- 462, 847, 848, 849, 850, 194, 461, 195, 466, 863,
- 864, 865, 990, 65, 84, 364, 365, 366, 528, 367,
- 529, 196, 467, 872, 873, 874, 875, 876, 877, 878,
- 879, 197, 453, 822, 823, 824, 964, 51, 77, 253,
- 254, 255, 484, 256, 485, 257, 486, 258, 490, 259,
- 489, 198, 458, 712, 261, 262, 199, 459, 834, 835,
- 836, 973, 1091, 1092, 200, 454, 59, 81, 826, 827,
- 828, 967, 61, 82, 329, 330, 331, 332, 333, 334,
- 335, 514, 336, 518, 337, 517, 338, 339, 519, 340,
- 201, 455, 830, 831, 832, 970, 63, 83, 350, 351,
- 352, 353, 354, 523, 355, 356, 357, 358, 264, 482,
- 923, 924, 925, 1025, 53, 78, 275, 276, 277, 494,
- 202, 456, 203, 457, 267, 483, 927, 928, 929, 1028,
- 55, 79, 291, 292, 293, 497, 294, 295, 499, 296,
- 297, 204, 465, 859, 860, 861, 987, 57, 80, 309,
- 310, 311, 312, 505, 313, 506, 314, 507, 315, 508,
- 316, 509, 317, 510, 318, 504, 269, 491, 932, 933,
- 1031, 205, 464, 856, 857, 984, 1109, 1110, 1111, 1112,
- 1113, 1180, 1114, 206, 468, 889, 890, 891, 1001, 1189,
- 892, 893, 1002, 894, 895, 207, 208, 470, 901, 902,
- 903, 1008, 904, 1009, 209, 471, 911, 912, 913, 914,
- 1013, 915, 916, 1015, 210, 472, 67, 85, 386, 387,
- 388, 389, 533, 390, 534, 391, 392, 536, 393, 394,
- 395, 539, 762, 396, 540, 397, 398, 399, 543, 400,
- 544, 401, 545, 402, 546, 104, 419, 105, 420, 106,
- 421, 211, 426, 71, 87, 408, 409, 410, 551, 411,
- 107, 418, 69, 86, 403, 404, 212, 475, 919, 920,
- 1019, 1148, 1149, 1150, 1151, 1197, 1152, 1195, 1216, 1217,
- 1218, 1226, 1227, 1228, 1234, 1229, 1230, 1231, 1232, 1238
+ 73, 710, 92, 93, 43, 72, 89, 90, 735, 937,
+ 1044, 1045, 798, 45, 74, 101, 102, 103, 419, 47,
+ 75, 161, 162, 163, 427, 164, 165, 166, 167, 168,
+ 169, 170, 171, 172, 173, 174, 175, 176, 177, 178,
+ 179, 451, 703, 180, 452, 181, 453, 182, 476, 183,
+ 477, 184, 185, 186, 187, 445, 188, 429, 49, 76,
+ 218, 219, 220, 481, 221, 189, 430, 190, 431, 191,
+ 432, 823, 824, 825, 977, 799, 800, 801, 955, 1190,
+ 802, 956, 803, 957, 804, 958, 805, 806, 518, 807,
+ 808, 809, 810, 811, 812, 813, 814, 815, 816, 964,
+ 817, 818, 967, 819, 968, 820, 969, 192, 465, 857,
+ 858, 859, 997, 193, 462, 844, 845, 846, 847, 194,
+ 464, 852, 853, 854, 855, 195, 463, 196, 472, 905,
+ 906, 907, 908, 909, 197, 468, 868, 869, 870, 1006,
+ 65, 84, 366, 367, 368, 531, 369, 532, 198, 469,
+ 877, 878, 879, 880, 881, 882, 883, 884, 199, 455,
+ 827, 828, 829, 980, 51, 77, 255, 256, 257, 487,
+ 258, 488, 259, 489, 260, 493, 261, 492, 200, 460,
+ 716, 263, 264, 201, 461, 839, 840, 841, 989, 1112,
+ 1113, 202, 456, 59, 81, 831, 832, 833, 983, 61,
+ 82, 331, 332, 333, 334, 335, 336, 337, 517, 338,
+ 521, 339, 520, 340, 341, 522, 342, 203, 457, 835,
+ 836, 837, 986, 63, 83, 352, 353, 354, 355, 356,
+ 526, 357, 358, 359, 360, 266, 485, 939, 940, 941,
+ 1046, 53, 78, 277, 278, 279, 497, 204, 458, 205,
+ 459, 269, 486, 943, 944, 945, 1049, 55, 79, 293,
+ 294, 295, 500, 296, 297, 502, 298, 299, 206, 467,
+ 864, 865, 866, 1003, 57, 80, 311, 312, 313, 314,
+ 508, 315, 509, 316, 510, 317, 511, 318, 512, 319,
+ 513, 320, 507, 271, 494, 948, 949, 1052, 207, 466,
+ 861, 862, 1000, 1130, 1131, 1132, 1133, 1134, 1205, 1135,
+ 208, 470, 894, 895, 896, 1017, 1214, 897, 898, 1018,
+ 899, 900, 209, 210, 473, 917, 918, 919, 1029, 920,
+ 1030, 211, 474, 927, 928, 929, 930, 1034, 931, 932,
+ 1036, 212, 475, 67, 85, 388, 389, 390, 391, 536,
+ 392, 537, 393, 394, 539, 395, 396, 397, 542, 767,
+ 398, 543, 399, 400, 401, 546, 402, 547, 403, 548,
+ 404, 549, 104, 421, 105, 422, 106, 423, 213, 428,
+ 71, 87, 410, 411, 412, 554, 413, 107, 420, 69,
+ 86, 405, 406, 214, 478, 935, 936, 1040, 1173, 1174,
+ 1175, 1176, 1222, 1177, 1220, 1241, 1242, 1243, 1251, 1252,
+ 1253, 1259, 1254, 1255, 1256, 1257, 1263
};
- const short
+ const unsigned short int
Dhcp6Parser::yytable_[] =
{
- 100, 159, 215, 232, 271, 285, 305, 348, 327, 346,
- 363, 383, 40, 349, 405, 233, 328, 347, 220, 265,
- 278, 289, 307, 886, 341, 359, 816, 384, 846, 1084,
- 268, 1085, 1086, 1090, 1096, 234, 33, 235, 34, 94,
- 35, 320, 299, 236, 213, 214, 91, 237, 238, 930,
- 239, 240, 423, 263, 274, 288, 306, 424, 880, 406,
- 407, 837, 694, 695, 696, 697, 32, 779, 221, 266,
- 279, 290, 308, 976, 342, 360, 977, 385, 361, 362,
- 44, 241, 242, 46, 243, 244, 245, 246, 247, 321,
- 979, 322, 323, 980, 137, 324, 325, 326, 248, 698,
- 249, 250, 48, 251, 476, 985, 139, 140, 986, 477,
- 272, 286, 480, 252, 139, 140, 260, 481, 273, 287,
- 774, 139, 140, 139, 140, 775, 776, 777, 778, 779,
- 780, 781, 782, 783, 784, 785, 786, 787, 788, 789,
- 790, 791, 792, 138, 838, 138, 492, 138, 321, 1020,
- 495, 493, 1021, 158, 99, 496, 280, 281, 282, 283,
- 284, 139, 140, 139, 140, 139, 140, 50, 321, 881,
- 882, 883, 884, 52, 502, 54, 905, 906, 907, 503,
- 229, 298, 56, 230, 58, 1102, 1103, 299, 300, 301,
- 302, 303, 304, 60, 138, 1221, 95, 530, 1222, 1223,
- 1224, 1225, 531, 62, 547, 270, 96, 97, 98, 548,
- 108, 109, 139, 140, 110, 99, 549, 111, 112, 113,
- 553, 550, 321, 99, 99, 554, 36, 37, 38, 39,
- 908, 229, 99, 1084, 230, 1085, 1086, 1090, 1096, 139,
- 140, 361, 362, 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, 736, 64,
- 99, 476, 99, 549, 99, 412, 935, 413, 936, 553,
- 742, 743, 744, 414, 937, 139, 140, 66, 139, 140,
- 480, 846, 141, 68, 99, 938, 1054, 142, 143, 144,
- 145, 146, 1219, 147, 70, 1220, 415, 886, 148, 866,
- 867, 868, 869, 870, 871, 760, 761, 149, 958, 416,
- 150, 99, 1141, 959, 1142, 1143, 422, 151, 431, 321,
- 343, 322, 323, 344, 345, 152, 153, 958, 511, 154,
- 896, 897, 960, 155, 432, 982, 139, 140, 99, 100,
- 983, 999, 1006, 1010, 1016, 547, 1000, 1007, 1011, 1017,
- 1018, 958, 512, 492, 156, 157, 1173, 158, 1174, 433,
- 434, 114, 115, 116, 117, 118, 119, 120, 121, 122,
- 123, 124, 708, 709, 710, 711, 129, 130, 131, 132,
- 133, 134, 135, 136, 99, 138, 321, 99, 1177, 530,
- 1198, 513, 159, 1178, 1185, 1199, 215, 495, 555, 556,
- 502, 521, 1201, 139, 140, 1202, 225, 226, 232, 228,
- 141, 271, 220, 435, 1239, 1186, 1187, 1188, 285, 1240,
- 233, 436, 229, 437, 265, 230, 438, 278, 305, 1161,
- 1162, 1163, 1164, 231, 289, 268, 439, 440, 327, 441,
- 234, 348, 235, 346, 307, 99, 328, 349, 236, 442,
- 444, 347, 237, 238, 341, 239, 240, 445, 263, 359,
- 446, 274, 221, 383, 447, 448, 452, 405, 288, 837,
- 844, 469, 845, 479, 266, 487, 488, 279, 306, 384,
- 498, 500, 156, 157, 290, 501, 241, 242, 516, 243,
- 244, 245, 246, 247, 308, 520, 522, 526, 524, 525,
- 527, 578, 532, 248, 342, 249, 250, 535, 251, 360,
- 537, 538, 99, 541, 542, 552, 557, 272, 252, 558,
- 559, 260, 560, 561, 286, 273, 562, 564, 565, 385,
- 566, 567, 287, 568, 569, 582, 588, 589, 590, 570,
- 571, 572, 573, 574, 592, 684, 685, 686, 114, 115,
- 116, 117, 118, 119, 120, 121, 122, 123, 124, 575,
- 576, 577, 581, 129, 130, 131, 132, 133, 134, 135,
- 579, 580, 138, 583, 584, 593, 594, 585, 586, 587,
- 591, 595, 222, 596, 223, 597, 598, 599, 600, 601,
- 139, 140, 224, 225, 226, 227, 228, 141, 159, 602,
- 603, 405, 604, 605, 606, 215, 607, 609, 608, 229,
- 610, 611, 230, 148, 139, 140, 612, 613, 614, 616,
- 231, 220, 1, 2, 3, 4, 5, 6, 7, 8,
- 9, 10, 11, 12, 13, 14, 15, 617, 885, 898,
- 619, 383, 620, 621, 756, 622, 623, 624, 625, 626,
- 627, 628, 630, 632, 887, 899, 909, 384, 634, 633,
- 635, 636, 638, 639, 640, 641, 769, 642, 643, 156,
- 157, 221, 644, 368, 369, 370, 371, 372, 373, 374,
- 375, 376, 377, 378, 379, 380, 646, 647, 648, 649,
- 650, 651, 654, 381, 382, 658, 659, 652, 655, 99,
- 656, 662, 663, 661, 888, 900, 910, 385, 664, 665,
- 666, 668, 669, 667, 672, 673, 674, 675, 670, 671,
- 678, 679, 681, 99, 682, 763, 683, 688, 689, 690,
- 687, 691, 692, 693, 700, 702, 701, 703, 704, 707,
- 713, 34, 714, 715, 716, 726, 718, 717, 719, 720,
- 727, 733, 721, 722, 723, 724, 725, 728, 729, 731,
- 732, 734, 735, 737, 738, 739, 768, 817, 740, 741,
- 745, 746, 821, 747, 825, 748, 829, 833, 851, 855,
- 858, 749, 750, 751, 752, 753, 754, 755, 757, 758,
- 862, 918, 759, 922, 926, 943, 765, 944, 945, 766,
- 767, 946, 947, 949, 950, 954, 955, 956, 957, 963,
- 705, 962, 966, 965, 968, 969, 971, 972, 975, 974,
- 1022, 989, 978, 988, 992, 991, 993, 994, 995, 996,
- 997, 998, 1003, 1004, 1005, 1012, 1014, 1027, 1039, 1026,
- 1030, 1029, 1034, 1155, 1032, 1033, 1035, 1036, 1037, 1038,
- 1041, 1040, 1042, 1043, 1046, 1047, 1048, 1100, 1044, 1127,
- 1128, 1045, 1049, 1050, 1133, 1134, 1052, 1051, 1120, 1121,
- 1122, 1137, 1123, 1124, 1125, 1129, 1130, 1131, 1139, 1154,
- 232, 1160, 1136, 327, 348, 1138, 346, 1175, 1166, 1062,
- 349, 328, 233, 1176, 347, 1167, 265, 1083, 1168, 341,
- 1104, 1063, 359, 305, 1169, 1094, 363, 268, 1105, 1170,
- 1171, 1181, 234, 1182, 235, 1183, 1107, 1184, 1172, 307,
- 236, 1064, 885, 1065, 237, 238, 898, 239, 240, 1066,
- 263, 1179, 1196, 1067, 1068, 1144, 1069, 1070, 887, 1093,
- 1205, 271, 899, 1145, 285, 1190, 266, 1208, 909, 342,
- 1106, 1146, 360, 306, 1191, 1095, 1206, 278, 241, 242,
- 289, 243, 244, 245, 246, 247, 1108, 1071, 1072, 308,
- 1073, 1074, 1075, 1076, 1077, 248, 1192, 249, 250, 1210,
- 251, 1209, 1213, 1193, 1078, 1200, 1079, 1080, 888, 1081,
- 252, 274, 900, 260, 288, 1087, 1215, 1235, 910, 1082,
- 1236, 1147, 1089, 1088, 1237, 1241, 1203, 279, 1245, 843,
- 290, 770, 615, 934, 773, 1212, 1055, 618, 1098, 1053,
- 1101, 1118, 1099, 764, 1119, 1057, 660, 1126, 1056, 1097,
- 1204, 563, 319, 1157, 629, 653, 1214, 1059, 1058, 1159,
- 1060, 631, 1243, 1242, 1244, 1061, 1117, 272, 1156, 1247,
- 286, 637, 1248, 931, 1207, 273, 1132, 645, 287, 1116,
- 1115, 1158, 1135, 1140, 772, 1153, 1211, 771, 1233, 1246,
- 657, 0, 0, 0, 0, 0, 0, 917, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 1062, 676, 0, 0, 677, 0, 1104,
- 0, 1083, 0, 0, 680, 1063, 0, 1105, 0, 1094,
- 0, 0, 0, 0, 1144, 1107, 0, 0, 0, 0,
- 0, 0, 1145, 0, 1194, 1064, 0, 1065, 0, 0,
- 1146, 0, 0, 1066, 0, 0, 0, 1067, 1068, 0,
- 1069, 1070, 0, 1093, 0, 0, 0, 0, 0, 1106,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1095,
- 0, 0, 0, 0, 0, 1108, 0, 0, 0, 0,
- 0, 1071, 1072, 0, 1073, 1074, 1075, 1076, 1077, 0,
- 1147, 0, 0, 0, 0, 0, 0, 0, 1078, 0,
- 1079, 1080, 0, 1081, 0, 0, 0, 0, 0, 1087,
- 0, 0, 0, 1082, 0, 0, 1089, 1088
+ 100, 160, 217, 234, 273, 287, 307, 350, 329, 348,
+ 365, 385, 40, 351, 407, 235, 330, 349, 222, 267,
+ 280, 291, 309, 891, 343, 361, 821, 386, 851, 1105,
+ 270, 1106, 1107, 1111, 1117, 236, 94, 265, 276, 290,
+ 308, 33, 301, 34, 91, 35, 425, 215, 216, 946,
+ 32, 426, 44, 237, 46, 238, 239, 741, 48, 240,
+ 698, 699, 700, 701, 842, 363, 364, 138, 323, 747,
+ 748, 749, 50, 241, 223, 268, 281, 292, 310, 479,
+ 344, 362, 52, 387, 480, 139, 140, 242, 137, 885,
+ 243, 244, 245, 246, 363, 364, 483, 702, 784, 408,
+ 409, 484, 322, 495, 247, 1123, 1124, 248, 496, 249,
+ 992, 250, 251, 993, 252, 253, 498, 139, 140, 254,
+ 159, 499, 274, 288, 505, 262, 54, 779, 414, 506,
+ 275, 289, 780, 781, 782, 783, 784, 785, 786, 787,
+ 788, 789, 790, 791, 792, 793, 794, 795, 796, 797,
+ 323, 843, 324, 325, 139, 140, 326, 327, 328, 138,
+ 1246, 56, 415, 1247, 1248, 1249, 1250, 139, 140, 995,
+ 272, 58, 996, 138, 99, 323, 138, 139, 140, 533,
+ 139, 140, 842, 849, 534, 850, 282, 283, 284, 285,
+ 286, 139, 140, 60, 139, 140, 231, 95, 99, 232,
+ 886, 887, 888, 889, 62, 64, 550, 96, 97, 98,
+ 231, 551, 300, 232, 1001, 66, 323, 1002, 301, 302,
+ 303, 304, 305, 306, 552, 99, 1211, 1212, 1213, 553,
+ 99, 139, 140, 139, 140, 36, 37, 38, 39, 921,
+ 922, 923, 1105, 556, 1106, 1107, 1111, 1117, 557, 712,
+ 713, 714, 715, 114, 115, 116, 117, 118, 119, 120,
+ 121, 122, 123, 124, 765, 766, 68, 99, 129, 130,
+ 131, 132, 133, 134, 135, 1041, 1244, 138, 1042, 1245,
+ 99, 139, 140, 901, 902, 903, 70, 224, 416, 225,
+ 99, 139, 140, 924, 417, 139, 140, 226, 227, 228,
+ 229, 230, 141, 851, 99, 99, 479, 99, 1075, 418,
+ 552, 951, 424, 433, 231, 952, 556, 232, 148, 891,
+ 1166, 953, 1167, 1168, 483, 233, 434, 435, 436, 954,
+ 437, 323, 345, 324, 325, 346, 347, 912, 913, 438,
+ 974, 514, 974, 515, 99, 975, 99, 976, 139, 140,
+ 439, 100, 440, 441, 370, 371, 372, 373, 374, 375,
+ 376, 377, 378, 379, 380, 381, 382, 871, 872, 873,
+ 874, 875, 876, 442, 383, 384, 998, 1015, 157, 158,
+ 1022, 999, 1016, 1027, 1031, 1023, 1037, 550, 1028, 1032,
+ 974, 1038, 1039, 495, 99, 1198, 1202, 533, 1199, 443,
+ 444, 1203, 1210, 446, 99, 160, 447, 1223, 99, 217,
+ 558, 559, 1224, 498, 505, 1264, 516, 448, 1226, 1227,
+ 1265, 234, 449, 450, 273, 222, 454, 1186, 1187, 1188,
+ 1189, 287, 471, 235, 482, 490, 491, 267, 501, 503,
+ 280, 307, 504, 519, 523, 524, 525, 291, 270, 527,
+ 528, 329, 529, 236, 350, 265, 348, 309, 276, 330,
+ 351, 99, 530, 560, 349, 290, 535, 343, 538, 540,
+ 541, 237, 361, 238, 239, 308, 385, 240, 544, 545,
+ 407, 223, 555, 561, 562, 563, 564, 565, 567, 568,
+ 569, 241, 386, 268, 570, 571, 281, 572, 573, 574,
+ 575, 576, 577, 292, 578, 242, 585, 581, 243, 244,
+ 245, 246, 579, 310, 580, 591, 582, 583, 584, 586,
+ 587, 686, 247, 344, 592, 248, 593, 249, 362, 250,
+ 251, 588, 252, 253, 589, 595, 590, 254, 594, 596,
+ 597, 598, 274, 262, 599, 600, 601, 602, 387, 288,
+ 275, 603, 604, 605, 606, 607, 608, 289, 688, 689,
+ 690, 114, 115, 116, 117, 118, 119, 120, 121, 122,
+ 123, 124, 609, 610, 612, 611, 129, 130, 131, 132,
+ 133, 134, 135, 136, 613, 138, 323, 1, 2, 3,
+ 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
+ 14, 15, 614, 139, 140, 615, 227, 228, 616, 230,
+ 141, 617, 160, 618, 620, 407, 621, 623, 624, 217,
+ 625, 626, 231, 627, 628, 232, 630, 629, 631, 632,
+ 634, 636, 638, 233, 642, 222, 637, 643, 644, 645,
+ 646, 639, 640, 647, 648, 650, 651, 652, 653, 654,
+ 655, 656, 890, 904, 914, 658, 385, 659, 761, 660,
+ 662, 663, 665, 666, 667, 669, 672, 668, 892, 910,
+ 915, 925, 386, 670, 673, 676, 671, 677, 678, 674,
+ 774, 679, 682, 685, 979, 696, 157, 158, 683, 675,
+ 687, 223, 768, 691, 692, 693, 108, 109, 694, 695,
+ 110, 706, 697, 111, 112, 113, 704, 705, 707, 708,
+ 982, 711, 34, 717, 718, 719, 99, 720, 721, 722,
+ 723, 724, 731, 732, 893, 911, 916, 926, 387, 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, 725, 726, 727, 728, 729, 730,
+ 733, 734, 736, 737, 738, 739, 740, 743, 773, 822,
+ 742, 139, 140, 744, 745, 746, 750, 751, 141, 826,
+ 752, 753, 754, 142, 143, 144, 145, 146, 755, 147,
+ 756, 757, 758, 759, 148, 760, 762, 830, 763, 764,
+ 834, 770, 771, 149, 772, 838, 150, 860, 863, 856,
+ 867, 934, 938, 151, 942, 959, 960, 961, 962, 963,
+ 965, 152, 153, 966, 970, 971, 154, 972, 973, 155,
+ 985, 978, 981, 156, 984, 987, 988, 990, 991, 1060,
+ 994, 1005, 1004, 1007, 1008, 1047, 1009, 1010, 1011, 1012,
+ 1013, 1014, 1019, 1020, 157, 158, 1021, 159, 1024, 1025,
+ 1026, 1033, 1035, 1043, 1048, 1050, 1051, 1059, 1053, 1055,
+ 1054, 1056, 1057, 1058, 1062, 1061, 1063, 1064, 1067, 1068,
+ 1069, 1121, 1065, 1148, 99, 1149, 1066, 1158, 1159, 1070,
+ 1071, 1162, 1164, 1185, 1073, 1072, 1179, 1141, 1142, 1143,
+ 1144, 1145, 1146, 1180, 1200, 1201, 234, 1206, 1208, 329,
+ 350, 1221, 348, 1150, 1207, 1083, 351, 330, 235, 1151,
+ 349, 1152, 267, 1104, 1154, 343, 1125, 1084, 361, 307,
+ 1155, 1115, 365, 270, 1126, 1156, 1161, 1163, 236, 1191,
+ 265, 1192, 1128, 1193, 1194, 309, 1209, 1085, 890, 1114,
+ 1230, 1233, 1195, 904, 1234, 1235, 237, 914, 238, 239,
+ 1127, 1231, 240, 308, 892, 1086, 1169, 1087, 1088, 910,
+ 1196, 1089, 273, 915, 1170, 287, 241, 1197, 268, 925,
+ 1204, 344, 1171, 1215, 362, 1090, 1216, 1116, 280, 1238,
+ 242, 291, 1240, 243, 244, 245, 246, 1260, 1129, 1091,
+ 1261, 310, 1092, 1093, 1094, 1095, 276, 247, 1217, 290,
+ 248, 1262, 249, 1266, 250, 251, 1096, 252, 253, 1097,
+ 893, 1098, 254, 1099, 1100, 911, 1101, 1102, 262, 916,
+ 1270, 1103, 1267, 1108, 619, 926, 848, 1110, 1172, 1218,
+ 566, 1109, 775, 769, 281, 778, 709, 292, 950, 1225,
+ 1228, 1076, 1237, 1074, 1122, 622, 1119, 1120, 664, 1139,
+ 1157, 1239, 1140, 1229, 1147, 1078, 1268, 1077, 633, 1118,
+ 1269, 1272, 321, 1080, 661, 1079, 1081, 1273, 657, 1184,
+ 1137, 947, 635, 1082, 641, 1138, 1181, 1182, 1232, 1153,
+ 274, 1160, 1165, 288, 933, 1183, 680, 1136, 275, 777,
+ 649, 289, 776, 1258, 1178, 1236, 1271, 0, 681, 0,
+ 684, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1083, 0,
+ 0, 0, 0, 0, 1125, 0, 1104, 0, 0, 0,
+ 1084, 0, 1126, 0, 1115, 0, 0, 0, 0, 1169,
+ 1128, 0, 0, 0, 0, 0, 0, 1170, 0, 1219,
+ 1085, 0, 1114, 0, 0, 1171, 0, 0, 1127, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1086, 0,
+ 1087, 1088, 0, 0, 1089, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1090, 0,
+ 1116, 0, 0, 0, 0, 0, 1129, 0, 0, 0,
+ 0, 0, 1091, 0, 0, 1092, 1093, 1094, 1095, 0,
+ 0, 1172, 0, 0, 0, 0, 0, 0, 0, 1096,
+ 0, 0, 1097, 0, 1098, 0, 1099, 1100, 0, 1101,
+ 1102, 0, 0, 0, 1103, 0, 1108, 0, 0, 0,
+ 1110, 0, 0, 0, 1109
};
- const short
+ const short int
Dhcp6Parser::yycheck_[] =
{
74, 75, 76, 77, 78, 79, 80, 83, 82, 83,
84, 85, 17, 83, 86, 77, 82, 83, 76, 77,
- 78, 79, 80, 722, 82, 83, 691, 85, 716, 973,
- 77, 973, 973, 973, 973, 77, 5, 77, 7, 10,
- 9, 21, 110, 77, 16, 17, 195, 77, 77, 117,
- 77, 77, 3, 77, 78, 79, 80, 8, 21, 13,
- 14, 112, 161, 162, 163, 164, 0, 30, 76, 77,
- 78, 79, 80, 3, 82, 83, 6, 85, 119, 120,
- 7, 77, 77, 7, 77, 77, 77, 77, 77, 69,
- 3, 71, 72, 6, 67, 75, 76, 77, 77, 198,
- 77, 77, 7, 77, 3, 3, 86, 87, 6, 8,
- 78, 79, 3, 77, 86, 87, 77, 8, 78, 79,
- 21, 86, 87, 86, 87, 26, 27, 28, 29, 30,
- 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
- 41, 42, 43, 68, 195, 68, 3, 68, 69, 3,
- 3, 8, 6, 168, 195, 8, 81, 82, 83, 84,
- 85, 86, 87, 86, 87, 86, 87, 7, 69, 132,
- 133, 134, 135, 7, 3, 7, 141, 142, 143, 8,
- 105, 104, 7, 108, 7, 106, 107, 110, 111, 112,
- 113, 114, 115, 7, 68, 170, 167, 3, 173, 174,
- 175, 176, 8, 7, 3, 79, 177, 178, 179, 8,
- 11, 12, 86, 87, 15, 195, 3, 18, 19, 20,
- 3, 8, 69, 195, 195, 8, 195, 196, 197, 198,
- 195, 105, 195, 1177, 108, 1177, 1177, 1177, 1177, 86,
- 87, 119, 120, 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, 626, 7,
- 195, 3, 195, 3, 195, 6, 8, 3, 8, 3,
- 638, 639, 640, 4, 8, 86, 87, 7, 86, 87,
- 3, 979, 93, 7, 195, 8, 961, 98, 99, 100,
- 101, 102, 3, 104, 7, 6, 8, 1006, 109, 122,
- 123, 124, 125, 126, 127, 158, 159, 118, 3, 3,
- 121, 195, 169, 8, 171, 172, 4, 128, 4, 69,
- 70, 71, 72, 73, 74, 136, 137, 3, 8, 140,
- 138, 139, 8, 144, 4, 3, 86, 87, 195, 423,
- 8, 3, 3, 3, 3, 3, 8, 8, 8, 8,
- 8, 3, 3, 3, 165, 166, 8, 168, 8, 4,
- 4, 44, 45, 46, 47, 48, 49, 50, 51, 52,
- 53, 54, 94, 95, 96, 97, 59, 60, 61, 62,
- 63, 64, 65, 66, 195, 68, 69, 195, 3, 3,
- 3, 8, 476, 8, 8, 8, 480, 3, 413, 414,
- 3, 8, 8, 86, 87, 8, 89, 90, 492, 92,
- 93, 495, 480, 4, 3, 129, 130, 131, 502, 8,
- 492, 4, 105, 4, 492, 108, 4, 495, 512, 22,
- 23, 24, 25, 116, 502, 492, 4, 4, 522, 4,
- 492, 527, 492, 527, 512, 195, 522, 527, 492, 4,
- 4, 527, 492, 492, 522, 492, 492, 4, 492, 527,
- 4, 495, 480, 547, 4, 4, 4, 549, 502, 112,
- 113, 4, 115, 4, 492, 4, 4, 495, 512, 547,
- 4, 4, 165, 166, 502, 4, 492, 492, 4, 492,
- 492, 492, 492, 492, 512, 4, 3, 8, 4, 4,
- 3, 198, 4, 492, 522, 492, 492, 4, 492, 527,
- 4, 4, 195, 4, 4, 4, 195, 495, 492, 4,
- 4, 492, 4, 4, 502, 495, 4, 4, 4, 547,
- 4, 4, 502, 4, 4, 4, 4, 4, 4, 196,
- 196, 196, 196, 196, 4, 560, 561, 562, 44, 45,
- 46, 47, 48, 49, 50, 51, 52, 53, 54, 196,
- 196, 196, 196, 59, 60, 61, 62, 63, 64, 65,
- 197, 197, 68, 196, 196, 4, 4, 198, 198, 198,
- 198, 4, 78, 4, 80, 4, 4, 4, 4, 4,
- 86, 87, 88, 89, 90, 91, 92, 93, 682, 4,
- 4, 683, 4, 4, 4, 689, 4, 4, 196, 105,
- 4, 4, 108, 109, 86, 87, 4, 4, 4, 4,
- 116, 689, 180, 181, 182, 183, 184, 185, 186, 187,
- 188, 189, 190, 191, 192, 193, 194, 198, 722, 723,
- 4, 725, 4, 4, 659, 4, 4, 196, 198, 4,
- 4, 4, 4, 4, 722, 723, 724, 725, 4, 196,
- 196, 196, 4, 4, 4, 4, 681, 4, 4, 165,
- 166, 689, 4, 145, 146, 147, 148, 149, 150, 151,
- 152, 153, 154, 155, 156, 157, 4, 4, 196, 4,
- 4, 4, 4, 165, 166, 4, 4, 198, 198, 195,
- 198, 4, 4, 198, 722, 723, 724, 725, 196, 4,
- 196, 4, 4, 196, 4, 4, 4, 4, 198, 198,
- 4, 196, 4, 195, 7, 160, 7, 7, 7, 7,
- 195, 7, 5, 195, 195, 5, 195, 5, 5, 195,
- 5, 7, 5, 5, 5, 195, 5, 7, 5, 5,
- 195, 195, 7, 7, 7, 7, 7, 5, 5, 5,
- 5, 195, 195, 195, 7, 195, 5, 7, 195, 195,
- 195, 195, 7, 195, 7, 195, 7, 7, 103, 7,
- 7, 195, 195, 195, 195, 195, 195, 195, 195, 195,
- 7, 7, 195, 7, 7, 4, 195, 4, 4, 195,
- 195, 4, 4, 4, 4, 4, 4, 4, 4, 3,
- 595, 6, 3, 6, 6, 3, 6, 3, 3, 6,
- 195, 3, 6, 6, 3, 6, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 3, 198, 6,
- 3, 6, 4, 3, 8, 6, 4, 4, 4, 196,
- 198, 196, 196, 4, 4, 4, 4, 4, 196, 4,
- 4, 196, 196, 196, 4, 4, 196, 198, 196, 196,
- 196, 4, 196, 196, 196, 196, 196, 196, 4, 6,
- 964, 4, 198, 967, 970, 196, 970, 8, 195, 973,
- 970, 967, 964, 8, 970, 195, 964, 973, 195, 967,
- 984, 973, 970, 987, 195, 973, 990, 964, 984, 195,
- 195, 4, 964, 8, 964, 3, 984, 8, 195, 987,
- 964, 973, 1006, 973, 964, 964, 1010, 964, 964, 973,
- 964, 195, 4, 973, 973, 1019, 973, 973, 1006, 973,
- 4, 1025, 1010, 1019, 1028, 195, 964, 4, 1016, 967,
- 984, 1019, 970, 987, 195, 973, 198, 1025, 964, 964,
- 1028, 964, 964, 964, 964, 964, 984, 973, 973, 987,
- 973, 973, 973, 973, 973, 964, 195, 964, 964, 4,
- 964, 196, 5, 195, 973, 195, 973, 973, 1006, 973,
- 964, 1025, 1010, 964, 1028, 973, 7, 4, 1016, 973,
- 4, 1019, 973, 973, 4, 4, 195, 1025, 4, 715,
- 1028, 682, 476, 768, 689, 195, 963, 480, 976, 958,
- 982, 990, 979, 672, 992, 966, 530, 999, 964, 975,
- 1177, 423, 81, 1027, 492, 522, 195, 969, 967, 1030,
- 970, 495, 196, 198, 196, 972, 989, 1025, 1025, 195,
- 1028, 502, 195, 738, 1183, 1025, 1006, 512, 1028, 987,
- 985, 1028, 1010, 1016, 688, 1020, 1198, 683, 1219, 1239,
- 527, -1, -1, -1, -1, -1, -1, 725, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 1177, 547, -1, -1, 549, -1, 1183,
- -1, 1177, -1, -1, 553, 1177, -1, 1183, -1, 1177,
- -1, -1, -1, -1, 1198, 1183, -1, -1, -1, -1,
- -1, -1, 1198, -1, 1139, 1177, -1, 1177, -1, -1,
- 1198, -1, -1, 1177, -1, -1, -1, 1177, 1177, -1,
- 1177, 1177, -1, 1177, -1, -1, -1, -1, -1, 1183,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 1177,
- -1, -1, -1, -1, -1, 1183, -1, -1, -1, -1,
- -1, 1177, 1177, -1, 1177, 1177, 1177, 1177, 1177, -1,
- 1198, -1, -1, -1, -1, -1, -1, -1, 1177, -1,
- 1177, 1177, -1, 1177, -1, -1, -1, -1, -1, 1177,
- -1, -1, -1, 1177, -1, -1, 1177, 1177
+ 78, 79, 80, 726, 82, 83, 695, 85, 720, 989,
+ 77, 989, 989, 989, 989, 77, 10, 77, 78, 79,
+ 80, 5, 110, 7, 199, 9, 3, 16, 17, 117,
+ 0, 8, 7, 77, 7, 77, 77, 630, 7, 77,
+ 165, 166, 167, 168, 112, 119, 120, 68, 69, 642,
+ 643, 644, 7, 77, 76, 77, 78, 79, 80, 3,
+ 82, 83, 7, 85, 8, 86, 87, 77, 67, 21,
+ 77, 77, 77, 77, 119, 120, 3, 202, 30, 13,
+ 14, 8, 21, 3, 77, 106, 107, 77, 8, 77,
+ 3, 77, 77, 6, 77, 77, 3, 86, 87, 77,
+ 172, 8, 78, 79, 3, 77, 7, 21, 6, 8,
+ 78, 79, 26, 27, 28, 29, 30, 31, 32, 33,
+ 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
+ 69, 199, 71, 72, 86, 87, 75, 76, 77, 68,
+ 174, 7, 3, 177, 178, 179, 180, 86, 87, 3,
+ 79, 7, 6, 68, 199, 69, 68, 86, 87, 3,
+ 86, 87, 112, 113, 8, 115, 81, 82, 83, 84,
+ 85, 86, 87, 7, 86, 87, 105, 171, 199, 108,
+ 132, 133, 134, 135, 7, 7, 3, 181, 182, 183,
+ 105, 8, 104, 108, 3, 7, 69, 6, 110, 111,
+ 112, 113, 114, 115, 3, 199, 129, 130, 131, 8,
+ 199, 86, 87, 86, 87, 199, 200, 201, 202, 145,
+ 146, 147, 1202, 3, 1202, 1202, 1202, 1202, 8, 94,
+ 95, 96, 97, 44, 45, 46, 47, 48, 49, 50,
+ 51, 52, 53, 54, 162, 163, 7, 199, 59, 60,
+ 61, 62, 63, 64, 65, 3, 3, 68, 6, 6,
+ 199, 86, 87, 138, 139, 140, 7, 78, 4, 80,
+ 199, 86, 87, 199, 8, 86, 87, 88, 89, 90,
+ 91, 92, 93, 995, 199, 199, 3, 199, 977, 3,
+ 3, 8, 4, 4, 105, 8, 3, 108, 109, 1022,
+ 173, 8, 175, 176, 3, 116, 4, 4, 4, 8,
+ 4, 69, 70, 71, 72, 73, 74, 142, 143, 4,
+ 3, 8, 3, 3, 199, 8, 199, 8, 86, 87,
+ 4, 425, 4, 4, 149, 150, 151, 152, 153, 154,
+ 155, 156, 157, 158, 159, 160, 161, 122, 123, 124,
+ 125, 126, 127, 4, 169, 170, 3, 3, 169, 170,
+ 3, 8, 8, 3, 3, 8, 3, 3, 8, 8,
+ 3, 8, 8, 3, 199, 8, 3, 3, 8, 4,
+ 4, 8, 8, 4, 199, 479, 4, 3, 199, 483,
+ 415, 416, 8, 3, 3, 3, 8, 4, 8, 8,
+ 8, 495, 4, 4, 498, 483, 4, 22, 23, 24,
+ 25, 505, 4, 495, 4, 4, 4, 495, 4, 4,
+ 498, 515, 4, 4, 4, 8, 3, 505, 495, 4,
+ 4, 525, 8, 495, 530, 495, 530, 515, 498, 525,
+ 530, 199, 3, 199, 530, 505, 4, 525, 4, 4,
+ 4, 495, 530, 495, 495, 515, 550, 495, 4, 4,
+ 552, 483, 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 495, 550, 495, 4, 4, 498, 4, 200, 200,
+ 200, 200, 200, 505, 200, 495, 4, 202, 495, 495,
+ 495, 495, 200, 515, 200, 4, 201, 201, 200, 200,
+ 200, 7, 495, 525, 4, 495, 4, 495, 530, 495,
+ 495, 202, 495, 495, 202, 4, 202, 495, 202, 4,
+ 4, 4, 498, 495, 4, 4, 4, 4, 550, 505,
+ 498, 4, 4, 4, 4, 4, 4, 505, 563, 564,
+ 565, 44, 45, 46, 47, 48, 49, 50, 51, 52,
+ 53, 54, 4, 4, 4, 200, 59, 60, 61, 62,
+ 63, 64, 65, 66, 4, 68, 69, 184, 185, 186,
+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196,
+ 197, 198, 4, 86, 87, 4, 89, 90, 4, 92,
+ 93, 4, 686, 4, 4, 687, 202, 4, 4, 693,
+ 4, 4, 105, 4, 200, 108, 4, 202, 4, 4,
+ 4, 4, 4, 116, 4, 693, 200, 4, 4, 4,
+ 4, 200, 200, 4, 4, 4, 4, 200, 4, 4,
+ 4, 202, 726, 727, 728, 4, 730, 202, 663, 202,
+ 4, 4, 202, 4, 4, 4, 4, 200, 726, 727,
+ 728, 729, 730, 200, 4, 4, 200, 4, 4, 202,
+ 685, 4, 4, 4, 3, 5, 169, 170, 200, 202,
+ 7, 693, 164, 199, 7, 7, 11, 12, 7, 7,
+ 15, 5, 199, 18, 19, 20, 199, 199, 5, 5,
+ 3, 199, 7, 5, 5, 5, 199, 5, 7, 5,
+ 5, 5, 199, 199, 726, 727, 728, 729, 730, 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, 7, 7, 7, 7, 7, 7,
+ 5, 5, 5, 5, 199, 199, 199, 7, 5, 7,
+ 199, 86, 87, 199, 199, 199, 199, 199, 93, 7,
+ 199, 199, 199, 98, 99, 100, 101, 102, 199, 104,
+ 199, 199, 199, 199, 109, 199, 199, 7, 199, 199,
+ 7, 199, 199, 118, 199, 7, 121, 7, 7, 103,
+ 7, 7, 7, 128, 7, 4, 4, 4, 4, 4,
+ 4, 136, 137, 4, 4, 4, 141, 4, 4, 144,
+ 3, 6, 6, 148, 6, 6, 3, 6, 3, 202,
+ 6, 3, 6, 6, 3, 6, 4, 4, 4, 4,
+ 4, 4, 4, 4, 169, 170, 4, 172, 4, 4,
+ 4, 4, 4, 199, 3, 6, 3, 200, 8, 4,
+ 6, 4, 4, 4, 202, 200, 200, 4, 4, 4,
+ 4, 4, 200, 4, 199, 4, 200, 4, 4, 200,
+ 200, 4, 4, 4, 200, 202, 6, 200, 200, 200,
+ 200, 200, 200, 3, 8, 8, 980, 4, 3, 983,
+ 986, 4, 986, 200, 8, 989, 986, 983, 980, 200,
+ 986, 200, 980, 989, 202, 983, 1000, 989, 986, 1003,
+ 200, 989, 1006, 980, 1000, 200, 202, 200, 980, 199,
+ 980, 199, 1000, 199, 199, 1003, 8, 989, 1022, 989,
+ 4, 4, 199, 1027, 200, 4, 980, 1031, 980, 980,
+ 1000, 202, 980, 1003, 1022, 989, 1040, 989, 989, 1027,
+ 199, 989, 1046, 1031, 1040, 1049, 980, 199, 980, 1037,
+ 199, 983, 1040, 199, 986, 989, 199, 989, 1046, 5,
+ 980, 1049, 7, 980, 980, 980, 980, 4, 1000, 989,
+ 4, 1003, 989, 989, 989, 989, 1046, 980, 199, 1049,
+ 980, 4, 980, 4, 980, 980, 989, 980, 980, 989,
+ 1022, 989, 980, 989, 989, 1027, 989, 989, 980, 1031,
+ 4, 989, 202, 989, 479, 1037, 719, 989, 1040, 199,
+ 425, 989, 686, 676, 1046, 693, 598, 1049, 773, 199,
+ 199, 979, 199, 974, 998, 483, 992, 995, 533, 1006,
+ 1027, 199, 1008, 1202, 1015, 982, 200, 980, 495, 991,
+ 200, 199, 81, 985, 530, 983, 986, 199, 525, 1051,
+ 1003, 743, 498, 988, 505, 1005, 1046, 1048, 1208, 1022,
+ 1046, 1031, 1037, 1049, 730, 1049, 550, 1001, 1046, 692,
+ 515, 1049, 687, 1244, 1041, 1223, 1264, -1, 552, -1,
+ 556, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 1202, -1,
+ -1, -1, -1, -1, 1208, -1, 1202, -1, -1, -1,
+ 1202, -1, 1208, -1, 1202, -1, -1, -1, -1, 1223,
+ 1208, -1, -1, -1, -1, -1, -1, 1223, -1, 1164,
+ 1202, -1, 1202, -1, -1, 1223, -1, -1, 1208, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 1202, -1,
+ 1202, 1202, -1, -1, 1202, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 1202, -1,
+ 1202, -1, -1, -1, -1, -1, 1208, -1, -1, -1,
+ -1, -1, 1202, -1, -1, 1202, 1202, 1202, 1202, -1,
+ -1, 1223, -1, -1, -1, -1, -1, -1, -1, 1202,
+ -1, -1, 1202, -1, 1202, -1, 1202, 1202, -1, 1202,
+ 1202, -1, -1, -1, 1202, -1, 1202, -1, -1, -1,
+ 1202, -1, -1, -1, 1202
};
- const short
+ const unsigned short int
Dhcp6Parser::yystos_[] =
{
- 0, 180, 181, 182, 183, 184, 185, 186, 187, 188,
- 189, 190, 191, 192, 193, 194, 200, 201, 202, 203,
- 204, 205, 206, 207, 208, 209, 210, 211, 212, 213,
- 214, 215, 0, 5, 7, 9, 195, 196, 197, 198,
- 216, 217, 218, 223, 7, 232, 7, 238, 7, 277,
- 7, 376, 7, 453, 7, 469, 7, 486, 7, 405,
- 7, 411, 7, 435, 7, 352, 7, 555, 7, 601,
- 7, 592, 224, 219, 233, 239, 278, 377, 454, 470,
- 487, 406, 412, 436, 353, 556, 602, 593, 216, 225,
- 226, 195, 221, 222, 10, 167, 177, 178, 179, 195,
- 231, 234, 235, 236, 584, 586, 588, 599, 11, 12,
+ 0, 184, 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, 219, 0, 5, 7, 9, 199, 200, 201, 202,
+ 220, 221, 222, 227, 7, 236, 7, 242, 7, 281,
+ 7, 387, 7, 464, 7, 480, 7, 497, 7, 416,
+ 7, 422, 7, 446, 7, 363, 7, 566, 7, 612,
+ 7, 603, 228, 223, 237, 243, 282, 388, 465, 481,
+ 498, 417, 423, 447, 364, 567, 613, 604, 220, 229,
+ 230, 199, 225, 226, 10, 171, 181, 182, 183, 199,
+ 235, 238, 239, 240, 595, 597, 599, 610, 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, 86,
87, 93, 98, 99, 100, 101, 102, 104, 109, 118,
- 121, 128, 136, 137, 140, 144, 165, 166, 168, 231,
- 240, 241, 242, 244, 245, 246, 247, 248, 249, 250,
- 251, 252, 253, 254, 255, 256, 257, 258, 259, 262,
- 264, 266, 268, 270, 271, 272, 273, 275, 284, 286,
- 288, 326, 332, 338, 344, 346, 360, 370, 390, 395,
- 403, 429, 459, 461, 480, 510, 522, 534, 535, 543,
- 553, 590, 605, 16, 17, 231, 279, 280, 281, 283,
- 459, 461, 78, 80, 88, 89, 90, 91, 92, 105,
- 108, 116, 231, 244, 245, 246, 247, 248, 249, 250,
- 251, 252, 253, 254, 256, 257, 258, 259, 262, 264,
- 266, 268, 270, 378, 379, 380, 382, 384, 386, 388,
- 390, 393, 394, 429, 447, 459, 461, 463, 480, 505,
- 79, 231, 386, 388, 429, 455, 456, 457, 459, 461,
- 81, 82, 83, 84, 85, 231, 386, 388, 429, 459,
- 461, 471, 472, 473, 475, 476, 478, 479, 104, 110,
- 111, 112, 113, 114, 115, 231, 429, 459, 461, 488,
- 489, 490, 491, 493, 495, 497, 499, 501, 503, 403,
- 21, 69, 71, 72, 75, 76, 77, 231, 306, 413,
- 414, 415, 416, 417, 418, 419, 421, 423, 425, 426,
- 428, 459, 461, 70, 73, 74, 231, 306, 417, 423,
- 437, 438, 439, 440, 441, 443, 444, 445, 446, 459,
- 461, 119, 120, 231, 354, 355, 356, 358, 145, 146,
- 147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
- 157, 165, 166, 231, 459, 461, 557, 558, 559, 560,
- 562, 564, 565, 567, 568, 569, 572, 574, 575, 576,
- 578, 580, 582, 603, 604, 605, 13, 14, 594, 595,
- 596, 598, 6, 3, 4, 8, 3, 237, 600, 585,
- 587, 589, 4, 3, 8, 243, 591, 276, 285, 287,
- 289, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 274, 4, 4, 4, 4, 4, 260,
- 263, 265, 4, 371, 404, 430, 460, 462, 391, 396,
- 333, 345, 339, 327, 511, 481, 347, 361, 523, 4,
- 536, 544, 554, 267, 269, 606, 3, 8, 282, 4,
- 3, 8, 448, 464, 381, 383, 385, 4, 4, 389,
- 387, 506, 3, 8, 458, 3, 8, 474, 4, 477,
- 4, 4, 3, 8, 504, 492, 494, 496, 498, 500,
- 502, 8, 3, 8, 420, 307, 4, 424, 422, 427,
- 4, 8, 3, 442, 4, 4, 8, 3, 357, 359,
- 3, 8, 4, 561, 563, 4, 566, 4, 4, 570,
- 573, 4, 4, 577, 579, 581, 583, 3, 8, 3,
- 8, 597, 4, 3, 8, 216, 216, 195, 4, 4,
- 4, 4, 4, 235, 4, 4, 4, 4, 4, 4,
- 196, 196, 196, 196, 196, 196, 196, 196, 198, 197,
- 197, 196, 4, 196, 196, 198, 198, 198, 4, 4,
- 4, 198, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 196, 4,
- 4, 4, 4, 4, 4, 241, 4, 198, 280, 4,
- 4, 4, 4, 4, 196, 198, 4, 4, 4, 379,
- 4, 456, 4, 196, 4, 196, 196, 472, 4, 4,
- 4, 4, 4, 4, 4, 490, 4, 4, 196, 4,
- 4, 4, 198, 415, 4, 198, 198, 439, 4, 4,
- 355, 198, 4, 4, 196, 4, 196, 196, 4, 4,
- 198, 198, 4, 4, 4, 4, 558, 604, 4, 196,
- 595, 4, 7, 7, 216, 216, 216, 195, 7, 7,
- 7, 7, 5, 195, 161, 162, 163, 164, 198, 261,
- 195, 195, 5, 5, 5, 218, 220, 195, 94, 95,
- 96, 97, 392, 5, 5, 5, 5, 7, 5, 5,
- 5, 7, 7, 7, 7, 7, 195, 195, 5, 5,
- 227, 5, 5, 195, 195, 195, 227, 195, 7, 195,
- 195, 195, 227, 227, 227, 195, 195, 195, 195, 195,
- 195, 195, 195, 195, 195, 195, 216, 195, 195, 195,
- 158, 159, 571, 160, 261, 195, 195, 195, 5, 216,
- 240, 603, 594, 279, 21, 26, 27, 28, 29, 30,
- 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
- 41, 42, 43, 231, 294, 295, 296, 299, 301, 303,
- 305, 306, 308, 309, 310, 311, 312, 313, 314, 315,
- 316, 317, 319, 320, 322, 324, 294, 7, 290, 291,
- 292, 7, 372, 373, 374, 7, 407, 408, 409, 7,
- 431, 432, 433, 7, 397, 398, 399, 112, 195, 334,
- 335, 336, 337, 225, 113, 115, 336, 340, 341, 342,
- 343, 103, 328, 329, 330, 7, 512, 513, 7, 482,
- 483, 484, 7, 348, 349, 350, 122, 123, 124, 125,
- 126, 127, 362, 363, 364, 365, 366, 367, 368, 369,
- 21, 132, 133, 134, 135, 231, 308, 459, 461, 524,
- 525, 526, 529, 530, 532, 533, 138, 139, 231, 459,
- 461, 537, 538, 539, 541, 141, 142, 143, 195, 459,
- 461, 545, 546, 547, 548, 550, 551, 557, 7, 607,
- 608, 228, 7, 449, 450, 451, 7, 465, 466, 467,
- 117, 491, 507, 508, 290, 8, 8, 8, 8, 297,
- 300, 302, 304, 4, 4, 4, 4, 4, 318, 4,
- 4, 321, 323, 325, 4, 4, 4, 4, 3, 8,
- 8, 293, 6, 3, 375, 6, 3, 410, 6, 3,
- 434, 6, 3, 400, 6, 3, 3, 6, 6, 3,
- 6, 331, 3, 8, 514, 3, 6, 485, 6, 3,
- 351, 6, 3, 4, 4, 4, 4, 4, 4, 3,
- 8, 527, 531, 4, 4, 4, 3, 8, 540, 542,
- 3, 8, 4, 549, 4, 552, 3, 8, 8, 609,
- 3, 6, 195, 229, 230, 452, 6, 3, 468, 6,
- 3, 509, 8, 6, 4, 4, 4, 4, 196, 198,
- 196, 198, 196, 4, 196, 196, 4, 4, 4, 196,
- 196, 198, 196, 295, 294, 292, 378, 374, 413, 409,
- 437, 433, 231, 244, 245, 246, 247, 248, 249, 250,
- 251, 252, 253, 254, 256, 257, 258, 259, 262, 264,
- 266, 268, 270, 306, 370, 382, 384, 386, 388, 390,
- 394, 401, 402, 429, 459, 461, 505, 399, 335, 341,
- 4, 329, 106, 107, 231, 306, 429, 459, 461, 515,
- 516, 517, 518, 519, 521, 513, 488, 484, 354, 350,
- 196, 196, 196, 196, 196, 196, 363, 4, 4, 196,
- 196, 196, 525, 4, 4, 538, 198, 4, 196, 4,
- 546, 169, 171, 172, 231, 306, 459, 461, 610, 611,
- 612, 613, 615, 608, 6, 3, 455, 451, 471, 467,
- 4, 22, 23, 24, 25, 298, 195, 195, 195, 195,
- 195, 195, 195, 8, 8, 8, 8, 3, 8, 195,
- 520, 4, 8, 3, 8, 8, 129, 130, 131, 528,
- 195, 195, 195, 195, 216, 616, 4, 614, 3, 8,
- 195, 8, 8, 195, 402, 4, 198, 517, 4, 196,
- 4, 611, 195, 5, 195, 7, 617, 618, 619, 3,
- 6, 170, 173, 174, 175, 176, 620, 621, 622, 624,
- 625, 626, 627, 618, 623, 4, 4, 4, 628, 3,
- 8, 4, 198, 196, 196, 4, 621, 195, 195
+ 121, 128, 136, 137, 141, 144, 148, 169, 170, 172,
+ 235, 244, 245, 246, 248, 249, 250, 251, 252, 253,
+ 254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
+ 266, 268, 270, 272, 274, 275, 276, 277, 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, 601, 616, 16, 17, 235, 283, 284,
+ 285, 287, 470, 472, 78, 80, 88, 89, 90, 91,
+ 92, 105, 108, 116, 235, 248, 249, 250, 251, 252,
+ 253, 254, 255, 256, 257, 258, 260, 261, 262, 263,
+ 266, 268, 270, 272, 274, 389, 390, 391, 393, 395,
+ 397, 399, 401, 404, 405, 440, 458, 470, 472, 474,
+ 491, 516, 79, 235, 397, 399, 440, 466, 467, 468,
+ 470, 472, 81, 82, 83, 84, 85, 235, 397, 399,
+ 440, 470, 472, 482, 483, 484, 486, 487, 489, 490,
+ 104, 110, 111, 112, 113, 114, 115, 235, 440, 470,
+ 472, 499, 500, 501, 502, 504, 506, 508, 510, 512,
+ 514, 414, 21, 69, 71, 72, 75, 76, 77, 235,
+ 310, 424, 425, 426, 427, 428, 429, 430, 432, 434,
+ 436, 437, 439, 470, 472, 70, 73, 74, 235, 310,
+ 428, 434, 448, 449, 450, 451, 452, 454, 455, 456,
+ 457, 470, 472, 119, 120, 235, 365, 366, 367, 369,
+ 149, 150, 151, 152, 153, 154, 155, 156, 157, 158,
+ 159, 160, 161, 169, 170, 235, 470, 472, 568, 569,
+ 570, 571, 573, 575, 576, 578, 579, 580, 583, 585,
+ 586, 587, 589, 591, 593, 614, 615, 616, 13, 14,
+ 605, 606, 607, 609, 6, 3, 4, 8, 3, 241,
+ 611, 596, 598, 600, 4, 3, 8, 247, 602, 280,
+ 289, 291, 293, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 278, 4, 4, 4, 4,
+ 4, 264, 267, 269, 4, 382, 415, 441, 471, 473,
+ 402, 407, 337, 349, 343, 331, 522, 492, 358, 372,
+ 534, 4, 351, 547, 555, 565, 271, 273, 617, 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, 3, 8, 608, 4, 3, 8, 220, 220,
+ 199, 4, 4, 4, 4, 4, 239, 4, 4, 4,
+ 4, 4, 4, 200, 200, 200, 200, 200, 200, 200,
+ 200, 202, 201, 201, 200, 4, 200, 200, 202, 202,
+ 202, 4, 4, 4, 202, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 200, 4, 4, 4, 4, 4, 4, 4, 245,
+ 4, 202, 284, 4, 4, 4, 4, 4, 200, 202,
+ 4, 4, 4, 390, 4, 467, 4, 200, 4, 200,
+ 200, 483, 4, 4, 4, 4, 4, 4, 4, 501,
+ 4, 4, 200, 4, 4, 4, 202, 426, 4, 202,
+ 202, 450, 4, 4, 366, 202, 4, 4, 200, 4,
+ 200, 200, 4, 4, 202, 202, 4, 4, 4, 4,
+ 569, 615, 4, 200, 606, 4, 7, 7, 220, 220,
+ 220, 199, 7, 7, 7, 7, 5, 199, 165, 166,
+ 167, 168, 202, 265, 199, 199, 5, 5, 5, 222,
+ 224, 199, 94, 95, 96, 97, 403, 5, 5, 5,
+ 5, 7, 5, 5, 5, 7, 7, 7, 7, 7,
+ 7, 199, 199, 5, 5, 231, 5, 5, 199, 199,
+ 199, 231, 199, 7, 199, 199, 199, 231, 231, 231,
+ 199, 199, 199, 199, 199, 199, 199, 199, 199, 199,
+ 199, 220, 199, 199, 199, 162, 163, 582, 164, 265,
+ 199, 199, 199, 5, 220, 244, 614, 605, 283, 21,
+ 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
+ 36, 37, 38, 39, 40, 41, 42, 43, 235, 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, 112, 199, 338, 339, 340, 341, 229, 113,
+ 115, 340, 344, 345, 346, 347, 103, 332, 333, 334,
+ 7, 523, 524, 7, 493, 494, 495, 7, 359, 360,
+ 361, 122, 123, 124, 125, 126, 127, 373, 374, 375,
+ 376, 377, 378, 379, 380, 21, 132, 133, 134, 135,
+ 235, 312, 470, 472, 535, 536, 537, 540, 541, 543,
+ 544, 138, 139, 140, 235, 352, 353, 354, 355, 356,
+ 470, 472, 142, 143, 235, 470, 472, 548, 549, 550,
+ 552, 145, 146, 147, 199, 470, 472, 556, 557, 558,
+ 559, 561, 562, 568, 7, 618, 619, 232, 7, 460,
+ 461, 462, 7, 476, 477, 478, 117, 502, 518, 519,
+ 294, 8, 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,
+ 620, 3, 6, 199, 233, 234, 463, 6, 3, 479,
+ 6, 3, 520, 8, 6, 4, 4, 4, 4, 200,
+ 202, 200, 202, 200, 4, 200, 200, 4, 4, 4,
+ 200, 200, 202, 200, 299, 298, 296, 389, 385, 424,
+ 420, 448, 444, 235, 248, 249, 250, 251, 252, 253,
+ 254, 255, 256, 257, 258, 260, 261, 262, 263, 266,
+ 268, 270, 272, 274, 310, 381, 393, 395, 397, 399,
+ 401, 405, 412, 413, 440, 470, 472, 516, 410, 339,
+ 345, 4, 333, 106, 107, 235, 310, 440, 470, 472,
+ 526, 527, 528, 529, 530, 532, 524, 499, 495, 365,
+ 361, 200, 200, 200, 200, 200, 200, 374, 4, 4,
+ 200, 200, 200, 536, 202, 200, 200, 353, 4, 4,
+ 549, 202, 4, 200, 4, 557, 173, 175, 176, 235,
+ 310, 470, 472, 621, 622, 623, 624, 626, 619, 6,
+ 3, 466, 462, 482, 478, 4, 22, 23, 24, 25,
+ 302, 199, 199, 199, 199, 199, 199, 199, 8, 8,
+ 8, 8, 3, 8, 199, 531, 4, 8, 3, 8,
+ 8, 129, 130, 131, 539, 199, 199, 199, 199, 220,
+ 627, 4, 625, 3, 8, 199, 8, 8, 199, 413,
+ 4, 202, 528, 4, 200, 4, 622, 199, 5, 199,
+ 7, 628, 629, 630, 3, 6, 174, 177, 178, 179,
+ 180, 631, 632, 633, 635, 636, 637, 638, 629, 634,
+ 4, 4, 4, 639, 3, 8, 4, 202, 200, 200,
+ 4, 632, 199, 199
};
- const short
+ const unsigned short int
Dhcp6Parser::yyr1_[] =
{
- 0, 199, 201, 200, 202, 200, 203, 200, 204, 200,
- 205, 200, 206, 200, 207, 200, 208, 200, 209, 200,
- 210, 200, 211, 200, 212, 200, 213, 200, 214, 200,
- 215, 200, 216, 216, 216, 216, 216, 216, 216, 217,
- 219, 218, 220, 221, 221, 222, 222, 224, 223, 225,
- 225, 226, 226, 228, 227, 229, 229, 230, 230, 231,
- 233, 232, 234, 234, 235, 235, 235, 235, 235, 235,
- 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, 243, 242,
- 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
- 254, 255, 256, 257, 258, 260, 259, 261, 261, 261,
- 261, 261, 263, 262, 265, 264, 267, 266, 269, 268,
- 270, 271, 272, 274, 273, 276, 275, 278, 277, 279,
- 279, 280, 280, 280, 280, 280, 282, 281, 283, 285,
- 284, 287, 286, 289, 288, 290, 290, 291, 291, 293,
- 292, 294, 294, 295, 295, 295, 295, 295, 295, 295,
- 295, 295, 295, 295, 295, 295, 295, 295, 295, 295,
- 295, 295, 295, 295, 297, 296, 298, 298, 298, 298,
- 300, 299, 302, 301, 304, 303, 305, 307, 306, 308,
- 309, 310, 311, 312, 313, 314, 315, 316, 318, 317,
- 319, 321, 320, 323, 322, 325, 324, 327, 326, 328,
- 328, 329, 331, 330, 333, 332, 334, 334, 335, 335,
- 336, 337, 339, 338, 340, 340, 341, 341, 341, 342,
- 343, 345, 344, 347, 346, 348, 348, 349, 349, 351,
- 350, 353, 352, 354, 354, 354, 355, 355, 357, 356,
- 359, 358, 361, 360, 362, 362, 363, 363, 363, 363,
- 363, 363, 364, 365, 366, 367, 368, 369, 371, 370,
- 372, 372, 373, 373, 375, 374, 377, 376, 378, 378,
- 379, 379, 379, 379, 379, 379, 379, 379, 379, 379,
- 379, 379, 379, 379, 379, 379, 379, 379, 379, 379,
- 379, 379, 379, 379, 379, 379, 379, 379, 379, 379,
- 379, 379, 379, 379, 379, 379, 381, 380, 383, 382,
- 385, 384, 387, 386, 389, 388, 391, 390, 392, 392,
- 392, 392, 393, 394, 396, 395, 397, 397, 398, 398,
- 400, 399, 401, 401, 402, 402, 402, 402, 402, 402,
- 402, 402, 402, 402, 402, 402, 402, 402, 402, 402,
- 402, 402, 402, 402, 402, 402, 402, 402, 402, 402,
- 402, 402, 402, 402, 402, 402, 402, 404, 403, 406,
- 405, 407, 407, 408, 408, 410, 409, 412, 411, 413,
- 413, 414, 414, 415, 415, 415, 415, 415, 415, 415,
- 415, 415, 415, 416, 417, 418, 420, 419, 422, 421,
- 424, 423, 425, 427, 426, 428, 430, 429, 431, 431,
- 432, 432, 434, 433, 436, 435, 437, 437, 438, 438,
- 439, 439, 439, 439, 439, 439, 439, 439, 439, 440,
- 442, 441, 443, 444, 445, 446, 448, 447, 449, 449,
- 450, 450, 452, 451, 454, 453, 455, 455, 456, 456,
- 456, 456, 456, 456, 456, 458, 457, 460, 459, 462,
- 461, 464, 463, 465, 465, 466, 466, 468, 467, 470,
- 469, 471, 471, 472, 472, 472, 472, 472, 472, 472,
- 472, 472, 472, 472, 474, 473, 475, 477, 476, 478,
- 479, 481, 480, 482, 482, 483, 483, 485, 484, 487,
- 486, 488, 488, 489, 489, 490, 490, 490, 490, 490,
- 490, 490, 490, 490, 490, 490, 492, 491, 494, 493,
- 496, 495, 498, 497, 500, 499, 502, 501, 504, 503,
- 506, 505, 507, 507, 509, 508, 511, 510, 512, 512,
- 514, 513, 515, 515, 516, 516, 517, 517, 517, 517,
- 517, 517, 517, 518, 520, 519, 521, 523, 522, 524,
- 524, 525, 525, 525, 525, 525, 525, 525, 525, 525,
- 527, 526, 528, 528, 528, 529, 531, 530, 532, 533,
- 534, 536, 535, 537, 537, 538, 538, 538, 538, 538,
- 540, 539, 542, 541, 544, 543, 545, 545, 546, 546,
- 546, 546, 546, 546, 547, 549, 548, 550, 552, 551,
- 554, 553, 556, 555, 557, 557, 558, 558, 558, 558,
- 558, 558, 558, 558, 558, 558, 558, 558, 558, 558,
- 558, 558, 558, 558, 559, 561, 560, 563, 562, 564,
- 566, 565, 567, 568, 570, 569, 571, 571, 573, 572,
- 574, 575, 577, 576, 579, 578, 581, 580, 583, 582,
- 585, 584, 587, 586, 589, 588, 591, 590, 593, 592,
- 594, 594, 595, 595, 597, 596, 598, 600, 599, 602,
- 601, 603, 603, 604, 606, 605, 607, 607, 609, 608,
- 610, 610, 611, 611, 611, 611, 611, 611, 611, 612,
- 614, 613, 616, 615, 617, 617, 619, 618, 620, 620,
- 621, 621, 621, 621, 621, 623, 622, 624, 625, 626,
- 628, 627
+ 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, 204, 220, 220, 220, 220, 220, 220, 220, 221,
+ 223, 222, 224, 225, 225, 226, 226, 228, 227, 229,
+ 229, 230, 230, 232, 231, 233, 233, 234, 234, 235,
+ 237, 236, 238, 238, 239, 239, 239, 239, 239, 239,
+ 241, 240, 243, 242, 244, 244, 245, 245, 245, 245,
+ 245, 245, 245, 245, 245, 245, 245, 245, 245, 245,
+ 245, 245, 245, 245, 245, 245, 245, 245, 245, 245,
+ 245, 245, 245, 245, 245, 245, 245, 245, 245, 245,
+ 245, 245, 245, 245, 245, 245, 245, 245, 245, 245,
+ 245, 245, 245, 245, 245, 245, 245, 245, 245, 247,
+ 246, 248, 249, 250, 251, 252, 253, 254, 255, 256,
+ 257, 258, 259, 260, 261, 262, 264, 263, 265, 265,
+ 265, 265, 265, 267, 266, 269, 268, 271, 270, 273,
+ 272, 274, 275, 276, 278, 277, 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,
+ 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, 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, 600, 599,
+ 602, 601, 604, 603, 605, 605, 606, 606, 608, 607,
+ 609, 611, 610, 613, 612, 614, 614, 615, 617, 616,
+ 618, 618, 620, 619, 621, 621, 622, 622, 622, 622,
+ 622, 622, 622, 623, 625, 624, 627, 626, 628, 628,
+ 630, 629, 631, 631, 632, 632, 632, 632, 632, 634,
+ 633, 635, 636, 637, 639, 638
};
- 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, 1, 1, 1, 1, 1, 0, 4,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 0, 4, 1, 1, 1,
- 1, 1, 0, 4, 0, 4, 0, 4, 0, 4,
- 3, 3, 3, 0, 4, 0, 6, 0, 4, 1,
- 3, 1, 1, 1, 1, 1, 0, 4, 3, 0,
- 6, 0, 6, 0, 6, 0, 1, 1, 3, 0,
- 4, 1, 3, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
+ 4, 3, 3, 3, 3, 3, 3, 3, 3, 3,
+ 3, 3, 3, 3, 3, 3, 0, 4, 1, 1,
+ 1, 1, 1, 0, 4, 0, 4, 0, 4, 0,
+ 4, 3, 3, 3, 0, 4, 0, 6, 0, 4,
+ 1, 3, 1, 1, 1, 1, 1, 0, 4, 3,
+ 0, 6, 0, 6, 0, 6, 0, 1, 1, 3,
+ 0, 4, 1, 3, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 0, 4, 1, 1, 1,
+ 1, 0, 4, 0, 4, 0, 4, 3, 0, 4,
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 0,
+ 4, 3, 0, 4, 0, 4, 0, 4, 0, 6,
+ 1, 3, 1, 0, 4, 0, 6, 1, 3, 1,
+ 1, 1, 1, 0, 6, 1, 3, 1, 1, 1,
+ 1, 1, 0, 6, 0, 6, 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, 0, 4, 1, 1, 1, 1,
- 0, 4, 0, 4, 0, 4, 3, 0, 4, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 0, 4,
- 3, 0, 4, 0, 4, 0, 4, 0, 6, 1,
- 3, 1, 0, 4, 0, 6, 1, 3, 1, 1,
- 1, 1, 0, 6, 1, 3, 1, 1, 1, 1,
- 1, 0, 6, 0, 6, 0, 1, 1, 3, 0,
- 4, 0, 4, 1, 3, 1, 1, 1, 0, 4,
- 0, 4, 0, 6, 1, 3, 1, 1, 1, 1,
- 1, 1, 3, 3, 3, 3, 3, 3, 0, 6,
- 0, 1, 1, 3, 0, 4, 0, 4, 1, 3,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 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, 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, 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, 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,
- 0, 4, 1, 1, 1, 3, 0, 4, 3, 3,
+ 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,
- 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, 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, 4, 0, 4, 0, 4, 0, 6, 0, 4,
- 1, 3, 1, 1, 0, 6, 3, 0, 6, 0,
- 4, 1, 3, 1, 0, 6, 1, 3, 0, 4,
- 1, 3, 1, 1, 1, 1, 1, 1, 1, 3,
- 0, 4, 0, 6, 1, 3, 0, 4, 1, 3,
- 1, 1, 1, 1, 1, 0, 4, 3, 3, 3,
- 0, 4
+ 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, 4, 0, 4, 0, 4,
+ 0, 6, 0, 4, 1, 3, 1, 1, 0, 6,
+ 3, 0, 6, 0, 4, 1, 3, 1, 0, 6,
+ 1, 3, 0, 4, 1, 3, 1, 1, 1, 1,
+ 1, 1, 1, 3, 0, 4, 0, 6, 1, 3,
+ 0, 4, 1, 3, 1, 1, 1, 1, 1, 0,
+ 4, 3, 3, 3, 0, 4
};
"\"max-reclaim-leases\"", "\"max-reclaim-time\"",
"\"unwarned-reclaim-cycles\"", "\"server-id\"", "\"LLT\"", "\"EN\"",
"\"LL\"", "\"identifier\"", "\"htype\"", "\"time\"", "\"enterprise-id\"",
- "\"dhcp4o6-port\"", "\"control-socket\"", "\"socket-type\"",
- "\"socket-name\"", "\"dhcp-queue-control\"", "\"enable-queue\"",
- "\"queue-type\"", "\"capacity\"", "\"dhcp-ddns\"", "\"enable-updates\"",
- "\"qualifying-suffix\"", "\"server-ip\"", "\"server-port\"",
- "\"sender-ip\"", "\"sender-port\"", "\"max-queue-size\"",
- "\"ncr-protocol\"", "\"ncr-format\"", "\"override-no-update\"",
- "\"override-client-update\"", "\"replace-client-name\"",
- "\"generated-prefix\"", "\"UDP\"", "\"TCP\"", "\"JSON\"",
- "\"when-present\"", "\"never\"", "\"always\"", "\"when-not-present\"",
- "\"hostname-char-set\"", "\"hostname-char-replacement\"", "\"Logging\"",
- "\"loggers\"", "\"output_options\"", "\"output\"", "\"debuglevel\"",
- "\"severity\"", "\"flush\"", "\"maxsize\"", "\"maxver\"", "\"pattern\"",
- "\"Dhcp4\"", "\"DhcpDdns\"", "\"Control-agent\"", "TOPLEVEL_JSON",
- "TOPLEVEL_DHCP6", "SUB_DHCP6", "SUB_INTERFACES6", "SUB_SUBNET6",
- "SUB_POOL6", "SUB_PD_POOL", "SUB_RESERVATION", "SUB_OPTION_DEFS",
- "SUB_OPTION_DEF", "SUB_OPTION_DATA", "SUB_HOOKS_LIBRARY",
- "SUB_DHCP_DDNS", "SUB_LOGGING", "SUB_CONFIG_CONTROL",
- "\"constant string\"", "\"integer\"", "\"floating point\"",
- "\"boolean\"", "$accept", "start", "$@1", "$@2", "$@3", "$@4", "$@5",
- "$@6", "$@7", "$@8", "$@9", "$@10", "$@11", "$@12", "$@13", "$@14",
- "$@15", "value", "sub_json", "map2", "$@16", "map_value", "map_content",
- "not_empty_map", "list_generic", "$@17", "list_content",
+ "\"dhcp4o6-port\"", "\"multi-threading\"", "\"enable-multi-threading\"",
+ "\"thread-pool-size\"", "\"packet-queue-size\"", "\"control-socket\"",
+ "\"socket-type\"", "\"socket-name\"", "\"dhcp-queue-control\"",
+ "\"enable-queue\"", "\"queue-type\"", "\"capacity\"", "\"dhcp-ddns\"",
+ "\"enable-updates\"", "\"qualifying-suffix\"", "\"server-ip\"",
+ "\"server-port\"", "\"sender-ip\"", "\"sender-port\"",
+ "\"max-queue-size\"", "\"ncr-protocol\"", "\"ncr-format\"",
+ "\"override-no-update\"", "\"override-client-update\"",
+ "\"replace-client-name\"", "\"generated-prefix\"", "\"UDP\"", "\"TCP\"",
+ "\"JSON\"", "\"when-present\"", "\"never\"", "\"always\"",
+ "\"when-not-present\"", "\"hostname-char-set\"",
+ "\"hostname-char-replacement\"", "\"Logging\"", "\"loggers\"",
+ "\"output_options\"", "\"output\"", "\"debuglevel\"", "\"severity\"",
+ "\"flush\"", "\"maxsize\"", "\"maxver\"", "\"pattern\"", "\"Dhcp4\"",
+ "\"DhcpDdns\"", "\"Control-agent\"", "TOPLEVEL_JSON", "TOPLEVEL_DHCP6",
+ "SUB_DHCP6", "SUB_INTERFACES6", "SUB_SUBNET6", "SUB_POOL6",
+ "SUB_PD_POOL", "SUB_RESERVATION", "SUB_OPTION_DEFS", "SUB_OPTION_DEF",
+ "SUB_OPTION_DATA", "SUB_HOOKS_LIBRARY", "SUB_DHCP_DDNS", "SUB_LOGGING",
+ "SUB_CONFIG_CONTROL", "\"constant string\"", "\"integer\"",
+ "\"floating point\"", "\"boolean\"", "$accept", "start", "$@1", "$@2",
+ "$@3", "$@4", "$@5", "$@6", "$@7", "$@8", "$@9", "$@10", "$@11", "$@12",
+ "$@13", "$@14", "$@15", "value", "sub_json", "map2", "$@16", "map_value",
+ "map_content", "not_empty_map", "list_generic", "$@17", "list_content",
"not_empty_list", "list_strings", "$@18", "list_strings_content",
"not_empty_list_strings", "unknown_map_entry", "syntax_map", "$@19",
"global_objects", "global_object", "dhcp6_object", "$@20", "sub_dhcp6",
"duid_id", "string_id", "host_reservation_identifiers", "$@48",
"host_reservation_identifiers_list", "host_reservation_identifier",
"hw_address_id", "flex_id", "relay_supplied_options", "$@49",
- "hooks_libraries", "$@50", "hooks_libraries_list",
- "not_empty_hooks_libraries_list", "hooks_library", "$@51",
- "sub_hooks_library", "$@52", "hooks_params", "hooks_param", "library",
- "$@53", "parameters", "$@54", "expired_leases_processing", "$@55",
+ "dhcp_multi_threading", "$@50", "multi_threading_params",
+ "multi_threading_param", "enable_multi_threading", "thread_pool_size",
+ "packet_queue_size", "hooks_libraries", "$@51", "hooks_libraries_list",
+ "not_empty_hooks_libraries_list", "hooks_library", "$@52",
+ "sub_hooks_library", "$@53", "hooks_params", "hooks_param", "library",
+ "$@54", "parameters", "$@55", "expired_leases_processing", "$@56",
"expired_leases_params", "expired_leases_param",
"reclaim_timer_wait_time", "flush_reclaimed_timer_wait_time",
"hold_reclaimed_time", "max_reclaim_leases", "max_reclaim_time",
- "unwarned_reclaim_cycles", "subnet6_list", "$@56",
- "subnet6_list_content", "not_empty_subnet6_list", "subnet6", "$@57",
- "sub_subnet6", "$@58", "subnet6_params", "subnet6_param", "subnet",
- "$@59", "interface", "$@60", "interface_id", "$@61", "client_class",
- "$@62", "require_client_classes", "$@63", "reservation_mode", "$@64",
- "hr_mode", "id", "rapid_commit", "shared_networks", "$@65",
+ "unwarned_reclaim_cycles", "subnet6_list", "$@57",
+ "subnet6_list_content", "not_empty_subnet6_list", "subnet6", "$@58",
+ "sub_subnet6", "$@59", "subnet6_params", "subnet6_param", "subnet",
+ "$@60", "interface", "$@61", "interface_id", "$@62", "client_class",
+ "$@63", "require_client_classes", "$@64", "reservation_mode", "$@65",
+ "hr_mode", "id", "rapid_commit", "shared_networks", "$@66",
"shared_networks_content", "shared_networks_list", "shared_network",
- "$@66", "shared_network_params", "shared_network_param",
- "option_def_list", "$@67", "sub_option_def_list", "$@68",
+ "$@67", "shared_network_params", "shared_network_param",
+ "option_def_list", "$@68", "sub_option_def_list", "$@69",
"option_def_list_content", "not_empty_option_def_list",
- "option_def_entry", "$@69", "sub_option_def", "$@70",
+ "option_def_entry", "$@70", "sub_option_def", "$@71",
"option_def_params", "not_empty_option_def_params", "option_def_param",
- "option_def_name", "code", "option_def_code", "option_def_type", "$@71",
- "option_def_record_types", "$@72", "space", "$@73", "option_def_space",
- "option_def_encapsulate", "$@74", "option_def_array", "option_data_list",
- "$@75", "option_data_list_content", "not_empty_option_data_list",
- "option_data_entry", "$@76", "sub_option_data", "$@77",
+ "option_def_name", "code", "option_def_code", "option_def_type", "$@72",
+ "option_def_record_types", "$@73", "space", "$@74", "option_def_space",
+ "option_def_encapsulate", "$@75", "option_def_array", "option_data_list",
+ "$@76", "option_data_list_content", "not_empty_option_data_list",
+ "option_data_entry", "$@77", "sub_option_data", "$@78",
"option_data_params", "not_empty_option_data_params",
- "option_data_param", "option_data_name", "option_data_data", "$@78",
+ "option_data_param", "option_data_name", "option_data_data", "$@79",
"option_data_code", "option_data_space", "option_data_csv_format",
- "option_data_always_send", "pools_list", "$@79", "pools_list_content",
- "not_empty_pools_list", "pool_list_entry", "$@80", "sub_pool6", "$@81",
- "pool_params", "pool_param", "pool_entry", "$@82", "user_context",
- "$@83", "comment", "$@84", "pd_pools_list", "$@85",
+ "option_data_always_send", "pools_list", "$@80", "pools_list_content",
+ "not_empty_pools_list", "pool_list_entry", "$@81", "sub_pool6", "$@82",
+ "pool_params", "pool_param", "pool_entry", "$@83", "user_context",
+ "$@84", "comment", "$@85", "pd_pools_list", "$@86",
"pd_pools_list_content", "not_empty_pd_pools_list", "pd_pool_entry",
- "$@86", "sub_pd_pool", "$@87", "pd_pool_params", "pd_pool_param",
- "pd_prefix", "$@88", "pd_prefix_len", "excluded_prefix", "$@89",
- "excluded_prefix_len", "pd_delegated_len", "reservations", "$@90",
+ "$@87", "sub_pd_pool", "$@88", "pd_pool_params", "pd_pool_param",
+ "pd_prefix", "$@89", "pd_prefix_len", "excluded_prefix", "$@90",
+ "excluded_prefix_len", "pd_delegated_len", "reservations", "$@91",
"reservations_list", "not_empty_reservations_list", "reservation",
- "$@91", "sub_reservation", "$@92", "reservation_params",
+ "$@92", "sub_reservation", "$@93", "reservation_params",
"not_empty_reservation_params", "reservation_param", "ip_addresses",
- "$@93", "prefixes", "$@94", "duid", "$@95", "hw_address", "$@96",
- "hostname", "$@97", "flex_id_value", "$@98",
- "reservation_client_classes", "$@99", "relay", "$@100", "relay_map",
- "ip_address", "$@101", "client_classes", "$@102", "client_classes_list",
- "client_class_entry", "$@103", "client_class_params",
+ "$@94", "prefixes", "$@95", "duid", "$@96", "hw_address", "$@97",
+ "hostname", "$@98", "flex_id_value", "$@99",
+ "reservation_client_classes", "$@100", "relay", "$@101", "relay_map",
+ "ip_address", "$@102", "client_classes", "$@103", "client_classes_list",
+ "client_class_entry", "$@104", "client_class_params",
"not_empty_client_class_params", "client_class_param",
- "client_class_name", "client_class_test", "$@104", "only_if_required",
- "server_id", "$@105", "server_id_params", "server_id_param",
- "server_id_type", "$@106", "duid_type", "htype", "identifier", "$@107",
- "time", "enterprise_id", "dhcp4o6_port", "control_socket", "$@108",
- "control_socket_params", "control_socket_param", "socket_type", "$@109",
- "socket_name", "$@110", "dhcp_queue_control", "$@111",
+ "client_class_name", "client_class_test", "$@105", "only_if_required",
+ "server_id", "$@106", "server_id_params", "server_id_param",
+ "server_id_type", "$@107", "duid_type", "htype", "identifier", "$@108",
+ "time", "enterprise_id", "dhcp4o6_port", "control_socket", "$@109",
+ "control_socket_params", "control_socket_param", "socket_type", "$@110",
+ "socket_name", "$@111", "dhcp_queue_control", "$@112",
"queue_control_params", "queue_control_param", "enable_queue",
- "queue_type", "$@112", "capacity", "arbitrary_map_entry", "$@113",
- "dhcp_ddns", "$@114", "sub_dhcp_ddns", "$@115", "dhcp_ddns_params",
- "dhcp_ddns_param", "enable_updates", "qualifying_suffix", "$@116",
- "server_ip", "$@117", "server_port", "sender_ip", "$@118", "sender_port",
- "max_queue_size", "ncr_protocol", "$@119", "ncr_protocol_value",
- "ncr_format", "$@120", "dep_override_no_update",
- "dep_override_client_update", "dep_replace_client_name", "$@121",
- "dep_generated_prefix", "$@122", "dep_hostname_char_set", "$@123",
- "dep_hostname_char_replacement", "$@124", "dhcp4_json_object", "$@125",
- "dhcpddns_json_object", "$@126", "control_agent_json_object", "$@127",
- "config_control", "$@128", "sub_config_control", "$@129",
+ "queue_type", "$@113", "capacity", "arbitrary_map_entry", "$@114",
+ "dhcp_ddns", "$@115", "sub_dhcp_ddns", "$@116", "dhcp_ddns_params",
+ "dhcp_ddns_param", "enable_updates", "qualifying_suffix", "$@117",
+ "server_ip", "$@118", "server_port", "sender_ip", "$@119", "sender_port",
+ "max_queue_size", "ncr_protocol", "$@120", "ncr_protocol_value",
+ "ncr_format", "$@121", "dep_override_no_update",
+ "dep_override_client_update", "dep_replace_client_name", "$@122",
+ "dep_generated_prefix", "$@123", "dep_hostname_char_set", "$@124",
+ "dep_hostname_char_replacement", "$@125", "dhcp4_json_object", "$@126",
+ "dhcpddns_json_object", "$@127", "control_agent_json_object", "$@128",
+ "config_control", "$@129", "sub_config_control", "$@130",
"config_control_params", "config_control_param", "config_databases",
- "$@130", "config_fetch_wait_time", "logging_object", "$@131",
- "sub_logging", "$@132", "logging_params", "logging_param", "loggers",
- "$@133", "loggers_entries", "logger_entry", "$@134", "logger_params",
- "logger_param", "debuglevel", "severity", "$@135", "output_options_list",
- "$@136", "output_options_list_content", "output_entry", "$@137",
- "output_params_list", "output_params", "output", "$@138", "flush",
- "maxsize", "maxver", "pattern", "$@139", YY_NULLPTR
+ "$@131", "config_fetch_wait_time", "logging_object", "$@132",
+ "sub_logging", "$@133", "logging_params", "logging_param", "loggers",
+ "$@134", "loggers_entries", "logger_entry", "$@135", "logger_params",
+ "logger_param", "debuglevel", "severity", "$@136", "output_options_list",
+ "$@137", "output_options_list_content", "output_entry", "$@138",
+ "output_params_list", "output_params", "output", "$@139", "flush",
+ "maxsize", "maxver", "pattern", "$@140", YY_NULLPTR
};
#if PARSER6_DEBUG
- const short
+ const unsigned short int
Dhcp6Parser::yyrline_[] =
{
- 0, 283, 283, 283, 284, 284, 285, 285, 286, 286,
- 287, 287, 288, 288, 289, 289, 290, 290, 291, 291,
- 292, 292, 293, 293, 294, 294, 295, 295, 296, 296,
- 297, 297, 305, 306, 307, 308, 309, 310, 311, 314,
- 319, 319, 330, 333, 334, 337, 341, 348, 348, 355,
- 356, 359, 363, 370, 370, 377, 378, 381, 385, 396,
- 406, 406, 421, 422, 426, 427, 428, 429, 430, 431,
- 434, 434, 449, 449, 458, 459, 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,
- 526, 531, 536, 541, 546, 551, 556, 561, 566, 571,
- 576, 581, 586, 591, 596, 601, 601, 609, 612, 615,
- 618, 621, 627, 627, 635, 635, 643, 643, 651, 651,
- 659, 664, 669, 674, 674, 682, 682, 693, 693, 702,
- 703, 706, 707, 708, 709, 710, 713, 713, 723, 729,
- 729, 741, 741, 753, 753, 763, 764, 767, 768, 771,
- 771, 781, 782, 785, 786, 787, 788, 789, 790, 791,
- 792, 793, 794, 795, 796, 797, 798, 799, 800, 801,
- 802, 803, 804, 805, 808, 808, 815, 816, 817, 818,
- 821, 821, 829, 829, 837, 837, 845, 850, 850, 858,
- 863, 868, 873, 878, 883, 888, 893, 898, 903, 903,
- 911, 916, 916, 924, 924, 932, 932, 940, 940, 950,
- 951, 953, 955, 955, 973, 973, 983, 984, 987, 988,
- 991, 996, 1001, 1001, 1011, 1012, 1015, 1016, 1017, 1020,
- 1025, 1032, 1032, 1042, 1042, 1052, 1053, 1056, 1057, 1060,
- 1060, 1070, 1070, 1080, 1081, 1082, 1085, 1086, 1089, 1089,
- 1097, 1097, 1105, 1105, 1116, 1117, 1120, 1121, 1122, 1123,
- 1124, 1125, 1128, 1133, 1138, 1143, 1148, 1153, 1161, 1161,
- 1174, 1175, 1178, 1179, 1186, 1186, 1212, 1212, 1223, 1224,
- 1228, 1229, 1230, 1231, 1232, 1233, 1234, 1235, 1236, 1237,
- 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247,
- 1248, 1249, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257,
- 1258, 1259, 1260, 1261, 1262, 1263, 1266, 1266, 1274, 1274,
- 1282, 1282, 1290, 1290, 1298, 1298, 1308, 1308, 1315, 1316,
- 1317, 1318, 1321, 1326, 1334, 1334, 1345, 1346, 1350, 1351,
- 1354, 1354, 1362, 1363, 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, 1405, 1405, 1418,
- 1418, 1427, 1428, 1431, 1432, 1437, 1437, 1452, 1452, 1466,
- 1467, 1470, 1471, 1474, 1475, 1476, 1477, 1478, 1479, 1480,
- 1481, 1482, 1483, 1486, 1488, 1493, 1495, 1495, 1503, 1503,
- 1511, 1511, 1519, 1521, 1521, 1529, 1538, 1538, 1550, 1551,
- 1556, 1557, 1562, 1562, 1574, 1574, 1586, 1587, 1592, 1593,
- 1598, 1599, 1600, 1601, 1602, 1603, 1604, 1605, 1606, 1609,
- 1611, 1611, 1619, 1621, 1623, 1628, 1636, 1636, 1648, 1649,
- 1652, 1653, 1656, 1656, 1666, 1666, 1675, 1676, 1679, 1680,
- 1681, 1682, 1683, 1684, 1685, 1688, 1688, 1696, 1696, 1721,
- 1721, 1751, 1751, 1763, 1764, 1767, 1768, 1771, 1771, 1783,
- 1783, 1795, 1796, 1799, 1800, 1801, 1802, 1803, 1804, 1805,
- 1806, 1807, 1808, 1809, 1812, 1812, 1820, 1825, 1825, 1833,
- 1838, 1846, 1846, 1856, 1857, 1860, 1861, 1864, 1864, 1873,
- 1873, 1882, 1883, 1886, 1887, 1891, 1892, 1893, 1894, 1895,
- 1896, 1897, 1898, 1899, 1900, 1901, 1904, 1904, 1914, 1914,
- 1924, 1924, 1932, 1932, 1940, 1940, 1948, 1948, 1956, 1956,
- 1969, 1969, 1979, 1980, 1983, 1983, 1994, 1994, 2004, 2005,
- 2008, 2008, 2018, 2019, 2022, 2023, 2026, 2027, 2028, 2029,
- 2030, 2031, 2032, 2035, 2037, 2037, 2045, 2053, 2053, 2065,
- 2066, 2069, 2070, 2071, 2072, 2073, 2074, 2075, 2076, 2077,
- 2080, 2080, 2087, 2088, 2089, 2092, 2097, 2097, 2105, 2110,
- 2117, 2124, 2124, 2134, 2135, 2138, 2139, 2140, 2141, 2142,
- 2145, 2145, 2153, 2153, 2163, 2163, 2175, 2176, 2179, 2180,
- 2181, 2182, 2183, 2184, 2187, 2192, 2192, 2200, 2205, 2205,
- 2214, 2214, 2226, 2226, 2236, 2237, 2240, 2241, 2242, 2243,
- 2244, 2245, 2246, 2247, 2248, 2249, 2250, 2251, 2252, 2253,
- 2254, 2255, 2256, 2257, 2260, 2265, 2265, 2273, 2273, 2281,
- 2286, 2286, 2294, 2299, 2304, 2304, 2312, 2313, 2316, 2316,
- 2325, 2331, 2337, 2337, 2345, 2345, 2354, 2354, 2363, 2363,
- 2373, 2373, 2380, 2380, 2387, 2387, 2396, 2396, 2407, 2407,
- 2417, 2418, 2422, 2423, 2426, 2426, 2436, 2446, 2446, 2456,
- 2456, 2467, 2468, 2472, 2476, 2476, 2488, 2489, 2493, 2493,
- 2501, 2502, 2505, 2506, 2507, 2508, 2509, 2510, 2511, 2514,
- 2519, 2519, 2527, 2527, 2537, 2538, 2541, 2541, 2549, 2550,
- 2553, 2554, 2555, 2556, 2557, 2560, 2560, 2568, 2573, 2578,
- 2583, 2583
+ 0, 289, 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, 302, 302,
+ 303, 303, 311, 312, 313, 314, 315, 316, 317, 320,
+ 325, 325, 336, 339, 340, 343, 347, 354, 354, 361,
+ 362, 365, 369, 376, 376, 383, 384, 387, 391, 402,
+ 412, 412, 428, 429, 433, 434, 435, 436, 437, 438,
+ 441, 441, 456, 456, 465, 466, 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, 516, 517, 518, 519, 520, 521, 522, 523, 526,
+ 526, 534, 539, 544, 549, 554, 559, 564, 569, 574,
+ 579, 584, 589, 594, 599, 604, 609, 609, 617, 620,
+ 623, 626, 629, 635, 635, 643, 643, 651, 651, 659,
+ 659, 667, 672, 677, 682, 682, 690, 690, 701, 701,
+ 710, 711, 714, 715, 716, 717, 718, 721, 721, 731,
+ 736, 736, 748, 748, 760, 760, 770, 771, 774, 775,
+ 778, 778, 788, 789, 792, 793, 794, 795, 796, 797,
+ 798, 799, 800, 801, 802, 803, 804, 805, 806, 807,
+ 808, 809, 810, 811, 812, 815, 815, 822, 823, 824,
+ 825, 828, 828, 836, 836, 844, 844, 852, 857, 857,
+ 865, 870, 875, 880, 885, 890, 895, 900, 905, 910,
+ 910, 918, 923, 923, 931, 931, 939, 939, 947, 947,
+ 957, 958, 960, 962, 962, 980, 980, 990, 991, 994,
+ 995, 998, 1003, 1008, 1008, 1018, 1019, 1022, 1023, 1024,
+ 1027, 1032, 1039, 1039, 1051, 1051, 1063, 1064, 1067, 1068,
+ 1069, 1070, 1071, 1072, 1075, 1080, 1085, 1090, 1090, 1100,
+ 1101, 1104, 1105, 1108, 1108, 1118, 1118, 1128, 1129, 1130,
+ 1133, 1134, 1137, 1137, 1145, 1145, 1153, 1153, 1164, 1165,
+ 1168, 1169, 1170, 1171, 1172, 1173, 1176, 1181, 1186, 1191,
+ 1196, 1201, 1209, 1209, 1222, 1223, 1226, 1227, 1234, 1234,
+ 1260, 1260, 1271, 1272, 1276, 1277, 1278, 1279, 1280, 1281,
+ 1282, 1283, 1284, 1285, 1286, 1287, 1288, 1289, 1290, 1291,
+ 1292, 1293, 1294, 1295, 1296, 1297, 1298, 1299, 1300, 1301,
+ 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1310, 1311,
+ 1314, 1314, 1322, 1322, 1330, 1330, 1338, 1338, 1346, 1346,
+ 1356, 1356, 1363, 1364, 1365, 1366, 1369, 1374, 1381, 1381,
+ 1392, 1393, 1397, 1398, 1401, 1401, 1409, 1410, 1413, 1414,
+ 1415, 1416, 1417, 1418, 1419, 1420, 1421, 1422, 1423, 1424,
+ 1425, 1426, 1427, 1428, 1429, 1430, 1431, 1432, 1433, 1434,
+ 1435, 1436, 1437, 1438, 1439, 1440, 1441, 1442, 1443, 1444,
+ 1445, 1452, 1452, 1465, 1465, 1474, 1475, 1478, 1479, 1484,
+ 1484, 1499, 1499, 1513, 1514, 1517, 1518, 1521, 1522, 1523,
+ 1524, 1525, 1526, 1527, 1528, 1529, 1530, 1533, 1535, 1540,
+ 1542, 1542, 1550, 1550, 1558, 1558, 1566, 1568, 1568, 1576,
+ 1585, 1585, 1597, 1598, 1603, 1604, 1609, 1609, 1621, 1621,
+ 1633, 1634, 1639, 1640, 1645, 1646, 1647, 1648, 1649, 1650,
+ 1651, 1652, 1653, 1656, 1658, 1658, 1666, 1668, 1670, 1675,
+ 1683, 1683, 1695, 1696, 1699, 1700, 1703, 1703, 1713, 1713,
+ 1723, 1724, 1727, 1728, 1729, 1730, 1731, 1732, 1733, 1736,
+ 1736, 1744, 1744, 1769, 1769, 1799, 1799, 1811, 1812, 1815,
+ 1816, 1819, 1819, 1831, 1831, 1843, 1844, 1847, 1848, 1849,
+ 1850, 1851, 1852, 1853, 1854, 1855, 1856, 1857, 1860, 1860,
+ 1868, 1873, 1873, 1881, 1886, 1894, 1894, 1904, 1905, 1908,
+ 1909, 1912, 1912, 1921, 1921, 1930, 1931, 1934, 1935, 1939,
+ 1940, 1941, 1942, 1943, 1944, 1945, 1946, 1947, 1948, 1949,
+ 1952, 1952, 1962, 1962, 1972, 1972, 1980, 1980, 1988, 1988,
+ 1996, 1996, 2004, 2004, 2017, 2017, 2027, 2028, 2031, 2031,
+ 2042, 2042, 2052, 2053, 2056, 2056, 2066, 2067, 2070, 2071,
+ 2074, 2075, 2076, 2077, 2078, 2079, 2080, 2083, 2085, 2085,
+ 2093, 2101, 2101, 2113, 2114, 2117, 2118, 2119, 2120, 2121,
+ 2122, 2123, 2124, 2125, 2128, 2128, 2135, 2136, 2137, 2140,
+ 2145, 2145, 2153, 2158, 2165, 2172, 2172, 2182, 2183, 2186,
+ 2187, 2188, 2189, 2190, 2193, 2193, 2201, 2201, 2212, 2212,
+ 2224, 2225, 2228, 2229, 2230, 2231, 2232, 2233, 2236, 2241,
+ 2241, 2249, 2254, 2254, 2263, 2263, 2275, 2275, 2285, 2286,
+ 2289, 2290, 2291, 2292, 2293, 2294, 2295, 2296, 2297, 2298,
+ 2299, 2300, 2301, 2302, 2303, 2304, 2305, 2306, 2309, 2314,
+ 2314, 2322, 2322, 2330, 2335, 2335, 2343, 2348, 2353, 2353,
+ 2361, 2362, 2365, 2365, 2374, 2380, 2386, 2386, 2394, 2394,
+ 2403, 2403, 2412, 2412, 2423, 2423, 2430, 2430, 2437, 2437,
+ 2446, 2446, 2457, 2457, 2467, 2468, 2472, 2473, 2476, 2476,
+ 2486, 2496, 2496, 2506, 2506, 2517, 2518, 2522, 2526, 2526,
+ 2538, 2539, 2543, 2543, 2551, 2552, 2555, 2556, 2557, 2558,
+ 2559, 2560, 2561, 2564, 2569, 2569, 2577, 2577, 2587, 2588,
+ 2591, 2591, 2599, 2600, 2603, 2604, 2605, 2606, 2607, 2610,
+ 2610, 2618, 2623, 2628, 2633, 2633
};
// Print the state stack on the debug stream.
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)
{
- 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 5585 "dhcp6_parser.cc"
-
-#line 2591 "dhcp6_parser.yy"
+#line 5554 "dhcp6_parser.cc" // lalr1.cc:1167
+#line 2641 "dhcp6_parser.yy" // lalr1.cc:1168
void
-// A Bison parser, made by GNU Bison 3.5.3.
+// 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.
-// Undocumented macros, especially those whose name start with YY_,
-// are private implementation details. Do not rely on them.
-
#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 60 "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 203 "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);
}
/// 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:
/// Prohibit blind copies.
- self_type& operator= (const self_type&);
- semantic_type (const self_type&);
+ 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_TIME = 389,
TOKEN_ENTERPRISE_ID = 390,
TOKEN_DHCP4O6_PORT = 391,
- TOKEN_CONTROL_SOCKET = 392,
- TOKEN_SOCKET_TYPE = 393,
- TOKEN_SOCKET_NAME = 394,
- TOKEN_DHCP_QUEUE_CONTROL = 395,
- TOKEN_ENABLE_QUEUE = 396,
- TOKEN_QUEUE_TYPE = 397,
- TOKEN_CAPACITY = 398,
- TOKEN_DHCP_DDNS = 399,
- TOKEN_ENABLE_UPDATES = 400,
- TOKEN_QUALIFYING_SUFFIX = 401,
- TOKEN_SERVER_IP = 402,
- TOKEN_SERVER_PORT = 403,
- TOKEN_SENDER_IP = 404,
- TOKEN_SENDER_PORT = 405,
- TOKEN_MAX_QUEUE_SIZE = 406,
- TOKEN_NCR_PROTOCOL = 407,
- TOKEN_NCR_FORMAT = 408,
- TOKEN_OVERRIDE_NO_UPDATE = 409,
- TOKEN_OVERRIDE_CLIENT_UPDATE = 410,
- TOKEN_REPLACE_CLIENT_NAME = 411,
- TOKEN_GENERATED_PREFIX = 412,
- TOKEN_UDP = 413,
- TOKEN_TCP = 414,
- TOKEN_JSON = 415,
- TOKEN_WHEN_PRESENT = 416,
- TOKEN_NEVER = 417,
- TOKEN_ALWAYS = 418,
- TOKEN_WHEN_NOT_PRESENT = 419,
- TOKEN_HOSTNAME_CHAR_SET = 420,
- TOKEN_HOSTNAME_CHAR_REPLACEMENT = 421,
- TOKEN_LOGGING = 422,
- TOKEN_LOGGERS = 423,
- TOKEN_OUTPUT_OPTIONS = 424,
- TOKEN_OUTPUT = 425,
- TOKEN_DEBUGLEVEL = 426,
- TOKEN_SEVERITY = 427,
- TOKEN_FLUSH = 428,
- TOKEN_MAXSIZE = 429,
- TOKEN_MAXVER = 430,
- TOKEN_PATTERN = 431,
- TOKEN_DHCP4 = 432,
- TOKEN_DHCPDDNS = 433,
- TOKEN_CONTROL_AGENT = 434,
- TOKEN_TOPLEVEL_JSON = 435,
- TOKEN_TOPLEVEL_DHCP6 = 436,
- TOKEN_SUB_DHCP6 = 437,
- TOKEN_SUB_INTERFACES6 = 438,
- TOKEN_SUB_SUBNET6 = 439,
- TOKEN_SUB_POOL6 = 440,
- TOKEN_SUB_PD_POOL = 441,
- TOKEN_SUB_RESERVATION = 442,
- TOKEN_SUB_OPTION_DEFS = 443,
- TOKEN_SUB_OPTION_DEF = 444,
- TOKEN_SUB_OPTION_DATA = 445,
- TOKEN_SUB_HOOKS_LIBRARY = 446,
- TOKEN_SUB_DHCP_DDNS = 447,
- TOKEN_SUB_LOGGING = 448,
- TOKEN_SUB_CONFIG_CONTROL = 449,
- TOKEN_STRING = 450,
- TOKEN_INTEGER = 451,
- TOKEN_FLOAT = 452,
- TOKEN_BOOLEAN = 453
+ TOKEN_DHCP_MULTI_THREADING = 392,
+ TOKEN_ENABLE_MULTI_THREADING = 393,
+ TOKEN_THREAD_POOL_SIZE = 394,
+ TOKEN_PACKET_QUEUE_SIZE = 395,
+ TOKEN_CONTROL_SOCKET = 396,
+ TOKEN_SOCKET_TYPE = 397,
+ TOKEN_SOCKET_NAME = 398,
+ TOKEN_DHCP_QUEUE_CONTROL = 399,
+ TOKEN_ENABLE_QUEUE = 400,
+ TOKEN_QUEUE_TYPE = 401,
+ TOKEN_CAPACITY = 402,
+ TOKEN_DHCP_DDNS = 403,
+ TOKEN_ENABLE_UPDATES = 404,
+ TOKEN_QUALIFYING_SUFFIX = 405,
+ TOKEN_SERVER_IP = 406,
+ TOKEN_SERVER_PORT = 407,
+ TOKEN_SENDER_IP = 408,
+ TOKEN_SENDER_PORT = 409,
+ TOKEN_MAX_QUEUE_SIZE = 410,
+ TOKEN_NCR_PROTOCOL = 411,
+ TOKEN_NCR_FORMAT = 412,
+ TOKEN_OVERRIDE_NO_UPDATE = 413,
+ TOKEN_OVERRIDE_CLIENT_UPDATE = 414,
+ TOKEN_REPLACE_CLIENT_NAME = 415,
+ TOKEN_GENERATED_PREFIX = 416,
+ TOKEN_UDP = 417,
+ TOKEN_TCP = 418,
+ TOKEN_JSON = 419,
+ TOKEN_WHEN_PRESENT = 420,
+ TOKEN_NEVER = 421,
+ TOKEN_ALWAYS = 422,
+ TOKEN_WHEN_NOT_PRESENT = 423,
+ TOKEN_HOSTNAME_CHAR_SET = 424,
+ TOKEN_HOSTNAME_CHAR_REPLACEMENT = 425,
+ TOKEN_LOGGING = 426,
+ TOKEN_LOGGERS = 427,
+ TOKEN_OUTPUT_OPTIONS = 428,
+ TOKEN_OUTPUT = 429,
+ TOKEN_DEBUGLEVEL = 430,
+ TOKEN_SEVERITY = 431,
+ TOKEN_FLUSH = 432,
+ TOKEN_MAXSIZE = 433,
+ TOKEN_MAXVER = 434,
+ TOKEN_PATTERN = 435,
+ TOKEN_DHCP4 = 436,
+ TOKEN_DHCPDDNS = 437,
+ TOKEN_CONTROL_AGENT = 438,
+ TOKEN_TOPLEVEL_JSON = 439,
+ TOKEN_TOPLEVEL_DHCP6 = 440,
+ TOKEN_SUB_DHCP6 = 441,
+ TOKEN_SUB_INTERFACES6 = 442,
+ TOKEN_SUB_SUBNET6 = 443,
+ TOKEN_SUB_POOL6 = 444,
+ TOKEN_SUB_PD_POOL = 445,
+ TOKEN_SUB_RESERVATION = 446,
+ TOKEN_SUB_OPTION_DEFS = 447,
+ TOKEN_SUB_OPTION_DEF = 448,
+ TOKEN_SUB_OPTION_DATA = 449,
+ TOKEN_SUB_HOOKS_LIBRARY = 450,
+ TOKEN_SUB_DHCP_DDNS = 451,
+ TOKEN_SUB_LOGGING = 452,
+ TOKEN_SUB_CONFIG_CONTROL = 453,
+ TOKEN_STRING = 454,
+ TOKEN_INTEGER = 455,
+ TOKEN_FLOAT = 456,
+ TOKEN_BOOLEAN = 457
};
};
/// A complete symbol.
///
/// Expects its Base type to provide access to the symbol type
- /// via type_get ().
+ /// 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);
-#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_number_type yytype = this->type_get ();
- basic_symbol<Base>& yysym = *this;
- (void) yysym;
- switch (yytype)
- {
- default:
- break;
- }
-
- // Type destructor.
-switch (yytype)
- {
- case 216: // value
- case 220: // map_value
- case 261: // ddns_replace_client_name_value
- case 298: // db_type
- case 392: // hr_mode
- case 528: // duid_type
- case 571: // ncr_protocol_value
- value.template destroy< ElementPtr > ();
- break;
+ basic_symbol (typename Base::kind_type t, const ElementPtr v, const location_type& l);
- case 198: // "boolean"
- value.template destroy< bool > ();
- break;
+ basic_symbol (typename Base::kind_type t, const bool v, const location_type& l);
- case 197: // "floating point"
- value.template destroy< double > ();
- break;
+ basic_symbol (typename Base::kind_type t, const double v, const location_type& l);
- case 196: // "integer"
- value.template destroy< int64_t > ();
- break;
+ basic_symbol (typename Base::kind_type t, const int64_t v, const location_type& l);
- case 195: // "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);
+
+ /// Destroy the symbol.
+ ~basic_symbol ();
+
+ /// 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.
/// Default constructor.
by_type ();
-#if 201103L <= YY_CPLUSPLUS
- /// Move constructor.
- by_type (by_type&& that);
-#endif
-
/// Copy constructor.
- by_type (const by_type& that);
+ by_type (const by_type& other);
/// The symbol type as needed by the constructor.
typedef token_type kind_type;
/// The (internal) type number (corresponding to \a type).
/// \a empty when empty.
- symbol_number_type type_get () const YY_NOEXCEPT;
+ symbol_number_type type_get () const;
+
+ /// The token.
+ token_type token () const;
/// The symbol type.
/// \a empty_symbol when empty.
};
/// "External" symbols: returned by the scanner.
- struct symbol_type : basic_symbol<by_type>
- {
- /// Superclass.
- typedef basic_symbol<by_type> super_type;
+ 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_COMMA || tok == token::TOKEN_COLON || tok == token::TOKEN_LSQUARE_BRACKET || tok == token::TOKEN_RSQUARE_BRACKET || tok == token::TOKEN_LCURLY_BRACKET || tok == token::TOKEN_RCURLY_BRACKET || tok == token::TOKEN_NULL_TYPE || tok == token::TOKEN_DHCP6 || tok == token::TOKEN_DATA_DIRECTORY || tok == token::TOKEN_CONFIG_CONTROL || tok == token::TOKEN_CONFIG_DATABASES || tok == token::TOKEN_CONFIG_FETCH_WAIT_TIME || tok == token::TOKEN_INTERFACES_CONFIG || tok == token::TOKEN_INTERFACES || tok == token::TOKEN_RE_DETECT || tok == token::TOKEN_LEASE_DATABASE || tok == token::TOKEN_HOSTS_DATABASE || tok == token::TOKEN_HOSTS_DATABASES || tok == token::TOKEN_TYPE || tok == token::TOKEN_MEMFILE || tok == token::TOKEN_MYSQL || tok == token::TOKEN_POSTGRESQL || tok == token::TOKEN_CQL || tok == token::TOKEN_USER || tok == token::TOKEN_PASSWORD || tok == token::TOKEN_HOST || tok == token::TOKEN_PORT || tok == token::TOKEN_PERSIST || tok == token::TOKEN_LFC_INTERVAL || tok == token::TOKEN_READONLY || tok == token::TOKEN_CONNECT_TIMEOUT || tok == token::TOKEN_CONTACT_POINTS || tok == token::TOKEN_MAX_RECONNECT_TRIES || tok == token::TOKEN_RECONNECT_WAIT_TIME || tok == token::TOKEN_KEYSPACE || tok == token::TOKEN_CONSISTENCY || tok == token::TOKEN_SERIAL_CONSISTENCY || tok == token::TOKEN_REQUEST_TIMEOUT || tok == token::TOKEN_TCP_KEEPALIVE || tok == token::TOKEN_TCP_NODELAY || tok == token::TOKEN_MAX_ROW_ERRORS || tok == token::TOKEN_PREFERRED_LIFETIME || tok == token::TOKEN_MIN_PREFERRED_LIFETIME || tok == token::TOKEN_MAX_PREFERRED_LIFETIME || tok == token::TOKEN_VALID_LIFETIME || tok == token::TOKEN_MIN_VALID_LIFETIME || tok == token::TOKEN_MAX_VALID_LIFETIME || tok == token::TOKEN_RENEW_TIMER || tok == token::TOKEN_REBIND_TIMER || tok == token::TOKEN_CALCULATE_TEE_TIMES || tok == token::TOKEN_T1_PERCENT || tok == token::TOKEN_T2_PERCENT || tok == token::TOKEN_DECLINE_PROBATION_PERIOD || tok == token::TOKEN_SERVER_TAG || tok == token::TOKEN_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_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_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_LOGGING || tok == token::TOKEN_LOGGERS || tok == token::TOKEN_OUTPUT_OPTIONS || tok == token::TOKEN_OUTPUT || tok == token::TOKEN_DEBUGLEVEL || tok == token::TOKEN_SEVERITY || tok == token::TOKEN_FLUSH || tok == token::TOKEN_MAXSIZE || tok == token::TOKEN_MAXVER || tok == token::TOKEN_PATTERN || tok == token::TOKEN_DHCP4 || tok == token::TOKEN_DHCPDDNS || tok == token::TOKEN_CONTROL_AGENT || tok == token::TOKEN_TOPLEVEL_JSON || tok == token::TOKEN_TOPLEVEL_DHCP6 || tok == token::TOKEN_SUB_DHCP6 || tok == token::TOKEN_SUB_INTERFACES6 || tok == token::TOKEN_SUB_SUBNET6 || tok == token::TOKEN_SUB_POOL6 || tok == token::TOKEN_SUB_PD_POOL || tok == token::TOKEN_SUB_RESERVATION || tok == token::TOKEN_SUB_OPTION_DEFS || tok == token::TOKEN_SUB_OPTION_DEF || tok == token::TOKEN_SUB_OPTION_DATA || tok == token::TOKEN_SUB_HOOKS_LIBRARY || tok == token::TOKEN_SUB_DHCP_DDNS || tok == token::TOKEN_SUB_LOGGING || tok == token::TOKEN_SUB_CONFIG_CONTROL);
- }
-#else
- symbol_type (int tok, const location_type& l)
- : super_type(token_type (tok), l)
- {
- YY_ASSERT (tok == token::TOKEN_END || tok == token::TOKEN_COMMA || tok == token::TOKEN_COLON || tok == token::TOKEN_LSQUARE_BRACKET || tok == token::TOKEN_RSQUARE_BRACKET || tok == token::TOKEN_LCURLY_BRACKET || tok == token::TOKEN_RCURLY_BRACKET || tok == token::TOKEN_NULL_TYPE || tok == token::TOKEN_DHCP6 || tok == token::TOKEN_DATA_DIRECTORY || tok == token::TOKEN_CONFIG_CONTROL || tok == token::TOKEN_CONFIG_DATABASES || tok == token::TOKEN_CONFIG_FETCH_WAIT_TIME || tok == token::TOKEN_INTERFACES_CONFIG || tok == token::TOKEN_INTERFACES || tok == token::TOKEN_RE_DETECT || tok == token::TOKEN_LEASE_DATABASE || tok == token::TOKEN_HOSTS_DATABASE || tok == token::TOKEN_HOSTS_DATABASES || tok == token::TOKEN_TYPE || tok == token::TOKEN_MEMFILE || tok == token::TOKEN_MYSQL || tok == token::TOKEN_POSTGRESQL || tok == token::TOKEN_CQL || tok == token::TOKEN_USER || tok == token::TOKEN_PASSWORD || tok == token::TOKEN_HOST || tok == token::TOKEN_PORT || tok == token::TOKEN_PERSIST || tok == token::TOKEN_LFC_INTERVAL || tok == token::TOKEN_READONLY || tok == token::TOKEN_CONNECT_TIMEOUT || tok == token::TOKEN_CONTACT_POINTS || tok == token::TOKEN_MAX_RECONNECT_TRIES || tok == token::TOKEN_RECONNECT_WAIT_TIME || tok == token::TOKEN_KEYSPACE || tok == token::TOKEN_CONSISTENCY || tok == token::TOKEN_SERIAL_CONSISTENCY || tok == token::TOKEN_REQUEST_TIMEOUT || tok == token::TOKEN_TCP_KEEPALIVE || tok == token::TOKEN_TCP_NODELAY || tok == token::TOKEN_MAX_ROW_ERRORS || tok == token::TOKEN_PREFERRED_LIFETIME || tok == token::TOKEN_MIN_PREFERRED_LIFETIME || tok == token::TOKEN_MAX_PREFERRED_LIFETIME || tok == token::TOKEN_VALID_LIFETIME || tok == token::TOKEN_MIN_VALID_LIFETIME || tok == token::TOKEN_MAX_VALID_LIFETIME || tok == token::TOKEN_RENEW_TIMER || tok == token::TOKEN_REBIND_TIMER || tok == token::TOKEN_CALCULATE_TEE_TIMES || tok == token::TOKEN_T1_PERCENT || tok == token::TOKEN_T2_PERCENT || tok == token::TOKEN_DECLINE_PROBATION_PERIOD || tok == token::TOKEN_SERVER_TAG || tok == token::TOKEN_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_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_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_LOGGING || tok == token::TOKEN_LOGGERS || tok == token::TOKEN_OUTPUT_OPTIONS || tok == token::TOKEN_OUTPUT || tok == token::TOKEN_DEBUGLEVEL || tok == token::TOKEN_SEVERITY || tok == token::TOKEN_FLUSH || tok == token::TOKEN_MAXSIZE || tok == token::TOKEN_MAXVER || tok == token::TOKEN_PATTERN || tok == token::TOKEN_DHCP4 || tok == token::TOKEN_DHCPDDNS || tok == token::TOKEN_CONTROL_AGENT || tok == token::TOKEN_TOPLEVEL_JSON || tok == token::TOKEN_TOPLEVEL_DHCP6 || tok == token::TOKEN_SUB_DHCP6 || tok == token::TOKEN_SUB_INTERFACES6 || tok == token::TOKEN_SUB_SUBNET6 || tok == token::TOKEN_SUB_POOL6 || tok == token::TOKEN_SUB_PD_POOL || tok == token::TOKEN_SUB_RESERVATION || tok == token::TOKEN_SUB_OPTION_DEFS || tok == token::TOKEN_SUB_OPTION_DEF || tok == token::TOKEN_SUB_OPTION_DATA || tok == token::TOKEN_SUB_HOOKS_LIBRARY || tok == token::TOKEN_SUB_DHCP_DDNS || tok == token::TOKEN_SUB_LOGGING || tok == token::TOKEN_SUB_CONFIG_CONTROL);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- symbol_type (int tok, bool v, location_type l)
- : super_type(token_type (tok), std::move (v), std::move (l))
- {
- 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);
- /// Parse. An alias for parse ().
- /// \returns 0 iff parsing succeeded.
- int operator() ();
+ static inline
+ symbol_type
+ make_LSQUARE_BRACKET (const location_type& l);
- /// Parse.
- /// \returns 0 iff parsing succeeded.
- virtual int parse ();
+ static inline
+ symbol_type
+ make_RSQUARE_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_LCURLY_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_RCURLY_BRACKET (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_NULL_TYPE (const location_type& l);
- /// Report a syntax error.
- void error (const syntax_error& err);
+ static inline
+ symbol_type
+ make_DHCP6 (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_COMMA (location_type l)
- {
- return symbol_type (token::TOKEN_COMMA, std::move (l));
- }
-#else
- static
- symbol_type
- make_COMMA (const location_type& l)
- {
- return symbol_type (token::TOKEN_COMMA, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_COLON (location_type l)
- {
- return symbol_type (token::TOKEN_COLON, std::move (l));
- }
-#else
- static
- symbol_type
- make_COLON (const location_type& l)
- {
- return symbol_type (token::TOKEN_COLON, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_LSQUARE_BRACKET (location_type l)
- {
- return symbol_type (token::TOKEN_LSQUARE_BRACKET, std::move (l));
- }
-#else
- static
- symbol_type
- make_LSQUARE_BRACKET (const location_type& l)
- {
- return symbol_type (token::TOKEN_LSQUARE_BRACKET, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_RSQUARE_BRACKET (location_type l)
- {
- return symbol_type (token::TOKEN_RSQUARE_BRACKET, std::move (l));
- }
-#else
- static
- symbol_type
- make_RSQUARE_BRACKET (const location_type& l)
- {
- return symbol_type (token::TOKEN_RSQUARE_BRACKET, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_LCURLY_BRACKET (location_type l)
- {
- return symbol_type (token::TOKEN_LCURLY_BRACKET, std::move (l));
- }
-#else
- static
- symbol_type
- make_LCURLY_BRACKET (const location_type& l)
- {
- return symbol_type (token::TOKEN_LCURLY_BRACKET, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_RCURLY_BRACKET (location_type l)
- {
- return symbol_type (token::TOKEN_RCURLY_BRACKET, std::move (l));
- }
-#else
- static
- symbol_type
- make_RCURLY_BRACKET (const location_type& l)
- {
- return symbol_type (token::TOKEN_RCURLY_BRACKET, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_NULL_TYPE (location_type l)
- {
- return symbol_type (token::TOKEN_NULL_TYPE, std::move (l));
- }
-#else
- static
- symbol_type
- make_NULL_TYPE (const location_type& l)
- {
- return symbol_type (token::TOKEN_NULL_TYPE, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_DHCP6 (location_type l)
- {
- return symbol_type (token::TOKEN_DHCP6, std::move (l));
- }
-#else
- static
- symbol_type
- make_DHCP6 (const location_type& l)
- {
- return symbol_type (token::TOKEN_DHCP6, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_DATA_DIRECTORY (location_type l)
- {
- return symbol_type (token::TOKEN_DATA_DIRECTORY, std::move (l));
- }
-#else
- static
- symbol_type
- make_DATA_DIRECTORY (const location_type& l)
- {
- return symbol_type (token::TOKEN_DATA_DIRECTORY, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_CONFIG_CONTROL (location_type l)
- {
- return symbol_type (token::TOKEN_CONFIG_CONTROL, std::move (l));
- }
-#else
- static
- symbol_type
- make_CONFIG_CONTROL (const location_type& l)
- {
- return symbol_type (token::TOKEN_CONFIG_CONTROL, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_CONFIG_DATABASES (location_type l)
- {
- return symbol_type (token::TOKEN_CONFIG_DATABASES, std::move (l));
- }
-#else
- static
- symbol_type
- make_CONFIG_DATABASES (const location_type& l)
- {
- return symbol_type (token::TOKEN_CONFIG_DATABASES, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_CONFIG_FETCH_WAIT_TIME (location_type l)
- {
- return symbol_type (token::TOKEN_CONFIG_FETCH_WAIT_TIME, std::move (l));
- }
-#else
- static
- symbol_type
- make_CONFIG_FETCH_WAIT_TIME (const location_type& l)
- {
- return symbol_type (token::TOKEN_CONFIG_FETCH_WAIT_TIME, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_INTERFACES_CONFIG (location_type l)
- {
- return symbol_type (token::TOKEN_INTERFACES_CONFIG, std::move (l));
- }
-#else
- static
- symbol_type
- make_INTERFACES_CONFIG (const location_type& l)
- {
- return symbol_type (token::TOKEN_INTERFACES_CONFIG, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_INTERFACES (location_type l)
- {
- return symbol_type (token::TOKEN_INTERFACES, std::move (l));
- }
-#else
- static
- symbol_type
- make_INTERFACES (const location_type& l)
- {
- return symbol_type (token::TOKEN_INTERFACES, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_RE_DETECT (location_type l)
- {
- return symbol_type (token::TOKEN_RE_DETECT, std::move (l));
- }
-#else
- static
- symbol_type
- make_RE_DETECT (const location_type& l)
- {
- return symbol_type (token::TOKEN_RE_DETECT, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_LEASE_DATABASE (location_type l)
- {
- return symbol_type (token::TOKEN_LEASE_DATABASE, std::move (l));
- }
-#else
- static
- symbol_type
- make_LEASE_DATABASE (const location_type& l)
- {
- return symbol_type (token::TOKEN_LEASE_DATABASE, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_HOSTS_DATABASE (location_type l)
- {
- return symbol_type (token::TOKEN_HOSTS_DATABASE, std::move (l));
- }
-#else
- static
- symbol_type
- make_HOSTS_DATABASE (const location_type& l)
- {
- return symbol_type (token::TOKEN_HOSTS_DATABASE, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_HOSTS_DATABASES (location_type l)
- {
- return symbol_type (token::TOKEN_HOSTS_DATABASES, std::move (l));
- }
-#else
- static
- symbol_type
- make_HOSTS_DATABASES (const location_type& l)
- {
- return symbol_type (token::TOKEN_HOSTS_DATABASES, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_TYPE (location_type l)
- {
- return symbol_type (token::TOKEN_TYPE, std::move (l));
- }
-#else
- static
- symbol_type
- make_TYPE (const location_type& l)
- {
- return symbol_type (token::TOKEN_TYPE, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_MEMFILE (location_type l)
- {
- return symbol_type (token::TOKEN_MEMFILE, std::move (l));
- }
-#else
- static
- symbol_type
- make_MEMFILE (const location_type& l)
- {
- return symbol_type (token::TOKEN_MEMFILE, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_MYSQL (location_type l)
- {
- return symbol_type (token::TOKEN_MYSQL, std::move (l));
- }
-#else
- static
- symbol_type
- make_MYSQL (const location_type& l)
- {
- return symbol_type (token::TOKEN_MYSQL, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_POSTGRESQL (location_type l)
- {
- return symbol_type (token::TOKEN_POSTGRESQL, std::move (l));
- }
-#else
- static
- symbol_type
- make_POSTGRESQL (const location_type& l)
- {
- return symbol_type (token::TOKEN_POSTGRESQL, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_CQL (location_type l)
- {
- return symbol_type (token::TOKEN_CQL, std::move (l));
- }
-#else
- static
- symbol_type
- make_CQL (const location_type& l)
- {
- return symbol_type (token::TOKEN_CQL, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_USER (location_type l)
- {
- return symbol_type (token::TOKEN_USER, std::move (l));
- }
-#else
- static
- symbol_type
- make_USER (const location_type& l)
- {
- return symbol_type (token::TOKEN_USER, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_PASSWORD (location_type l)
- {
- return symbol_type (token::TOKEN_PASSWORD, std::move (l));
- }
-#else
- static
- symbol_type
- make_PASSWORD (const location_type& l)
- {
- return symbol_type (token::TOKEN_PASSWORD, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_HOST (location_type l)
- {
- return symbol_type (token::TOKEN_HOST, std::move (l));
- }
-#else
- static
- symbol_type
- make_HOST (const location_type& l)
- {
- return symbol_type (token::TOKEN_HOST, l);
- }
+ static inline
+ symbol_type
+ make_DATA_DIRECTORY (const location_type& l);
+
+ static inline
+ symbol_type
+ make_CONFIG_CONTROL (const location_type& 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_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_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_LOGGING (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_DHCP4 (const location_type& l);
+
+ static inline
+ symbol_type
+ make_DHCPDDNS (const location_type& l);
+
+ static inline
+ symbol_type
+ make_CONTROL_AGENT (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_LOGGING (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_PORT (location_type l)
- {
- return symbol_type (token::TOKEN_PORT, std::move (l));
- }
-#else
- static
- symbol_type
- make_PORT (const location_type& l)
- {
- return symbol_type (token::TOKEN_PORT, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_PERSIST (location_type l)
- {
- return symbol_type (token::TOKEN_PERSIST, std::move (l));
- }
-#else
- static
- symbol_type
- make_PERSIST (const location_type& l)
- {
- return symbol_type (token::TOKEN_PERSIST, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_LFC_INTERVAL (location_type l)
- {
- return symbol_type (token::TOKEN_LFC_INTERVAL, std::move (l));
- }
-#else
- static
- symbol_type
- make_LFC_INTERVAL (const location_type& l)
- {
- return symbol_type (token::TOKEN_LFC_INTERVAL, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_READONLY (location_type l)
- {
- return symbol_type (token::TOKEN_READONLY, std::move (l));
- }
-#else
- static
- symbol_type
- make_READONLY (const location_type& l)
- {
- return symbol_type (token::TOKEN_READONLY, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_CONNECT_TIMEOUT (location_type l)
- {
- return symbol_type (token::TOKEN_CONNECT_TIMEOUT, std::move (l));
- }
-#else
- static
- symbol_type
- make_CONNECT_TIMEOUT (const location_type& l)
- {
- return symbol_type (token::TOKEN_CONNECT_TIMEOUT, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_CONTACT_POINTS (location_type l)
- {
- return symbol_type (token::TOKEN_CONTACT_POINTS, std::move (l));
- }
-#else
- static
- symbol_type
- make_CONTACT_POINTS (const location_type& l)
- {
- return symbol_type (token::TOKEN_CONTACT_POINTS, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_MAX_RECONNECT_TRIES (location_type l)
- {
- return symbol_type (token::TOKEN_MAX_RECONNECT_TRIES, std::move (l));
- }
-#else
- static
- symbol_type
- make_MAX_RECONNECT_TRIES (const location_type& l)
- {
- return symbol_type (token::TOKEN_MAX_RECONNECT_TRIES, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_RECONNECT_WAIT_TIME (location_type l)
- {
- return symbol_type (token::TOKEN_RECONNECT_WAIT_TIME, std::move (l));
- }
-#else
- static
- symbol_type
- make_RECONNECT_WAIT_TIME (const location_type& l)
- {
- return symbol_type (token::TOKEN_RECONNECT_WAIT_TIME, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_KEYSPACE (location_type l)
- {
- return symbol_type (token::TOKEN_KEYSPACE, std::move (l));
- }
-#else
- static
- symbol_type
- make_KEYSPACE (const location_type& l)
- {
- return symbol_type (token::TOKEN_KEYSPACE, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_CONSISTENCY (location_type l)
- {
- return symbol_type (token::TOKEN_CONSISTENCY, std::move (l));
- }
-#else
- static
- symbol_type
- make_CONSISTENCY (const location_type& l)
- {
- return symbol_type (token::TOKEN_CONSISTENCY, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_SERIAL_CONSISTENCY (location_type l)
- {
- return symbol_type (token::TOKEN_SERIAL_CONSISTENCY, std::move (l));
- }
-#else
- static
- symbol_type
- make_SERIAL_CONSISTENCY (const location_type& l)
- {
- return symbol_type (token::TOKEN_SERIAL_CONSISTENCY, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_REQUEST_TIMEOUT (location_type l)
- {
- return symbol_type (token::TOKEN_REQUEST_TIMEOUT, std::move (l));
- }
-#else
- static
- symbol_type
- make_REQUEST_TIMEOUT (const location_type& l)
- {
- return symbol_type (token::TOKEN_REQUEST_TIMEOUT, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_TCP_KEEPALIVE (location_type l)
- {
- return symbol_type (token::TOKEN_TCP_KEEPALIVE, std::move (l));
- }
-#else
- static
- symbol_type
- make_TCP_KEEPALIVE (const location_type& l)
- {
- return symbol_type (token::TOKEN_TCP_KEEPALIVE, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_TCP_NODELAY (location_type l)
- {
- return symbol_type (token::TOKEN_TCP_NODELAY, std::move (l));
- }
-#else
- static
- symbol_type
- make_TCP_NODELAY (const location_type& l)
- {
- return symbol_type (token::TOKEN_TCP_NODELAY, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_MAX_ROW_ERRORS (location_type l)
- {
- return symbol_type (token::TOKEN_MAX_ROW_ERRORS, std::move (l));
- }
-#else
- static
- symbol_type
- make_MAX_ROW_ERRORS (const location_type& l)
- {
- return symbol_type (token::TOKEN_MAX_ROW_ERRORS, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_PREFERRED_LIFETIME (location_type l)
- {
- return symbol_type (token::TOKEN_PREFERRED_LIFETIME, std::move (l));
- }
-#else
- static
- symbol_type
- make_PREFERRED_LIFETIME (const location_type& l)
- {
- return symbol_type (token::TOKEN_PREFERRED_LIFETIME, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_MIN_PREFERRED_LIFETIME (location_type l)
- {
- return symbol_type (token::TOKEN_MIN_PREFERRED_LIFETIME, std::move (l));
- }
-#else
- static
- symbol_type
- make_MIN_PREFERRED_LIFETIME (const location_type& l)
- {
- return symbol_type (token::TOKEN_MIN_PREFERRED_LIFETIME, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_MAX_PREFERRED_LIFETIME (location_type l)
- {
- return symbol_type (token::TOKEN_MAX_PREFERRED_LIFETIME, std::move (l));
- }
-#else
- static
- symbol_type
- make_MAX_PREFERRED_LIFETIME (const location_type& l)
- {
- return symbol_type (token::TOKEN_MAX_PREFERRED_LIFETIME, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_VALID_LIFETIME (location_type l)
- {
- return symbol_type (token::TOKEN_VALID_LIFETIME, std::move (l));
- }
-#else
- static
- symbol_type
- make_VALID_LIFETIME (const location_type& l)
- {
- return symbol_type (token::TOKEN_VALID_LIFETIME, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_MIN_VALID_LIFETIME (location_type l)
- {
- return symbol_type (token::TOKEN_MIN_VALID_LIFETIME, std::move (l));
- }
-#else
- static
- symbol_type
- make_MIN_VALID_LIFETIME (const location_type& l)
- {
- return symbol_type (token::TOKEN_MIN_VALID_LIFETIME, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_MAX_VALID_LIFETIME (location_type l)
- {
- return symbol_type (token::TOKEN_MAX_VALID_LIFETIME, std::move (l));
- }
-#else
- static
- symbol_type
- make_MAX_VALID_LIFETIME (const location_type& l)
- {
- return symbol_type (token::TOKEN_MAX_VALID_LIFETIME, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_RENEW_TIMER (location_type l)
- {
- return symbol_type (token::TOKEN_RENEW_TIMER, std::move (l));
- }
-#else
- static
- symbol_type
- make_RENEW_TIMER (const location_type& l)
- {
- return symbol_type (token::TOKEN_RENEW_TIMER, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_REBIND_TIMER (location_type l)
- {
- return symbol_type (token::TOKEN_REBIND_TIMER, std::move (l));
- }
-#else
- static
- symbol_type
- make_REBIND_TIMER (const location_type& l)
- {
- return symbol_type (token::TOKEN_REBIND_TIMER, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_CALCULATE_TEE_TIMES (location_type l)
- {
- return symbol_type (token::TOKEN_CALCULATE_TEE_TIMES, std::move (l));
- }
-#else
- static
- symbol_type
- make_CALCULATE_TEE_TIMES (const location_type& l)
- {
- return symbol_type (token::TOKEN_CALCULATE_TEE_TIMES, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_T1_PERCENT (location_type l)
- {
- return symbol_type (token::TOKEN_T1_PERCENT, std::move (l));
- }
-#else
- static
- symbol_type
- make_T1_PERCENT (const location_type& l)
- {
- return symbol_type (token::TOKEN_T1_PERCENT, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_T2_PERCENT (location_type l)
- {
- return symbol_type (token::TOKEN_T2_PERCENT, std::move (l));
- }
-#else
- static
- symbol_type
- make_T2_PERCENT (const location_type& l)
- {
- return symbol_type (token::TOKEN_T2_PERCENT, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_DECLINE_PROBATION_PERIOD (location_type l)
- {
- return symbol_type (token::TOKEN_DECLINE_PROBATION_PERIOD, std::move (l));
- }
-#else
- static
- symbol_type
- make_DECLINE_PROBATION_PERIOD (const location_type& l)
- {
- return symbol_type (token::TOKEN_DECLINE_PROBATION_PERIOD, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_SERVER_TAG (location_type l)
- {
- return symbol_type (token::TOKEN_SERVER_TAG, std::move (l));
- }
-#else
- static
- symbol_type
- make_SERVER_TAG (const location_type& l)
- {
- return symbol_type (token::TOKEN_SERVER_TAG, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_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_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_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_LOGGING (location_type l)
- {
- return symbol_type (token::TOKEN_LOGGING, std::move (l));
- }
-#else
- static
- symbol_type
- make_LOGGING (const location_type& l)
- {
- return symbol_type (token::TOKEN_LOGGING, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_LOGGERS (location_type l)
- {
- return symbol_type (token::TOKEN_LOGGERS, std::move (l));
- }
-#else
- static
- symbol_type
- make_LOGGERS (const location_type& l)
- {
- return symbol_type (token::TOKEN_LOGGERS, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_OUTPUT_OPTIONS (location_type l)
- {
- return symbol_type (token::TOKEN_OUTPUT_OPTIONS, std::move (l));
- }
-#else
- static
- symbol_type
- make_OUTPUT_OPTIONS (const location_type& l)
- {
- return symbol_type (token::TOKEN_OUTPUT_OPTIONS, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_OUTPUT (location_type l)
- {
- return symbol_type (token::TOKEN_OUTPUT, std::move (l));
- }
-#else
- static
- symbol_type
- make_OUTPUT (const location_type& l)
- {
- return symbol_type (token::TOKEN_OUTPUT, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_DEBUGLEVEL (location_type l)
- {
- return symbol_type (token::TOKEN_DEBUGLEVEL, std::move (l));
- }
-#else
- static
- symbol_type
- make_DEBUGLEVEL (const location_type& l)
- {
- return symbol_type (token::TOKEN_DEBUGLEVEL, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_SEVERITY (location_type l)
- {
- return symbol_type (token::TOKEN_SEVERITY, std::move (l));
- }
-#else
- static
- symbol_type
- make_SEVERITY (const location_type& l)
- {
- return symbol_type (token::TOKEN_SEVERITY, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_FLUSH (location_type l)
- {
- return symbol_type (token::TOKEN_FLUSH, std::move (l));
- }
-#else
- static
- symbol_type
- make_FLUSH (const location_type& l)
- {
- return symbol_type (token::TOKEN_FLUSH, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_MAXSIZE (location_type l)
- {
- return symbol_type (token::TOKEN_MAXSIZE, std::move (l));
- }
-#else
- static
- symbol_type
- make_MAXSIZE (const location_type& l)
- {
- return symbol_type (token::TOKEN_MAXSIZE, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_MAXVER (location_type l)
- {
- return symbol_type (token::TOKEN_MAXVER, std::move (l));
- }
-#else
- static
- symbol_type
- make_MAXVER (const location_type& l)
- {
- return symbol_type (token::TOKEN_MAXVER, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_PATTERN (location_type l)
- {
- return symbol_type (token::TOKEN_PATTERN, std::move (l));
- }
-#else
- static
- symbol_type
- make_PATTERN (const location_type& l)
- {
- return symbol_type (token::TOKEN_PATTERN, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_DHCP4 (location_type l)
- {
- return symbol_type (token::TOKEN_DHCP4, std::move (l));
- }
-#else
- static
- symbol_type
- make_DHCP4 (const location_type& l)
- {
- return symbol_type (token::TOKEN_DHCP4, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_DHCPDDNS (location_type l)
- {
- return symbol_type (token::TOKEN_DHCPDDNS, std::move (l));
- }
-#else
- static
- symbol_type
- make_DHCPDDNS (const location_type& l)
- {
- return symbol_type (token::TOKEN_DHCPDDNS, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_CONTROL_AGENT (location_type l)
- {
- return symbol_type (token::TOKEN_CONTROL_AGENT, std::move (l));
- }
-#else
- static
- symbol_type
- make_CONTROL_AGENT (const location_type& l)
- {
- return symbol_type (token::TOKEN_CONTROL_AGENT, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_TOPLEVEL_JSON (location_type l)
- {
- return symbol_type (token::TOKEN_TOPLEVEL_JSON, std::move (l));
- }
-#else
- static
- symbol_type
- make_TOPLEVEL_JSON (const location_type& l)
- {
- return symbol_type (token::TOKEN_TOPLEVEL_JSON, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_TOPLEVEL_DHCP6 (location_type l)
- {
- return symbol_type (token::TOKEN_TOPLEVEL_DHCP6, std::move (l));
- }
-#else
- static
- symbol_type
- make_TOPLEVEL_DHCP6 (const location_type& l)
- {
- return symbol_type (token::TOKEN_TOPLEVEL_DHCP6, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_SUB_DHCP6 (location_type l)
- {
- return symbol_type (token::TOKEN_SUB_DHCP6, std::move (l));
- }
-#else
- static
- symbol_type
- make_SUB_DHCP6 (const location_type& l)
- {
- return symbol_type (token::TOKEN_SUB_DHCP6, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_SUB_INTERFACES6 (location_type l)
- {
- return symbol_type (token::TOKEN_SUB_INTERFACES6, std::move (l));
- }
-#else
- static
- symbol_type
- make_SUB_INTERFACES6 (const location_type& l)
- {
- return symbol_type (token::TOKEN_SUB_INTERFACES6, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_SUB_SUBNET6 (location_type l)
- {
- return symbol_type (token::TOKEN_SUB_SUBNET6, std::move (l));
- }
-#else
- static
- symbol_type
- make_SUB_SUBNET6 (const location_type& l)
- {
- return symbol_type (token::TOKEN_SUB_SUBNET6, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_SUB_POOL6 (location_type l)
- {
- return symbol_type (token::TOKEN_SUB_POOL6, std::move (l));
- }
-#else
- static
- symbol_type
- make_SUB_POOL6 (const location_type& l)
- {
- return symbol_type (token::TOKEN_SUB_POOL6, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_SUB_PD_POOL (location_type l)
- {
- return symbol_type (token::TOKEN_SUB_PD_POOL, std::move (l));
- }
-#else
- static
- symbol_type
- make_SUB_PD_POOL (const location_type& l)
- {
- return symbol_type (token::TOKEN_SUB_PD_POOL, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_SUB_RESERVATION (location_type l)
- {
- return symbol_type (token::TOKEN_SUB_RESERVATION, std::move (l));
- }
-#else
- static
- symbol_type
- make_SUB_RESERVATION (const location_type& l)
- {
- return symbol_type (token::TOKEN_SUB_RESERVATION, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_SUB_OPTION_DEFS (location_type l)
- {
- return symbol_type (token::TOKEN_SUB_OPTION_DEFS, std::move (l));
- }
-#else
- static
- symbol_type
- make_SUB_OPTION_DEFS (const location_type& l)
- {
- return symbol_type (token::TOKEN_SUB_OPTION_DEFS, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_SUB_OPTION_DEF (location_type l)
- {
- return symbol_type (token::TOKEN_SUB_OPTION_DEF, std::move (l));
- }
-#else
- static
- symbol_type
- make_SUB_OPTION_DEF (const location_type& l)
- {
- return symbol_type (token::TOKEN_SUB_OPTION_DEF, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_SUB_OPTION_DATA (location_type l)
- {
- return symbol_type (token::TOKEN_SUB_OPTION_DATA, std::move (l));
- }
-#else
- static
- symbol_type
- make_SUB_OPTION_DATA (const location_type& l)
- {
- return symbol_type (token::TOKEN_SUB_OPTION_DATA, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_SUB_HOOKS_LIBRARY (location_type l)
- {
- return symbol_type (token::TOKEN_SUB_HOOKS_LIBRARY, std::move (l));
- }
-#else
- static
- symbol_type
- make_SUB_HOOKS_LIBRARY (const location_type& l)
- {
- return symbol_type (token::TOKEN_SUB_HOOKS_LIBRARY, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_SUB_DHCP_DDNS (location_type l)
- {
- return symbol_type (token::TOKEN_SUB_DHCP_DDNS, std::move (l));
- }
-#else
- static
- symbol_type
- make_SUB_DHCP_DDNS (const location_type& l)
- {
- return symbol_type (token::TOKEN_SUB_DHCP_DDNS, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_SUB_LOGGING (location_type l)
- {
- return symbol_type (token::TOKEN_SUB_LOGGING, std::move (l));
- }
-#else
- static
- symbol_type
- make_SUB_LOGGING (const location_type& l)
- {
- return symbol_type (token::TOKEN_SUB_LOGGING, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_SUB_CONFIG_CONTROL (location_type l)
- {
- return symbol_type (token::TOKEN_SUB_CONFIG_CONTROL, std::move (l));
- }
-#else
- static
- symbol_type
- make_SUB_CONFIG_CONTROL (const location_type& l)
- {
- return symbol_type (token::TOKEN_SUB_CONFIG_CONTROL, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_STRING (std::string v, location_type l)
- {
- return symbol_type (token::TOKEN_STRING, std::move (v), std::move (l));
- }
-#else
- static
- symbol_type
- make_STRING (const std::string& v, const location_type& l)
- {
- return symbol_type (token::TOKEN_STRING, v, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_INTEGER (int64_t v, location_type l)
- {
- return symbol_type (token::TOKEN_INTEGER, std::move (v), std::move (l));
- }
-#else
- static
- symbol_type
- make_INTEGER (const int64_t& v, const location_type& l)
- {
- return symbol_type (token::TOKEN_INTEGER, v, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_FLOAT (double v, location_type l)
- {
- return symbol_type (token::TOKEN_FLOAT, std::move (v), std::move (l));
- }
-#else
- static
- symbol_type
- make_FLOAT (const double& v, const location_type& l)
- {
- return symbol_type (token::TOKEN_FLOAT, v, l);
- }
-#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_ = 1254, ///< Last index in yytable_.
+ yynnts_ = 437, ///< Number of nonterminal symbols.
+ yyfinal_ = 32, ///< 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 220: // value
+ case 224: // map_value
+ case 265: // ddns_replace_client_name_value
+ case 302: // db_type
+ case 403: // hr_mode
+ case 539: // duid_type
+ case 582: // 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 220: // value
+ case 224: // map_value
+ case 265: // ddns_replace_client_name_value
+ case 302: // db_type
+ case 403: // hr_mode
+ case 539: // duid_type
+ case 582: // 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 220: // value
+ case 224: // map_value
+ case 265: // ddns_replace_client_name_value
+ case 302: // db_type
+ case 403: // hr_mode
+ case 539: // duid_type
+ case 582: // 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 220: // value
+ case 224: // map_value
+ case 265: // ddns_replace_client_name_value
+ case 302: // db_type
+ case 403: // hr_mode
+ case 539: // duid_type
+ case 582: // 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_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);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_DDNS_OVERRIDE_NO_UPDATE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_DDNS_OVERRIDE_NO_UPDATE, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_DDNS_OVERRIDE_CLIENT_UPDATE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_DDNS_REPLACE_CLIENT_NAME (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_DDNS_REPLACE_CLIENT_NAME, l);
+ }
+
+ 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);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_STORE_EXTENDED_INFO (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_STORE_EXTENDED_INFO, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SUBNET6 (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SUBNET6, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_OPTION_DEF (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_OPTION_DEF, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_OPTION_DATA (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_OPTION_DATA, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_NAME (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_NAME, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_DATA (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_DATA, l);
+ }
+
+ 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);
+ }
+
+ 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);
+ }
- private:
- /// This class is not copyable.
- Dhcp6Parser (const Dhcp6Parser&);
- Dhcp6Parser& operator= (const Dhcp6Parser&);
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_ENCAPSULATE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_ENCAPSULATE, l);
+ }
- /// Stored state numbers (used for stacks).
- typedef short state_type;
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_ARRAY (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_ARRAY, l);
+ }
- /// Generate an error message.
- /// \param yystate the state where the error occurred.
- /// \param yyla the lookahead token.
- virtual std::string yysyntax_error_ (state_type yystate,
- const symbol_type& yyla) const;
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_POOLS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_POOLS, l);
+ }
- /// 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_POOL (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_POOL, 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_PD_POOLS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_PD_POOLS, 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_PREFIX (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_PREFIX, l);
+ }
- static const short yypact_ninf_;
- static const signed char yytable_ninf_;
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_PREFIX_LEN (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_PREFIX_LEN, l);
+ }
- /// Convert a scanner token number \a t to a symbol number.
- /// In theory \a t should be a token_type, but character literals
- /// are valid, yet not members of the token_type enum.
- static token_number_type yytranslate_ (int t);
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_EXCLUDED_PREFIX (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_EXCLUDED_PREFIX, l);
+ }
- // Tables.
- // YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
- // STATE-NUM.
- static const short yypact_[];
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_EXCLUDED_PREFIX_LEN (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_EXCLUDED_PREFIX_LEN, 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_DELEGATED_LEN (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_DELEGATED_LEN, l);
+ }
- // YYPGOTO[NTERM-NUM].
- static const short yypgoto_[];
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_USER_CONTEXT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_USER_CONTEXT, l);
+ }
- // YYDEFGOTO[NTERM-NUM].
- static const short yydefgoto_[];
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_COMMENT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_COMMENT, 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_SUBNET (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SUBNET, l);
+ }
- static const short yycheck_[];
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_INTERFACE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_INTERFACE, l);
+ }
- // YYSTOS[STATE-NUM] -- The (internal number of the) accessing
- // symbol of state STATE-NUM.
- static const short yystos_[];
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_INTERFACE_ID (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_INTERFACE_ID, l);
+ }
- // YYR1[YYN] -- Symbol number of symbol that rule YYN derives.
- static const short yyr1_[];
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_ID (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_ID, l);
+ }
- // YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.
- static const signed char yyr2_[];
+ 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);
+ }
- /// Convert the symbol name \a n to a form suitable for a diagnostic.
- static std::string yytnamerr_ (const char *n);
+ 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);
+ }
- /// 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 short yyrline_[];
- /// Report on the debug stream that the rule \a r is going to be reduced.
- virtual void yy_reduce_print_ (int r);
- /// Print the state stack on the debug stream.
- virtual void yystack_print_ ();
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_GLOBAL (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_GLOBAL, l);
+ }
- /// Debugging level.
- int yydebug_;
- /// Debug stream.
- std::ostream* yycdebug_;
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_ALL (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_ALL, l);
+ }
- /// \brief Display a symbol type, value and location.
- /// \param yyo The output stream.
- /// \param yysym The symbol.
- template <typename Base>
- void yy_print_ (std::ostream& yyo, const basic_symbol<Base>& yysym) const;
-#endif
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SHARED_NETWORKS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SHARED_NETWORKS, 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_MAC_SOURCES (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_MAC_SOURCES, l);
+ }
- private:
- /// Type access provider for state based symbols.
- struct by_state
- {
- /// Default constructor.
- by_state () YY_NOEXCEPT;
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_RELAY_SUPPLIED_OPTIONS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_RELAY_SUPPLIED_OPTIONS, l);
+ }
- /// The symbol type as needed by the constructor.
- typedef state_type kind_type;
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_HOST_RESERVATION_IDENTIFIERS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_HOST_RESERVATION_IDENTIFIERS, l);
+ }
- /// Constructor.
- by_state (kind_type s) YY_NOEXCEPT;
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SANITY_CHECKS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SANITY_CHECKS, l);
+ }
- /// Copy constructor.
- by_state (const by_state& that) YY_NOEXCEPT;
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_LEASE_CHECKS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_LEASE_CHECKS, l);
+ }
- /// Record that this symbol is empty.
- void clear () YY_NOEXCEPT;
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_CLIENT_CLASSES (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_CLIENT_CLASSES, l);
+ }
- /// Steal the symbol type from \a that.
- void move (by_state& that);
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_REQUIRE_CLIENT_CLASSES (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_REQUIRE_CLIENT_CLASSES, l);
+ }
- /// The (internal) type number (corresponding to \a state).
- /// \a empty_symbol when empty.
- symbol_number_type type_get () const YY_NOEXCEPT;
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_TEST (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_TEST, 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_ONLY_IF_REQUIRED (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_ONLY_IF_REQUIRED, l);
+ }
- /// The state.
- /// \a empty when empty.
- state_type state;
- };
+ 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);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_PACKET_QUEUE_SIZE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_PACKET_QUEUE_SIZE, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_CONTROL_SOCKET (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_CONTROL_SOCKET, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SOCKET_TYPE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SOCKET_TYPE, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SOCKET_NAME (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SOCKET_NAME, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_DHCP_QUEUE_CONTROL (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_DHCP_QUEUE_CONTROL, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_ENABLE_QUEUE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_ENABLE_QUEUE, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_QUEUE_TYPE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_QUEUE_TYPE, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_CAPACITY (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_CAPACITY, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_DHCP_DDNS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_DHCP_DDNS, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_ENABLE_UPDATES (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_ENABLE_UPDATES, 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_QUALIFYING_SUFFIX (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_QUALIFYING_SUFFIX, l);
+ }
- /// A stack with random access from its top.
- template <typename T, typename S = std::vector<T> >
- class stack
- {
- public:
- // Hide our reversed order.
- typedef typename S::reverse_iterator iterator;
- typedef typename S::const_reverse_iterator const_iterator;
- typedef typename S::size_type size_type;
- typedef typename std::ptrdiff_t index_type;
-
- stack (size_type n = 200)
- : seq_ (n)
- {}
-
- /// 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);
+ }
- std::ptrdiff_t
- ssize () const YY_NOEXCEPT
- {
- return std::ptrdiff_t (size ());
- }
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_MAX_QUEUE_SIZE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_MAX_QUEUE_SIZE, l);
+ }
- /// Iterator on top of the stack (going downwards).
- const_iterator
- begin () const YY_NOEXCEPT
- {
- return seq_.rbegin ();
- }
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_NCR_PROTOCOL (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_NCR_PROTOCOL, l);
+ }
- /// Bottom of the stack.
- const_iterator
- end () const YY_NOEXCEPT
- {
- return seq_.rend ();
- }
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_NCR_FORMAT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_NCR_FORMAT, 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_OVERRIDE_NO_UPDATE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_OVERRIDE_NO_UPDATE, l);
+ }
- private:
- stack (const stack&);
- stack& operator= (const stack&);
- /// The wrapped container.
- S seq_;
- };
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_OVERRIDE_CLIENT_UPDATE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_OVERRIDE_CLIENT_UPDATE, l);
+ }
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_REPLACE_CLIENT_NAME (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_REPLACE_CLIENT_NAME, l);
+ }
- /// Stack type.
- typedef stack<stack_symbol_type> stack_type;
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_GENERATED_PREFIX (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_GENERATED_PREFIX, l);
+ }
- /// The stack.
- stack_type yystack_;
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_UDP (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_UDP, 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_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);
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::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);
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_WHEN_PRESENT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_WHEN_PRESENT, l);
+ }
- /// Some specific tokens.
- static const token_number_type yy_error_token_ = 1;
- static const token_number_type yy_undef_token_ = 2;
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_NEVER (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_NEVER, l);
+ }
- /// Constants.
- enum
- {
- yyeof_ = 0,
- yylast_ = 1217, ///< Last index in yytable_.
- yynnts_ = 430, ///< Number of nonterminal symbols.
- yyfinal_ = 32, ///< Termination state number.
- yyntokens_ = 199 ///< Number of tokens.
- };
+ 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);
+ }
- // User arguments.
- isc::dhcp::Parser6Context& ctx;
- };
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_HOSTNAME_CHAR_SET (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_HOSTNAME_CHAR_SET, l);
+ }
- inline
- Dhcp6Parser::token_number_type
- Dhcp6Parser::yytranslate_ (int t)
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_HOSTNAME_CHAR_REPLACEMENT (const location_type& l)
{
- // YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to
- // TOKEN-NUM as returned by yylex.
- static
- const token_number_type
- translate_table[] =
- {
- 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
- 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
- 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
- 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
- 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
- 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
- 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
- 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
- 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
- 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
- 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
- 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
- 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
- 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
- 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
- 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
- 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
- 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
- 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
- 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
- 195, 196, 197, 198
- };
- const int user_token_number_max_ = 453;
+ return symbol_type (token::TOKEN_HOSTNAME_CHAR_REPLACEMENT, l);
+ }
- if (t <= 0)
- return yyeof_;
- else if (t <= user_token_number_max_)
- return translate_table[t];
- else
- return yy_undef_token_;
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_LOGGING (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_LOGGING, l);
}
- // basic_symbol.
-#if 201103L <= YY_CPLUSPLUS
- template <typename Base>
- Dhcp6Parser::basic_symbol<Base>::basic_symbol (basic_symbol&& that)
- : Base (std::move (that))
- , value ()
- , location (std::move (that.location))
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_LOGGERS (const location_type& l)
{
- switch (this->type_get ())
- {
- case 216: // value
- case 220: // map_value
- case 261: // ddns_replace_client_name_value
- case 298: // db_type
- case 392: // hr_mode
- case 528: // duid_type
- case 571: // ncr_protocol_value
- value.move< ElementPtr > (std::move (that.value));
- break;
+ return symbol_type (token::TOKEN_LOGGERS, l);
+ }
- case 198: // "boolean"
- value.move< bool > (std::move (that.value));
- break;
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_OUTPUT_OPTIONS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_OUTPUT_OPTIONS, l);
+ }
- case 197: // "floating point"
- value.move< double > (std::move (that.value));
- break;
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_OUTPUT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_OUTPUT, l);
+ }
- case 196: // "integer"
- value.move< int64_t > (std::move (that.value));
- break;
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_DEBUGLEVEL (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_DEBUGLEVEL, l);
+ }
- case 195: // "constant string"
- value.move< std::string > (std::move (that.value));
- break;
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SEVERITY (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SEVERITY, l);
+ }
- default:
- break;
- }
+ 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);
}
-#endif
- template <typename Base>
- Dhcp6Parser::basic_symbol<Base>::basic_symbol (const basic_symbol& that)
- : Base (that)
- , value ()
- , location (that.location)
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_MAXVER (const location_type& l)
{
- switch (this->type_get ())
- {
- case 216: // value
- case 220: // map_value
- case 261: // ddns_replace_client_name_value
- case 298: // db_type
- case 392: // hr_mode
- case 528: // duid_type
- case 571: // ncr_protocol_value
- value.copy< ElementPtr > (YY_MOVE (that.value));
- break;
+ return symbol_type (token::TOKEN_MAXVER, l);
+ }
- case 198: // "boolean"
- value.copy< bool > (YY_MOVE (that.value));
- break;
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_PATTERN (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_PATTERN, l);
+ }
- case 197: // "floating point"
- value.copy< double > (YY_MOVE (that.value));
- break;
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_DHCP4 (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_DHCP4, l);
+ }
- case 196: // "integer"
- value.copy< int64_t > (YY_MOVE (that.value));
- break;
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_DHCPDDNS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_DHCPDDNS, l);
+ }
- case 195: // "constant string"
- value.copy< std::string > (YY_MOVE (that.value));
- break;
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_CONTROL_AGENT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_CONTROL_AGENT, l);
+ }
- default:
- break;
- }
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_TOPLEVEL_JSON (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_TOPLEVEL_JSON, l);
+ }
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_TOPLEVEL_DHCP6 (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_TOPLEVEL_DHCP6, l);
}
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SUB_DHCP6 (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SUB_DHCP6, l);
+ }
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SUB_INTERFACES6 (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SUB_INTERFACES6, l);
+ }
- template <typename Base>
- bool
- Dhcp6Parser::basic_symbol<Base>::empty () const YY_NOEXCEPT
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SUB_SUBNET6 (const location_type& l)
{
- return Base::type_get () == empty_symbol;
+ return symbol_type (token::TOKEN_SUB_SUBNET6, l);
}
- template <typename Base>
- void
- Dhcp6Parser::basic_symbol<Base>::move (basic_symbol& s)
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SUB_POOL6 (const location_type& l)
{
- super_type::move (s);
- switch (this->type_get ())
- {
- case 216: // value
- case 220: // map_value
- case 261: // ddns_replace_client_name_value
- case 298: // db_type
- case 392: // hr_mode
- case 528: // duid_type
- case 571: // ncr_protocol_value
- value.move< ElementPtr > (YY_MOVE (s.value));
- break;
+ return symbol_type (token::TOKEN_SUB_POOL6, l);
+ }
- case 198: // "boolean"
- value.move< bool > (YY_MOVE (s.value));
- break;
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SUB_PD_POOL (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SUB_PD_POOL, l);
+ }
- case 197: // "floating point"
- value.move< double > (YY_MOVE (s.value));
- break;
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SUB_RESERVATION (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SUB_RESERVATION, l);
+ }
- case 196: // "integer"
- value.move< int64_t > (YY_MOVE (s.value));
- break;
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SUB_OPTION_DEFS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SUB_OPTION_DEFS, l);
+ }
- case 195: // "constant string"
- value.move< std::string > (YY_MOVE (s.value));
- break;
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SUB_OPTION_DEF (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SUB_OPTION_DEF, l);
+ }
- default:
- break;
- }
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SUB_OPTION_DATA (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SUB_OPTION_DATA, l);
+ }
- location = YY_MOVE (s.location);
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SUB_HOOKS_LIBRARY (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SUB_HOOKS_LIBRARY, l);
}
- // by_type.
- inline
- Dhcp6Parser::by_type::by_type ()
- : type (empty_symbol)
- {}
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SUB_DHCP_DDNS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SUB_DHCP_DDNS, l);
+ }
-#if 201103L <= YY_CPLUSPLUS
- inline
- Dhcp6Parser::by_type::by_type (by_type&& that)
- : type (that.type)
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SUB_LOGGING (const location_type& l)
{
- that.clear ();
+ return symbol_type (token::TOKEN_SUB_LOGGING, l);
}
-#endif
- inline
- Dhcp6Parser::by_type::by_type (const by_type& that)
- : type (that.type)
- {}
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SUB_CONFIG_CONTROL (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SUB_CONFIG_CONTROL, l);
+ }
- inline
- Dhcp6Parser::by_type::by_type (token_type t)
- : type (yytranslate_ (t))
- {}
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_STRING (const std::string& v, const location_type& l)
+ {
+ return symbol_type (token::TOKEN_STRING, v, l);
+ }
- inline
- void
- Dhcp6Parser::by_type::clear ()
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_INTEGER (const int64_t& v, const location_type& l)
{
- type = empty_symbol;
+ return symbol_type (token::TOKEN_INTEGER, v, l);
}
- inline
- void
- Dhcp6Parser::by_type::move (by_type& that)
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_FLOAT (const double& v, const location_type& l)
{
- type = that.type;
- that.clear ();
+ return symbol_type (token::TOKEN_FLOAT, v, l);
}
- inline
- int
- Dhcp6Parser::by_type::type_get () const YY_NOEXCEPT
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_BOOLEAN (const bool& v, const location_type& l)
{
- return type;
+ return symbol_type (token::TOKEN_BOOLEAN, v, l);
}
-#line 14 "dhcp6_parser.yy"
-} } // isc::dhcp
-#line 4532 "dhcp6_parser.h"
+#line 14 "dhcp6_parser.yy" // lalr1.cc:377
+} } // isc::dhcp
+#line 3285 "dhcp6_parser.h" // lalr1.cc:377
-// Generated 202004050939
-// A Bison parser, made by GNU Bison 3.5.3.
+// 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 line and column numbers.
- typedef int counter_type;
-
- /// Construct a position.
- explicit position (std::string* f = YY_NULLPTR,
- counter_type l = 1,
- counter_type c = 1)
- : filename (f)
- , line (l)
- , column (c)
- {}
-
-
- /// Initialization.
- void initialize (std::string* 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.
- std::string* 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;
- }
-
- /// 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>
- 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 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 (std::string* f,
- counter_type l = 1,
- counter_type c = 1)
+ unsigned int l = 1u,
+ unsigned int c = 1u)
: begin (f, l, c)
, end (f, l, c)
- {}
+ {
+ }
/// Initialization.
void initialize (std::string* f = YY_NULLPTR,
- counter_type l = 1,
- counter_type c = 1)
+ 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;
}
** 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 333 "location.hh"
-
+#line 192 "location.hh" // location.cc:296
#endif // !YY_PARSER6_LOCATION_HH_INCLUDED
-// Generated 202004050939
-// A Bison parser, made by GNU Bison 3.5.3.
-
-// 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 202004050939
-// A Bison parser, made by GNU Bison 3.5.3.
-
-// 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
"{"
" \"enable-multi-threading\": false,\n"
" \"thread-pool-size\": 0,\n"
- " \"packet-queue-size\": 0\n"
+ " \"packet-queue-size\": 64\n"
"}";
ConstElementPtr param;
ASSERT_NO_THROW(param = Element::fromJSON(content_json))
"}";
std::string config = "{ " + genIfaceConfig() + "," +
"\"subnet6\": [ ], "
- "\"multi-threading\": " + content_json;
+ "\"multi-threading\": " + content_json + "}";
ConstElementPtr json;
ASSERT_NO_THROW(json = parseDHCP6(config));
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
+" \"preferred-lifetime\": 3000,\n"
+" \"rebind-timer\": 2000,\n"
+" \"renew-timer\": 1000,\n"
+" \"statistic-default-sample-age\": 5,\n"
+" \"statistic-default-sample-count\": 10,\n"
+" \"valid-lifetime\": 4000\n"
+" }\n",
+ // CONFIGURATION 61
+"{\n"
+" \"interfaces-config\": {\n"
+" \"interfaces\": [ \"*\" ],\n"
+" \"re-detect\": false\n"
+" },\n"
+" \"subnet6\": [ ]\n"
+" }\n",
+ // CONFIGURATION 62
+"{\n"
+" \"interfaces-config\": {\n"
+" \"interfaces\": [ \"*\" ],\n"
+" \"re-detect\": false\n"
+" },\n"
" \"multi-threading\": {\n"
-" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 0,\n"
-" \"thread-pool-size\": 0\n"
+" \"enable-multi-threading\": true,\n"
+" \"packet-queue-size\": 1024,\n"
+" \"thread-pool-size\": 48\n"
" },\n"
" \"subnet6\": [ ]\n"
" }\n"
" \"mac-sources\": [ \"any\" ],\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"option-data\": [ ],\n"
" },\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet6\": [ ],\n"
" \"t1-percent\": 0.5,\n"
" \"min-valid-lifetime\": 3000,\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"option-data\": [ ],\n"
" },\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet6\": [\n"
" {\n"
" \"mac-sources\": [ \"any\" ],\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"option-data\": [ ],\n"
" },\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet6\": [\n"
" {\n"
" \"mac-sources\": [ \"any\" ],\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"option-data\": [ ],\n"
" },\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet6\": [\n"
" {\n"
" \"mac-sources\": [ \"any\" ],\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"option-data\": [ ],\n"
" },\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet6\": [\n"
" {\n"
" \"min-valid-lifetime\": 3000,\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"option-data\": [ ],\n"
" },\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet6\": [\n"
" {\n"
" \"mac-sources\": [ \"any\" ],\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"option-data\": [ ],\n"
" },\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet6\": [\n"
" {\n"
" \"mac-sources\": [ \"any\" ],\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"option-data\": [ ],\n"
" },\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet6\": [\n"
" {\n"
" \"mac-sources\": [ \"any\" ],\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"option-data\": [ ],\n"
" },\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet6\": [\n"
" {\n"
" \"mac-sources\": [ \"any\" ],\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"option-data\": [ ],\n"
" },\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet6\": [\n"
" {\n"
" \"mac-sources\": [ \"any\" ],\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"option-data\": [ ],\n"
" },\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet6\": [\n"
" {\n"
" \"mac-sources\": [ \"any\" ],\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"option-data\": [ ],\n"
" },\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet6\": [\n"
" {\n"
" \"mac-sources\": [ \"any\" ],\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"option-data\": [ ],\n"
" },\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet6\": [\n"
" {\n"
" \"mac-sources\": [ \"any\" ],\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"option-data\": [ ],\n"
" },\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet6\": [\n"
" {\n"
" \"mac-sources\": [ \"any\" ],\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"option-data\": [ ],\n"
" },\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet6\": [ ],\n"
" \"t1-percent\": 0.5,\n"
" \"mac-sources\": [ \"any\" ],\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"option-data\": [ ],\n"
" },\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet6\": [ ],\n"
" \"t1-percent\": 0.5,\n"
" \"mac-sources\": [ \"any\" ],\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"option-data\": [ ],\n"
" },\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet6\": [ ],\n"
" \"t1-percent\": 0.5,\n"
" \"mac-sources\": [ \"any\" ],\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"option-data\": [ ],\n"
" },\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet6\": [ ],\n"
" \"t1-percent\": 0.5,\n"
" \"mac-sources\": [ \"any\" ],\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"option-data\": [ ],\n"
" },\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet6\": [ ],\n"
" \"t1-percent\": 0.5,\n"
" \"mac-sources\": [ \"any\" ],\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"option-data\": [\n"
" },\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet6\": [\n"
" {\n"
" \"mac-sources\": [ \"any\" ],\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"option-data\": [ ],\n"
" },\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet6\": [\n"
" {\n"
" \"mac-sources\": [ \"any\" ],\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"option-data\": [\n"
" },\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet6\": [\n"
" {\n"
" \"mac-sources\": [ \"any\" ],\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"option-data\": [\n"
" },\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet6\": [ ],\n"
" \"t1-percent\": 0.5,\n"
" \"mac-sources\": [ \"any\" ],\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"option-data\": [\n"
" },\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet6\": [\n"
" {\n"
" \"mac-sources\": [ \"any\" ],\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"option-data\": [ ],\n"
" },\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet6\": [\n"
" {\n"
" \"mac-sources\": [ \"any\" ],\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"option-data\": [ ],\n"
" },\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet6\": [\n"
" {\n"
" \"mac-sources\": [ \"any\" ],\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"option-data\": [\n"
" },\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet6\": [\n"
" {\n"
" \"mac-sources\": [ \"any\" ],\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"option-data\": [\n"
" },\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet6\": [\n"
" {\n"
" \"mac-sources\": [ \"any\" ],\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"option-data\": [ ],\n"
" },\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet6\": [ ],\n"
" \"t1-percent\": 0.5,\n"
" \"mac-sources\": [ \"any\" ],\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"option-data\": [ ],\n"
" },\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet6\": [ ],\n"
" \"t1-percent\": 0.5,\n"
" \"mac-sources\": [ \"any\" ],\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"option-data\": [ ],\n"
" },\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet6\": [\n"
" {\n"
" \"mac-sources\": [ \"any\" ],\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"option-data\": [ ],\n"
" },\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet6\": [\n"
" {\n"
" \"mac-sources\": [ \"any\" ],\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"option-data\": [ ],\n"
" },\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet6\": [\n"
" {\n"
" \"mac-sources\": [ \"any\" ],\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"option-data\": [ ],\n"
" },\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet6\": [\n"
" {\n"
" \"mac-sources\": [ \"any\" ],\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"option-data\": [ ],\n"
" },\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet6\": [\n"
" {\n"
" \"mac-sources\": [ \"any\" ],\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"option-data\": [ ],\n"
" },\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet6\": [\n"
" {\n"
" \"mac-sources\": [ \"any\" ],\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"option-data\": [ ],\n"
" },\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet6\": [\n"
" {\n"
" \"mac-sources\": [ \"any\" ],\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"option-data\": [ ],\n"
" },\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet6\": [\n"
" {\n"
" \"mac-sources\": [ \"any\" ],\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"option-data\": [ ],\n"
" },\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet6\": [\n"
" {\n"
" \"mac-sources\": [ \"any\" ],\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"option-data\": [ ],\n"
" },\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet6\": [\n"
" {\n"
" \"mac-sources\": [ \"client-link-addr-option\", \"remote-id\", \"subscriber-id\" ],\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"option-data\": [ ],\n"
" },\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet6\": [ ],\n"
" \"t1-percent\": 0.5,\n"
" \"mac-sources\": [ \"client-link-addr-option\", \"remote-id\", \"subscriber-id\" ],\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"option-data\": [ ],\n"
" },\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet6\": [ ],\n"
" \"t1-percent\": 0.5,\n"
" \"mac-sources\": [ \"any\" ],\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"option-data\": [ ],\n"
" },\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet6\": [\n"
" {\n"
" \"mac-sources\": [ \"any\" ],\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"option-data\": [ ],\n"
" },\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet6\": [\n"
" {\n"
" \"mac-sources\": [ \"any\" ],\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"option-data\": [ ],\n"
" },\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet6\": [ ],\n"
" \"t1-percent\": 0.5,\n"
" \"mac-sources\": [ \"any\" ],\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"option-data\": [ ],\n"
" },\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet6\": [ ],\n"
" \"t1-percent\": 0.5,\n"
" \"mac-sources\": [ \"any\" ],\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"option-data\": [ ],\n"
" },\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet6\": [ ],\n"
" \"t1-percent\": 0.5,\n"
" \"mac-sources\": [ \"any\" ],\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"option-data\": [ ],\n"
" },\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet6\": [ ],\n"
" \"t1-percent\": 0.5,\n"
" \"mac-sources\": [ \"any\" ],\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"option-data\": [ ],\n"
" },\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet6\": [ ],\n"
" \"t1-percent\": 0.5,\n"
" \"mac-sources\": [ \"any\" ],\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"option-data\": [ ],\n"
" },\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet6\": [\n"
" {\n"
" \"mac-sources\": [ \"any\" ],\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"option-data\": [ ],\n"
" },\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet6\": [\n"
" {\n"
" \"mac-sources\": [ \"any\" ],\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"option-data\": [ ],\n"
" },\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet6\": [\n"
" {\n"
" \"mac-sources\": [ \"any\" ],\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"option-data\": [ ],\n"
" },\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet6\": [\n"
" {\n"
" \"mac-sources\": [ \"any\" ],\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"option-data\": [ ],\n"
" },\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet6\": [\n"
" {\n"
" \"mac-sources\": [ \"any\" ],\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"option-data\": [ ],\n"
" },\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet6\": [\n"
" {\n"
" \"mac-sources\": [ \"any\" ],\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"option-data\": [ ],\n"
" },\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet6\": [\n"
" {\n"
" \"mac-sources\": [ \"any\" ],\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"option-data\": [ ],\n"
" },\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet6\": [\n"
" {\n"
" \"mac-sources\": [ \"any\" ],\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"option-data\": [ ],\n"
" },\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet6\": [ ],\n"
" \"t1-percent\": 0.5,\n"
" \"mac-sources\": [ \"any\" ],\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"option-data\": [\n"
" \"valid-lifetime\": 7200\n"
" }\n"
" ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet6\": [ ],\n"
" \"t1-percent\": 0.5,\n"
" \"mac-sources\": [ \"any\" ],\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 4,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"option-data\": [ ],\n"
" },\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet6\": [\n"
" {\n"
" \"mac-sources\": [ \"any\" ],\n"
" \"multi-threading\": {\n"
" \"enable-multi-threading\": false,\n"
-" \"packet-queue-size\": 0,\n"
+" \"packet-queue-size\": 64,\n"
" \"thread-pool-size\": 0\n"
" },\n"
" \"option-data\": [ ],\n"
" \"option-def\": [ ],\n"
+" \"preferred-lifetime\": 3000,\n"
+" \"rebind-timer\": 2000,\n"
+" \"relay-supplied-options\": [ \"65\" ],\n"
+" \"renew-timer\": 1000,\n"
+" \"reservation-mode\": \"all\",\n"
+" \"sanity-checks\": {\n"
+" \"lease-checks\": \"warn\"\n"
+" },\n"
+" \"server-id\": {\n"
+" \"enterprise-id\": 0,\n"
+" \"htype\": 0,\n"
+" \"identifier\": \"\",\n"
+" \"persist\": true,\n"
+" \"time\": 0,\n"
+" \"type\": \"LLT\"\n"
+" },\n"
+" \"server-tag\": \"\",\n"
+" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 5,\n"
+" \"statistic-default-sample-count\": 10,\n"
+" \"store-extended-info\": false,\n"
+" \"subnet6\": [ ],\n"
+" \"t1-percent\": 0.5,\n"
+" \"t2-percent\": 0.8,\n"
+" \"valid-lifetime\": 4000\n"
+" }\n",
+ // CONFIGURATION 61
+"{\n"
+" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
+" \"decline-probation-period\": 86400,\n"
+" \"dhcp-ddns\": {\n"
+" \"enable-updates\": false,\n"
+" \"max-queue-size\": 1024,\n"
+" \"ncr-format\": \"JSON\",\n"
+" \"ncr-protocol\": \"UDP\",\n"
+" \"sender-ip\": \"0.0.0.0\",\n"
+" \"sender-port\": 0,\n"
+" \"server-ip\": \"127.0.0.1\",\n"
+" \"server-port\": 53001\n"
+" },\n"
+" \"dhcp-queue-control\": {\n"
+" \"capacity\": 500,\n"
+" \"enable-queue\": false,\n"
+" \"queue-type\": \"kea-ring6\"\n"
+" },\n"
+" \"dhcp4o6-port\": 0,\n"
+" \"expired-leases-processing\": {\n"
+" \"flush-reclaimed-timer-wait-time\": 25,\n"
+" \"hold-reclaimed-time\": 3600,\n"
+" \"max-reclaim-leases\": 100,\n"
+" \"max-reclaim-time\": 250,\n"
+" \"reclaim-timer-wait-time\": 10,\n"
+" \"unwarned-reclaim-cycles\": 5\n"
+" },\n"
+" \"hooks-libraries\": [ ],\n"
+" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\" ],\n"
+" \"hostname-char-replacement\": \"\",\n"
+" \"hostname-char-set\": \"[^A-Za-z0-9.-]\",\n"
+" \"interfaces-config\": {\n"
+" \"interfaces\": [ \"*\" ],\n"
+" \"re-detect\": false\n"
+" },\n"
+" \"lease-database\": {\n"
+" \"type\": \"memfile\"\n"
+" },\n"
+" \"mac-sources\": [ \"any\" ],\n"
+" \"multi-threading\": {\n"
+" \"enable-multi-threading\": false,\n"
+" \"packet-queue-size\": 64,\n"
+" \"thread-pool-size\": 0\n"
+" },\n"
+" \"option-data\": [ ],\n"
+" \"option-def\": [ ],\n"
+" \"preferred-lifetime\": 3600,\n"
+" \"relay-supplied-options\": [ \"65\" ],\n"
+" \"reservation-mode\": \"all\",\n"
+" \"sanity-checks\": {\n"
+" \"lease-checks\": \"warn\"\n"
+" },\n"
+" \"server-id\": {\n"
+" \"enterprise-id\": 0,\n"
+" \"htype\": 0,\n"
+" \"identifier\": \"\",\n"
+" \"persist\": true,\n"
+" \"time\": 0,\n"
+" \"type\": \"LLT\"\n"
+" },\n"
+" \"server-tag\": \"\",\n"
+" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
+" \"store-extended-info\": false,\n"
+" \"subnet6\": [ ],\n"
+" \"t1-percent\": 0.5,\n"
+" \"t2-percent\": 0.8,\n"
+" \"valid-lifetime\": 7200\n"
+" }\n",
+ // CONFIGURATION 62
+"{\n"
+" \"calculate-tee-times\": true,\n"
+" \"ddns-generated-prefix\": \"myhost\",\n"
+" \"ddns-override-client-update\": false,\n"
+" \"ddns-override-no-update\": false,\n"
+" \"ddns-qualifying-suffix\": \"\",\n"
+" \"ddns-replace-client-name\": \"never\",\n"
+" \"ddns-send-updates\": true,\n"
+" \"decline-probation-period\": 86400,\n"
+" \"dhcp-ddns\": {\n"
+" \"enable-updates\": false,\n"
+" \"max-queue-size\": 1024,\n"
+" \"ncr-format\": \"JSON\",\n"
+" \"ncr-protocol\": \"UDP\",\n"
+" \"sender-ip\": \"0.0.0.0\",\n"
+" \"sender-port\": 0,\n"
+" \"server-ip\": \"127.0.0.1\",\n"
+" \"server-port\": 53001\n"
+" },\n"
+" \"dhcp-queue-control\": {\n"
+" \"capacity\": 500,\n"
+" \"enable-queue\": false,\n"
+" \"queue-type\": \"kea-ring6\"\n"
+" },\n"
+" \"dhcp4o6-port\": 0,\n"
+" \"expired-leases-processing\": {\n"
+" \"flush-reclaimed-timer-wait-time\": 25,\n"
+" \"hold-reclaimed-time\": 3600,\n"
+" \"max-reclaim-leases\": 100,\n"
+" \"max-reclaim-time\": 250,\n"
+" \"reclaim-timer-wait-time\": 10,\n"
+" \"unwarned-reclaim-cycles\": 5\n"
+" },\n"
+" \"hooks-libraries\": [ ],\n"
+" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\" ],\n"
+" \"hostname-char-replacement\": \"\",\n"
+" \"hostname-char-set\": \"[^A-Za-z0-9.-]\",\n"
+" \"interfaces-config\": {\n"
+" \"interfaces\": [ \"*\" ],\n"
+" \"re-detect\": false\n"
+" },\n"
+" \"lease-database\": {\n"
+" \"type\": \"memfile\"\n"
+" },\n"
+" \"mac-sources\": [ \"any\" ],\n"
+" \"multi-threading\": {\n"
+" \"enable-multi-threading\": true,\n"
+" \"packet-queue-size\": 1024,\n"
+" \"thread-pool-size\": 48\n"
+" },\n"
+" \"option-data\": [ ],\n"
+" \"option-def\": [ ],\n"
" \"preferred-lifetime\": 3600,\n"
" \"relay-supplied-options\": [ \"65\" ],\n"
" \"reservation-mode\": \"all\",\n"
" },\n"
" \"server-tag\": \"\",\n"
" \"shared-networks\": [ ],\n"
+" \"statistic-default-sample-age\": 0,\n"
+" \"statistic-default-sample-count\": 20,\n"
" \"store-extended-info\": false,\n"
" \"subnet6\": [ ],\n"
" \"t1-percent\": 0.5,\n"