/* %% [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 178
-#define YY_END_OF_BUFFER 179
+#define YY_NUM_RULES 180
+#define YY_END_OF_BUFFER 181
/* 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[1507] =
+static const flex_int16_t yy_accept[1532] =
{ 0,
- 171, 171, 0, 0, 0, 0, 0, 0, 0, 0,
- 179, 177, 10, 11, 177, 1, 171, 168, 171, 171,
- 177, 170, 169, 177, 177, 177, 177, 177, 164, 165,
- 177, 177, 177, 166, 167, 5, 5, 5, 177, 177,
- 177, 10, 11, 0, 0, 160, 0, 0, 0, 0,
+ 173, 173, 0, 0, 0, 0, 0, 0, 0, 0,
+ 181, 179, 10, 11, 179, 1, 173, 170, 173, 173,
+ 179, 172, 171, 179, 179, 179, 179, 179, 166, 167,
+ 179, 179, 179, 168, 169, 5, 5, 5, 179, 179,
+ 179, 10, 11, 0, 0, 162, 0, 0, 0, 0,
0, 0, 0, 0, 0, 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,
- 171, 171, 0, 170, 171, 3, 2, 6, 0, 171,
+ 173, 173, 0, 172, 173, 3, 2, 6, 0, 173,
0, 0, 0, 0, 0, 0, 4, 0, 0, 9,
- 0, 161, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 163, 0, 0, 0,
+ 0, 163, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 165, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 162, 0, 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, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 67, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 69, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 176, 174, 0, 173, 172, 0, 0,
+ 0, 0, 0, 178, 176, 0, 175, 174, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 140, 0,
- 139, 0, 0, 73, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 34, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 142, 0,
+ 141, 0, 0, 75, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 34, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 70, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 17, 0, 0, 0,
+ 0, 0, 0, 72, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 17, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 18, 0, 0, 0, 0, 175, 172, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 141, 0,
- 0, 143, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 74, 0, 0, 0, 0, 0, 0, 59, 0,
- 0, 0, 0, 0, 94, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 37, 0, 0, 0, 0,
+ 0, 0, 0, 18, 0, 0, 0, 0, 177, 174,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 58, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 62, 0, 38,
+ 143, 0, 0, 145, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 76, 0, 0, 0, 0, 0, 0,
+ 0, 61, 0, 0, 0, 0, 0, 96, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 37, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 60, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 64, 0, 38, 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, 30, 0,
- 0, 35, 0, 0, 0, 0, 0, 0, 0, 0,
- 12, 148, 0, 145, 0, 144, 0, 0, 0, 104,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 93, 30, 0, 0, 35, 0, 0, 0, 0,
+ 0, 0, 0, 0, 12, 150, 0, 147, 0, 146,
+ 0, 0, 0, 106, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 84, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 86, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 32, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 61,
-
- 0, 0, 0, 0, 0, 0, 0, 0, 105, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 100, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 7, 0, 0, 146, 0, 0, 0, 0, 0,
+ 0, 32, 0, 0, 0, 0, 0, 0, 0, 0,
+
+ 0, 0, 0, 0, 63, 0, 0, 0, 0, 0,
+ 0, 0, 0, 107, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 102, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 7, 0, 0,
+ 148, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 72, 0, 0, 0,
+ 0, 0, 0, 74, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 86, 0, 0, 0, 0,
- 0, 0, 0, 0, 82, 0, 0, 0, 0, 0,
+ 0, 0, 88, 0, 0, 0, 0, 0, 0, 0,
+ 0, 84, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 67, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 65, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 79, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 64, 0, 0, 0, 0, 0,
+ 0, 0, 81, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 66, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 110, 80, 0,
- 0, 0, 0, 85, 31, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 39, 0, 0, 0,
+ 0, 100, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 112, 82, 0, 0,
+ 0, 0, 87, 31, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 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, 54, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 149, 0, 0, 0, 0, 0,
+ 0, 0, 56, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 151, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 69, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 99, 0, 0, 0,
- 0, 0, 42, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 71, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 101, 0, 0,
+ 0, 0, 0, 42, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 36, 0, 0, 0, 29, 0, 0, 0, 0,
+ 0, 0, 36, 0, 0, 0, 29, 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, 89, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 96, 0, 0, 0,
- 0, 0, 0, 0, 0, 123, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 98, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 125, 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, 68, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 23, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 128, 0, 0,
-
- 126, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 153, 0, 0, 0, 0,
- 0, 0, 0, 97, 0, 0, 0, 0, 0, 0,
- 101, 83, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 95, 22, 0,
- 106, 0, 0, 0, 0, 0, 0, 0, 0, 132,
- 0, 0, 0, 0, 56, 0, 0, 0, 0, 0,
- 109, 33, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 53, 0, 0,
- 0, 77, 78, 0, 0, 0, 0, 0, 0, 0,
-
- 0, 0, 0, 60, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 103,
+ 0, 0, 0, 0, 0, 0, 0, 0, 23, 0,
+
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 157, 0,
- 57, 71, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 50, 0, 0, 0, 0, 0, 0, 0, 129,
- 0, 127, 0, 121, 120, 0, 46, 0, 21, 0,
- 0, 0, 0, 0, 142, 0, 0, 0, 90, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 118, 0,
+ 130, 0, 0, 0, 128, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 155,
+ 0, 0, 0, 0, 0, 0, 0, 99, 0, 0,
+ 0, 0, 0, 0, 0, 103, 85, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 97, 22, 0, 108, 0, 0, 0, 0,
+ 0, 0, 0, 0, 134, 0, 0, 0, 0, 58,
+ 0, 0, 0, 0, 0, 111, 33, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 107, 15, 0, 40, 0, 0, 0, 0, 0, 131,
- 0, 0, 0, 0, 0, 0, 51, 0, 0, 102,
- 0, 0, 0, 0, 93, 0, 0, 0, 0, 0,
- 0, 63, 0, 151, 0, 150, 0, 156, 0, 0,
+ 0, 0, 0, 55, 0, 0, 0, 79, 80, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 62,
+ 0, 0, 0, 0, 0, 0, 0, 43, 0, 0,
+ 0, 0, 0, 0, 0, 0, 105, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 159, 0, 59, 73, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 52, 0,
+ 0, 0, 0, 0, 0, 0, 131, 0, 0, 129,
+ 0, 123, 122, 0, 48, 0, 21, 0, 0, 0,
+ 0, 0, 144, 0, 0, 0, 92, 0, 0, 0,
+
+ 0, 0, 0, 0, 0, 0, 120, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 109, 15,
+ 0, 40, 0, 0, 0, 0, 0, 133, 0, 0,
+ 0, 0, 0, 0, 53, 0, 0, 104, 0, 0,
+ 0, 0, 95, 0, 0, 0, 0, 0, 0, 0,
+ 65, 0, 153, 0, 152, 0, 158, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 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, 45, 0, 0, 0, 0, 159, 0, 88,
- 27, 0, 0, 47, 119, 0, 0, 0, 154, 124,
+ 0, 0, 0, 0, 0, 0, 0, 0, 14, 0,
+ 0, 0, 47, 0, 0, 0, 0, 161, 0, 90,
+ 27, 0, 0, 49, 121, 0, 0, 0, 156, 126,
0, 0, 0, 0, 0, 0, 0, 0, 25, 0,
- 0, 24, 0, 130, 0, 0, 0, 0, 0, 81,
+ 0, 24, 0, 132, 0, 0, 0, 0, 0, 83,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 51, 0, 0, 0, 0, 41,
+ 0, 0, 0, 0, 0, 0, 0, 110, 0, 0,
+ 0, 26, 0, 157, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 46, 0, 0, 20, 0,
+ 160, 57, 0, 154, 149, 0, 28, 0, 0, 16,
+
+ 0, 0, 138, 0, 0, 0, 0, 0, 0, 118,
+ 0, 94, 0, 0, 0, 0, 0, 0, 0, 0,
+ 70, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 139, 13, 0, 0, 0, 0, 0, 127, 0,
+ 0, 0, 0, 0, 0, 0, 0, 124, 0, 0,
+ 0, 0, 0, 117, 0, 19, 0, 135, 0, 0,
+ 0, 0, 44, 0, 78, 0, 0, 0, 116, 0,
+ 0, 50, 0, 0, 45, 137, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 49, 0, 0, 0, 0, 41, 0,
- 0, 0, 0, 0, 0, 0, 108, 0, 0, 0,
- 26, 0, 155, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 44, 0, 0, 20, 158, 55,
- 0, 152, 147, 0, 28, 0, 0, 16, 0, 0,
- 136, 0, 0, 0, 0, 0, 0, 116, 0, 92,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 0,
-
- 0, 0, 0, 0, 0, 0, 0, 0, 137, 13,
- 0, 0, 0, 0, 0, 125, 0, 0, 0, 0,
- 0, 0, 0, 122, 0, 0, 0, 0, 0, 115,
- 0, 19, 0, 133, 0, 0, 0, 0, 0, 76,
- 0, 0, 0, 114, 0, 0, 48, 0, 0, 43,
- 135, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 134, 0, 89, 0,
- 0, 0, 0, 0, 0, 112, 117, 52, 0, 0,
- 0, 0, 111, 0, 0, 138, 0, 0, 0, 0,
- 0, 75, 0, 0, 113, 0
+ 0, 136, 0, 91, 0, 0, 0, 0, 0, 0,
+ 114, 119, 54, 0, 0, 0, 0, 113, 0, 0,
+ 140, 0, 0, 0, 0, 0, 77, 0, 0, 115,
+ 0
} ;
static const YY_CHAR yy_ec[256] =
3, 3, 3
} ;
-static const flex_int16_t yy_base[1519] =
+static const flex_int16_t yy_base[1544] =
{ 0,
0, 72, 21, 31, 43, 51, 54, 60, 91, 99,
- 1907, 1908, 34, 1903, 145, 0, 207, 1908, 214, 221,
- 13, 228, 1908, 1883, 118, 25, 2, 6, 1908, 1908,
- 73, 11, 17, 1908, 1908, 1908, 104, 1891, 1844, 0,
- 1881, 108, 1898, 24, 262, 1908, 1840, 67, 1839, 1845,
- 84, 75, 1837, 88, 226, 91, 89, 290, 196, 1836,
- 206, 285, 206, 210, 219, 60, 223, 1845, 247, 290,
- 315, 303, 231, 1828, 297, 321, 343, 324, 1847, 0,
- 380, 387, 401, 408, 424, 1908, 0, 1908, 429, 438,
- 216, 249, 220, 315, 335, 266, 1908, 1844, 1885, 1908,
-
- 342, 1908, 421, 1872, 312, 1830, 1840, 400, 10, 1835,
- 361, 323, 370, 387, 359, 1880, 0, 474, 392, 1822,
- 1819, 1823, 1825, 1818, 1826, 412, 1822, 1811, 1812, 78,
- 1828, 1811, 1820, 1820, 95, 1811, 400, 1812, 1810, 405,
- 1858, 1862, 1802, 1855, 1795, 1818, 1815, 1815, 1809, 310,
- 1802, 1795, 1800, 1794, 436, 1805, 1798, 1789, 1788, 1802,
- 186, 1788, 413, 1804, 1781, 470, 286, 400, 1802, 1799,
- 1800, 1798, 1833, 1832, 445, 1778, 1780, 448, 1772, 1789,
- 1781, 0, 447, 447, 458, 471, 462, 483, 1780, 1908,
- 0, 1825, 490, 1770, 1773, 476, 482, 1781, 488, 1826,
-
- 499, 1825, 496, 1824, 1908, 542, 1823, 507, 1782, 1774,
- 1761, 1777, 1776, 1773, 1772, 1763, 486, 1814, 1808, 1772,
- 1751, 1759, 1754, 1768, 1764, 1752, 1764, 1764, 1755, 1739,
- 1743, 1756, 1758, 1755, 1747, 1737, 1755, 1908, 1750, 1753,
- 1734, 1733, 1785, 1732, 1742, 1745, 483, 1741, 1729, 1740,
- 1778, 1723, 1781, 1716, 1731, 533, 1721, 1737, 1718, 1717,
- 1723, 1714, 1713, 1720, 1770, 1726, 1725, 1719, 482, 1726,
- 1721, 1713, 1703, 1718, 1717, 1712, 1716, 1697, 1713, 1699,
- 1705, 1712, 1700, 1697, 1696, 537, 1691, 1705, 1748, 1707,
- 366, 1698, 525, 1908, 1908, 527, 1908, 1908, 1685, 0,
-
- 241, 530, 1687, 546, 534, 1743, 1694, 511, 1908, 1741,
- 1908, 1735, 587, 1908, 537, 1675, 1684, 1732, 1676, 1675,
- 1681, 1733, 1688, 1683, 1686, 516, 1908, 1684, 1728, 1681,
- 1678, 565, 1684, 1724, 1718, 1671, 1666, 1663, 1714, 1671,
- 1660, 1676, 1710, 1656, 610, 1670, 1655, 1668, 1655, 1665,
- 1660, 1667, 1662, 1658, 327, 1656, 1659, 1654, 1650, 1700,
- 522, 1694, 1908, 1693, 1643, 1642, 1641, 1634, 1636, 1640,
- 1629, 1642, 575, 1689, 1642, 1639, 1908, 1642, 1631, 1631,
- 1643, 536, 1618, 1619, 1640, 568, 1622, 1673, 1618, 1632,
- 1631, 1617, 1629, 1628, 1627, 1626, 1625, 1624, 550, 1667,
-
- 1666, 1908, 1608, 1607, 613, 1620, 1908, 1908, 1619, 0,
- 1608, 1600, 561, 1605, 1658, 1657, 1613, 1655, 1908, 1601,
- 1653, 1908, 594, 661, 581, 1652, 1594, 1605, 1598, 1600,
- 1588, 1908, 1593, 1599, 1602, 1601, 1588, 1587, 1908, 1589,
- 1586, 578, 1584, 1586, 1908, 1594, 1591, 1576, 1589, 1584,
- 635, 1591, 1579, 1572, 1623, 1908, 1570, 1586, 1620, 1581,
- 1578, 1579, 1581, 1615, 1566, 1561, 1560, 1611, 1555, 1570,
- 1548, 1555, 1560, 1610, 1908, 1555, 1551, 1549, 1558, 1552,
- 1559, 1543, 1543, 1553, 1556, 1545, 1540, 1908, 1597, 1908,
- 1539, 1550, 1535, 1540, 1549, 1543, 1537, 1546, 1588, 1582,
-
- 1544, 1527, 1527, 1522, 1542, 1517, 1523, 1522, 1530, 1534,
- 1517, 1575, 1515, 1516, 1515, 1527, 1516, 1908, 1908, 1516,
- 1514, 1908, 1525, 1561, 1521, 0, 1505, 1522, 1562, 1510,
- 1908, 1908, 1507, 1908, 1513, 1908, 563, 585, 638, 1908,
- 1510, 1509, 1516, 1496, 1549, 1494, 1547, 1492, 1491, 1498,
- 1491, 1503, 1502, 1502, 1484, 1489, 1530, 1497, 1489, 1534,
- 1478, 1494, 1493, 1908, 1478, 1475, 1533, 1488, 1480, 1486,
- 1477, 1485, 1470, 1486, 1468, 1482, 447, 1464, 1458, 1463,
- 1478, 1475, 1476, 1473, 1516, 1471, 1908, 1457, 1459, 1468,
- 1466, 1505, 1504, 1455, 16, 1464, 1447, 1448, 1445, 1908,
-
- 1459, 1438, 1457, 1449, 1494, 1446, 1453, 1491, 1908, 1436,
- 1450, 1434, 1448, 1451, 1432, 1484, 1483, 1482, 1427, 1480,
- 1479, 1908, 581, 1441, 1440, 1437, 1437, 1435, 1418, 1423,
- 1425, 1908, 1431, 1421, 1908, 1468, 1414, 1471, 592, 558,
- 1412, 1410, 1417, 1408, 1461, 602, 1465, 582, 1459, 1458,
- 1457, 1409, 1399, 1454, 1405, 1413, 1414, 1450, 1411, 1405,
- 1392, 1400, 1445, 1449, 1404, 1403, 1908, 1404, 1397, 1386,
- 1399, 1402, 1397, 1398, 1395, 1394, 1390, 1396, 1391, 1434,
- 1433, 1381, 1371, 594, 1430, 1908, 1429, 1376, 1368, 1369,
- 1420, 1381, 1368, 1379, 1908, 1367, 1376, 1375, 1375, 1417,
-
- 1358, 1367, 1372, 1349, 1353, 1406, 1368, 1350, 1360, 1402,
- 1401, 1400, 1345, 1398, 172, 598, 607, 213, 275, 599,
- 1908, 370, 361, 383, 525, 582, 594, 582, 603, 609,
- 602, 616, 621, 664, 1908, 660, 637, 630, 635, 632,
- 633, 636, 634, 643, 1908, 633, 648, 630, 635, 633,
- 652, 649, 639, 638, 637, 648, 644, 700, 663, 653,
- 669, 659, 1908, 669, 669, 662, 673, 671, 716, 658,
- 660, 675, 662, 722, 679, 665, 668, 1908, 1908, 678,
- 683, 688, 676, 1908, 1908, 690, 677, 671, 676, 694,
- 681, 731, 682, 734, 683, 741, 1908, 686, 690, 685,
-
- 745, 698, 688, 689, 685, 698, 709, 693, 711, 706,
- 707, 709, 702, 704, 705, 705, 707, 722, 763, 720,
- 725, 702, 1908, 714, 715, 729, 719, 766, 724, 714,
- 729, 730, 717, 731, 1908, 750, 758, 727, 722, 777,
- 778, 741, 745, 786, 734, 729, 741, 736, 737, 733,
- 742, 737, 795, 752, 753, 744, 1908, 746, 757, 742,
- 759, 753, 801, 767, 751, 752, 1908, 768, 771, 754,
- 813, 756, 1908, 773, 776, 756, 774, 814, 772, 768,
- 763, 781, 780, 781, 767, 782, 774, 781, 771, 789,
- 774, 1908, 782, 788, 835, 1908, 784, 789, 833, 784,
-
- 796, 790, 795, 793, 791, 793, 803, 848, 792, 792,
- 851, 795, 807, 1908, 795, 803, 801, 798, 799, 808,
- 820, 804, 809, 819, 820, 825, 866, 823, 839, 844,
- 826, 824, 820, 815, 875, 818, 1908, 818, 838, 827,
- 832, 839, 882, 883, 830, 1908, 880, 827, 830, 829,
- 849, 846, 851, 852, 838, 846, 855, 837, 852, 859,
- 901, 1908, 902, 903, 854, 864, 866, 855, 851, 858,
- 867, 912, 859, 857, 859, 876, 917, 867, 866, 872,
- 870, 868, 923, 924, 920, 1908, 882, 875, 866, 885,
- 873, 883, 880, 885, 881, 894, 894, 1908, 878, 879,
-
- 1908, 880, 940, 879, 898, 899, 944, 945, 898, 884,
- 905, 904, 888, 893, 911, 1908, 901, 934, 925, 957,
- 897, 919, 916, 1908, 903, 905, 922, 920, 912, 916,
- 1908, 1908, 926, 926, 964, 911, 966, 913, 973, 916,
- 927, 919, 925, 922, 940, 941, 942, 1908, 1908, 941,
- 1908, 927, 928, 947, 937, 930, 942, 986, 950, 1908,
- 942, 994, 935, 996, 1908, 997, 939, 945, 952, 996,
- 1908, 1908, 944, 946, 960, 965, 948, 1007, 964, 965,
- 966, 1006, 958, 963, 1014, 962, 1016, 1908, 963, 1018,
- 1019, 1908, 1908, 959, 1021, 980, 1023, 965, 977, 982,
-
- 968, 998, 1029, 1908, 986, 979, 988, 1033, 980, 995,
- 982, 978, 994, 999, 986, 982, 1042, 995, 1000, 1908,
- 1001, 994, 1003, 1004, 1001, 991, 994, 994, 999, 1054,
- 1055, 999, 1058, 1054, 995, 1010, 1003, 1063, 1908, 1017,
- 1908, 1908, 1022, 1014, 1024, 1010, 1011, 1072, 1016, 1026,
- 1075, 1908, 1023, 1024, 1026, 1028, 1081, 1022, 1025, 1908,
- 1044, 1908, 1028, 1908, 1908, 1042, 1908, 1036, 1908, 1088,
- 1037, 1090, 1091, 1071, 1908, 1093, 1050, 1091, 1908, 1039,
- 1047, 1041, 1040, 1043, 1043, 1044, 1051, 1041, 1908, 1063,
- 1049, 1050, 1065, 1065, 1068, 1068, 1065, 1109, 1072, 1064,
-
- 1908, 1908, 1074, 1908, 1071, 1076, 1077, 1074, 1118, 1908,
- 1067, 1068, 1068, 1074, 1073, 1084, 1908, 1125, 1072, 1908,
- 1073, 1073, 1075, 1081, 1908, 1083, 1137, 1086, 1089, 1140,
- 1101, 1908, 1098, 1908, 1095, 1908, 1118, 1908, 1145, 1087,
- 1147, 1148, 1105, 1091, 1151, 1152, 1105, 1095, 1100, 1156,
- 1157, 1153, 1116, 1112, 1156, 1104, 1109, 1107, 1166, 1122,
- 1168, 1126, 1170, 1132, 1121, 1115, 1131, 1131, 1177, 1119,
- 1136, 1135, 1119, 1177, 1178, 1125, 1180, 1143, 1144, 1908,
- 1144, 1131, 1908, 1142, 1191, 1149, 1162, 1908, 1146, 1908,
- 1908, 1137, 1196, 1908, 1908, 1143, 1141, 1155, 1908, 1908,
-
- 1145, 1196, 1139, 1144, 1204, 1152, 1162, 1163, 1908, 1208,
- 1161, 1908, 1210, 1908, 1153, 1168, 1156, 1171, 1175, 1908,
- 1211, 1177, 1170, 1179, 1161, 1169, 1223, 1183, 1182, 1227,
- 1228, 1229, 1178, 1908, 1231, 1232, 1181, 1234, 1908, 1182,
- 1182, 1237, 1181, 1180, 1240, 1193, 1908, 1237, 1188, 1185,
- 1908, 1199, 1908, 1202, 1247, 1200, 1249, 1208, 1191, 1193,
- 1190, 1206, 1207, 1216, 1908, 1206, 1258, 1908, 1908, 1908,
- 1254, 1908, 1908, 1216, 1908, 1256, 1211, 1908, 1209, 1216,
- 1908, 1213, 1218, 1216, 1268, 1269, 1212, 1908, 1227, 1908,
- 1228, 1218, 1230, 1275, 1217, 1225, 1226, 1239, 1908, 1238,
-
- 1223, 1227, 1283, 1242, 1233, 1242, 1244, 1248, 1908, 1908,
- 1289, 1232, 1291, 1249, 1293, 1908, 1289, 1251, 1252, 1239,
- 1234, 1299, 1256, 1908, 1257, 1258, 1303, 1260, 1263, 1908,
- 1306, 1908, 1267, 1908, 1249, 1309, 1310, 1253, 1270, 1908,
- 1256, 1256, 1258, 1908, 1263, 1273, 1908, 1259, 1271, 1908,
- 1908, 1276, 1270, 1274, 1265, 1319, 1266, 1274, 1283, 1276,
- 1271, 1286, 1277, 1284, 1271, 1286, 1291, 1336, 1293, 1338,
- 1281, 1297, 1288, 1302, 1298, 1291, 1908, 1345, 1908, 1346,
- 1347, 1302, 1301, 1302, 1292, 1908, 1908, 1908, 1352, 1294,
- 1310, 1355, 1908, 1351, 1300, 1908, 1299, 1301, 1312, 1361,
-
- 1310, 1908, 1319, 1364, 1908, 1908, 1370, 1375, 1380, 1385,
- 1390, 1395, 1400, 1403, 1377, 1382, 1384, 1397
+ 1932, 1933, 34, 1928, 145, 0, 207, 1933, 214, 221,
+ 13, 228, 1933, 1908, 118, 25, 2, 6, 1933, 1933,
+ 73, 11, 17, 1933, 1933, 1933, 104, 1916, 1869, 0,
+ 1906, 108, 1923, 24, 262, 1933, 1865, 67, 1864, 1870,
+ 84, 75, 1862, 88, 226, 91, 89, 290, 196, 1861,
+ 206, 285, 206, 210, 219, 60, 223, 1870, 247, 290,
+ 315, 303, 231, 1853, 297, 321, 343, 324, 1872, 0,
+ 380, 387, 401, 408, 424, 1933, 0, 1933, 429, 438,
+ 216, 249, 220, 315, 335, 266, 1933, 1869, 1910, 1933,
+
+ 342, 1933, 421, 1897, 312, 1855, 1865, 400, 10, 1860,
+ 361, 323, 370, 387, 359, 1905, 0, 474, 392, 1847,
+ 1844, 1848, 1850, 1843, 1851, 412, 1847, 1836, 1837, 78,
+ 1853, 1836, 1845, 1845, 95, 1836, 400, 1837, 1835, 405,
+ 1883, 1887, 1827, 1880, 1820, 1843, 1840, 1840, 1834, 310,
+ 1827, 1820, 1825, 1819, 436, 1830, 1823, 1814, 1813, 1827,
+ 186, 1813, 413, 1829, 1806, 470, 286, 400, 1827, 1824,
+ 1825, 1823, 1858, 1857, 445, 1803, 1805, 448, 1797, 1814,
+ 1806, 0, 447, 447, 458, 471, 462, 483, 1805, 1933,
+ 0, 1850, 490, 1795, 1798, 476, 482, 1806, 488, 1851,
+
+ 499, 1850, 496, 1849, 1933, 542, 1848, 507, 1807, 1799,
+ 1786, 1802, 1801, 1798, 1797, 1788, 486, 1839, 1833, 1797,
+ 1776, 1784, 1779, 1793, 1789, 1777, 1789, 1789, 1780, 1764,
+ 1768, 1781, 1783, 1780, 1772, 1762, 1780, 1933, 1775, 1778,
+ 1759, 1758, 1810, 1757, 1767, 1770, 531, 1766, 1754, 1765,
+ 1803, 1748, 1806, 1741, 1756, 533, 1746, 1762, 1743, 1742,
+ 1748, 1739, 1738, 1745, 1795, 1751, 1750, 1744, 486, 1751,
+ 1746, 1738, 1728, 1743, 1742, 1737, 1741, 322, 1739, 1725,
+ 1731, 1738, 1726, 1723, 1722, 541, 1717, 1731, 1774, 1733,
+ 366, 1724, 512, 1933, 1933, 521, 1933, 1933, 1711, 0,
+
+ 241, 513, 1713, 546, 534, 1769, 1720, 538, 1933, 1767,
+ 1933, 1761, 588, 1933, 537, 1701, 1710, 1758, 1702, 1701,
+ 1707, 1759, 1714, 1709, 1712, 1707, 533, 1933, 1709, 1753,
+ 1706, 1703, 564, 1709, 1749, 1743, 1696, 1691, 1688, 1739,
+ 1696, 1685, 1701, 1735, 1681, 611, 1695, 1680, 1693, 1680,
+ 1690, 1685, 1692, 1687, 1683, 432, 1681, 1684, 1679, 1675,
+ 1725, 525, 1719, 1933, 1718, 1668, 1667, 1666, 1659, 1661,
+ 1665, 1654, 1667, 568, 1714, 1667, 1664, 1933, 1667, 1656,
+ 1656, 1668, 560, 1643, 1644, 1665, 570, 1647, 1698, 1643,
+ 1657, 1660, 1655, 1641, 1653, 1652, 1651, 1650, 1649, 1648,
+
+ 526, 1691, 1690, 1933, 1632, 1631, 615, 1644, 1933, 1933,
+ 1643, 0, 1632, 1624, 561, 1629, 1682, 1681, 1637, 1679,
+ 1933, 1625, 1677, 1933, 595, 662, 564, 1676, 1618, 1629,
+ 1622, 1624, 1612, 1933, 1617, 1623, 1626, 1609, 1624, 1611,
+ 1610, 1933, 1612, 1609, 569, 1607, 1609, 1933, 1617, 1614,
+ 1599, 1612, 1607, 634, 1614, 1602, 1595, 1646, 1933, 1593,
+ 1609, 1643, 1604, 1601, 1602, 1604, 1638, 1589, 1584, 1583,
+ 1634, 1578, 1593, 1571, 1578, 1583, 1633, 1933, 1578, 1574,
+ 1572, 1581, 1575, 1582, 1566, 1566, 1576, 1579, 1568, 1563,
+ 1933, 1620, 1933, 1562, 1573, 1558, 1563, 1572, 1566, 1560,
+
+ 1569, 1611, 1605, 1567, 1550, 1550, 1545, 1565, 1540, 1546,
+ 1551, 1544, 1552, 1556, 1539, 1597, 1537, 1538, 1537, 1549,
+ 1538, 1933, 1933, 1538, 1536, 1933, 1547, 1583, 1543, 0,
+ 1527, 1544, 1584, 1532, 1933, 1933, 1529, 1933, 1535, 1933,
+ 597, 606, 636, 1933, 1532, 1531, 1538, 1518, 1571, 1516,
+ 1569, 1514, 1513, 1512, 1519, 1512, 1524, 1523, 1523, 1505,
+ 1510, 1551, 1518, 1510, 1555, 1499, 1515, 1514, 1933, 1499,
+ 1496, 1554, 1509, 1501, 1507, 1498, 1506, 1491, 1507, 1489,
+ 1503, 560, 1485, 1479, 1484, 1499, 1496, 1497, 1494, 1537,
+ 1492, 1933, 1478, 1480, 1489, 1487, 1526, 1525, 1476, 16,
+
+ 1485, 1468, 1469, 1466, 1933, 1480, 1459, 1478, 1470, 1515,
+ 1467, 1474, 1512, 1933, 1457, 1471, 1455, 1469, 1472, 1453,
+ 1505, 1504, 1503, 1502, 1447, 1500, 1499, 1933, 593, 1461,
+ 1460, 1457, 1457, 1455, 1438, 1443, 1445, 1933, 1451, 1441,
+ 1933, 1488, 1434, 1491, 606, 617, 1432, 1430, 1437, 1428,
+ 1481, 598, 1485, 600, 1479, 1439, 1477, 1476, 1428, 1418,
+ 1473, 1424, 1432, 1433, 1469, 1430, 1424, 1411, 1419, 1464,
+ 1468, 1423, 1422, 1933, 1423, 1416, 1405, 1418, 1421, 1416,
+ 1417, 1414, 1413, 1409, 1415, 1410, 1453, 1452, 1400, 1390,
+ 593, 1449, 1933, 1448, 1395, 1387, 1388, 1439, 1400, 1387,
+
+ 1398, 1933, 1386, 1395, 1394, 1394, 1436, 1377, 1386, 1391,
+ 1368, 1372, 1425, 1387, 1369, 166, 272, 323, 379, 346,
+ 422, 448, 597, 529, 607, 517, 596, 600, 1933, 656,
+ 613, 614, 605, 623, 625, 616, 623, 629, 621, 641,
+ 646, 687, 1933, 683, 659, 646, 651, 648, 649, 646,
+ 644, 653, 1933, 643, 658, 640, 647, 646, 650, 669,
+ 666, 656, 654, 653, 664, 660, 716, 674, 664, 680,
+ 670, 1933, 680, 680, 673, 684, 682, 727, 669, 671,
+ 686, 673, 733, 690, 676, 679, 1933, 1933, 689, 694,
+ 699, 687, 1933, 1933, 701, 688, 682, 687, 705, 692,
+
+ 742, 693, 745, 694, 752, 1933, 697, 701, 696, 756,
+ 709, 699, 700, 696, 709, 720, 704, 722, 717, 718,
+ 720, 713, 715, 716, 717, 717, 719, 734, 775, 732,
+ 737, 714, 1933, 726, 727, 741, 731, 778, 736, 726,
+ 741, 742, 729, 743, 1933, 762, 770, 739, 734, 789,
+ 790, 753, 757, 798, 746, 741, 753, 760, 749, 750,
+ 746, 755, 750, 808, 765, 766, 757, 1933, 759, 770,
+ 756, 772, 767, 814, 780, 764, 765, 1933, 781, 784,
+ 767, 826, 769, 1933, 786, 789, 769, 787, 827, 785,
+ 781, 776, 794, 793, 794, 780, 795, 787, 794, 784,
+
+ 802, 787, 1933, 795, 801, 848, 1933, 797, 802, 846,
+ 797, 809, 803, 808, 806, 804, 806, 816, 861, 805,
+ 810, 806, 865, 809, 821, 1933, 809, 817, 815, 812,
+ 813, 822, 834, 818, 823, 833, 834, 839, 880, 837,
+ 853, 859, 840, 838, 834, 829, 889, 832, 1933, 832,
+ 852, 841, 830, 847, 854, 897, 898, 845, 1933, 895,
+ 842, 845, 844, 864, 861, 866, 867, 853, 861, 871,
+ 852, 867, 874, 916, 1933, 917, 918, 869, 879, 881,
+ 870, 866, 873, 882, 927, 874, 872, 874, 891, 932,
+ 882, 881, 887, 885, 883, 938, 939, 935, 1933, 897,
+
+ 890, 881, 900, 888, 898, 895, 900, 896, 909, 909,
+ 1933, 893, 895, 895, 1933, 896, 956, 895, 914, 915,
+ 960, 961, 915, 900, 921, 920, 904, 909, 927, 1933,
+ 917, 950, 941, 973, 913, 935, 932, 1933, 919, 921,
+ 938, 936, 981, 929, 933, 1933, 1933, 943, 943, 981,
+ 928, 983, 930, 990, 933, 944, 936, 943, 939, 957,
+ 958, 959, 1933, 1933, 959, 1933, 944, 945, 964, 954,
+ 947, 959, 1003, 967, 1933, 959, 1011, 952, 1013, 1933,
+ 1014, 956, 962, 969, 1013, 1933, 1933, 961, 963, 977,
+ 982, 965, 1024, 981, 982, 983, 1023, 975, 980, 1031,
+
+ 984, 980, 1034, 1933, 981, 1036, 1037, 1933, 1933, 977,
+ 1039, 998, 1041, 983, 995, 1000, 986, 1016, 1047, 1933,
+ 1004, 997, 1006, 1051, 998, 1013, 1000, 1933, 996, 1012,
+ 1017, 1004, 1000, 1060, 1013, 1018, 1933, 1019, 1012, 1021,
+ 1022, 1019, 1009, 1012, 1012, 1017, 1072, 1073, 1017, 1076,
+ 1072, 1013, 1028, 1021, 1082, 1933, 1035, 1933, 1933, 1040,
+ 1032, 1042, 1028, 1029, 1090, 1034, 1044, 1093, 1933, 1041,
+ 1042, 1044, 1046, 1099, 1040, 1043, 1933, 1044, 1063, 1933,
+ 1047, 1933, 1933, 1061, 1933, 1055, 1933, 1107, 1056, 1109,
+ 1110, 1090, 1933, 1112, 1069, 1110, 1933, 1058, 1066, 1060,
+
+ 1059, 1062, 1062, 1063, 1070, 1060, 1933, 1082, 1068, 1069,
+ 1084, 1084, 1087, 1087, 1084, 1128, 1091, 1083, 1933, 1933,
+ 1093, 1933, 1090, 1095, 1096, 1093, 1137, 1933, 1086, 1087,
+ 1087, 1093, 1092, 1103, 1933, 1144, 1091, 1933, 1092, 1092,
+ 1094, 1100, 1933, 1102, 1156, 1098, 1106, 1109, 1160, 1121,
+ 1933, 1118, 1933, 1115, 1933, 1138, 1933, 1165, 1107, 1167,
+ 1168, 1125, 1111, 1171, 1172, 1125, 1115, 1120, 1176, 1177,
+ 1173, 1136, 1132, 1176, 1124, 1129, 1127, 1186, 1142, 1188,
+ 1146, 1190, 1152, 1141, 1135, 1151, 1151, 1197, 1139, 1156,
+ 1155, 1139, 1197, 1198, 1145, 1200, 1163, 1164, 1933, 1164,
+
+ 1165, 1152, 1933, 1163, 1212, 1170, 1183, 1933, 1167, 1933,
+ 1933, 1158, 1217, 1933, 1933, 1164, 1162, 1176, 1933, 1933,
+ 1166, 1217, 1160, 1165, 1225, 1173, 1183, 1184, 1933, 1229,
+ 1182, 1933, 1231, 1933, 1174, 1189, 1177, 1192, 1196, 1933,
+ 1232, 1198, 1191, 1200, 1182, 1190, 1245, 1204, 1203, 1248,
+ 1196, 1250, 1251, 1200, 1933, 1253, 1254, 1203, 1256, 1933,
+ 1204, 1204, 1259, 1203, 1202, 1262, 1215, 1933, 1259, 1210,
+ 1207, 1933, 1221, 1933, 1224, 1269, 1222, 1271, 1230, 1213,
+ 1215, 1212, 1228, 1229, 1238, 1933, 1228, 1280, 1933, 1239,
+ 1933, 1933, 1277, 1933, 1933, 1239, 1933, 1279, 1234, 1933,
+
+ 1232, 1239, 1933, 1236, 1241, 1239, 1291, 1292, 1235, 1933,
+ 1250, 1933, 1251, 1241, 1253, 1298, 1240, 1248, 1249, 1262,
+ 1933, 1239, 1262, 1247, 1251, 1307, 1266, 1257, 1266, 1268,
+ 1272, 1933, 1933, 1313, 1256, 1315, 1273, 1317, 1933, 1313,
+ 1275, 1276, 1263, 1322, 1259, 1324, 1281, 1933, 1282, 1283,
+ 1328, 1285, 1288, 1933, 1331, 1933, 1292, 1933, 1274, 1334,
+ 1335, 1278, 1933, 1295, 1933, 1281, 1281, 1283, 1933, 1288,
+ 1298, 1933, 1284, 1296, 1933, 1933, 1301, 1295, 1299, 1290,
+ 1344, 1291, 1299, 1308, 1301, 1296, 1311, 1302, 1309, 1296,
+ 1311, 1316, 1361, 1318, 1363, 1306, 1322, 1313, 1327, 1323,
+
+ 1316, 1933, 1370, 1933, 1371, 1372, 1327, 1326, 1327, 1317,
+ 1933, 1933, 1933, 1377, 1319, 1335, 1380, 1933, 1376, 1325,
+ 1933, 1324, 1326, 1337, 1386, 1335, 1933, 1344, 1389, 1933,
+ 1933, 1395, 1400, 1405, 1410, 1415, 1420, 1425, 1428, 1402,
+ 1407, 1409, 1422
} ;
-static const flex_int16_t yy_def[1519] =
+static const flex_int16_t yy_def[1544] =
{ 0,
- 1507, 1507, 1508, 1508, 1507, 1507, 1507, 1507, 1507, 1507,
- 1506, 1506, 1506, 1506, 1506, 1509, 1506, 1506, 1506, 1506,
- 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506,
- 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1510,
- 1506, 1506, 1506, 1511, 15, 1506, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 1512, 45, 45,
+ 1532, 1532, 1533, 1533, 1532, 1532, 1532, 1532, 1532, 1532,
+ 1531, 1531, 1531, 1531, 1531, 1534, 1531, 1531, 1531, 1531,
+ 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531,
+ 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1535,
+ 1531, 1531, 1531, 1536, 15, 1531, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 1537, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 45, 1509,
- 1506, 1506, 1506, 1506, 1506, 1506, 1513, 1506, 1506, 1506,
- 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1510, 1506,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 1534,
+ 1531, 1531, 1531, 1531, 1531, 1531, 1538, 1531, 1531, 1531,
+ 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1535, 1531,
- 1511, 1506, 1506, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 1514, 45, 1512, 45, 45,
+ 1536, 1531, 1531, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 1539, 45, 1537, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 1513, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506,
- 1515, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 1538, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531,
+ 1540, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 1514, 1506, 1512, 45, 45, 45, 45,
+ 45, 45, 45, 1539, 1531, 1537, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 1506, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 1531, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1516,
+ 45, 45, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1541,
- 45, 45, 45, 45, 45, 45, 45, 45, 1506, 45,
- 1506, 45, 1512, 1506, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 1506, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 1531, 45,
+ 1531, 45, 1537, 1531, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 1531, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 1506, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 1506, 45, 45, 45,
+ 45, 45, 45, 1531, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 1531, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 1506, 45, 45, 45, 45, 1506, 1506, 1506, 1517,
- 45, 45, 45, 45, 45, 45, 45, 45, 1506, 45,
- 45, 1506, 45, 1512, 45, 45, 45, 45, 45, 45,
- 45, 1506, 45, 45, 45, 45, 45, 45, 1506, 45,
- 45, 45, 45, 45, 1506, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 1506, 45, 45, 45, 45,
+ 45, 45, 45, 1531, 45, 45, 45, 45, 1531, 1531,
+ 1531, 1542, 45, 45, 45, 45, 45, 45, 45, 45,
+ 1531, 45, 45, 1531, 45, 1537, 45, 45, 45, 45,
+ 45, 45, 45, 1531, 45, 45, 45, 45, 45, 45,
+ 45, 1531, 45, 45, 45, 45, 45, 1531, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 1531, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 1506, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 1506, 45, 1506,
+ 45, 45, 45, 45, 45, 45, 45, 1531, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 1531, 45, 1531, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 1506, 1506, 45,
- 45, 1506, 45, 45, 1506, 1518, 45, 45, 45, 45,
- 1506, 1506, 45, 1506, 45, 1506, 45, 45, 45, 1506,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 1531, 1531, 45, 45, 1531, 45, 45, 1531, 1543,
+ 45, 45, 45, 45, 1531, 1531, 45, 1531, 45, 1531,
+ 45, 45, 45, 1531, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 1506, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 1531, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 1506, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 45, 1506,
-
- 45, 45, 45, 45, 45, 45, 45, 45, 1506, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 1506, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 1506, 45, 45, 1506, 45, 45, 45, 45, 45,
+ 45, 1531, 45, 45, 45, 45, 45, 45, 45, 45,
+
+ 45, 45, 45, 45, 1531, 45, 45, 45, 45, 45,
+ 45, 45, 45, 1531, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 1531, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 1531, 45, 45,
+ 1531, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 1506, 45, 45, 45,
+ 45, 45, 45, 1531, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 1506, 45, 45, 45, 45,
- 45, 45, 45, 45, 1506, 45, 45, 45, 45, 45,
+ 45, 45, 1531, 45, 45, 45, 45, 45, 45, 45,
+ 45, 1531, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 1531, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 1506, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 1506, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 1506, 45, 45, 45, 45, 45,
+ 45, 45, 1531, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 1531, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 1506, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 1506, 1506, 45,
- 45, 45, 45, 1506, 1506, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 1506, 45, 45, 45,
+ 45, 1531, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 1531, 1531, 45, 45,
+ 45, 45, 1531, 1531, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 1531, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 1506, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 1506, 45, 45, 45, 45, 45,
+ 45, 45, 1531, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 1531, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 1506, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 1506, 45, 45, 45,
- 45, 45, 1506, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 1531, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 1531, 45, 45,
+ 45, 45, 45, 1531, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 1506, 45, 45, 45, 1506, 45, 45, 45, 45,
+ 45, 45, 1531, 45, 45, 45, 1531, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 1506, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 1531, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 1506, 45, 45, 45,
- 45, 45, 45, 45, 45, 1506, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 1531, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 1531, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 1506, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 1531, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 1506, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 1506, 45, 45,
-
- 1506, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 1506, 45, 45, 45, 45,
- 45, 45, 45, 1506, 45, 45, 45, 45, 45, 45,
- 1506, 1506, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 1506, 1506, 45,
- 1506, 45, 45, 45, 45, 45, 45, 45, 45, 1506,
- 45, 45, 45, 45, 1506, 45, 45, 45, 45, 45,
- 1506, 1506, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 1506, 45, 45,
- 45, 1506, 1506, 45, 45, 45, 45, 45, 45, 45,
-
- 45, 45, 45, 1506, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 45, 1506,
+ 45, 45, 45, 45, 45, 45, 45, 45, 1531, 45,
+
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 1531, 45, 45, 45, 1531, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 1531,
+ 45, 45, 45, 45, 45, 45, 45, 1531, 45, 45,
+ 45, 45, 45, 45, 45, 1531, 1531, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 1506, 45,
- 1506, 1506, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 1506, 45, 45, 45, 45, 45, 45, 45, 1506,
- 45, 1506, 45, 1506, 1506, 45, 1506, 45, 1506, 45,
- 45, 45, 45, 45, 1506, 45, 45, 45, 1506, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 1506, 45,
+ 45, 45, 1531, 1531, 45, 1531, 45, 45, 45, 45,
+ 45, 45, 45, 45, 1531, 45, 45, 45, 45, 1531,
+ 45, 45, 45, 45, 45, 1531, 1531, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 1506, 1506, 45, 1506, 45, 45, 45, 45, 45, 1506,
- 45, 45, 45, 45, 45, 45, 1506, 45, 45, 1506,
- 45, 45, 45, 45, 1506, 45, 45, 45, 45, 45,
- 45, 1506, 45, 1506, 45, 1506, 45, 1506, 45, 45,
+ 45, 45, 45, 1531, 45, 45, 45, 1531, 1531, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 1531,
+ 45, 45, 45, 45, 45, 45, 45, 1531, 45, 45,
+ 45, 45, 45, 45, 45, 45, 1531, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 1531, 45, 1531, 1531, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 1531, 45,
+ 45, 45, 45, 45, 45, 45, 1531, 45, 45, 1531,
+ 45, 1531, 1531, 45, 1531, 45, 1531, 45, 45, 45,
+ 45, 45, 1531, 45, 45, 45, 1531, 45, 45, 45,
+
+ 45, 45, 45, 45, 45, 45, 1531, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 1531, 1531,
+ 45, 1531, 45, 45, 45, 45, 45, 1531, 45, 45,
+ 45, 45, 45, 45, 1531, 45, 45, 1531, 45, 45,
+ 45, 45, 1531, 45, 45, 45, 45, 45, 45, 45,
+ 1531, 45, 1531, 45, 1531, 45, 1531, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 45, 1506,
- 45, 45, 1506, 45, 45, 45, 45, 1506, 45, 1506,
- 1506, 45, 45, 1506, 1506, 45, 45, 45, 1506, 1506,
+ 45, 45, 45, 45, 45, 45, 45, 45, 1531, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 1506, 45,
- 45, 1506, 45, 1506, 45, 45, 45, 45, 45, 1506,
+ 45, 45, 1531, 45, 45, 45, 45, 1531, 45, 1531,
+ 1531, 45, 45, 1531, 1531, 45, 45, 45, 1531, 1531,
+ 45, 45, 45, 45, 45, 45, 45, 45, 1531, 45,
+ 45, 1531, 45, 1531, 45, 45, 45, 45, 45, 1531,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 1531, 45, 45, 45, 45, 1531,
+ 45, 45, 45, 45, 45, 45, 45, 1531, 45, 45,
+ 45, 1531, 45, 1531, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 1531, 45, 45, 1531, 45,
+ 1531, 1531, 45, 1531, 1531, 45, 1531, 45, 45, 1531,
+
+ 45, 45, 1531, 45, 45, 45, 45, 45, 45, 1531,
+ 45, 1531, 45, 45, 45, 45, 45, 45, 45, 45,
+ 1531, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 1531, 1531, 45, 45, 45, 45, 45, 1531, 45,
+ 45, 45, 45, 45, 45, 45, 45, 1531, 45, 45,
+ 45, 45, 45, 1531, 45, 1531, 45, 1531, 45, 45,
+ 45, 45, 1531, 45, 1531, 45, 45, 45, 1531, 45,
+ 45, 1531, 45, 45, 1531, 1531, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 1506, 45, 45, 45, 45, 1506, 45,
- 45, 45, 45, 45, 45, 45, 1506, 45, 45, 45,
- 1506, 45, 1506, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 1506, 45, 45, 1506, 1506, 1506,
- 45, 1506, 1506, 45, 1506, 45, 45, 1506, 45, 45,
- 1506, 45, 45, 45, 45, 45, 45, 1506, 45, 1506,
- 45, 45, 45, 45, 45, 45, 45, 45, 1506, 45,
-
- 45, 45, 45, 45, 45, 45, 45, 45, 1506, 1506,
- 45, 45, 45, 45, 45, 1506, 45, 45, 45, 45,
- 45, 45, 45, 1506, 45, 45, 45, 45, 45, 1506,
- 45, 1506, 45, 1506, 45, 45, 45, 45, 45, 1506,
- 45, 45, 45, 1506, 45, 45, 1506, 45, 45, 1506,
- 1506, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 1506, 45, 1506, 45,
- 45, 45, 45, 45, 45, 1506, 1506, 1506, 45, 45,
- 45, 45, 1506, 45, 45, 1506, 45, 45, 45, 45,
- 45, 1506, 45, 45, 1506, 0, 1506, 1506, 1506, 1506,
- 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506
+ 45, 1531, 45, 1531, 45, 45, 45, 45, 45, 45,
+ 1531, 1531, 1531, 45, 45, 45, 45, 1531, 45, 45,
+ 1531, 45, 45, 45, 45, 45, 1531, 45, 45, 1531,
+ 0, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531,
+ 1531, 1531, 1531
} ;
-static const flex_int16_t yy_nxt[1982] =
+static const flex_int16_t yy_nxt[2007] =
{ 0,
- 1506, 13, 14, 13, 1506, 15, 16, 1506, 17, 18,
+ 1531, 13, 14, 13, 1531, 15, 16, 1531, 17, 18,
19, 20, 21, 22, 22, 22, 22, 22, 23, 24,
- 86, 695, 37, 14, 37, 87, 25, 26, 38, 102,
- 1506, 27, 37, 14, 37, 42, 28, 42, 38, 92,
+ 86, 702, 37, 14, 37, 87, 25, 26, 38, 102,
+ 1531, 27, 37, 14, 37, 42, 28, 42, 38, 92,
93, 29, 197, 30, 13, 14, 13, 91, 92, 25,
31, 93, 13, 14, 13, 13, 14, 13, 32, 40,
- 696, 13, 14, 13, 33, 40, 103, 92, 93, 197,
+ 703, 13, 14, 13, 33, 40, 103, 92, 93, 197,
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,
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, 812,
+ 78, 79, 57, 45, 45, 45, 45, 45, 81, 815,
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, 183, 83, 258, 259,
112, 123, 119, 134, 83, 108, 83, 185, 120, 124,
113, 121, 125, 83, 135, 126, 137, 127, 138, 128,
83, 142, 183, 112, 136, 139, 161, 83, 45, 184,
- 162, 143, 819, 144, 45, 185, 45, 45, 113, 45,
- 163, 45, 45, 45, 411, 117, 146, 147, 45, 45,
+ 162, 143, 816, 144, 45, 185, 45, 45, 113, 45,
+ 163, 45, 45, 45, 413, 117, 146, 147, 45, 45,
- 148, 45, 45, 185, 412, 184, 149, 45, 45, 45,
+ 148, 45, 45, 185, 414, 184, 149, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 129, 188, 45, 820, 130, 150, 45, 131, 132, 151,
+ 129, 188, 45, 817, 130, 150, 45, 131, 132, 151,
45, 111, 165, 275, 276, 183, 166, 102, 45, 114,
133, 193, 45, 156, 45, 118, 200, 173, 174, 152,
153, 157, 154, 158, 155, 184, 167, 112, 159, 160,
- 168, 186, 178, 169, 246, 823, 404, 113, 247, 193,
- 170, 171, 179, 200, 103, 203, 172, 180, 469, 470,
+ 168, 186, 178, 169, 246, 392, 406, 113, 247, 193,
+ 170, 171, 179, 200, 103, 203, 172, 180, 393, 818,
175, 187, 176, 85, 85, 85, 85, 85, 81, 199,
82, 82, 82, 82, 82, 113, 83, 201, 203, 89,
- 824, 89, 177, 83, 90, 90, 90, 90, 90, 81,
- 202, 84, 84, 84, 84, 84, 101, 199, 405, 83,
- 196, 193, 825, 101, 83, 201, 83, 85, 85, 85,
+ 819, 89, 177, 83, 90, 90, 90, 90, 90, 81,
+ 202, 84, 84, 84, 84, 84, 101, 199, 407, 83,
+ 196, 193, 820, 101, 83, 201, 83, 85, 85, 85,
85, 85, 90, 90, 90, 90, 90, 202, 207, 230,
83, 90, 90, 90, 90, 90, 196, 83, 277, 208,
215, 234, 278, 101, 235, 231, 279, 101, 236, 216,
217, 101, 261, 83, 199, 262, 263, 294, 200, 101,
266, 202, 293, 101, 295, 101, 191, 206, 206, 206,
- 206, 206, 294, 355, 677, 678, 206, 206, 206, 206,
+ 206, 206, 294, 472, 473, 821, 206, 206, 206, 206,
206, 206, 199, 294, 252, 286, 293, 295, 289, 295,
293, 305, 302, 306, 308, 267, 268, 269, 297, 206,
206, 206, 206, 206, 206, 310, 270, 312, 271, 302,
- 272, 273, 298, 274, 296, 302, 324, 308, 381, 305,
- 306, 382, 309, 366, 325, 421, 356, 399, 310, 357,
- 326, 407, 315, 407, 312, 313, 313, 313, 313, 313,
- 418, 436, 415, 416, 313, 313, 313, 313, 313, 313,
- 413, 417, 476, 421, 407, 442, 408, 413, 437, 367,
- 488, 443, 477, 418, 737, 826, 721, 313, 313, 313,
- 313, 313, 313, 368, 497, 639, 529, 722, 498, 413,
-
- 424, 424, 424, 424, 424, 516, 425, 737, 517, 424,
- 424, 424, 424, 424, 424, 456, 529, 502, 522, 640,
- 457, 503, 639, 523, 529, 537, 554, 538, 736, 746,
- 747, 827, 424, 424, 424, 424, 424, 424, 489, 555,
- 564, 556, 828, 635, 539, 565, 829, 640, 641, 743,
- 782, 813, 537, 783, 538, 744, 736, 821, 814, 815,
- 816, 830, 831, 822, 832, 833, 834, 817, 458, 835,
- 836, 818, 837, 459, 45, 45, 45, 45, 45, 838,
- 839, 840, 841, 45, 45, 45, 45, 45, 45, 842,
+ 272, 273, 298, 274, 296, 302, 324, 308, 409, 305,
+ 306, 356, 382, 367, 325, 383, 309, 409, 310, 326,
+ 327, 401, 315, 415, 312, 313, 313, 313, 313, 313,
+ 420, 409, 417, 418, 313, 313, 313, 313, 313, 313,
+ 410, 419, 423, 491, 445, 479, 824, 415, 439, 368,
+ 446, 520, 415, 420, 521, 480, 829, 313, 313, 313,
+ 313, 313, 313, 369, 357, 440, 533, 358, 729, 533,
+
+ 423, 426, 426, 426, 426, 426, 427, 684, 685, 730,
+ 426, 426, 426, 426, 426, 426, 459, 559, 500, 505,
+ 526, 460, 501, 506, 533, 527, 541, 543, 542, 645,
+ 560, 492, 561, 426, 426, 426, 426, 426, 426, 569,
+ 646, 641, 744, 745, 570, 751, 647, 754, 755, 791,
+ 822, 752, 792, 541, 830, 542, 645, 823, 831, 825,
+ 826, 833, 834, 835, 832, 836, 745, 827, 646, 461,
+ 744, 828, 837, 838, 462, 45, 45, 45, 45, 45,
+ 839, 840, 841, 842, 45, 45, 45, 45, 45, 45,
843, 844, 845, 846, 847, 848, 849, 850, 851, 852,
- 837, 853, 854, 855, 856, 857, 45, 45, 45, 45,
- 45, 45, 858, 859, 860, 861, 862, 863, 864, 865,
- 866, 867, 869, 870, 871, 872, 868, 873, 874, 875,
- 876, 877, 878, 879, 880, 881, 882, 883, 884, 885,
- 887, 888, 889, 886, 890, 891, 892, 893, 894, 895,
- 896, 897, 898, 899, 900, 901, 902, 903, 904, 905,
+ 853, 854, 855, 856, 857, 858, 859, 45, 45, 45,
+ 45, 45, 45, 860, 861, 862, 863, 864, 865, 866,
+ 867, 868, 847, 869, 870, 871, 872, 873, 874, 875,
+ 876, 877, 878, 880, 881, 882, 883, 879, 884, 885,
+ 886, 887, 888, 889, 890, 891, 892, 893, 894, 895,
+ 896, 898, 899, 900, 897, 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, 933, 934, 935,
936, 937, 938, 939, 940, 941, 942, 943, 944, 945,
- 946, 947, 948, 949, 950, 951, 952, 930, 953, 954,
- 929, 955, 956, 957, 958, 959, 960, 961, 962, 964,
- 965, 966, 967, 968, 969, 970, 971, 972, 973, 974,
- 975, 976, 977, 978, 979, 980, 981, 983, 984, 985,
- 986, 987, 988, 989, 990, 991, 992, 982, 993, 994,
- 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004,
- 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014,
- 1015, 1016, 1017, 1018, 1020, 1019, 963, 1021, 1022, 1023,
- 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033,
- 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043,
-
- 1044, 1018, 1019, 1045, 1046, 1047, 1048, 1049, 1051, 1053,
- 1054, 1055, 1050, 1056, 1057, 1058, 1059, 1060, 1061, 1062,
- 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072,
+ 946, 947, 948, 949, 950, 951, 952, 953, 954, 955,
+ 956, 957, 958, 959, 960, 961, 962, 963, 964, 942,
+ 965, 966, 941, 967, 968, 969, 970, 971, 972, 973,
+ 974, 975, 977, 978, 979, 980, 981, 982, 983, 984,
+ 985, 986, 987, 988, 989, 990, 991, 992, 993, 994,
+ 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005,
+ 995, 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, 1034, 976,
+ 1033, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043,
+
+ 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053,
+ 1054, 1055, 1056, 1057, 1058, 1032, 1059, 1033, 1060, 1061,
+ 1062, 1063, 1064, 1066, 1068, 1069, 1070, 1065, 1071, 1072,
1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082,
1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092,
- 1093, 1094, 1052, 1095, 1096, 1097, 1098, 1099, 1100, 1101,
- 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111,
+ 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102,
+ 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1067, 1110, 1111,
1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121,
- 1122, 1123, 1124, 1102, 1125, 1126, 1127, 1128, 1129, 1103,
- 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139,
-
- 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 1149,
- 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1158, 1159, 1160,
- 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170,
- 1171, 1172, 1173, 1174, 1175, 1176, 1177, 1178, 1179, 1181,
- 1182, 1183, 1184, 1185, 1186, 1187, 1188, 1189, 1190, 1191,
- 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1200, 1201,
- 1202, 1174, 1203, 1204, 1205, 1206, 1207, 1209, 1210, 1157,
- 1211, 1212, 1213, 1214, 1208, 1215, 1216, 1217, 1218, 1219,
- 1220, 1221, 1180, 1222, 1223, 1224, 1225, 1226, 1227, 1228,
- 1229, 1230, 1231, 1232, 1233, 1234, 1236, 1237, 1238, 1239,
-
- 1235, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248,
- 1249, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 1258,
- 1237, 1259, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267,
- 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1277,
+ 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131,
+ 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1118,
+
+ 1141, 1142, 1143, 1144, 1145, 1119, 1146, 1147, 1148, 1149,
+ 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 1159,
+ 1160, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169,
+ 1170, 1171, 1172, 1173, 1175, 1176, 1177, 1178, 1179, 1180,
+ 1181, 1182, 1183, 1184, 1185, 1186, 1187, 1188, 1189, 1190,
+ 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1199, 1200, 1201,
+ 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1210, 1211,
+ 1212, 1213, 1214, 1215, 1216, 1217, 1218, 1219, 1220, 1192,
+ 1221, 1222, 1223, 1224, 1225, 1227, 1174, 1228, 1229, 1230,
+ 1231, 1232, 1226, 1233, 1234, 1235, 1236, 1237, 1238, 1239,
+
+ 1198, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248,
+ 1249, 1250, 1251, 1252, 1253, 1255, 1256, 1257, 1258, 1254,
+ 1259, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1268,
+ 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1277, 1256,
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, 1311, 1312, 1313, 1314, 1287, 1315, 1316, 1317,
+ 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,
+ 1328, 1329, 1331, 1332, 1333, 1334, 1307, 1335, 1336, 1337,
1338, 1339, 1340, 1341, 1342, 1343, 1344, 1345, 1346, 1347,
1348, 1349, 1350, 1351, 1352, 1353, 1354, 1355, 1356, 1357,
- 1358, 1359, 1360, 1361, 1362, 1363, 1336, 1364, 1365, 1310,
- 1366, 1367, 1368, 1369, 1370, 1371, 1372, 1373, 1374, 1375,
- 1376, 1377, 1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385,
+ 1358, 1359, 1360, 1361, 1362, 1363, 1364, 1365, 1366, 1367,
+ 1368, 1369, 1370, 1371, 1372, 1373, 1374, 1375, 1376, 1377,
+ 1378, 1379, 1380, 1381, 1382, 1383, 1384, 1357, 1385, 1330,
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,
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,
- 12, 12, 12, 12, 12, 36, 36, 36, 36, 36,
- 80, 300, 80, 80, 80, 99, 410, 99, 526, 99,
- 101, 101, 101, 101, 101, 116, 116, 116, 116, 116,
-
- 182, 101, 182, 182, 182, 204, 204, 204, 811, 810,
- 809, 808, 807, 806, 805, 804, 803, 802, 801, 800,
- 799, 798, 797, 796, 795, 794, 793, 792, 791, 790,
- 789, 788, 787, 786, 785, 784, 781, 780, 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, 750, 749, 748,
- 745, 742, 741, 740, 739, 738, 735, 734, 733, 732,
- 731, 730, 729, 728, 727, 726, 725, 724, 723, 720,
- 719, 718, 717, 716, 715, 714, 713, 712, 711, 710,
-
- 709, 708, 707, 706, 705, 704, 703, 702, 701, 700,
- 699, 698, 697, 694, 693, 692, 691, 690, 689, 688,
- 687, 686, 685, 684, 683, 682, 681, 680, 679, 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, 638, 637, 636, 635, 634, 633,
- 632, 631, 630, 629, 628, 627, 626, 625, 624, 623,
- 622, 621, 620, 619, 618, 617, 616, 615, 614, 613,
- 612, 611, 610, 609, 608, 607, 606, 605, 604, 603,
-
- 602, 601, 600, 599, 598, 597, 596, 595, 594, 593,
- 592, 591, 590, 589, 588, 587, 586, 585, 584, 583,
- 582, 581, 580, 579, 578, 577, 576, 575, 574, 573,
- 572, 571, 570, 569, 568, 567, 566, 563, 562, 561,
- 560, 559, 558, 557, 553, 552, 551, 550, 549, 548,
- 547, 546, 545, 544, 543, 542, 541, 540, 536, 535,
- 534, 533, 532, 531, 530, 528, 527, 525, 524, 521,
- 520, 519, 518, 515, 514, 513, 512, 511, 510, 509,
- 508, 507, 506, 505, 504, 501, 500, 499, 496, 495,
- 494, 493, 492, 491, 490, 487, 486, 485, 484, 483,
-
- 482, 481, 480, 479, 478, 475, 474, 473, 472, 471,
- 468, 467, 466, 465, 464, 463, 462, 461, 460, 455,
- 454, 453, 452, 451, 450, 449, 448, 447, 446, 445,
- 444, 441, 440, 439, 438, 435, 434, 433, 432, 431,
- 430, 429, 428, 427, 426, 423, 422, 420, 419, 414,
- 409, 406, 403, 402, 401, 400, 398, 397, 396, 395,
- 394, 393, 392, 391, 390, 389, 388, 387, 386, 385,
- 384, 383, 380, 379, 378, 377, 376, 375, 374, 373,
- 372, 371, 370, 369, 365, 364, 363, 362, 361, 360,
- 359, 358, 354, 353, 352, 351, 350, 349, 348, 347,
-
- 346, 345, 344, 343, 342, 341, 340, 339, 338, 337,
- 336, 335, 334, 333, 332, 331, 330, 329, 328, 327,
- 323, 322, 321, 320, 319, 318, 317, 316, 314, 205,
- 311, 309, 307, 304, 303, 301, 299, 292, 291, 290,
- 288, 287, 285, 284, 283, 282, 281, 280, 265, 264,
- 260, 257, 256, 255, 254, 253, 251, 250, 249, 248,
- 245, 244, 243, 242, 241, 240, 239, 238, 237, 233,
- 232, 229, 226, 225, 224, 223, 220, 219, 218, 214,
- 213, 212, 211, 210, 209, 205, 198, 195, 194, 192,
- 190, 189, 181, 164, 145, 122, 110, 107, 106, 104,
-
- 43, 100, 98, 97, 88, 43, 1506, 11, 1506, 1506,
- 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506,
- 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506,
- 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506,
- 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506,
- 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506,
- 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506,
- 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506,
- 1506
+ 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, 12, 12, 12, 12, 12,
+
+ 36, 36, 36, 36, 36, 80, 300, 80, 80, 80,
+ 99, 412, 99, 530, 99, 101, 101, 101, 101, 101,
+ 116, 116, 116, 116, 116, 182, 101, 182, 182, 182,
+ 204, 204, 204, 814, 813, 812, 811, 810, 809, 808,
+ 807, 806, 805, 804, 803, 802, 801, 800, 799, 798,
+ 797, 796, 795, 794, 793, 790, 789, 788, 787, 786,
+ 785, 784, 783, 782, 781, 780, 779, 778, 777, 776,
+ 775, 774, 773, 772, 771, 770, 769, 768, 767, 766,
+ 765, 764, 763, 762, 761, 760, 759, 758, 757, 756,
+ 753, 750, 749, 748, 747, 746, 743, 742, 741, 740,
+
+ 739, 738, 737, 736, 735, 734, 733, 732, 731, 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, 701, 700, 699, 698, 697, 696,
+ 695, 694, 693, 692, 691, 690, 689, 688, 687, 686,
+ 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, 644, 643, 642, 641,
+ 640, 639, 638, 637, 636, 635, 634, 633, 632, 631,
+
+ 630, 629, 628, 627, 626, 625, 624, 623, 622, 621,
+ 620, 619, 618, 617, 616, 615, 614, 613, 612, 611,
+ 610, 609, 608, 607, 606, 605, 604, 603, 602, 601,
+ 600, 599, 598, 597, 596, 595, 594, 593, 592, 591,
+ 590, 589, 588, 587, 586, 585, 584, 583, 582, 581,
+ 580, 579, 578, 577, 576, 575, 574, 573, 572, 571,
+ 568, 567, 566, 565, 564, 563, 562, 558, 557, 556,
+ 555, 554, 553, 552, 551, 550, 549, 548, 547, 546,
+ 545, 544, 540, 539, 538, 537, 536, 535, 534, 532,
+ 531, 529, 528, 525, 524, 523, 522, 519, 518, 517,
+
+ 516, 515, 514, 513, 512, 511, 510, 509, 508, 507,
+ 504, 503, 502, 499, 498, 497, 496, 495, 494, 493,
+ 490, 489, 488, 487, 486, 485, 484, 483, 482, 481,
+ 478, 477, 476, 475, 474, 471, 470, 469, 468, 467,
+ 466, 465, 464, 463, 458, 457, 456, 455, 454, 453,
+ 452, 451, 450, 449, 448, 447, 444, 443, 442, 441,
+ 438, 437, 436, 435, 434, 433, 432, 431, 430, 429,
+ 428, 425, 424, 422, 421, 416, 411, 408, 405, 404,
+ 403, 402, 400, 399, 398, 397, 396, 395, 394, 391,
+ 390, 389, 388, 387, 386, 385, 384, 381, 380, 379,
+
+ 378, 377, 376, 375, 374, 373, 372, 371, 370, 366,
+ 365, 364, 363, 362, 361, 360, 359, 355, 354, 353,
+ 352, 351, 350, 349, 348, 347, 346, 345, 344, 343,
+ 342, 341, 340, 339, 338, 337, 336, 335, 334, 333,
+ 332, 331, 330, 329, 328, 323, 322, 321, 320, 319,
+ 318, 317, 316, 314, 205, 311, 309, 307, 304, 303,
+ 301, 299, 292, 291, 290, 288, 287, 285, 284, 283,
+ 282, 281, 280, 265, 264, 260, 257, 256, 255, 254,
+ 253, 251, 250, 249, 248, 245, 244, 243, 242, 241,
+ 240, 239, 238, 237, 233, 232, 229, 226, 225, 224,
+
+ 223, 220, 219, 218, 214, 213, 212, 211, 210, 209,
+ 205, 198, 195, 194, 192, 190, 189, 181, 164, 145,
+ 122, 110, 107, 106, 104, 43, 100, 98, 97, 88,
+ 43, 1531, 11, 1531, 1531, 1531, 1531, 1531, 1531, 1531,
+ 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531,
+ 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531,
+ 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531,
+ 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531,
+ 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531,
+ 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531,
+
+ 1531, 1531, 1531, 1531, 1531, 1531
} ;
-static const flex_int16_t yy_chk[1982] =
+static const flex_int16_t yy_chk[2007] =
{ 0,
0, 1, 1, 1, 0, 1, 1, 0, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 21, 595, 3, 3, 3, 21, 1, 1, 3, 44,
+ 21, 600, 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,
- 595, 8, 8, 8, 1, 8, 44, 27, 28, 109,
+ 600, 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, 715,
+ 15, 15, 15, 15, 15, 15, 15, 15, 17, 716,
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, 161, 161,
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, 718, 67, 45, 93, 45, 45, 55, 45,
+ 73, 67, 717, 67, 45, 93, 45, 45, 55, 45,
73, 45, 45, 45, 301, 58, 69, 69, 45, 45,
69, 45, 58, 96, 301, 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, 719, 62, 70, 58, 62, 62, 70,
+ 62, 96, 58, 718, 62, 70, 58, 62, 62, 70,
58, 71, 75, 167, 167, 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, 150, 722, 291, 77, 150, 105,
- 76, 76, 78, 112, 101, 115, 76, 78, 355, 355,
+ 76, 94, 78, 76, 150, 278, 291, 77, 150, 105,
+ 76, 76, 78, 112, 101, 115, 76, 78, 278, 719,
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,
+ 720, 83, 77, 82, 83, 83, 83, 83, 83, 84,
114, 84, 84, 84, 84, 84, 103, 111, 291, 81,
- 108, 119, 724, 103, 84, 113, 82, 85, 85, 85,
+ 108, 119, 721, 103, 84, 113, 82, 85, 85, 85,
85, 85, 89, 89, 89, 89, 89, 114, 119, 137,
85, 90, 90, 90, 90, 90, 108, 84, 168, 119,
126, 140, 168, 103, 140, 137, 168, 103, 140, 126,
126, 103, 163, 85, 155, 163, 163, 184, 175, 103,
166, 178, 183, 103, 185, 103, 103, 118, 118, 118,
- 118, 118, 187, 247, 577, 577, 118, 118, 118, 118,
+ 118, 118, 187, 356, 356, 722, 118, 118, 118, 118,
118, 118, 155, 184, 155, 175, 186, 185, 178, 188,
183, 196, 193, 197, 199, 166, 166, 166, 187, 118,
118, 118, 118, 118, 118, 201, 166, 203, 166, 208,
- 166, 166, 188, 166, 186, 193, 217, 199, 269, 196,
- 197, 269, 286, 256, 217, 308, 247, 286, 201, 247,
- 217, 293, 208, 296, 203, 206, 206, 206, 206, 206,
- 305, 326, 304, 304, 206, 206, 206, 206, 206, 206,
- 302, 304, 361, 308, 293, 332, 296, 315, 326, 256,
- 373, 332, 361, 305, 640, 725, 623, 206, 206, 206,
- 206, 206, 206, 256, 382, 537, 413, 623, 382, 302,
-
- 313, 313, 313, 313, 313, 399, 315, 640, 399, 313,
- 313, 313, 313, 313, 313, 345, 425, 386, 405, 538,
- 345, 386, 537, 405, 413, 423, 442, 423, 639, 648,
- 648, 726, 313, 313, 313, 313, 313, 313, 373, 442,
- 451, 442, 727, 539, 425, 451, 728, 538, 539, 646,
- 684, 716, 423, 684, 423, 646, 639, 720, 716, 717,
- 717, 729, 730, 720, 731, 732, 733, 717, 345, 734,
- 736, 717, 737, 345, 424, 424, 424, 424, 424, 738,
- 739, 740, 741, 424, 424, 424, 424, 424, 424, 742,
- 743, 744, 746, 747, 748, 749, 750, 751, 752, 753,
-
- 737, 754, 755, 756, 757, 758, 424, 424, 424, 424,
- 424, 424, 759, 760, 761, 762, 764, 765, 766, 767,
- 768, 769, 770, 771, 772, 773, 769, 774, 775, 776,
- 777, 780, 781, 782, 783, 786, 787, 788, 789, 790,
- 791, 792, 793, 790, 794, 795, 796, 798, 799, 800,
- 801, 802, 803, 804, 805, 806, 807, 808, 809, 810,
- 811, 812, 813, 814, 815, 816, 817, 818, 819, 820,
- 821, 822, 824, 825, 826, 827, 828, 829, 830, 831,
- 832, 833, 834, 836, 837, 838, 839, 840, 841, 842,
- 843, 844, 845, 846, 847, 848, 849, 850, 851, 852,
-
- 853, 854, 855, 856, 858, 859, 860, 837, 861, 862,
- 836, 863, 864, 865, 866, 868, 869, 870, 871, 872,
- 874, 875, 876, 877, 878, 879, 880, 881, 882, 883,
- 884, 885, 886, 887, 888, 889, 890, 891, 893, 894,
- 895, 897, 898, 899, 900, 901, 902, 890, 903, 904,
- 905, 906, 907, 908, 909, 910, 911, 912, 913, 915,
- 916, 917, 918, 919, 920, 921, 922, 923, 924, 925,
- 926, 927, 928, 929, 931, 930, 871, 932, 933, 934,
- 935, 936, 938, 939, 940, 941, 942, 943, 944, 945,
- 947, 948, 949, 950, 951, 952, 953, 954, 955, 956,
-
- 957, 929, 930, 958, 959, 960, 961, 963, 964, 965,
- 966, 967, 963, 968, 969, 970, 971, 972, 973, 974,
- 975, 976, 977, 978, 979, 980, 981, 982, 983, 984,
- 985, 987, 988, 989, 990, 991, 992, 993, 994, 995,
- 996, 997, 999, 1000, 1002, 1003, 1004, 1005, 1006, 1007,
- 1008, 1009, 964, 1010, 1011, 1012, 1013, 1014, 1015, 1017,
- 1018, 1019, 1020, 1021, 1022, 1023, 1025, 1026, 1027, 1028,
- 1029, 1030, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040,
- 1041, 1042, 1043, 1018, 1044, 1045, 1046, 1047, 1050, 1019,
- 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1061, 1062,
-
- 1063, 1064, 1066, 1067, 1068, 1069, 1070, 1073, 1074, 1075,
- 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085,
- 1086, 1087, 1089, 1090, 1091, 1094, 1095, 1096, 1097, 1098,
- 1099, 1100, 1101, 1102, 1103, 1105, 1106, 1107, 1108, 1109,
- 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119,
- 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130,
- 1131, 1102, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1082,
- 1140, 1143, 1144, 1145, 1136, 1146, 1147, 1148, 1149, 1150,
- 1151, 1153, 1108, 1154, 1155, 1156, 1157, 1158, 1159, 1161,
- 1163, 1166, 1168, 1170, 1171, 1172, 1173, 1174, 1176, 1177,
-
- 1172, 1178, 1180, 1181, 1182, 1183, 1184, 1185, 1186, 1187,
- 1188, 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198,
- 1174, 1199, 1200, 1203, 1205, 1206, 1207, 1208, 1209, 1211,
- 1212, 1213, 1214, 1215, 1216, 1218, 1219, 1221, 1222, 1223,
- 1224, 1226, 1227, 1228, 1229, 1230, 1231, 1233, 1235, 1237,
- 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248,
- 1249, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 1258,
- 1258, 1259, 1260, 1261, 1262, 1263, 1237, 1264, 1265, 1266,
- 1267, 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276,
- 1277, 1278, 1279, 1281, 1282, 1284, 1285, 1286, 1287, 1289,
-
- 1292, 1293, 1296, 1297, 1298, 1301, 1302, 1303, 1304, 1305,
- 1306, 1307, 1308, 1310, 1311, 1313, 1315, 1316, 1317, 1318,
- 1319, 1321, 1322, 1323, 1324, 1325, 1287, 1326, 1327, 1259,
- 1328, 1329, 1330, 1331, 1332, 1333, 1335, 1336, 1337, 1338,
- 1340, 1341, 1342, 1343, 1344, 1345, 1346, 1348, 1349, 1350,
- 1352, 1354, 1355, 1356, 1357, 1358, 1359, 1360, 1361, 1362,
- 1363, 1364, 1366, 1367, 1371, 1374, 1376, 1377, 1379, 1380,
- 1382, 1383, 1384, 1385, 1386, 1387, 1389, 1391, 1392, 1393,
- 1394, 1395, 1396, 1397, 1398, 1400, 1401, 1402, 1403, 1404,
- 1405, 1406, 1407, 1408, 1411, 1412, 1413, 1414, 1415, 1417,
-
- 1418, 1419, 1420, 1421, 1422, 1423, 1425, 1426, 1427, 1428,
- 1429, 1431, 1433, 1435, 1436, 1437, 1438, 1439, 1441, 1442,
- 1443, 1445, 1446, 1448, 1449, 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,
- 1478, 1480, 1481, 1482, 1483, 1484, 1485, 1489, 1490, 1491,
- 1492, 1494, 1495, 1497, 1498, 1499, 1500, 1501, 1503, 1504,
- 1507, 1507, 1507, 1507, 1507, 1508, 1508, 1508, 1508, 1508,
- 1509, 1515, 1509, 1509, 1509, 1510, 1516, 1510, 1517, 1510,
- 1511, 1511, 1511, 1511, 1511, 1512, 1512, 1512, 1512, 1512,
-
- 1513, 1518, 1513, 1513, 1513, 1514, 1514, 1514, 714, 713,
- 712, 711, 710, 709, 708, 707, 706, 705, 704, 703,
- 702, 701, 700, 699, 698, 697, 696, 694, 693, 692,
- 691, 690, 689, 688, 687, 685, 683, 682, 681, 680,
- 679, 678, 677, 676, 675, 674, 673, 672, 671, 670,
- 669, 668, 666, 665, 664, 663, 662, 661, 660, 659,
- 658, 657, 656, 655, 654, 653, 652, 651, 650, 649,
- 647, 645, 644, 643, 642, 641, 638, 637, 636, 634,
- 633, 631, 630, 629, 628, 627, 626, 625, 624, 621,
- 620, 619, 618, 617, 616, 615, 614, 613, 612, 611,
-
- 610, 608, 607, 606, 605, 604, 603, 602, 601, 599,
- 598, 597, 596, 594, 593, 592, 591, 590, 589, 588,
- 586, 585, 584, 583, 582, 581, 580, 579, 578, 576,
- 575, 574, 573, 572, 571, 570, 569, 568, 567, 566,
- 565, 563, 562, 561, 560, 559, 558, 557, 556, 555,
- 554, 553, 552, 551, 550, 549, 548, 547, 546, 545,
- 544, 543, 542, 541, 535, 533, 530, 529, 528, 527,
- 525, 524, 523, 521, 520, 517, 516, 515, 514, 513,
- 512, 511, 510, 509, 508, 507, 506, 505, 504, 503,
- 502, 501, 500, 499, 498, 497, 496, 495, 494, 493,
-
- 492, 491, 489, 487, 486, 485, 484, 483, 482, 481,
- 480, 479, 478, 477, 476, 474, 473, 472, 471, 470,
- 469, 468, 467, 466, 465, 464, 463, 462, 461, 460,
- 459, 458, 457, 455, 454, 453, 452, 450, 449, 448,
- 447, 446, 444, 443, 441, 440, 438, 437, 436, 435,
- 434, 433, 431, 430, 429, 428, 427, 426, 421, 420,
- 418, 417, 416, 415, 414, 412, 411, 409, 406, 404,
- 403, 401, 400, 398, 397, 396, 395, 394, 393, 392,
- 391, 390, 389, 388, 387, 385, 384, 383, 381, 380,
- 379, 378, 376, 375, 374, 372, 371, 370, 369, 368,
-
- 367, 366, 365, 364, 362, 360, 359, 358, 357, 356,
- 354, 353, 352, 351, 350, 349, 348, 347, 346, 344,
- 343, 342, 341, 340, 339, 338, 337, 336, 335, 334,
- 333, 331, 330, 329, 328, 325, 324, 323, 322, 321,
- 320, 319, 318, 317, 316, 312, 310, 307, 306, 303,
- 299, 292, 290, 289, 288, 287, 285, 284, 283, 282,
- 281, 280, 279, 278, 277, 276, 275, 274, 273, 272,
- 271, 270, 268, 267, 266, 265, 264, 263, 262, 261,
- 260, 259, 258, 257, 255, 254, 253, 252, 251, 250,
- 249, 248, 246, 245, 244, 243, 242, 241, 240, 239,
-
- 237, 236, 235, 234, 233, 232, 231, 230, 229, 228,
- 227, 226, 225, 224, 223, 222, 221, 220, 219, 218,
- 216, 215, 214, 213, 212, 211, 210, 209, 207, 204,
- 202, 200, 198, 195, 194, 192, 189, 181, 180, 179,
- 177, 176, 174, 173, 172, 171, 170, 169, 165, 164,
- 162, 160, 159, 158, 157, 156, 154, 153, 152, 151,
- 149, 148, 147, 146, 145, 144, 143, 142, 141, 139,
- 138, 136, 134, 133, 132, 131, 129, 128, 127, 125,
- 124, 123, 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, 1506, 1506, 1506,
- 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506,
- 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506,
- 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506,
- 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506,
- 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506,
- 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506,
- 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506,
- 1506
+ 166, 166, 188, 166, 186, 193, 217, 199, 293, 196,
+ 197, 247, 269, 256, 217, 269, 286, 296, 201, 217,
+ 217, 286, 208, 302, 203, 206, 206, 206, 206, 206,
+ 305, 293, 304, 304, 206, 206, 206, 206, 206, 206,
+ 296, 304, 308, 374, 333, 362, 724, 315, 327, 256,
+ 333, 401, 302, 305, 401, 362, 726, 206, 206, 206,
+ 206, 206, 206, 256, 247, 327, 415, 247, 629, 427,
+
+ 308, 313, 313, 313, 313, 313, 315, 582, 582, 629,
+ 313, 313, 313, 313, 313, 313, 346, 445, 383, 387,
+ 407, 346, 383, 387, 415, 407, 425, 427, 425, 541,
+ 445, 374, 445, 313, 313, 313, 313, 313, 313, 454,
+ 542, 543, 645, 646, 454, 652, 543, 654, 654, 691,
+ 723, 652, 691, 425, 727, 425, 541, 723, 728, 725,
+ 725, 730, 731, 732, 728, 733, 646, 725, 542, 346,
+ 645, 725, 734, 735, 346, 426, 426, 426, 426, 426,
+ 736, 737, 738, 739, 426, 426, 426, 426, 426, 426,
+ 740, 741, 742, 744, 745, 746, 747, 748, 749, 750,
+
+ 751, 752, 754, 755, 756, 757, 758, 426, 426, 426,
+ 426, 426, 426, 759, 760, 761, 762, 763, 764, 765,
+ 766, 767, 745, 768, 769, 770, 771, 773, 774, 775,
+ 776, 777, 778, 779, 780, 781, 782, 778, 783, 784,
+ 785, 786, 789, 790, 791, 792, 795, 796, 797, 798,
+ 799, 800, 801, 802, 799, 803, 804, 805, 807, 808,
+ 809, 810, 811, 812, 813, 814, 815, 816, 817, 818,
+ 819, 820, 821, 822, 823, 824, 825, 826, 827, 828,
+ 829, 830, 831, 832, 834, 835, 836, 837, 838, 839,
+ 840, 841, 842, 843, 844, 846, 847, 848, 849, 850,
+
+ 851, 852, 853, 854, 855, 856, 857, 858, 859, 860,
+ 861, 862, 863, 864, 865, 866, 867, 869, 870, 847,
+ 871, 872, 846, 873, 874, 875, 876, 877, 879, 880,
+ 881, 882, 883, 885, 886, 887, 888, 889, 890, 891,
+ 892, 893, 894, 895, 896, 897, 898, 899, 900, 901,
+ 902, 904, 905, 906, 908, 909, 910, 911, 912, 913,
+ 901, 914, 915, 916, 917, 918, 919, 920, 921, 922,
+ 923, 924, 925, 927, 928, 929, 930, 931, 932, 933,
+ 934, 935, 936, 937, 938, 939, 940, 941, 943, 882,
+ 942, 944, 945, 946, 947, 948, 950, 951, 952, 953,
+
+ 954, 955, 956, 957, 958, 960, 961, 962, 963, 964,
+ 965, 966, 967, 968, 969, 941, 970, 942, 971, 972,
+ 973, 974, 976, 977, 978, 979, 980, 976, 981, 982,
+ 983, 984, 985, 986, 987, 988, 989, 990, 991, 992,
+ 993, 994, 995, 996, 997, 998, 1000, 1001, 1002, 1003,
+ 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1012, 1013, 1014,
+ 1016, 1017, 1018, 1019, 1020, 1021, 1022, 977, 1023, 1024,
+ 1025, 1026, 1027, 1028, 1029, 1031, 1032, 1033, 1034, 1035,
+ 1036, 1037, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1048,
+ 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1032,
+
+ 1058, 1059, 1060, 1061, 1062, 1033, 1065, 1067, 1068, 1069,
+ 1070, 1071, 1072, 1073, 1074, 1076, 1077, 1078, 1079, 1081,
+ 1082, 1083, 1084, 1085, 1088, 1089, 1090, 1091, 1092, 1093,
+ 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103,
+ 1105, 1106, 1107, 1110, 1111, 1112, 1113, 1114, 1115, 1116,
+ 1117, 1118, 1119, 1121, 1122, 1123, 1124, 1125, 1126, 1127,
+ 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1138, 1139,
+ 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 1118,
+ 1149, 1150, 1151, 1152, 1153, 1154, 1097, 1155, 1157, 1160,
+ 1161, 1162, 1153, 1163, 1164, 1165, 1166, 1167, 1168, 1170,
+
+ 1124, 1171, 1172, 1173, 1174, 1175, 1176, 1178, 1179, 1181,
+ 1184, 1186, 1188, 1189, 1190, 1191, 1192, 1194, 1195, 1190,
+ 1196, 1198, 1199, 1200, 1201, 1202, 1203, 1204, 1205, 1206,
+ 1208, 1209, 1210, 1211, 1212, 1213, 1214, 1215, 1216, 1192,
+ 1217, 1218, 1221, 1223, 1224, 1225, 1226, 1227, 1229, 1230,
+ 1231, 1232, 1233, 1234, 1236, 1237, 1239, 1240, 1241, 1242,
+ 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1252, 1254, 1256,
+ 1258, 1259, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267,
+ 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1277,
+ 1277, 1278, 1279, 1280, 1281, 1282, 1256, 1283, 1284, 1285,
+
+ 1286, 1287, 1288, 1289, 1290, 1291, 1292, 1293, 1294, 1295,
+ 1296, 1297, 1298, 1300, 1301, 1302, 1304, 1305, 1306, 1307,
+ 1309, 1312, 1313, 1316, 1317, 1318, 1321, 1322, 1323, 1324,
+ 1325, 1326, 1327, 1328, 1330, 1331, 1333, 1335, 1336, 1337,
+ 1338, 1339, 1341, 1342, 1343, 1344, 1345, 1307, 1346, 1278,
+ 1347, 1348, 1349, 1350, 1351, 1352, 1353, 1354, 1356, 1357,
+ 1358, 1359, 1361, 1362, 1363, 1364, 1365, 1366, 1367, 1369,
+ 1370, 1371, 1373, 1375, 1376, 1377, 1378, 1379, 1380, 1381,
+ 1382, 1383, 1384, 1385, 1387, 1388, 1390, 1393, 1396, 1398,
+ 1399, 1401, 1402, 1404, 1405, 1406, 1407, 1408, 1409, 1411,
+
+ 1413, 1414, 1415, 1416, 1417, 1418, 1419, 1420, 1422, 1423,
+ 1424, 1425, 1426, 1427, 1428, 1429, 1430, 1431, 1434, 1435,
+ 1436, 1437, 1438, 1440, 1441, 1442, 1443, 1444, 1445, 1446,
+ 1447, 1449, 1450, 1451, 1452, 1453, 1455, 1457, 1459, 1460,
+ 1461, 1462, 1464, 1466, 1467, 1468, 1470, 1471, 1473, 1474,
+ 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, 1503, 1505, 1506, 1507, 1508,
+ 1509, 1510, 1514, 1515, 1516, 1517, 1519, 1520, 1522, 1523,
+ 1524, 1525, 1526, 1528, 1529, 1532, 1532, 1532, 1532, 1532,
+
+ 1533, 1533, 1533, 1533, 1533, 1534, 1540, 1534, 1534, 1534,
+ 1535, 1541, 1535, 1542, 1535, 1536, 1536, 1536, 1536, 1536,
+ 1537, 1537, 1537, 1537, 1537, 1538, 1543, 1538, 1538, 1538,
+ 1539, 1539, 1539, 715, 714, 713, 712, 711, 710, 709,
+ 708, 707, 706, 705, 704, 703, 701, 700, 699, 698,
+ 697, 696, 695, 694, 692, 690, 689, 688, 687, 686,
+ 685, 684, 683, 682, 681, 680, 679, 678, 677, 676,
+ 675, 673, 672, 671, 670, 669, 668, 667, 666, 665,
+ 664, 663, 662, 661, 660, 659, 658, 657, 656, 655,
+ 653, 651, 650, 649, 648, 647, 644, 643, 642, 640,
+
+ 639, 637, 636, 635, 634, 633, 632, 631, 630, 627,
+ 626, 625, 624, 623, 622, 621, 620, 619, 618, 617,
+ 616, 615, 613, 612, 611, 610, 609, 608, 607, 606,
+ 604, 603, 602, 601, 599, 598, 597, 596, 595, 594,
+ 593, 591, 590, 589, 588, 587, 586, 585, 584, 583,
+ 581, 580, 579, 578, 577, 576, 575, 574, 573, 572,
+ 571, 570, 568, 567, 566, 565, 564, 563, 562, 561,
+ 560, 559, 558, 557, 556, 555, 554, 553, 552, 551,
+ 550, 549, 548, 547, 546, 545, 539, 537, 534, 533,
+ 532, 531, 529, 528, 527, 525, 524, 521, 520, 519,
+
+ 518, 517, 516, 515, 514, 513, 512, 511, 510, 509,
+ 508, 507, 506, 505, 504, 503, 502, 501, 500, 499,
+ 498, 497, 496, 495, 494, 492, 490, 489, 488, 487,
+ 486, 485, 484, 483, 482, 481, 480, 479, 477, 476,
+ 475, 474, 473, 472, 471, 470, 469, 468, 467, 466,
+ 465, 464, 463, 462, 461, 460, 458, 457, 456, 455,
+ 453, 452, 451, 450, 449, 447, 446, 444, 443, 441,
+ 440, 439, 438, 437, 436, 435, 433, 432, 431, 430,
+ 429, 428, 423, 422, 420, 419, 418, 417, 416, 414,
+ 413, 411, 408, 406, 405, 403, 402, 400, 399, 398,
+
+ 397, 396, 395, 394, 393, 392, 391, 390, 389, 388,
+ 386, 385, 384, 382, 381, 380, 379, 377, 376, 375,
+ 373, 372, 371, 370, 369, 368, 367, 366, 365, 363,
+ 361, 360, 359, 358, 357, 355, 354, 353, 352, 351,
+ 350, 349, 348, 347, 345, 344, 343, 342, 341, 340,
+ 339, 338, 337, 336, 335, 334, 332, 331, 330, 329,
+ 326, 325, 324, 323, 322, 321, 320, 319, 318, 317,
+ 316, 312, 310, 307, 306, 303, 299, 292, 290, 289,
+ 288, 287, 285, 284, 283, 282, 281, 280, 279, 277,
+ 276, 275, 274, 273, 272, 271, 270, 268, 267, 266,
+
+ 265, 264, 263, 262, 261, 260, 259, 258, 257, 255,
+ 254, 253, 252, 251, 250, 249, 248, 246, 245, 244,
+ 243, 242, 241, 240, 239, 237, 236, 235, 234, 233,
+ 232, 231, 230, 229, 228, 227, 226, 225, 224, 223,
+ 222, 221, 220, 219, 218, 216, 215, 214, 213, 212,
+ 211, 210, 209, 207, 204, 202, 200, 198, 195, 194,
+ 192, 189, 181, 180, 179, 177, 176, 174, 173, 172,
+ 171, 170, 169, 165, 164, 162, 160, 159, 158, 157,
+ 156, 154, 153, 152, 151, 149, 148, 147, 146, 145,
+ 144, 143, 142, 141, 139, 138, 136, 134, 133, 132,
+
+ 131, 129, 128, 127, 125, 124, 123, 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, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531,
+ 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531,
+ 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531,
+ 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531,
+ 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531,
+ 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531,
+ 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531,
+
+ 1531, 1531, 1531, 1531, 1531, 1531
} ;
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[178] =
+static const flex_int16_t yy_rule_linenum[180] =
{ 0,
147, 149, 151, 156, 157, 162, 163, 164, 176, 179,
184, 191, 200, 209, 218, 227, 236, 245, 255, 264,
273, 282, 291, 300, 309, 318, 327, 336, 345, 354,
366, 375, 384, 393, 402, 413, 424, 435, 446, 456,
466, 477, 488, 499, 510, 521, 532, 543, 554, 565,
- 576, 587, 596, 605, 615, 624, 634, 648, 664, 673,
- 682, 691, 700, 721, 742, 751, 761, 770, 781, 790,
- 799, 808, 817, 826, 836, 845, 856, 867, 879, 888,
- 897, 906, 915, 924, 933, 942, 951, 960, 970, 981,
- 993, 1002, 1011, 1021, 1031, 1041, 1051, 1061, 1071, 1080,
-
- 1090, 1099, 1108, 1117, 1126, 1136, 1146, 1155, 1165, 1174,
- 1183, 1192, 1201, 1210, 1219, 1228, 1237, 1246, 1255, 1264,
- 1273, 1282, 1291, 1300, 1309, 1318, 1327, 1336, 1345, 1354,
- 1363, 1372, 1381, 1390, 1399, 1408, 1417, 1426, 1435, 1445,
- 1455, 1465, 1475, 1485, 1495, 1505, 1515, 1525, 1534, 1543,
- 1552, 1561, 1570, 1579, 1588, 1599, 1610, 1623, 1636, 1651,
- 1750, 1755, 1760, 1765, 1766, 1767, 1768, 1769, 1770, 1772,
- 1790, 1803, 1808, 1812, 1814, 1816, 1818
+ 576, 587, 598, 609, 618, 627, 637, 646, 656, 670,
+ 686, 695, 704, 713, 722, 743, 764, 773, 783, 792,
+ 803, 812, 821, 830, 839, 848, 858, 867, 878, 889,
+ 901, 910, 919, 928, 937, 946, 955, 964, 973, 982,
+ 992, 1003, 1015, 1024, 1033, 1043, 1053, 1063, 1073, 1083,
+
+ 1093, 1102, 1112, 1121, 1130, 1139, 1148, 1158, 1168, 1177,
+ 1187, 1196, 1205, 1214, 1223, 1232, 1241, 1250, 1259, 1268,
+ 1277, 1286, 1295, 1304, 1313, 1322, 1331, 1340, 1349, 1358,
+ 1367, 1376, 1385, 1394, 1403, 1412, 1421, 1430, 1439, 1448,
+ 1457, 1467, 1477, 1487, 1497, 1507, 1517, 1527, 1537, 1547,
+ 1556, 1565, 1574, 1583, 1592, 1601, 1610, 1621, 1632, 1645,
+ 1658, 1673, 1772, 1777, 1782, 1787, 1788, 1789, 1790, 1791,
+ 1792, 1794, 1812, 1825, 1830, 1834, 1836, 1838, 1840
} ;
/* The intent behind this definition is that it'll catch
#define YY_RESTORE_YY_MORE_OFFSET
char *yytext;
#line 1 "dhcp4_lexer.ll"
-/* Copyright (C) 2016-2018 Internet Systems Consortium, Inc. ("ISC")
+/* Copyright (C) 2016-2019 Internet Systems Consortium, Inc. ("ISC")
This Source Code Form is subject to the terms of the Mozilla Public
License, v. 2.0. If a copy of the MPL was not distributed with this
/* To avoid the call to exit... oops! */
#define YY_FATAL_ERROR(msg) isc::dhcp::Parser4Context::fatal(msg)
-#line 1783 "dhcp4_lexer.cc"
+#line 1798 "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 1809 "dhcp4_lexer.cc"
-#line 1810 "dhcp4_lexer.cc"
+#line 1824 "dhcp4_lexer.cc"
+#line 1825 "dhcp4_lexer.cc"
#define INITIAL 0
#define COMMENT 1
}
-#line 2140 "dhcp4_lexer.cc"
+#line 2155 "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 >= 1507 )
+ if ( yy_current_state >= 1532 )
yy_c = yy_meta[yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
++yy_cp;
}
- while ( yy_current_state != 1506 );
+ while ( yy_current_state != 1531 );
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 < 178 )
+ else if ( yy_act < 180 )
fprintf( stderr, "--accepting rule at line %ld (\"%s\")\n",
(long)yy_rule_linenum[yy_act], yytext );
- else if ( yy_act == 178 )
+ else if ( yy_act == 180 )
fprintf( stderr, "--accepting default rule (\"%s\")\n",
yytext );
- else if ( yy_act == 179 )
+ else if ( yy_act == 181 )
fprintf( stderr, "--(end of buffer or a NUL)\n" );
else
fprintf( stderr, "--EOF (start condition %d)\n", YY_START );
case isc::dhcp::Parser4Context::LEASE_DATABASE:
case isc::dhcp::Parser4Context::HOSTS_DATABASE:
case isc::dhcp::Parser4Context::CONFIG_DATABASE:
- return isc::dhcp::Dhcp4Parser::make_RECONNECT_WAIT_TIME(driver.loc_);
+ return isc::dhcp::Dhcp4Parser::make_CONSISTENCY(driver.loc_);
default:
- return isc::dhcp::Dhcp4Parser::make_STRING("reconnect-wait-time", driver.loc_);
+ return isc::dhcp::Dhcp4Parser::make_STRING("consistency", driver.loc_);
}
}
YY_BREAK
case isc::dhcp::Parser4Context::LEASE_DATABASE:
case isc::dhcp::Parser4Context::HOSTS_DATABASE:
case isc::dhcp::Parser4Context::CONFIG_DATABASE:
- return isc::dhcp::Dhcp4Parser::make_REQUEST_TIMEOUT(driver.loc_);
+ return isc::dhcp::Dhcp4Parser::make_SERIAL_CONSISTENCY(driver.loc_);
default:
- return isc::dhcp::Dhcp4Parser::make_STRING("request-timeout", driver.loc_);
+ return isc::dhcp::Dhcp4Parser::make_STRING("serial-consistency", driver.loc_);
}
}
YY_BREAK
case isc::dhcp::Parser4Context::LEASE_DATABASE:
case isc::dhcp::Parser4Context::HOSTS_DATABASE:
case isc::dhcp::Parser4Context::CONFIG_DATABASE:
- return isc::dhcp::Dhcp4Parser::make_TCP_KEEPALIVE(driver.loc_);
+ return isc::dhcp::Dhcp4Parser::make_RECONNECT_WAIT_TIME(driver.loc_);
default:
- return isc::dhcp::Dhcp4Parser::make_STRING("tcp-keepalive", driver.loc_);
+ return isc::dhcp::Dhcp4Parser::make_STRING("reconnect-wait-time", driver.loc_);
}
}
YY_BREAK
case isc::dhcp::Parser4Context::LEASE_DATABASE:
case isc::dhcp::Parser4Context::HOSTS_DATABASE:
case isc::dhcp::Parser4Context::CONFIG_DATABASE:
- return isc::dhcp::Dhcp4Parser::make_TCP_NODELAY(driver.loc_);
+ return isc::dhcp::Dhcp4Parser::make_REQUEST_TIMEOUT(driver.loc_);
default:
- return isc::dhcp::Dhcp4Parser::make_STRING("tcp-nodelay", driver.loc_);
+ return isc::dhcp::Dhcp4Parser::make_STRING("request-timeout", driver.loc_);
}
}
YY_BREAK
case isc::dhcp::Parser4Context::LEASE_DATABASE:
case isc::dhcp::Parser4Context::HOSTS_DATABASE:
case isc::dhcp::Parser4Context::CONFIG_DATABASE:
- return isc::dhcp::Dhcp4Parser::make_CONTACT_POINTS(driver.loc_);
+ return isc::dhcp::Dhcp4Parser::make_TCP_KEEPALIVE(driver.loc_);
default:
- return isc::dhcp::Dhcp4Parser::make_STRING("contact-points", driver.loc_);
+ return isc::dhcp::Dhcp4Parser::make_STRING("tcp-keepalive", driver.loc_);
}
}
YY_BREAK
case isc::dhcp::Parser4Context::LEASE_DATABASE:
case isc::dhcp::Parser4Context::HOSTS_DATABASE:
case isc::dhcp::Parser4Context::CONFIG_DATABASE:
- return isc::dhcp::Dhcp4Parser::make_MAX_RECONNECT_TRIES(driver.loc_);
+ return isc::dhcp::Dhcp4Parser::make_TCP_NODELAY(driver.loc_);
default:
- return isc::dhcp::Dhcp4Parser::make_STRING("max-reconnect-tries", driver.loc_);
+ return isc::dhcp::Dhcp4Parser::make_STRING("tcp-nodelay", driver.loc_);
}
}
YY_BREAK
case 49:
YY_RULE_SETUP
#line 554 "dhcp4_lexer.ll"
+{
+ switch(driver.ctx_) {
+ case isc::dhcp::Parser4Context::LEASE_DATABASE:
+ case isc::dhcp::Parser4Context::HOSTS_DATABASE:
+ case isc::dhcp::Parser4Context::CONFIG_DATABASE:
+ return isc::dhcp::Dhcp4Parser::make_CONTACT_POINTS(driver.loc_);
+ default:
+ return isc::dhcp::Dhcp4Parser::make_STRING("contact-points", driver.loc_);
+ }
+}
+ YY_BREAK
+case 50:
+YY_RULE_SETUP
+#line 565 "dhcp4_lexer.ll"
+{
+ switch(driver.ctx_) {
+ case isc::dhcp::Parser4Context::LEASE_DATABASE:
+ case isc::dhcp::Parser4Context::HOSTS_DATABASE:
+ case isc::dhcp::Parser4Context::CONFIG_DATABASE:
+ return isc::dhcp::Dhcp4Parser::make_MAX_RECONNECT_TRIES(driver.loc_);
+ default:
+ return isc::dhcp::Dhcp4Parser::make_STRING("max-reconnect-tries", driver.loc_);
+ }
+}
+ YY_BREAK
+case 51:
+YY_RULE_SETUP
+#line 576 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 50:
+case 52:
YY_RULE_SETUP
-#line 565 "dhcp4_lexer.ll"
+#line 587 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 51:
+case 53:
YY_RULE_SETUP
-#line 576 "dhcp4_lexer.ll"
+#line 598 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 52:
+case 54:
YY_RULE_SETUP
-#line 587 "dhcp4_lexer.ll"
+#line 609 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 53:
+case 55:
YY_RULE_SETUP
-#line 596 "dhcp4_lexer.ll"
+#line 618 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 54:
+case 56:
YY_RULE_SETUP
-#line 605 "dhcp4_lexer.ll"
+#line 627 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 55:
+case 57:
YY_RULE_SETUP
-#line 615 "dhcp4_lexer.ll"
+#line 637 "dhcp4_lexer.ll"
{
switch (driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 56:
+case 58:
YY_RULE_SETUP
-#line 624 "dhcp4_lexer.ll"
+#line 646 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 57:
+case 59:
YY_RULE_SETUP
-#line 634 "dhcp4_lexer.ll"
+#line 656 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 58:
+case 60:
YY_RULE_SETUP
-#line 648 "dhcp4_lexer.ll"
+#line 670 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::LEASE_DATABASE:
}
}
YY_BREAK
-case 59:
+case 61:
YY_RULE_SETUP
-#line 664 "dhcp4_lexer.ll"
+#line 686 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::OPTION_DATA:
}
}
YY_BREAK
-case 60:
+case 62:
YY_RULE_SETUP
-#line 673 "dhcp4_lexer.ll"
+#line 695 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::OPTION_DATA:
}
}
YY_BREAK
-case 61:
+case 63:
YY_RULE_SETUP
-#line 682 "dhcp4_lexer.ll"
+#line 704 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::SUBNET4:
}
}
YY_BREAK
-case 62:
+case 64:
YY_RULE_SETUP
-#line 691 "dhcp4_lexer.ll"
+#line 713 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::POOLS:
}
}
YY_BREAK
-case 63:
+case 65:
YY_RULE_SETUP
-#line 700 "dhcp4_lexer.ll"
+#line 722 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 64:
+case 66:
YY_RULE_SETUP
-#line 721 "dhcp4_lexer.ll"
+#line 743 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 65:
+case 67:
YY_RULE_SETUP
-#line 742 "dhcp4_lexer.ll"
+#line 764 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::SUBNET4:
}
}
YY_BREAK
-case 66:
+case 68:
YY_RULE_SETUP
-#line 751 "dhcp4_lexer.ll"
+#line 773 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::SUBNET4:
}
}
YY_BREAK
-case 67:
+case 69:
YY_RULE_SETUP
-#line 761 "dhcp4_lexer.ll"
+#line 783 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::SUBNET4:
}
}
YY_BREAK
-case 68:
+case 70:
YY_RULE_SETUP
-#line 770 "dhcp4_lexer.ll"
+#line 792 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 69:
+case 71:
YY_RULE_SETUP
-#line 781 "dhcp4_lexer.ll"
+#line 803 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::RESERVATION_MODE:
}
}
YY_BREAK
-case 70:
+case 72:
YY_RULE_SETUP
-#line 790 "dhcp4_lexer.ll"
+#line 812 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::RESERVATION_MODE:
}
}
YY_BREAK
-case 71:
+case 73:
YY_RULE_SETUP
-#line 799 "dhcp4_lexer.ll"
+#line 821 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::RESERVATION_MODE:
}
}
YY_BREAK
-case 72:
+case 74:
YY_RULE_SETUP
-#line 808 "dhcp4_lexer.ll"
+#line 830 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::RESERVATION_MODE:
}
}
YY_BREAK
-case 73:
+case 75:
YY_RULE_SETUP
-#line 817 "dhcp4_lexer.ll"
+#line 839 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::RESERVATION_MODE:
}
}
YY_BREAK
-case 74:
+case 76:
YY_RULE_SETUP
-#line 826 "dhcp4_lexer.ll"
+#line 848 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::OPTION_DEF:
}
}
YY_BREAK
-case 75:
+case 77:
YY_RULE_SETUP
-#line 836 "dhcp4_lexer.ll"
+#line 858 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 76:
+case 78:
YY_RULE_SETUP
-#line 845 "dhcp4_lexer.ll"
+#line 867 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 77:
+case 79:
YY_RULE_SETUP
-#line 856 "dhcp4_lexer.ll"
+#line 878 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 78:
+case 80:
YY_RULE_SETUP
-#line 867 "dhcp4_lexer.ll"
+#line 889 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 79:
+case 81:
YY_RULE_SETUP
-#line 879 "dhcp4_lexer.ll"
+#line 901 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::CONFIG:
}
}
YY_BREAK
-case 80:
+case 82:
YY_RULE_SETUP
-#line 888 "dhcp4_lexer.ll"
+#line 910 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::LOGGING:
}
}
YY_BREAK
-case 81:
+case 83:
YY_RULE_SETUP
-#line 897 "dhcp4_lexer.ll"
+#line 919 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::LOGGERS:
}
}
YY_BREAK
-case 82:
+case 84:
YY_RULE_SETUP
-#line 906 "dhcp4_lexer.ll"
+#line 928 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::OUTPUT_OPTIONS:
}
}
YY_BREAK
-case 83:
+case 85:
YY_RULE_SETUP
-#line 915 "dhcp4_lexer.ll"
+#line 937 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::LOGGERS:
}
}
YY_BREAK
-case 84:
+case 86:
YY_RULE_SETUP
-#line 924 "dhcp4_lexer.ll"
+#line 946 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::OUTPUT_OPTIONS:
}
}
YY_BREAK
-case 85:
+case 87:
YY_RULE_SETUP
-#line 933 "dhcp4_lexer.ll"
+#line 955 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::OUTPUT_OPTIONS:
}
}
YY_BREAK
-case 86:
+case 88:
YY_RULE_SETUP
-#line 942 "dhcp4_lexer.ll"
+#line 964 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::OUTPUT_OPTIONS:
}
}
YY_BREAK
-case 87:
+case 89:
YY_RULE_SETUP
-#line 951 "dhcp4_lexer.ll"
+#line 973 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::LOGGERS:
}
}
YY_BREAK
-case 88:
+case 90:
YY_RULE_SETUP
-#line 960 "dhcp4_lexer.ll"
+#line 982 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 89:
+case 91:
YY_RULE_SETUP
-#line 970 "dhcp4_lexer.ll"
+#line 992 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::SUBNET4:
}
}
YY_BREAK
-case 90:
+case 92:
YY_RULE_SETUP
-#line 981 "dhcp4_lexer.ll"
+#line 1003 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::SUBNET4:
}
}
YY_BREAK
-case 91:
+case 93:
YY_RULE_SETUP
-#line 993 "dhcp4_lexer.ll"
+#line 1015 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::CLIENT_CLASSES:
}
}
YY_BREAK
-case 92:
+case 94:
YY_RULE_SETUP
-#line 1002 "dhcp4_lexer.ll"
+#line 1024 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::CLIENT_CLASSES:
}
}
YY_BREAK
-case 93:
+case 95:
YY_RULE_SETUP
-#line 1011 "dhcp4_lexer.ll"
+#line 1033 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 94:
+case 96:
YY_RULE_SETUP
-#line 1021 "dhcp4_lexer.ll"
+#line 1043 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS:
}
}
YY_BREAK
-case 95:
+case 97:
YY_RULE_SETUP
-#line 1031 "dhcp4_lexer.ll"
+#line 1053 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS:
}
}
YY_BREAK
-case 96:
+case 98:
YY_RULE_SETUP
-#line 1041 "dhcp4_lexer.ll"
+#line 1063 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS:
}
}
YY_BREAK
-case 97:
+case 99:
YY_RULE_SETUP
-#line 1051 "dhcp4_lexer.ll"
+#line 1073 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS:
}
}
YY_BREAK
-case 98:
+case 100:
YY_RULE_SETUP
-#line 1061 "dhcp4_lexer.ll"
+#line 1083 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS:
}
}
YY_BREAK
-case 99:
+case 101:
YY_RULE_SETUP
-#line 1071 "dhcp4_lexer.ll"
+#line 1093 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::RESERVATIONS:
}
}
YY_BREAK
-case 100:
+case 102:
YY_RULE_SETUP
-#line 1080 "dhcp4_lexer.ll"
+#line 1102 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::OPTION_DEF:
}
}
YY_BREAK
-case 101:
+case 103:
YY_RULE_SETUP
-#line 1090 "dhcp4_lexer.ll"
+#line 1112 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::OPTION_DATA:
}
}
YY_BREAK
-case 102:
+case 104:
YY_RULE_SETUP
-#line 1099 "dhcp4_lexer.ll"
+#line 1121 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::OPTION_DEF:
}
}
YY_BREAK
-case 103:
+case 105:
YY_RULE_SETUP
-#line 1108 "dhcp4_lexer.ll"
+#line 1130 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::OPTION_DEF:
}
}
YY_BREAK
-case 104:
+case 106:
YY_RULE_SETUP
-#line 1117 "dhcp4_lexer.ll"
+#line 1139 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::OPTION_DEF:
}
}
YY_BREAK
-case 105:
+case 107:
YY_RULE_SETUP
-#line 1126 "dhcp4_lexer.ll"
+#line 1148 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::SUBNET4:
}
}
YY_BREAK
-case 106:
+case 108:
YY_RULE_SETUP
-#line 1136 "dhcp4_lexer.ll"
+#line 1158 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::RELAY:
}
}
YY_BREAK
-case 107:
+case 109:
YY_RULE_SETUP
-#line 1146 "dhcp4_lexer.ll"
+#line 1168 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::RELAY:
}
}
YY_BREAK
-case 108:
+case 110:
YY_RULE_SETUP
-#line 1155 "dhcp4_lexer.ll"
+#line 1177 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 109:
+case 111:
YY_RULE_SETUP
-#line 1165 "dhcp4_lexer.ll"
+#line 1187 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::HOOKS_LIBRARIES:
}
}
YY_BREAK
-case 110:
+case 112:
YY_RULE_SETUP
-#line 1174 "dhcp4_lexer.ll"
+#line 1196 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::HOOKS_LIBRARIES:
}
}
YY_BREAK
-case 111:
+case 113:
YY_RULE_SETUP
-#line 1183 "dhcp4_lexer.ll"
+#line 1205 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 112:
+case 114:
YY_RULE_SETUP
-#line 1192 "dhcp4_lexer.ll"
+#line 1214 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING:
}
}
YY_BREAK
-case 113:
+case 115:
YY_RULE_SETUP
-#line 1201 "dhcp4_lexer.ll"
+#line 1223 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING:
}
}
YY_BREAK
-case 114:
+case 116:
YY_RULE_SETUP
-#line 1210 "dhcp4_lexer.ll"
+#line 1232 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING:
}
}
YY_BREAK
-case 115:
+case 117:
YY_RULE_SETUP
-#line 1219 "dhcp4_lexer.ll"
+#line 1241 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING:
}
}
YY_BREAK
-case 116:
+case 118:
YY_RULE_SETUP
-#line 1228 "dhcp4_lexer.ll"
+#line 1250 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING:
}
}
YY_BREAK
-case 117:
+case 119:
YY_RULE_SETUP
-#line 1237 "dhcp4_lexer.ll"
+#line 1259 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING:
}
}
YY_BREAK
-case 118:
+case 120:
YY_RULE_SETUP
-#line 1246 "dhcp4_lexer.ll"
+#line 1268 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 119:
+case 121:
YY_RULE_SETUP
-#line 1255 "dhcp4_lexer.ll"
+#line 1277 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 120:
+case 122:
YY_RULE_SETUP
-#line 1264 "dhcp4_lexer.ll"
+#line 1286 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::CONTROL_SOCKET:
}
}
YY_BREAK
-case 121:
+case 123:
YY_RULE_SETUP
-#line 1273 "dhcp4_lexer.ll"
+#line 1295 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::CONTROL_SOCKET:
}
}
YY_BREAK
-case 122:
+case 124:
YY_RULE_SETUP
-#line 1282 "dhcp4_lexer.ll"
+#line 1304 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 123:
+case 125:
YY_RULE_SETUP
-#line 1291 "dhcp4_lexer.ll"
+#line 1313 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 124:
+case 126:
YY_RULE_SETUP
-#line 1300 "dhcp4_lexer.ll"
+#line 1322 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_DDNS:
}
}
YY_BREAK
-case 125:
+case 127:
YY_RULE_SETUP
-#line 1309 "dhcp4_lexer.ll"
+#line 1331 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_DDNS:
}
}
YY_BREAK
-case 126:
+case 128:
YY_RULE_SETUP
-#line 1318 "dhcp4_lexer.ll"
+#line 1340 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_DDNS:
}
}
YY_BREAK
-case 127:
+case 129:
YY_RULE_SETUP
-#line 1327 "dhcp4_lexer.ll"
+#line 1349 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_DDNS:
}
}
YY_BREAK
-case 128:
+case 130:
YY_RULE_SETUP
-#line 1336 "dhcp4_lexer.ll"
+#line 1358 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_DDNS:
}
}
YY_BREAK
-case 129:
+case 131:
YY_RULE_SETUP
-#line 1345 "dhcp4_lexer.ll"
+#line 1367 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_DDNS:
}
}
YY_BREAK
-case 130:
+case 132:
YY_RULE_SETUP
-#line 1354 "dhcp4_lexer.ll"
+#line 1376 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_DDNS:
}
}
YY_BREAK
-case 131:
+case 133:
YY_RULE_SETUP
-#line 1363 "dhcp4_lexer.ll"
+#line 1385 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_DDNS:
}
}
YY_BREAK
-case 132:
+case 134:
YY_RULE_SETUP
-#line 1372 "dhcp4_lexer.ll"
+#line 1394 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_DDNS:
}
}
YY_BREAK
-case 133:
+case 135:
YY_RULE_SETUP
-#line 1381 "dhcp4_lexer.ll"
+#line 1403 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_DDNS:
}
}
YY_BREAK
-case 134:
+case 136:
YY_RULE_SETUP
-#line 1390 "dhcp4_lexer.ll"
+#line 1412 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_DDNS:
}
}
YY_BREAK
-case 135:
+case 137:
YY_RULE_SETUP
-#line 1399 "dhcp4_lexer.ll"
+#line 1421 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_DDNS:
}
}
YY_BREAK
-case 136:
+case 138:
YY_RULE_SETUP
-#line 1408 "dhcp4_lexer.ll"
+#line 1430 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_DDNS:
}
}
YY_BREAK
-case 137:
+case 139:
YY_RULE_SETUP
-#line 1417 "dhcp4_lexer.ll"
+#line 1439 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_DDNS:
}
}
YY_BREAK
-case 138:
+case 140:
YY_RULE_SETUP
-#line 1426 "dhcp4_lexer.ll"
+#line 1448 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_DDNS:
}
}
YY_BREAK
-case 139:
+case 141:
YY_RULE_SETUP
-#line 1435 "dhcp4_lexer.ll"
+#line 1457 "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 140:
+case 142:
YY_RULE_SETUP
-#line 1445 "dhcp4_lexer.ll"
+#line 1467 "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 141:
+case 143:
YY_RULE_SETUP
-#line 1455 "dhcp4_lexer.ll"
+#line 1477 "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 142:
+case 144:
YY_RULE_SETUP
-#line 1465 "dhcp4_lexer.ll"
+#line 1487 "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 143:
+case 145:
YY_RULE_SETUP
-#line 1475 "dhcp4_lexer.ll"
+#line 1497 "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 144:
+case 146:
YY_RULE_SETUP
-#line 1485 "dhcp4_lexer.ll"
+#line 1507 "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 145:
+case 147:
YY_RULE_SETUP
-#line 1495 "dhcp4_lexer.ll"
+#line 1517 "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 146:
+case 148:
YY_RULE_SETUP
-#line 1505 "dhcp4_lexer.ll"
+#line 1527 "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 147:
+case 149:
YY_RULE_SETUP
-#line 1515 "dhcp4_lexer.ll"
+#line 1537 "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 148:
+case 150:
YY_RULE_SETUP
-#line 1525 "dhcp4_lexer.ll"
+#line 1547 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::CONFIG:
}
}
YY_BREAK
-case 149:
+case 151:
YY_RULE_SETUP
-#line 1534 "dhcp4_lexer.ll"
+#line 1556 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::CONFIG:
}
}
YY_BREAK
-case 150:
+case 152:
YY_RULE_SETUP
-#line 1543 "dhcp4_lexer.ll"
+#line 1565 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::CONFIG:
}
}
YY_BREAK
-case 151:
+case 153:
YY_RULE_SETUP
-#line 1552 "dhcp4_lexer.ll"
+#line 1574 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::SUBNET4:
}
}
YY_BREAK
-case 152:
+case 154:
YY_RULE_SETUP
-#line 1561 "dhcp4_lexer.ll"
+#line 1583 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::SUBNET4:
}
}
YY_BREAK
-case 153:
+case 155:
YY_RULE_SETUP
-#line 1570 "dhcp4_lexer.ll"
+#line 1592 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::SUBNET4:
}
}
YY_BREAK
-case 154:
+case 156:
YY_RULE_SETUP
-#line 1579 "dhcp4_lexer.ll"
+#line 1601 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 155:
+case 157:
YY_RULE_SETUP
-#line 1588 "dhcp4_lexer.ll"
+#line 1610 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 156:
+case 158:
YY_RULE_SETUP
-#line 1599 "dhcp4_lexer.ll"
+#line 1621 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 157:
+case 159:
YY_RULE_SETUP
-#line 1610 "dhcp4_lexer.ll"
+#line 1632 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 158:
+case 160:
YY_RULE_SETUP
-#line 1623 "dhcp4_lexer.ll"
+#line 1645 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 159:
+case 161:
YY_RULE_SETUP
-#line 1636 "dhcp4_lexer.ll"
+#line 1658 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 160:
+case 162:
YY_RULE_SETUP
-#line 1651 "dhcp4_lexer.ll"
+#line 1673 "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 161:
-/* rule 161 can match eol */
+case 163:
+/* rule 163 can match eol */
YY_RULE_SETUP
-#line 1750 "dhcp4_lexer.ll"
+#line 1772 "dhcp4_lexer.ll"
{
/* Bad string with a forbidden control character inside */
driver.error(driver.loc_, "Invalid control in " + std::string(yytext));
}
YY_BREAK
-case 162:
-/* rule 162 can match eol */
+case 164:
+/* rule 164 can match eol */
YY_RULE_SETUP
-#line 1755 "dhcp4_lexer.ll"
+#line 1777 "dhcp4_lexer.ll"
{
/* Bad string with a bad escape inside */
driver.error(driver.loc_, "Bad escape in " + std::string(yytext));
}
YY_BREAK
-case 163:
+case 165:
YY_RULE_SETUP
-#line 1760 "dhcp4_lexer.ll"
+#line 1782 "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 164:
+case 166:
YY_RULE_SETUP
-#line 1765 "dhcp4_lexer.ll"
+#line 1787 "dhcp4_lexer.ll"
{ return isc::dhcp::Dhcp4Parser::make_LSQUARE_BRACKET(driver.loc_); }
YY_BREAK
-case 165:
+case 167:
YY_RULE_SETUP
-#line 1766 "dhcp4_lexer.ll"
+#line 1788 "dhcp4_lexer.ll"
{ return isc::dhcp::Dhcp4Parser::make_RSQUARE_BRACKET(driver.loc_); }
YY_BREAK
-case 166:
+case 168:
YY_RULE_SETUP
-#line 1767 "dhcp4_lexer.ll"
+#line 1789 "dhcp4_lexer.ll"
{ return isc::dhcp::Dhcp4Parser::make_LCURLY_BRACKET(driver.loc_); }
YY_BREAK
-case 167:
+case 169:
YY_RULE_SETUP
-#line 1768 "dhcp4_lexer.ll"
+#line 1790 "dhcp4_lexer.ll"
{ return isc::dhcp::Dhcp4Parser::make_RCURLY_BRACKET(driver.loc_); }
YY_BREAK
-case 168:
+case 170:
YY_RULE_SETUP
-#line 1769 "dhcp4_lexer.ll"
+#line 1791 "dhcp4_lexer.ll"
{ return isc::dhcp::Dhcp4Parser::make_COMMA(driver.loc_); }
YY_BREAK
-case 169:
+case 171:
YY_RULE_SETUP
-#line 1770 "dhcp4_lexer.ll"
+#line 1792 "dhcp4_lexer.ll"
{ return isc::dhcp::Dhcp4Parser::make_COLON(driver.loc_); }
YY_BREAK
-case 170:
+case 172:
YY_RULE_SETUP
-#line 1772 "dhcp4_lexer.ll"
+#line 1794 "dhcp4_lexer.ll"
{
/* An integer was found. */
std::string tmp(yytext);
return isc::dhcp::Dhcp4Parser::make_INTEGER(integer, driver.loc_);
}
YY_BREAK
-case 171:
+case 173:
YY_RULE_SETUP
-#line 1790 "dhcp4_lexer.ll"
+#line 1812 "dhcp4_lexer.ll"
{
/* A floating point was found. */
std::string tmp(yytext);
return isc::dhcp::Dhcp4Parser::make_FLOAT(fp, driver.loc_);
}
YY_BREAK
-case 172:
+case 174:
YY_RULE_SETUP
-#line 1803 "dhcp4_lexer.ll"
+#line 1825 "dhcp4_lexer.ll"
{
string tmp(yytext);
return isc::dhcp::Dhcp4Parser::make_BOOLEAN(tmp == "true", driver.loc_);
}
YY_BREAK
-case 173:
+case 175:
YY_RULE_SETUP
-#line 1808 "dhcp4_lexer.ll"
+#line 1830 "dhcp4_lexer.ll"
{
return isc::dhcp::Dhcp4Parser::make_NULL_TYPE(driver.loc_);
}
YY_BREAK
-case 174:
+case 176:
YY_RULE_SETUP
-#line 1812 "dhcp4_lexer.ll"
+#line 1834 "dhcp4_lexer.ll"
driver.error (driver.loc_, "JSON true reserved keyword is lower case only");
YY_BREAK
-case 175:
+case 177:
YY_RULE_SETUP
-#line 1814 "dhcp4_lexer.ll"
+#line 1836 "dhcp4_lexer.ll"
driver.error (driver.loc_, "JSON false reserved keyword is lower case only");
YY_BREAK
-case 176:
+case 178:
YY_RULE_SETUP
-#line 1816 "dhcp4_lexer.ll"
+#line 1838 "dhcp4_lexer.ll"
driver.error (driver.loc_, "JSON null reserved keyword is lower case only");
YY_BREAK
-case 177:
+case 179:
YY_RULE_SETUP
-#line 1818 "dhcp4_lexer.ll"
+#line 1840 "dhcp4_lexer.ll"
driver.error (driver.loc_, "Invalid character: " + std::string(yytext));
YY_BREAK
case YY_STATE_EOF(INITIAL):
-#line 1820 "dhcp4_lexer.ll"
+#line 1842 "dhcp4_lexer.ll"
{
if (driver.states_.empty()) {
return isc::dhcp::Dhcp4Parser::make_END(driver.loc_);
BEGIN(DIR_EXIT);
}
YY_BREAK
-case 178:
+case 180:
YY_RULE_SETUP
-#line 1843 "dhcp4_lexer.ll"
+#line 1865 "dhcp4_lexer.ll"
ECHO;
YY_BREAK
-#line 4464 "dhcp4_lexer.cc"
+#line 4507 "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 >= 1507 )
+ if ( yy_current_state >= 1532 )
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 >= 1507 )
+ if ( yy_current_state >= 1532 )
yy_c = yy_meta[yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
- yy_is_jam = (yy_current_state == 1506);
+ yy_is_jam = (yy_current_state == 1531);
return yy_is_jam ? 0 : yy_current_state;
}
/* %ok-for-header */
-#line 1843 "dhcp4_lexer.ll"
+#line 1865 "dhcp4_lexer.ll"
using namespace isc::dhcp;
-// A Bison parser, made by GNU Bison 3.3.2.
+// A Bison parser, made by GNU Bison 3.0.4.
// Skeleton implementation for Bison LALR(1) parsers in C++
-// Copyright (C) 2002-2015, 2018-2019 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" // lalr1.cc:435
+#line 34 "dhcp4_parser.yy" // lalr1.cc:413
#include <dhcp4/parser_context.h>
-#line 51 "dhcp4_parser.cc" // lalr1.cc:435
+#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
{ \
*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" // lalr1.cc:510
+#line 14 "dhcp4_parser.yy" // lalr1.cc:479
namespace isc { namespace dhcp {
-#line 146 "dhcp4_parser.cc" // lalr1.cc:510
+#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;
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;
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 188: // value
- case 192: // map_value
- case 236: // socket_type
- case 239: // outbound_interface_value
- case 261: // db_type
- case 343: // hr_mode
- case 492: // ncr_protocol_value
- case 499: // replace_client_name_value
- value.YY_MOVE_OR_COPY< ElementPtr > (YY_MOVE (that.value));
- break;
- case 171: // "boolean"
- value.YY_MOVE_OR_COPY< bool > (YY_MOVE (that.value));
- break;
-
- case 170: // "floating point"
- value.YY_MOVE_OR_COPY< double > (YY_MOVE (that.value));
- break;
-
- case 169: // "integer"
- value.YY_MOVE_OR_COPY< int64_t > (YY_MOVE (that.value));
- break;
-
- case 168: // "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 188: // value
- case 192: // map_value
- case 236: // socket_type
- case 239: // outbound_interface_value
- case 261: // db_type
- case 343: // hr_mode
- case 492: // ncr_protocol_value
- case 499: // replace_client_name_value
- value.move< ElementPtr > (YY_MOVE (that.value));
+ switch (that.type_get ())
+ {
+ case 190: // value
+ case 194: // map_value
+ case 238: // socket_type
+ case 241: // outbound_interface_value
+ case 263: // db_type
+ case 349: // hr_mode
+ case 498: // ncr_protocol_value
+ case 505: // replace_client_name_value
+ value.move< ElementPtr > (that.value);
break;
- case 171: // "boolean"
- value.move< bool > (YY_MOVE (that.value));
+ case 173: // "boolean"
+ value.move< bool > (that.value);
break;
- case 170: // "floating point"
- value.move< double > (YY_MOVE (that.value));
+ case 172: // "floating point"
+ value.move< double > (that.value);
break;
- case 169: // "integer"
- value.move< int64_t > (YY_MOVE (that.value));
+ case 171: // "integer"
+ value.move< int64_t > (that.value);
break;
- case 168: // "constant string"
- value.move< std::string > (YY_MOVE (that.value));
+ case 170: // "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= (stack_symbol_type& that)
+ Dhcp4Parser::stack_symbol_type::operator= (const stack_symbol_type& that)
{
state = that.state;
- switch (that.type_get ())
- {
- case 188: // value
- case 192: // map_value
- case 236: // socket_type
- case 239: // outbound_interface_value
- case 261: // db_type
- case 343: // hr_mode
- case 492: // ncr_protocol_value
- case 499: // replace_client_name_value
- value.move< ElementPtr > (that.value);
+ switch (that.type_get ())
+ {
+ case 190: // value
+ case 194: // map_value
+ case 238: // socket_type
+ case 241: // outbound_interface_value
+ case 263: // db_type
+ case 349: // hr_mode
+ case 498: // ncr_protocol_value
+ case 505: // replace_client_name_value
+ value.copy< ElementPtr > (that.value);
break;
- case 171: // "boolean"
- value.move< bool > (that.value);
+ case 173: // "boolean"
+ value.copy< bool > (that.value);
break;
- case 170: // "floating point"
- value.move< double > (that.value);
+ case 172: // "floating point"
+ value.copy< double > (that.value);
break;
- case 169: // "integer"
- value.move< int64_t > (that.value);
+ case 171: // "integer"
+ value.copy< int64_t > (that.value);
break;
- case 168: // "constant string"
- value.move< std::string > (that.value);
+ case 170: // "constant string"
+ value.copy< std::string > (that.value);
break;
default:
}
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 168: // "constant string"
-#line 248 "dhcp4_parser.yy" // lalr1.cc:676
- { yyoutput << yysym.value.template as < std::string > (); }
-#line 407 "dhcp4_parser.cc" // lalr1.cc:676
+ case 170: // "constant string"
+
+#line 250 "dhcp4_parser.yy" // lalr1.cc:636
+ { yyoutput << yysym.value.template as< std::string > (); }
+#line 366 "dhcp4_parser.cc" // lalr1.cc:636
break;
- case 169: // "integer"
-#line 248 "dhcp4_parser.yy" // lalr1.cc:676
- { yyoutput << yysym.value.template as < int64_t > (); }
-#line 413 "dhcp4_parser.cc" // lalr1.cc:676
+ case 171: // "integer"
+
+#line 250 "dhcp4_parser.yy" // lalr1.cc:636
+ { yyoutput << yysym.value.template as< int64_t > (); }
+#line 373 "dhcp4_parser.cc" // lalr1.cc:636
break;
- case 170: // "floating point"
-#line 248 "dhcp4_parser.yy" // lalr1.cc:676
- { yyoutput << yysym.value.template as < double > (); }
-#line 419 "dhcp4_parser.cc" // lalr1.cc:676
+ case 172: // "floating point"
+
+#line 250 "dhcp4_parser.yy" // lalr1.cc:636
+ { yyoutput << yysym.value.template as< double > (); }
+#line 380 "dhcp4_parser.cc" // lalr1.cc:636
break;
- case 171: // "boolean"
-#line 248 "dhcp4_parser.yy" // lalr1.cc:676
- { yyoutput << yysym.value.template as < bool > (); }
-#line 425 "dhcp4_parser.cc" // lalr1.cc:676
+ case 173: // "boolean"
+
+#line 250 "dhcp4_parser.yy" // lalr1.cc:636
+ { yyoutput << yysym.value.template as< bool > (); }
+#line 387 "dhcp4_parser.cc" // lalr1.cc:636
break;
- case 188: // value
-#line 248 "dhcp4_parser.yy" // lalr1.cc:676
- { yyoutput << yysym.value.template as < ElementPtr > (); }
-#line 431 "dhcp4_parser.cc" // lalr1.cc:676
+ case 190: // value
+
+#line 250 "dhcp4_parser.yy" // lalr1.cc:636
+ { yyoutput << yysym.value.template as< ElementPtr > (); }
+#line 394 "dhcp4_parser.cc" // lalr1.cc:636
break;
- case 192: // map_value
-#line 248 "dhcp4_parser.yy" // lalr1.cc:676
- { yyoutput << yysym.value.template as < ElementPtr > (); }
-#line 437 "dhcp4_parser.cc" // lalr1.cc:676
+ case 194: // map_value
+
+#line 250 "dhcp4_parser.yy" // lalr1.cc:636
+ { yyoutput << yysym.value.template as< ElementPtr > (); }
+#line 401 "dhcp4_parser.cc" // lalr1.cc:636
break;
- case 236: // socket_type
-#line 248 "dhcp4_parser.yy" // lalr1.cc:676
- { yyoutput << yysym.value.template as < ElementPtr > (); }
-#line 443 "dhcp4_parser.cc" // lalr1.cc:676
+ case 238: // socket_type
+
+#line 250 "dhcp4_parser.yy" // lalr1.cc:636
+ { yyoutput << yysym.value.template as< ElementPtr > (); }
+#line 408 "dhcp4_parser.cc" // lalr1.cc:636
break;
- case 239: // outbound_interface_value
-#line 248 "dhcp4_parser.yy" // lalr1.cc:676
- { yyoutput << yysym.value.template as < ElementPtr > (); }
-#line 449 "dhcp4_parser.cc" // lalr1.cc:676
+ case 241: // outbound_interface_value
+
+#line 250 "dhcp4_parser.yy" // lalr1.cc:636
+ { yyoutput << yysym.value.template as< ElementPtr > (); }
+#line 415 "dhcp4_parser.cc" // lalr1.cc:636
break;
- case 261: // db_type
-#line 248 "dhcp4_parser.yy" // lalr1.cc:676
- { yyoutput << yysym.value.template as < ElementPtr > (); }
-#line 455 "dhcp4_parser.cc" // lalr1.cc:676
+ case 263: // db_type
+
+#line 250 "dhcp4_parser.yy" // lalr1.cc:636
+ { yyoutput << yysym.value.template as< ElementPtr > (); }
+#line 422 "dhcp4_parser.cc" // lalr1.cc:636
break;
- case 343: // hr_mode
-#line 248 "dhcp4_parser.yy" // lalr1.cc:676
- { yyoutput << yysym.value.template as < ElementPtr > (); }
-#line 461 "dhcp4_parser.cc" // lalr1.cc:676
+ case 349: // hr_mode
+
+#line 250 "dhcp4_parser.yy" // lalr1.cc:636
+ { yyoutput << yysym.value.template as< ElementPtr > (); }
+#line 429 "dhcp4_parser.cc" // lalr1.cc:636
break;
- case 492: // ncr_protocol_value
-#line 248 "dhcp4_parser.yy" // lalr1.cc:676
- { yyoutput << yysym.value.template as < ElementPtr > (); }
-#line 467 "dhcp4_parser.cc" // lalr1.cc:676
+ case 498: // ncr_protocol_value
+
+#line 250 "dhcp4_parser.yy" // lalr1.cc:636
+ { yyoutput << yysym.value.template as< ElementPtr > (); }
+#line 436 "dhcp4_parser.cc" // lalr1.cc:636
break;
- case 499: // replace_client_name_value
-#line 248 "dhcp4_parser.yy" // lalr1.cc:676
- { yyoutput << yysym.value.template as < ElementPtr > (); }
-#line 473 "dhcp4_parser.cc" // lalr1.cc:676
+ case 505: // replace_client_name_value
+
+#line 250 "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 ()
{
/// 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 " << 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];
if (yy_pact_value_is_default_ (yyn))
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);
--yyerrstatus_;
// Shift the lookahead token.
- yypush_ ("Shifting", yyn, YY_MOVE (yyla));
+ yypush_ ("Shifting", yyn, yyla);
goto yynewstate;
-
/*-----------------------------------------------------------.
| yydefault -- do the default action for the current state. |
`-----------------------------------------------------------*/
goto yyerrlab;
goto yyreduce;
-
/*-----------------------------.
- | yyreduce -- do a reduction. |
+ | yyreduce -- Do a reduction. |
`-----------------------------*/
yyreduce:
yylen = yyr2_[yyn];
{
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 188: // value
- case 192: // map_value
- case 236: // socket_type
- case 239: // outbound_interface_value
- case 261: // db_type
- case 343: // hr_mode
- case 492: // ncr_protocol_value
- case 499: // replace_client_name_value
- yylhs.value.emplace< ElementPtr > ();
+ switch (yyr1_[yyn])
+ {
+ case 190: // value
+ case 194: // map_value
+ case 238: // socket_type
+ case 241: // outbound_interface_value
+ case 263: // db_type
+ case 349: // hr_mode
+ case 498: // ncr_protocol_value
+ case 505: // replace_client_name_value
+ yylhs.value.build< ElementPtr > ();
break;
- case 171: // "boolean"
- yylhs.value.emplace< bool > ();
+ case 173: // "boolean"
+ yylhs.value.build< bool > ();
break;
- case 170: // "floating point"
- yylhs.value.emplace< double > ();
+ case 172: // "floating point"
+ yylhs.value.build< double > ();
break;
- case 169: // "integer"
- yylhs.value.emplace< int64_t > ();
+ case 171: // "integer"
+ yylhs.value.build< int64_t > ();
break;
- case 168: // "constant string"
- yylhs.value.emplace< std::string > ();
+ case 170: // "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 257 "dhcp4_parser.yy" // lalr1.cc:919
+#line 259 "dhcp4_parser.yy" // lalr1.cc:859
{ ctx.ctx_ = ctx.NO_KEYWORD; }
-#line 740 "dhcp4_parser.cc" // lalr1.cc:919
+#line 690 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 4:
-#line 258 "dhcp4_parser.yy" // lalr1.cc:919
+#line 260 "dhcp4_parser.yy" // lalr1.cc:859
{ ctx.ctx_ = ctx.CONFIG; }
-#line 746 "dhcp4_parser.cc" // lalr1.cc:919
+#line 696 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 6:
-#line 259 "dhcp4_parser.yy" // lalr1.cc:919
+#line 261 "dhcp4_parser.yy" // lalr1.cc:859
{ ctx.ctx_ = ctx.DHCP4; }
-#line 752 "dhcp4_parser.cc" // lalr1.cc:919
+#line 702 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 8:
-#line 260 "dhcp4_parser.yy" // lalr1.cc:919
+#line 262 "dhcp4_parser.yy" // lalr1.cc:859
{ ctx.ctx_ = ctx.INTERFACES_CONFIG; }
-#line 758 "dhcp4_parser.cc" // lalr1.cc:919
+#line 708 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 10:
-#line 261 "dhcp4_parser.yy" // lalr1.cc:919
+#line 263 "dhcp4_parser.yy" // lalr1.cc:859
{ ctx.ctx_ = ctx.SUBNET4; }
-#line 764 "dhcp4_parser.cc" // lalr1.cc:919
+#line 714 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 12:
-#line 262 "dhcp4_parser.yy" // lalr1.cc:919
+#line 264 "dhcp4_parser.yy" // lalr1.cc:859
{ ctx.ctx_ = ctx.POOLS; }
-#line 770 "dhcp4_parser.cc" // lalr1.cc:919
+#line 720 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 14:
-#line 263 "dhcp4_parser.yy" // lalr1.cc:919
+#line 265 "dhcp4_parser.yy" // lalr1.cc:859
{ ctx.ctx_ = ctx.RESERVATIONS; }
-#line 776 "dhcp4_parser.cc" // lalr1.cc:919
+#line 726 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 16:
-#line 264 "dhcp4_parser.yy" // lalr1.cc:919
+#line 266 "dhcp4_parser.yy" // lalr1.cc:859
{ ctx.ctx_ = ctx.DHCP4; }
-#line 782 "dhcp4_parser.cc" // lalr1.cc:919
+#line 732 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 18:
-#line 265 "dhcp4_parser.yy" // lalr1.cc:919
+#line 267 "dhcp4_parser.yy" // lalr1.cc:859
{ ctx.ctx_ = ctx.OPTION_DEF; }
-#line 788 "dhcp4_parser.cc" // lalr1.cc:919
+#line 738 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 20:
-#line 266 "dhcp4_parser.yy" // lalr1.cc:919
+#line 268 "dhcp4_parser.yy" // lalr1.cc:859
{ ctx.ctx_ = ctx.OPTION_DATA; }
-#line 794 "dhcp4_parser.cc" // lalr1.cc:919
+#line 744 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 22:
-#line 267 "dhcp4_parser.yy" // lalr1.cc:919
+#line 269 "dhcp4_parser.yy" // lalr1.cc:859
{ ctx.ctx_ = ctx.HOOKS_LIBRARIES; }
-#line 800 "dhcp4_parser.cc" // lalr1.cc:919
+#line 750 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 24:
-#line 268 "dhcp4_parser.yy" // lalr1.cc:919
+#line 270 "dhcp4_parser.yy" // lalr1.cc:859
{ ctx.ctx_ = ctx.DHCP_DDNS; }
-#line 806 "dhcp4_parser.cc" // lalr1.cc:919
+#line 756 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 26:
-#line 269 "dhcp4_parser.yy" // lalr1.cc:919
+#line 271 "dhcp4_parser.yy" // lalr1.cc:859
{ ctx.ctx_ = ctx.LOGGING; }
-#line 812 "dhcp4_parser.cc" // lalr1.cc:919
+#line 762 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 28:
-#line 270 "dhcp4_parser.yy" // lalr1.cc:919
+#line 272 "dhcp4_parser.yy" // lalr1.cc:859
{ ctx.ctx_ = ctx.CONFIG_CONTROL; }
-#line 818 "dhcp4_parser.cc" // lalr1.cc:919
+#line 768 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 30:
-#line 278 "dhcp4_parser.yy" // lalr1.cc:919
- { yylhs.value.as < ElementPtr > () = ElementPtr(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); }
-#line 824 "dhcp4_parser.cc" // lalr1.cc:919
+#line 280 "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 279 "dhcp4_parser.yy" // lalr1.cc:919
- { yylhs.value.as < ElementPtr > () = ElementPtr(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location))); }
-#line 830 "dhcp4_parser.cc" // lalr1.cc:919
+#line 281 "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 280 "dhcp4_parser.yy" // lalr1.cc:919
- { yylhs.value.as < ElementPtr > () = ElementPtr(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); }
-#line 836 "dhcp4_parser.cc" // lalr1.cc:919
+#line 282 "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 281 "dhcp4_parser.yy" // lalr1.cc:919
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); }
-#line 842 "dhcp4_parser.cc" // lalr1.cc:919
+#line 283 "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 282 "dhcp4_parser.yy" // lalr1.cc:919
- { yylhs.value.as < ElementPtr > () = ElementPtr(new NullElement(ctx.loc2pos(yystack_[0].location))); }
-#line 848 "dhcp4_parser.cc" // lalr1.cc:919
+#line 284 "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 283 "dhcp4_parser.yy" // lalr1.cc:919
- { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); }
-#line 854 "dhcp4_parser.cc" // lalr1.cc:919
+#line 285 "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 284 "dhcp4_parser.yy" // lalr1.cc:919
- { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); }
-#line 860 "dhcp4_parser.cc" // lalr1.cc:919
+#line 286 "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 287 "dhcp4_parser.yy" // lalr1.cc:919
+#line 289 "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 869 "dhcp4_parser.cc" // lalr1.cc:919
+#line 819 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 38:
-#line 292 "dhcp4_parser.yy" // lalr1.cc:919
+#line 294 "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 880 "dhcp4_parser.cc" // lalr1.cc:919
+#line 830 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 39:
-#line 297 "dhcp4_parser.yy" // lalr1.cc:919
+#line 299 "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 890 "dhcp4_parser.cc" // lalr1.cc:919
+#line 840 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 40:
-#line 303 "dhcp4_parser.yy" // lalr1.cc:919
- { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); }
-#line 896 "dhcp4_parser.cc" // lalr1.cc:919
+#line 305 "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 310 "dhcp4_parser.yy" // lalr1.cc:919
+#line 312 "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 905 "dhcp4_parser.cc" // lalr1.cc:919
+#line 855 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 44:
-#line 314 "dhcp4_parser.yy" // lalr1.cc:919
+#line 316 "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 915 "dhcp4_parser.cc" // lalr1.cc:919
+#line 865 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 45:
-#line 321 "dhcp4_parser.yy" // lalr1.cc:919
+#line 323 "dhcp4_parser.yy" // lalr1.cc:859
{
ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.push_back(l);
}
-#line 924 "dhcp4_parser.cc" // lalr1.cc:919
+#line 874 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 46:
-#line 324 "dhcp4_parser.yy" // lalr1.cc:919
+#line 326 "dhcp4_parser.yy" // lalr1.cc:859
{
// list parsing complete. Put any sanity checking here
}
-#line 932 "dhcp4_parser.cc" // lalr1.cc:919
+#line 882 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 49:
-#line 332 "dhcp4_parser.yy" // lalr1.cc:919
+#line 334 "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 941 "dhcp4_parser.cc" // lalr1.cc:919
+#line 891 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 50:
-#line 336 "dhcp4_parser.yy" // lalr1.cc:919
+#line 338 "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 950 "dhcp4_parser.cc" // lalr1.cc:919
+#line 900 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 51:
-#line 343 "dhcp4_parser.yy" // lalr1.cc:919
+#line 345 "dhcp4_parser.yy" // lalr1.cc:859
{
// List parsing about to start
}
-#line 958 "dhcp4_parser.cc" // lalr1.cc:919
+#line 908 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 52:
-#line 345 "dhcp4_parser.yy" // lalr1.cc:919
+#line 347 "dhcp4_parser.yy" // lalr1.cc:859
{
// list parsing complete. Put any sanity checking here
//ctx.stack_.pop_back();
}
-#line 967 "dhcp4_parser.cc" // lalr1.cc:919
+#line 917 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 55:
-#line 354 "dhcp4_parser.yy" // lalr1.cc:919
+#line 356 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(s);
}
-#line 976 "dhcp4_parser.cc" // lalr1.cc:919
+#line 926 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 56:
-#line 358 "dhcp4_parser.yy" // lalr1.cc:919
+#line 360 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(s);
}
-#line 985 "dhcp4_parser.cc" // lalr1.cc:919
+#line 935 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 57:
-#line 369 "dhcp4_parser.yy" // lalr1.cc:919
+#line 371 "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 996 "dhcp4_parser.cc" // lalr1.cc:919
+#line 946 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 58:
-#line 379 "dhcp4_parser.yy" // lalr1.cc:919
+#line 381 "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 1007 "dhcp4_parser.cc" // lalr1.cc:919
+#line 957 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 59:
-#line 384 "dhcp4_parser.yy" // lalr1.cc:919
+#line 386 "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
// Dhcp4 is required
ctx.require("Dhcp4", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
}
-#line 1020 "dhcp4_parser.cc" // lalr1.cc:919
+#line 970 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 68:
-#line 408 "dhcp4_parser.yy" // lalr1.cc:919
+#line 410 "dhcp4_parser.yy" // lalr1.cc:859
{
// This code is executed when we're about to start parsing
// the content of the map
ctx.stack_.push_back(m);
ctx.enter(ctx.DHCP4);
}
-#line 1033 "dhcp4_parser.cc" // lalr1.cc:919
+#line 983 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 69:
-#line 415 "dhcp4_parser.yy" // lalr1.cc:919
+#line 417 "dhcp4_parser.yy" // lalr1.cc:859
{
// No global parameter is required
ctx.stack_.pop_back();
ctx.leave();
}
-#line 1043 "dhcp4_parser.cc" // lalr1.cc:919
+#line 993 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 70:
-#line 423 "dhcp4_parser.yy" // lalr1.cc:919
+#line 425 "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 1053 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1003 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 71:
-#line 427 "dhcp4_parser.yy" // lalr1.cc:919
+#line 429 "dhcp4_parser.yy" // lalr1.cc:859
{
// No global parameter is required
// parsing completed
}
-#line 1062 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1012 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 111:
-#line 477 "dhcp4_parser.yy" // lalr1.cc:919
+#line 479 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("valid-lifetime", prf);
}
-#line 1071 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1021 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 112:
-#line 482 "dhcp4_parser.yy" // lalr1.cc:919
+#line 484 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("renew-timer", prf);
}
-#line 1080 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1030 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 113:
-#line 487 "dhcp4_parser.yy" // lalr1.cc:919
+#line 489 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("rebind-timer", prf);
}
-#line 1089 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1039 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 114:
-#line 492 "dhcp4_parser.yy" // lalr1.cc:919
+#line 494 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr ctt(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr ctt(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("calculate-tee-times", ctt);
}
-#line 1098 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1048 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 115:
-#line 497 "dhcp4_parser.yy" // lalr1.cc:919
+#line 499 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr t1(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr t1(new DoubleElement(yystack_[0].value.as< double > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("t1-percent", t1);
}
-#line 1107 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1057 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 116:
-#line 502 "dhcp4_parser.yy" // lalr1.cc:919
+#line 504 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr t2(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr t2(new DoubleElement(yystack_[0].value.as< double > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("t2-percent", t2);
}
-#line 1116 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1066 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 117:
-#line 507 "dhcp4_parser.yy" // lalr1.cc:919
+#line 509 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr dpp(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr dpp(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("decline-probation-period", dpp);
}
-#line 1125 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1075 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 118:
-#line 512 "dhcp4_parser.yy" // lalr1.cc:919
+#line 514 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1133 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1083 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 119:
-#line 514 "dhcp4_parser.yy" // lalr1.cc:919
+#line 516 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr stag(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ 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 1143 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1093 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 120:
-#line 520 "dhcp4_parser.yy" // lalr1.cc:919
+#line 522 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr echo(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr echo(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("echo-client-id", echo);
}
-#line 1152 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1102 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 121:
-#line 525 "dhcp4_parser.yy" // lalr1.cc:919
+#line 527 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr match(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr match(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("match-client-id", match);
}
-#line 1161 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1111 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 122:
-#line 530 "dhcp4_parser.yy" // lalr1.cc:919
+#line 532 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr prf(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr prf(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("authoritative", prf);
}
-#line 1170 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1120 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 123:
-#line 536 "dhcp4_parser.yy" // lalr1.cc:919
+#line 538 "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 1181 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1131 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 124:
-#line 541 "dhcp4_parser.yy" // lalr1.cc:919
+#line 543 "dhcp4_parser.yy" // lalr1.cc:859
{
// No interfaces config param is required
ctx.stack_.pop_back();
ctx.leave();
}
-#line 1191 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1141 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 134:
-#line 560 "dhcp4_parser.yy" // lalr1.cc:919
+#line 562 "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 1201 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1151 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 135:
-#line 564 "dhcp4_parser.yy" // lalr1.cc:919
+#line 566 "dhcp4_parser.yy" // lalr1.cc:859
{
// No interfaces config param is required
// parsing completed
}
-#line 1210 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1160 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 136:
-#line 569 "dhcp4_parser.yy" // lalr1.cc:919
+#line 571 "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 1221 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1171 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 137:
-#line 574 "dhcp4_parser.yy" // lalr1.cc:919
+#line 576 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 1230 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1180 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 138:
-#line 579 "dhcp4_parser.yy" // lalr1.cc:919
+#line 581 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.DHCP_SOCKET_TYPE);
}
-#line 1238 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1188 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 139:
-#line 581 "dhcp4_parser.yy" // lalr1.cc:919
+#line 583 "dhcp4_parser.yy" // lalr1.cc:859
{
- ctx.stack_.back()->set("dhcp-socket-type", yystack_[0].value.as < ElementPtr > ());
+ ctx.stack_.back()->set("dhcp-socket-type", yystack_[0].value.as< ElementPtr > ());
ctx.leave();
}
-#line 1247 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1197 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 140:
-#line 586 "dhcp4_parser.yy" // lalr1.cc:919
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("raw", ctx.loc2pos(yystack_[0].location))); }
-#line 1253 "dhcp4_parser.cc" // lalr1.cc:919
+#line 588 "dhcp4_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("raw", ctx.loc2pos(yystack_[0].location))); }
+#line 1203 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 141:
-#line 587 "dhcp4_parser.yy" // lalr1.cc:919
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("udp", ctx.loc2pos(yystack_[0].location))); }
-#line 1259 "dhcp4_parser.cc" // lalr1.cc:919
+#line 589 "dhcp4_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("udp", ctx.loc2pos(yystack_[0].location))); }
+#line 1209 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 142:
-#line 590 "dhcp4_parser.yy" // lalr1.cc:919
+#line 592 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.OUTBOUND_INTERFACE);
}
-#line 1267 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1217 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 143:
-#line 592 "dhcp4_parser.yy" // lalr1.cc:919
+#line 594 "dhcp4_parser.yy" // lalr1.cc:859
{
- ctx.stack_.back()->set("outbound-interface", yystack_[0].value.as < ElementPtr > ());
+ ctx.stack_.back()->set("outbound-interface", yystack_[0].value.as< ElementPtr > ());
ctx.leave();
}
-#line 1276 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1226 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 144:
-#line 597 "dhcp4_parser.yy" // lalr1.cc:919
+#line 599 "dhcp4_parser.yy" // lalr1.cc:859
{
- yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("same-as-inbound", ctx.loc2pos(yystack_[0].location)));
+ yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("same-as-inbound", ctx.loc2pos(yystack_[0].location)));
}
-#line 1284 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1234 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 145:
-#line 599 "dhcp4_parser.yy" // lalr1.cc:919
+#line 601 "dhcp4_parser.yy" // lalr1.cc:859
{
- yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("use-routing", ctx.loc2pos(yystack_[0].location)));
+ yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("use-routing", ctx.loc2pos(yystack_[0].location)));
}
-#line 1292 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1242 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 146:
-#line 603 "dhcp4_parser.yy" // lalr1.cc:919
+#line 605 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("re-detect", b);
}
-#line 1301 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1251 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 147:
-#line 609 "dhcp4_parser.yy" // lalr1.cc:919
+#line 611 "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 1312 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1262 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 148:
-#line 614 "dhcp4_parser.yy" // lalr1.cc:919
+#line 616 "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 1323 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1273 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 149:
-#line 621 "dhcp4_parser.yy" // lalr1.cc:919
+#line 623 "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 1334 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1284 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 150:
-#line 626 "dhcp4_parser.yy" // lalr1.cc:919
+#line 628 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 1343 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1293 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 154:
-#line 636 "dhcp4_parser.yy" // lalr1.cc:919
+#line 638 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1351 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1301 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 155:
-#line 638 "dhcp4_parser.yy" // lalr1.cc:919
+#line 640 "dhcp4_parser.yy" // lalr1.cc:859
{
- if ( (string(yystack_[0].value.as < std::string > ()) == "none") ||
- (string(yystack_[0].value.as < std::string > ()) == "warn") ||
- (string(yystack_[0].value.as < std::string > ()) == "fix") ||
- (string(yystack_[0].value.as < std::string > ()) == "fix-del") ||
- (string(yystack_[0].value.as < std::string > ()) == "del")) {
- ElementPtr user(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ if ( (string(yystack_[0].value.as< std::string > ()) == "none") ||
+ (string(yystack_[0].value.as< std::string > ()) == "warn") ||
+ (string(yystack_[0].value.as< std::string > ()) == "fix") ||
+ (string(yystack_[0].value.as< std::string > ()) == "fix-del") ||
+ (string(yystack_[0].value.as< std::string > ()) == "del")) {
+ ElementPtr user(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("lease-checks", user);
ctx.leave();
} else {
- error(yystack_[0].location, "Unsupported 'lease-checks value: " + string(yystack_[0].value.as < std::string > ()) +
+ error(yystack_[0].location, "Unsupported 'lease-checks value: " + string(yystack_[0].value.as< std::string > ()) +
", supported values are: none, warn, fix, fix-del, del");
}
}
-#line 1371 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1321 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 156:
-#line 654 "dhcp4_parser.yy" // lalr1.cc:919
+#line 656 "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 1382 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1332 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 157:
-#line 659 "dhcp4_parser.yy" // lalr1.cc:919
+#line 661 "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 1393 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1343 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 158:
-#line 666 "dhcp4_parser.yy" // lalr1.cc:919
+#line 668 "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 1404 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1354 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 159:
-#line 671 "dhcp4_parser.yy" // lalr1.cc:919
+#line 673 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 1413 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1363 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 164:
-#line 684 "dhcp4_parser.yy" // lalr1.cc:919
+#line 686 "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 1423 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1373 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 165:
-#line 688 "dhcp4_parser.yy" // lalr1.cc:919
+#line 690 "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 1433 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1383 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 186:
-#line 718 "dhcp4_parser.yy" // lalr1.cc:919
+ case 188:
+#line 722 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.DATABASE_TYPE);
}
-#line 1441 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1391 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 187:
-#line 720 "dhcp4_parser.yy" // lalr1.cc:919
+ case 189:
+#line 724 "dhcp4_parser.yy" // lalr1.cc:859
{
- ctx.stack_.back()->set("type", yystack_[0].value.as < ElementPtr > ());
+ ctx.stack_.back()->set("type", yystack_[0].value.as< ElementPtr > ());
ctx.leave();
}
-#line 1450 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1400 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 188:
-#line 725 "dhcp4_parser.yy" // lalr1.cc:919
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("memfile", ctx.loc2pos(yystack_[0].location))); }
-#line 1456 "dhcp4_parser.cc" // lalr1.cc:919
+ case 190:
+#line 729 "dhcp4_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("memfile", ctx.loc2pos(yystack_[0].location))); }
+#line 1406 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 189:
-#line 726 "dhcp4_parser.yy" // lalr1.cc:919
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("mysql", ctx.loc2pos(yystack_[0].location))); }
-#line 1462 "dhcp4_parser.cc" // lalr1.cc:919
+ case 191:
+#line 730 "dhcp4_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("mysql", ctx.loc2pos(yystack_[0].location))); }
+#line 1412 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 190:
-#line 727 "dhcp4_parser.yy" // lalr1.cc:919
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("postgresql", ctx.loc2pos(yystack_[0].location))); }
-#line 1468 "dhcp4_parser.cc" // lalr1.cc:919
+ case 192:
+#line 731 "dhcp4_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("postgresql", ctx.loc2pos(yystack_[0].location))); }
+#line 1418 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 191:
-#line 728 "dhcp4_parser.yy" // lalr1.cc:919
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("cql", ctx.loc2pos(yystack_[0].location))); }
-#line 1474 "dhcp4_parser.cc" // lalr1.cc:919
+ case 193:
+#line 732 "dhcp4_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("cql", ctx.loc2pos(yystack_[0].location))); }
+#line 1424 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 192:
-#line 731 "dhcp4_parser.yy" // lalr1.cc:919
+ case 194:
+#line 735 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1482 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1432 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 193:
-#line 733 "dhcp4_parser.yy" // lalr1.cc:919
+ case 195:
+#line 737 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr user(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr user(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("user", user);
ctx.leave();
}
-#line 1492 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1442 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 194:
-#line 739 "dhcp4_parser.yy" // lalr1.cc:919
+ case 196:
+#line 743 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1500 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1450 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 195:
-#line 741 "dhcp4_parser.yy" // lalr1.cc:919
+ case 197:
+#line 745 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr pwd(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr pwd(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("password", pwd);
ctx.leave();
}
-#line 1510 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1460 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 196:
-#line 747 "dhcp4_parser.yy" // lalr1.cc:919
+ case 198:
+#line 751 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1518 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1468 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 197:
-#line 749 "dhcp4_parser.yy" // lalr1.cc:919
+ case 199:
+#line 753 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr h(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr h(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("host", h);
ctx.leave();
}
-#line 1528 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1478 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 198:
-#line 755 "dhcp4_parser.yy" // lalr1.cc:919
+ case 200:
+#line 759 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr p(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr p(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("port", p);
}
-#line 1537 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1487 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 199:
-#line 760 "dhcp4_parser.yy" // lalr1.cc:919
+ case 201:
+#line 764 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1545 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1495 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 200:
-#line 762 "dhcp4_parser.yy" // lalr1.cc:919
+ case 202:
+#line 766 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr name(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr name(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("name", name);
ctx.leave();
}
-#line 1555 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1505 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 201:
-#line 768 "dhcp4_parser.yy" // lalr1.cc:919
+ case 203:
+#line 772 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr n(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr n(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("persist", n);
}
-#line 1564 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1514 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 202:
-#line 773 "dhcp4_parser.yy" // lalr1.cc:919
+ case 204:
+#line 777 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr n(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("lfc-interval", n);
}
-#line 1573 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1523 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 203:
-#line 778 "dhcp4_parser.yy" // lalr1.cc:919
+ case 205:
+#line 782 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr n(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr n(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("readonly", n);
}
-#line 1582 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1532 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 204:
-#line 783 "dhcp4_parser.yy" // lalr1.cc:919
+ case 206:
+#line 787 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr n(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("connect-timeout", n);
}
-#line 1591 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1541 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 205:
-#line 788 "dhcp4_parser.yy" // lalr1.cc:919
+ case 207:
+#line 792 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr n(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("request-timeout", n);
}
-#line 1600 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1550 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 206:
-#line 793 "dhcp4_parser.yy" // lalr1.cc:919
+ case 208:
+#line 797 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr n(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("tcp-keepalive", n);
}
-#line 1609 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1559 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 207:
-#line 798 "dhcp4_parser.yy" // lalr1.cc:919
+ case 209:
+#line 802 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr n(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr n(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("tcp-nodelay", n);
}
-#line 1618 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1568 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 208:
-#line 803 "dhcp4_parser.yy" // lalr1.cc:919
+ case 210:
+#line 807 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1626 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1576 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 209:
-#line 805 "dhcp4_parser.yy" // lalr1.cc:919
+ case 211:
+#line 809 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr cp(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr cp(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("contact-points", cp);
ctx.leave();
}
-#line 1636 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1586 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 210:
-#line 811 "dhcp4_parser.yy" // lalr1.cc:919
+ case 212:
+#line 815 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1644 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1594 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 211:
-#line 813 "dhcp4_parser.yy" // lalr1.cc:919
+ case 213:
+#line 817 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr ks(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr ks(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("keyspace", ks);
ctx.leave();
}
-#line 1654 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1604 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 212:
-#line 819 "dhcp4_parser.yy" // lalr1.cc:919
+ case 214:
+#line 823 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ctx.enter(ctx.NO_KEYWORD);
+}
+#line 1612 "dhcp4_parser.cc" // lalr1.cc:859
+ break;
+
+ case 215:
+#line 825 "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 1622 "dhcp4_parser.cc" // lalr1.cc:859
+ break;
+
+ case 216:
+#line 831 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ctx.enter(ctx.NO_KEYWORD);
+}
+#line 1630 "dhcp4_parser.cc" // lalr1.cc:859
+ break;
+
+ case 217:
+#line 833 "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 1640 "dhcp4_parser.cc" // lalr1.cc:859
+ break;
+
+ case 218:
+#line 839 "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 1663 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1649 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 213:
-#line 824 "dhcp4_parser.yy" // lalr1.cc:919
+ case 219:
+#line 844 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr n(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("reconnect-wait-time", n);
}
-#line 1672 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1658 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 214:
-#line 829 "dhcp4_parser.yy" // lalr1.cc:919
+ case 220:
+#line 849 "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 1683 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1669 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 215:
-#line 834 "dhcp4_parser.yy" // lalr1.cc:919
+ case 221:
+#line 854 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 1692 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1678 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 223:
-#line 850 "dhcp4_parser.yy" // lalr1.cc:919
+ case 229:
+#line 870 "dhcp4_parser.yy" // lalr1.cc:859
{
ElementPtr duid(new StringElement("duid", ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(duid);
}
-#line 1701 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1687 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 224:
-#line 855 "dhcp4_parser.yy" // lalr1.cc:919
+ case 230:
+#line 875 "dhcp4_parser.yy" // lalr1.cc:859
{
ElementPtr hwaddr(new StringElement("hw-address", ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(hwaddr);
}
-#line 1710 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1696 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 225:
-#line 860 "dhcp4_parser.yy" // lalr1.cc:919
+ case 231:
+#line 880 "dhcp4_parser.yy" // lalr1.cc:859
{
ElementPtr circuit(new StringElement("circuit-id", ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(circuit);
}
-#line 1719 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1705 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 226:
-#line 865 "dhcp4_parser.yy" // lalr1.cc:919
+ case 232:
+#line 885 "dhcp4_parser.yy" // lalr1.cc:859
{
ElementPtr client(new StringElement("client-id", ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(client);
}
-#line 1728 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1714 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 227:
-#line 870 "dhcp4_parser.yy" // lalr1.cc:919
+ case 233:
+#line 890 "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 1737 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1723 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 228:
-#line 875 "dhcp4_parser.yy" // lalr1.cc:919
+ case 234:
+#line 895 "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 1748 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1734 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 229:
-#line 880 "dhcp4_parser.yy" // lalr1.cc:919
+ case 235:
+#line 900 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 1757 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1743 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 234:
-#line 893 "dhcp4_parser.yy" // lalr1.cc:919
+ case 240:
+#line 913 "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 1767 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1753 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 235:
-#line 897 "dhcp4_parser.yy" // lalr1.cc:919
+ case 241:
+#line 917 "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 1777 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1763 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 236:
-#line 903 "dhcp4_parser.yy" // lalr1.cc:919
+ case 242:
+#line 923 "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 1787 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1773 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 237:
-#line 907 "dhcp4_parser.yy" // lalr1.cc:919
+ case 243:
+#line 927 "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 1797 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1783 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 243:
-#line 922 "dhcp4_parser.yy" // lalr1.cc:919
+ case 249:
+#line 942 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1805 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1791 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 244:
-#line 924 "dhcp4_parser.yy" // lalr1.cc:919
+ case 250:
+#line 944 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr lib(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr lib(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("library", lib);
ctx.leave();
}
-#line 1815 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1801 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 245:
-#line 930 "dhcp4_parser.yy" // lalr1.cc:919
+ case 251:
+#line 950 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1823 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1809 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 246:
-#line 932 "dhcp4_parser.yy" // lalr1.cc:919
+ case 252:
+#line 952 "dhcp4_parser.yy" // lalr1.cc:859
{
- ctx.stack_.back()->set("parameters", yystack_[0].value.as < ElementPtr > ());
+ ctx.stack_.back()->set("parameters", yystack_[0].value.as< ElementPtr > ());
ctx.leave();
}
-#line 1832 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1818 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 247:
-#line 938 "dhcp4_parser.yy" // lalr1.cc:919
+ case 253:
+#line 958 "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 1843 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1829 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 248:
-#line 943 "dhcp4_parser.yy" // lalr1.cc:919
+ case 254:
+#line 963 "dhcp4_parser.yy" // lalr1.cc:859
{
// No expired lease parameter is required
ctx.stack_.pop_back();
ctx.leave();
}
-#line 1853 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1839 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 257:
-#line 961 "dhcp4_parser.yy" // lalr1.cc:919
+ case 263:
+#line 981 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr value(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("reclaim-timer-wait-time", value);
}
-#line 1862 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1848 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 258:
-#line 966 "dhcp4_parser.yy" // lalr1.cc:919
+ case 264:
+#line 986 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr value(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("flush-reclaimed-timer-wait-time", value);
}
-#line 1871 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1857 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 259:
-#line 971 "dhcp4_parser.yy" // lalr1.cc:919
+ case 265:
+#line 991 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr value(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("hold-reclaimed-time", value);
}
-#line 1880 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1866 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 260:
-#line 976 "dhcp4_parser.yy" // lalr1.cc:919
+ case 266:
+#line 996 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr value(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("max-reclaim-leases", value);
}
-#line 1889 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1875 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 261:
-#line 981 "dhcp4_parser.yy" // lalr1.cc:919
+ case 267:
+#line 1001 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr value(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("max-reclaim-time", value);
}
-#line 1898 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1884 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 262:
-#line 986 "dhcp4_parser.yy" // lalr1.cc:919
+ case 268:
+#line 1006 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr value(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("unwarned-reclaim-cycles", value);
}
-#line 1907 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1893 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 263:
-#line 994 "dhcp4_parser.yy" // lalr1.cc:919
+ case 269:
+#line 1014 "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 1918 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1904 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 264:
-#line 999 "dhcp4_parser.yy" // lalr1.cc:919
+ case 270:
+#line 1019 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 1927 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1913 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 269:
-#line 1019 "dhcp4_parser.yy" // lalr1.cc:919
+ case 275:
+#line 1039 "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 1937 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1923 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 270:
-#line 1023 "dhcp4_parser.yy" // lalr1.cc:919
+ case 276:
+#line 1043 "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.
ctx.require("subnet", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
ctx.stack_.pop_back();
}
-#line 1963 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1949 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 271:
-#line 1045 "dhcp4_parser.yy" // lalr1.cc:919
+ case 277:
+#line 1065 "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 1973 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1959 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 272:
-#line 1049 "dhcp4_parser.yy" // lalr1.cc:919
+ case 278:
+#line 1069 "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 1983 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1969 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 302:
-#line 1090 "dhcp4_parser.yy" // lalr1.cc:919
+ case 308:
+#line 1110 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1991 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1977 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 303:
-#line 1092 "dhcp4_parser.yy" // lalr1.cc:919
+ case 309:
+#line 1112 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr subnet(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr subnet(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("subnet", subnet);
ctx.leave();
}
-#line 2001 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1987 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 304:
-#line 1098 "dhcp4_parser.yy" // lalr1.cc:919
+ case 310:
+#line 1118 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2009 "dhcp4_parser.cc" // lalr1.cc:919
+#line 1995 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 305:
-#line 1100 "dhcp4_parser.yy" // lalr1.cc:919
+ case 311:
+#line 1120 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr iface(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr iface(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("4o6-interface", iface);
ctx.leave();
}
-#line 2019 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2005 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 306:
-#line 1106 "dhcp4_parser.yy" // lalr1.cc:919
+ case 312:
+#line 1126 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2027 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2013 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 307:
-#line 1108 "dhcp4_parser.yy" // lalr1.cc:919
+ case 313:
+#line 1128 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr iface(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr iface(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("4o6-interface-id", iface);
ctx.leave();
}
-#line 2037 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2023 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 308:
-#line 1114 "dhcp4_parser.yy" // lalr1.cc:919
+ case 314:
+#line 1134 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2045 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2031 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 309:
-#line 1116 "dhcp4_parser.yy" // lalr1.cc:919
+ case 315:
+#line 1136 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr iface(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr iface(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("4o6-subnet", iface);
ctx.leave();
}
-#line 2055 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2041 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 310:
-#line 1122 "dhcp4_parser.yy" // lalr1.cc:919
+ case 316:
+#line 1142 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2063 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2049 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 311:
-#line 1124 "dhcp4_parser.yy" // lalr1.cc:919
+ case 317:
+#line 1144 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr iface(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr iface(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("interface", iface);
ctx.leave();
}
-#line 2073 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2059 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 312:
-#line 1130 "dhcp4_parser.yy" // lalr1.cc:919
+ case 318:
+#line 1150 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2081 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2067 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 313:
-#line 1132 "dhcp4_parser.yy" // lalr1.cc:919
+ case 319:
+#line 1152 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr cls(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr cls(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("client-class", cls);
ctx.leave();
}
-#line 2091 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2077 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 314:
-#line 1138 "dhcp4_parser.yy" // lalr1.cc:919
+ case 320:
+#line 1158 "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 2102 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2088 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 315:
-#line 1143 "dhcp4_parser.yy" // lalr1.cc:919
+ case 321:
+#line 1163 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 2111 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2097 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 316:
-#line 1148 "dhcp4_parser.yy" // lalr1.cc:919
+ case 322:
+#line 1168 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.RESERVATION_MODE);
}
-#line 2119 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2105 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 317:
-#line 1150 "dhcp4_parser.yy" // lalr1.cc:919
+ case 323:
+#line 1170 "dhcp4_parser.yy" // lalr1.cc:859
{
- ctx.stack_.back()->set("reservation-mode", yystack_[0].value.as < ElementPtr > ());
+ ctx.stack_.back()->set("reservation-mode", yystack_[0].value.as< ElementPtr > ());
ctx.leave();
}
-#line 2128 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2114 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 318:
-#line 1155 "dhcp4_parser.yy" // lalr1.cc:919
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("disabled", ctx.loc2pos(yystack_[0].location))); }
-#line 2134 "dhcp4_parser.cc" // lalr1.cc:919
+ case 324:
+#line 1175 "dhcp4_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("disabled", ctx.loc2pos(yystack_[0].location))); }
+#line 2120 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 319:
-#line 1156 "dhcp4_parser.yy" // lalr1.cc:919
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("out-of-pool", ctx.loc2pos(yystack_[0].location))); }
-#line 2140 "dhcp4_parser.cc" // lalr1.cc:919
+ case 325:
+#line 1176 "dhcp4_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("out-of-pool", ctx.loc2pos(yystack_[0].location))); }
+#line 2126 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 320:
-#line 1157 "dhcp4_parser.yy" // lalr1.cc:919
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("global", ctx.loc2pos(yystack_[0].location))); }
-#line 2146 "dhcp4_parser.cc" // lalr1.cc:919
+ case 326:
+#line 1177 "dhcp4_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("global", ctx.loc2pos(yystack_[0].location))); }
+#line 2132 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 321:
-#line 1158 "dhcp4_parser.yy" // lalr1.cc:919
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("all", ctx.loc2pos(yystack_[0].location))); }
-#line 2152 "dhcp4_parser.cc" // lalr1.cc:919
+ case 327:
+#line 1178 "dhcp4_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("all", ctx.loc2pos(yystack_[0].location))); }
+#line 2138 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 322:
-#line 1161 "dhcp4_parser.yy" // lalr1.cc:919
+ case 328:
+#line 1181 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr id(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr id(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("id", id);
}
-#line 2161 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2147 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 323:
-#line 1168 "dhcp4_parser.yy" // lalr1.cc:919
+ case 329:
+#line 1188 "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 2172 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2158 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 324:
-#line 1173 "dhcp4_parser.yy" // lalr1.cc:919
+ case 330:
+#line 1193 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 2181 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2167 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 329:
-#line 1188 "dhcp4_parser.yy" // lalr1.cc:919
+ case 335:
+#line 1208 "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 2191 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2177 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 330:
-#line 1192 "dhcp4_parser.yy" // lalr1.cc:919
+ case 336:
+#line 1212 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
}
-#line 2199 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2185 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 355:
-#line 1228 "dhcp4_parser.yy" // lalr1.cc:919
+ case 361:
+#line 1248 "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 2210 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2196 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 356:
-#line 1233 "dhcp4_parser.yy" // lalr1.cc:919
+ case 362:
+#line 1253 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 2219 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2205 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 357:
-#line 1241 "dhcp4_parser.yy" // lalr1.cc:919
+ case 363:
+#line 1261 "dhcp4_parser.yy" // lalr1.cc:859
{
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.push_back(m);
}
-#line 2228 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2214 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 358:
-#line 1244 "dhcp4_parser.yy" // lalr1.cc:919
+ case 364:
+#line 1264 "dhcp4_parser.yy" // lalr1.cc:859
{
// parsing completed
}
-#line 2236 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2222 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 363:
-#line 1260 "dhcp4_parser.yy" // lalr1.cc:919
+ case 369:
+#line 1280 "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 2246 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2232 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 364:
-#line 1264 "dhcp4_parser.yy" // lalr1.cc:919
+ case 370:
+#line 1284 "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("type", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
ctx.stack_.pop_back();
}
-#line 2258 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2244 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 365:
-#line 1275 "dhcp4_parser.yy" // lalr1.cc:919
+ case 371:
+#line 1295 "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 2268 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2254 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 366:
-#line 1279 "dhcp4_parser.yy" // lalr1.cc:919
+ case 372:
+#line 1299 "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("type", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
// parsing completed
}
-#line 2280 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2266 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 382:
-#line 1311 "dhcp4_parser.yy" // lalr1.cc:919
+ case 388:
+#line 1331 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr code(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr code(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("code", code);
}
-#line 2289 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2275 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 384:
-#line 1318 "dhcp4_parser.yy" // lalr1.cc:919
+ case 390:
+#line 1338 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2297 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2283 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 385:
-#line 1320 "dhcp4_parser.yy" // lalr1.cc:919
+ case 391:
+#line 1340 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr prf(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr prf(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("type", prf);
ctx.leave();
}
-#line 2307 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2293 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 386:
-#line 1326 "dhcp4_parser.yy" // lalr1.cc:919
+ case 392:
+#line 1346 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2315 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2301 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 387:
-#line 1328 "dhcp4_parser.yy" // lalr1.cc:919
+ case 393:
+#line 1348 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr rtypes(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr rtypes(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("record-types", rtypes);
ctx.leave();
}
-#line 2325 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2311 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 388:
-#line 1334 "dhcp4_parser.yy" // lalr1.cc:919
+ case 394:
+#line 1354 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2333 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2319 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 389:
-#line 1336 "dhcp4_parser.yy" // lalr1.cc:919
+ case 395:
+#line 1356 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr space(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr space(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("space", space);
ctx.leave();
}
-#line 2343 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2329 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 391:
-#line 1344 "dhcp4_parser.yy" // lalr1.cc:919
+ case 397:
+#line 1364 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2351 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2337 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 392:
-#line 1346 "dhcp4_parser.yy" // lalr1.cc:919
+ case 398:
+#line 1366 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr encap(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr encap(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("encapsulate", encap);
ctx.leave();
}
-#line 2361 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2347 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 393:
-#line 1352 "dhcp4_parser.yy" // lalr1.cc:919
+ case 399:
+#line 1372 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr array(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr array(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("array", array);
}
-#line 2370 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2356 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 394:
-#line 1361 "dhcp4_parser.yy" // lalr1.cc:919
+ case 400:
+#line 1381 "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 2381 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2367 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 395:
-#line 1366 "dhcp4_parser.yy" // lalr1.cc:919
+ case 401:
+#line 1386 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 2390 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2376 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 400:
-#line 1385 "dhcp4_parser.yy" // lalr1.cc:919
+ case 406:
+#line 1405 "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 2400 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2386 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 401:
-#line 1389 "dhcp4_parser.yy" // lalr1.cc:919
+ case 407:
+#line 1409 "dhcp4_parser.yy" // lalr1.cc:859
{
/// @todo: the code or name parameters are required.
ctx.stack_.pop_back();
}
-#line 2409 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2395 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 402:
-#line 1397 "dhcp4_parser.yy" // lalr1.cc:919
+ case 408:
+#line 1417 "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 2419 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2405 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 403:
-#line 1401 "dhcp4_parser.yy" // lalr1.cc:919
+ case 409:
+#line 1421 "dhcp4_parser.yy" // lalr1.cc:859
{
/// @todo: the code or name parameters are required.
// parsing completed
}
-#line 2428 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2414 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 418:
-#line 1434 "dhcp4_parser.yy" // lalr1.cc:919
+ case 424:
+#line 1454 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2436 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2422 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 419:
-#line 1436 "dhcp4_parser.yy" // lalr1.cc:919
+ case 425:
+#line 1456 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr data(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr data(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("data", data);
ctx.leave();
}
-#line 2446 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2432 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 422:
-#line 1446 "dhcp4_parser.yy" // lalr1.cc:919
+ case 428:
+#line 1466 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr space(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr space(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("csv-format", space);
}
-#line 2455 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2441 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 423:
-#line 1451 "dhcp4_parser.yy" // lalr1.cc:919
+ case 429:
+#line 1471 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr persist(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr persist(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("always-send", persist);
}
-#line 2464 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2450 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 424:
-#line 1459 "dhcp4_parser.yy" // lalr1.cc:919
+ case 430:
+#line 1479 "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 2475 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2461 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 425:
-#line 1464 "dhcp4_parser.yy" // lalr1.cc:919
+ case 431:
+#line 1484 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 2484 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2470 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 430:
-#line 1479 "dhcp4_parser.yy" // lalr1.cc:919
+ case 436:
+#line 1499 "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 2494 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2480 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 431:
-#line 1483 "dhcp4_parser.yy" // lalr1.cc:919
+ case 437:
+#line 1503 "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 2504 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2490 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 432:
-#line 1489 "dhcp4_parser.yy" // lalr1.cc:919
+ case 438:
+#line 1509 "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 2514 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2500 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 433:
-#line 1493 "dhcp4_parser.yy" // lalr1.cc:919
+ case 439:
+#line 1513 "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 2524 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2510 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 443:
-#line 1512 "dhcp4_parser.yy" // lalr1.cc:919
+ case 449:
+#line 1532 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2532 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2518 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 444:
-#line 1514 "dhcp4_parser.yy" // lalr1.cc:919
+ case 450:
+#line 1534 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr pool(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr pool(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("pool", pool);
ctx.leave();
}
-#line 2542 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2528 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 445:
-#line 1520 "dhcp4_parser.yy" // lalr1.cc:919
+ case 451:
+#line 1540 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2550 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2536 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 446:
-#line 1522 "dhcp4_parser.yy" // lalr1.cc:919
+ case 452:
+#line 1542 "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 2577 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2563 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 447:
-#line 1545 "dhcp4_parser.yy" // lalr1.cc:919
+ case 453:
+#line 1565 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2585 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2571 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 448:
-#line 1547 "dhcp4_parser.yy" // lalr1.cc:919
+ case 454:
+#line 1567 "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 2614 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2600 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 449:
-#line 1575 "dhcp4_parser.yy" // lalr1.cc:919
+ case 455:
+#line 1595 "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 2625 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2611 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 450:
-#line 1580 "dhcp4_parser.yy" // lalr1.cc:919
+ case 456:
+#line 1600 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 2634 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2620 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 455:
-#line 1593 "dhcp4_parser.yy" // lalr1.cc:919
+ case 461:
+#line 1613 "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 2644 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2630 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 456:
-#line 1597 "dhcp4_parser.yy" // lalr1.cc:919
+ case 462:
+#line 1617 "dhcp4_parser.yy" // lalr1.cc:859
{
/// @todo: an identifier parameter is required.
ctx.stack_.pop_back();
}
-#line 2653 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2639 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 457:
-#line 1602 "dhcp4_parser.yy" // lalr1.cc:919
+ case 463:
+#line 1622 "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 2663 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2649 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 458:
-#line 1606 "dhcp4_parser.yy" // lalr1.cc:919
+ case 464:
+#line 1626 "dhcp4_parser.yy" // lalr1.cc:859
{
/// @todo: an identifier parameter is required.
// parsing completed
}
-#line 2672 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2658 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 478:
-#line 1637 "dhcp4_parser.yy" // lalr1.cc:919
+ case 484:
+#line 1657 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2680 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2666 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 479:
-#line 1639 "dhcp4_parser.yy" // lalr1.cc:919
+ case 485:
+#line 1659 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr next_server(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ 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 2690 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2676 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 480:
-#line 1645 "dhcp4_parser.yy" // lalr1.cc:919
+ case 486:
+#line 1665 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2698 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2684 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 481:
-#line 1647 "dhcp4_parser.yy" // lalr1.cc:919
+ case 487:
+#line 1667 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr srv(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ 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 2708 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2694 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 482:
-#line 1653 "dhcp4_parser.yy" // lalr1.cc:919
+ case 488:
+#line 1673 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2716 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2702 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 483:
-#line 1655 "dhcp4_parser.yy" // lalr1.cc:919
+ case 489:
+#line 1675 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr bootfile(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ 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 2726 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2712 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 484:
-#line 1661 "dhcp4_parser.yy" // lalr1.cc:919
+ case 490:
+#line 1681 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2734 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2720 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 485:
-#line 1663 "dhcp4_parser.yy" // lalr1.cc:919
+ case 491:
+#line 1683 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr addr(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr addr(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("ip-address", addr);
ctx.leave();
}
-#line 2744 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2730 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 486:
-#line 1669 "dhcp4_parser.yy" // lalr1.cc:919
+ case 492:
+#line 1689 "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 2755 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2741 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 487:
-#line 1674 "dhcp4_parser.yy" // lalr1.cc:919
+ case 493:
+#line 1694 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 2764 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2750 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 488:
-#line 1679 "dhcp4_parser.yy" // lalr1.cc:919
+ case 494:
+#line 1699 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2772 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2758 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 489:
-#line 1681 "dhcp4_parser.yy" // lalr1.cc:919
+ case 495:
+#line 1701 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr d(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr d(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("duid", d);
ctx.leave();
}
-#line 2782 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2768 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 490:
-#line 1687 "dhcp4_parser.yy" // lalr1.cc:919
+ case 496:
+#line 1707 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2790 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2776 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 491:
-#line 1689 "dhcp4_parser.yy" // lalr1.cc:919
+ case 497:
+#line 1709 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr hw(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr hw(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("hw-address", hw);
ctx.leave();
}
-#line 2800 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2786 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 492:
-#line 1695 "dhcp4_parser.yy" // lalr1.cc:919
+ case 498:
+#line 1715 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2808 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2794 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 493:
-#line 1697 "dhcp4_parser.yy" // lalr1.cc:919
+ case 499:
+#line 1717 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr hw(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr hw(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("client-id", hw);
ctx.leave();
}
-#line 2818 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2804 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 494:
-#line 1703 "dhcp4_parser.yy" // lalr1.cc:919
+ case 500:
+#line 1723 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2826 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2812 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 495:
-#line 1705 "dhcp4_parser.yy" // lalr1.cc:919
+ case 501:
+#line 1725 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr hw(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr hw(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("circuit-id", hw);
ctx.leave();
}
-#line 2836 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2822 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 496:
-#line 1711 "dhcp4_parser.yy" // lalr1.cc:919
+ case 502:
+#line 1731 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2844 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2830 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 497:
-#line 1713 "dhcp4_parser.yy" // lalr1.cc:919
+ case 503:
+#line 1733 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr hw(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr hw(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("flex-id", hw);
ctx.leave();
}
-#line 2854 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2840 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 498:
-#line 1719 "dhcp4_parser.yy" // lalr1.cc:919
+ case 504:
+#line 1739 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2862 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2848 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 499:
-#line 1721 "dhcp4_parser.yy" // lalr1.cc:919
+ case 505:
+#line 1741 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr host(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr host(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("hostname", host);
ctx.leave();
}
-#line 2872 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2858 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 500:
-#line 1727 "dhcp4_parser.yy" // lalr1.cc:919
+ case 506:
+#line 1747 "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 2883 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2869 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 501:
-#line 1732 "dhcp4_parser.yy" // lalr1.cc:919
+ case 507:
+#line 1752 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 2892 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2878 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 502:
-#line 1740 "dhcp4_parser.yy" // lalr1.cc:919
+ case 508:
+#line 1760 "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 2903 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2889 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 503:
-#line 1745 "dhcp4_parser.yy" // lalr1.cc:919
+ case 509:
+#line 1765 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 2912 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2898 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 506:
-#line 1757 "dhcp4_parser.yy" // lalr1.cc:919
+ case 512:
+#line 1777 "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 2923 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2909 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 507:
-#line 1762 "dhcp4_parser.yy" // lalr1.cc:919
+ case 513:
+#line 1782 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 2932 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2918 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 510:
-#line 1771 "dhcp4_parser.yy" // lalr1.cc:919
+ case 516:
+#line 1791 "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 2942 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2928 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 511:
-#line 1775 "dhcp4_parser.yy" // lalr1.cc:919
+ case 517:
+#line 1795 "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 2952 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2938 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 528:
-#line 1804 "dhcp4_parser.yy" // lalr1.cc:919
+ case 534:
+#line 1824 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2960 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2946 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 529:
-#line 1806 "dhcp4_parser.yy" // lalr1.cc:919
+ case 535:
+#line 1826 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr test(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr test(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("test", test);
ctx.leave();
}
-#line 2970 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2956 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 530:
-#line 1812 "dhcp4_parser.yy" // lalr1.cc:919
+ case 536:
+#line 1832 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("only-if-required", b);
}
-#line 2979 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2965 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 531:
-#line 1821 "dhcp4_parser.yy" // lalr1.cc:919
+ case 537:
+#line 1841 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr time(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr time(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("dhcp4o6-port", time);
}
-#line 2988 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2974 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 532:
-#line 1828 "dhcp4_parser.yy" // lalr1.cc:919
+ case 538:
+#line 1848 "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 2999 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2985 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 533:
-#line 1833 "dhcp4_parser.yy" // lalr1.cc:919
+ case 539:
+#line 1853 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 3008 "dhcp4_parser.cc" // lalr1.cc:919
+#line 2994 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 541:
-#line 1849 "dhcp4_parser.yy" // lalr1.cc:919
+ case 547:
+#line 1869 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3016 "dhcp4_parser.cc" // lalr1.cc:919
+#line 3002 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 542:
-#line 1851 "dhcp4_parser.yy" // lalr1.cc:919
+ case 548:
+#line 1871 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr stype(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr stype(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("socket-type", stype);
ctx.leave();
}
-#line 3026 "dhcp4_parser.cc" // lalr1.cc:919
+#line 3012 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 543:
-#line 1857 "dhcp4_parser.yy" // lalr1.cc:919
+ case 549:
+#line 1877 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3034 "dhcp4_parser.cc" // lalr1.cc:919
+#line 3020 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 544:
-#line 1859 "dhcp4_parser.yy" // lalr1.cc:919
+ case 550:
+#line 1879 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr name(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr name(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("socket-name", name);
ctx.leave();
}
-#line 3044 "dhcp4_parser.cc" // lalr1.cc:919
+#line 3030 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 545:
-#line 1868 "dhcp4_parser.yy" // lalr1.cc:919
+ case 551:
+#line 1888 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3052 "dhcp4_parser.cc" // lalr1.cc:919
+#line 3038 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 546:
-#line 1870 "dhcp4_parser.yy" // lalr1.cc:919
+ case 552:
+#line 1890 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr qc = yystack_[0].value.as < ElementPtr > ();
+ ElementPtr qc = yystack_[0].value.as< ElementPtr > ();
ctx.stack_.back()->set("dhcp-queue-control", qc);
// Doing this manually, because dhcp-queue-control
ctx.leave();
}
-#line 3090 "dhcp4_parser.cc" // lalr1.cc:919
+#line 3076 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 547:
-#line 1906 "dhcp4_parser.yy" // lalr1.cc:919
+ case 553:
+#line 1926 "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 3101 "dhcp4_parser.cc" // lalr1.cc:919
+#line 3087 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 548:
-#line 1911 "dhcp4_parser.yy" // lalr1.cc:919
+ case 554:
+#line 1931 "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 3112 "dhcp4_parser.cc" // lalr1.cc:919
+#line 3098 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 549:
-#line 1918 "dhcp4_parser.yy" // lalr1.cc:919
+ case 555:
+#line 1938 "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 3122 "dhcp4_parser.cc" // lalr1.cc:919
+#line 3108 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 550:
-#line 1922 "dhcp4_parser.yy" // lalr1.cc:919
+ case 556:
+#line 1942 "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 3132 "dhcp4_parser.cc" // lalr1.cc:919
+#line 3118 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 571:
-#line 1952 "dhcp4_parser.yy" // lalr1.cc:919
+ case 577:
+#line 1972 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("enable-updates", b);
}
-#line 3141 "dhcp4_parser.cc" // lalr1.cc:919
+#line 3127 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 572:
-#line 1957 "dhcp4_parser.yy" // lalr1.cc:919
+ case 578:
+#line 1977 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3149 "dhcp4_parser.cc" // lalr1.cc:919
+#line 3135 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 573:
-#line 1959 "dhcp4_parser.yy" // lalr1.cc:919
+ case 579:
+#line 1979 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("qualifying-suffix", s);
ctx.leave();
}
-#line 3159 "dhcp4_parser.cc" // lalr1.cc:919
+#line 3145 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 574:
-#line 1965 "dhcp4_parser.yy" // lalr1.cc:919
+ case 580:
+#line 1985 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3167 "dhcp4_parser.cc" // lalr1.cc:919
+#line 3153 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 575:
-#line 1967 "dhcp4_parser.yy" // lalr1.cc:919
+ case 581:
+#line 1987 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("server-ip", s);
ctx.leave();
}
-#line 3177 "dhcp4_parser.cc" // lalr1.cc:919
+#line 3163 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 576:
-#line 1973 "dhcp4_parser.yy" // lalr1.cc:919
+ case 582:
+#line 1993 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr i(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr i(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("server-port", i);
}
-#line 3186 "dhcp4_parser.cc" // lalr1.cc:919
+#line 3172 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 577:
-#line 1978 "dhcp4_parser.yy" // lalr1.cc:919
+ case 583:
+#line 1998 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3194 "dhcp4_parser.cc" // lalr1.cc:919
+#line 3180 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 578:
-#line 1980 "dhcp4_parser.yy" // lalr1.cc:919
+ case 584:
+#line 2000 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("sender-ip", s);
ctx.leave();
}
-#line 3204 "dhcp4_parser.cc" // lalr1.cc:919
+#line 3190 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 579:
-#line 1986 "dhcp4_parser.yy" // lalr1.cc:919
+ case 585:
+#line 2006 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr i(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr i(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("sender-port", i);
}
-#line 3213 "dhcp4_parser.cc" // lalr1.cc:919
+#line 3199 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 580:
-#line 1991 "dhcp4_parser.yy" // lalr1.cc:919
+ case 586:
+#line 2011 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr i(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr i(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("max-queue-size", i);
}
-#line 3222 "dhcp4_parser.cc" // lalr1.cc:919
+#line 3208 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 581:
-#line 1996 "dhcp4_parser.yy" // lalr1.cc:919
+ case 587:
+#line 2016 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NCR_PROTOCOL);
}
-#line 3230 "dhcp4_parser.cc" // lalr1.cc:919
+#line 3216 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 582:
-#line 1998 "dhcp4_parser.yy" // lalr1.cc:919
+ case 588:
+#line 2018 "dhcp4_parser.yy" // lalr1.cc:859
{
- ctx.stack_.back()->set("ncr-protocol", yystack_[0].value.as < ElementPtr > ());
+ ctx.stack_.back()->set("ncr-protocol", yystack_[0].value.as< ElementPtr > ());
ctx.leave();
}
-#line 3239 "dhcp4_parser.cc" // lalr1.cc:919
+#line 3225 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 583:
-#line 2004 "dhcp4_parser.yy" // lalr1.cc:919
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("UDP", ctx.loc2pos(yystack_[0].location))); }
-#line 3245 "dhcp4_parser.cc" // lalr1.cc:919
+ case 589:
+#line 2024 "dhcp4_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("UDP", ctx.loc2pos(yystack_[0].location))); }
+#line 3231 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 584:
-#line 2005 "dhcp4_parser.yy" // lalr1.cc:919
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("TCP", ctx.loc2pos(yystack_[0].location))); }
-#line 3251 "dhcp4_parser.cc" // lalr1.cc:919
+ case 590:
+#line 2025 "dhcp4_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("TCP", ctx.loc2pos(yystack_[0].location))); }
+#line 3237 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 585:
-#line 2008 "dhcp4_parser.yy" // lalr1.cc:919
+ case 591:
+#line 2028 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NCR_FORMAT);
}
-#line 3259 "dhcp4_parser.cc" // lalr1.cc:919
+#line 3245 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 586:
-#line 2010 "dhcp4_parser.yy" // lalr1.cc:919
+ case 592:
+#line 2030 "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 3269 "dhcp4_parser.cc" // lalr1.cc:919
+#line 3255 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 587:
-#line 2016 "dhcp4_parser.yy" // lalr1.cc:919
+ case 593:
+#line 2036 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("override-no-update", b);
}
-#line 3278 "dhcp4_parser.cc" // lalr1.cc:919
+#line 3264 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 588:
-#line 2021 "dhcp4_parser.yy" // lalr1.cc:919
+ case 594:
+#line 2041 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("override-client-update", b);
}
-#line 3287 "dhcp4_parser.cc" // lalr1.cc:919
+#line 3273 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 589:
-#line 2026 "dhcp4_parser.yy" // lalr1.cc:919
+ case 595:
+#line 2046 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.REPLACE_CLIENT_NAME);
}
-#line 3295 "dhcp4_parser.cc" // lalr1.cc:919
+#line 3281 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 590:
-#line 2028 "dhcp4_parser.yy" // lalr1.cc:919
+ case 596:
+#line 2048 "dhcp4_parser.yy" // lalr1.cc:859
{
- ctx.stack_.back()->set("replace-client-name", yystack_[0].value.as < ElementPtr > ());
+ ctx.stack_.back()->set("replace-client-name", yystack_[0].value.as< ElementPtr > ());
ctx.leave();
}
-#line 3304 "dhcp4_parser.cc" // lalr1.cc:919
+#line 3290 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 591:
-#line 2034 "dhcp4_parser.yy" // lalr1.cc:919
+ case 597:
+#line 2054 "dhcp4_parser.yy" // lalr1.cc:859
{
- yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("when-present", ctx.loc2pos(yystack_[0].location)));
+ yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("when-present", ctx.loc2pos(yystack_[0].location)));
}
-#line 3312 "dhcp4_parser.cc" // lalr1.cc:919
+#line 3298 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 592:
-#line 2037 "dhcp4_parser.yy" // lalr1.cc:919
+ case 598:
+#line 2057 "dhcp4_parser.yy" // lalr1.cc:859
{
- yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("never", ctx.loc2pos(yystack_[0].location)));
+ yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("never", ctx.loc2pos(yystack_[0].location)));
}
-#line 3320 "dhcp4_parser.cc" // lalr1.cc:919
+#line 3306 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 593:
-#line 2040 "dhcp4_parser.yy" // lalr1.cc:919
+ case 599:
+#line 2060 "dhcp4_parser.yy" // lalr1.cc:859
{
- yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("always", ctx.loc2pos(yystack_[0].location)));
+ yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("always", ctx.loc2pos(yystack_[0].location)));
}
-#line 3328 "dhcp4_parser.cc" // lalr1.cc:919
+#line 3314 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 594:
-#line 2043 "dhcp4_parser.yy" // lalr1.cc:919
+ case 600:
+#line 2063 "dhcp4_parser.yy" // lalr1.cc:859
{
- yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("when-not-present", ctx.loc2pos(yystack_[0].location)));
+ yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("when-not-present", ctx.loc2pos(yystack_[0].location)));
}
-#line 3336 "dhcp4_parser.cc" // lalr1.cc:919
+#line 3322 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 595:
-#line 2046 "dhcp4_parser.yy" // lalr1.cc:919
+ case 601:
+#line 2066 "dhcp4_parser.yy" // lalr1.cc:859
{
error(yystack_[0].location, "boolean values for the replace-client-name are "
"no longer supported");
}
-#line 3345 "dhcp4_parser.cc" // lalr1.cc:919
+#line 3331 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 596:
-#line 2052 "dhcp4_parser.yy" // lalr1.cc:919
+ case 602:
+#line 2072 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3353 "dhcp4_parser.cc" // lalr1.cc:919
+#line 3339 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 597:
-#line 2054 "dhcp4_parser.yy" // lalr1.cc:919
+ case 603:
+#line 2074 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("generated-prefix", s);
ctx.leave();
}
-#line 3363 "dhcp4_parser.cc" // lalr1.cc:919
+#line 3349 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 598:
-#line 2060 "dhcp4_parser.yy" // lalr1.cc:919
+ case 604:
+#line 2080 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3371 "dhcp4_parser.cc" // lalr1.cc:919
+#line 3357 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 599:
-#line 2062 "dhcp4_parser.yy" // lalr1.cc:919
+ case 605:
+#line 2082 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("hostname-char-set", s);
ctx.leave();
}
-#line 3381 "dhcp4_parser.cc" // lalr1.cc:919
+#line 3367 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 600:
-#line 2068 "dhcp4_parser.yy" // lalr1.cc:919
+ case 606:
+#line 2088 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3389 "dhcp4_parser.cc" // lalr1.cc:919
+#line 3375 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 601:
-#line 2070 "dhcp4_parser.yy" // lalr1.cc:919
+ case 607:
+#line 2090 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("hostname-char-replacement", s);
ctx.leave();
}
-#line 3399 "dhcp4_parser.cc" // lalr1.cc:919
+#line 3385 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 602:
-#line 2079 "dhcp4_parser.yy" // lalr1.cc:919
+ case 608:
+#line 2099 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3407 "dhcp4_parser.cc" // lalr1.cc:919
+#line 3393 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 603:
-#line 2081 "dhcp4_parser.yy" // lalr1.cc:919
+ case 609:
+#line 2101 "dhcp4_parser.yy" // lalr1.cc:859
{
- ctx.stack_.back()->set("Dhcp6", yystack_[0].value.as < ElementPtr > ());
+ ctx.stack_.back()->set("Dhcp6", yystack_[0].value.as< ElementPtr > ());
ctx.leave();
}
-#line 3416 "dhcp4_parser.cc" // lalr1.cc:919
+#line 3402 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 604:
-#line 2086 "dhcp4_parser.yy" // lalr1.cc:919
+ case 610:
+#line 2106 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3424 "dhcp4_parser.cc" // lalr1.cc:919
+#line 3410 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 605:
-#line 2088 "dhcp4_parser.yy" // lalr1.cc:919
+ case 611:
+#line 2108 "dhcp4_parser.yy" // lalr1.cc:859
{
- ctx.stack_.back()->set("DhcpDdns", yystack_[0].value.as < ElementPtr > ());
+ ctx.stack_.back()->set("DhcpDdns", yystack_[0].value.as< ElementPtr > ());
ctx.leave();
}
-#line 3433 "dhcp4_parser.cc" // lalr1.cc:919
+#line 3419 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 606:
-#line 2093 "dhcp4_parser.yy" // lalr1.cc:919
+ case 612:
+#line 2113 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3441 "dhcp4_parser.cc" // lalr1.cc:919
+#line 3427 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 607:
-#line 2095 "dhcp4_parser.yy" // lalr1.cc:919
+ case 613:
+#line 2115 "dhcp4_parser.yy" // lalr1.cc:859
{
- ctx.stack_.back()->set("Control-agent", yystack_[0].value.as < ElementPtr > ());
+ ctx.stack_.back()->set("Control-agent", yystack_[0].value.as< ElementPtr > ());
ctx.leave();
}
-#line 3450 "dhcp4_parser.cc" // lalr1.cc:919
+#line 3436 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 608:
-#line 2100 "dhcp4_parser.yy" // lalr1.cc:919
+ case 614:
+#line 2120 "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 3461 "dhcp4_parser.cc" // lalr1.cc:919
+#line 3447 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 609:
-#line 2105 "dhcp4_parser.yy" // lalr1.cc:919
+ case 615:
+#line 2125 "dhcp4_parser.yy" // lalr1.cc:859
{
// No config control params are required
ctx.stack_.pop_back();
ctx.leave();
}
-#line 3471 "dhcp4_parser.cc" // lalr1.cc:919
+#line 3457 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 610:
-#line 2111 "dhcp4_parser.yy" // lalr1.cc:919
+ case 616:
+#line 2131 "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 3481 "dhcp4_parser.cc" // lalr1.cc:919
+#line 3467 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 611:
-#line 2115 "dhcp4_parser.yy" // lalr1.cc:919
+ case 617:
+#line 2135 "dhcp4_parser.yy" // lalr1.cc:859
{
// No config_control params are required
// parsing completed
}
-#line 3490 "dhcp4_parser.cc" // lalr1.cc:919
+#line 3476 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 615:
-#line 2129 "dhcp4_parser.yy" // lalr1.cc:919
+ case 621:
+#line 2149 "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 3501 "dhcp4_parser.cc" // lalr1.cc:919
+#line 3487 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 616:
-#line 2134 "dhcp4_parser.yy" // lalr1.cc:919
+ case 622:
+#line 2154 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 3510 "dhcp4_parser.cc" // lalr1.cc:919
+#line 3496 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 617:
-#line 2144 "dhcp4_parser.yy" // lalr1.cc:919
+ case 623:
+#line 2164 "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 3521 "dhcp4_parser.cc" // lalr1.cc:919
+#line 3507 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 618:
-#line 2149 "dhcp4_parser.yy" // lalr1.cc:919
+ case 624:
+#line 2169 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 3530 "dhcp4_parser.cc" // lalr1.cc:919
+#line 3516 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 619:
-#line 2154 "dhcp4_parser.yy" // lalr1.cc:919
+ case 625:
+#line 2174 "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 3540 "dhcp4_parser.cc" // lalr1.cc:919
+#line 3526 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 620:
-#line 2158 "dhcp4_parser.yy" // lalr1.cc:919
+ case 626:
+#line 2178 "dhcp4_parser.yy" // lalr1.cc:859
{
// parsing completed
}
-#line 3548 "dhcp4_parser.cc" // lalr1.cc:919
+#line 3534 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 624:
-#line 2174 "dhcp4_parser.yy" // lalr1.cc:919
+ case 630:
+#line 2194 "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 3559 "dhcp4_parser.cc" // lalr1.cc:919
+#line 3545 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 625:
-#line 2179 "dhcp4_parser.yy" // lalr1.cc:919
+ case 631:
+#line 2199 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 3568 "dhcp4_parser.cc" // lalr1.cc:919
+#line 3554 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 628:
-#line 2191 "dhcp4_parser.yy" // lalr1.cc:919
+ case 634:
+#line 2211 "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 3578 "dhcp4_parser.cc" // lalr1.cc:919
+#line 3564 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 629:
-#line 2195 "dhcp4_parser.yy" // lalr1.cc:919
+ case 635:
+#line 2215 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
}
-#line 3586 "dhcp4_parser.cc" // lalr1.cc:919
+#line 3572 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 639:
-#line 2212 "dhcp4_parser.yy" // lalr1.cc:919
+ case 645:
+#line 2232 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr dl(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr dl(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("debuglevel", dl);
}
-#line 3595 "dhcp4_parser.cc" // lalr1.cc:919
+#line 3581 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 640:
-#line 2217 "dhcp4_parser.yy" // lalr1.cc:919
+ case 646:
+#line 2237 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3603 "dhcp4_parser.cc" // lalr1.cc:919
+#line 3589 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 641:
-#line 2219 "dhcp4_parser.yy" // lalr1.cc:919
+ case 647:
+#line 2239 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr sev(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr sev(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("severity", sev);
ctx.leave();
}
-#line 3613 "dhcp4_parser.cc" // lalr1.cc:919
+#line 3599 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 642:
-#line 2225 "dhcp4_parser.yy" // lalr1.cc:919
+ case 648:
+#line 2245 "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 3624 "dhcp4_parser.cc" // lalr1.cc:919
+#line 3610 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 643:
-#line 2230 "dhcp4_parser.yy" // lalr1.cc:919
+ case 649:
+#line 2250 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 3633 "dhcp4_parser.cc" // lalr1.cc:919
+#line 3619 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 646:
-#line 2239 "dhcp4_parser.yy" // lalr1.cc:919
+ case 652:
+#line 2259 "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 3643 "dhcp4_parser.cc" // lalr1.cc:919
+#line 3629 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 647:
-#line 2243 "dhcp4_parser.yy" // lalr1.cc:919
+ case 653:
+#line 2263 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
}
-#line 3651 "dhcp4_parser.cc" // lalr1.cc:919
+#line 3637 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 654:
-#line 2257 "dhcp4_parser.yy" // lalr1.cc:919
+ case 660:
+#line 2277 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3659 "dhcp4_parser.cc" // lalr1.cc:919
+#line 3645 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 655:
-#line 2259 "dhcp4_parser.yy" // lalr1.cc:919
+ case 661:
+#line 2279 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr sev(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr sev(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("output", sev);
ctx.leave();
}
-#line 3669 "dhcp4_parser.cc" // lalr1.cc:919
+#line 3655 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 656:
-#line 2265 "dhcp4_parser.yy" // lalr1.cc:919
+ case 662:
+#line 2285 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr flush(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr flush(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("flush", flush);
}
-#line 3678 "dhcp4_parser.cc" // lalr1.cc:919
+#line 3664 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 657:
-#line 2270 "dhcp4_parser.yy" // lalr1.cc:919
+ case 663:
+#line 2290 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr maxsize(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr maxsize(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("maxsize", maxsize);
}
-#line 3687 "dhcp4_parser.cc" // lalr1.cc:919
+#line 3673 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 658:
-#line 2275 "dhcp4_parser.yy" // lalr1.cc:919
+ case 664:
+#line 2295 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr maxver(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr maxver(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("maxver", maxver);
}
-#line 3696 "dhcp4_parser.cc" // lalr1.cc:919
+#line 3682 "dhcp4_parser.cc" // lalr1.cc:859
break;
-#line 3700 "dhcp4_parser.cc" // lalr1.cc:919
+#line 3686 "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. |
`-------------------------------------------------------------*/
// Shift the error token.
error_token.state = yyn;
- yypush_ ("Shifting", YY_MOVE (error_token));
+ 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.
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_
}
}
- const short Dhcp4Parser::yypact_ninf_ = -812;
+ const short int Dhcp4Parser::yypact_ninf_ = -822;
const signed char Dhcp4Parser::yytable_ninf_ = -1;
- const short
+ const short int
Dhcp4Parser::yypact_[] =
{
- 437, -812, -812, -812, -812, -812, -812, -812, -812, -812,
- -812, -812, -812, -812, -812, 59, 35, 56, 60, 62,
- 64, 66, 75, 98, 137, 139, 158, 173, 175, 186,
- -812, -812, -812, -812, -812, -812, -812, -812, -812, -812,
- -812, -812, -812, -812, -812, -812, -812, -812, -812, -812,
- -812, -812, -812, -812, -812, -812, -812, -812, -812, -812,
- -812, -812, -812, -812, -812, -812, -812, -812, 35, -11,
- 17, 82, 43, 191, -4, 384, 144, 392, 439, -5,
- 449, 78, 210, -812, 235, 231, 238, 227, 240, -812,
- -812, -812, -812, -812, 254, -812, 57, -812, -812, -812,
- -812, -812, -812, -812, -812, -812, 261, 263, 265, -812,
- -812, -812, -812, -812, -812, 277, 296, 297, 306, 321,
- 323, 324, -812, -812, -812, -812, -812, -812, -812, -812,
- -812, -812, -812, -812, -812, 325, -812, -812, -812, -812,
- 81, -812, -812, -812, -812, -812, -812, -812, -812, -812,
- -812, -812, -812, -812, -812, -812, -812, -812, -812, -812,
- -812, -812, -812, -812, -812, -812, -812, -812, -812, -812,
- -812, -812, -812, -812, -812, -812, -812, -812, -812, -812,
- -812, 328, -812, 83, -812, -812, -812, -812, -812, -812,
- -812, -812, -812, -812, -812, -812, -812, 330, -812, -812,
- -812, -812, -812, -812, -812, -812, -812, -812, -812, -812,
- 95, -812, -812, -812, -812, -812, -812, -812, -812, -812,
- -812, -812, -812, -812, -812, -812, -812, -812, -812, -812,
- -812, -812, -812, -812, -812, 152, -812, -812, -812, -812,
- -812, -812, -812, -812, -812, -812, -812, -812, -812, -812,
- -812, -812, 316, 333, -812, -812, -812, -812, -812, -812,
- -812, -812, -812, -812, -812, -812, 331, -812, -812, 334,
- -812, -812, -812, 336, -812, -812, 338, 341, -812, -812,
- -812, -812, -812, -812, -812, -812, -812, -812, -812, -812,
- -812, 337, 343, -812, -812, -812, -812, 340, 346, -812,
- -812, -812, -812, -812, -812, -812, -812, -812, -812, -812,
- -812, 170, -812, -812, -812, 347, -812, -812, 348, -812,
- 350, 353, -812, -812, 357, 358, -812, -812, -812, -812,
- -812, -812, -812, 176, -812, -812, -812, -812, -812, -812,
- -812, -812, -812, -812, -812, -812, -812, -812, -812, -812,
- -812, 178, -812, -812, -812, 207, -812, -812, -812, 35,
- 35, -812, 182, 360, 361, 362, 363, 366, -812, 17,
- -812, 368, 371, 372, 206, 209, 212, 381, 383, 387,
- 389, 390, 391, 232, 233, 234, 225, 237, 244, 236,
- 394, 395, 404, 412, 417, 420, 422, 423, 426, 427,
- 430, 434, 435, 276, 442, 445, 451, 82, -812, 452,
- 454, 456, 282, 43, -812, 464, 465, 466, 469, 471,
- 472, 309, 473, 475, 484, 191, -812, 485, -4, -812,
- 486, 508, 509, 510, 511, 512, 513, 519, -812, 384,
- -812, 520, 521, 364, 522, 526, 527, 365, -812, 392,
- 528, 367, 370, -812, 439, 530, 531, 85, -812, 374,
- 533, 535, 373, 539, 377, 378, 544, 545, 379, 380,
- 550, 552, 553, 555, 449, -812, 557, 78, -812, 558,
- 210, -812, -812, -812, 559, 450, 560, 35, 35, 35,
- -812, 562, 576, 578, -812, -812, -812, 396, 397, 419,
- 581, 598, 601, -812, -812, -812, -812, -812, -812, -812,
- 440, 604, 605, 606, 607, 608, 446, 46, 611, 613,
- 614, 615, 616, -812, 617, 608, 618, -812, 621, 33,
- 180, -812, -812, 459, 460, 461, 625, 463, 467, -812,
- 621, 468, 626, -812, 470, -812, 621, 474, 476, 477,
- 478, 479, 480, 481, -812, 482, 483, -812, 487, 488,
- 489, -812, -812, 490, -812, -812, -812, 491, 35, -812,
- -812, 492, 493, -812, 494, -812, -812, 11, 497, -812,
- -812, -91, 495, 496, 498, -812, 629, -812, 632, -812,
- 35, 82, 78, -812, -812, -812, 210, 43, 590, -812,
- -812, -812, 453, 453, 633, -812, 634, 636, 645, 646,
- -812, -812, -812, -812, -812, -812, -812, -812, 53, 647,
- 658, 660, 16, -1, -812, 449, -812, -812, -812, -812,
- -812, -812, -812, -812, -812, -812, -812, 661, -812, -812,
- -812, -812, 104, -812, -812, -812, -812, -812, -812, -812,
- -812, -812, -812, -812, -812, -812, -812, -812, -812, -812,
- -812, -812, -812, -812, -812, -812, -812, -812, -812, -812,
- -812, -812, -812, -812, -812, -812, 662, 633, -812, 220,
- 221, 222, 228, -812, 229, -812, -812, -812, -812, -812,
- -812, 635, 666, 667, 668, 669, -812, -812, 670, 671,
- 672, 673, 674, -812, 230, -812, -812, -812, -812, -812,
- -812, -812, -812, -812, -812, -812, -812, -812, -812, -812,
- -812, -812, -812, 248, -812, 675, 619, -812, -812, 676,
- 677, -812, -812, 678, 680, -812, -812, 679, 683, -812,
- -812, 681, 685, -812, -812, -812, -812, -812, -812, 91,
- -812, -812, -812, -812, -812, -812, -812, 118, -812, -812,
- 684, 686, -812, -812, 687, 688, -812, 690, 691, 692,
- 693, 694, 695, 256, -812, -812, -812, -812, -812, -812,
- -812, -812, -812, -812, -812, -812, 258, -812, -812, -812,
- 280, 524, -812, 696, 697, -812, -812, -812, -812, 698,
- -812, 150, -812, 699, -812, -812, -812, -812, 700, 590,
- -812, 703, 704, 705, 706, 532, 540, 534, 541, 546,
- 709, 710, 547, 548, 549, 551, 554, 453, -812, -812,
- 453, -812, 633, 191, -812, 634, 392, -812, 636, 439,
- -812, 645, 251, -812, 646, 53, -812, 147, 647, -812,
- 384, -812, 658, -5, -812, 660, 561, 563, 564, 565,
- 566, 567, 16, -812, 715, 717, -1, -812, -812, -812,
- 716, 720, -4, -812, 661, 722, -812, 116, 662, -812,
- -812, 556, -812, 285, 569, 570, 571, -812, -812, -812,
- -812, -812, 572, 573, -812, -812, -812, -812, -812, -812,
- 284, -812, 286, -812, 719, -812, 721, -812, -812, -812,
- -812, -812, -812, -812, -812, -812, -812, -812, -812, -812,
- -812, -812, -812, 287, -812, -812, -812, -812, -812, -812,
- -812, -812, -812, -812, -812, 724, -812, -812, -812, -812,
- -812, -812, -812, -812, -812, 723, 739, -812, -812, -812,
- -812, -812, 735, -812, 288, -812, -812, -812, -812, -812,
- -812, -812, -812, 577, 579, -812, -812, 580, 294, -812,
- 621, -812, 740, -812, -812, -812, -812, -812, 295, -812,
- -812, -812, -812, -812, -812, -812, -812, -812, -812, -812,
- -812, -812, -812, -812, -812, -812, -812, -812, -812, 251,
- -812, 742, 582, -812, 147, -812, -812, -812, -812, -812,
- -812, -812, 745, 583, 746, 116, -812, -812, 586, -812,
- -812, 750, -812, 588, -812, -812, 744, -812, -812, 320,
- -812, -30, 744, -812, -812, 753, 754, 755, 308, -812,
- -812, -812, -812, -812, -812, 756, 591, 592, 595, -30,
- -812, 597, -812, -812, -812, -812, -812
+ 413, -822, -822, -822, -822, -822, -822, -822, -822, -822,
+ -822, -822, -822, -822, -822, 32, 35, 42, 56, 58,
+ 60, 62, 64, 66, 79, 94, 150, 152, 156, 172,
+ -822, -822, -822, -822, -822, -822, -822, -822, -822, -822,
+ -822, -822, -822, -822, -822, -822, -822, -822, -822, -822,
+ -822, -822, -822, -822, -822, -822, -822, -822, -822, -822,
+ -822, -822, -822, -822, -822, -822, -822, -822, 35, -88,
+ 40, 80, 43, 189, -6, 249, 118, 226, 251, -49,
+ 349, 36, 212, -822, 193, 206, 247, 244, 263, -822,
+ -822, -822, -822, -822, 265, -822, 81, -822, -822, -822,
+ -822, -822, -822, -822, -822, -822, 277, 308, 312, -822,
+ -822, -822, -822, -822, -822, 314, 315, 322, 323, 324,
+ 334, 338, -822, -822, -822, -822, -822, -822, -822, -822,
+ -822, -822, -822, -822, -822, 341, -822, -822, -822, -822,
+ 114, -822, -822, -822, -822, -822, -822, -822, -822, -822,
+ -822, -822, -822, -822, -822, -822, -822, -822, -822, -822,
+ -822, -822, -822, -822, -822, -822, -822, -822, -822, -822,
+ -822, -822, -822, -822, -822, -822, -822, -822, -822, -822,
+ -822, 342, -822, 126, -822, -822, -822, -822, -822, -822,
+ -822, -822, -822, -822, -822, -822, -822, 360, -822, -822,
+ -822, -822, -822, -822, -822, -822, -822, -822, -822, -822,
+ 141, -822, -822, -822, -822, -822, -822, -822, -822, -822,
+ -822, -822, -822, -822, -822, -822, -822, -822, -822, -822,
+ -822, -822, -822, -822, -822, 147, -822, -822, -822, -822,
+ -822, -822, -822, -822, -822, -822, -822, -822, -822, -822,
+ -822, -822, 259, 287, -822, -822, -822, -822, -822, -822,
+ -822, -822, -822, -822, -822, -822, 272, -822, -822, 379,
+ -822, -822, -822, 381, -822, -822, 328, 350, -822, -822,
+ -822, -822, -822, -822, -822, -822, -822, -822, -822, -822,
+ -822, 383, 387, -822, -822, -822, -822, 368, 392, -822,
+ -822, -822, -822, -822, -822, -822, -822, -822, -822, -822,
+ -822, 157, -822, -822, -822, 397, -822, -822, 398, -822,
+ 399, 401, -822, -822, 403, 404, -822, -822, -822, -822,
+ -822, -822, -822, 188, -822, -822, -822, -822, -822, -822,
+ -822, -822, -822, -822, -822, -822, -822, -822, -822, -822,
+ -822, 276, -822, -822, -822, 280, -822, -822, -822, 35,
+ 35, -822, 246, 420, 421, 422, 423, 434, -822, 40,
+ -822, 435, 441, 442, 261, 281, 290, 445, 446, 449,
+ 456, 457, 460, 294, 295, 296, 298, 325, 329, 299,
+ 464, 465, 490, 491, 492, 496, 498, 499, 500, 501,
+ 502, 503, 504, 339, 505, 509, 511, 80, -822, 513,
+ 514, 516, 351, 43, -822, 521, 524, 525, 526, 527,
+ 528, 364, 529, 532, 533, 189, -822, 534, -6, -822,
+ 535, 537, 538, 539, 541, 542, 543, 544, -822, 249,
+ -822, 545, 546, 380, 548, 550, 552, 384, -822, 226,
+ 555, 388, 389, -822, 251, 556, 559, 5, -822, 394,
+ 560, 561, 412, 581, 416, 417, 585, 586, 418, 419,
+ 589, 590, 591, 592, 349, -822, 593, 36, -822, 594,
+ 212, -822, -822, -822, 595, 596, 597, 35, 35, 35,
+ -822, 598, 599, 600, -822, -822, -822, 431, 432, 438,
+ 602, 603, 606, -822, -822, -822, -822, -822, -822, -822,
+ 443, 607, 609, 610, 611, 612, 447, -42, 613, 615,
+ 616, 617, 618, -822, 619, 612, 620, -822, 623, 195,
+ 203, -822, -822, 453, 454, 459, 625, 461, 462, -822,
+ 623, 463, 627, -822, 466, -822, 623, 467, 468, 469,
+ 470, 471, 472, 473, -822, 474, 475, -822, 476, 477,
+ 478, -822, -822, 479, -822, -822, -822, 480, 35, -822,
+ -822, 481, 482, -822, 483, -822, -822, 20, 517, -822,
+ -822, 13, 485, 486, 487, -822, 630, -822, 653, -822,
+ 35, 80, 36, -822, -822, -822, 212, 43, 636, -822,
+ -822, -822, 187, 187, 654, -822, 655, 656, 657, 658,
+ -822, -822, -822, -822, -822, -822, -822, -822, 75, 659,
+ 660, 661, 149, 49, -822, 349, -822, -822, -822, -822,
+ -822, -822, -822, -822, -822, -822, -822, 662, -822, -822,
+ -822, -822, 137, -822, -822, -822, -822, -822, -822, -822,
+ -822, -822, -822, -822, -822, -822, -822, -822, -822, -822,
+ -822, -822, -822, -822, -822, -822, -822, -822, -822, -822,
+ -822, -822, -822, -822, -822, -822, 663, 654, -822, 284,
+ 286, 288, 297, -822, 301, -822, -822, -822, -822, -822,
+ -822, 667, 668, 669, 670, 671, -822, -822, -822, -822,
+ 672, 673, 674, 675, 676, -822, 303, -822, -822, -822,
+ -822, -822, -822, -822, -822, -822, -822, -822, -822, -822,
+ -822, -822, -822, -822, -822, -822, -822, 307, -822, 677,
+ 678, -822, -822, 679, 681, -822, -822, 680, 684, -822,
+ -822, 682, 686, -822, -822, 685, 687, -822, -822, -822,
+ -822, -822, -822, 91, -822, -822, -822, -822, -822, -822,
+ -822, 92, -822, -822, 688, 689, -822, -822, 690, 692,
+ -822, 693, 694, 695, 696, 697, 698, 326, -822, -822,
+ -822, -822, -822, -822, -822, -822, -822, -822, -822, -822,
+ 332, -822, -822, -822, 336, 512, -822, 699, 700, -822,
+ -822, -822, -822, 652, -822, 164, -822, 701, -822, -822,
+ -822, -822, 702, 636, -822, 704, 705, 706, 707, 522,
+ 531, 547, 540, 549, 708, 710, 711, 712, 551, 553,
+ 554, 557, 558, 187, -822, -822, 187, -822, 654, 189,
+ -822, 655, 226, -822, 656, 251, -822, 657, 430, -822,
+ 658, 75, -822, 51, 659, -822, 249, -822, 660, -49,
+ -822, 661, 562, 563, 564, 565, 566, 567, 149, -822,
+ 713, 715, 49, -822, -822, -822, 717, 718, -6, -822,
+ 662, 722, -822, 34, 663, -822, -822, 569, -822, 377,
+ 570, 571, 572, -822, -822, -822, -822, -822, 573, 574,
+ 575, 576, -822, -822, -822, -822, -822, -822, 358, -822,
+ 359, -822, 719, -822, 721, -822, -822, -822, -822, -822,
+ -822, -822, -822, -822, -822, -822, -822, -822, -822, -822,
+ -822, 362, -822, -822, -822, -822, -822, -822, -822, -822,
+ -822, -822, -822, 726, -822, -822, -822, -822, -822, -822,
+ -822, -822, -822, 724, 744, -822, -822, -822, -822, -822,
+ 740, -822, 369, -822, -822, -822, -822, -822, -822, -822,
+ -822, 579, 580, -822, -822, 582, 372, -822, 623, -822,
+ 747, -822, -822, -822, -822, -822, 390, -822, -822, -822,
+ -822, -822, -822, -822, -822, -822, -822, -822, -822, -822,
+ -822, -822, -822, -822, -822, -822, -822, -822, -822, 430,
+ -822, 749, 583, -822, 51, -822, -822, -822, -822, -822,
+ -822, -822, 750, 584, 753, 34, -822, -822, 588, -822,
+ -822, 754, -822, 601, -822, -822, 755, -822, -822, 197,
+ -822, -24, 755, -822, -822, 756, 757, 759, 391, -822,
+ -822, -822, -822, -822, -822, 760, 614, 605, 626, -24,
+ -822, 604, -822, -822, -822, -822, -822
};
- const unsigned 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, 134, 9, 271, 11,
- 432, 13, 457, 15, 357, 17, 365, 19, 402, 21,
- 236, 23, 549, 25, 619, 27, 610, 29, 47, 41,
- 0, 0, 0, 0, 0, 459, 0, 367, 404, 0,
+ 35, 36, 58, 5, 70, 7, 134, 9, 277, 11,
+ 438, 13, 463, 15, 363, 17, 371, 19, 408, 21,
+ 242, 23, 555, 25, 625, 27, 616, 29, 47, 41,
+ 0, 0, 0, 0, 0, 465, 0, 373, 410, 0,
0, 0, 0, 49, 0, 48, 0, 0, 42, 68,
- 617, 602, 604, 606, 0, 67, 0, 60, 62, 64,
- 65, 66, 63, 608, 123, 149, 0, 0, 0, 478,
- 480, 482, 147, 156, 158, 0, 0, 0, 0, 0,
- 0, 0, 118, 263, 355, 394, 323, 445, 447, 316,
- 214, 506, 449, 228, 247, 0, 532, 545, 547, 110,
+ 623, 608, 610, 612, 0, 67, 0, 60, 62, 64,
+ 65, 66, 63, 614, 123, 149, 0, 0, 0, 484,
+ 486, 488, 147, 156, 158, 0, 0, 0, 0, 0,
+ 0, 0, 118, 269, 361, 400, 329, 451, 453, 322,
+ 220, 512, 455, 234, 253, 0, 538, 551, 553, 110,
0, 72, 74, 75, 76, 107, 108, 109, 77, 105,
94, 95, 96, 80, 81, 102, 82, 83, 84, 88,
89, 78, 106, 79, 86, 87, 100, 101, 103, 97,
98, 99, 85, 90, 91, 92, 93, 104, 136, 138,
142, 0, 133, 0, 125, 127, 128, 129, 130, 131,
- 132, 304, 306, 308, 424, 302, 310, 0, 314, 312,
- 502, 301, 275, 276, 277, 298, 299, 300, 288, 289,
- 0, 273, 280, 293, 294, 295, 281, 283, 284, 286,
- 282, 278, 279, 296, 297, 285, 290, 291, 292, 287,
- 443, 442, 438, 439, 437, 0, 434, 436, 440, 441,
- 500, 488, 490, 494, 492, 498, 496, 484, 477, 471,
- 475, 476, 0, 460, 461, 472, 473, 474, 468, 463,
- 469, 465, 466, 467, 470, 464, 0, 384, 199, 0,
- 388, 386, 391, 0, 380, 381, 0, 368, 369, 371,
- 383, 372, 373, 374, 390, 375, 376, 377, 378, 379,
- 418, 0, 0, 416, 417, 420, 421, 0, 405, 406,
- 408, 409, 410, 411, 412, 413, 414, 415, 243, 245,
- 240, 0, 238, 241, 242, 0, 572, 574, 0, 577,
- 0, 0, 581, 585, 0, 0, 589, 596, 598, 600,
- 570, 568, 569, 0, 551, 553, 554, 555, 556, 557,
- 558, 559, 560, 561, 562, 563, 564, 565, 566, 567,
- 624, 0, 621, 623, 615, 0, 612, 614, 46, 0,
+ 132, 310, 312, 314, 430, 308, 316, 0, 320, 318,
+ 508, 307, 281, 282, 283, 304, 305, 306, 294, 295,
+ 0, 279, 286, 299, 300, 301, 287, 289, 290, 292,
+ 288, 284, 285, 302, 303, 291, 296, 297, 298, 293,
+ 449, 448, 444, 445, 443, 0, 440, 442, 446, 447,
+ 506, 494, 496, 500, 498, 504, 502, 490, 483, 477,
+ 481, 482, 0, 466, 467, 478, 479, 480, 474, 469,
+ 475, 471, 472, 473, 476, 470, 0, 390, 201, 0,
+ 394, 392, 397, 0, 386, 387, 0, 374, 375, 377,
+ 389, 378, 379, 380, 396, 381, 382, 383, 384, 385,
+ 424, 0, 0, 422, 423, 426, 427, 0, 411, 412,
+ 414, 415, 416, 417, 418, 419, 420, 421, 249, 251,
+ 246, 0, 244, 247, 248, 0, 578, 580, 0, 583,
+ 0, 0, 587, 591, 0, 0, 595, 602, 604, 606,
+ 576, 574, 575, 0, 557, 559, 560, 561, 562, 563,
+ 564, 565, 566, 567, 568, 569, 570, 571, 572, 573,
+ 630, 0, 627, 629, 621, 0, 618, 620, 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, 71, 0,
0, 0, 0, 0, 135, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 272, 0, 0, 433,
- 0, 0, 0, 0, 0, 0, 0, 0, 458, 0,
- 358, 0, 0, 0, 0, 0, 0, 0, 366, 0,
- 0, 0, 0, 403, 0, 0, 0, 0, 237, 0,
+ 0, 0, 0, 0, 0, 0, 278, 0, 0, 439,
+ 0, 0, 0, 0, 0, 0, 0, 0, 464, 0,
+ 364, 0, 0, 0, 0, 0, 0, 0, 372, 0,
+ 0, 0, 0, 409, 0, 0, 0, 0, 243, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 550, 0, 0, 620, 0,
- 0, 611, 50, 43, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 556, 0, 0, 626, 0,
+ 0, 617, 50, 43, 0, 0, 0, 0, 0, 0,
61, 0, 0, 0, 120, 121, 122, 0, 0, 0,
0, 0, 0, 111, 112, 113, 114, 115, 116, 117,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 531, 0, 0, 0, 73, 0, 0,
- 0, 146, 126, 0, 0, 0, 0, 0, 0, 322,
- 0, 0, 0, 274, 0, 435, 0, 0, 0, 0,
- 0, 0, 0, 0, 462, 0, 0, 382, 0, 0,
- 0, 393, 370, 0, 422, 423, 407, 0, 0, 239,
- 571, 0, 0, 576, 0, 579, 580, 0, 0, 587,
- 588, 0, 0, 0, 0, 552, 0, 622, 0, 613,
- 0, 0, 0, 603, 605, 607, 0, 0, 0, 479,
- 481, 483, 0, 0, 160, 119, 265, 359, 396, 325,
- 40, 446, 448, 318, 319, 320, 321, 317, 0, 0,
- 451, 230, 0, 0, 546, 0, 51, 137, 140, 141,
- 139, 144, 145, 143, 305, 307, 309, 426, 303, 311,
- 315, 313, 0, 444, 501, 489, 491, 495, 493, 499,
- 497, 485, 385, 200, 389, 387, 392, 419, 244, 246,
- 573, 575, 578, 583, 584, 582, 586, 591, 592, 593,
- 594, 595, 590, 597, 599, 601, 0, 160, 44, 0,
- 0, 0, 0, 154, 0, 151, 153, 186, 192, 194,
- 196, 0, 0, 0, 0, 0, 208, 210, 0, 0,
- 0, 0, 0, 185, 0, 166, 168, 169, 170, 171,
- 172, 173, 174, 175, 176, 177, 181, 182, 183, 178,
- 184, 179, 180, 0, 164, 0, 161, 162, 269, 0,
- 266, 267, 363, 0, 360, 361, 400, 0, 397, 398,
- 329, 0, 326, 327, 223, 224, 225, 226, 227, 0,
- 216, 218, 219, 220, 221, 222, 510, 0, 508, 455,
- 0, 452, 453, 234, 0, 231, 232, 0, 0, 0,
- 0, 0, 0, 0, 249, 251, 252, 253, 254, 255,
- 256, 541, 543, 540, 538, 539, 0, 534, 536, 537,
- 0, 53, 430, 0, 427, 428, 486, 504, 505, 0,
- 628, 0, 626, 0, 69, 618, 609, 124, 0, 0,
- 150, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 148, 157,
- 0, 159, 0, 0, 264, 0, 367, 356, 0, 404,
- 395, 0, 0, 324, 0, 0, 215, 512, 0, 507,
- 459, 450, 0, 0, 229, 0, 0, 0, 0, 0,
- 0, 0, 0, 248, 0, 0, 0, 533, 548, 55,
- 0, 54, 0, 425, 0, 0, 503, 0, 0, 625,
- 616, 0, 152, 0, 0, 0, 0, 198, 201, 202,
- 203, 204, 0, 0, 212, 213, 205, 206, 207, 167,
- 0, 163, 0, 268, 0, 362, 0, 399, 354, 348,
- 336, 337, 351, 352, 353, 339, 340, 333, 334, 335,
- 346, 347, 345, 0, 331, 338, 349, 350, 341, 342,
- 343, 344, 328, 217, 528, 0, 526, 527, 519, 520,
- 524, 525, 521, 522, 523, 0, 513, 514, 516, 517,
- 518, 509, 0, 454, 0, 233, 257, 258, 259, 260,
- 261, 262, 250, 0, 0, 535, 52, 0, 0, 429,
- 0, 642, 0, 640, 638, 632, 636, 637, 0, 630,
- 634, 635, 633, 627, 155, 188, 189, 190, 191, 187,
- 193, 195, 197, 209, 211, 165, 270, 364, 401, 0,
- 330, 0, 0, 511, 0, 456, 235, 542, 544, 56,
- 431, 487, 0, 0, 0, 0, 629, 332, 0, 530,
- 515, 0, 639, 0, 631, 529, 0, 641, 646, 0,
- 644, 0, 0, 643, 654, 0, 0, 0, 0, 648,
- 650, 651, 652, 653, 645, 0, 0, 0, 0, 0,
- 647, 0, 656, 657, 658, 649, 655
+ 0, 0, 0, 537, 0, 0, 0, 73, 0, 0,
+ 0, 146, 126, 0, 0, 0, 0, 0, 0, 328,
+ 0, 0, 0, 280, 0, 441, 0, 0, 0, 0,
+ 0, 0, 0, 0, 468, 0, 0, 388, 0, 0,
+ 0, 399, 376, 0, 428, 429, 413, 0, 0, 245,
+ 577, 0, 0, 582, 0, 585, 586, 0, 0, 593,
+ 594, 0, 0, 0, 0, 558, 0, 628, 0, 619,
+ 0, 0, 0, 609, 611, 613, 0, 0, 0, 485,
+ 487, 489, 0, 0, 160, 119, 271, 365, 402, 331,
+ 40, 452, 454, 324, 325, 326, 327, 323, 0, 0,
+ 457, 236, 0, 0, 552, 0, 51, 137, 140, 141,
+ 139, 144, 145, 143, 311, 313, 315, 432, 309, 317,
+ 321, 319, 0, 450, 507, 495, 497, 501, 499, 505,
+ 503, 491, 391, 202, 395, 393, 398, 425, 250, 252,
+ 579, 581, 584, 589, 590, 588, 592, 597, 598, 599,
+ 600, 601, 596, 603, 605, 607, 0, 160, 44, 0,
+ 0, 0, 0, 154, 0, 151, 153, 188, 194, 196,
+ 198, 0, 0, 0, 0, 0, 210, 212, 214, 216,
+ 0, 0, 0, 0, 0, 187, 0, 166, 168, 169,
+ 170, 171, 172, 173, 174, 175, 176, 177, 181, 182,
+ 183, 178, 184, 185, 186, 179, 180, 0, 164, 0,
+ 161, 162, 275, 0, 272, 273, 369, 0, 366, 367,
+ 406, 0, 403, 404, 335, 0, 332, 333, 229, 230,
+ 231, 232, 233, 0, 222, 224, 225, 226, 227, 228,
+ 516, 0, 514, 461, 0, 458, 459, 240, 0, 237,
+ 238, 0, 0, 0, 0, 0, 0, 0, 255, 257,
+ 258, 259, 260, 261, 262, 547, 549, 546, 544, 545,
+ 0, 540, 542, 543, 0, 53, 436, 0, 433, 434,
+ 492, 510, 511, 0, 634, 0, 632, 0, 69, 624,
+ 615, 124, 0, 0, 150, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 148, 157, 0, 159, 0, 0,
+ 270, 0, 373, 362, 0, 410, 401, 0, 0, 330,
+ 0, 0, 221, 518, 0, 513, 465, 456, 0, 0,
+ 235, 0, 0, 0, 0, 0, 0, 0, 0, 254,
+ 0, 0, 0, 539, 554, 55, 0, 54, 0, 431,
+ 0, 0, 509, 0, 0, 631, 622, 0, 152, 0,
+ 0, 0, 0, 200, 203, 204, 205, 206, 0, 0,
+ 0, 0, 218, 219, 207, 208, 209, 167, 0, 163,
+ 0, 274, 0, 368, 0, 405, 360, 354, 342, 343,
+ 357, 358, 359, 345, 346, 339, 340, 341, 352, 353,
+ 351, 0, 337, 344, 355, 356, 347, 348, 349, 350,
+ 334, 223, 534, 0, 532, 533, 525, 526, 530, 531,
+ 527, 528, 529, 0, 519, 520, 522, 523, 524, 515,
+ 0, 460, 0, 239, 263, 264, 265, 266, 267, 268,
+ 256, 0, 0, 541, 52, 0, 0, 435, 0, 648,
+ 0, 646, 644, 638, 642, 643, 0, 636, 640, 641,
+ 639, 633, 155, 190, 191, 192, 193, 189, 195, 197,
+ 199, 211, 213, 215, 217, 165, 276, 370, 407, 0,
+ 336, 0, 0, 517, 0, 462, 241, 548, 550, 56,
+ 437, 493, 0, 0, 0, 0, 635, 338, 0, 536,
+ 521, 0, 645, 0, 637, 535, 0, 647, 652, 0,
+ 650, 0, 0, 649, 660, 0, 0, 0, 0, 654,
+ 656, 657, 658, 659, 651, 0, 0, 0, 0, 0,
+ 653, 0, 662, 663, 664, 655, 661
};
- const short
+ const short int
Dhcp4Parser::yypgoto_[] =
{
- -812, -812, -812, -812, -812, -812, -812, -812, -812, -812,
- -812, -812, -812, -812, -812, -812, -46, -812, -472, -812,
- 154, -812, -812, -812, -812, -812, -812, -516, -812, -812,
- -812, -70, -812, -812, -812, 398, -812, -812, -812, -812,
- 177, 385, -47, -44, 4, 12, 15, 19, -812, -812,
- -812, -812, 23, 26, -812, -812, 181, 375, -812, -812,
- -812, -812, -812, -812, -812, -812, -812, -812, -812, -812,
- -812, -812, -812, -812, -28, -812, -812, -812, -812, -812,
- -812, 93, -812, -41, -812, -578, -22, -812, -812, -812,
- -812, -812, -812, -812, -812, -812, -812, -26, -812, -812,
- -812, -812, -812, -812, -812, -812, -812, -812, -812, -812,
- -812, -812, -812, -812, -812, -33, -812, -812, -812, -812,
- -812, -812, -812, -812, -812, -56, -812, -812, -812, -52,
- 349, -812, -812, -812, -812, -812, -812, -812, -43, -812,
- -812, -812, -812, -812, -812, -811, -812, -812, -812, -17,
- -812, -812, -812, -9, 400, -812, -812, -812, -812, -812,
- -812, -812, -812, -810, -812, -68, -812, -55, -812, 27,
- -812, -812, -812, -812, -812, -812, -812, -15, -812, -812,
- -177, -63, -812, -812, -812, -812, -812, -6, -812, -812,
- -812, -2, -812, 393, -812, -66, -812, -812, -812, -812,
- -812, -64, -812, -812, -812, -812, -812, -19, -812, -812,
- -812, 21, -812, -812, -812, 10, -812, 382, -812, -812,
- -812, -812, -812, -812, -812, -812, -812, -812, -812, -10,
- -812, -812, -812, 0, 438, -812, -812, -57, -812, -39,
- -812, -62, -812, -812, -812, 18, -812, -812, -812, 13,
- -812, 428, -7, -812, -3, -812, 8, -812, 239, -812,
- -812, -812, -812, -812, -812, -812, -812, -812, -812, -812,
- -812, -812, -812, -812, -812, -812, -805, -812, -812, -812,
- -812, -812, 25, -812, -812, -812, -133, -812, -812, -812,
- -812, -812, -812, -812, -812, 9, -812, -812, -812, -812,
- -812, -812, -812, -812, -812, -812, 249, 402, -812, -812,
- -812, -812, -812, -812, -812, -812, -812, -812, -812, -812,
- -812, -812, -812, -812, -812, -812, -812, -812, -812, -812,
- -812, -812, -812, -812, -812, -812, -812, -812, -812, -812,
- -812, -812, -812, -812, 281, 399, -812, -812, -812, -812,
- -812, -812, 290, 401, -812, -812, -812, 2, -812, -812,
- -132, -812, -812, -812, -812, -812, -812, -148, -812, -812,
- -164, -812, -812, -812, -812, -812
+ -822, -822, -822, -822, -822, -822, -822, -822, -822, -822,
+ -822, -822, -822, -822, -822, -822, -46, -822, -472, -822,
+ 240, -822, -822, -822, -822, -822, -822, -516, -822, -822,
+ -822, -70, -822, -822, -822, 415, -822, -822, -822, -822,
+ 175, 361, -47, -44, 4, 12, 15, 19, -822, -822,
+ -822, -822, 23, 26, -822, -822, 170, 357, -822, -822,
+ -822, -822, -822, -822, -822, -822, -822, -822, -822, -822,
+ -822, -822, -822, -822, -40, -822, -822, -822, -822, -822,
+ -822, 117, -822, -33, -822, -578, -35, -822, -822, -822,
+ -822, -822, -822, -822, -822, -822, -822, -26, -822, -822,
+ -822, -822, -822, -822, -822, -822, -822, -822, -822, -822,
+ -822, -822, -822, -822, -822, -822, -822, -822, -822, -27,
+ -822, -822, -822, -822, -822, -822, -822, -822, -822, -54,
+ -822, -822, -822, -48, 355, -822, -822, -822, -822, -822,
+ -822, -822, -50, -822, -822, -822, -822, -822, -822, -821,
+ -822, -822, -822, -16, -822, -822, -822, -11, 405, -822,
+ -822, -822, -822, -822, -822, -822, -822, -820, -822, -68,
+ -822, -55, -822, 27, -822, -822, -822, -822, -822, -822,
+ -822, -15, -822, -822, -178, -63, -822, -822, -822, -822,
+ -822, -4, -822, -822, -822, 0, -822, 406, -822, -66,
+ -822, -822, -822, -822, -822, -64, -822, -822, -822, -822,
+ -822, -19, -822, -822, -822, -9, -822, -822, -822, 3,
+ -822, 414, -822, -822, -822, -822, -822, -822, -822, -822,
+ -822, -822, -822, -10, -822, -822, -822, -5, 444, -822,
+ -822, -57, -822, -39, -822, -62, -822, -822, -822, 11,
+ -822, -822, -822, 21, -822, 437, -7, -822, -3, -822,
+ 8, -822, 236, -822, -822, -822, -822, -822, -822, -822,
+ -822, -822, -822, -822, -822, -822, -822, -822, -822, -822,
+ -817, -822, -822, -822, -822, -822, 25, -822, -822, -822,
+ -134, -822, -822, -822, -822, -822, -822, -822, -822, 9,
+ -822, -822, -822, -822, -822, -822, -822, -822, -822, -822,
+ 257, 409, -822, -822, -822, -822, -822, -822, -822, -822,
+ -822, -822, -822, -822, -822, -822, -822, -822, -822, -822,
+ -822, -822, -822, -822, -822, -822, -822, -822, -822, -822,
+ -822, -822, -822, -822, -822, -822, -822, -822, 289, 407,
+ -822, -822, -822, -822, -822, -822, 292, 411, -822, -822,
+ -822, 2, -822, -822, -136, -822, -822, -822, -822, -822,
+ -822, -152, -822, -822, -168, -822, -822, -822, -822, -822
};
- 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,
- 611, 87, 88, 41, 68, 84, 85, 627, 791, 870,
- 871, 703, 43, 70, 96, 97, 98, 363, 45, 71,
+ 611, 87, 88, 41, 68, 84, 85, 627, 795, 876,
+ 877, 705, 43, 70, 96, 97, 98, 363, 45, 71,
140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
390, 150, 151, 152, 153, 372, 183, 184, 47, 72,
185, 409, 186, 410, 630, 187, 411, 633, 188, 154,
- 380, 155, 373, 684, 685, 686, 808, 156, 381, 157,
- 382, 725, 726, 727, 830, 704, 705, 706, 811, 989,
- 707, 812, 708, 813, 709, 814, 710, 711, 442, 712,
- 713, 714, 715, 716, 717, 718, 719, 820, 720, 821,
- 721, 722, 158, 398, 749, 750, 751, 752, 753, 754,
- 755, 159, 401, 764, 765, 766, 853, 61, 79, 311,
- 312, 313, 455, 314, 456, 160, 402, 773, 774, 775,
- 776, 777, 778, 779, 780, 161, 391, 729, 730, 731,
- 833, 49, 73, 210, 211, 212, 419, 213, 415, 214,
- 416, 215, 417, 216, 420, 217, 423, 218, 422, 162,
- 397, 617, 220, 163, 394, 741, 742, 743, 842, 923,
- 924, 164, 392, 55, 76, 733, 734, 735, 836, 57,
- 77, 276, 277, 278, 279, 280, 281, 282, 441, 283,
- 445, 284, 444, 285, 286, 446, 287, 165, 393, 737,
- 738, 739, 839, 59, 78, 297, 298, 299, 300, 301,
- 450, 302, 303, 304, 305, 222, 418, 793, 794, 795,
- 872, 51, 74, 235, 236, 237, 427, 166, 395, 167,
- 396, 168, 400, 760, 761, 762, 850, 53, 75, 252,
- 253, 254, 169, 377, 170, 378, 171, 379, 258, 437,
- 798, 875, 259, 431, 260, 432, 261, 434, 262, 433,
- 263, 436, 264, 435, 265, 430, 229, 424, 799, 172,
- 399, 757, 758, 847, 945, 946, 947, 948, 949, 1001,
- 950, 173, 174, 404, 786, 787, 788, 864, 789, 865,
- 175, 405, 176, 406, 63, 80, 333, 334, 335, 336,
- 460, 337, 461, 338, 339, 463, 340, 341, 342, 466,
- 665, 343, 467, 344, 345, 346, 470, 672, 347, 471,
- 348, 472, 349, 473, 99, 365, 100, 366, 101, 367,
- 177, 371, 67, 82, 355, 356, 357, 479, 102, 364,
- 65, 81, 351, 352, 353, 476, 801, 802, 877, 978,
- 979, 980, 981, 1014, 982, 1012, 1029, 1030, 1031, 1038,
- 1039, 1040, 1045, 1041, 1042, 1043
+ 380, 155, 373, 684, 685, 686, 812, 156, 381, 157,
+ 382, 729, 730, 731, 836, 706, 707, 708, 815, 997,
+ 709, 816, 710, 817, 711, 818, 712, 713, 442, 714,
+ 715, 716, 717, 718, 719, 720, 721, 824, 722, 825,
+ 723, 826, 724, 827, 725, 726, 158, 398, 753, 754,
+ 755, 756, 757, 758, 759, 159, 401, 768, 769, 770,
+ 859, 61, 79, 311, 312, 313, 455, 314, 456, 160,
+ 402, 777, 778, 779, 780, 781, 782, 783, 784, 161,
+ 391, 733, 734, 735, 839, 49, 73, 210, 211, 212,
+ 419, 213, 415, 214, 416, 215, 417, 216, 420, 217,
+ 423, 218, 422, 162, 397, 617, 220, 163, 394, 745,
+ 746, 747, 848, 931, 932, 164, 392, 55, 76, 737,
+ 738, 739, 842, 57, 77, 276, 277, 278, 279, 280,
+ 281, 282, 441, 283, 445, 284, 444, 285, 286, 446,
+ 287, 165, 393, 741, 742, 743, 845, 59, 78, 297,
+ 298, 299, 300, 301, 450, 302, 303, 304, 305, 222,
+ 418, 797, 798, 799, 878, 51, 74, 235, 236, 237,
+ 427, 166, 395, 167, 396, 168, 400, 764, 765, 766,
+ 856, 53, 75, 252, 253, 254, 169, 377, 170, 378,
+ 171, 379, 258, 437, 802, 881, 259, 431, 260, 432,
+ 261, 434, 262, 433, 263, 436, 264, 435, 265, 430,
+ 229, 424, 803, 172, 399, 761, 762, 853, 953, 954,
+ 955, 956, 957, 1011, 958, 173, 174, 404, 790, 791,
+ 792, 870, 793, 871, 175, 405, 176, 406, 63, 80,
+ 333, 334, 335, 336, 460, 337, 461, 338, 339, 463,
+ 340, 341, 342, 466, 665, 343, 467, 344, 345, 346,
+ 470, 672, 347, 471, 348, 472, 349, 473, 99, 365,
+ 100, 366, 101, 367, 177, 371, 67, 82, 355, 356,
+ 357, 479, 102, 364, 65, 81, 351, 352, 353, 476,
+ 805, 806, 883, 986, 987, 988, 989, 1024, 990, 1022,
+ 1039, 1040, 1041, 1048, 1049, 1050, 1055, 1051, 1052, 1053
};
- const unsigned short
+ const unsigned short int
Dhcp4Parser::yytable_[] =
{
95, 139, 182, 201, 231, 248, 232, 274, 293, 310,
330, 225, 295, 266, 296, 189, 223, 238, 250, 233,
- 288, 306, 83, 331, 640, 723, 202, 89, 663, 203,
- 644, 918, 919, 190, 224, 239, 251, 931, 289, 307,
- 31, 332, 32, 610, 33, 667, 668, 669, 670, 628,
- 629, 275, 294, 610, 221, 234, 249, 178, 179, 30,
- 369, 180, 125, 42, 181, 370, 226, 44, 255, 46,
- 227, 48, 256, 50, 230, 127, 128, 204, 127, 128,
- 671, 228, 52, 257, 407, 205, 413, 198, 206, 408,
- 199, 414, 207, 103, 845, 104, 208, 846, 425, 209,
- 219, 308, 309, 426, 105, 54, 106, 107, 108, 109,
- 110, 111, 112, 113, 114, 1034, 781, 782, 1035, 1036,
- 1037, 848, 127, 128, 849, 767, 768, 769, 770, 771,
- 772, 613, 614, 615, 616, 115, 116, 117, 118, 119,
- 120, 121, 122, 123, 56, 664, 58, 124, 125, 744,
- 745, 746, 747, 878, 748, 428, 879, 86, 126, 90,
- 429, 127, 128, 94, 94, 60, 129, 94, 91, 92,
- 93, 130, 131, 457, 109, 110, 111, 132, 458, 474,
- 62, 477, 64, 268, 475, 94, 478, 133, 918, 919,
- 134, 308, 309, 66, 931, 127, 128, 135, 136, 631,
- 632, 137, 138, 34, 35, 36, 37, 247, 796, 124,
- 480, 94, 124, 125, 268, 481, 107, 108, 109, 110,
- 111, 350, 354, 407, 477, 480, 127, 128, 804, 805,
- 806, 413, 809, 827, 359, 361, 807, 810, 828, 934,
- 935, 358, 360, 362, 115, 116, 117, 118, 119, 120,
- 94, 827, 900, 191, 192, 193, 829, 125, 368, 862,
- 971, 866, 972, 973, 863, 374, 867, 375, 194, 376,
- 127, 128, 195, 196, 197, 129, 107, 108, 109, 110,
- 111, 383, 198, 474, 94, 199, 132, 827, 868, 425,
- 999, 457, 995, 200, 996, 1000, 1006, 428, 1015, 95,
- 384, 385, 1010, 1016, 115, 116, 117, 118, 119, 120,
- 386, 1049, 123, 482, 483, 94, 1050, 125, 268, 985,
- 986, 987, 988, 1032, 438, 387, 1033, 388, 389, 403,
- 127, 128, 412, 196, 421, 129, 439, 139, 443, 440,
- 447, 451, 198, 182, 449, 199, 448, 452, 453, 454,
- 484, 459, 462, 200, 464, 201, 189, 465, 231, 94,
- 232, 468, 469, 225, 485, 486, 487, 488, 223, 248,
- 489, 238, 491, 233, 190, 492, 493, 494, 202, 274,
- 495, 203, 250, 496, 293, 497, 224, 498, 295, 239,
- 296, 499, 288, 500, 501, 502, 506, 306, 510, 511,
- 251, 503, 504, 505, 330, 509, 221, 507, 512, 234,
- 289, 109, 110, 111, 508, 307, 513, 331, 226, 94,
- 249, 514, 227, 275, 515, 267, 516, 517, 294, 204,
- 518, 519, 255, 228, 520, 332, 256, 205, 521, 522,
- 206, 593, 594, 595, 207, 523, 524, 257, 208, 525,
- 125, 209, 219, 531, 1011, 526, 528, 591, 529, 268,
- 530, 269, 270, 127, 128, 271, 272, 273, 533, 534,
- 535, 127, 128, 536, 240, 537, 538, 540, 539, 541,
- 241, 242, 243, 244, 245, 246, 687, 247, 542, 544,
- 546, 688, 689, 690, 691, 692, 693, 694, 695, 696,
- 697, 698, 699, 700, 701, 702, 268, 290, 269, 270,
- 291, 292, 547, 548, 549, 550, 551, 552, 127, 128,
- 268, 139, 659, 553, 555, 556, 558, 182, 127, 128,
- 559, 560, 563, 557, 567, 568, 561, 571, 564, 572,
- 189, 565, 573, 574, 678, 570, 575, 576, 577, 578,
- 579, 580, 94, 783, 581, 330, 582, 583, 190, 584,
- 94, 586, 588, 590, 599, 600, 784, 592, 331, 596,
- 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
- 325, 326, 327, 597, 785, 598, 332, 601, 602, 328,
- 329, 1, 2, 3, 4, 5, 6, 7, 8, 9,
- 10, 11, 12, 13, 14, 603, 604, 94, 605, 606,
- 607, 608, 609, 683, 612, 32, 618, 94, 619, 620,
- 621, 94, 832, 622, 623, 625, 626, 634, 635, 636,
- 637, 638, 666, 642, 676, 639, 641, 677, 643, 815,
- 724, 728, 645, 732, 646, 647, 648, 649, 650, 651,
- 652, 653, 736, 740, 756, 654, 655, 656, 657, 658,
- 660, 661, 662, 673, 674, 759, 675, 763, 792, 800,
- 816, 817, 818, 819, 822, 823, 824, 825, 826, 624,
- 835, 831, 834, 838, 837, 840, 841, 843, 844, 852,
- 851, 855, 869, 854, 856, 857, 858, 859, 860, 861,
- 874, 887, 873, 889, 881, 880, 876, 883, 884, 885,
- 886, 888, 890, 892, 893, 891, 894, 895, 896, 963,
- 897, 964, 966, 967, 984, 898, 970, 997, 1002, 998,
- 956, 1003, 957, 958, 959, 960, 961, 990, 991, 992,
- 993, 994, 1004, 1005, 1013, 1007, 1018, 1008, 1009, 1021,
- 1023, 1028, 1022, 1019, 1025, 1026, 1027, 1046, 1047, 1048,
- 1051, 1053, 1052, 201, 1054, 1056, 274, 490, 679, 293,
- 803, 225, 908, 295, 920, 296, 223, 936, 682, 288,
- 248, 882, 306, 310, 938, 926, 202, 921, 532, 203,
- 940, 901, 527, 250, 224, 909, 783, 289, 910, 955,
- 307, 954, 231, 927, 232, 899, 569, 974, 941, 784,
- 275, 251, 933, 294, 221, 238, 917, 233, 903, 962,
- 976, 937, 1017, 925, 902, 543, 226, 785, 939, 932,
- 227, 249, 905, 239, 904, 928, 566, 204, 977, 929,
- 942, 228, 562, 255, 943, 205, 911, 256, 206, 906,
- 930, 975, 207, 234, 912, 944, 208, 913, 257, 209,
- 219, 914, 907, 952, 969, 915, 545, 554, 916, 922,
- 953, 1020, 968, 951, 790, 965, 585, 681, 587, 589,
- 983, 797, 680, 1024, 1044, 1055, 0, 0, 0, 0,
+ 288, 306, 83, 331, 640, 727, 202, 926, 927, 203,
+ 644, 939, 30, 190, 224, 239, 251, 663, 289, 307,
+ 31, 332, 32, 610, 33, 613, 614, 615, 616, 42,
+ 89, 275, 294, 610, 221, 234, 249, 178, 179, 308,
+ 309, 180, 125, 44, 181, 46, 226, 48, 255, 50,
+ 227, 52, 256, 54, 230, 127, 128, 204, 109, 110,
+ 111, 228, 86, 257, 369, 205, 56, 198, 206, 370,
+ 199, 103, 207, 104, 851, 854, 208, 852, 855, 209,
+ 219, 58, 105, 268, 106, 107, 108, 109, 110, 111,
+ 112, 113, 114, 308, 309, 127, 128, 407, 124, 125,
+ 268, 94, 408, 1044, 127, 128, 1045, 1046, 1047, 413,
+ 127, 128, 127, 128, 414, 115, 116, 117, 118, 119,
+ 120, 121, 122, 123, 425, 942, 943, 124, 125, 426,
+ 428, 667, 668, 669, 670, 429, 664, 60, 126, 62,
+ 457, 127, 128, 64, 94, 458, 129, 884, 785, 786,
+ 885, 130, 131, 748, 749, 750, 751, 132, 752, 66,
+ 979, 350, 980, 981, 90, 124, 671, 133, 926, 927,
+ 134, 474, 939, 91, 92, 93, 475, 135, 136, 358,
+ 1042, 137, 138, 1043, 94, 34, 35, 36, 37, 359,
+ 94, 628, 629, 94, 107, 108, 109, 110, 111, 94,
+ 687, 94, 631, 632, 354, 688, 689, 690, 691, 692,
+ 693, 694, 695, 696, 697, 698, 699, 700, 701, 702,
+ 703, 704, 247, 800, 115, 116, 117, 118, 119, 120,
+ 94, 360, 361, 191, 192, 193, 268, 125, 908, 267,
+ 771, 772, 773, 774, 775, 776, 362, 438, 194, 368,
+ 127, 128, 195, 196, 197, 129, 109, 110, 111, 477,
+ 440, 374, 198, 480, 478, 199, 132, 407, 481, 477,
+ 439, 480, 808, 200, 809, 268, 810, 269, 270, 95,
+ 413, 271, 272, 273, 813, 811, 833, 127, 128, 814,
+ 833, 834, 375, 482, 483, 835, 376, 125, 383, 384,
+ 268, 290, 269, 270, 291, 292, 385, 386, 387, 868,
+ 127, 128, 127, 128, 869, 872, 448, 139, 388, 474,
+ 873, 240, 389, 182, 874, 403, 412, 241, 242, 243,
+ 244, 245, 246, 449, 247, 201, 189, 94, 231, 94,
+ 232, 833, 425, 225, 421, 1009, 1005, 1006, 223, 248,
+ 1010, 238, 457, 233, 190, 428, 453, 1016, 202, 274,
+ 1020, 203, 250, 443, 293, 447, 224, 451, 295, 239,
+ 296, 452, 288, 1025, 1059, 454, 94, 306, 1026, 1060,
+ 251, 459, 462, 464, 330, 465, 221, 468, 469, 234,
+ 289, 993, 994, 995, 996, 307, 484, 331, 226, 94,
+ 249, 94, 227, 275, 485, 486, 487, 488, 294, 204,
+ 127, 128, 255, 228, 494, 332, 256, 205, 489, 491,
+ 206, 593, 594, 595, 207, 492, 493, 257, 208, 497,
+ 498, 209, 219, 499, 495, 107, 108, 109, 110, 111,
+ 500, 501, 1021, 496, 502, 503, 504, 505, 510, 511,
+ 509, 506, 315, 316, 317, 318, 319, 320, 321, 322,
+ 323, 324, 325, 326, 327, 115, 116, 117, 118, 119,
+ 120, 328, 329, 123, 512, 513, 514, 507, 125, 268,
+ 515, 508, 516, 517, 518, 519, 520, 521, 522, 524,
+ 523, 127, 128, 525, 196, 526, 129, 528, 529, 94,
+ 530, 139, 659, 198, 531, 533, 199, 182, 534, 535,
+ 536, 537, 538, 540, 200, 539, 541, 542, 544, 546,
+ 189, 547, 548, 549, 678, 550, 551, 552, 553, 555,
+ 556, 557, 558, 787, 559, 330, 560, 561, 190, 563,
+ 567, 564, 565, 568, 571, 572, 788, 570, 331, 1,
+ 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
+ 12, 13, 14, 573, 789, 574, 332, 575, 576, 577,
+ 578, 579, 580, 581, 582, 583, 584, 586, 588, 590,
+ 94, 599, 600, 591, 592, 596, 597, 598, 601, 602,
+ 603, 604, 606, 605, 607, 608, 609, 612, 618, 32,
+ 619, 620, 621, 634, 635, 622, 623, 625, 626, 636,
+ 637, 638, 639, 641, 642, 676, 643, 645, 646, 647,
+ 648, 649, 650, 651, 652, 653, 654, 655, 656, 657,
+ 658, 660, 661, 662, 666, 673, 674, 675, 677, 683,
+ 882, 728, 732, 736, 740, 744, 760, 763, 767, 796,
+ 804, 819, 820, 821, 822, 823, 828, 829, 830, 831,
+ 832, 838, 875, 837, 841, 840, 843, 844, 846, 847,
+ 850, 849, 858, 893, 857, 861, 860, 862, 863, 864,
+ 865, 866, 867, 880, 894, 879, 887, 886, 889, 890,
+ 891, 892, 898, 896, 899, 900, 901, 971, 895, 972,
+ 897, 975, 902, 974, 903, 904, 978, 1007, 905, 1008,
+ 1012, 906, 1013, 964, 965, 966, 967, 968, 969, 992,
+ 998, 999, 1000, 1001, 1002, 1003, 1004, 1014, 1015, 1017,
+ 1018, 1023, 1019, 1028, 1031, 1032, 1029, 1033, 1035, 1036,
+ 1056, 1057, 1038, 1058, 1061, 624, 679, 682, 527, 201,
+ 532, 1037, 274, 888, 1066, 293, 1063, 225, 916, 295,
+ 928, 296, 223, 944, 490, 288, 248, 1062, 306, 310,
+ 946, 934, 202, 929, 807, 203, 948, 1064, 907, 250,
+ 224, 917, 787, 289, 918, 909, 307, 963, 231, 935,
+ 232, 962, 569, 982, 949, 788, 275, 251, 970, 294,
+ 221, 238, 925, 233, 941, 911, 984, 945, 910, 933,
+ 543, 1027, 226, 789, 947, 940, 227, 249, 915, 239,
+ 913, 936, 912, 204, 985, 937, 950, 228, 914, 255,
+ 951, 205, 919, 256, 206, 562, 938, 983, 207, 234,
+ 920, 952, 208, 921, 257, 209, 219, 922, 566, 961,
+ 977, 923, 545, 976, 924, 930, 554, 960, 801, 959,
+ 1030, 973, 794, 585, 680, 681, 991, 589, 587, 1034,
+ 1054, 1065, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 908,
- 0, 920, 0, 0, 936, 0, 0, 0, 0, 0,
- 0, 938, 926, 0, 921, 974, 0, 940, 0, 0,
- 0, 0, 909, 0, 0, 910, 0, 0, 976, 0,
- 927, 0, 0, 0, 0, 941, 0, 0, 0, 0,
- 0, 0, 0, 917, 0, 0, 977, 0, 937, 0,
- 925, 0, 0, 0, 0, 939, 0, 0, 0, 975,
- 0, 0, 928, 0, 0, 0, 929, 942, 0, 0,
- 0, 943, 0, 911, 0, 0, 0, 930, 0, 0,
- 0, 912, 944, 0, 913, 0, 0, 0, 914, 0,
- 0, 0, 915, 0, 0, 916, 922
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 916,
+ 0, 928, 0, 0, 944, 0, 0, 0, 0, 0,
+ 0, 946, 934, 0, 929, 982, 0, 948, 0, 0,
+ 0, 0, 917, 0, 0, 918, 0, 0, 984, 0,
+ 935, 0, 0, 0, 0, 949, 0, 0, 0, 0,
+ 0, 0, 0, 925, 0, 0, 985, 0, 945, 0,
+ 933, 0, 0, 0, 0, 947, 0, 0, 0, 983,
+ 0, 0, 936, 0, 0, 0, 937, 950, 0, 0,
+ 0, 951, 0, 919, 0, 0, 0, 938, 0, 0,
+ 0, 920, 952, 0, 921, 0, 0, 0, 922, 0,
+ 0, 0, 923, 0, 0, 924, 930
};
- const short
+ const short int
Dhcp4Parser::yycheck_[] =
{
70, 71, 72, 73, 74, 75, 74, 77, 78, 79,
80, 73, 78, 76, 78, 72, 73, 74, 75, 74,
- 77, 78, 68, 80, 540, 603, 73, 10, 17, 73,
- 546, 842, 842, 72, 73, 74, 75, 842, 77, 78,
- 5, 80, 7, 515, 9, 136, 137, 138, 139, 16,
- 17, 77, 78, 525, 73, 74, 75, 14, 15, 0,
- 3, 18, 66, 7, 21, 8, 73, 7, 75, 7,
- 73, 7, 75, 7, 78, 79, 80, 73, 79, 80,
- 171, 73, 7, 75, 3, 73, 3, 91, 73, 8,
- 94, 8, 73, 11, 3, 13, 73, 6, 3, 73,
- 73, 106, 107, 8, 22, 7, 24, 25, 26, 27,
- 28, 29, 30, 31, 32, 145, 117, 118, 148, 149,
- 150, 3, 79, 80, 6, 109, 110, 111, 112, 113,
- 114, 85, 86, 87, 88, 53, 54, 55, 56, 57,
- 58, 59, 60, 61, 7, 134, 7, 65, 66, 96,
- 97, 98, 99, 3, 101, 3, 6, 168, 76, 142,
- 8, 79, 80, 168, 168, 7, 84, 168, 151, 152,
- 153, 89, 90, 3, 27, 28, 29, 95, 8, 3,
- 7, 3, 7, 67, 8, 168, 8, 105, 999, 999,
- 108, 106, 107, 7, 999, 79, 80, 115, 116, 19,
- 20, 119, 120, 168, 169, 170, 171, 103, 104, 65,
- 3, 168, 65, 66, 67, 8, 25, 26, 27, 28,
- 29, 143, 12, 3, 3, 3, 79, 80, 8, 8,
- 8, 3, 3, 3, 3, 8, 8, 8, 8, 92,
- 93, 6, 4, 3, 53, 54, 55, 56, 57, 58,
- 168, 3, 830, 62, 63, 64, 8, 66, 4, 3,
- 144, 3, 146, 147, 8, 4, 8, 4, 77, 4,
- 79, 80, 81, 82, 83, 84, 25, 26, 27, 28,
- 29, 4, 91, 3, 168, 94, 95, 3, 8, 3,
- 3, 3, 8, 102, 8, 8, 8, 3, 3, 369,
- 4, 4, 8, 8, 53, 54, 55, 56, 57, 58,
- 4, 3, 61, 359, 360, 168, 8, 66, 67, 34,
- 35, 36, 37, 3, 8, 4, 6, 4, 4, 4,
- 79, 80, 4, 82, 4, 84, 3, 407, 4, 8,
- 4, 4, 91, 413, 3, 94, 8, 4, 8, 3,
- 168, 4, 4, 102, 4, 425, 413, 4, 428, 168,
- 428, 4, 4, 425, 4, 4, 4, 4, 425, 439,
- 4, 428, 4, 428, 413, 4, 4, 171, 425, 449,
- 171, 425, 439, 171, 454, 4, 425, 4, 454, 428,
- 454, 4, 449, 4, 4, 4, 171, 454, 4, 4,
- 439, 169, 169, 169, 474, 169, 425, 170, 4, 428,
- 449, 27, 28, 29, 170, 454, 4, 474, 425, 168,
- 439, 4, 425, 449, 4, 33, 4, 4, 454, 425,
- 4, 4, 439, 425, 4, 474, 439, 425, 4, 4,
- 425, 487, 488, 489, 425, 169, 4, 439, 425, 4,
- 66, 425, 425, 171, 970, 4, 4, 7, 4, 67,
- 4, 69, 70, 79, 80, 73, 74, 75, 4, 4,
- 4, 79, 80, 4, 90, 4, 4, 4, 169, 4,
- 96, 97, 98, 99, 100, 101, 33, 103, 4, 4,
- 4, 38, 39, 40, 41, 42, 43, 44, 45, 46,
- 47, 48, 49, 50, 51, 52, 67, 68, 69, 70,
- 71, 72, 4, 4, 4, 4, 4, 4, 79, 80,
- 67, 591, 568, 4, 4, 4, 4, 597, 79, 80,
- 4, 4, 4, 169, 4, 4, 171, 4, 171, 4,
- 597, 171, 169, 4, 590, 171, 169, 169, 4, 4,
- 171, 171, 168, 623, 4, 625, 4, 4, 597, 4,
- 168, 4, 4, 4, 168, 168, 623, 7, 625, 7,
- 121, 122, 123, 124, 125, 126, 127, 128, 129, 130,
- 131, 132, 133, 7, 623, 7, 625, 168, 7, 140,
- 141, 154, 155, 156, 157, 158, 159, 160, 161, 162,
- 163, 164, 165, 166, 167, 7, 5, 168, 168, 5,
- 5, 5, 5, 23, 168, 7, 5, 168, 5, 5,
- 5, 168, 3, 7, 7, 7, 5, 168, 168, 168,
- 5, 168, 135, 7, 5, 168, 168, 5, 168, 4,
- 7, 7, 168, 7, 168, 168, 168, 168, 168, 168,
- 168, 168, 7, 7, 7, 168, 168, 168, 168, 168,
- 168, 168, 168, 168, 168, 7, 168, 7, 7, 7,
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 525,
- 3, 6, 6, 3, 6, 6, 3, 6, 3, 3,
- 6, 3, 168, 6, 4, 4, 4, 4, 4, 4,
- 3, 169, 6, 169, 4, 6, 8, 4, 4, 4,
- 4, 171, 171, 4, 4, 169, 169, 169, 169, 4,
- 169, 4, 6, 3, 168, 171, 4, 8, 4, 8,
- 169, 8, 169, 169, 169, 169, 169, 168, 168, 168,
- 168, 168, 3, 8, 4, 168, 4, 168, 168, 4,
- 4, 7, 169, 171, 168, 5, 168, 4, 4, 4,
- 4, 169, 171, 833, 169, 168, 836, 369, 591, 839,
- 677, 833, 842, 839, 842, 839, 833, 847, 597, 836,
- 850, 809, 839, 853, 847, 842, 833, 842, 413, 833,
- 847, 832, 407, 850, 833, 842, 866, 836, 842, 855,
- 839, 853, 872, 842, 872, 827, 457, 877, 847, 866,
- 836, 850, 845, 839, 833, 872, 842, 872, 835, 862,
- 877, 847, 999, 842, 833, 425, 833, 866, 847, 844,
- 833, 850, 838, 872, 836, 842, 454, 833, 877, 842,
- 847, 833, 449, 850, 847, 833, 842, 850, 833, 839,
- 842, 877, 833, 872, 842, 847, 833, 842, 850, 833,
- 833, 842, 841, 850, 874, 842, 428, 439, 842, 842,
- 852, 1004, 872, 848, 625, 866, 474, 596, 477, 480,
- 878, 642, 592, 1015, 1032, 1049, -1, -1, -1, -1,
+ 77, 78, 68, 80, 540, 603, 73, 848, 848, 73,
+ 546, 848, 0, 72, 73, 74, 75, 17, 77, 78,
+ 5, 80, 7, 515, 9, 87, 88, 89, 90, 7,
+ 10, 77, 78, 525, 73, 74, 75, 14, 15, 108,
+ 109, 18, 68, 7, 21, 7, 73, 7, 75, 7,
+ 73, 7, 75, 7, 80, 81, 82, 73, 27, 28,
+ 29, 73, 170, 75, 3, 73, 7, 93, 73, 8,
+ 96, 11, 73, 13, 3, 3, 73, 6, 6, 73,
+ 73, 7, 22, 69, 24, 25, 26, 27, 28, 29,
+ 30, 31, 32, 108, 109, 81, 82, 3, 67, 68,
+ 69, 170, 8, 147, 81, 82, 150, 151, 152, 3,
+ 81, 82, 81, 82, 8, 55, 56, 57, 58, 59,
+ 60, 61, 62, 63, 3, 94, 95, 67, 68, 8,
+ 3, 138, 139, 140, 141, 8, 136, 7, 78, 7,
+ 3, 81, 82, 7, 170, 8, 86, 3, 119, 120,
+ 6, 91, 92, 98, 99, 100, 101, 97, 103, 7,
+ 146, 145, 148, 149, 144, 67, 173, 107, 1009, 1009,
+ 110, 3, 1009, 153, 154, 155, 8, 117, 118, 6,
+ 3, 121, 122, 6, 170, 170, 171, 172, 173, 3,
+ 170, 16, 17, 170, 25, 26, 27, 28, 29, 170,
+ 33, 170, 19, 20, 12, 38, 39, 40, 41, 42,
+ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
+ 53, 54, 105, 106, 55, 56, 57, 58, 59, 60,
+ 170, 4, 8, 64, 65, 66, 69, 68, 836, 33,
+ 111, 112, 113, 114, 115, 116, 3, 8, 79, 4,
+ 81, 82, 83, 84, 85, 86, 27, 28, 29, 3,
+ 8, 4, 93, 3, 8, 96, 97, 3, 8, 3,
+ 3, 3, 8, 104, 8, 69, 8, 71, 72, 369,
+ 3, 75, 76, 77, 3, 8, 3, 81, 82, 8,
+ 3, 8, 4, 359, 360, 8, 4, 68, 4, 4,
+ 69, 70, 71, 72, 73, 74, 4, 4, 4, 3,
+ 81, 82, 81, 82, 8, 3, 8, 407, 4, 3,
+ 8, 92, 4, 413, 8, 4, 4, 98, 99, 100,
+ 101, 102, 103, 3, 105, 425, 413, 170, 428, 170,
+ 428, 3, 3, 425, 4, 3, 8, 8, 425, 439,
+ 8, 428, 3, 428, 413, 3, 8, 8, 425, 449,
+ 8, 425, 439, 4, 454, 4, 425, 4, 454, 428,
+ 454, 4, 449, 3, 3, 3, 170, 454, 8, 8,
+ 439, 4, 4, 4, 474, 4, 425, 4, 4, 428,
+ 449, 34, 35, 36, 37, 454, 170, 474, 425, 170,
+ 439, 170, 425, 449, 4, 4, 4, 4, 454, 425,
+ 81, 82, 439, 425, 173, 474, 439, 425, 4, 4,
+ 425, 487, 488, 489, 425, 4, 4, 439, 425, 4,
+ 4, 425, 425, 4, 173, 25, 26, 27, 28, 29,
+ 4, 4, 978, 173, 4, 171, 171, 171, 4, 4,
+ 171, 173, 123, 124, 125, 126, 127, 128, 129, 130,
+ 131, 132, 133, 134, 135, 55, 56, 57, 58, 59,
+ 60, 142, 143, 63, 4, 4, 4, 172, 68, 69,
+ 4, 172, 4, 4, 4, 4, 4, 4, 4, 4,
+ 171, 81, 82, 4, 84, 4, 86, 4, 4, 170,
+ 4, 591, 568, 93, 173, 4, 96, 597, 4, 4,
+ 4, 4, 4, 4, 104, 171, 4, 4, 4, 4,
+ 597, 4, 4, 4, 590, 4, 4, 4, 4, 4,
+ 4, 171, 4, 623, 4, 625, 4, 173, 597, 4,
+ 4, 173, 173, 4, 4, 4, 623, 173, 625, 156,
+ 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
+ 167, 168, 169, 171, 623, 4, 625, 171, 171, 4,
+ 4, 173, 173, 4, 4, 4, 4, 4, 4, 4,
+ 170, 170, 170, 7, 7, 7, 7, 7, 170, 7,
+ 7, 5, 5, 170, 5, 5, 5, 170, 5, 7,
+ 5, 5, 5, 170, 170, 7, 7, 7, 5, 170,
+ 5, 170, 170, 170, 7, 5, 170, 170, 170, 170,
+ 170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
+ 170, 170, 170, 170, 137, 170, 170, 170, 5, 23,
+ 8, 7, 7, 7, 7, 7, 7, 7, 7, 7,
+ 7, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 3, 170, 6, 3, 6, 6, 3, 6, 3,
+ 3, 6, 3, 171, 6, 3, 6, 4, 4, 4,
+ 4, 4, 4, 3, 173, 6, 4, 6, 4, 4,
+ 4, 4, 4, 173, 4, 4, 4, 4, 171, 4,
+ 171, 3, 171, 6, 171, 171, 4, 8, 171, 8,
+ 4, 173, 8, 171, 171, 171, 171, 171, 171, 170,
+ 170, 170, 170, 170, 170, 170, 170, 3, 8, 170,
+ 170, 4, 170, 4, 4, 171, 173, 4, 170, 5,
+ 4, 4, 7, 4, 4, 525, 591, 597, 407, 839,
+ 413, 170, 842, 813, 170, 845, 171, 839, 848, 845,
+ 848, 845, 839, 853, 369, 842, 856, 173, 845, 859,
+ 853, 848, 839, 848, 677, 839, 853, 171, 833, 856,
+ 839, 848, 872, 842, 848, 838, 845, 861, 878, 848,
+ 878, 859, 457, 883, 853, 872, 842, 856, 868, 845,
+ 839, 878, 848, 878, 851, 841, 883, 853, 839, 848,
+ 425, 1009, 839, 872, 853, 850, 839, 856, 847, 878,
+ 844, 848, 842, 839, 883, 848, 853, 839, 845, 856,
+ 853, 839, 848, 856, 839, 449, 848, 883, 839, 878,
+ 848, 853, 839, 848, 856, 839, 839, 848, 454, 858,
+ 880, 848, 428, 878, 848, 848, 439, 856, 642, 854,
+ 1014, 872, 625, 474, 592, 596, 884, 480, 477, 1025,
+ 1042, 1059, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 999,
- -1, 999, -1, -1, 1004, -1, -1, -1, -1, -1,
- -1, 1004, 999, -1, 999, 1015, -1, 1004, -1, -1,
- -1, -1, 999, -1, -1, 999, -1, -1, 1015, -1,
- 999, -1, -1, -1, -1, 1004, -1, -1, -1, -1,
- -1, -1, -1, 999, -1, -1, 1015, -1, 1004, -1,
- 999, -1, -1, -1, -1, 1004, -1, -1, -1, 1015,
- -1, -1, 999, -1, -1, -1, 999, 1004, -1, -1,
- -1, 1004, -1, 999, -1, -1, -1, 999, -1, -1,
- -1, 999, 1004, -1, 999, -1, -1, -1, 999, -1,
- -1, -1, 999, -1, -1, 999, 999
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 1009,
+ -1, 1009, -1, -1, 1014, -1, -1, -1, -1, -1,
+ -1, 1014, 1009, -1, 1009, 1025, -1, 1014, -1, -1,
+ -1, -1, 1009, -1, -1, 1009, -1, -1, 1025, -1,
+ 1009, -1, -1, -1, -1, 1014, -1, -1, -1, -1,
+ -1, -1, -1, 1009, -1, -1, 1025, -1, 1014, -1,
+ 1009, -1, -1, -1, -1, 1014, -1, -1, -1, 1025,
+ -1, -1, 1009, -1, -1, -1, 1009, 1014, -1, -1,
+ -1, 1014, -1, 1009, -1, -1, -1, 1009, -1, -1,
+ -1, 1009, 1014, -1, 1009, -1, -1, -1, 1009, -1,
+ -1, -1, 1009, -1, -1, 1009, 1009
};
- const unsigned short
+ const unsigned short int
Dhcp4Parser::yystos_[] =
{
- 0, 154, 155, 156, 157, 158, 159, 160, 161, 162,
- 163, 164, 165, 166, 167, 173, 174, 175, 176, 177,
- 178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
- 0, 5, 7, 9, 168, 169, 170, 171, 188, 189,
- 190, 195, 7, 204, 7, 210, 7, 230, 7, 323,
- 7, 403, 7, 419, 7, 355, 7, 361, 7, 385,
- 7, 299, 7, 476, 7, 522, 7, 514, 196, 191,
- 205, 211, 231, 324, 404, 420, 356, 362, 386, 300,
- 477, 523, 515, 188, 197, 198, 168, 193, 194, 10,
- 142, 151, 152, 153, 168, 203, 206, 207, 208, 506,
- 508, 510, 520, 11, 13, 22, 24, 25, 26, 27,
- 28, 29, 30, 31, 32, 53, 54, 55, 56, 57,
- 58, 59, 60, 61, 65, 66, 76, 79, 80, 84,
- 89, 90, 95, 105, 108, 115, 116, 119, 120, 203,
- 212, 213, 214, 215, 216, 217, 218, 219, 220, 221,
- 223, 224, 225, 226, 241, 243, 249, 251, 284, 293,
- 307, 317, 341, 345, 353, 379, 409, 411, 413, 424,
- 426, 428, 451, 463, 464, 472, 474, 512, 14, 15,
- 18, 21, 203, 228, 229, 232, 234, 237, 240, 409,
- 411, 62, 63, 64, 77, 81, 82, 83, 91, 94,
- 102, 203, 214, 215, 216, 217, 218, 219, 224, 225,
- 325, 326, 327, 329, 331, 333, 335, 337, 339, 341,
- 344, 379, 397, 409, 411, 413, 424, 426, 428, 448,
- 78, 203, 337, 339, 379, 405, 406, 407, 409, 411,
- 90, 96, 97, 98, 99, 100, 101, 103, 203, 379,
- 409, 411, 421, 422, 423, 424, 426, 428, 430, 434,
- 436, 438, 440, 442, 444, 446, 353, 33, 67, 69,
- 70, 73, 74, 75, 203, 269, 363, 364, 365, 366,
- 367, 368, 369, 371, 373, 375, 376, 378, 409, 411,
- 68, 71, 72, 203, 269, 367, 373, 387, 388, 389,
- 390, 391, 393, 394, 395, 396, 409, 411, 106, 107,
- 203, 301, 302, 303, 305, 121, 122, 123, 124, 125,
- 126, 127, 128, 129, 130, 131, 132, 133, 140, 141,
- 203, 409, 411, 478, 479, 480, 481, 483, 485, 486,
- 488, 489, 490, 493, 495, 496, 497, 500, 502, 504,
- 143, 524, 525, 526, 12, 516, 517, 518, 6, 3,
- 4, 8, 3, 209, 521, 507, 509, 511, 4, 3,
- 8, 513, 227, 244, 4, 4, 4, 425, 427, 429,
- 242, 250, 252, 4, 4, 4, 4, 4, 4, 4,
- 222, 318, 354, 380, 346, 410, 412, 342, 285, 452,
- 414, 294, 308, 4, 465, 473, 475, 3, 8, 233,
- 235, 238, 4, 3, 8, 330, 332, 334, 398, 328,
- 336, 4, 340, 338, 449, 3, 8, 408, 3, 8,
- 447, 435, 437, 441, 439, 445, 443, 431, 8, 3,
- 8, 370, 270, 4, 374, 372, 377, 4, 8, 3,
- 392, 4, 4, 8, 3, 304, 306, 3, 8, 4,
- 482, 484, 4, 487, 4, 4, 491, 494, 4, 4,
- 498, 501, 503, 505, 3, 8, 527, 3, 8, 519,
- 3, 8, 188, 188, 168, 4, 4, 4, 4, 4,
- 207, 4, 4, 4, 171, 171, 171, 4, 4, 4,
- 4, 4, 4, 169, 169, 169, 171, 170, 170, 169,
+ 0, 156, 157, 158, 159, 160, 161, 162, 163, 164,
+ 165, 166, 167, 168, 169, 175, 176, 177, 178, 179,
+ 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
+ 0, 5, 7, 9, 170, 171, 172, 173, 190, 191,
+ 192, 197, 7, 206, 7, 212, 7, 232, 7, 329,
+ 7, 409, 7, 425, 7, 361, 7, 367, 7, 391,
+ 7, 305, 7, 482, 7, 528, 7, 520, 198, 193,
+ 207, 213, 233, 330, 410, 426, 362, 368, 392, 306,
+ 483, 529, 521, 190, 199, 200, 170, 195, 196, 10,
+ 144, 153, 154, 155, 170, 205, 208, 209, 210, 512,
+ 514, 516, 526, 11, 13, 22, 24, 25, 26, 27,
+ 28, 29, 30, 31, 32, 55, 56, 57, 58, 59,
+ 60, 61, 62, 63, 67, 68, 78, 81, 82, 86,
+ 91, 92, 97, 107, 110, 117, 118, 121, 122, 205,
+ 214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
+ 225, 226, 227, 228, 243, 245, 251, 253, 290, 299,
+ 313, 323, 347, 351, 359, 385, 415, 417, 419, 430,
+ 432, 434, 457, 469, 470, 478, 480, 518, 14, 15,
+ 18, 21, 205, 230, 231, 234, 236, 239, 242, 415,
+ 417, 64, 65, 66, 79, 83, 84, 85, 93, 96,
+ 104, 205, 216, 217, 218, 219, 220, 221, 226, 227,
+ 331, 332, 333, 335, 337, 339, 341, 343, 345, 347,
+ 350, 385, 403, 415, 417, 419, 430, 432, 434, 454,
+ 80, 205, 343, 345, 385, 411, 412, 413, 415, 417,
+ 92, 98, 99, 100, 101, 102, 103, 105, 205, 385,
+ 415, 417, 427, 428, 429, 430, 432, 434, 436, 440,
+ 442, 444, 446, 448, 450, 452, 359, 33, 69, 71,
+ 72, 75, 76, 77, 205, 271, 369, 370, 371, 372,
+ 373, 374, 375, 377, 379, 381, 382, 384, 415, 417,
+ 70, 73, 74, 205, 271, 373, 379, 393, 394, 395,
+ 396, 397, 399, 400, 401, 402, 415, 417, 108, 109,
+ 205, 307, 308, 309, 311, 123, 124, 125, 126, 127,
+ 128, 129, 130, 131, 132, 133, 134, 135, 142, 143,
+ 205, 415, 417, 484, 485, 486, 487, 489, 491, 492,
+ 494, 495, 496, 499, 501, 502, 503, 506, 508, 510,
+ 145, 530, 531, 532, 12, 522, 523, 524, 6, 3,
+ 4, 8, 3, 211, 527, 513, 515, 517, 4, 3,
+ 8, 519, 229, 246, 4, 4, 4, 431, 433, 435,
+ 244, 252, 254, 4, 4, 4, 4, 4, 4, 4,
+ 224, 324, 360, 386, 352, 416, 418, 348, 291, 458,
+ 420, 300, 314, 4, 471, 479, 481, 3, 8, 235,
+ 237, 240, 4, 3, 8, 336, 338, 340, 404, 334,
+ 342, 4, 346, 344, 455, 3, 8, 414, 3, 8,
+ 453, 441, 443, 447, 445, 451, 449, 437, 8, 3,
+ 8, 376, 272, 4, 380, 378, 383, 4, 8, 3,
+ 398, 4, 4, 8, 3, 310, 312, 3, 8, 4,
+ 488, 490, 4, 493, 4, 4, 497, 500, 4, 4,
+ 504, 507, 509, 511, 3, 8, 533, 3, 8, 525,
+ 3, 8, 190, 190, 170, 4, 4, 4, 4, 4,
+ 209, 4, 4, 4, 173, 173, 173, 4, 4, 4,
+ 4, 4, 4, 171, 171, 171, 173, 172, 172, 171,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 169, 4, 4, 4, 213, 4, 4,
- 4, 171, 229, 4, 4, 4, 4, 4, 4, 169,
- 4, 4, 4, 326, 4, 406, 4, 4, 4, 4,
- 4, 4, 4, 4, 423, 4, 4, 169, 4, 4,
- 4, 171, 365, 4, 171, 171, 389, 4, 4, 302,
- 171, 4, 4, 169, 4, 169, 169, 4, 4, 171,
- 171, 4, 4, 4, 4, 479, 4, 525, 4, 517,
- 4, 7, 7, 188, 188, 188, 7, 7, 7, 168,
- 168, 168, 7, 7, 5, 168, 5, 5, 5, 5,
- 190, 192, 168, 85, 86, 87, 88, 343, 5, 5,
- 5, 5, 7, 7, 192, 7, 5, 199, 16, 17,
- 236, 19, 20, 239, 168, 168, 168, 5, 168, 168,
- 199, 168, 7, 168, 199, 168, 168, 168, 168, 168,
- 168, 168, 168, 168, 168, 168, 168, 168, 168, 188,
- 168, 168, 168, 17, 134, 492, 135, 136, 137, 138,
- 139, 171, 499, 168, 168, 168, 5, 5, 188, 212,
- 524, 516, 228, 23, 245, 246, 247, 33, 38, 39,
+ 4, 4, 4, 171, 4, 4, 4, 215, 4, 4,
+ 4, 173, 231, 4, 4, 4, 4, 4, 4, 171,
+ 4, 4, 4, 332, 4, 412, 4, 4, 4, 4,
+ 4, 4, 4, 4, 429, 4, 4, 171, 4, 4,
+ 4, 173, 371, 4, 173, 173, 395, 4, 4, 308,
+ 173, 4, 4, 171, 4, 171, 171, 4, 4, 173,
+ 173, 4, 4, 4, 4, 485, 4, 531, 4, 523,
+ 4, 7, 7, 190, 190, 190, 7, 7, 7, 170,
+ 170, 170, 7, 7, 5, 170, 5, 5, 5, 5,
+ 192, 194, 170, 87, 88, 89, 90, 349, 5, 5,
+ 5, 5, 7, 7, 194, 7, 5, 201, 16, 17,
+ 238, 19, 20, 241, 170, 170, 170, 5, 170, 170,
+ 201, 170, 7, 170, 201, 170, 170, 170, 170, 170,
+ 170, 170, 170, 170, 170, 170, 170, 170, 170, 190,
+ 170, 170, 170, 17, 136, 498, 137, 138, 139, 140,
+ 141, 173, 505, 170, 170, 170, 5, 5, 190, 214,
+ 530, 522, 230, 23, 247, 248, 249, 33, 38, 39,
40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
- 50, 51, 52, 203, 257, 258, 259, 262, 264, 266,
- 268, 269, 271, 272, 273, 274, 275, 276, 277, 278,
- 280, 282, 283, 257, 7, 253, 254, 255, 7, 319,
- 320, 321, 7, 357, 358, 359, 7, 381, 382, 383,
- 7, 347, 348, 349, 96, 97, 98, 99, 101, 286,
- 287, 288, 289, 290, 291, 292, 7, 453, 454, 7,
- 415, 416, 417, 7, 295, 296, 297, 109, 110, 111,
- 112, 113, 114, 309, 310, 311, 312, 313, 314, 315,
- 316, 117, 118, 203, 409, 411, 466, 467, 468, 470,
- 478, 200, 7, 399, 400, 401, 104, 430, 432, 450,
- 7, 528, 529, 253, 8, 8, 8, 8, 248, 3,
- 8, 260, 263, 265, 267, 4, 4, 4, 4, 4,
- 279, 281, 4, 4, 4, 4, 4, 3, 8, 8,
- 256, 6, 3, 322, 6, 3, 360, 6, 3, 384,
- 6, 3, 350, 6, 3, 3, 6, 455, 3, 6,
- 418, 6, 3, 298, 6, 3, 4, 4, 4, 4,
- 4, 4, 3, 8, 469, 471, 3, 8, 8, 168,
- 201, 202, 402, 6, 3, 433, 8, 530, 3, 6,
- 6, 4, 246, 4, 4, 4, 4, 169, 171, 169,
- 171, 169, 4, 4, 169, 169, 169, 169, 171, 258,
- 257, 255, 325, 321, 363, 359, 387, 383, 203, 214,
- 215, 216, 217, 218, 219, 224, 225, 269, 317, 335,
- 337, 339, 341, 351, 352, 379, 409, 411, 424, 426,
- 428, 448, 349, 287, 92, 93, 203, 269, 353, 379,
- 409, 411, 424, 426, 428, 456, 457, 458, 459, 460,
- 462, 454, 421, 417, 301, 297, 169, 169, 169, 169,
- 169, 169, 310, 4, 4, 467, 6, 3, 405, 401,
- 4, 144, 146, 147, 203, 269, 409, 411, 531, 532,
- 533, 534, 536, 529, 168, 34, 35, 36, 37, 261,
- 168, 168, 168, 168, 168, 8, 8, 8, 8, 3,
- 8, 461, 4, 8, 3, 8, 8, 168, 168, 168,
- 8, 199, 537, 4, 535, 3, 8, 352, 4, 171,
- 458, 4, 169, 4, 532, 168, 5, 168, 7, 538,
- 539, 540, 3, 6, 145, 148, 149, 150, 541, 542,
- 543, 545, 546, 547, 539, 544, 4, 4, 4, 3,
- 8, 4, 171, 169, 169, 542, 168
+ 50, 51, 52, 53, 54, 205, 259, 260, 261, 264,
+ 266, 268, 270, 271, 273, 274, 275, 276, 277, 278,
+ 279, 280, 282, 284, 286, 288, 289, 259, 7, 255,
+ 256, 257, 7, 325, 326, 327, 7, 363, 364, 365,
+ 7, 387, 388, 389, 7, 353, 354, 355, 98, 99,
+ 100, 101, 103, 292, 293, 294, 295, 296, 297, 298,
+ 7, 459, 460, 7, 421, 422, 423, 7, 301, 302,
+ 303, 111, 112, 113, 114, 115, 116, 315, 316, 317,
+ 318, 319, 320, 321, 322, 119, 120, 205, 415, 417,
+ 472, 473, 474, 476, 484, 202, 7, 405, 406, 407,
+ 106, 436, 438, 456, 7, 534, 535, 255, 8, 8,
+ 8, 8, 250, 3, 8, 262, 265, 267, 269, 4,
+ 4, 4, 4, 4, 281, 283, 285, 287, 4, 4,
+ 4, 4, 4, 3, 8, 8, 258, 6, 3, 328,
+ 6, 3, 366, 6, 3, 390, 6, 3, 356, 6,
+ 3, 3, 6, 461, 3, 6, 424, 6, 3, 304,
+ 6, 3, 4, 4, 4, 4, 4, 4, 3, 8,
+ 475, 477, 3, 8, 8, 170, 203, 204, 408, 6,
+ 3, 439, 8, 536, 3, 6, 6, 4, 248, 4,
+ 4, 4, 4, 171, 173, 171, 173, 171, 4, 4,
+ 4, 4, 171, 171, 171, 171, 173, 260, 259, 257,
+ 331, 327, 369, 365, 393, 389, 205, 216, 217, 218,
+ 219, 220, 221, 226, 227, 271, 323, 341, 343, 345,
+ 347, 357, 358, 385, 415, 417, 430, 432, 434, 454,
+ 355, 293, 94, 95, 205, 271, 359, 385, 415, 417,
+ 430, 432, 434, 462, 463, 464, 465, 466, 468, 460,
+ 427, 423, 307, 303, 171, 171, 171, 171, 171, 171,
+ 316, 4, 4, 473, 6, 3, 411, 407, 4, 146,
+ 148, 149, 205, 271, 415, 417, 537, 538, 539, 540,
+ 542, 535, 170, 34, 35, 36, 37, 263, 170, 170,
+ 170, 170, 170, 170, 170, 8, 8, 8, 8, 3,
+ 8, 467, 4, 8, 3, 8, 8, 170, 170, 170,
+ 8, 201, 543, 4, 541, 3, 8, 358, 4, 173,
+ 464, 4, 171, 4, 538, 170, 5, 170, 7, 544,
+ 545, 546, 3, 6, 147, 150, 151, 152, 547, 548,
+ 549, 551, 552, 553, 545, 550, 4, 4, 4, 3,
+ 8, 4, 173, 171, 171, 548, 170
};
- const unsigned short
+ const unsigned short int
Dhcp4Parser::yyr1_[] =
{
- 0, 172, 174, 173, 175, 173, 176, 173, 177, 173,
- 178, 173, 179, 173, 180, 173, 181, 173, 182, 173,
- 183, 173, 184, 173, 185, 173, 186, 173, 187, 173,
- 188, 188, 188, 188, 188, 188, 188, 189, 191, 190,
- 192, 193, 193, 194, 194, 196, 195, 197, 197, 198,
- 198, 200, 199, 201, 201, 202, 202, 203, 205, 204,
- 206, 206, 207, 207, 207, 207, 207, 207, 209, 208,
- 211, 210, 212, 212, 213, 213, 213, 213, 213, 213,
- 213, 213, 213, 213, 213, 213, 213, 213, 213, 213,
- 213, 213, 213, 213, 213, 213, 213, 213, 213, 213,
- 213, 213, 213, 213, 213, 213, 213, 213, 213, 213,
- 213, 214, 215, 216, 217, 218, 219, 220, 222, 221,
- 223, 224, 225, 227, 226, 228, 228, 229, 229, 229,
- 229, 229, 229, 229, 231, 230, 233, 232, 235, 234,
- 236, 236, 238, 237, 239, 239, 240, 242, 241, 244,
- 243, 245, 245, 246, 248, 247, 250, 249, 252, 251,
- 253, 253, 254, 254, 256, 255, 257, 257, 258, 258,
- 258, 258, 258, 258, 258, 258, 258, 258, 258, 258,
- 258, 258, 258, 258, 258, 258, 260, 259, 261, 261,
- 261, 261, 263, 262, 265, 264, 267, 266, 268, 270,
- 269, 271, 272, 273, 274, 275, 276, 277, 279, 278,
- 281, 280, 282, 283, 285, 284, 286, 286, 287, 287,
- 287, 287, 287, 288, 289, 290, 291, 292, 294, 293,
- 295, 295, 296, 296, 298, 297, 300, 299, 301, 301,
- 301, 302, 302, 304, 303, 306, 305, 308, 307, 309,
- 309, 310, 310, 310, 310, 310, 310, 311, 312, 313,
- 314, 315, 316, 318, 317, 319, 319, 320, 320, 322,
- 321, 324, 323, 325, 325, 326, 326, 326, 326, 326,
- 326, 326, 326, 326, 326, 326, 326, 326, 326, 326,
- 326, 326, 326, 326, 326, 326, 326, 326, 326, 326,
- 326, 326, 328, 327, 330, 329, 332, 331, 334, 333,
- 336, 335, 338, 337, 340, 339, 342, 341, 343, 343,
- 343, 343, 344, 346, 345, 347, 347, 348, 348, 350,
- 349, 351, 351, 352, 352, 352, 352, 352, 352, 352,
- 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
- 352, 352, 352, 352, 352, 354, 353, 356, 355, 357,
- 357, 358, 358, 360, 359, 362, 361, 363, 363, 364,
- 364, 365, 365, 365, 365, 365, 365, 365, 365, 365,
- 365, 366, 367, 368, 370, 369, 372, 371, 374, 373,
- 375, 377, 376, 378, 380, 379, 381, 381, 382, 382,
- 384, 383, 386, 385, 387, 387, 388, 388, 389, 389,
- 389, 389, 389, 389, 389, 389, 389, 390, 392, 391,
- 393, 394, 395, 396, 398, 397, 399, 399, 400, 400,
- 402, 401, 404, 403, 405, 405, 406, 406, 406, 406,
- 406, 406, 406, 408, 407, 410, 409, 412, 411, 414,
- 413, 415, 415, 416, 416, 418, 417, 420, 419, 421,
- 421, 422, 422, 423, 423, 423, 423, 423, 423, 423,
- 423, 423, 423, 423, 423, 423, 423, 423, 425, 424,
- 427, 426, 429, 428, 431, 430, 433, 432, 435, 434,
+ 0, 174, 176, 175, 177, 175, 178, 175, 179, 175,
+ 180, 175, 181, 175, 182, 175, 183, 175, 184, 175,
+ 185, 175, 186, 175, 187, 175, 188, 175, 189, 175,
+ 190, 190, 190, 190, 190, 190, 190, 191, 193, 192,
+ 194, 195, 195, 196, 196, 198, 197, 199, 199, 200,
+ 200, 202, 201, 203, 203, 204, 204, 205, 207, 206,
+ 208, 208, 209, 209, 209, 209, 209, 209, 211, 210,
+ 213, 212, 214, 214, 215, 215, 215, 215, 215, 215,
+ 215, 215, 215, 215, 215, 215, 215, 215, 215, 215,
+ 215, 215, 215, 215, 215, 215, 215, 215, 215, 215,
+ 215, 215, 215, 215, 215, 215, 215, 215, 215, 215,
+ 215, 216, 217, 218, 219, 220, 221, 222, 224, 223,
+ 225, 226, 227, 229, 228, 230, 230, 231, 231, 231,
+ 231, 231, 231, 231, 233, 232, 235, 234, 237, 236,
+ 238, 238, 240, 239, 241, 241, 242, 244, 243, 246,
+ 245, 247, 247, 248, 250, 249, 252, 251, 254, 253,
+ 255, 255, 256, 256, 258, 257, 259, 259, 260, 260,
+ 260, 260, 260, 260, 260, 260, 260, 260, 260, 260,
+ 260, 260, 260, 260, 260, 260, 260, 260, 262, 261,
+ 263, 263, 263, 263, 265, 264, 267, 266, 269, 268,
+ 270, 272, 271, 273, 274, 275, 276, 277, 278, 279,
+ 281, 280, 283, 282, 285, 284, 287, 286, 288, 289,
+ 291, 290, 292, 292, 293, 293, 293, 293, 293, 294,
+ 295, 296, 297, 298, 300, 299, 301, 301, 302, 302,
+ 304, 303, 306, 305, 307, 307, 307, 308, 308, 310,
+ 309, 312, 311, 314, 313, 315, 315, 316, 316, 316,
+ 316, 316, 316, 317, 318, 319, 320, 321, 322, 324,
+ 323, 325, 325, 326, 326, 328, 327, 330, 329, 331,
+ 331, 332, 332, 332, 332, 332, 332, 332, 332, 332,
+ 332, 332, 332, 332, 332, 332, 332, 332, 332, 332,
+ 332, 332, 332, 332, 332, 332, 332, 332, 334, 333,
+ 336, 335, 338, 337, 340, 339, 342, 341, 344, 343,
+ 346, 345, 348, 347, 349, 349, 349, 349, 350, 352,
+ 351, 353, 353, 354, 354, 356, 355, 357, 357, 358,
+ 358, 358, 358, 358, 358, 358, 358, 358, 358, 358,
+ 358, 358, 358, 358, 358, 358, 358, 358, 358, 358,
+ 358, 360, 359, 362, 361, 363, 363, 364, 364, 366,
+ 365, 368, 367, 369, 369, 370, 370, 371, 371, 371,
+ 371, 371, 371, 371, 371, 371, 371, 372, 373, 374,
+ 376, 375, 378, 377, 380, 379, 381, 383, 382, 384,
+ 386, 385, 387, 387, 388, 388, 390, 389, 392, 391,
+ 393, 393, 394, 394, 395, 395, 395, 395, 395, 395,
+ 395, 395, 395, 396, 398, 397, 399, 400, 401, 402,
+ 404, 403, 405, 405, 406, 406, 408, 407, 410, 409,
+ 411, 411, 412, 412, 412, 412, 412, 412, 412, 414,
+ 413, 416, 415, 418, 417, 420, 419, 421, 421, 422,
+ 422, 424, 423, 426, 425, 427, 427, 428, 428, 429,
+ 429, 429, 429, 429, 429, 429, 429, 429, 429, 429,
+ 429, 429, 429, 429, 431, 430, 433, 432, 435, 434,
437, 436, 439, 438, 441, 440, 443, 442, 445, 444,
- 447, 446, 449, 448, 450, 450, 452, 451, 453, 453,
- 455, 454, 456, 456, 457, 457, 458, 458, 458, 458,
- 458, 458, 458, 458, 458, 458, 458, 459, 461, 460,
- 462, 463, 465, 464, 466, 466, 467, 467, 467, 467,
- 467, 469, 468, 471, 470, 473, 472, 475, 474, 477,
- 476, 478, 478, 479, 479, 479, 479, 479, 479, 479,
- 479, 479, 479, 479, 479, 479, 479, 479, 479, 479,
- 479, 480, 482, 481, 484, 483, 485, 487, 486, 488,
- 489, 491, 490, 492, 492, 494, 493, 495, 496, 498,
- 497, 499, 499, 499, 499, 499, 501, 500, 503, 502,
- 505, 504, 507, 506, 509, 508, 511, 510, 513, 512,
- 515, 514, 516, 516, 517, 519, 518, 521, 520, 523,
- 522, 524, 524, 525, 527, 526, 528, 528, 530, 529,
- 531, 531, 532, 532, 532, 532, 532, 532, 532, 533,
- 535, 534, 537, 536, 538, 538, 540, 539, 541, 541,
- 542, 542, 542, 542, 544, 543, 545, 546, 547
+ 447, 446, 449, 448, 451, 450, 453, 452, 455, 454,
+ 456, 456, 458, 457, 459, 459, 461, 460, 462, 462,
+ 463, 463, 464, 464, 464, 464, 464, 464, 464, 464,
+ 464, 464, 464, 465, 467, 466, 468, 469, 471, 470,
+ 472, 472, 473, 473, 473, 473, 473, 475, 474, 477,
+ 476, 479, 478, 481, 480, 483, 482, 484, 484, 485,
+ 485, 485, 485, 485, 485, 485, 485, 485, 485, 485,
+ 485, 485, 485, 485, 485, 485, 485, 486, 488, 487,
+ 490, 489, 491, 493, 492, 494, 495, 497, 496, 498,
+ 498, 500, 499, 501, 502, 504, 503, 505, 505, 505,
+ 505, 505, 507, 506, 509, 508, 511, 510, 513, 512,
+ 515, 514, 517, 516, 519, 518, 521, 520, 522, 522,
+ 523, 525, 524, 527, 526, 529, 528, 530, 530, 531,
+ 533, 532, 534, 534, 536, 535, 537, 537, 538, 538,
+ 538, 538, 538, 538, 538, 539, 541, 540, 543, 542,
+ 544, 544, 546, 545, 547, 547, 548, 548, 548, 548,
+ 550, 549, 551, 552, 553
};
const unsigned char
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, 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, 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, 0, 4, 0, 4, 0, 4, 0, 4,
- 0, 4, 0, 4, 0, 4, 0, 4, 1, 1,
- 1, 1, 3, 0, 6, 0, 1, 1, 3, 0,
- 4, 1, 3, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 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, 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,
+ 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, 0, 4,
0, 4, 0, 4, 0, 4, 0, 4, 0, 4,
- 0, 4, 0, 4, 0, 4, 0, 4, 0, 4,
- 0, 4, 0, 6, 1, 1, 0, 6, 1, 3,
- 0, 4, 0, 1, 1, 3, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 0, 4,
- 3, 3, 0, 6, 1, 3, 1, 1, 1, 1,
- 1, 0, 4, 0, 4, 0, 4, 0, 6, 0,
- 4, 1, 3, 1, 1, 1, 1, 1, 1, 1,
+ 0, 4, 0, 4, 1, 1, 1, 1, 3, 0,
+ 6, 0, 1, 1, 3, 0, 4, 1, 3, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 3, 0, 4, 0, 4, 3, 0, 4, 3,
- 3, 0, 4, 1, 1, 0, 4, 3, 3, 0,
- 4, 1, 1, 1, 1, 1, 0, 4, 0, 4,
+ 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, 4, 0, 4, 0, 6,
- 0, 4, 1, 3, 1, 0, 6, 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, 0, 4, 3, 3, 3
+ 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, 4, 0, 6, 0, 4, 1, 3, 1,
+ 1, 1, 1, 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, 1, 1, 1,
+ 1, 1, 0, 4, 0, 4, 0, 4, 0, 4,
+ 0, 4, 0, 4, 0, 6, 0, 4, 1, 3,
+ 1, 0, 6, 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,
+ 0, 4, 3, 3, 3
};
"\"mysql\"", "\"postgresql\"", "\"cql\"", "\"user\"", "\"password\"",
"\"host\"", "\"port\"", "\"persist\"", "\"lfc-interval\"",
"\"readonly\"", "\"connect-timeout\"", "\"contact-points\"",
- "\"keyspace\"", "\"max-reconnect-tries\"", "\"reconnect-wait-time\"",
+ "\"keyspace\"", "\"consistency\"", "\"serial-consistency\"",
+ "\"max-reconnect-tries\"", "\"reconnect-wait-time\"",
"\"request-timeout\"", "\"tcp-keepalive\"", "\"tcp-nodelay\"",
"\"valid-lifetime\"", "\"renew-timer\"", "\"rebind-timer\"",
"\"calculate-tee-times\"", "\"t1-percent\"", "\"t2-percent\"",
"password", "$@35", "host", "$@36", "port", "name", "$@37", "persist",
"lfc_interval", "readonly", "connect_timeout", "request_timeout",
"tcp_keepalive", "tcp_nodelay", "contact_points", "$@38", "keyspace",
- "$@39", "max_reconnect_tries", "reconnect_wait_time",
- "host_reservation_identifiers", "$@40",
+ "$@39", "consistency", "$@40", "serial_consistency", "$@41",
+ "max_reconnect_tries", "reconnect_wait_time",
+ "host_reservation_identifiers", "$@42",
"host_reservation_identifiers_list", "host_reservation_identifier",
"duid_id", "hw_address_id", "circuit_id", "client_id", "flex_id",
- "hooks_libraries", "$@41", "hooks_libraries_list",
- "not_empty_hooks_libraries_list", "hooks_library", "$@42",
- "sub_hooks_library", "$@43", "hooks_params", "hooks_param", "library",
- "$@44", "parameters", "$@45", "expired_leases_processing", "$@46",
+ "hooks_libraries", "$@43", "hooks_libraries_list",
+ "not_empty_hooks_libraries_list", "hooks_library", "$@44",
+ "sub_hooks_library", "$@45", "hooks_params", "hooks_param", "library",
+ "$@46", "parameters", "$@47", "expired_leases_processing", "$@48",
"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", "$@47",
- "subnet4_list_content", "not_empty_subnet4_list", "subnet4", "$@48",
- "sub_subnet4", "$@49", "subnet4_params", "subnet4_param", "subnet",
- "$@50", "subnet_4o6_interface", "$@51", "subnet_4o6_interface_id",
- "$@52", "subnet_4o6_subnet", "$@53", "interface", "$@54", "client_class",
- "$@55", "require_client_classes", "$@56", "reservation_mode", "$@57",
- "hr_mode", "id", "shared_networks", "$@58", "shared_networks_content",
- "shared_networks_list", "shared_network", "$@59",
+ "unwarned_reclaim_cycles", "subnet4_list", "$@49",
+ "subnet4_list_content", "not_empty_subnet4_list", "subnet4", "$@50",
+ "sub_subnet4", "$@51", "subnet4_params", "subnet4_param", "subnet",
+ "$@52", "subnet_4o6_interface", "$@53", "subnet_4o6_interface_id",
+ "$@54", "subnet_4o6_subnet", "$@55", "interface", "$@56", "client_class",
+ "$@57", "require_client_classes", "$@58", "reservation_mode", "$@59",
+ "hr_mode", "id", "shared_networks", "$@60", "shared_networks_content",
+ "shared_networks_list", "shared_network", "$@61",
"shared_network_params", "shared_network_param", "option_def_list",
- "$@60", "sub_option_def_list", "$@61", "option_def_list_content",
- "not_empty_option_def_list", "option_def_entry", "$@62",
- "sub_option_def", "$@63", "option_def_params",
+ "$@62", "sub_option_def_list", "$@63", "option_def_list_content",
+ "not_empty_option_def_list", "option_def_entry", "$@64",
+ "sub_option_def", "$@65", "option_def_params",
"not_empty_option_def_params", "option_def_param", "option_def_name",
- "code", "option_def_code", "option_def_type", "$@64",
- "option_def_record_types", "$@65", "space", "$@66", "option_def_space",
- "option_def_encapsulate", "$@67", "option_def_array", "option_data_list",
- "$@68", "option_data_list_content", "not_empty_option_data_list",
- "option_data_entry", "$@69", "sub_option_data", "$@70",
+ "code", "option_def_code", "option_def_type", "$@66",
+ "option_def_record_types", "$@67", "space", "$@68", "option_def_space",
+ "option_def_encapsulate", "$@69", "option_def_array", "option_data_list",
+ "$@70", "option_data_list_content", "not_empty_option_data_list",
+ "option_data_entry", "$@71", "sub_option_data", "$@72",
"option_data_params", "not_empty_option_data_params",
- "option_data_param", "option_data_name", "option_data_data", "$@71",
+ "option_data_param", "option_data_name", "option_data_data", "$@73",
"option_data_code", "option_data_space", "option_data_csv_format",
- "option_data_always_send", "pools_list", "$@72", "pools_list_content",
- "not_empty_pools_list", "pool_list_entry", "$@73", "sub_pool4", "$@74",
- "pool_params", "pool_param", "pool_entry", "$@75", "user_context",
- "$@76", "comment", "$@77", "reservations", "$@78", "reservations_list",
- "not_empty_reservations_list", "reservation", "$@79", "sub_reservation",
- "$@80", "reservation_params", "not_empty_reservation_params",
- "reservation_param", "next_server", "$@81", "server_hostname", "$@82",
- "boot_file_name", "$@83", "ip_address", "$@84", "ip_addresses", "$@85",
- "duid", "$@86", "hw_address", "$@87", "client_id_value", "$@88",
- "circuit_id_value", "$@89", "flex_id_value", "$@90", "hostname", "$@91",
- "reservation_client_classes", "$@92", "relay", "$@93", "relay_map",
- "client_classes", "$@94", "client_classes_list", "client_class_entry",
- "$@95", "client_class_params", "not_empty_client_class_params",
- "client_class_param", "client_class_name", "client_class_test", "$@96",
- "only_if_required", "dhcp4o6_port", "control_socket", "$@97",
+ "option_data_always_send", "pools_list", "$@74", "pools_list_content",
+ "not_empty_pools_list", "pool_list_entry", "$@75", "sub_pool4", "$@76",
+ "pool_params", "pool_param", "pool_entry", "$@77", "user_context",
+ "$@78", "comment", "$@79", "reservations", "$@80", "reservations_list",
+ "not_empty_reservations_list", "reservation", "$@81", "sub_reservation",
+ "$@82", "reservation_params", "not_empty_reservation_params",
+ "reservation_param", "next_server", "$@83", "server_hostname", "$@84",
+ "boot_file_name", "$@85", "ip_address", "$@86", "ip_addresses", "$@87",
+ "duid", "$@88", "hw_address", "$@89", "client_id_value", "$@90",
+ "circuit_id_value", "$@91", "flex_id_value", "$@92", "hostname", "$@93",
+ "reservation_client_classes", "$@94", "relay", "$@95", "relay_map",
+ "client_classes", "$@96", "client_classes_list", "client_class_entry",
+ "$@97", "client_class_params", "not_empty_client_class_params",
+ "client_class_param", "client_class_name", "client_class_test", "$@98",
+ "only_if_required", "dhcp4o6_port", "control_socket", "$@99",
"control_socket_params", "control_socket_param", "control_socket_type",
- "$@98", "control_socket_name", "$@99", "dhcp_queue_control", "$@100",
- "dhcp_ddns", "$@101", "sub_dhcp_ddns", "$@102", "dhcp_ddns_params",
- "dhcp_ddns_param", "enable_updates", "qualifying_suffix", "$@103",
- "server_ip", "$@104", "server_port", "sender_ip", "$@105", "sender_port",
- "max_queue_size", "ncr_protocol", "$@106", "ncr_protocol_value",
- "ncr_format", "$@107", "override_no_update", "override_client_update",
- "replace_client_name", "$@108", "replace_client_name_value",
- "generated_prefix", "$@109", "hostname_char_set", "$@110",
- "hostname_char_replacement", "$@111", "dhcp6_json_object", "$@112",
- "dhcpddns_json_object", "$@113", "control_agent_json_object", "$@114",
- "config_control", "$@115", "sub_config_control", "$@116",
+ "$@100", "control_socket_name", "$@101", "dhcp_queue_control", "$@102",
+ "dhcp_ddns", "$@103", "sub_dhcp_ddns", "$@104", "dhcp_ddns_params",
+ "dhcp_ddns_param", "enable_updates", "qualifying_suffix", "$@105",
+ "server_ip", "$@106", "server_port", "sender_ip", "$@107", "sender_port",
+ "max_queue_size", "ncr_protocol", "$@108", "ncr_protocol_value",
+ "ncr_format", "$@109", "override_no_update", "override_client_update",
+ "replace_client_name", "$@110", "replace_client_name_value",
+ "generated_prefix", "$@111", "hostname_char_set", "$@112",
+ "hostname_char_replacement", "$@113", "dhcp6_json_object", "$@114",
+ "dhcpddns_json_object", "$@115", "control_agent_json_object", "$@116",
+ "config_control", "$@117", "sub_config_control", "$@118",
"config_control_params", "config_control_param", "config_databases",
- "$@117", "logging_object", "$@118", "sub_logging", "$@119",
- "logging_params", "logging_param", "loggers", "$@120", "loggers_entries",
- "logger_entry", "$@121", "logger_params", "logger_param", "debuglevel",
- "severity", "$@122", "output_options_list", "$@123",
- "output_options_list_content", "output_entry", "$@124",
- "output_params_list", "output_params", "output", "$@125", "flush",
+ "$@119", "logging_object", "$@120", "sub_logging", "$@121",
+ "logging_params", "logging_param", "loggers", "$@122", "loggers_entries",
+ "logger_entry", "$@123", "logger_params", "logger_param", "debuglevel",
+ "severity", "$@124", "output_options_list", "$@125",
+ "output_options_list_content", "output_entry", "$@126",
+ "output_params_list", "output_params", "output", "$@127", "flush",
"maxsize", "maxver", YY_NULLPTR
};
#if PARSER4_DEBUG
- const unsigned short
+ const unsigned short int
Dhcp4Parser::yyrline_[] =
{
- 0, 257, 257, 257, 258, 258, 259, 259, 260, 260,
- 261, 261, 262, 262, 263, 263, 264, 264, 265, 265,
- 266, 266, 267, 267, 268, 268, 269, 269, 270, 270,
- 278, 279, 280, 281, 282, 283, 284, 287, 292, 292,
- 303, 306, 307, 310, 314, 321, 321, 328, 329, 332,
- 336, 343, 343, 350, 351, 354, 358, 369, 379, 379,
- 395, 396, 400, 401, 402, 403, 404, 405, 408, 408,
- 423, 423, 432, 433, 438, 439, 440, 441, 442, 443,
- 444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
- 454, 455, 456, 457, 458, 459, 460, 461, 462, 463,
- 464, 465, 466, 467, 468, 469, 470, 471, 472, 473,
- 474, 477, 482, 487, 492, 497, 502, 507, 512, 512,
- 520, 525, 530, 536, 536, 547, 548, 551, 552, 553,
- 554, 555, 556, 557, 560, 560, 569, 569, 579, 579,
- 586, 587, 590, 590, 597, 599, 603, 609, 609, 621,
- 621, 631, 632, 634, 636, 636, 654, 654, 666, 666,
- 676, 677, 680, 681, 684, 684, 694, 695, 698, 699,
- 700, 701, 702, 703, 704, 705, 706, 707, 708, 709,
- 710, 711, 712, 713, 714, 715, 718, 718, 725, 726,
- 727, 728, 731, 731, 739, 739, 747, 747, 755, 760,
- 760, 768, 773, 778, 783, 788, 793, 798, 803, 803,
- 811, 811, 819, 824, 829, 829, 839, 840, 843, 844,
- 845, 846, 847, 850, 855, 860, 865, 870, 875, 875,
- 885, 886, 889, 890, 893, 893, 903, 903, 913, 914,
- 915, 918, 919, 922, 922, 930, 930, 938, 938, 949,
- 950, 953, 954, 955, 956, 957, 958, 961, 966, 971,
- 976, 981, 986, 994, 994, 1007, 1008, 1011, 1012, 1019,
- 1019, 1045, 1045, 1056, 1057, 1061, 1062, 1063, 1064, 1065,
- 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075,
- 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085,
- 1086, 1087, 1090, 1090, 1098, 1098, 1106, 1106, 1114, 1114,
- 1122, 1122, 1130, 1130, 1138, 1138, 1148, 1148, 1155, 1156,
- 1157, 1158, 1161, 1168, 1168, 1179, 1180, 1184, 1185, 1188,
- 1188, 1196, 1197, 1200, 1201, 1202, 1203, 1204, 1205, 1206,
- 1207, 1208, 1209, 1210, 1211, 1212, 1213, 1214, 1215, 1216,
- 1217, 1218, 1219, 1220, 1221, 1228, 1228, 1241, 1241, 1250,
- 1251, 1254, 1255, 1260, 1260, 1275, 1275, 1289, 1290, 1293,
- 1294, 1297, 1298, 1299, 1300, 1301, 1302, 1303, 1304, 1305,
- 1306, 1309, 1311, 1316, 1318, 1318, 1326, 1326, 1334, 1334,
- 1342, 1344, 1344, 1352, 1361, 1361, 1373, 1374, 1379, 1380,
- 1385, 1385, 1397, 1397, 1409, 1410, 1415, 1416, 1421, 1422,
- 1423, 1424, 1425, 1426, 1427, 1428, 1429, 1432, 1434, 1434,
- 1442, 1444, 1446, 1451, 1459, 1459, 1471, 1472, 1475, 1476,
- 1479, 1479, 1489, 1489, 1499, 1500, 1503, 1504, 1505, 1506,
- 1507, 1508, 1509, 1512, 1512, 1520, 1520, 1545, 1545, 1575,
- 1575, 1585, 1586, 1589, 1590, 1593, 1593, 1602, 1602, 1611,
- 1612, 1615, 1616, 1620, 1621, 1622, 1623, 1624, 1625, 1626,
- 1627, 1628, 1629, 1630, 1631, 1632, 1633, 1634, 1637, 1637,
- 1645, 1645, 1653, 1653, 1661, 1661, 1669, 1669, 1679, 1679,
- 1687, 1687, 1695, 1695, 1703, 1703, 1711, 1711, 1719, 1719,
- 1727, 1727, 1740, 1740, 1750, 1751, 1757, 1757, 1767, 1768,
- 1771, 1771, 1781, 1782, 1785, 1786, 1789, 1790, 1791, 1792,
- 1793, 1794, 1795, 1796, 1797, 1798, 1799, 1802, 1804, 1804,
- 1812, 1821, 1828, 1828, 1838, 1839, 1842, 1843, 1844, 1845,
- 1846, 1849, 1849, 1857, 1857, 1868, 1868, 1906, 1906, 1918,
- 1918, 1928, 1929, 1932, 1933, 1934, 1935, 1936, 1937, 1938,
- 1939, 1940, 1941, 1942, 1943, 1944, 1945, 1946, 1947, 1948,
- 1949, 1952, 1957, 1957, 1965, 1965, 1973, 1978, 1978, 1986,
- 1991, 1996, 1996, 2004, 2005, 2008, 2008, 2016, 2021, 2026,
- 2026, 2034, 2037, 2040, 2043, 2046, 2052, 2052, 2060, 2060,
- 2068, 2068, 2079, 2079, 2086, 2086, 2093, 2093, 2100, 2100,
- 2111, 2111, 2121, 2122, 2126, 2129, 2129, 2144, 2144, 2154,
- 2154, 2165, 2166, 2170, 2174, 2174, 2186, 2187, 2191, 2191,
- 2199, 2200, 2203, 2204, 2205, 2206, 2207, 2208, 2209, 2212,
- 2217, 2217, 2225, 2225, 2235, 2236, 2239, 2239, 2247, 2248,
- 2251, 2252, 2253, 2254, 2257, 2257, 2265, 2270, 2275
+ 0, 259, 259, 259, 260, 260, 261, 261, 262, 262,
+ 263, 263, 264, 264, 265, 265, 266, 266, 267, 267,
+ 268, 268, 269, 269, 270, 270, 271, 271, 272, 272,
+ 280, 281, 282, 283, 284, 285, 286, 289, 294, 294,
+ 305, 308, 309, 312, 316, 323, 323, 330, 331, 334,
+ 338, 345, 345, 352, 353, 356, 360, 371, 381, 381,
+ 397, 398, 402, 403, 404, 405, 406, 407, 410, 410,
+ 425, 425, 434, 435, 440, 441, 442, 443, 444, 445,
+ 446, 447, 448, 449, 450, 451, 452, 453, 454, 455,
+ 456, 457, 458, 459, 460, 461, 462, 463, 464, 465,
+ 466, 467, 468, 469, 470, 471, 472, 473, 474, 475,
+ 476, 479, 484, 489, 494, 499, 504, 509, 514, 514,
+ 522, 527, 532, 538, 538, 549, 550, 553, 554, 555,
+ 556, 557, 558, 559, 562, 562, 571, 571, 581, 581,
+ 588, 589, 592, 592, 599, 601, 605, 611, 611, 623,
+ 623, 633, 634, 636, 638, 638, 656, 656, 668, 668,
+ 678, 679, 682, 683, 686, 686, 696, 697, 700, 701,
+ 702, 703, 704, 705, 706, 707, 708, 709, 710, 711,
+ 712, 713, 714, 715, 716, 717, 718, 719, 722, 722,
+ 729, 730, 731, 732, 735, 735, 743, 743, 751, 751,
+ 759, 764, 764, 772, 777, 782, 787, 792, 797, 802,
+ 807, 807, 815, 815, 823, 823, 831, 831, 839, 844,
+ 849, 849, 859, 860, 863, 864, 865, 866, 867, 870,
+ 875, 880, 885, 890, 895, 895, 905, 906, 909, 910,
+ 913, 913, 923, 923, 933, 934, 935, 938, 939, 942,
+ 942, 950, 950, 958, 958, 969, 970, 973, 974, 975,
+ 976, 977, 978, 981, 986, 991, 996, 1001, 1006, 1014,
+ 1014, 1027, 1028, 1031, 1032, 1039, 1039, 1065, 1065, 1076,
+ 1077, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089,
+ 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099,
+ 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1110, 1110,
+ 1118, 1118, 1126, 1126, 1134, 1134, 1142, 1142, 1150, 1150,
+ 1158, 1158, 1168, 1168, 1175, 1176, 1177, 1178, 1181, 1188,
+ 1188, 1199, 1200, 1204, 1205, 1208, 1208, 1216, 1217, 1220,
+ 1221, 1222, 1223, 1224, 1225, 1226, 1227, 1228, 1229, 1230,
+ 1231, 1232, 1233, 1234, 1235, 1236, 1237, 1238, 1239, 1240,
+ 1241, 1248, 1248, 1261, 1261, 1270, 1271, 1274, 1275, 1280,
+ 1280, 1295, 1295, 1309, 1310, 1313, 1314, 1317, 1318, 1319,
+ 1320, 1321, 1322, 1323, 1324, 1325, 1326, 1329, 1331, 1336,
+ 1338, 1338, 1346, 1346, 1354, 1354, 1362, 1364, 1364, 1372,
+ 1381, 1381, 1393, 1394, 1399, 1400, 1405, 1405, 1417, 1417,
+ 1429, 1430, 1435, 1436, 1441, 1442, 1443, 1444, 1445, 1446,
+ 1447, 1448, 1449, 1452, 1454, 1454, 1462, 1464, 1466, 1471,
+ 1479, 1479, 1491, 1492, 1495, 1496, 1499, 1499, 1509, 1509,
+ 1519, 1520, 1523, 1524, 1525, 1526, 1527, 1528, 1529, 1532,
+ 1532, 1540, 1540, 1565, 1565, 1595, 1595, 1605, 1606, 1609,
+ 1610, 1613, 1613, 1622, 1622, 1631, 1632, 1635, 1636, 1640,
+ 1641, 1642, 1643, 1644, 1645, 1646, 1647, 1648, 1649, 1650,
+ 1651, 1652, 1653, 1654, 1657, 1657, 1665, 1665, 1673, 1673,
+ 1681, 1681, 1689, 1689, 1699, 1699, 1707, 1707, 1715, 1715,
+ 1723, 1723, 1731, 1731, 1739, 1739, 1747, 1747, 1760, 1760,
+ 1770, 1771, 1777, 1777, 1787, 1788, 1791, 1791, 1801, 1802,
+ 1805, 1806, 1809, 1810, 1811, 1812, 1813, 1814, 1815, 1816,
+ 1817, 1818, 1819, 1822, 1824, 1824, 1832, 1841, 1848, 1848,
+ 1858, 1859, 1862, 1863, 1864, 1865, 1866, 1869, 1869, 1877,
+ 1877, 1888, 1888, 1926, 1926, 1938, 1938, 1948, 1949, 1952,
+ 1953, 1954, 1955, 1956, 1957, 1958, 1959, 1960, 1961, 1962,
+ 1963, 1964, 1965, 1966, 1967, 1968, 1969, 1972, 1977, 1977,
+ 1985, 1985, 1993, 1998, 1998, 2006, 2011, 2016, 2016, 2024,
+ 2025, 2028, 2028, 2036, 2041, 2046, 2046, 2054, 2057, 2060,
+ 2063, 2066, 2072, 2072, 2080, 2080, 2088, 2088, 2099, 2099,
+ 2106, 2106, 2113, 2113, 2120, 2120, 2131, 2131, 2141, 2142,
+ 2146, 2149, 2149, 2164, 2164, 2174, 2174, 2185, 2186, 2190,
+ 2194, 2194, 2206, 2207, 2211, 2211, 2219, 2220, 2223, 2224,
+ 2225, 2226, 2227, 2228, 2229, 2232, 2237, 2237, 2245, 2245,
+ 2255, 2256, 2259, 2259, 2267, 2268, 2271, 2272, 2273, 2274,
+ 2277, 2277, 2285, 2290, 2295
};
// Print the state stack on the debug stream.
i_end = yystack_.end ();
i != i_end; ++i)
*yycdebug_ << ' ' << i->state;
- *yycdebug_ << '\n';
+ *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)
{
- unsigned 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" // lalr1.cc:1242
+#line 14 "dhcp4_parser.yy" // lalr1.cc:1167
} } // isc::dhcp
-#line 5002 "dhcp4_parser.cc" // lalr1.cc:1242
-#line 2280 "dhcp4_parser.yy" // lalr1.cc:1243
+#line 4983 "dhcp4_parser.cc" // lalr1.cc:1167
+#line 2300 "dhcp4_parser.yy" // lalr1.cc:1168
void
-// A Bison parser, made by GNU Bison 3.3.2.
+// A Bison parser, made by GNU Bison 3.0.4.
// Skeleton interface for Bison LALR(1) parsers in C++
-// Copyright (C) 2002-2015, 2018-2019 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" // lalr1.cc:401
+#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" // lalr1.cc:401
+#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 YYASSERT
# 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 _Noreturn YY_ATTRIBUTE ((__noreturn__))
+# endif
+#endif
+
/* Suppress unused-variable warnings by "using" E. */
#if ! defined lint || defined __GNUC__
# define YYUSE(E) ((void) (E))
# 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") \
# define YY_INITIAL_VALUE(Value) /* Nothing. */
#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" // lalr1.cc:401
+#line 14 "dhcp4_parser.yy" // lalr1.cc:377
namespace isc { namespace dhcp {
-#line 184 "dhcp4_parser.h" // lalr1.cc:401
+#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))
{
- YYASSERT (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 ()
{
YYASSERT (!yytypeid_);
}
-# if 201103L <= YY_CPLUSPLUS
- /// Instantiate a \a T in here from \a t.
- template <typename T, typename... U>
- T&
- emplace (U&&... u)
- {
- YYASSERT (!yytypeid_);
- YYASSERT (sizeof (T) <= size);
- yytypeid_ = & typeid (T);
- return *new (yyas_<T> ()) T (std::forward <U>(u)...);
- }
-# else
/// Instantiate an empty \a T in here.
template <typename T>
T&
- emplace ()
+ build ()
{
YYASSERT (!yytypeid_);
- YYASSERT (sizeof (T) <= size);
+ 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)
{
YYASSERT (!yytypeid_);
- YYASSERT (sizeof (T) <= size);
+ 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 ()
{
- YYASSERT (yytypeid_);
YYASSERT (*yytypeid_ == typeid (T));
- YYASSERT (sizeof (T) <= size);
+ YYASSERT (sizeof (T) <= S);
return *yyas_<T> ();
}
/// Const accessor to a built \a T (for %printer).
template <typename T>
const T&
- as () const YY_NOEXCEPT
+ as () const
{
- YYASSERT (yytypeid_);
YYASSERT (*yytypeid_ == typeid (T));
- YYASSERT (sizeof (T) <= size);
+ YYASSERT (sizeof (T) <= S);
return *yyas_<T> ();
}
- /// Swap the content with \a that, of same type.
+ /// Swap the content with \a other, of same type.
///
/// Both variants must be built beforehand, because swapping the actual
/// data requires reading it (with as()), and this is not possible on
/// unconstructed variants: it would require some dynamic testing, which
- /// should not be the variant's responsibility.
+ /// 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)
{
YYASSERT (yytypeid_);
- YYASSERT (*yytypeid_ == *that.yytypeid_);
- std::swap (as<T> (), that.as<T> ());
+ YYASSERT (*yytypeid_ == *other.yytypeid_);
+ std::swap (as<T> (), other.as<T> ());
}
- /// Move the content of \a that to this.
+ /// Move the content of \a other to this.
///
- /// Destroys \a that.
- 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
{
// hr_mode
// ncr_protocol_value
// replace_client_name_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_CONNECT_TIMEOUT = 300,
TOKEN_CONTACT_POINTS = 301,
TOKEN_KEYSPACE = 302,
- TOKEN_MAX_RECONNECT_TRIES = 303,
- TOKEN_RECONNECT_WAIT_TIME = 304,
- TOKEN_REQUEST_TIMEOUT = 305,
- TOKEN_TCP_KEEPALIVE = 306,
- TOKEN_TCP_NODELAY = 307,
- TOKEN_VALID_LIFETIME = 308,
- TOKEN_RENEW_TIMER = 309,
- TOKEN_REBIND_TIMER = 310,
- TOKEN_CALCULATE_TEE_TIMES = 311,
- TOKEN_T1_PERCENT = 312,
- TOKEN_T2_PERCENT = 313,
- TOKEN_DECLINE_PROBATION_PERIOD = 314,
- TOKEN_SERVER_TAG = 315,
- TOKEN_SUBNET4 = 316,
- TOKEN_SUBNET_4O6_INTERFACE = 317,
- TOKEN_SUBNET_4O6_INTERFACE_ID = 318,
- TOKEN_SUBNET_4O6_SUBNET = 319,
- TOKEN_OPTION_DEF = 320,
- TOKEN_OPTION_DATA = 321,
- TOKEN_NAME = 322,
- TOKEN_DATA = 323,
- TOKEN_CODE = 324,
- TOKEN_SPACE = 325,
- TOKEN_CSV_FORMAT = 326,
- TOKEN_ALWAYS_SEND = 327,
- TOKEN_RECORD_TYPES = 328,
- TOKEN_ENCAPSULATE = 329,
- TOKEN_ARRAY = 330,
- TOKEN_SHARED_NETWORKS = 331,
- TOKEN_POOLS = 332,
- TOKEN_POOL = 333,
- TOKEN_USER_CONTEXT = 334,
- TOKEN_COMMENT = 335,
- TOKEN_SUBNET = 336,
- TOKEN_INTERFACE = 337,
- TOKEN_ID = 338,
- TOKEN_RESERVATION_MODE = 339,
- TOKEN_DISABLED = 340,
- TOKEN_OUT_OF_POOL = 341,
- TOKEN_GLOBAL = 342,
- TOKEN_ALL = 343,
- TOKEN_HOST_RESERVATION_IDENTIFIERS = 344,
- TOKEN_CLIENT_CLASSES = 345,
- TOKEN_REQUIRE_CLIENT_CLASSES = 346,
- TOKEN_TEST = 347,
- TOKEN_ONLY_IF_REQUIRED = 348,
- TOKEN_CLIENT_CLASS = 349,
- TOKEN_RESERVATIONS = 350,
- TOKEN_DUID = 351,
- TOKEN_HW_ADDRESS = 352,
- TOKEN_CIRCUIT_ID = 353,
- TOKEN_CLIENT_ID = 354,
- TOKEN_HOSTNAME = 355,
- TOKEN_FLEX_ID = 356,
- TOKEN_RELAY = 357,
- TOKEN_IP_ADDRESS = 358,
- TOKEN_IP_ADDRESSES = 359,
- TOKEN_HOOKS_LIBRARIES = 360,
- TOKEN_LIBRARY = 361,
- TOKEN_PARAMETERS = 362,
- TOKEN_EXPIRED_LEASES_PROCESSING = 363,
- TOKEN_RECLAIM_TIMER_WAIT_TIME = 364,
- TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 365,
- TOKEN_HOLD_RECLAIMED_TIME = 366,
- TOKEN_MAX_RECLAIM_LEASES = 367,
- TOKEN_MAX_RECLAIM_TIME = 368,
- TOKEN_UNWARNED_RECLAIM_CYCLES = 369,
- TOKEN_DHCP4O6_PORT = 370,
- TOKEN_CONTROL_SOCKET = 371,
- TOKEN_SOCKET_TYPE = 372,
- TOKEN_SOCKET_NAME = 373,
- TOKEN_DHCP_QUEUE_CONTROL = 374,
- TOKEN_DHCP_DDNS = 375,
- TOKEN_ENABLE_UPDATES = 376,
- TOKEN_QUALIFYING_SUFFIX = 377,
- TOKEN_SERVER_IP = 378,
- TOKEN_SERVER_PORT = 379,
- TOKEN_SENDER_IP = 380,
- TOKEN_SENDER_PORT = 381,
- TOKEN_MAX_QUEUE_SIZE = 382,
- TOKEN_NCR_PROTOCOL = 383,
- TOKEN_NCR_FORMAT = 384,
- TOKEN_OVERRIDE_NO_UPDATE = 385,
- TOKEN_OVERRIDE_CLIENT_UPDATE = 386,
- TOKEN_REPLACE_CLIENT_NAME = 387,
- TOKEN_GENERATED_PREFIX = 388,
- TOKEN_TCP = 389,
- TOKEN_JSON = 390,
- TOKEN_WHEN_PRESENT = 391,
- TOKEN_NEVER = 392,
- TOKEN_ALWAYS = 393,
- TOKEN_WHEN_NOT_PRESENT = 394,
- TOKEN_HOSTNAME_CHAR_SET = 395,
- TOKEN_HOSTNAME_CHAR_REPLACEMENT = 396,
- TOKEN_LOGGING = 397,
- TOKEN_LOGGERS = 398,
- TOKEN_OUTPUT_OPTIONS = 399,
- TOKEN_OUTPUT = 400,
- TOKEN_DEBUGLEVEL = 401,
- TOKEN_SEVERITY = 402,
- TOKEN_FLUSH = 403,
- TOKEN_MAXSIZE = 404,
- TOKEN_MAXVER = 405,
- TOKEN_DHCP6 = 406,
- TOKEN_DHCPDDNS = 407,
- TOKEN_CONTROL_AGENT = 408,
- TOKEN_TOPLEVEL_JSON = 409,
- TOKEN_TOPLEVEL_DHCP4 = 410,
- TOKEN_SUB_DHCP4 = 411,
- TOKEN_SUB_INTERFACES4 = 412,
- TOKEN_SUB_SUBNET4 = 413,
- TOKEN_SUB_POOL4 = 414,
- TOKEN_SUB_RESERVATION = 415,
- TOKEN_SUB_OPTION_DEFS = 416,
- TOKEN_SUB_OPTION_DEF = 417,
- TOKEN_SUB_OPTION_DATA = 418,
- TOKEN_SUB_HOOKS_LIBRARY = 419,
- TOKEN_SUB_DHCP_DDNS = 420,
- TOKEN_SUB_LOGGING = 421,
- TOKEN_SUB_CONFIG_CONTROL = 422,
- TOKEN_STRING = 423,
- TOKEN_INTEGER = 424,
- TOKEN_FLOAT = 425,
- TOKEN_BOOLEAN = 426
+ TOKEN_CONSISTENCY = 303,
+ TOKEN_SERIAL_CONSISTENCY = 304,
+ TOKEN_MAX_RECONNECT_TRIES = 305,
+ TOKEN_RECONNECT_WAIT_TIME = 306,
+ TOKEN_REQUEST_TIMEOUT = 307,
+ TOKEN_TCP_KEEPALIVE = 308,
+ TOKEN_TCP_NODELAY = 309,
+ TOKEN_VALID_LIFETIME = 310,
+ TOKEN_RENEW_TIMER = 311,
+ TOKEN_REBIND_TIMER = 312,
+ TOKEN_CALCULATE_TEE_TIMES = 313,
+ TOKEN_T1_PERCENT = 314,
+ TOKEN_T2_PERCENT = 315,
+ TOKEN_DECLINE_PROBATION_PERIOD = 316,
+ TOKEN_SERVER_TAG = 317,
+ TOKEN_SUBNET4 = 318,
+ TOKEN_SUBNET_4O6_INTERFACE = 319,
+ TOKEN_SUBNET_4O6_INTERFACE_ID = 320,
+ TOKEN_SUBNET_4O6_SUBNET = 321,
+ TOKEN_OPTION_DEF = 322,
+ TOKEN_OPTION_DATA = 323,
+ TOKEN_NAME = 324,
+ TOKEN_DATA = 325,
+ TOKEN_CODE = 326,
+ TOKEN_SPACE = 327,
+ TOKEN_CSV_FORMAT = 328,
+ TOKEN_ALWAYS_SEND = 329,
+ TOKEN_RECORD_TYPES = 330,
+ TOKEN_ENCAPSULATE = 331,
+ TOKEN_ARRAY = 332,
+ TOKEN_SHARED_NETWORKS = 333,
+ TOKEN_POOLS = 334,
+ TOKEN_POOL = 335,
+ TOKEN_USER_CONTEXT = 336,
+ TOKEN_COMMENT = 337,
+ TOKEN_SUBNET = 338,
+ TOKEN_INTERFACE = 339,
+ TOKEN_ID = 340,
+ TOKEN_RESERVATION_MODE = 341,
+ TOKEN_DISABLED = 342,
+ TOKEN_OUT_OF_POOL = 343,
+ TOKEN_GLOBAL = 344,
+ TOKEN_ALL = 345,
+ TOKEN_HOST_RESERVATION_IDENTIFIERS = 346,
+ TOKEN_CLIENT_CLASSES = 347,
+ TOKEN_REQUIRE_CLIENT_CLASSES = 348,
+ TOKEN_TEST = 349,
+ TOKEN_ONLY_IF_REQUIRED = 350,
+ TOKEN_CLIENT_CLASS = 351,
+ TOKEN_RESERVATIONS = 352,
+ TOKEN_DUID = 353,
+ TOKEN_HW_ADDRESS = 354,
+ TOKEN_CIRCUIT_ID = 355,
+ TOKEN_CLIENT_ID = 356,
+ TOKEN_HOSTNAME = 357,
+ TOKEN_FLEX_ID = 358,
+ TOKEN_RELAY = 359,
+ TOKEN_IP_ADDRESS = 360,
+ TOKEN_IP_ADDRESSES = 361,
+ TOKEN_HOOKS_LIBRARIES = 362,
+ TOKEN_LIBRARY = 363,
+ TOKEN_PARAMETERS = 364,
+ TOKEN_EXPIRED_LEASES_PROCESSING = 365,
+ TOKEN_RECLAIM_TIMER_WAIT_TIME = 366,
+ TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 367,
+ TOKEN_HOLD_RECLAIMED_TIME = 368,
+ TOKEN_MAX_RECLAIM_LEASES = 369,
+ TOKEN_MAX_RECLAIM_TIME = 370,
+ TOKEN_UNWARNED_RECLAIM_CYCLES = 371,
+ TOKEN_DHCP4O6_PORT = 372,
+ TOKEN_CONTROL_SOCKET = 373,
+ TOKEN_SOCKET_TYPE = 374,
+ TOKEN_SOCKET_NAME = 375,
+ TOKEN_DHCP_QUEUE_CONTROL = 376,
+ TOKEN_DHCP_DDNS = 377,
+ TOKEN_ENABLE_UPDATES = 378,
+ TOKEN_QUALIFYING_SUFFIX = 379,
+ TOKEN_SERVER_IP = 380,
+ TOKEN_SERVER_PORT = 381,
+ TOKEN_SENDER_IP = 382,
+ TOKEN_SENDER_PORT = 383,
+ TOKEN_MAX_QUEUE_SIZE = 384,
+ TOKEN_NCR_PROTOCOL = 385,
+ TOKEN_NCR_FORMAT = 386,
+ TOKEN_OVERRIDE_NO_UPDATE = 387,
+ TOKEN_OVERRIDE_CLIENT_UPDATE = 388,
+ TOKEN_REPLACE_CLIENT_NAME = 389,
+ TOKEN_GENERATED_PREFIX = 390,
+ TOKEN_TCP = 391,
+ TOKEN_JSON = 392,
+ TOKEN_WHEN_PRESENT = 393,
+ TOKEN_NEVER = 394,
+ TOKEN_ALWAYS = 395,
+ TOKEN_WHEN_NOT_PRESENT = 396,
+ TOKEN_HOSTNAME_CHAR_SET = 397,
+ TOKEN_HOSTNAME_CHAR_REPLACEMENT = 398,
+ TOKEN_LOGGING = 399,
+ TOKEN_LOGGERS = 400,
+ TOKEN_OUTPUT_OPTIONS = 401,
+ TOKEN_OUTPUT = 402,
+ TOKEN_DEBUGLEVEL = 403,
+ TOKEN_SEVERITY = 404,
+ TOKEN_FLUSH = 405,
+ TOKEN_MAXSIZE = 406,
+ TOKEN_MAXVER = 407,
+ TOKEN_DHCP6 = 408,
+ TOKEN_DHCPDDNS = 409,
+ TOKEN_CONTROL_AGENT = 410,
+ TOKEN_TOPLEVEL_JSON = 411,
+ TOKEN_TOPLEVEL_DHCP4 = 412,
+ TOKEN_SUB_DHCP4 = 413,
+ TOKEN_SUB_INTERFACES4 = 414,
+ TOKEN_SUB_SUBNET4 = 415,
+ TOKEN_SUB_POOL4 = 416,
+ TOKEN_SUB_RESERVATION = 417,
+ TOKEN_SUB_OPTION_DEFS = 418,
+ TOKEN_SUB_OPTION_DEF = 419,
+ TOKEN_SUB_OPTION_DATA = 420,
+ TOKEN_SUB_HOOKS_LIBRARY = 421,
+ TOKEN_SUB_DHCP_DDNS = 422,
+ TOKEN_SUB_LOGGING = 423,
+ TOKEN_SUB_CONFIG_CONTROL = 424,
+ TOKEN_STRING = 425,
+ TOKEN_INTEGER = 426,
+ TOKEN_FLOAT = 427,
+ TOKEN_BOOLEAN = 428
};
};
/// 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 188: // value
- case 192: // map_value
- case 236: // socket_type
- case 239: // outbound_interface_value
- case 261: // db_type
- case 343: // hr_mode
- case 492: // ncr_protocol_value
- case 499: // replace_client_name_value
- value.template destroy< ElementPtr > ();
- break;
+ basic_symbol (typename Base::kind_type t, const ElementPtr v, const location_type& l);
- case 171: // "boolean"
- value.template destroy< bool > ();
- break;
+ basic_symbol (typename Base::kind_type t, const bool v, const location_type& l);
- case 170: // "floating point"
- value.template destroy< double > ();
- break;
+ basic_symbol (typename Base::kind_type t, const double v, const location_type& l);
- case 169: // "integer"
- value.template destroy< int64_t > ();
- break;
+ basic_symbol (typename Base::kind_type t, const int64_t v, const location_type& l);
- case 168: // "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 YY_NOEXCEPT;
+ token_type token () const;
/// The symbol type.
/// \a empty_symbol when empty.
};
/// "External" symbols: returned by the scanner.
- struct symbol_type : basic_symbol<by_type>
- {
- /// Superclass.
- typedef basic_symbol<by_type> super_type;
+ 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))
- {
- YYASSERT (tok == token::TOKEN_END || tok == token::TOKEN_COMMA || tok == token::TOKEN_COLON || tok == token::TOKEN_LSQUARE_BRACKET || tok == token::TOKEN_RSQUARE_BRACKET || tok == token::TOKEN_LCURLY_BRACKET || tok == token::TOKEN_RCURLY_BRACKET || tok == token::TOKEN_NULL_TYPE || tok == token::TOKEN_DHCP4 || tok == token::TOKEN_CONFIG_CONTROL || tok == token::TOKEN_CONFIG_DATABASES || 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_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_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_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_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_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)
- {
- YYASSERT (tok == token::TOKEN_END || tok == token::TOKEN_COMMA || tok == token::TOKEN_COLON || tok == token::TOKEN_LSQUARE_BRACKET || tok == token::TOKEN_RSQUARE_BRACKET || tok == token::TOKEN_LCURLY_BRACKET || tok == token::TOKEN_RCURLY_BRACKET || tok == token::TOKEN_NULL_TYPE || tok == token::TOKEN_DHCP4 || tok == token::TOKEN_CONFIG_CONTROL || tok == token::TOKEN_CONFIG_DATABASES || 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_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_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_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_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_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))
- {
- YYASSERT (tok == token::TOKEN_BOOLEAN);
- }
-#else
- symbol_type (int tok, const bool& v, const location_type& l)
- : super_type(token_type (tok), v, l)
- {
- YYASSERT (tok == token::TOKEN_BOOLEAN);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- symbol_type (int tok, double v, location_type l)
- : super_type(token_type (tok), std::move (v), std::move (l))
- {
- YYASSERT (tok == token::TOKEN_FLOAT);
- }
-#else
- symbol_type (int tok, const double& v, const location_type& l)
- : super_type(token_type (tok), v, l)
- {
- YYASSERT (tok == token::TOKEN_FLOAT);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- symbol_type (int tok, int64_t v, location_type l)
- : super_type(token_type (tok), std::move (v), std::move (l))
- {
- YYASSERT (tok == token::TOKEN_INTEGER);
- }
-#else
- symbol_type (int tok, const int64_t& v, const location_type& l)
- : super_type(token_type (tok), v, l)
- {
- YYASSERT (tok == token::TOKEN_INTEGER);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- symbol_type (int tok, std::string v, location_type l)
- : super_type(token_type (tok), std::move (v), std::move (l))
- {
- YYASSERT (tok == token::TOKEN_STRING);
- }
-#else
- symbol_type (int tok, const std::string& v, const location_type& l)
- : super_type(token_type (tok), v, l)
- {
- YYASSERT (tok == token::TOKEN_STRING);
- }
-#endif
- };
+ 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_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);
- }
-#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);
- }
+ 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_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_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_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_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_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_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_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_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_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_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_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_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_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_ = 1036, ///< Last index in yytable_.
+ yynnts_ = 380, ///< Number of nonterminal symbols.
+ yyfinal_ = 30, ///< Termination state number.
+ yyterror_ = 1,
+ yyerrcode_ = 256,
+ yyntokens_ = 174 ///< 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
+ };
+ const unsigned int user_token_number_max_ = 428;
+ 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 190: // value
+ case 194: // map_value
+ case 238: // socket_type
+ case 241: // outbound_interface_value
+ case 263: // db_type
+ case 349: // hr_mode
+ case 498: // ncr_protocol_value
+ case 505: // replace_client_name_value
+ value.copy< ElementPtr > (other.value);
+ break;
+
+ case 173: // "boolean"
+ value.copy< bool > (other.value);
+ break;
+
+ case 172: // "floating point"
+ value.copy< double > (other.value);
+ break;
+
+ case 171: // "integer"
+ value.copy< int64_t > (other.value);
+ break;
+
+ case 170: // "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 190: // value
+ case 194: // map_value
+ case 238: // socket_type
+ case 241: // outbound_interface_value
+ case 263: // db_type
+ case 349: // hr_mode
+ case 498: // ncr_protocol_value
+ case 505: // replace_client_name_value
+ value.copy< ElementPtr > (v);
+ break;
+
+ case 173: // "boolean"
+ value.copy< bool > (v);
+ break;
+
+ case 172: // "floating point"
+ value.copy< double > (v);
+ break;
+
+ case 171: // "integer"
+ value.copy< int64_t > (v);
+ break;
+
+ case 170: // "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 190: // value
+ case 194: // map_value
+ case 238: // socket_type
+ case 241: // outbound_interface_value
+ case 263: // db_type
+ case 349: // hr_mode
+ case 498: // ncr_protocol_value
+ case 505: // replace_client_name_value
+ value.template destroy< ElementPtr > ();
+ break;
+
+ case 173: // "boolean"
+ value.template destroy< bool > ();
+ break;
+
+ case 172: // "floating point"
+ value.template destroy< double > ();
+ break;
+
+ case 171: // "integer"
+ value.template destroy< int64_t > ();
+ break;
+
+ case 170: // "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 190: // value
+ case 194: // map_value
+ case 238: // socket_type
+ case 241: // outbound_interface_value
+ case 263: // db_type
+ case 349: // hr_mode
+ case 498: // ncr_protocol_value
+ case 505: // replace_client_name_value
+ value.move< ElementPtr > (s.value);
+ break;
+
+ case 173: // "boolean"
+ value.move< bool > (s.value);
+ break;
+
+ case 172: // "floating point"
+ value.move< double > (s.value);
+ break;
+
+ case 171: // "integer"
+ value.move< int64_t > (s.value);
+ break;
+
+ case 170: // "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
+ };
+ 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_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_VALID_LIFETIME (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_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);
+ }
- private:
- /// This class is not copyable.
- Dhcp4Parser (const Dhcp4Parser&);
- Dhcp4Parser& operator= (const Dhcp4Parser&);
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SERVER_TAG (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SERVER_TAG, l);
+ }
- /// State numbers.
- typedef int state_type;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SUBNET4 (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SUBNET4, 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_SUBNET_4O6_INTERFACE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SUBNET_4O6_INTERFACE, l);
+ }
- /// Compute post-reduction state.
- /// \param yystate the current state
- /// \param yysym the nonterminal to push on the stack
- state_type yy_lr_goto_state_ (state_type yystate, int yysym);
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SUBNET_4O6_INTERFACE_ID (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SUBNET_4O6_INTERFACE_ID, 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_SUBNET_4O6_SUBNET (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SUBNET_4O6_SUBNET, 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_OPTION_DEF (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_OPTION_DEF, l);
+ }
- static const short yypact_ninf_;
- static const signed char yytable_ninf_;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_OPTION_DATA (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_OPTION_DATA, l);
+ }
- /// Convert a scanner token number \a t to a symbol number.
- static token_number_type yytranslate_ (token_type t);
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_NAME (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_NAME, l);
+ }
- // Tables.
- // YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
- // STATE-NUM.
- static const short yypact_[];
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_DATA (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_DATA, l);
+ }
- // YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
- // Performed when YYTABLE does not specify something else to do. Zero
- // means the default is an error.
- static const unsigned short yydefact_[];
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_CODE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_CODE, l);
+ }
- // YYPGOTO[NTERM-NUM].
- static const short yypgoto_[];
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SPACE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SPACE, l);
+ }
- // YYDEFGOTO[NTERM-NUM].
- static const short yydefgoto_[];
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_CSV_FORMAT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_CSV_FORMAT, l);
+ }
- // YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
- // positive, shift that token. If negative, reduce the rule whose
- // number is the opposite. If YYTABLE_NINF, syntax error.
- static const unsigned short yytable_[];
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_ALWAYS_SEND (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_ALWAYS_SEND, l);
+ }
- static const short yycheck_[];
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_RECORD_TYPES (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_RECORD_TYPES, l);
+ }
- // YYSTOS[STATE-NUM] -- The (internal number of the) accessing
- // symbol of state STATE-NUM.
- static const unsigned short yystos_[];
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_ENCAPSULATE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_ENCAPSULATE, l);
+ }
- // YYR1[YYN] -- Symbol number of symbol that rule YYN derives.
- static const unsigned short yyr1_[];
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_ARRAY (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_ARRAY, l);
+ }
- // YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.
- static const unsigned char yyr2_[];
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SHARED_NETWORKS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SHARED_NETWORKS, l);
+ }
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_POOLS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_POOLS, l);
+ }
- /// 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_POOL (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_POOL, l);
+ }
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_USER_CONTEXT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_USER_CONTEXT, l);
+ }
- /// 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 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_COMMENT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_COMMENT, l);
+ }
- /// Debugging level.
- int yydebug_;
- /// Debug stream.
- std::ostream* yycdebug_;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SUBNET (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SUBNET, 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_INTERFACE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_INTERFACE, 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_ID (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_ID, l);
+ }
- private:
- /// Type access provider for state based symbols.
- struct by_state
- {
- /// Default constructor.
- by_state () YY_NOEXCEPT;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_RESERVATION_MODE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_RESERVATION_MODE, l);
+ }
- /// The symbol type as needed by the constructor.
- typedef state_type kind_type;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_DISABLED (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_DISABLED, l);
+ }
- /// Constructor.
- by_state (kind_type s) YY_NOEXCEPT;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_OUT_OF_POOL (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_OUT_OF_POOL, l);
+ }
- /// Copy constructor.
- by_state (const by_state& that) YY_NOEXCEPT;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_GLOBAL (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_GLOBAL, l);
+ }
- /// Record that this symbol is empty.
- void clear () YY_NOEXCEPT;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_ALL (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_ALL, l);
+ }
- /// Steal the symbol type from \a that.
- void move (by_state& that);
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_HOST_RESERVATION_IDENTIFIERS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_HOST_RESERVATION_IDENTIFIERS, 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_CLIENT_CLASSES (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_CLIENT_CLASSES, l);
+ }
- /// The state number used to denote an empty symbol.
- enum { empty_state = -1 };
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_REQUIRE_CLIENT_CLASSES (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_REQUIRE_CLIENT_CLASSES, l);
+ }
- /// The state.
- /// \a empty when empty.
- state_type state;
- };
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_TEST (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_TEST, l);
+ }
- /// "Internal" symbol: element of the stack.
- struct stack_symbol_type : basic_symbol<by_state>
- {
- /// Superclass.
- typedef basic_symbol<by_state> super_type;
- /// Construct an empty symbol.
- stack_symbol_type ();
- /// Move or copy construction.
- stack_symbol_type (YY_RVREF (stack_symbol_type) that);
- /// Steal the contents from \a sym to build this.
- stack_symbol_type (state_type s, YY_MOVE_REF (symbol_type) sym);
-#if YY_CPLUSPLUS < 201103L
- /// Assignment, needed by push_back by some old implementations.
- /// Moves the contents of that.
- stack_symbol_type& operator= (stack_symbol_type& that);
-#endif
- };
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_ONLY_IF_REQUIRED (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_ONLY_IF_REQUIRED, l);
+ }
- /// A stack with random access from its top.
- template <typename T, typename S = std::vector<T> >
- class stack
- {
- public:
- // Hide our reversed order.
- typedef typename S::reverse_iterator iterator;
- typedef typename S::const_reverse_iterator const_iterator;
- typedef typename S::size_type size_type;
-
- stack (size_type n = 200)
- : seq_ (n)
- {}
-
- /// Random access.
- ///
- /// Index 0 returns the topmost element.
- T&
- operator[] (size_type i)
- {
- return seq_[size () - 1 - i];
- }
-
- /// Random access.
- ///
- /// Index 0 returns the topmost element.
- T&
- operator[] (int i)
- {
- return operator[] (size_type (i));
- }
-
- /// Random access.
- ///
- /// Index 0 returns the topmost element.
- const T&
- operator[] (size_type i) const
- {
- return seq_[size () - 1 - i];
- }
-
- /// Random access.
- ///
- /// Index 0 returns the topmost element.
- const T&
- operator[] (int i) const
- {
- return operator[] (size_type (i));
- }
-
- /// Steal the contents of \a t.
- ///
- /// Close to move-semantics.
- void
- push (YY_MOVE_REF (T) t)
- {
- seq_.push_back (T ());
- operator[] (0).move (t);
- }
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_CLIENT_CLASS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_CLIENT_CLASS, l);
+ }
- /// Pop elements from the stack.
- void
- pop (int n = 1) YY_NOEXCEPT
- {
- for (; 0 < n; --n)
- seq_.pop_back ();
- }
+ 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_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_DHCP_DDNS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_DHCP_DDNS, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_ENABLE_UPDATES (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_ENABLE_UPDATES, l);
+ }
+
+ 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.
- size_type
- size () const YY_NOEXCEPT
- {
- return seq_.size ();
- }
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SERVER_PORT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SERVER_PORT, l);
+ }
- /// Iterator on top of the stack (going downwards).
- const_iterator
- begin () const YY_NOEXCEPT
- {
- return seq_.rbegin ();
- }
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SENDER_IP (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SENDER_IP, l);
+ }
- /// Bottom of the stack.
- const_iterator
- end () const YY_NOEXCEPT
- {
- return seq_.rend ();
- }
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SENDER_PORT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SENDER_PORT, l);
+ }
- /// Present a slice of the top of a stack.
- class slice
- {
- public:
- slice (const stack& stack, int range)
- : stack_ (stack)
- , range_ (range)
- {}
-
- const T&
- operator[] (int i) const
- {
- return stack_[range_ - i];
- }
-
- private:
- const stack& stack_;
- int range_;
- };
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_MAX_QUEUE_SIZE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_MAX_QUEUE_SIZE, l);
+ }
- private:
- stack (const stack&);
- stack& operator= (const stack&);
- /// The wrapped container.
- S seq_;
- };
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_NCR_PROTOCOL (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_NCR_PROTOCOL, l);
+ }
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_NCR_FORMAT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_NCR_FORMAT, l);
+ }
- /// Stack type.
- typedef stack<stack_symbol_type> stack_type;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_OVERRIDE_NO_UPDATE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_OVERRIDE_NO_UPDATE, l);
+ }
- /// The stack.
- stack_type yystack_;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_OVERRIDE_CLIENT_UPDATE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_OVERRIDE_CLIENT_UPDATE, 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_REPLACE_CLIENT_NAME (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_REPLACE_CLIENT_NAME, 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_GENERATED_PREFIX (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_GENERATED_PREFIX, l);
+ }
- /// Pop \a n symbols from the stack.
- void yypop_ (int n = 1);
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_TCP (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_TCP, l);
+ }
- /// Constants.
- enum
- {
- yyeof_ = 0,
- yylast_ = 1026, ///< Last index in yytable_.
- yynnts_ = 376, ///< Number of nonterminal symbols.
- yyfinal_ = 30, ///< Termination state number.
- yyterror_ = 1,
- yyerrcode_ = 256,
- yyntokens_ = 172 ///< Number of tokens.
- };
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_JSON (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_JSON, l);
+ }
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_WHEN_PRESENT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_WHEN_PRESENT, l);
+ }
- // User arguments.
- isc::dhcp::Parser4Context& ctx;
- };
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_NEVER (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_NEVER, l);
+ }
- inline
- Dhcp4Parser::token_number_type
- Dhcp4Parser::yytranslate_ (token_type t)
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_ALWAYS (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
- };
- const unsigned user_token_number_max_ = 426;
- const token_number_type undef_token_ = 2;
+ return symbol_type (token::TOKEN_ALWAYS, l);
+ }
- if (static_cast<int> (t) <= yyeof_)
- return yyeof_;
- else if (static_cast<unsigned> (t) <= user_token_number_max_)
- return translate_table[t];
- else
- return undef_token_;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_WHEN_NOT_PRESENT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_WHEN_NOT_PRESENT, 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_HOSTNAME_CHAR_SET (const location_type& l)
{
- switch (this->type_get ())
- {
- case 188: // value
- case 192: // map_value
- case 236: // socket_type
- case 239: // outbound_interface_value
- case 261: // db_type
- case 343: // hr_mode
- case 492: // ncr_protocol_value
- case 499: // replace_client_name_value
- value.move< ElementPtr > (std::move (that.value));
- break;
+ return symbol_type (token::TOKEN_HOSTNAME_CHAR_SET, l);
+ }
- case 171: // "boolean"
- value.move< bool > (std::move (that.value));
- break;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_HOSTNAME_CHAR_REPLACEMENT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_HOSTNAME_CHAR_REPLACEMENT, l);
+ }
- case 170: // "floating point"
- value.move< double > (std::move (that.value));
- break;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_LOGGING (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_LOGGING, l);
+ }
- case 169: // "integer"
- value.move< int64_t > (std::move (that.value));
- break;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_LOGGERS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_LOGGERS, l);
+ }
- case 168: // "constant string"
- value.move< std::string > (std::move (that.value));
- break;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_OUTPUT_OPTIONS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_OUTPUT_OPTIONS, l);
+ }
- default:
- break;
- }
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_OUTPUT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_OUTPUT, l);
+ }
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_DEBUGLEVEL (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_DEBUGLEVEL, 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_SEVERITY (const location_type& l)
{
- switch (this->type_get ())
- {
- case 188: // value
- case 192: // map_value
- case 236: // socket_type
- case 239: // outbound_interface_value
- case 261: // db_type
- case 343: // hr_mode
- case 492: // ncr_protocol_value
- case 499: // replace_client_name_value
- value.copy< ElementPtr > (YY_MOVE (that.value));
- break;
+ return symbol_type (token::TOKEN_SEVERITY, l);
+ }
- case 171: // "boolean"
- value.copy< bool > (YY_MOVE (that.value));
- break;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_FLUSH (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_FLUSH, l);
+ }
- case 170: // "floating point"
- value.copy< double > (YY_MOVE (that.value));
- break;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_MAXSIZE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_MAXSIZE, l);
+ }
- case 169: // "integer"
- value.copy< int64_t > (YY_MOVE (that.value));
- break;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_MAXVER (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_MAXVER, l);
+ }
- case 168: // "constant string"
- value.copy< std::string > (YY_MOVE (that.value));
- break;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_DHCP6 (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_DHCP6, l);
+ }
- default:
- break;
- }
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_DHCPDDNS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_DHCPDDNS, l);
+ }
+ 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);
+ }
- template <typename Base>
- bool
- Dhcp4Parser::basic_symbol<Base>::empty () const YY_NOEXCEPT
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SUB_DHCP4 (const location_type& l)
{
- return Base::type_get () == empty_symbol;
+ return symbol_type (token::TOKEN_SUB_DHCP4, l);
}
- template <typename Base>
- void
- Dhcp4Parser::basic_symbol<Base>::move (basic_symbol& s)
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SUB_INTERFACES4 (const location_type& l)
{
- super_type::move (s);
- switch (this->type_get ())
- {
- case 188: // value
- case 192: // map_value
- case 236: // socket_type
- case 239: // outbound_interface_value
- case 261: // db_type
- case 343: // hr_mode
- case 492: // ncr_protocol_value
- case 499: // replace_client_name_value
- value.move< ElementPtr > (YY_MOVE (s.value));
- break;
+ return symbol_type (token::TOKEN_SUB_INTERFACES4, l);
+ }
- case 171: // "boolean"
- value.move< bool > (YY_MOVE (s.value));
- break;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SUB_SUBNET4 (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SUB_SUBNET4, l);
+ }
- case 170: // "floating point"
- value.move< double > (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 169: // "integer"
- value.move< int64_t > (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 168: // "constant string"
- value.move< std::string > (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);
+ }
- default:
- break;
- }
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SUB_OPTION_DEF (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SUB_OPTION_DEF, l);
+ }
- location = YY_MOVE (s.location);
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SUB_OPTION_DATA (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SUB_OPTION_DATA, l);
}
- // by_type.
- inline
- Dhcp4Parser::by_type::by_type ()
- : type (empty_symbol)
- {}
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SUB_HOOKS_LIBRARY (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SUB_HOOKS_LIBRARY, l);
+ }
-#if 201103L <= YY_CPLUSPLUS
- inline
- Dhcp4Parser::by_type::by_type (by_type&& that)
- : type (that.type)
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SUB_DHCP_DDNS (const location_type& l)
{
- that.clear ();
+ return symbol_type (token::TOKEN_SUB_DHCP_DDNS, l);
}
-#endif
- inline
- Dhcp4Parser::by_type::by_type (const by_type& that)
- : type (that.type)
- {}
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SUB_LOGGING (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SUB_LOGGING, l);
+ }
- inline
- Dhcp4Parser::by_type::by_type (token_type t)
- : type (yytranslate_ (t))
- {}
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SUB_CONFIG_CONTROL (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SUB_CONFIG_CONTROL, l);
+ }
- inline
- void
- Dhcp4Parser::by_type::clear ()
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_STRING (const std::string& v, const location_type& l)
{
- type = empty_symbol;
+ return symbol_type (token::TOKEN_STRING, v, l);
}
- inline
- void
- Dhcp4Parser::by_type::move (by_type& that)
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_INTEGER (const int64_t& v, const location_type& l)
{
- type = that.type;
- that.clear ();
+ return symbol_type (token::TOKEN_INTEGER, v, l);
}
- inline
- int
- Dhcp4Parser::by_type::type_get () const YY_NOEXCEPT
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_FLOAT (const double& v, const location_type& l)
{
- return type;
+ return symbol_type (token::TOKEN_FLOAT, v, l);
}
- inline
- Dhcp4Parser::token_type
- Dhcp4Parser::by_type::token () const YY_NOEXCEPT
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_BOOLEAN (const bool& v, const location_type& l)
{
- // YYTOKNUM[NUM] -- (External) token number corresponding to the
- // (internal) symbol number NUM (which must be that of a token). */
- static
- const unsigned short
- yytoken_number_[] =
- {
- 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
- 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
- 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
- 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
- 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
- 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
- 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
- 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
- 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
- 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
- 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
- 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
- 375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
- 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
- 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
- 405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
- 415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
- 425, 426
- };
- return token_type (yytoken_number_[type]);
+ return symbol_type (token::TOKEN_BOOLEAN, v, l);
}
-#line 14 "dhcp4_parser.yy" // lalr1.cc:401
+
+#line 14 "dhcp4_parser.yy" // lalr1.cc:377
} } // isc::dhcp
-#line 4120 "dhcp4_parser.h" // lalr1.cc:401
+#line 2965 "dhcp4_parser.h" // lalr1.cc:377
-// Generated 201903111305
-// A Bison parser, made by GNU Bison 3.3.2.
+// A Bison parser, made by GNU Bison 3.0.4.
// Locations for Bison parsers in C++
-// Copyright (C) 2002-2015, 2018-2019 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 <algorithm> // std::max
-# 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" // location.cc:339
+#line 14 "dhcp4_parser.yy" // location.cc:296
namespace isc { namespace dhcp {
-#line 60 "location.hh" // location.cc:339
- /// A point in a source file.
- class position
- {
- public:
- /// Construct a position.
- explicit position (std::string* f = YY_NULLPTR,
- unsigned l = 1u,
- unsigned c = 1u)
- : filename (f)
- , line (l)
- , column (c)
- {}
-
-
- /// Initialization.
- void initialize (std::string* fn = YY_NULLPTR,
- unsigned l = 1u,
- unsigned 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 line;
- /// Current column number.
- unsigned column;
-
- private:
- /// Compute max (min, lhs+rhs).
- static unsigned add_ (unsigned lhs, int rhs, int min)
- {
- return static_cast<unsigned> (std::max (min,
- static_cast<int> (lhs) + rhs));
- }
- };
-
- /// 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>
- 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:
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,
- unsigned l = 1u,
- unsigned c = 1u)
+ unsigned int l = 1u,
+ unsigned int c = 1u)
: begin (f, l, c)
, end (f, l, c)
- {}
+ {
+ }
/// Initialization.
void initialize (std::string* f = YY_NULLPTR,
- unsigned l = 1u,
- unsigned c = 1u)
+ unsigned int l = 1u,
+ unsigned int c = 1u)
{
begin.initialize (f, l, c);
end = begin;
** Avoid duplicate information.
*/
template <typename YYChar>
- std::basic_ostream<YYChar>&
+ inline std::basic_ostream<YYChar>&
operator<< (std::basic_ostream<YYChar>& ostr, const location& loc)
{
- unsigned 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" // location.cc:339
+#line 14 "dhcp4_parser.yy" // location.cc:296
} } // isc::dhcp
-#line 322 "location.hh" // location.cc:339
+#line 192 "location.hh" // location.cc:296
#endif // !YY_PARSER4_LOCATION_HH_INCLUDED
-// Generated 201903111305
-// A Bison parser, made by GNU Bison 3.3.2.
-
-// Starting with Bison 3.2, this file is useless: the structure it
-// used to define is now defined in "location.hh".
-//
-// To get rid of this file:
-// 1. add 'require "3.2"' (or newer) to your grammar file
-// 2. remove references to this file from your build system
-// 3. if you used to include it, include "location.hh" instead.
-
-#include "location.hh"
+// A Bison parser, made by GNU Bison 3.0.4.
+
+// Positions for Bison parsers in C++
+
+// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+// As a special exception, you may create a larger work that contains
+// part or all of the Bison parser skeleton and distribute that work
+// under terms of your choice, so long as that work isn't itself a
+// parser generator using the skeleton or a modified version thereof
+// as a parser skeleton. Alternatively, if you modify or redistribute
+// the parser skeleton itself, you may (at your option) remove this
+// special exception, which will cause the skeleton and the resulting
+// Bison output files to be licensed under the GNU General Public
+// License without this special exception.
+
+// This special exception was added by the Free Software Foundation in
+// version 2.2 of Bison.
+
+/**
+ ** \file position.hh
+ ** Define the isc::dhcp::position class.
+ */
+
+#ifndef YY_PARSER4_POSITION_HH_INCLUDED
+# define YY_PARSER4_POSITION_HH_INCLUDED
+
+# include <algorithm> // std::max
+# include <iostream>
+# include <string>
+
+# ifndef YY_NULLPTR
+# if defined __cplusplus && 201103L <= __cplusplus
+# define YY_NULLPTR nullptr
+# else
+# define YY_NULLPTR 0
+# endif
+# endif
+
+#line 14 "dhcp4_parser.yy" // location.cc:296
+namespace isc { namespace dhcp {
+#line 56 "position.hh" // location.cc:296
+ /// Abstract a position.
+ class position
+ {
+ public:
+ /// Construct a position.
+ explicit position (std::string* f = YY_NULLPTR,
+ unsigned int l = 1u,
+ unsigned int c = 1u)
+ : filename (f)
+ , line (l)
+ , column (c)
+ {
+ }
+
+
+ /// Initialization.
+ void initialize (std::string* fn = YY_NULLPTR,
+ unsigned int l = 1u,
+ unsigned int c = 1u)
+ {
+ filename = fn;
+ line = l;
+ column = c;
+ }
+
+ /** \name Line and Column related manipulators
+ ** \{ */
+ /// (line related) Advance to the COUNT next lines.
+ void lines (int count = 1)
+ {
+ if (count)
+ {
+ column = 1u;
+ line = add_ (line, count, 1);
+ }
+ }
+
+ /// (column related) Advance to the COUNT next columns.
+ void columns (int count = 1)
+ {
+ column = add_ (column, count, 1);
+ }
+ /** \} */
+
+ /// File name to which this position refers.
+ std::string* filename;
+ /// Current line number.
+ unsigned int line;
+ /// Current column number.
+ unsigned int column;
+
+ private:
+ /// Compute max(min, lhs+rhs) (provided min <= lhs).
+ static unsigned int add_ (unsigned int lhs, int rhs, unsigned int min)
+ {
+ return (0 < rhs || -static_cast<unsigned int>(rhs) < lhs
+ ? rhs + lhs
+ : min);
+ }
+ };
+
+ /// Add \a width columns, in place.
+ inline position&
+ operator+= (position& res, int width)
+ {
+ res.columns (width);
+ return res;
+ }
+
+ /// Add \a width columns.
+ inline position
+ operator+ (position res, int width)
+ {
+ return res += width;
+ }
+
+ /// Subtract \a width columns, in place.
+ inline position&
+ operator-= (position& res, int width)
+ {
+ return res += -width;
+ }
+
+ /// Subtract \a width columns.
+ inline position
+ operator- (position res, int width)
+ {
+ return res -= width;
+ }
+
+ /// Compare two position objects.
+ inline bool
+ operator== (const position& pos1, const position& pos2)
+ {
+ return (pos1.line == pos2.line
+ && pos1.column == pos2.column
+ && (pos1.filename == pos2.filename
+ || (pos1.filename && pos2.filename
+ && *pos1.filename == *pos2.filename)));
+ }
+
+ /// Compare two position objects.
+ inline bool
+ operator!= (const position& pos1, const position& pos2)
+ {
+ return !(pos1 == pos2);
+ }
+
+ /** \brief Intercept output stream redirection.
+ ** \param ostr the destination output stream
+ ** \param pos a reference to the position to redirect
+ */
+ template <typename YYChar>
+ inline std::basic_ostream<YYChar>&
+ operator<< (std::basic_ostream<YYChar>& ostr, const position& pos)
+ {
+ if (pos.filename)
+ ostr << *pos.filename << ':';
+ return ostr << pos.line << '.' << pos.column;
+ }
+
+#line 14 "dhcp4_parser.yy" // location.cc:296
+} } // isc::dhcp
+#line 180 "position.hh" // location.cc:296
+#endif // !YY_PARSER4_POSITION_HH_INCLUDED
-// Generated 201903111305
-// A Bison parser, made by GNU Bison 3.3.2.
-
-// Starting with Bison 3.2, this file is useless: the structure it
-// used to define is now defined with the parser itself.
-//
-// To get rid of this file:
-// 1. add 'require "3.2"' (or newer) to your grammar file
-// 2. remove references to this file from your build system.
+// A Bison parser, made by GNU Bison 3.0.4.
+
+// Stack handling for Bison parsers in C++
+
+// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+// As a special exception, you may create a larger work that contains
+// part or all of the Bison parser skeleton and distribute that work
+// under terms of your choice, so long as that work isn't itself a
+// parser generator using the skeleton or a modified version thereof
+// as a parser skeleton. Alternatively, if you modify or redistribute
+// the parser skeleton itself, you may (at your option) remove this
+// special exception, which will cause the skeleton and the resulting
+// Bison output files to be licensed under the GNU General Public
+// License without this special exception.
+
+// This special exception was added by the Free Software Foundation in
+// version 2.2 of Bison.
+
+/**
+ ** \file stack.hh
+ ** Define the isc::dhcp::stack class.
+ */
+
+#ifndef YY_PARSER4_STACK_HH_INCLUDED
+# define YY_PARSER4_STACK_HH_INCLUDED
+
+# include <vector>
+
+#line 14 "dhcp4_parser.yy" // stack.hh:132
+namespace isc { namespace dhcp {
+#line 46 "stack.hh" // stack.hh:132
+ template <class T, class S = std::vector<T> >
+ class stack
+ {
+ public:
+ // Hide our reversed order.
+ typedef typename S::reverse_iterator iterator;
+ typedef typename S::const_reverse_iterator const_iterator;
+
+ stack ()
+ : seq_ ()
+ {
+ seq_.reserve (200);
+ }
+
+ stack (unsigned int n)
+ : seq_ (n)
+ {}
+
+ inline
+ T&
+ operator[] (unsigned int i)
+ {
+ return seq_[seq_.size () - 1 - i];
+ }
+
+ inline
+ const T&
+ operator[] (unsigned int i) const
+ {
+ return seq_[seq_.size () - 1 - i];
+ }
+
+ /// Steal the contents of \a t.
+ ///
+ /// Close to move-semantics.
+ inline
+ void
+ push (T& t)
+ {
+ seq_.push_back (T());
+ operator[](0).move (t);
+ }
+
+ inline
+ void
+ pop (unsigned int n = 1)
+ {
+ for (; n; --n)
+ seq_.pop_back ();
+ }
+
+ void
+ clear ()
+ {
+ seq_.clear ();
+ }
+
+ inline
+ typename S::size_type
+ size () const
+ {
+ return seq_.size ();
+ }
+
+ inline
+ const_iterator
+ begin () const
+ {
+ return seq_.rbegin ();
+ }
+
+ inline
+ const_iterator
+ end () const
+ {
+ return seq_.rend ();
+ }
+
+ private:
+ stack (const stack&);
+ stack& operator= (const stack&);
+ /// The wrapped container.
+ S seq_;
+ };
+
+ /// Present a slice of the top of a stack.
+ template <class T, class S = stack<T> >
+ class slice
+ {
+ public:
+ slice (const S& stack, unsigned int range)
+ : stack_ (stack)
+ , range_ (range)
+ {}
+
+ inline
+ const T&
+ operator [] (unsigned int i) const
+ {
+ return stack_[range_ - i];
+ }
+
+ private:
+ const S& stack_;
+ unsigned int range_;
+ };
+
+#line 14 "dhcp4_parser.yy" // stack.hh:132
+} } // isc::dhcp
+#line 156 "stack.hh" // stack.hh:132
+
+#endif // !YY_PARSER4_STACK_HH_INCLUDED
-#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 180
-#define YY_END_OF_BUFFER 181
+#define YY_NUM_RULES 182
+#define YY_END_OF_BUFFER 183
/* 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[1464] =
+static const flex_int16_t yy_accept[1489] =
{ 0,
- 173, 173, 0, 0, 0, 0, 0, 0, 0, 0,
- 181, 179, 10, 11, 179, 1, 173, 170, 173, 173,
- 179, 172, 171, 179, 179, 179, 179, 179, 166, 167,
- 179, 179, 179, 168, 169, 5, 5, 5, 179, 179,
- 179, 10, 11, 0, 0, 162, 0, 0, 0, 0,
+ 175, 175, 0, 0, 0, 0, 0, 0, 0, 0,
+ 183, 181, 10, 11, 181, 1, 175, 172, 175, 175,
+ 181, 174, 173, 181, 181, 181, 181, 181, 168, 169,
+ 181, 181, 181, 170, 171, 5, 5, 5, 181, 181,
+ 181, 10, 11, 0, 0, 164, 0, 0, 0, 0,
0, 0, 0, 0, 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, 173,
- 173, 0, 172, 173, 3, 2, 6, 0, 173, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 175,
+ 175, 0, 174, 175, 3, 2, 6, 0, 175, 0,
0, 0, 0, 0, 0, 4, 0, 0, 9, 0,
- 163, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 165, 0, 0, 0,
+ 165, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 167, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 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,
- 140, 0, 0, 141, 0, 0, 0, 0, 0, 0,
+ 142, 0, 0, 143, 0, 0, 0, 0, 0, 0,
- 0, 0, 164, 0, 0, 0, 0, 0, 0, 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, 95, 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,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 178, 176, 0, 175, 174, 0, 0, 0, 0, 0,
+ 180, 178, 0, 177, 176, 0, 0, 0, 0, 0,
- 0, 0, 139, 0, 0, 28, 0, 27, 0, 0,
- 102, 0, 0, 0, 0, 0, 0, 0, 0, 54,
+ 0, 0, 141, 0, 0, 28, 0, 27, 0, 0,
+ 104, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 54, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 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,
+ 101, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 177, 174, 0, 0, 0, 0, 0, 0, 0, 0,
- 29, 0, 0, 31, 0, 0, 0, 0, 0, 103,
- 0, 0, 0, 0, 0, 0, 80, 0, 0, 0,
- 0, 0, 0, 0, 124, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 57, 0, 0, 0,
+ 0, 0, 179, 176, 0, 0, 0, 0, 0, 0,
+ 0, 0, 29, 0, 0, 31, 0, 0, 0, 0,
+ 0, 105, 0, 0, 0, 0, 0, 0, 0, 82,
+ 0, 0, 0, 0, 0, 0, 0, 126, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 57,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 79, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 89, 0, 58, 0, 0, 0, 0, 0, 0, 0,
+ 81, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 91, 0, 58, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 119, 144, 50, 0, 55, 0, 0, 0, 0, 0,
- 0, 159, 37, 0, 34, 0, 33, 0, 0, 0,
- 132, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 121, 146, 50, 0, 55, 0,
+ 0, 0, 0, 0, 0, 161, 37, 0, 34, 0,
+ 33, 0, 0, 0, 134, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 113, 0, 0,
+ 0, 0, 0, 0, 0, 0, 145, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 111, 0, 0, 0, 0, 0, 0, 0,
- 0, 143, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 52, 0, 0,
- 32, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 82, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 52, 0, 0, 32, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 84, 0, 0, 0, 0,
- 0, 0, 133, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 128, 0, 0, 0, 0,
- 0, 0, 7, 35, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 135, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 130, 0, 0, 0, 0, 0, 0, 7, 35,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 101, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 113, 0, 0, 0, 0, 0, 0,
- 110, 0, 0, 0, 0, 0, 0, 0, 0, 84,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 103, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 115, 0, 0, 0, 0, 0, 0, 112, 0, 0,
+ 0, 0, 0, 0, 0, 0, 86, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 92, 0, 0, 0, 0, 0, 0, 0,
- 0, 107, 0, 0, 0, 0, 91, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 127, 0, 0, 0,
+ 94, 0, 0, 0, 0, 0, 0, 0, 0, 109,
+ 0, 0, 0, 0, 93, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 137, 108, 0, 0, 0, 0, 112, 51,
+ 0, 0, 0, 0, 0, 129, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 59, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 139, 110, 0, 0, 0, 0, 114, 51, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 59,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 75,
- 0, 0, 0, 0, 0, 0, 160, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 98, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 126, 0, 0, 0, 0,
- 0, 0, 62, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,
- 83, 0, 0, 0, 123, 0, 0, 0, 49, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 77,
+ 0, 0, 0, 0, 0, 0, 162, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 115, 0, 0, 0,
-
+ 0, 0, 0, 0, 0, 100, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 128, 0, 0, 0,
+ 0, 0, 0, 62, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 56, 85, 0, 0, 0, 125, 0, 0, 0, 49,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+
+ 0, 0, 0, 0, 0, 0, 0, 0, 117, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 158, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 93, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 160, 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, 138, 14, 0,
+ 95, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 129,
+ 0, 0, 0, 0, 0, 0, 41, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 16, 0,
+ 0, 140, 14, 0, 0, 0, 0, 0, 0, 0,
- 0, 114, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 125, 142,
- 0, 40, 0, 134, 0, 0, 0, 0, 0, 0,
- 0, 0, 20, 0, 0, 0, 77, 0, 0, 0,
- 0, 136, 53, 0, 85, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 74, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 81, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 131, 0, 0, 0, 0,
+ 0, 0, 0, 0, 131, 0, 116, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
- 0, 0, 104, 0, 0, 0, 0, 0, 78, 100,
+ 0, 0, 0, 127, 144, 0, 40, 0, 136, 0,
+ 0, 0, 0, 0, 0, 0, 0, 20, 0, 0,
+ 0, 79, 0, 0, 0, 0, 138, 53, 0, 87,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 71, 0, 0, 0, 0, 0, 0, 17, 15,
- 0, 156, 155, 0, 66, 0, 0, 0, 0, 0,
- 30, 118, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 153, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 94, 0, 122, 43, 0, 60,
- 0, 0, 0, 0, 19, 0, 0, 0, 0, 0,
- 0, 96, 72, 0, 0, 130, 0, 0, 0, 0,
- 0, 121, 0, 0, 0, 0, 90, 0, 161, 0,
-
- 0, 0, 0, 0, 0, 0, 0, 0, 88, 0,
- 0, 145, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 76, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 83, 0,
+ 0, 0, 0, 63, 0, 0, 0, 0, 0, 0,
+
+ 0, 0, 133, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 106,
+ 0, 0, 0, 0, 0, 80, 102, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 73, 0,
+ 0, 0, 0, 0, 0, 17, 0, 15, 0, 158,
+ 157, 0, 68, 0, 0, 0, 0, 0, 30, 120,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 155, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 96, 0, 124, 43, 0, 60, 0, 0,
+ 0, 0, 19, 0, 0, 0, 0, 0, 0, 98,
+
+ 74, 0, 0, 132, 0, 0, 0, 0, 0, 123,
+ 0, 0, 0, 0, 0, 92, 0, 163, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 90, 0, 0,
+ 147, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 42, 0, 65, 0, 0, 0, 116, 47, 0, 0,
- 67, 154, 38, 0, 0, 12, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 42,
+ 0, 0, 67, 0, 0, 0, 118, 47, 0, 0,
+ 69, 156, 38, 0, 0, 12, 0, 0, 0, 0,
0, 0, 0, 0, 0, 45, 0, 0, 44, 18,
- 0, 0, 0, 0, 109, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 70, 0,
- 0, 61, 0, 0, 86, 0, 0, 0, 0, 0,
-
- 135, 0, 0, 0, 46, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 64, 0,
- 0, 76, 0, 36, 48, 0, 0, 0, 0, 0,
- 24, 0, 0, 0, 0, 0, 0, 151, 0, 120,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 97,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 25,
- 39, 0, 0, 0, 0, 0, 13, 0, 0, 0,
- 0, 0, 0, 0, 157, 0, 0, 0, 0, 0,
- 0, 150, 0, 0, 21, 69, 0, 0, 0, 0,
- 0, 0, 0, 87, 0, 0, 149, 0, 0, 68,
-
- 0, 0, 63, 0, 23, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 111, 0, 0, 0, 0, 0,
+
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,
+ 0, 0, 61, 0, 0, 88, 0, 0, 0, 0,
+ 0, 137, 0, 0, 0, 46, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 66,
+ 0, 0, 0, 78, 0, 36, 48, 0, 0, 0,
+ 0, 0, 24, 0, 0, 0, 0, 0, 0, 153,
+ 0, 122, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 99, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 25, 39, 0, 0, 0, 0, 0, 13,
+ 0, 0, 0, 0, 0, 0, 0, 0, 159, 0,
+
+ 0, 0, 0, 0, 0, 152, 0, 0, 21, 71,
+ 0, 0, 0, 0, 0, 64, 0, 0, 89, 0,
+ 0, 151, 0, 0, 70, 0, 0, 65, 0, 23,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 22, 0, 105, 117, 0, 0, 0, 0,
- 0, 0, 147, 152, 73, 0, 0, 0, 0, 146,
- 0, 0, 26, 0, 0, 0, 0, 0, 106, 0,
- 0, 148, 0
+ 0, 0, 0, 0, 0, 0, 0, 22, 0, 107,
+ 119, 0, 0, 0, 0, 0, 0, 149, 154, 75,
+ 0, 0, 0, 0, 148, 0, 0, 26, 0, 0,
+ 0, 0, 0, 108, 0, 0, 150, 0
} ;
static const YY_CHAR yy_ec[256] =
3
} ;
-static const flex_int16_t yy_base[1476] =
+static const flex_int16_t yy_base[1501] =
{ 0,
0, 70, 19, 29, 41, 49, 52, 58, 87, 95,
- 1829, 1830, 32, 1825, 141, 0, 201, 1830, 206, 88,
- 11, 213, 1830, 1807, 114, 25, 2, 6, 1830, 1830,
- 73, 11, 17, 1830, 1830, 1830, 104, 1813, 1768, 0,
- 1805, 107, 1820, 217, 241, 1830, 185, 1764, 1770, 1790,
+ 1852, 1853, 32, 1848, 141, 0, 201, 1853, 206, 88,
+ 11, 213, 1853, 1830, 114, 25, 2, 6, 1853, 1853,
+ 73, 11, 17, 1853, 1853, 1853, 104, 1836, 1791, 0,
+ 1828, 107, 1843, 217, 241, 1853, 185, 1787, 1793, 1813,
93, 58, 190, 91, 211, 200, 14, 267, 213, 175,
- 269, 64, 231, 184, 187, 75, 1771, 274, 215, 290,
- 278, 297, 1754, 207, 302, 316, 316, 1773, 0, 355,
- 360, 372, 377, 380, 1830, 0, 1830, 295, 383, 227,
- 296, 283, 327, 361, 293, 1830, 1770, 1809, 1830, 237,
-
- 1830, 394, 363, 1757, 1767, 1806, 375, 321, 403, 1761,
- 369, 378, 376, 382, 388, 1804, 0, 445, 407, 1748,
- 1756, 364, 1752, 1741, 1742, 372, 1758, 1741, 1750, 387,
- 308, 378, 1744, 1742, 391, 1731, 1787, 416, 1734, 1785,
- 1727, 1750, 1747, 1747, 1741, 214, 1734, 1727, 1732, 1726,
- 382, 1737, 1730, 1721, 1720, 1734, 362, 1770, 1719, 414,
- 1731, 1734, 1718, 441, 1719, 417, 1731, 1728, 1729, 1727,
- 422, 1709, 1714, 1710, 1702, 1719, 1711, 0, 422, 450,
- 440, 446, 454, 470, 1710, 1830, 0, 476, 1701, 1704,
- 1830, 465, 447, 1830, 1756, 1711, 477, 1754, 481, 1753,
-
- 477, 1752, 1830, 521, 1751, 489, 1712, 1707, 1706, 1697,
- 465, 1746, 1740, 1706, 1685, 1693, 1699, 1687, 1701, 1697,
- 1698, 1698, 1693, 1685, 1687, 1671, 1675, 1688, 1690, 1687,
- 1679, 1669, 1672, 1686, 1830, 1672, 1680, 1683, 1664, 1663,
- 1713, 1662, 1672, 1710, 510, 1671, 1659, 1670, 1706, 490,
- 1710, 1647, 1662, 9, 1652, 1668, 1649, 1651, 1647, 1653,
- 1644, 1643, 1656, 1649, 1651, 1655, 1654, 1648, 80, 1655,
- 1650, 1642, 1632, 1647, 1642, 1646, 1627, 1643, 1629, 1635,
- 1642, 1630, 230, 1623, 1637, 1636, 1639, 1621, 1629, 491,
- 1830, 1830, 492, 1830, 1830, 1616, 0, 376, 1618, 508,
-
- 501, 1672, 1830, 1625, 480, 1830, 1670, 1830, 1664, 562,
- 1830, 480, 1606, 1616, 1666, 1623, 1618, 1621, 304, 1830,
- 1619, 544, 1617, 1614, 1615, 303, 1619, 1657, 1607, 1602,
- 1599, 1595, 1597, 1646, 1605, 1594, 1610, 1642, 1590, 568,
- 1603, 1603, 1586, 1587, 1600, 1587, 1597, 1592, 1599, 1594,
- 1579, 451, 1588, 1591, 1586, 1582, 1630, 502, 497, 1830,
- 1624, 1576, 1575, 1568, 1570, 1574, 1563, 1570, 1575, 550,
- 1620, 1575, 505, 1572, 1576, 1574, 1563, 1563, 1575, 502,
- 1550, 1551, 1572, 512, 1554, 1551, 1565, 1564, 1550, 1562,
- 1561, 1560, 1559, 535, 1600, 1599, 1598, 1542, 584, 1555,
-
- 1830, 1830, 1554, 0, 518, 1542, 1593, 1592, 1550, 1590,
- 1830, 1538, 1588, 1830, 541, 617, 520, 1587, 1529, 1830,
- 1534, 1540, 1543, 1542, 1529, 1528, 1830, 1538, 1529, 1526,
- 1538, 534, 1523, 1525, 1830, 1531, 1516, 1518, 1529, 1527,
- 1522, 585, 1529, 1517, 1510, 1559, 1830, 1508, 1524, 1556,
- 1560, 1518, 1512, 1514, 1515, 1517, 1549, 1502, 1497, 1496,
- 1498, 1491, 1506, 1484, 1491, 1496, 1544, 1830, 1491, 1487,
- 1541, 1494, 1488, 1495, 1480, 1490, 1493, 1482, 1481, 1476,
- 1830, 1531, 1830, 1475, 1474, 1467, 1484, 1521, 1468, 1473,
- 1482, 1476, 1470, 1479, 591, 1514, 1478, 1461, 1461, 1456,
-
- 1452, 1458, 1457, 1465, 1469, 1452, 1508, 1450, 1464, 1453,
- 1830, 1830, 1830, 1453, 1830, 1463, 1497, 1459, 0, 1500,
- 1450, 1830, 1830, 1447, 1830, 1453, 1830, 562, 566, 607,
- 1830, 1491, 1438, 1489, 1436, 1435, 1442, 1435, 1443, 1446,
- 1445, 1429, 1444, 1426, 1473, 1440, 1476, 1422, 1424, 1436,
- 1436, 1435, 1830, 1420, 1417, 1473, 1430, 1422, 1428, 1419,
- 1427, 1830, 1412, 1423, 1427, 1409, 1423, 557, 1405, 1399,
- 1404, 1401, 1416, 1417, 1414, 1455, 1412, 1830, 1398, 1400,
- 1830, 1408, 1445, 1444, 608, 1407, 1390, 1391, 1396, 1387,
- 1830, 1401, 1387, 610, 1379, 1400, 1397, 1389, 1432, 1386,
-
- 1393, 1429, 1830, 1377, 1375, 1389, 1373, 1387, 1390, 1422,
- 1421, 1420, 1367, 1418, 1417, 1830, 599, 1379, 1379, 1377,
- 1366, 1368, 1830, 1830, 1411, 1359, 1414, 566, 597, 1357,
- 1372, 1411, 577, 1405, 1404, 1403, 1357, 1351, 1346, 1399,
- 1361, 1351, 1359, 1395, 1358, 1340, 1348, 1350, 1354, 1389,
- 1393, 1350, 1349, 1830, 1350, 1343, 1332, 1345, 1348, 1343,
- 1338, 1343, 1340, 1339, 1335, 1341, 1336, 1377, 1376, 1320,
- 1316, 579, 1373, 1830, 1372, 1321, 1313, 1364, 1327, 1314,
- 1830, 1314, 1323, 1322, 1322, 1306, 1361, 1304, 1317, 1830,
- 1309, 1301, 1310, 1303, 1314, 1291, 1295, 1346, 1310, 1292,
-
- 1290, 1301, 1341, 1340, 1339, 1286, 1302, 567, 594, 1279,
- 1289, 587, 1830, 1339, 1285, 1295, 1295, 1284, 1288, 1295,
- 1332, 1830, 1326, 594, 1288, 1280, 1830, 1276, 1289, 1269,
- 1272, 62, 82, 198, 236, 300, 385, 386, 399, 472,
- 556, 558, 591, 574, 636, 593, 1830, 603, 605, 599,
- 610, 611, 661, 597, 606, 621, 622, 609, 667, 626,
- 612, 615, 1830, 1830, 631, 630, 635, 623, 1830, 1830,
- 637, 624, 622, 640, 627, 627, 676, 628, 684, 685,
- 1830, 632, 646, 646, 689, 639, 641, 635, 693, 648,
- 638, 639, 635, 645, 649, 660, 644, 662, 657, 659,
-
- 652, 654, 666, 656, 671, 710, 669, 674, 651, 1830,
- 676, 666, 711, 660, 675, 676, 1830, 695, 703, 672,
- 686, 674, 669, 681, 676, 677, 673, 691, 683, 678,
- 729, 735, 694, 685, 1830, 697, 682, 698, 688, 700,
- 694, 739, 708, 692, 694, 1830, 710, 713, 696, 698,
- 754, 699, 1830, 716, 719, 699, 718, 756, 716, 712,
- 707, 725, 724, 710, 725, 717, 713, 731, 716, 1830,
- 1830, 724, 769, 724, 1830, 732, 727, 778, 1830, 729,
- 734, 776, 730, 731, 743, 737, 741, 739, 737, 748,
- 791, 737, 793, 794, 740, 752, 1830, 740, 748, 746,
-
- 751, 763, 747, 761, 762, 763, 779, 784, 766, 753,
- 754, 774, 763, 768, 775, 816, 760, 818, 767, 771,
- 1830, 816, 767, 785, 782, 820, 771, 789, 790, 776,
- 784, 793, 773, 788, 797, 837, 838, 1830, 793, 840,
- 841, 794, 804, 806, 790, 791, 798, 807, 850, 799,
- 798, 815, 854, 806, 810, 808, 806, 859, 860, 812,
- 862, 858, 818, 1830, 823, 816, 807, 826, 820, 815,
- 825, 822, 827, 823, 835, 1830, 819, 1830, 1830, 820,
- 878, 819, 838, 839, 836, 822, 843, 825, 830, 837,
- 870, 861, 891, 836, 838, 855, 853, 845, 849, 1830,
-
- 846, 1830, 860, 858, 861, 845, 846, 904, 859, 864,
- 851, 862, 854, 860, 856, 875, 876, 877, 1830, 1830,
- 875, 1830, 877, 1830, 863, 864, 883, 873, 923, 878,
- 920, 886, 1830, 878, 870, 929, 1830, 930, 879, 886,
- 928, 1830, 1830, 888, 1830, 879, 879, 882, 896, 901,
- 884, 895, 942, 901, 902, 903, 941, 899, 948, 949,
- 1830, 898, 951, 952, 894, 954, 915, 899, 911, 901,
- 931, 960, 1830, 961, 910, 925, 912, 908, 924, 912,
- 930, 918, 918, 971, 930, 1830, 932, 931, 933, 926,
- 935, 936, 933, 923, 926, 926, 983, 932, 985, 986,
-
- 932, 989, 1830, 927, 942, 935, 993, 948, 1830, 1830,
- 944, 954, 940, 957, 943, 1002, 1004, 950, 960, 1007,
- 966, 1830, 958, 958, 960, 962, 1013, 958, 1830, 1830,
- 960, 1830, 1830, 974, 1830, 968, 1018, 969, 1020, 1002,
- 1830, 1830, 966, 974, 968, 967, 970, 970, 966, 972,
- 1030, 980, 1830, 976, 1033, 988, 979, 994, 994, 997,
- 997, 994, 1036, 1000, 1830, 992, 1830, 1830, 1003, 1830,
- 1004, 1005, 1002, 1044, 1830, 995, 995, 1001, 1000, 1012,
- 1012, 1830, 1830, 1051, 1000, 1830, 1017, 1002, 1002, 1004,
- 1010, 1830, 1063, 1016, 1065, 1028, 1830, 1025, 1830, 1044,
-
- 1069, 1070, 1029, 1015, 1073, 1074, 1075, 1030, 1830, 1020,
- 1078, 1830, 1018, 1075, 1040, 1036, 1078, 1028, 1033, 1031,
- 1088, 1046, 1090, 1091, 1054, 1043, 1037, 1054, 1097, 1041,
- 1058, 1043, 1058, 1042, 1098, 1099, 1100, 1049, 1102, 1067,
- 1830, 1053, 1830, 1064, 1111, 1083, 1830, 1830, 1057, 1114,
- 1830, 1830, 1830, 1063, 1061, 1830, 1117, 1065, 1114, 1059,
- 1064, 1123, 1073, 1083, 1084, 1830, 1127, 1082, 1830, 1830,
- 1073, 1088, 1076, 1091, 1830, 1128, 1096, 1089, 1090, 1099,
- 1081, 1087, 1090, 1142, 1103, 1103, 1146, 1097, 1830, 1148,
- 1149, 1830, 1099, 1099, 1830, 1103, 1098, 1097, 1155, 1110,
-
- 1830, 1152, 1105, 1102, 1830, 1116, 1119, 1162, 1117, 1164,
- 1107, 1109, 1117, 1107, 1123, 1124, 1118, 1134, 1830, 1124,
- 1174, 1830, 1170, 1830, 1830, 1171, 1128, 1136, 1127, 1134,
- 1830, 1131, 1136, 1134, 1184, 1185, 1130, 1830, 1145, 1830,
- 1135, 1147, 1148, 1191, 1135, 1143, 1137, 1145, 1158, 1830,
- 1157, 1145, 1199, 1149, 1161, 1152, 1161, 1163, 1167, 1830,
- 1830, 1206, 1151, 1167, 1209, 1210, 1830, 1206, 1170, 1167,
- 1172, 1159, 1154, 1175, 1830, 1218, 1177, 1178, 1221, 1180,
- 1183, 1830, 1224, 1187, 1830, 1830, 1169, 1227, 1176, 1229,
- 1174, 1191, 1177, 1830, 1177, 1179, 1830, 1184, 1194, 1830,
-
- 1180, 1192, 1830, 1188, 1830, 1198, 1192, 1196, 1187, 1239,
- 1188, 1196, 1205, 1198, 1193, 1194, 1209, 1200, 1207, 1194,
- 1209, 1214, 1257, 1216, 1259, 1260, 1205, 1221, 1212, 1226,
- 1222, 1215, 1830, 1267, 1830, 1830, 1268, 1269, 1226, 1225,
- 1226, 1216, 1830, 1830, 1830, 1274, 1218, 1234, 1277, 1830,
- 1273, 1224, 1830, 1223, 1225, 1236, 1283, 1234, 1830, 1243,
- 1286, 1830, 1830, 1292, 1297, 1302, 1307, 1312, 1317, 1322,
- 1325, 1299, 1304, 1306, 1319
+ 269, 64, 231, 184, 187, 75, 1794, 274, 215, 290,
+ 278, 297, 1777, 207, 302, 316, 316, 1796, 0, 355,
+ 360, 372, 377, 380, 1853, 0, 1853, 295, 383, 227,
+ 296, 283, 327, 361, 293, 1853, 1793, 1832, 1853, 237,
+
+ 1853, 394, 363, 1780, 1790, 1829, 375, 321, 403, 1784,
+ 369, 378, 376, 382, 388, 1827, 0, 445, 407, 1771,
+ 1779, 364, 1775, 1764, 1765, 372, 1781, 1764, 1773, 387,
+ 308, 378, 1767, 1765, 391, 1754, 1810, 416, 1757, 1808,
+ 1750, 1773, 1770, 1770, 1764, 214, 1757, 1750, 1755, 1749,
+ 382, 1760, 1753, 1744, 1743, 1757, 362, 1793, 1742, 414,
+ 1754, 1757, 1741, 441, 1742, 417, 1754, 1751, 1752, 1750,
+ 422, 1732, 1737, 1733, 1725, 1742, 1734, 0, 422, 450,
+ 440, 446, 454, 470, 1733, 1853, 0, 476, 1724, 1727,
+ 1853, 465, 447, 1853, 1779, 1734, 477, 1777, 481, 1776,
+
+ 477, 1775, 1853, 521, 1774, 489, 1735, 1730, 1729, 1720,
+ 491, 1769, 1763, 1729, 1708, 1716, 1722, 1710, 1724, 1720,
+ 1721, 1721, 1716, 1708, 1710, 1694, 1698, 1711, 1713, 1710,
+ 1702, 1692, 1695, 1709, 1853, 1695, 1703, 1706, 1687, 1686,
+ 1736, 1685, 1695, 1733, 452, 1694, 1682, 1693, 1729, 490,
+ 1733, 1670, 1685, 9, 1675, 1691, 1672, 1674, 1670, 1676,
+ 1667, 1666, 1679, 1672, 1674, 1678, 1677, 1671, 80, 1678,
+ 1673, 1665, 1655, 1670, 1665, 1669, 459, 1667, 1653, 1659,
+ 1666, 1654, 230, 1647, 1661, 1660, 1663, 1645, 1653, 491,
+ 1853, 1853, 501, 1853, 1853, 1640, 0, 376, 1642, 497,
+
+ 503, 1696, 1853, 1649, 489, 1853, 1694, 1853, 1688, 557,
+ 1853, 484, 1630, 1640, 1690, 1647, 1642, 1645, 1640, 304,
+ 1853, 1642, 549, 1640, 1637, 1638, 303, 1642, 1680, 1630,
+ 1625, 1622, 1618, 1620, 1669, 1628, 1617, 1633, 1665, 1613,
+ 550, 1626, 1626, 1609, 1610, 1623, 1610, 1620, 1615, 1622,
+ 1617, 1602, 470, 1611, 1614, 1609, 1605, 1653, 515, 524,
+ 1853, 1647, 1599, 1598, 1591, 1593, 1597, 1586, 1593, 1598,
+ 513, 1643, 1598, 510, 1595, 1599, 1597, 1586, 1586, 1598,
+ 502, 1573, 1574, 1595, 536, 1577, 1574, 1588, 1591, 1586,
+ 1572, 1584, 1583, 1582, 1581, 532, 1622, 1621, 1620, 1564,
+
+ 581, 1577, 1853, 1853, 1576, 0, 556, 1564, 1615, 1614,
+ 1572, 1612, 1853, 1560, 1610, 1853, 563, 609, 557, 1609,
+ 1551, 1853, 1556, 1562, 1565, 1548, 1563, 1550, 1549, 1853,
+ 1559, 1550, 1547, 1559, 549, 1544, 1546, 1853, 1552, 1537,
+ 1539, 1550, 1548, 1543, 588, 1550, 1538, 1531, 1580, 1853,
+ 1529, 1545, 1577, 1581, 1539, 1533, 1535, 1536, 1538, 1570,
+ 1523, 1518, 1517, 1519, 1512, 1527, 1505, 1512, 1517, 1565,
+ 1853, 1512, 1508, 1562, 1515, 1509, 1516, 1501, 1511, 1514,
+ 1503, 1502, 1497, 1853, 1552, 1853, 1496, 1495, 1488, 1505,
+ 1542, 1489, 1494, 1503, 1497, 1491, 1500, 602, 1535, 1499,
+
+ 1482, 1482, 1477, 1473, 1479, 1484, 1477, 1485, 1489, 1472,
+ 1528, 1470, 1484, 1473, 1853, 1853, 1853, 1473, 1853, 1483,
+ 1517, 1479, 0, 1520, 1470, 1853, 1853, 1467, 1853, 1473,
+ 1853, 569, 565, 604, 1853, 1511, 1458, 1509, 1456, 1455,
+ 1454, 1461, 1454, 1462, 1465, 1464, 1448, 1463, 1445, 1492,
+ 1459, 1495, 1441, 1443, 1455, 1455, 1454, 1853, 1439, 1436,
+ 1492, 1449, 1441, 1447, 1438, 1446, 1853, 1431, 1442, 1446,
+ 1428, 1442, 530, 1424, 1418, 1423, 1420, 1435, 1436, 1433,
+ 1474, 1431, 1853, 1417, 1419, 1853, 1427, 1464, 1463, 605,
+ 1426, 1409, 1410, 1415, 1406, 1853, 1420, 1406, 630, 1398,
+
+ 1419, 1416, 1408, 1451, 1405, 1412, 1448, 1853, 1396, 1394,
+ 1408, 1392, 1406, 1409, 1441, 1440, 1439, 1438, 1385, 1436,
+ 1435, 1853, 622, 1397, 1397, 1395, 1384, 1386, 1853, 1853,
+ 1429, 1377, 1432, 579, 591, 1375, 1390, 1429, 597, 1423,
+ 1385, 1421, 1420, 1374, 1368, 1363, 1416, 1378, 1368, 1376,
+ 1412, 1375, 1357, 1365, 1367, 1371, 1406, 1410, 1367, 1366,
+ 1853, 1367, 1360, 1349, 1362, 1365, 1360, 1355, 1360, 1357,
+ 1356, 1352, 1358, 1353, 1394, 1393, 1337, 1333, 582, 1390,
+ 1853, 1389, 1338, 1330, 1381, 1344, 1331, 1853, 1331, 1340,
+ 1339, 1339, 1323, 1378, 1321, 1334, 1853, 1326, 1318, 1327,
+
+ 1320, 1331, 1308, 1312, 1363, 1327, 1309, 1307, 1318, 1358,
+ 1357, 1356, 1303, 1319, 593, 1318, 607, 1295, 1305, 604,
+ 1853, 1355, 1301, 1311, 1311, 1300, 1304, 1311, 1348, 1853,
+ 17, 587, 11, 69, 1853, 68, 202, 221, 302, 373,
+ 386, 488, 493, 549, 558, 582, 584, 583, 591, 645,
+ 601, 618, 601, 653, 610, 1853, 622, 622, 616, 627,
+ 625, 668, 612, 614, 629, 632, 619, 676, 635, 621,
+ 624, 1853, 1853, 640, 639, 644, 632, 1853, 1853, 646,
+ 633, 631, 649, 636, 636, 685, 637, 693, 694, 1853,
+ 641, 655, 655, 698, 648, 650, 644, 702, 657, 647,
+
+ 648, 644, 654, 658, 669, 653, 671, 666, 668, 661,
+ 663, 664, 676, 666, 681, 720, 679, 684, 661, 1853,
+ 686, 676, 721, 670, 685, 686, 1853, 705, 713, 682,
+ 696, 684, 679, 691, 698, 687, 688, 684, 702, 694,
+ 689, 740, 746, 705, 696, 1853, 708, 693, 709, 699,
+ 711, 705, 751, 719, 704, 705, 1853, 721, 724, 707,
+ 709, 765, 710, 1853, 727, 730, 710, 729, 767, 727,
+ 723, 718, 736, 735, 721, 736, 728, 724, 742, 727,
+ 1853, 1853, 735, 780, 735, 1853, 743, 738, 789, 1853,
+ 740, 745, 787, 741, 742, 754, 748, 752, 750, 748,
+
+ 759, 802, 748, 753, 805, 806, 752, 764, 1853, 752,
+ 760, 758, 763, 775, 759, 773, 774, 775, 791, 796,
+ 778, 766, 766, 786, 775, 764, 781, 788, 829, 773,
+ 831, 780, 784, 1853, 829, 780, 798, 795, 833, 784,
+ 802, 803, 789, 797, 806, 786, 803, 810, 850, 851,
+ 1853, 806, 853, 854, 807, 817, 819, 803, 804, 811,
+ 820, 863, 812, 811, 828, 867, 819, 823, 821, 819,
+ 872, 873, 825, 875, 871, 831, 1853, 836, 829, 820,
+ 839, 833, 828, 838, 835, 840, 836, 848, 1853, 832,
+ 834, 1853, 1853, 834, 892, 833, 852, 853, 851, 836,
+
+ 857, 839, 844, 851, 884, 875, 905, 850, 852, 869,
+ 867, 910, 860, 864, 1853, 861, 1853, 875, 873, 876,
+ 860, 861, 919, 874, 879, 866, 877, 869, 875, 872,
+ 890, 891, 892, 1853, 1853, 890, 1853, 893, 1853, 878,
+ 879, 898, 888, 938, 893, 935, 901, 1853, 893, 885,
+ 944, 1853, 945, 894, 901, 943, 1853, 1853, 903, 1853,
+ 894, 894, 897, 911, 916, 899, 910, 957, 916, 917,
+ 918, 956, 914, 963, 918, 965, 1853, 914, 967, 968,
+ 910, 970, 931, 915, 927, 917, 947, 976, 1853, 977,
+ 926, 941, 928, 1853, 924, 940, 928, 946, 934, 934,
+
+ 987, 946, 1853, 948, 947, 949, 942, 951, 952, 949,
+ 939, 942, 942, 999, 948, 1001, 1002, 948, 1005, 1853,
+ 943, 958, 951, 1009, 964, 1853, 1853, 960, 971, 956,
+ 973, 959, 1018, 1020, 966, 976, 1023, 982, 1853, 974,
+ 974, 976, 978, 1029, 974, 1853, 975, 1853, 977, 1853,
+ 1853, 991, 1853, 985, 1035, 986, 1037, 1019, 1853, 1853,
+ 983, 991, 985, 984, 987, 987, 983, 989, 1047, 997,
+ 1853, 993, 1050, 1005, 996, 1011, 1011, 1014, 1014, 1011,
+ 1053, 1017, 1853, 1009, 1853, 1853, 1020, 1853, 1021, 1022,
+ 1019, 1061, 1853, 1012, 1012, 1018, 1017, 1029, 1029, 1853,
+
+ 1853, 1068, 1017, 1853, 1034, 1019, 1019, 1021, 1027, 1853,
+ 1080, 1024, 1034, 1083, 1046, 1853, 1043, 1853, 1062, 1087,
+ 1088, 1047, 1033, 1091, 1092, 1093, 1048, 1853, 1038, 1096,
+ 1853, 1036, 1093, 1058, 1054, 1096, 1046, 1051, 1049, 1106,
+ 1064, 1108, 1109, 1072, 1061, 1055, 1072, 1115, 1059, 1076,
+ 1061, 1076, 1060, 1116, 1117, 1118, 1067, 1120, 1085, 1853,
+ 1085, 1072, 1853, 1083, 1130, 1102, 1853, 1853, 1076, 1133,
+ 1853, 1853, 1853, 1082, 1080, 1853, 1136, 1084, 1133, 1078,
+ 1083, 1142, 1092, 1102, 1103, 1853, 1146, 1101, 1853, 1853,
+ 1092, 1107, 1095, 1110, 1853, 1147, 1115, 1108, 1109, 1118,
+
+ 1100, 1106, 1109, 1161, 1123, 1122, 1114, 1166, 1117, 1853,
+ 1168, 1169, 1853, 1119, 1119, 1853, 1123, 1118, 1117, 1175,
+ 1130, 1853, 1172, 1125, 1122, 1853, 1136, 1139, 1182, 1137,
+ 1184, 1127, 1129, 1137, 1127, 1143, 1144, 1138, 1154, 1853,
+ 1144, 1194, 1155, 1853, 1191, 1853, 1853, 1192, 1149, 1157,
+ 1148, 1155, 1853, 1152, 1157, 1155, 1205, 1206, 1151, 1853,
+ 1166, 1853, 1156, 1168, 1169, 1212, 1156, 1164, 1158, 1166,
+ 1179, 1853, 1156, 1179, 1167, 1221, 1171, 1183, 1174, 1183,
+ 1185, 1189, 1853, 1853, 1228, 1173, 1189, 1231, 1232, 1853,
+ 1228, 1192, 1189, 1194, 1181, 1238, 1177, 1198, 1853, 1241,
+
+ 1200, 1201, 1244, 1203, 1206, 1853, 1247, 1210, 1853, 1853,
+ 1192, 1250, 1199, 1252, 1197, 1853, 1214, 1200, 1853, 1200,
+ 1202, 1853, 1207, 1217, 1853, 1203, 1215, 1853, 1211, 1853,
+ 1221, 1215, 1219, 1210, 1262, 1211, 1219, 1228, 1221, 1216,
+ 1217, 1232, 1223, 1230, 1217, 1232, 1237, 1280, 1239, 1282,
+ 1283, 1228, 1244, 1235, 1249, 1245, 1238, 1853, 1290, 1853,
+ 1853, 1291, 1292, 1249, 1248, 1249, 1239, 1853, 1853, 1853,
+ 1297, 1241, 1257, 1300, 1853, 1296, 1247, 1853, 1246, 1248,
+ 1259, 1306, 1257, 1853, 1266, 1309, 1853, 1853, 1315, 1320,
+ 1325, 1330, 1335, 1340, 1345, 1348, 1322, 1327, 1329, 1342
+
} ;
-static const flex_int16_t yy_def[1476] =
+static const flex_int16_t yy_def[1501] =
{ 0,
- 1464, 1464, 1465, 1465, 1464, 1464, 1464, 1464, 1464, 1464,
- 1463, 1463, 1463, 1463, 1463, 1466, 1463, 1463, 1463, 1463,
- 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463,
- 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1467,
- 1463, 1463, 1463, 1468, 15, 1463, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 1469, 45, 45,
+ 1489, 1489, 1490, 1490, 1489, 1489, 1489, 1489, 1489, 1489,
+ 1488, 1488, 1488, 1488, 1488, 1491, 1488, 1488, 1488, 1488,
+ 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488,
+ 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1492,
+ 1488, 1488, 1488, 1493, 15, 1488, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 1494, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 1466, 1463,
- 1463, 1463, 1463, 1463, 1463, 1470, 1463, 1463, 1463, 1463,
- 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1467, 1463, 1468,
+ 45, 45, 45, 45, 45, 45, 45, 45, 1491, 1488,
+ 1488, 1488, 1488, 1488, 1488, 1495, 1488, 1488, 1488, 1488,
+ 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1492, 1488, 1493,
- 1463, 1463, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 1471, 45, 1469, 45, 45,
+ 1488, 1488, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 1496, 45, 1494, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 1470, 1463, 1463,
- 1463, 1463, 1463, 1463, 1463, 1463, 1472, 45, 45, 45,
- 1463, 45, 45, 1463, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 1495, 1488, 1488,
+ 1488, 1488, 1488, 1488, 1488, 1488, 1497, 45, 45, 45,
+ 1488, 45, 45, 1488, 45, 45, 45, 45, 45, 45,
- 45, 1471, 1463, 1469, 45, 45, 45, 45, 45, 45,
+ 45, 1496, 1488, 1494, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 1463, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 1488, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 45, 1463,
- 1463, 1463, 1463, 1463, 1463, 1463, 1473, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 1488,
+ 1488, 1488, 1488, 1488, 1488, 1488, 1498, 45, 45, 45,
- 45, 45, 1463, 45, 45, 1463, 45, 1463, 45, 1469,
- 1463, 45, 45, 45, 45, 45, 45, 45, 45, 1463,
- 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 1488, 45, 45, 1488, 45, 1488, 45, 1494,
+ 1488, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 1488, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 45, 1463,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 1488, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 1463, 1463, 1463, 1474, 45, 45, 45, 45, 45, 45,
- 1463, 45, 45, 1463, 45, 1469, 45, 45, 45, 1463,
- 45, 45, 45, 45, 45, 45, 1463, 45, 45, 45,
- 45, 45, 45, 45, 1463, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 1463, 45, 45, 45,
+ 45, 45, 1488, 1488, 1488, 1499, 45, 45, 45, 45,
+ 45, 45, 1488, 45, 45, 1488, 45, 1494, 45, 45,
+ 45, 1488, 45, 45, 45, 45, 45, 45, 45, 1488,
+ 45, 45, 45, 45, 45, 45, 45, 1488, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 1488,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 1463, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 1463, 45, 1463, 45, 45, 45, 45, 45, 45, 45,
+ 1488, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 1488, 45, 1488, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 1463, 1463, 1463, 45, 1463, 45, 45, 1463, 1475, 45,
- 45, 1463, 1463, 45, 1463, 45, 1463, 45, 45, 45,
- 1463, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 1488, 1488, 1488, 45, 1488, 45,
+ 45, 1488, 1500, 45, 45, 1488, 1488, 45, 1488, 45,
+ 1488, 45, 45, 45, 1488, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 1488, 45, 45,
+ 45, 45, 45, 45, 45, 45, 1488, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 1488, 45, 45, 1488, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 1488, 45, 45, 45, 45,
+
+ 45, 45, 45, 45, 45, 45, 45, 1488, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 1463, 45, 45, 45, 45, 45, 45, 45,
- 45, 1463, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 1463, 45, 45,
- 1463, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 1463, 45, 45, 45, 45, 45, 45, 45, 45, 45,
-
- 45, 45, 1463, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 1463, 45, 45, 45, 45,
- 45, 45, 1463, 1463, 45, 45, 45, 45, 45, 45,
+ 45, 1488, 45, 45, 45, 45, 45, 45, 1488, 1488,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 1463, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 1463, 45, 45, 45, 45, 45, 45,
- 1463, 45, 45, 45, 45, 45, 45, 45, 45, 1463,
+ 1488, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 1488, 45, 45, 45, 45, 45, 45, 1488, 45, 45,
+ 45, 45, 45, 45, 45, 45, 1488, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 1463, 45, 45, 45, 45, 45, 45, 45,
- 45, 1463, 45, 45, 45, 45, 1463, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 1463, 45, 45, 45,
+ 1488, 45, 45, 45, 45, 45, 45, 45, 45, 1488,
+ 45, 45, 45, 45, 1488, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 1463, 1463, 45, 45, 45, 45, 1463, 1463,
+ 45, 45, 45, 45, 45, 1488, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 1463, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 1488, 1488, 45, 45, 45, 45, 1488, 1488, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 1488,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 45, 1463,
- 45, 45, 45, 45, 45, 45, 1463, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 1463, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 1463, 45, 45, 45, 45,
- 45, 45, 1463, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 45, 1463,
- 1463, 45, 45, 45, 1463, 45, 45, 45, 1463, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 1488,
+ 45, 45, 45, 45, 45, 45, 1488, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 1463, 45, 45, 45,
-
+ 45, 45, 45, 45, 45, 1488, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 1488, 45, 45, 45,
+ 45, 45, 45, 1488, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 1488, 1488, 45, 45, 45, 1488, 45, 45, 45, 1488,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+
+ 45, 45, 45, 45, 45, 45, 45, 45, 1488, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 1463, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 1463, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 1488, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 1463, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 1463, 45, 1463, 1463, 45,
+ 1488, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 45, 1463,
+ 45, 45, 45, 45, 45, 45, 1488, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 1488, 45,
+ 45, 1488, 1488, 45, 45, 45, 45, 45, 45, 45,
- 45, 1463, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 1463, 1463,
- 45, 1463, 45, 1463, 45, 45, 45, 45, 45, 45,
- 45, 45, 1463, 45, 45, 45, 1463, 45, 45, 45,
- 45, 1463, 1463, 45, 1463, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 1463, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 1463, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 1463, 45, 45, 45, 45,
+ 45, 45, 45, 45, 1488, 45, 1488, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
-
- 45, 45, 1463, 45, 45, 45, 45, 45, 1463, 1463,
+ 45, 45, 45, 1488, 1488, 45, 1488, 45, 1488, 45,
+ 45, 45, 45, 45, 45, 45, 45, 1488, 45, 45,
+ 45, 1488, 45, 45, 45, 45, 1488, 1488, 45, 1488,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 1463, 45, 45, 45, 45, 45, 45, 1463, 1463,
- 45, 1463, 1463, 45, 1463, 45, 45, 45, 45, 45,
- 1463, 1463, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 1463, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 1463, 45, 1463, 1463, 45, 1463,
- 45, 45, 45, 45, 1463, 45, 45, 45, 45, 45,
- 45, 1463, 1463, 45, 45, 1463, 45, 45, 45, 45,
- 45, 1463, 45, 45, 45, 45, 1463, 45, 1463, 45,
-
- 45, 45, 45, 45, 45, 45, 45, 45, 1463, 45,
- 45, 1463, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 1488, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 1488, 45,
+ 45, 45, 45, 1488, 45, 45, 45, 45, 45, 45,
+
+ 45, 45, 1488, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 1488,
+ 45, 45, 45, 45, 45, 1488, 1488, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 1488, 45,
+ 45, 45, 45, 45, 45, 1488, 45, 1488, 45, 1488,
+ 1488, 45, 1488, 45, 45, 45, 45, 45, 1488, 1488,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 1488, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 1488, 45, 1488, 1488, 45, 1488, 45, 45,
+ 45, 45, 1488, 45, 45, 45, 45, 45, 45, 1488,
+
+ 1488, 45, 45, 1488, 45, 45, 45, 45, 45, 1488,
+ 45, 45, 45, 45, 45, 1488, 45, 1488, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 1488, 45, 45,
+ 1488, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 1463, 45, 1463, 45, 45, 45, 1463, 1463, 45, 45,
- 1463, 1463, 1463, 45, 45, 1463, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 1463, 45, 45, 1463, 1463,
- 45, 45, 45, 45, 1463, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 1463, 45,
- 45, 1463, 45, 45, 1463, 45, 45, 45, 45, 45,
-
- 1463, 45, 45, 45, 1463, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 1463, 45,
- 45, 1463, 45, 1463, 1463, 45, 45, 45, 45, 45,
- 1463, 45, 45, 45, 45, 45, 45, 1463, 45, 1463,
- 45, 45, 45, 45, 45, 45, 45, 45, 45, 1463,
- 45, 45, 45, 45, 45, 45, 45, 45, 45, 1463,
- 1463, 45, 45, 45, 45, 45, 1463, 45, 45, 45,
- 45, 45, 45, 45, 1463, 45, 45, 45, 45, 45,
- 45, 1463, 45, 45, 1463, 1463, 45, 45, 45, 45,
- 45, 45, 45, 1463, 45, 45, 1463, 45, 45, 1463,
-
- 45, 45, 1463, 45, 1463, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 1488,
+ 45, 45, 1488, 45, 45, 45, 1488, 1488, 45, 45,
+ 1488, 1488, 1488, 45, 45, 1488, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 1488, 45, 45, 1488, 1488,
+ 45, 45, 45, 45, 1488, 45, 45, 45, 45, 45,
+
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 1488,
+ 45, 45, 1488, 45, 45, 1488, 45, 45, 45, 45,
+ 45, 1488, 45, 45, 45, 1488, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 1488,
+ 45, 45, 45, 1488, 45, 1488, 1488, 45, 45, 45,
+ 45, 45, 1488, 45, 45, 45, 45, 45, 45, 1488,
+ 45, 1488, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 1488, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 1488, 1488, 45, 45, 45, 45, 45, 1488,
+ 45, 45, 45, 45, 45, 45, 45, 45, 1488, 45,
+
+ 45, 45, 45, 45, 45, 1488, 45, 45, 1488, 1488,
+ 45, 45, 45, 45, 45, 1488, 45, 45, 1488, 45,
+ 45, 1488, 45, 45, 1488, 45, 45, 1488, 45, 1488,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 1463, 45, 1463, 1463, 45, 45, 45, 45,
- 45, 45, 1463, 1463, 1463, 45, 45, 45, 45, 1463,
- 45, 45, 1463, 45, 45, 45, 45, 45, 1463, 45,
- 45, 1463, 0, 1463, 1463, 1463, 1463, 1463, 1463, 1463,
- 1463, 1463, 1463, 1463, 1463
+ 45, 45, 45, 45, 45, 45, 45, 1488, 45, 1488,
+ 1488, 45, 45, 45, 45, 45, 45, 1488, 1488, 1488,
+ 45, 45, 45, 45, 1488, 45, 45, 1488, 45, 45,
+ 45, 45, 45, 1488, 45, 45, 1488, 0, 1488, 1488,
+ 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488
+
} ;
-static const flex_int16_t yy_nxt[1902] =
+static const flex_int16_t yy_nxt[1925] =
{ 0,
- 1463, 13, 14, 13, 1463, 15, 16, 1463, 17, 18,
- 19, 20, 21, 22, 22, 22, 23, 24, 85, 363,
- 37, 14, 37, 86, 25, 26, 38, 1463, 1463, 27,
+ 1488, 13, 14, 13, 1488, 15, 16, 1488, 17, 18,
+ 19, 20, 21, 22, 22, 22, 23, 24, 85, 364,
+ 37, 14, 37, 86, 25, 26, 38, 828, 1488, 27,
37, 14, 37, 42, 28, 42, 38, 91, 92, 29,
115, 30, 13, 14, 13, 90, 91, 25, 31, 92,
- 13, 14, 13, 13, 14, 13, 32, 40, 1463, 13,
- 14, 13, 33, 40, 115, 91, 92, 364, 90, 34,
+ 13, 14, 13, 13, 14, 13, 32, 40, 830, 13,
+ 14, 13, 33, 40, 115, 91, 92, 365, 90, 34,
35, 13, 14, 13, 94, 15, 16, 95, 17, 18,
19, 20, 21, 22, 22, 22, 23, 24, 13, 14,
13, 108, 39, 90, 25, 26, 13, 14, 13, 27,
39, 84, 84, 84, 28, 42, 41, 42, 42, 29,
42, 30, 82, 107, 41, 111, 93, 25, 31, 108,
- 130, 138, 88, 826, 88, 827, 32, 89, 89, 89,
- 131, 139, 33, 140, 379, 82, 107, 380, 111, 34,
+ 130, 138, 88, 831, 88, 832, 32, 89, 89, 89,
+ 131, 139, 33, 140, 380, 82, 107, 381, 111, 34,
35, 44, 44, 44, 45, 45, 46, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 47, 45, 48, 49, 50, 51, 45, 52, 53,
45, 45, 80, 103, 81, 81, 81, 80, 109, 83,
83, 83, 101, 114, 80, 82, 83, 83, 83, 121,
82, 133, 122, 112, 123, 306, 124, 82, 134, 103,
- 394, 103, 101, 113, 135, 828, 114, 110, 82, 136,
+ 396, 103, 101, 113, 135, 833, 114, 110, 82, 136,
163, 107, 137, 82, 164, 179, 112, 102, 146, 244,
82, 45, 147, 45, 45, 45, 45, 119, 45, 45,
45, 113, 117, 120, 107, 45, 45, 102, 45, 45,
- 245, 179, 148, 829, 45, 132, 45, 45, 45, 45,
+ 245, 179, 148, 834, 45, 132, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 89, 89,
- 89, 45, 125, 432, 111, 45, 126, 433, 181, 127,
+ 89, 45, 125, 435, 111, 45, 126, 436, 181, 127,
128, 142, 143, 45, 180, 144, 152, 45, 181, 45,
118, 145, 129, 149, 153, 150, 154, 151, 112, 114,
- 157, 155, 156, 158, 159, 165, 181, 424, 113, 166,
- 180, 193, 167, 224, 160, 179, 184, 161, 830, 168,
- 169, 171, 114, 172, 425, 170, 225, 173, 84, 84,
+ 157, 155, 156, 158, 159, 165, 181, 427, 113, 166,
+ 180, 193, 167, 224, 160, 179, 184, 161, 835, 168,
+ 169, 171, 114, 172, 428, 170, 225, 173, 84, 84,
84, 80, 175, 81, 81, 81, 113, 176, 193, 82,
88, 182, 88, 174, 82, 89, 89, 89, 80, 180,
83, 83, 83, 84, 84, 84, 89, 89, 89, 100,
188, 82, 82, 192, 82, 197, 100, 82, 194, 198,
- 209, 199, 201, 200, 405, 183, 215, 216, 197, 210,
+ 209, 199, 201, 200, 407, 183, 215, 216, 197, 210,
211, 235, 256, 257, 82, 226, 217, 82, 188, 192,
- 221, 831, 222, 197, 100, 201, 198, 195, 100, 199,
- 200, 227, 100, 405, 188, 230, 250, 832, 231, 223,
+ 221, 836, 222, 197, 100, 201, 198, 195, 100, 199,
+ 200, 227, 100, 407, 188, 230, 250, 837, 231, 223,
100, 266, 232, 198, 100, 290, 100, 187, 204, 204,
- 204, 205, 833, 236, 292, 204, 204, 204, 204, 204,
+ 204, 205, 353, 236, 292, 204, 204, 204, 204, 204,
204, 260, 206, 276, 261, 262, 302, 277, 291, 290,
283, 278, 291, 290, 267, 268, 269, 292, 204, 204,
204, 204, 204, 204, 292, 270, 298, 271, 301, 272,
273, 305, 274, 302, 291, 307, 309, 293, 294, 298,
- 462, 463, 413, 317, 305, 401, 401, 295, 405, 298,
- 352, 318, 407, 408, 305, 410, 301, 319, 307, 413,
- 834, 409, 312, 309, 310, 310, 310, 359, 401, 402,
- 413, 310, 310, 310, 310, 310, 310, 417, 410, 427,
- 469, 520, 485, 520, 428, 481, 486, 471, 493, 498,
- 470, 835, 494, 499, 310, 310, 310, 310, 310, 310,
- 528, 353, 529, 447, 354, 416, 416, 416, 448, 520,
- 543, 530, 416, 416, 416, 416, 416, 416, 509, 515,
- 553, 510, 628, 544, 516, 554, 603, 528, 629, 529,
-
- 723, 604, 665, 666, 713, 416, 416, 416, 416, 416,
- 416, 482, 624, 681, 714, 690, 836, 630, 801, 628,
- 691, 724, 728, 729, 449, 802, 629, 819, 723, 450,
- 45, 45, 45, 767, 837, 838, 768, 45, 45, 45,
- 45, 45, 45, 808, 724, 803, 839, 840, 841, 809,
- 682, 842, 804, 843, 844, 819, 805, 692, 845, 848,
- 45, 45, 45, 45, 45, 45, 846, 849, 850, 851,
- 852, 847, 853, 854, 855, 856, 857, 858, 859, 860,
- 861, 862, 863, 864, 866, 867, 868, 865, 869, 870,
- 871, 872, 873, 874, 875, 876, 877, 878, 879, 880,
-
- 881, 882, 883, 884, 885, 886, 887, 888, 889, 890,
- 891, 892, 893, 895, 896, 897, 898, 899, 900, 901,
- 902, 903, 904, 905, 894, 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,
- 908, 931, 932, 907, 933, 934, 935, 936, 937, 938,
- 941, 942, 943, 944, 939, 945, 946, 947, 948, 949,
- 950, 951, 952, 953, 954, 955, 956, 958, 959, 960,
- 961, 962, 963, 964, 965, 966, 967, 957, 968, 969,
- 970, 971, 972, 973, 974, 975, 976, 977, 978, 979,
-
- 980, 981, 982, 983, 984, 985, 986, 987, 988, 989,
- 990, 991, 993, 992, 994, 940, 995, 996, 997, 998,
- 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008,
- 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 991,
- 992, 1018, 1019, 1020, 1021, 1022, 1024, 1026, 1027, 1028,
- 1023, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037,
- 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047,
- 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057,
- 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1025, 1066,
- 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076,
-
- 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086,
- 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1071, 1094, 1095,
- 1096, 1097, 1098, 1072, 1099, 1100, 1101, 1102, 1103, 1104,
- 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114,
- 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124,
- 1125, 1126, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135,
- 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1144, 1145, 1146,
- 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156,
- 1157, 1158, 1159, 1160, 1161, 1162, 1163, 1164, 1165, 1166,
- 1167, 1168, 1140, 1169, 1170, 1171, 1172, 1174, 1175, 1176,
-
- 1177, 1178, 1127, 1179, 1173, 1180, 1181, 1182, 1143, 1183,
- 1184, 1185, 1186, 1187, 1188, 1189, 1190, 1191, 1192, 1193,
- 1194, 1195, 1196, 1197, 1198, 1199, 1200, 1201, 1202, 1203,
- 1204, 1205, 1206, 1207, 1208, 1209, 1210, 1211, 1212, 1213,
- 1214, 1215, 1216, 1217, 1218, 1219, 1220, 1221, 1222, 1200,
- 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, 1260, 1261, 1262,
- 1263, 1264, 1265, 1266, 1268, 1269, 1270, 1271, 1272, 1273,
-
- 1246, 1274, 1275, 1276, 1277, 1278, 1279, 1280, 1281, 1282,
- 1283, 1284, 1285, 1286, 1287, 1288, 1289, 1290, 1291, 1292,
- 1293, 1294, 1295, 1297, 1298, 1299, 1300, 1296, 1301, 1302,
- 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1310, 1311, 1312,
- 1313, 1314, 1315, 1316, 1317, 1290, 1318, 1319, 1320, 1267,
- 1321, 1322, 1323, 1324, 1325, 1326, 1327, 1328, 1329, 1330,
- 1331, 1332, 1333, 1334, 1335, 1336, 1337, 1338, 1339, 1340,
- 1341, 1342, 1343, 1344, 1345, 1346, 1347, 1348, 1349, 1350,
- 1351, 1352, 1353, 1354, 1355, 1356, 1357, 1358, 1359, 1360,
- 1361, 1362, 1363, 1364, 1365, 1366, 1367, 1368, 1369, 1370,
-
- 1371, 1372, 1373, 1374, 1375, 1376, 1377, 1378, 1379, 1380,
- 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1388, 1389, 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, 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, 12, 12, 12, 12, 12, 36, 36, 36,
-
- 36, 36, 79, 297, 79, 79, 79, 98, 404, 98,
- 519, 98, 100, 100, 100, 100, 100, 116, 116, 116,
- 116, 116, 178, 100, 178, 178, 178, 202, 202, 202,
- 825, 824, 823, 822, 821, 820, 818, 817, 816, 815,
- 814, 813, 812, 811, 810, 807, 806, 800, 799, 798,
- 797, 796, 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, 766,
- 765, 764, 763, 762, 761, 760, 759, 758, 757, 756,
- 755, 754, 753, 752, 751, 750, 749, 748, 747, 746,
-
- 745, 744, 743, 742, 741, 740, 739, 738, 737, 736,
- 735, 734, 733, 732, 731, 730, 727, 726, 725, 722,
- 721, 720, 719, 718, 717, 716, 715, 712, 711, 710,
- 709, 708, 707, 706, 705, 704, 703, 702, 701, 700,
- 699, 698, 697, 696, 695, 694, 693, 689, 688, 687,
- 686, 685, 684, 683, 680, 679, 678, 677, 676, 675,
- 674, 673, 672, 671, 670, 669, 668, 667, 664, 663,
- 662, 661, 660, 659, 658, 657, 656, 655, 654, 653,
- 652, 651, 650, 649, 648, 647, 646, 645, 644, 643,
- 642, 641, 640, 639, 638, 637, 636, 635, 634, 633,
-
- 632, 631, 627, 626, 625, 624, 623, 622, 621, 620,
- 619, 618, 617, 616, 615, 614, 613, 612, 611, 610,
- 609, 608, 607, 606, 605, 602, 601, 600, 599, 598,
- 597, 596, 595, 594, 593, 592, 591, 590, 589, 588,
- 587, 586, 585, 584, 583, 582, 581, 580, 579, 578,
- 577, 576, 575, 574, 573, 572, 571, 570, 569, 568,
- 567, 566, 565, 564, 563, 562, 561, 560, 559, 558,
- 557, 556, 555, 552, 551, 550, 549, 548, 547, 546,
- 545, 542, 541, 540, 539, 538, 537, 536, 535, 534,
- 533, 532, 531, 527, 526, 525, 524, 523, 522, 521,
-
- 518, 517, 514, 513, 512, 511, 508, 507, 506, 505,
- 504, 503, 502, 501, 500, 497, 496, 495, 492, 491,
- 490, 489, 488, 487, 484, 483, 480, 479, 478, 477,
- 476, 475, 474, 473, 472, 468, 467, 466, 465, 464,
- 461, 460, 459, 458, 457, 456, 455, 454, 453, 452,
- 451, 446, 445, 444, 443, 442, 441, 440, 439, 438,
- 437, 436, 435, 434, 431, 430, 429, 426, 423, 422,
- 421, 420, 419, 418, 415, 414, 412, 411, 406, 403,
- 400, 399, 398, 397, 396, 395, 393, 392, 391, 390,
- 389, 388, 387, 386, 385, 384, 383, 382, 381, 378,
-
- 377, 376, 375, 374, 373, 372, 371, 370, 369, 368,
- 367, 366, 365, 362, 361, 360, 358, 357, 356, 355,
- 351, 350, 349, 348, 347, 346, 345, 344, 343, 342,
- 341, 340, 339, 338, 337, 336, 335, 334, 333, 332,
- 331, 330, 329, 328, 327, 326, 325, 324, 323, 322,
- 321, 320, 316, 315, 314, 313, 311, 203, 308, 306,
- 304, 303, 300, 299, 296, 289, 288, 287, 286, 285,
- 284, 282, 281, 280, 279, 275, 265, 264, 263, 259,
- 258, 255, 254, 253, 252, 251, 249, 248, 247, 246,
- 243, 242, 241, 240, 239, 238, 237, 234, 233, 229,
-
- 228, 220, 219, 218, 214, 213, 212, 208, 207, 203,
- 196, 191, 190, 189, 186, 185, 177, 162, 141, 106,
- 105, 104, 43, 99, 97, 96, 87, 43, 1463, 11,
- 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463,
- 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463,
- 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463,
- 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463,
- 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463,
- 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463,
- 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463,
-
- 1463
+ 389, 409, 410, 354, 305, 403, 355, 295, 484, 298,
+ 411, 415, 407, 390, 305, 403, 301, 412, 307, 465,
+ 466, 838, 312, 309, 310, 310, 310, 360, 403, 317,
+ 839, 310, 310, 310, 310, 310, 310, 318, 404, 415,
+ 412, 419, 319, 320, 430, 450, 415, 488, 496, 431,
+ 451, 489, 497, 472, 310, 310, 310, 310, 310, 310,
+ 418, 418, 418, 473, 485, 672, 673, 418, 418, 418,
+ 418, 418, 418, 501, 474, 513, 519, 502, 514, 524,
+ 524, 520, 532, 558, 533, 548, 840, 635, 559, 634,
+
+ 418, 418, 418, 418, 418, 418, 452, 608, 549, 630,
+ 688, 453, 609, 731, 636, 732, 841, 524, 534, 532,
+ 829, 533, 45, 45, 45, 635, 634, 721, 842, 45,
+ 45, 45, 45, 45, 45, 697, 776, 722, 732, 777,
+ 698, 731, 736, 737, 810, 843, 844, 689, 829, 845,
+ 846, 811, 45, 45, 45, 45, 45, 45, 813, 847,
+ 818, 848, 849, 850, 851, 814, 819, 852, 853, 815,
+ 854, 855, 856, 857, 859, 860, 861, 699, 858, 862,
+ 863, 864, 865, 866, 867, 868, 869, 870, 871, 872,
+ 873, 874, 875, 877, 878, 879, 876, 880, 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, 907, 908, 909, 910, 911, 912, 913,
+ 914, 915, 916, 917, 906, 918, 919, 920, 921, 922,
+ 923, 924, 925, 926, 927, 928, 929, 930, 931, 932,
+ 933, 934, 935, 936, 937, 938, 939, 940, 941, 942,
+ 920, 943, 944, 919, 945, 946, 947, 948, 949, 950,
+ 951, 954, 955, 956, 957, 952, 958, 959, 960, 961,
+ 962, 963, 964, 965, 966, 967, 968, 969, 971, 972,
+ 973, 974, 975, 976, 977, 978, 979, 980, 970, 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, 1007, 1006, 953, 1008, 1009, 1010,
+ 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020,
+ 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030,
+ 1031, 1005, 1006, 1032, 1033, 1034, 1035, 1036, 1037, 1039,
+ 1041, 1042, 1043, 1038, 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,
+ 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079,
+
+ 1080, 1040, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088,
+ 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098,
+ 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108,
+ 1109, 1087, 1110, 1111, 1112, 1113, 1114, 1088, 1115, 1116,
+ 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126,
+ 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136,
+ 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1145, 1146, 1147,
+ 1148, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157,
+ 1158, 1159, 1160, 1162, 1163, 1164, 1165, 1166, 1167, 1168,
+ 1169, 1170, 1171, 1172, 1173, 1174, 1175, 1176, 1177, 1178,
+
+ 1179, 1180, 1181, 1182, 1183, 1184, 1185, 1186, 1158, 1187,
+ 1188, 1189, 1190, 1192, 1193, 1194, 1195, 1144, 1196, 1197,
+ 1191, 1198, 1199, 1200, 1161, 1201, 1202, 1203, 1204, 1205,
+ 1206, 1207, 1208, 1209, 1210, 1211, 1212, 1213, 1214, 1215,
+ 1216, 1217, 1218, 1219, 1220, 1221, 1222, 1223, 1224, 1225,
+ 1226, 1227, 1228, 1229, 1230, 1231, 1232, 1233, 1234, 1235,
+ 1236, 1237, 1238, 1239, 1240, 1241, 1219, 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, 1280, 1281, 1282, 1283, 1284,
+ 1285, 1286, 1288, 1289, 1290, 1291, 1292, 1293, 1266, 1294,
+ 1295, 1296, 1297, 1298, 1299, 1300, 1301, 1302, 1303, 1304,
+ 1305, 1306, 1307, 1308, 1309, 1310, 1311, 1312, 1313, 1314,
+ 1315, 1316, 1318, 1319, 1320, 1321, 1317, 1322, 1323, 1324,
+ 1325, 1326, 1327, 1328, 1329, 1330, 1331, 1332, 1333, 1334,
+ 1335, 1336, 1337, 1338, 1311, 1339, 1340, 1287, 1341, 1342,
+ 1343, 1344, 1345, 1346, 1347, 1348, 1349, 1350, 1351, 1352,
+ 1353, 1354, 1355, 1356, 1357, 1358, 1359, 1360, 1361, 1362,
+ 1363, 1364, 1365, 1366, 1367, 1368, 1369, 1370, 1371, 1372,
+
+ 1373, 1374, 1375, 1376, 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, 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, 1472,
+
+ 1473, 1474, 1475, 1476, 1477, 1478, 1479, 1480, 1481, 1482,
+ 1483, 1484, 1485, 1486, 1487, 12, 12, 12, 12, 12,
+ 36, 36, 36, 36, 36, 79, 297, 79, 79, 79,
+ 98, 406, 98, 523, 98, 100, 100, 100, 100, 100,
+ 116, 116, 116, 116, 116, 178, 100, 178, 178, 178,
+ 202, 202, 202, 827, 826, 825, 824, 823, 822, 821,
+ 820, 817, 816, 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, 785, 784,
+ 783, 782, 781, 780, 779, 778, 775, 774, 773, 772,
+
+ 771, 770, 769, 768, 767, 766, 765, 764, 763, 762,
+ 761, 760, 759, 758, 757, 756, 755, 754, 753, 752,
+ 751, 750, 749, 748, 747, 746, 745, 744, 743, 742,
+ 741, 740, 739, 738, 735, 734, 733, 730, 729, 728,
+ 727, 726, 725, 724, 723, 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, 687, 686, 685, 684, 683, 682, 681,
+ 680, 679, 678, 677, 676, 675, 674, 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, 633, 632, 631, 630, 629, 628, 627, 626,
+ 625, 624, 623, 622, 621, 620, 619, 618, 617, 616,
+ 615, 614, 613, 612, 611, 610, 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, 580, 579, 578, 577, 576, 575, 574,
+ 573, 572, 571, 570, 569, 568, 567, 566, 565, 564,
+ 563, 562, 561, 560, 557, 556, 555, 554, 553, 552,
+
+ 551, 550, 547, 546, 545, 544, 543, 542, 541, 540,
+ 539, 538, 537, 536, 535, 531, 530, 529, 528, 527,
+ 526, 525, 522, 521, 518, 517, 516, 515, 512, 511,
+ 510, 509, 508, 507, 506, 505, 504, 503, 500, 499,
+ 498, 495, 494, 493, 492, 491, 490, 487, 486, 483,
+ 482, 481, 480, 479, 478, 477, 476, 475, 471, 470,
+ 469, 468, 467, 464, 463, 462, 461, 460, 459, 458,
+ 457, 456, 455, 454, 449, 448, 447, 446, 445, 444,
+ 443, 442, 441, 440, 439, 438, 437, 434, 433, 432,
+ 429, 426, 425, 424, 423, 422, 421, 420, 417, 416,
+
+ 414, 413, 408, 405, 402, 401, 400, 399, 398, 397,
+ 395, 394, 393, 392, 391, 388, 387, 386, 385, 384,
+ 383, 382, 379, 378, 377, 376, 375, 374, 373, 372,
+ 371, 370, 369, 368, 367, 366, 363, 362, 361, 359,
+ 358, 357, 356, 352, 351, 350, 349, 348, 347, 346,
+ 345, 344, 343, 342, 341, 340, 339, 338, 337, 336,
+ 335, 334, 333, 332, 331, 330, 329, 328, 327, 326,
+ 325, 324, 323, 322, 321, 316, 315, 314, 313, 311,
+ 203, 308, 306, 304, 303, 300, 299, 296, 289, 288,
+ 287, 286, 285, 284, 282, 281, 280, 279, 275, 265,
+
+ 264, 263, 259, 258, 255, 254, 253, 252, 251, 249,
+ 248, 247, 246, 243, 242, 241, 240, 239, 238, 237,
+ 234, 233, 229, 228, 220, 219, 218, 214, 213, 212,
+ 208, 207, 203, 196, 191, 190, 189, 186, 185, 177,
+ 162, 141, 106, 105, 104, 43, 99, 97, 96, 87,
+ 43, 1488, 11, 1488, 1488, 1488, 1488, 1488, 1488, 1488,
+ 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488,
+ 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488,
+ 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488,
+ 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488,
+
+ 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488,
+ 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488,
+ 1488, 1488, 1488, 1488
} ;
-static const flex_int16_t yy_chk[1902] =
+static const flex_int16_t yy_chk[1925] =
{ 0,
0, 1, 1, 1, 0, 1, 1, 0, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 21, 254,
- 3, 3, 3, 21, 1, 1, 3, 0, 0, 1,
+ 3, 3, 3, 21, 1, 1, 3, 731, 0, 1,
4, 4, 4, 13, 1, 13, 4, 27, 28, 1,
57, 1, 5, 5, 5, 26, 32, 1, 1, 33,
- 6, 6, 6, 7, 7, 7, 1, 7, 0, 8,
+ 6, 6, 6, 7, 7, 7, 1, 7, 733, 8,
8, 8, 1, 8, 57, 27, 28, 254, 26, 1,
1, 2, 2, 2, 32, 2, 2, 33, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 9, 9,
6, 20, 20, 20, 2, 37, 9, 37, 42, 2,
42, 2, 20, 51, 10, 54, 31, 2, 2, 52,
- 62, 66, 25, 732, 25, 733, 2, 25, 25, 25,
+ 62, 66, 25, 734, 25, 736, 2, 25, 25, 25,
62, 66, 2, 66, 269, 20, 51, 269, 54, 2,
2, 15, 15, 15, 15, 15, 15, 15, 15, 15,
15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
15, 15, 17, 47, 17, 17, 17, 19, 53, 19,
19, 19, 44, 56, 22, 17, 22, 22, 22, 60,
19, 64, 60, 55, 60, 283, 60, 22, 64, 47,
- 283, 59, 100, 55, 65, 734, 56, 53, 17, 65,
+ 283, 59, 100, 55, 65, 737, 56, 53, 17, 65,
74, 63, 65, 19, 74, 90, 55, 44, 69, 146,
22, 45, 69, 45, 45, 45, 45, 59, 45, 45,
45, 55, 58, 59, 63, 45, 45, 100, 45, 58,
- 146, 90, 69, 735, 45, 63, 45, 45, 45, 45,
+ 146, 90, 69, 738, 45, 63, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 58, 88, 88,
- 88, 58, 61, 326, 70, 58, 61, 326, 92, 61,
+ 88, 58, 61, 327, 70, 58, 61, 327, 92, 61,
61, 68, 68, 58, 91, 68, 71, 58, 95, 58,
58, 68, 61, 70, 71, 70, 71, 70, 76, 77,
- 72, 71, 71, 72, 72, 75, 92, 319, 76, 75,
- 91, 108, 75, 131, 72, 93, 95, 72, 736, 75,
- 75, 76, 77, 76, 319, 75, 131, 76, 80, 80,
+ 72, 71, 71, 72, 72, 75, 92, 320, 76, 75,
+ 91, 108, 75, 131, 72, 93, 95, 72, 739, 75,
+ 75, 76, 77, 76, 320, 75, 131, 76, 80, 80,
80, 81, 77, 81, 81, 81, 76, 77, 108, 80,
82, 93, 82, 76, 81, 82, 82, 82, 83, 94,
83, 83, 83, 84, 84, 84, 89, 89, 89, 102,
103, 83, 80, 107, 84, 111, 102, 81, 109, 112,
122, 113, 115, 114, 298, 94, 126, 126, 151, 122,
122, 138, 157, 157, 83, 132, 126, 84, 103, 107,
- 130, 737, 130, 111, 102, 115, 112, 109, 102, 113,
- 114, 132, 102, 298, 119, 135, 151, 738, 135, 130,
+ 130, 740, 130, 111, 102, 115, 112, 109, 102, 113,
+ 114, 132, 102, 298, 119, 135, 151, 741, 135, 130,
102, 164, 135, 171, 102, 179, 102, 102, 118, 118,
- 118, 119, 739, 138, 181, 118, 118, 118, 118, 118,
+ 118, 119, 245, 138, 181, 118, 118, 118, 118, 118,
118, 160, 119, 166, 160, 160, 193, 166, 180, 182,
171, 166, 183, 179, 164, 164, 164, 181, 118, 118,
118, 118, 118, 118, 184, 164, 188, 164, 192, 164,
164, 197, 164, 193, 180, 199, 201, 182, 183, 206,
- 352, 352, 305, 211, 250, 290, 293, 184, 312, 188,
- 245, 211, 300, 300, 197, 301, 192, 211, 199, 359,
- 740, 300, 206, 201, 204, 204, 204, 250, 290, 293,
- 305, 204, 204, 204, 204, 204, 204, 312, 301, 322,
- 358, 405, 373, 417, 322, 370, 373, 359, 380, 384,
- 358, 741, 380, 384, 204, 204, 204, 204, 204, 204,
- 415, 245, 415, 340, 245, 310, 310, 310, 340, 405,
- 432, 417, 310, 310, 310, 310, 310, 310, 394, 399,
- 442, 394, 528, 432, 399, 442, 495, 415, 529, 415,
-
- 628, 495, 568, 568, 617, 310, 310, 310, 310, 310,
- 310, 370, 530, 585, 617, 594, 742, 530, 708, 528,
- 594, 629, 633, 633, 340, 708, 529, 724, 628, 340,
- 416, 416, 416, 672, 743, 744, 672, 416, 416, 416,
- 416, 416, 416, 712, 629, 709, 745, 746, 748, 712,
- 585, 749, 709, 750, 751, 724, 709, 594, 752, 754,
- 416, 416, 416, 416, 416, 416, 753, 755, 756, 757,
- 758, 753, 759, 760, 761, 762, 765, 766, 767, 768,
- 771, 772, 773, 774, 775, 776, 777, 774, 778, 779,
- 780, 782, 783, 784, 785, 786, 787, 788, 789, 790,
+ 277, 300, 300, 245, 250, 290, 245, 184, 371, 188,
+ 300, 305, 312, 277, 197, 293, 192, 301, 199, 353,
+ 353, 742, 206, 201, 204, 204, 204, 250, 290, 211,
+ 743, 204, 204, 204, 204, 204, 204, 211, 293, 305,
+ 301, 312, 211, 211, 323, 341, 360, 374, 381, 323,
+ 341, 374, 381, 359, 204, 204, 204, 204, 204, 204,
+ 310, 310, 310, 359, 371, 573, 573, 310, 310, 310,
+ 310, 310, 310, 385, 360, 396, 401, 385, 396, 407,
+ 419, 401, 417, 445, 417, 435, 744, 533, 445, 532,
+
+ 310, 310, 310, 310, 310, 310, 341, 498, 435, 534,
+ 590, 341, 498, 634, 534, 635, 745, 407, 419, 417,
+ 732, 417, 418, 418, 418, 533, 532, 623, 746, 418,
+ 418, 418, 418, 418, 418, 599, 679, 623, 635, 679,
+ 599, 634, 639, 639, 715, 747, 748, 590, 732, 749,
+ 750, 715, 418, 418, 418, 418, 418, 418, 717, 751,
+ 720, 752, 753, 754, 755, 717, 720, 757, 758, 717,
+ 759, 760, 761, 762, 763, 764, 765, 599, 762, 766,
+ 767, 768, 769, 770, 771, 774, 775, 776, 777, 780,
+ 781, 782, 783, 784, 785, 786, 783, 787, 788, 789,
791, 792, 793, 794, 795, 796, 797, 798, 799, 800,
- 801, 802, 803, 804, 805, 806, 807, 808, 809, 811,
- 812, 813, 814, 815, 803, 816, 818, 819, 820, 821,
- 822, 823, 824, 825, 826, 827, 828, 829, 830, 831,
- 832, 833, 834, 836, 837, 838, 839, 840, 841, 842,
- 819, 843, 844, 818, 845, 847, 848, 849, 850, 851,
- 852, 854, 855, 856, 851, 857, 858, 859, 860, 861,
- 862, 863, 864, 865, 866, 867, 868, 869, 872, 873,
- 874, 876, 877, 878, 880, 881, 882, 868, 883, 884,
- 885, 886, 887, 888, 889, 890, 891, 892, 893, 894,
-
- 895, 896, 898, 899, 900, 901, 902, 903, 904, 905,
- 906, 907, 909, 908, 910, 851, 911, 912, 913, 914,
- 915, 916, 917, 918, 919, 920, 922, 923, 924, 925,
- 926, 927, 928, 929, 930, 931, 932, 933, 934, 907,
- 908, 935, 936, 937, 939, 940, 941, 942, 943, 944,
- 940, 945, 946, 947, 948, 949, 950, 951, 952, 953,
- 954, 955, 956, 957, 958, 959, 960, 961, 962, 963,
- 965, 966, 967, 968, 969, 970, 971, 972, 973, 974,
- 975, 977, 980, 981, 982, 983, 984, 985, 941, 986,
- 987, 988, 989, 990, 991, 992, 993, 994, 995, 996,
-
- 997, 998, 999, 1001, 1003, 1004, 1005, 1006, 1007, 1008,
- 1009, 1010, 1011, 1012, 1013, 1014, 1015, 991, 1016, 1017,
- 1018, 1021, 1023, 992, 1025, 1026, 1027, 1028, 1029, 1030,
- 1031, 1032, 1034, 1035, 1036, 1038, 1039, 1040, 1041, 1044,
- 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055,
- 1056, 1057, 1058, 1059, 1060, 1062, 1063, 1064, 1065, 1066,
- 1067, 1068, 1069, 1070, 1071, 1072, 1074, 1075, 1076, 1077,
- 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1087, 1088,
- 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098,
- 1099, 1100, 1071, 1101, 1102, 1104, 1105, 1106, 1107, 1108,
-
- 1111, 1112, 1057, 1113, 1105, 1114, 1115, 1116, 1074, 1117,
- 1118, 1119, 1120, 1121, 1123, 1124, 1125, 1126, 1127, 1128,
- 1131, 1134, 1136, 1137, 1138, 1139, 1140, 1143, 1144, 1145,
- 1146, 1147, 1148, 1149, 1150, 1151, 1152, 1154, 1155, 1156,
- 1157, 1158, 1159, 1160, 1161, 1162, 1163, 1164, 1166, 1140,
- 1169, 1171, 1172, 1173, 1174, 1176, 1177, 1178, 1179, 1180,
- 1181, 1184, 1185, 1187, 1188, 1189, 1190, 1191, 1193, 1194,
- 1195, 1196, 1198, 1200, 1201, 1202, 1203, 1204, 1205, 1206,
- 1207, 1208, 1210, 1211, 1213, 1214, 1215, 1216, 1217, 1218,
- 1219, 1220, 1220, 1221, 1222, 1223, 1224, 1225, 1226, 1227,
-
- 1200, 1228, 1229, 1230, 1231, 1232, 1233, 1234, 1235, 1236,
- 1237, 1238, 1239, 1240, 1242, 1244, 1245, 1246, 1249, 1250,
- 1254, 1255, 1257, 1258, 1259, 1260, 1261, 1257, 1262, 1263,
- 1264, 1265, 1267, 1268, 1271, 1272, 1273, 1274, 1276, 1277,
- 1278, 1279, 1280, 1281, 1282, 1246, 1283, 1284, 1285, 1221,
- 1286, 1287, 1288, 1290, 1291, 1293, 1294, 1296, 1297, 1298,
- 1299, 1300, 1302, 1303, 1304, 1306, 1307, 1308, 1309, 1310,
- 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1320, 1321,
- 1323, 1326, 1327, 1328, 1329, 1330, 1332, 1333, 1334, 1335,
- 1336, 1337, 1339, 1341, 1342, 1343, 1344, 1345, 1346, 1347,
-
- 1348, 1349, 1351, 1352, 1353, 1354, 1355, 1356, 1357, 1358,
- 1359, 1362, 1363, 1364, 1365, 1366, 1368, 1369, 1370, 1371,
- 1372, 1373, 1374, 1376, 1377, 1378, 1379, 1380, 1381, 1383,
- 1384, 1387, 1388, 1389, 1390, 1391, 1392, 1393, 1395, 1396,
- 1398, 1399, 1401, 1402, 1404, 1406, 1407, 1408, 1409, 1410,
- 1411, 1412, 1413, 1414, 1415, 1416, 1417, 1418, 1419, 1420,
- 1421, 1422, 1423, 1424, 1425, 1426, 1427, 1428, 1429, 1430,
- 1431, 1432, 1434, 1437, 1438, 1439, 1440, 1441, 1442, 1446,
- 1447, 1448, 1449, 1451, 1452, 1454, 1455, 1456, 1457, 1458,
- 1460, 1461, 1464, 1464, 1464, 1464, 1464, 1465, 1465, 1465,
-
- 1465, 1465, 1466, 1472, 1466, 1466, 1466, 1467, 1473, 1467,
- 1474, 1467, 1468, 1468, 1468, 1468, 1468, 1469, 1469, 1469,
- 1469, 1469, 1470, 1475, 1470, 1470, 1470, 1471, 1471, 1471,
- 731, 730, 729, 728, 726, 725, 723, 721, 720, 719,
- 718, 717, 716, 715, 714, 711, 710, 707, 706, 705,
- 704, 703, 702, 701, 700, 699, 698, 697, 696, 695,
- 694, 693, 692, 691, 689, 688, 687, 686, 685, 684,
- 683, 682, 680, 679, 678, 677, 676, 675, 673, 671,
- 670, 669, 668, 667, 666, 665, 664, 663, 662, 661,
- 660, 659, 658, 657, 656, 655, 653, 652, 651, 650,
-
- 649, 648, 647, 646, 645, 644, 643, 642, 641, 640,
- 639, 638, 637, 636, 635, 634, 632, 631, 630, 627,
- 626, 625, 622, 621, 620, 619, 618, 615, 614, 613,
- 612, 611, 610, 609, 608, 607, 606, 605, 604, 602,
- 601, 600, 599, 598, 597, 596, 595, 593, 592, 590,
- 589, 588, 587, 586, 584, 583, 582, 580, 579, 577,
- 576, 575, 574, 573, 572, 571, 570, 569, 567, 566,
- 565, 564, 563, 561, 560, 559, 558, 557, 556, 555,
- 554, 552, 551, 550, 549, 548, 547, 546, 545, 544,
- 543, 542, 541, 540, 539, 538, 537, 536, 535, 534,
-
- 533, 532, 526, 524, 521, 520, 518, 517, 516, 514,
- 510, 509, 508, 507, 506, 505, 504, 503, 502, 501,
- 500, 499, 498, 497, 496, 494, 493, 492, 491, 490,
- 489, 488, 487, 486, 485, 484, 482, 480, 479, 478,
- 477, 476, 475, 474, 473, 472, 471, 470, 469, 467,
- 466, 465, 464, 463, 462, 461, 460, 459, 458, 457,
- 456, 455, 454, 453, 452, 451, 450, 449, 448, 446,
- 445, 444, 443, 441, 440, 439, 438, 437, 436, 434,
- 433, 431, 430, 429, 428, 426, 425, 424, 423, 422,
- 421, 419, 418, 413, 412, 410, 409, 408, 407, 406,
-
- 403, 400, 398, 397, 396, 395, 393, 392, 391, 390,
- 389, 388, 387, 386, 385, 383, 382, 381, 379, 378,
- 377, 376, 375, 374, 372, 371, 369, 368, 367, 366,
- 365, 364, 363, 362, 361, 357, 356, 355, 354, 353,
- 351, 350, 349, 348, 347, 346, 345, 344, 343, 342,
- 341, 339, 338, 337, 336, 335, 334, 333, 332, 331,
- 330, 329, 328, 327, 325, 324, 323, 321, 318, 317,
- 316, 315, 314, 313, 309, 307, 304, 302, 299, 296,
- 289, 288, 287, 286, 285, 284, 282, 281, 280, 279,
- 278, 277, 276, 275, 274, 273, 272, 271, 270, 268,
-
- 267, 266, 265, 264, 263, 262, 261, 260, 259, 258,
- 257, 256, 255, 253, 252, 251, 249, 248, 247, 246,
- 244, 243, 242, 241, 240, 239, 238, 237, 236, 234,
- 233, 232, 231, 230, 229, 228, 227, 226, 225, 224,
- 223, 222, 221, 220, 219, 218, 217, 216, 215, 214,
- 213, 212, 210, 209, 208, 207, 205, 202, 200, 198,
- 196, 195, 190, 189, 185, 177, 176, 175, 174, 173,
- 172, 170, 169, 168, 167, 165, 163, 162, 161, 159,
- 158, 156, 155, 154, 153, 152, 150, 149, 148, 147,
- 145, 144, 143, 142, 141, 140, 139, 137, 136, 134,
-
- 133, 129, 128, 127, 125, 124, 123, 121, 120, 116,
- 110, 106, 105, 104, 98, 97, 78, 73, 67, 50,
- 49, 48, 43, 41, 39, 38, 24, 14, 11, 1463,
- 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463,
- 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463,
- 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463,
- 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463,
- 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463,
- 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463,
- 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463,
-
- 1463
+ 801, 802, 803, 804, 805, 806, 807, 808, 809, 810,
+ 811, 812, 813, 814, 815, 816, 817, 818, 819, 821,
+ 822, 823, 824, 825, 813, 826, 828, 829, 830, 831,
+ 832, 833, 834, 835, 836, 837, 838, 839, 840, 841,
+ 842, 843, 844, 845, 847, 848, 849, 850, 851, 852,
+ 829, 853, 854, 828, 855, 856, 858, 859, 860, 861,
+ 862, 863, 865, 866, 867, 862, 868, 869, 870, 871,
+ 872, 873, 874, 875, 876, 877, 878, 879, 880, 883,
+ 884, 885, 887, 888, 889, 891, 892, 893, 879, 894,
+
+ 895, 896, 897, 898, 899, 900, 901, 902, 903, 904,
+ 905, 906, 907, 908, 910, 911, 912, 913, 914, 915,
+ 916, 917, 918, 919, 921, 920, 862, 922, 923, 924,
+ 925, 926, 927, 928, 929, 930, 931, 932, 933, 935,
+ 936, 937, 938, 939, 940, 941, 942, 943, 944, 945,
+ 946, 919, 920, 947, 948, 949, 950, 952, 953, 954,
+ 955, 956, 957, 953, 958, 959, 960, 961, 962, 963,
+ 964, 965, 966, 967, 968, 969, 970, 971, 972, 973,
+ 974, 975, 976, 978, 979, 980, 981, 982, 983, 984,
+ 985, 986, 987, 988, 990, 991, 994, 995, 996, 997,
+
+ 998, 954, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006,
+ 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1016, 1018,
+ 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028,
+ 1029, 1005, 1030, 1031, 1032, 1033, 1036, 1006, 1038, 1040,
+ 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1049, 1050, 1051,
+ 1053, 1054, 1055, 1056, 1059, 1061, 1062, 1063, 1064, 1065,
+ 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075,
+ 1076, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086,
+ 1087, 1088, 1090, 1091, 1092, 1093, 1095, 1096, 1097, 1098,
+ 1099, 1100, 1101, 1102, 1104, 1105, 1106, 1107, 1108, 1109,
+
+ 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1087, 1118,
+ 1119, 1121, 1122, 1123, 1124, 1125, 1128, 1072, 1129, 1130,
+ 1122, 1131, 1132, 1133, 1090, 1134, 1135, 1136, 1137, 1138,
+ 1140, 1141, 1142, 1143, 1144, 1145, 1147, 1149, 1152, 1154,
+ 1155, 1156, 1157, 1158, 1161, 1162, 1163, 1164, 1165, 1166,
+ 1167, 1168, 1169, 1170, 1172, 1173, 1174, 1175, 1176, 1177,
+ 1178, 1179, 1180, 1181, 1182, 1184, 1158, 1187, 1189, 1190,
+ 1191, 1192, 1194, 1195, 1196, 1197, 1198, 1199, 1202, 1203,
+ 1205, 1206, 1207, 1208, 1209, 1211, 1212, 1213, 1214, 1215,
+ 1217, 1219, 1220, 1221, 1222, 1223, 1224, 1225, 1226, 1227,
+
+ 1229, 1230, 1232, 1233, 1234, 1235, 1236, 1237, 1238, 1239,
+ 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1219, 1247,
+ 1248, 1249, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257,
+ 1258, 1259, 1261, 1262, 1264, 1265, 1266, 1269, 1270, 1274,
+ 1275, 1277, 1278, 1279, 1280, 1281, 1277, 1282, 1283, 1284,
+ 1285, 1287, 1288, 1291, 1292, 1293, 1294, 1296, 1297, 1298,
+ 1299, 1300, 1301, 1302, 1266, 1303, 1304, 1240, 1305, 1306,
+ 1307, 1308, 1309, 1311, 1312, 1314, 1315, 1317, 1318, 1319,
+ 1320, 1321, 1323, 1324, 1325, 1327, 1328, 1329, 1330, 1331,
+ 1332, 1333, 1334, 1335, 1336, 1337, 1338, 1339, 1341, 1342,
+
+ 1343, 1345, 1348, 1349, 1350, 1351, 1352, 1354, 1355, 1356,
+ 1357, 1358, 1359, 1361, 1363, 1364, 1365, 1366, 1367, 1368,
+ 1369, 1370, 1371, 1373, 1374, 1375, 1376, 1377, 1378, 1379,
+ 1380, 1381, 1382, 1385, 1386, 1387, 1388, 1389, 1391, 1392,
+ 1393, 1394, 1395, 1396, 1397, 1398, 1400, 1401, 1402, 1403,
+ 1404, 1405, 1407, 1408, 1411, 1412, 1413, 1414, 1415, 1417,
+ 1418, 1420, 1421, 1423, 1424, 1426, 1427, 1429, 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, 1459, 1462, 1463, 1464, 1465,
+
+ 1466, 1467, 1471, 1472, 1473, 1474, 1476, 1477, 1479, 1480,
+ 1481, 1482, 1483, 1485, 1486, 1489, 1489, 1489, 1489, 1489,
+ 1490, 1490, 1490, 1490, 1490, 1491, 1497, 1491, 1491, 1491,
+ 1492, 1498, 1492, 1499, 1492, 1493, 1493, 1493, 1493, 1493,
+ 1494, 1494, 1494, 1494, 1494, 1495, 1500, 1495, 1495, 1495,
+ 1496, 1496, 1496, 729, 728, 727, 726, 725, 724, 723,
+ 722, 719, 718, 716, 714, 713, 712, 711, 710, 709,
+ 708, 707, 706, 705, 704, 703, 702, 701, 700, 699,
+ 698, 696, 695, 694, 693, 692, 691, 690, 689, 687,
+ 686, 685, 684, 683, 682, 680, 678, 677, 676, 675,
+
+ 674, 673, 672, 671, 670, 669, 668, 667, 666, 665,
+ 664, 663, 662, 660, 659, 658, 657, 656, 655, 654,
+ 653, 652, 651, 650, 649, 648, 647, 646, 645, 644,
+ 643, 642, 641, 640, 638, 637, 636, 633, 632, 631,
+ 628, 627, 626, 625, 624, 621, 620, 619, 618, 617,
+ 616, 615, 614, 613, 612, 611, 610, 609, 607, 606,
+ 605, 604, 603, 602, 601, 600, 598, 597, 595, 594,
+ 593, 592, 591, 589, 588, 587, 585, 584, 582, 581,
+ 580, 579, 578, 577, 576, 575, 574, 572, 571, 570,
+ 569, 568, 566, 565, 564, 563, 562, 561, 560, 559,
+
+ 557, 556, 555, 554, 553, 552, 551, 550, 549, 548,
+ 547, 546, 545, 544, 543, 542, 541, 540, 539, 538,
+ 537, 536, 530, 528, 525, 524, 522, 521, 520, 518,
+ 514, 513, 512, 511, 510, 509, 508, 507, 506, 505,
+ 504, 503, 502, 501, 500, 499, 497, 496, 495, 494,
+ 493, 492, 491, 490, 489, 488, 487, 485, 483, 482,
+ 481, 480, 479, 478, 477, 476, 475, 474, 473, 472,
+ 470, 469, 468, 467, 466, 465, 464, 463, 462, 461,
+ 460, 459, 458, 457, 456, 455, 454, 453, 452, 451,
+ 449, 448, 447, 446, 444, 443, 442, 441, 440, 439,
+
+ 437, 436, 434, 433, 432, 431, 429, 428, 427, 426,
+ 425, 424, 423, 421, 420, 415, 414, 412, 411, 410,
+ 409, 408, 405, 402, 400, 399, 398, 397, 395, 394,
+ 393, 392, 391, 390, 389, 388, 387, 386, 384, 383,
+ 382, 380, 379, 378, 377, 376, 375, 373, 372, 370,
+ 369, 368, 367, 366, 365, 364, 363, 362, 358, 357,
+ 356, 355, 354, 352, 351, 350, 349, 348, 347, 346,
+ 345, 344, 343, 342, 340, 339, 338, 337, 336, 335,
+ 334, 333, 332, 331, 330, 329, 328, 326, 325, 324,
+ 322, 319, 318, 317, 316, 315, 314, 313, 309, 307,
+
+ 304, 302, 299, 296, 289, 288, 287, 286, 285, 284,
+ 282, 281, 280, 279, 278, 276, 275, 274, 273, 272,
+ 271, 270, 268, 267, 266, 265, 264, 263, 262, 261,
+ 260, 259, 258, 257, 256, 255, 253, 252, 251, 249,
+ 248, 247, 246, 244, 243, 242, 241, 240, 239, 238,
+ 237, 236, 234, 233, 232, 231, 230, 229, 228, 227,
+ 226, 225, 224, 223, 222, 221, 220, 219, 218, 217,
+ 216, 215, 214, 213, 212, 210, 209, 208, 207, 205,
+ 202, 200, 198, 196, 195, 190, 189, 185, 177, 176,
+ 175, 174, 173, 172, 170, 169, 168, 167, 165, 163,
+
+ 162, 161, 159, 158, 156, 155, 154, 153, 152, 150,
+ 149, 148, 147, 145, 144, 143, 142, 141, 140, 139,
+ 137, 136, 134, 133, 129, 128, 127, 125, 124, 123,
+ 121, 120, 116, 110, 106, 105, 104, 98, 97, 78,
+ 73, 67, 50, 49, 48, 43, 41, 39, 38, 24,
+ 14, 11, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488,
+ 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488,
+ 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488,
+ 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488,
+ 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488,
+
+ 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488,
+ 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488,
+ 1488, 1488, 1488, 1488
} ;
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[180] =
+static const flex_int16_t yy_rule_linenum[182] =
{ 0,
149, 151, 153, 158, 159, 164, 165, 166, 178, 181,
186, 193, 202, 211, 220, 229, 238, 247, 256, 265,
463, 472, 481, 490, 499, 508, 517, 526, 536, 545,
558, 567, 576, 585, 594, 605, 616, 627, 638, 650,
661, 672, 683, 694, 705, 716, 727, 738, 749, 760,
- 771, 782, 793, 802, 811, 821, 830, 839, 854, 870,
- 879, 888, 897, 906, 915, 924, 933, 942, 951, 960,
- 982, 1004, 1013, 1023, 1033, 1042, 1052, 1063, 1072, 1081,
-
- 1090, 1099, 1108, 1118, 1127, 1136, 1145, 1154, 1163, 1172,
- 1181, 1190, 1199, 1209, 1218, 1227, 1237, 1249, 1262, 1271,
- 1280, 1290, 1300, 1309, 1320, 1330, 1339, 1349, 1359, 1368,
- 1377, 1386, 1395, 1405, 1414, 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, 1659, 1758, 1763, 1768, 1773, 1774, 1775, 1776, 1777,
- 1778, 1780, 1798, 1811, 1816, 1820, 1822, 1824, 1826
+ 771, 782, 793, 804, 815, 824, 833, 843, 852, 861,
+ 876, 892, 901, 910, 919, 928, 937, 946, 955, 964,
+ 973, 982, 1004, 1026, 1035, 1045, 1055, 1064, 1074, 1085,
+
+ 1094, 1103, 1112, 1121, 1130, 1140, 1149, 1158, 1167, 1176,
+ 1185, 1194, 1203, 1212, 1221, 1231, 1240, 1249, 1259, 1271,
+ 1284, 1293, 1302, 1312, 1322, 1331, 1342, 1352, 1361, 1371,
+ 1381, 1390, 1399, 1408, 1417, 1427, 1436, 1446, 1455, 1464,
+ 1473, 1482, 1491, 1500, 1509, 1518, 1527, 1536, 1545, 1554,
+ 1563, 1572, 1581, 1590, 1599, 1608, 1617, 1626, 1635, 1644,
+ 1653, 1662, 1671, 1681, 1780, 1785, 1790, 1795, 1796, 1797,
+ 1798, 1799, 1800, 1802, 1820, 1833, 1838, 1842, 1844, 1846,
+ 1848
} ;
/* 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 1751 "dhcp6_lexer.cc"
+#line 1765 "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 1777 "dhcp6_lexer.cc"
-#line 1778 "dhcp6_lexer.cc"
+#line 1791 "dhcp6_lexer.cc"
+#line 1792 "dhcp6_lexer.cc"
#define INITIAL 0
#define COMMENT 1
}
-#line 2110 "dhcp6_lexer.cc"
+#line 2124 "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 >= 1464 )
+ if ( yy_current_state >= 1489 )
yy_c = yy_meta[yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
++yy_cp;
}
- while ( yy_current_state != 1463 );
+ while ( yy_current_state != 1488 );
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 < 180 )
+ else if ( yy_act < 182 )
fprintf( stderr, "--accepting rule at line %ld (\"%s\")\n",
(long)yy_rule_linenum[yy_act], yytext );
- else if ( yy_act == 180 )
+ else if ( yy_act == 182 )
fprintf( stderr, "--accepting default rule (\"%s\")\n",
yytext );
- else if ( yy_act == 181 )
+ else if ( yy_act == 183 )
fprintf( stderr, "--(end of buffer or a NUL)\n" );
else
fprintf( stderr, "--EOF (start condition %d)\n", YY_START );
case isc::dhcp::Parser6Context::LEASE_DATABASE:
case isc::dhcp::Parser6Context::HOSTS_DATABASE:
case isc::dhcp::Parser6Context::CONFIG_DATABASE:
- return isc::dhcp::Dhcp6Parser::make_RECONNECT_WAIT_TIME(driver.loc_);
+ return isc::dhcp::Dhcp6Parser::make_CONSISTENCY(driver.loc_);
default:
- return isc::dhcp::Dhcp6Parser::make_STRING("reconnect-wait-time", driver.loc_);
+ return isc::dhcp::Dhcp6Parser::make_STRING("consistency", driver.loc_);
}
}
YY_BREAK
case isc::dhcp::Parser6Context::LEASE_DATABASE:
case isc::dhcp::Parser6Context::HOSTS_DATABASE:
case isc::dhcp::Parser6Context::CONFIG_DATABASE:
- return isc::dhcp::Dhcp6Parser::make_REQUEST_TIMEOUT(driver.loc_);
+ return isc::dhcp::Dhcp6Parser::make_SERIAL_CONSISTENCY(driver.loc_);
default:
- return isc::dhcp::Dhcp6Parser::make_STRING("request-timeout", driver.loc_);
+ return isc::dhcp::Dhcp6Parser::make_STRING("serial-consistency", driver.loc_);
}
}
YY_BREAK
case isc::dhcp::Parser6Context::LEASE_DATABASE:
case isc::dhcp::Parser6Context::HOSTS_DATABASE:
case isc::dhcp::Parser6Context::CONFIG_DATABASE:
- return isc::dhcp::Dhcp6Parser::make_TCP_KEEPALIVE(driver.loc_);
+ return isc::dhcp::Dhcp6Parser::make_RECONNECT_WAIT_TIME(driver.loc_);
default:
- return isc::dhcp::Dhcp6Parser::make_STRING("tcp-keepalive", driver.loc_);
+ return isc::dhcp::Dhcp6Parser::make_STRING("reconnect-wait-time", driver.loc_);
}
}
YY_BREAK
case isc::dhcp::Parser6Context::LEASE_DATABASE:
case isc::dhcp::Parser6Context::HOSTS_DATABASE:
case isc::dhcp::Parser6Context::CONFIG_DATABASE:
- return isc::dhcp::Dhcp6Parser::make_TCP_NODELAY(driver.loc_);
+ return isc::dhcp::Dhcp6Parser::make_REQUEST_TIMEOUT(driver.loc_);
default:
- return isc::dhcp::Dhcp6Parser::make_STRING("tcp-nodelay", driver.loc_);
+ return isc::dhcp::Dhcp6Parser::make_STRING("request-timeout", driver.loc_);
}
}
YY_BREAK
case isc::dhcp::Parser6Context::LEASE_DATABASE:
case isc::dhcp::Parser6Context::HOSTS_DATABASE:
case isc::dhcp::Parser6Context::CONFIG_DATABASE:
- return isc::dhcp::Dhcp6Parser::make_CONTACT_POINTS(driver.loc_);
+ return isc::dhcp::Dhcp6Parser::make_TCP_KEEPALIVE(driver.loc_);
default:
- return isc::dhcp::Dhcp6Parser::make_STRING("contact-points", driver.loc_);
+ return isc::dhcp::Dhcp6Parser::make_STRING("tcp-keepalive", driver.loc_);
}
}
YY_BREAK
case isc::dhcp::Parser6Context::LEASE_DATABASE:
case isc::dhcp::Parser6Context::HOSTS_DATABASE:
case isc::dhcp::Parser6Context::CONFIG_DATABASE:
- return isc::dhcp::Dhcp6Parser::make_MAX_RECONNECT_TRIES(driver.loc_);
+ return isc::dhcp::Dhcp6Parser::make_TCP_NODELAY(driver.loc_);
default:
- return isc::dhcp::Dhcp6Parser::make_STRING("max-reconnect-tries", driver.loc_);
+ return isc::dhcp::Dhcp6Parser::make_STRING("tcp-nodelay", driver.loc_);
}
}
YY_BREAK
case 69:
YY_RULE_SETUP
#line 749 "dhcp6_lexer.ll"
+{
+ switch(driver.ctx_) {
+ case isc::dhcp::Parser6Context::LEASE_DATABASE:
+ case isc::dhcp::Parser6Context::HOSTS_DATABASE:
+ case isc::dhcp::Parser6Context::CONFIG_DATABASE:
+ return isc::dhcp::Dhcp6Parser::make_CONTACT_POINTS(driver.loc_);
+ default:
+ return isc::dhcp::Dhcp6Parser::make_STRING("contact-points", driver.loc_);
+ }
+}
+ YY_BREAK
+case 70:
+YY_RULE_SETUP
+#line 760 "dhcp6_lexer.ll"
+{
+ switch(driver.ctx_) {
+ case isc::dhcp::Parser6Context::LEASE_DATABASE:
+ case isc::dhcp::Parser6Context::HOSTS_DATABASE:
+ case isc::dhcp::Parser6Context::CONFIG_DATABASE:
+ return isc::dhcp::Dhcp6Parser::make_MAX_RECONNECT_TRIES(driver.loc_);
+ default:
+ return isc::dhcp::Dhcp6Parser::make_STRING("max-reconnect-tries", driver.loc_);
+ }
+}
+ YY_BREAK
+case 71:
+YY_RULE_SETUP
+#line 771 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
}
}
YY_BREAK
-case 70:
+case 72:
YY_RULE_SETUP
-#line 760 "dhcp6_lexer.ll"
+#line 782 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
}
}
YY_BREAK
-case 71:
+case 73:
YY_RULE_SETUP
-#line 771 "dhcp6_lexer.ll"
+#line 793 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
}
}
YY_BREAK
-case 72:
+case 74:
YY_RULE_SETUP
-#line 782 "dhcp6_lexer.ll"
+#line 804 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
}
}
YY_BREAK
-case 73:
+case 75:
YY_RULE_SETUP
-#line 793 "dhcp6_lexer.ll"
+#line 815 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
}
}
YY_BREAK
-case 74:
+case 76:
YY_RULE_SETUP
-#line 802 "dhcp6_lexer.ll"
+#line 824 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
}
}
YY_BREAK
-case 75:
+case 77:
YY_RULE_SETUP
-#line 811 "dhcp6_lexer.ll"
+#line 833 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
}
}
YY_BREAK
-case 76:
+case 78:
YY_RULE_SETUP
-#line 821 "dhcp6_lexer.ll"
+#line 843 "dhcp6_lexer.ll"
{
switch (driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
}
}
YY_BREAK
-case 77:
+case 79:
YY_RULE_SETUP
-#line 830 "dhcp6_lexer.ll"
+#line 852 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
}
}
YY_BREAK
-case 78:
+case 80:
YY_RULE_SETUP
-#line 839 "dhcp6_lexer.ll"
+#line 861 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
}
}
YY_BREAK
-case 79:
+case 81:
YY_RULE_SETUP
-#line 854 "dhcp6_lexer.ll"
+#line 876 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::LEASE_DATABASE:
}
}
YY_BREAK
-case 80:
+case 82:
YY_RULE_SETUP
-#line 870 "dhcp6_lexer.ll"
+#line 892 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::OPTION_DATA:
}
}
YY_BREAK
-case 81:
+case 83:
YY_RULE_SETUP
-#line 879 "dhcp6_lexer.ll"
+#line 901 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::OPTION_DATA:
}
}
YY_BREAK
-case 82:
+case 84:
YY_RULE_SETUP
-#line 888 "dhcp6_lexer.ll"
+#line 910 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SUBNET6:
}
}
YY_BREAK
-case 83:
+case 85:
YY_RULE_SETUP
-#line 897 "dhcp6_lexer.ll"
+#line 919 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SUBNET6:
}
}
YY_BREAK
-case 84:
+case 86:
YY_RULE_SETUP
-#line 906 "dhcp6_lexer.ll"
+#line 928 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::PD_POOLS:
}
}
YY_BREAK
-case 85:
+case 87:
YY_RULE_SETUP
-#line 915 "dhcp6_lexer.ll"
+#line 937 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::PD_POOLS:
}
}
YY_BREAK
-case 86:
+case 88:
YY_RULE_SETUP
-#line 924 "dhcp6_lexer.ll"
+#line 946 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::PD_POOLS:
}
}
YY_BREAK
-case 87:
+case 89:
YY_RULE_SETUP
-#line 933 "dhcp6_lexer.ll"
+#line 955 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::PD_POOLS:
}
}
YY_BREAK
-case 88:
+case 90:
YY_RULE_SETUP
-#line 942 "dhcp6_lexer.ll"
+#line 964 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::PD_POOLS:
}
}
YY_BREAK
-case 89:
+case 91:
YY_RULE_SETUP
-#line 951 "dhcp6_lexer.ll"
+#line 973 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::POOLS:
}
}
YY_BREAK
-case 90:
+case 92:
YY_RULE_SETUP
-#line 960 "dhcp6_lexer.ll"
+#line 982 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
}
}
YY_BREAK
-case 91:
+case 93:
YY_RULE_SETUP
-#line 982 "dhcp6_lexer.ll"
+#line 1004 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
}
}
YY_BREAK
-case 92:
+case 94:
YY_RULE_SETUP
-#line 1004 "dhcp6_lexer.ll"
+#line 1026 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SUBNET6:
}
}
YY_BREAK
-case 93:
+case 95:
YY_RULE_SETUP
-#line 1013 "dhcp6_lexer.ll"
+#line 1035 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SUBNET6:
}
}
YY_BREAK
-case 94:
+case 96:
YY_RULE_SETUP
-#line 1023 "dhcp6_lexer.ll"
+#line 1045 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SUBNET6:
}
}
YY_BREAK
-case 95:
+case 97:
YY_RULE_SETUP
-#line 1033 "dhcp6_lexer.ll"
+#line 1055 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SUBNET6:
}
}
YY_BREAK
-case 96:
+case 98:
YY_RULE_SETUP
-#line 1042 "dhcp6_lexer.ll"
+#line 1064 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SUBNET6:
}
}
YY_BREAK
-case 97:
+case 99:
YY_RULE_SETUP
-#line 1052 "dhcp6_lexer.ll"
+#line 1074 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
}
}
YY_BREAK
-case 98:
+case 100:
YY_RULE_SETUP
-#line 1063 "dhcp6_lexer.ll"
+#line 1085 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::RESERVATION_MODE:
}
}
YY_BREAK
-case 99:
+case 101:
YY_RULE_SETUP
-#line 1072 "dhcp6_lexer.ll"
+#line 1094 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::RESERVATION_MODE:
}
}
YY_BREAK
-case 100:
+case 102:
YY_RULE_SETUP
-#line 1081 "dhcp6_lexer.ll"
+#line 1103 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::RESERVATION_MODE:
}
}
YY_BREAK
-case 101:
+case 103:
YY_RULE_SETUP
-#line 1090 "dhcp6_lexer.ll"
+#line 1112 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::RESERVATION_MODE:
}
}
YY_BREAK
-case 102:
+case 104:
YY_RULE_SETUP
-#line 1099 "dhcp6_lexer.ll"
+#line 1121 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::RESERVATION_MODE:
}
}
YY_BREAK
-case 103:
+case 105:
YY_RULE_SETUP
-#line 1108 "dhcp6_lexer.ll"
+#line 1130 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::OPTION_DEF:
}
}
YY_BREAK
-case 104:
+case 106:
YY_RULE_SETUP
-#line 1118 "dhcp6_lexer.ll"
+#line 1140 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
}
}
YY_BREAK
-case 105:
+case 107:
YY_RULE_SETUP
-#line 1127 "dhcp6_lexer.ll"
+#line 1149 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
}
}
YY_BREAK
-case 106:
+case 108:
YY_RULE_SETUP
-#line 1136 "dhcp6_lexer.ll"
+#line 1158 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
}
}
YY_BREAK
-case 107:
+case 109:
YY_RULE_SETUP
-#line 1145 "dhcp6_lexer.ll"
+#line 1167 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::CONFIG:
}
}
YY_BREAK
-case 108:
+case 110:
YY_RULE_SETUP
-#line 1154 "dhcp6_lexer.ll"
+#line 1176 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::LOGGING:
}
}
YY_BREAK
-case 109:
+case 111:
YY_RULE_SETUP
-#line 1163 "dhcp6_lexer.ll"
+#line 1185 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::LOGGERS:
}
}
YY_BREAK
-case 110:
+case 112:
YY_RULE_SETUP
-#line 1172 "dhcp6_lexer.ll"
+#line 1194 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::OUTPUT_OPTIONS:
}
}
YY_BREAK
-case 111:
+case 113:
YY_RULE_SETUP
-#line 1181 "dhcp6_lexer.ll"
+#line 1203 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::OUTPUT_OPTIONS:
}
}
YY_BREAK
-case 112:
+case 114:
YY_RULE_SETUP
-#line 1190 "dhcp6_lexer.ll"
+#line 1212 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::OUTPUT_OPTIONS:
}
}
YY_BREAK
-case 113:
+case 115:
YY_RULE_SETUP
-#line 1199 "dhcp6_lexer.ll"
+#line 1221 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::OUTPUT_OPTIONS:
}
}
YY_BREAK
-case 114:
+case 116:
YY_RULE_SETUP
-#line 1209 "dhcp6_lexer.ll"
+#line 1231 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::LOGGERS:
}
}
YY_BREAK
-case 115:
+case 117:
YY_RULE_SETUP
-#line 1218 "dhcp6_lexer.ll"
+#line 1240 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::LOGGERS:
}
}
YY_BREAK
-case 116:
+case 118:
YY_RULE_SETUP
-#line 1227 "dhcp6_lexer.ll"
+#line 1249 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
}
}
YY_BREAK
-case 117:
+case 119:
YY_RULE_SETUP
-#line 1237 "dhcp6_lexer.ll"
+#line 1259 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SUBNET6:
}
}
YY_BREAK
-case 118:
+case 120:
YY_RULE_SETUP
-#line 1249 "dhcp6_lexer.ll"
+#line 1271 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SUBNET6:
}
}
YY_BREAK
-case 119:
+case 121:
YY_RULE_SETUP
-#line 1262 "dhcp6_lexer.ll"
+#line 1284 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::CLIENT_CLASSES:
}
}
YY_BREAK
-case 120:
+case 122:
YY_RULE_SETUP
-#line 1271 "dhcp6_lexer.ll"
+#line 1293 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::CLIENT_CLASSES:
}
}
YY_BREAK
-case 121:
+case 123:
YY_RULE_SETUP
-#line 1280 "dhcp6_lexer.ll"
+#line 1302 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
}
}
YY_BREAK
-case 122:
+case 124:
YY_RULE_SETUP
-#line 1290 "dhcp6_lexer.ll"
+#line 1312 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::RESERVATIONS:
}
}
YY_BREAK
-case 123:
+case 125:
YY_RULE_SETUP
-#line 1300 "dhcp6_lexer.ll"
+#line 1322 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::RESERVATIONS:
}
}
YY_BREAK
-case 124:
+case 126:
YY_RULE_SETUP
-#line 1309 "dhcp6_lexer.ll"
+#line 1331 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::MAC_SOURCES:
}
}
YY_BREAK
-case 125:
+case 127:
YY_RULE_SETUP
-#line 1320 "dhcp6_lexer.ll"
+#line 1342 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::HOST_RESERVATION_IDENTIFIERS:
}
}
YY_BREAK
-case 126:
+case 128:
YY_RULE_SETUP
-#line 1330 "dhcp6_lexer.ll"
+#line 1352 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::RESERVATIONS:
}
}
YY_BREAK
-case 127:
+case 129:
YY_RULE_SETUP
-#line 1339 "dhcp6_lexer.ll"
+#line 1361 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::HOST_RESERVATION_IDENTIFIERS:
}
}
YY_BREAK
-case 128:
+case 130:
YY_RULE_SETUP
-#line 1349 "dhcp6_lexer.ll"
+#line 1371 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::OPTION_DEF:
}
}
YY_BREAK
-case 129:
+case 131:
YY_RULE_SETUP
-#line 1359 "dhcp6_lexer.ll"
+#line 1381 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::OPTION_DATA:
}
}
YY_BREAK
-case 130:
+case 132:
YY_RULE_SETUP
-#line 1368 "dhcp6_lexer.ll"
+#line 1390 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::OPTION_DEF:
}
}
YY_BREAK
-case 131:
+case 133:
YY_RULE_SETUP
-#line 1377 "dhcp6_lexer.ll"
+#line 1399 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::OPTION_DEF:
}
}
YY_BREAK
-case 132:
+case 134:
YY_RULE_SETUP
-#line 1386 "dhcp6_lexer.ll"
+#line 1408 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::OPTION_DEF:
}
}
YY_BREAK
-case 133:
+case 135:
YY_RULE_SETUP
-#line 1395 "dhcp6_lexer.ll"
+#line 1417 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SUBNET6:
}
}
YY_BREAK
-case 134:
+case 136:
YY_RULE_SETUP
-#line 1405 "dhcp6_lexer.ll"
+#line 1427 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::RELAY:
}
}
YY_BREAK
-case 135:
+case 137:
YY_RULE_SETUP
-#line 1414 "dhcp6_lexer.ll"
+#line 1436 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
}
}
YY_BREAK
-case 136:
+case 138:
YY_RULE_SETUP
-#line 1424 "dhcp6_lexer.ll"
+#line 1446 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::HOOKS_LIBRARIES:
}
}
YY_BREAK
-case 137:
+case 139:
YY_RULE_SETUP
-#line 1433 "dhcp6_lexer.ll"
+#line 1455 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::HOOKS_LIBRARIES:
}
}
YY_BREAK
-case 138:
+case 140:
YY_RULE_SETUP
-#line 1442 "dhcp6_lexer.ll"
+#line 1464 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
}
}
YY_BREAK
-case 139:
+case 141:
YY_RULE_SETUP
-#line 1451 "dhcp6_lexer.ll"
+#line 1473 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DUID_TYPE:
}
}
YY_BREAK
-case 140:
+case 142:
YY_RULE_SETUP
-#line 1460 "dhcp6_lexer.ll"
+#line 1482 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DUID_TYPE:
}
}
YY_BREAK
-case 141:
+case 143:
YY_RULE_SETUP
-#line 1469 "dhcp6_lexer.ll"
+#line 1491 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DUID_TYPE:
}
}
YY_BREAK
-case 142:
+case 144:
YY_RULE_SETUP
-#line 1478 "dhcp6_lexer.ll"
+#line 1500 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SERVER_ID:
}
}
YY_BREAK
-case 143:
+case 145:
YY_RULE_SETUP
-#line 1487 "dhcp6_lexer.ll"
+#line 1509 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SERVER_ID:
}
}
YY_BREAK
-case 144:
+case 146:
YY_RULE_SETUP
-#line 1496 "dhcp6_lexer.ll"
+#line 1518 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SERVER_ID:
}
}
YY_BREAK
-case 145:
+case 147:
YY_RULE_SETUP
-#line 1505 "dhcp6_lexer.ll"
+#line 1527 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SERVER_ID:
}
}
YY_BREAK
-case 146:
+case 148:
YY_RULE_SETUP
-#line 1514 "dhcp6_lexer.ll"
+#line 1536 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
}
}
YY_BREAK
-case 147:
+case 149:
YY_RULE_SETUP
-#line 1523 "dhcp6_lexer.ll"
+#line 1545 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING:
}
}
YY_BREAK
-case 148:
+case 150:
YY_RULE_SETUP
-#line 1532 "dhcp6_lexer.ll"
+#line 1554 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING:
}
}
YY_BREAK
-case 149:
+case 151:
YY_RULE_SETUP
-#line 1541 "dhcp6_lexer.ll"
+#line 1563 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING:
}
}
YY_BREAK
-case 150:
+case 152:
YY_RULE_SETUP
-#line 1550 "dhcp6_lexer.ll"
+#line 1572 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING:
}
}
YY_BREAK
-case 151:
+case 153:
YY_RULE_SETUP
-#line 1559 "dhcp6_lexer.ll"
+#line 1581 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING:
}
}
YY_BREAK
-case 152:
+case 154:
YY_RULE_SETUP
-#line 1568 "dhcp6_lexer.ll"
+#line 1590 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING:
}
}
YY_BREAK
-case 153:
+case 155:
YY_RULE_SETUP
-#line 1577 "dhcp6_lexer.ll"
+#line 1599 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
}
}
YY_BREAK
-case 154:
+case 156:
YY_RULE_SETUP
-#line 1586 "dhcp6_lexer.ll"
+#line 1608 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
}
}
YY_BREAK
-case 155:
+case 157:
YY_RULE_SETUP
-#line 1595 "dhcp6_lexer.ll"
+#line 1617 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::CONTROL_SOCKET:
}
}
YY_BREAK
-case 156:
+case 158:
YY_RULE_SETUP
-#line 1604 "dhcp6_lexer.ll"
+#line 1626 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::CONTROL_SOCKET:
}
}
YY_BREAK
-case 157:
+case 159:
YY_RULE_SETUP
-#line 1613 "dhcp6_lexer.ll"
+#line 1635 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
}
}
YY_BREAK
-case 158:
+case 160:
YY_RULE_SETUP
-#line 1622 "dhcp6_lexer.ll"
+#line 1644 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
}
}
YY_BREAK
-case 159:
+case 161:
YY_RULE_SETUP
-#line 1631 "dhcp6_lexer.ll"
+#line 1653 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::CONFIG:
}
}
YY_BREAK
-case 160:
+case 162:
YY_RULE_SETUP
-#line 1640 "dhcp6_lexer.ll"
+#line 1662 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::CONFIG:
}
}
YY_BREAK
-case 161:
+case 163:
YY_RULE_SETUP
-#line 1649 "dhcp6_lexer.ll"
+#line 1671 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::CONFIG:
}
}
YY_BREAK
-case 162:
+case 164:
YY_RULE_SETUP
-#line 1659 "dhcp6_lexer.ll"
+#line 1681 "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 163:
-/* rule 163 can match eol */
+case 165:
+/* rule 165 can match eol */
YY_RULE_SETUP
-#line 1758 "dhcp6_lexer.ll"
+#line 1780 "dhcp6_lexer.ll"
{
/* Bad string with a forbidden control character inside */
driver.error(driver.loc_, "Invalid control in " + std::string(yytext));
}
YY_BREAK
-case 164:
-/* rule 164 can match eol */
+case 166:
+/* rule 166 can match eol */
YY_RULE_SETUP
-#line 1763 "dhcp6_lexer.ll"
+#line 1785 "dhcp6_lexer.ll"
{
/* Bad string with a bad escape inside */
driver.error(driver.loc_, "Bad escape in " + std::string(yytext));
}
YY_BREAK
-case 165:
+case 167:
YY_RULE_SETUP
-#line 1768 "dhcp6_lexer.ll"
+#line 1790 "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 166:
+case 168:
YY_RULE_SETUP
-#line 1773 "dhcp6_lexer.ll"
+#line 1795 "dhcp6_lexer.ll"
{ return isc::dhcp::Dhcp6Parser::make_LSQUARE_BRACKET(driver.loc_); }
YY_BREAK
-case 167:
+case 169:
YY_RULE_SETUP
-#line 1774 "dhcp6_lexer.ll"
+#line 1796 "dhcp6_lexer.ll"
{ return isc::dhcp::Dhcp6Parser::make_RSQUARE_BRACKET(driver.loc_); }
YY_BREAK
-case 168:
+case 170:
YY_RULE_SETUP
-#line 1775 "dhcp6_lexer.ll"
+#line 1797 "dhcp6_lexer.ll"
{ return isc::dhcp::Dhcp6Parser::make_LCURLY_BRACKET(driver.loc_); }
YY_BREAK
-case 169:
+case 171:
YY_RULE_SETUP
-#line 1776 "dhcp6_lexer.ll"
+#line 1798 "dhcp6_lexer.ll"
{ return isc::dhcp::Dhcp6Parser::make_RCURLY_BRACKET(driver.loc_); }
YY_BREAK
-case 170:
+case 172:
YY_RULE_SETUP
-#line 1777 "dhcp6_lexer.ll"
+#line 1799 "dhcp6_lexer.ll"
{ return isc::dhcp::Dhcp6Parser::make_COMMA(driver.loc_); }
YY_BREAK
-case 171:
+case 173:
YY_RULE_SETUP
-#line 1778 "dhcp6_lexer.ll"
+#line 1800 "dhcp6_lexer.ll"
{ return isc::dhcp::Dhcp6Parser::make_COLON(driver.loc_); }
YY_BREAK
-case 172:
+case 174:
YY_RULE_SETUP
-#line 1780 "dhcp6_lexer.ll"
+#line 1802 "dhcp6_lexer.ll"
{
/* An integer was found. */
std::string tmp(yytext);
return isc::dhcp::Dhcp6Parser::make_INTEGER(integer, driver.loc_);
}
YY_BREAK
-case 173:
+case 175:
YY_RULE_SETUP
-#line 1798 "dhcp6_lexer.ll"
+#line 1820 "dhcp6_lexer.ll"
{
/* A floating point was found. */
std::string tmp(yytext);
return isc::dhcp::Dhcp6Parser::make_FLOAT(fp, driver.loc_);
}
YY_BREAK
-case 174:
+case 176:
YY_RULE_SETUP
-#line 1811 "dhcp6_lexer.ll"
+#line 1833 "dhcp6_lexer.ll"
{
string tmp(yytext);
return isc::dhcp::Dhcp6Parser::make_BOOLEAN(tmp == "true", driver.loc_);
}
YY_BREAK
-case 175:
+case 177:
YY_RULE_SETUP
-#line 1816 "dhcp6_lexer.ll"
+#line 1838 "dhcp6_lexer.ll"
{
return isc::dhcp::Dhcp6Parser::make_NULL_TYPE(driver.loc_);
}
YY_BREAK
-case 176:
+case 178:
YY_RULE_SETUP
-#line 1820 "dhcp6_lexer.ll"
+#line 1842 "dhcp6_lexer.ll"
driver.error (driver.loc_, "JSON true reserved keyword is lower case only");
YY_BREAK
-case 177:
+case 179:
YY_RULE_SETUP
-#line 1822 "dhcp6_lexer.ll"
+#line 1844 "dhcp6_lexer.ll"
driver.error (driver.loc_, "JSON false reserved keyword is lower case only");
YY_BREAK
-case 178:
+case 180:
YY_RULE_SETUP
-#line 1824 "dhcp6_lexer.ll"
+#line 1846 "dhcp6_lexer.ll"
driver.error (driver.loc_, "JSON null reserved keyword is lower case only");
YY_BREAK
-case 179:
+case 181:
YY_RULE_SETUP
-#line 1826 "dhcp6_lexer.ll"
+#line 1848 "dhcp6_lexer.ll"
driver.error (driver.loc_, "Invalid character: " + std::string(yytext));
YY_BREAK
case YY_STATE_EOF(INITIAL):
-#line 1828 "dhcp6_lexer.ll"
+#line 1850 "dhcp6_lexer.ll"
{
if (driver.states_.empty()) {
return isc::dhcp::Dhcp6Parser::make_END(driver.loc_);
BEGIN(DIR_EXIT);
}
YY_BREAK
-case 180:
+case 182:
YY_RULE_SETUP
-#line 1851 "dhcp6_lexer.ll"
+#line 1873 "dhcp6_lexer.ll"
ECHO;
YY_BREAK
-#line 4446 "dhcp6_lexer.cc"
+#line 4488 "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 >= 1464 )
+ if ( yy_current_state >= 1489 )
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 >= 1464 )
+ if ( yy_current_state >= 1489 )
yy_c = yy_meta[yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
- yy_is_jam = (yy_current_state == 1463);
+ yy_is_jam = (yy_current_state == 1488);
return yy_is_jam ? 0 : yy_current_state;
}
/* %ok-for-header */
-#line 1851 "dhcp6_lexer.ll"
+#line 1873 "dhcp6_lexer.ll"
using namespace isc::dhcp;
-// A Bison parser, made by GNU Bison 3.3.2.
+// A Bison parser, made by GNU Bison 3.0.4.
// Skeleton implementation for Bison LALR(1) parsers in C++
-// Copyright (C) 2002-2015, 2018-2019 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" // lalr1.cc:435
+#line 34 "dhcp6_parser.yy" // lalr1.cc:413
#include <dhcp6/parser_context.h>
-#line 51 "dhcp6_parser.cc" // lalr1.cc:435
+#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
{ \
*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" // lalr1.cc:510
+#line 14 "dhcp6_parser.yy" // lalr1.cc:479
namespace isc { namespace dhcp {
-#line 146 "dhcp6_parser.cc" // lalr1.cc:510
+#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;
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;
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 192: // value
- case 196: // map_value
- case 250: // db_type
- case 339: // hr_mode
- case 475: // duid_type
- case 510: // ncr_protocol_value
- case 517: // replace_client_name_value
- value.YY_MOVE_OR_COPY< ElementPtr > (YY_MOVE (that.value));
- break;
-
- case 174: // "boolean"
- value.YY_MOVE_OR_COPY< bool > (YY_MOVE (that.value));
- break;
-
- case 173: // "floating point"
- value.YY_MOVE_OR_COPY< double > (YY_MOVE (that.value));
- break;
-
- case 172: // "integer"
- value.YY_MOVE_OR_COPY< int64_t > (YY_MOVE (that.value));
- break;
-
- case 171: // "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 192: // value
- case 196: // map_value
- case 250: // db_type
- case 339: // hr_mode
- case 475: // duid_type
- case 510: // ncr_protocol_value
- case 517: // replace_client_name_value
- value.move< ElementPtr > (YY_MOVE (that.value));
+ switch (that.type_get ())
+ {
+ case 194: // value
+ case 198: // map_value
+ case 252: // db_type
+ case 345: // hr_mode
+ case 481: // duid_type
+ case 516: // ncr_protocol_value
+ case 523: // replace_client_name_value
+ value.move< ElementPtr > (that.value);
break;
- case 174: // "boolean"
- value.move< bool > (YY_MOVE (that.value));
+ case 176: // "boolean"
+ value.move< bool > (that.value);
break;
- case 173: // "floating point"
- value.move< double > (YY_MOVE (that.value));
+ case 175: // "floating point"
+ value.move< double > (that.value);
break;
- case 172: // "integer"
- value.move< int64_t > (YY_MOVE (that.value));
+ case 174: // "integer"
+ value.move< int64_t > (that.value);
break;
- case 171: // "constant string"
- value.move< std::string > (YY_MOVE (that.value));
+ case 173: // "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= (stack_symbol_type& that)
+ Dhcp6Parser::stack_symbol_type::operator= (const stack_symbol_type& that)
{
state = that.state;
- switch (that.type_get ())
- {
- case 192: // value
- case 196: // map_value
- case 250: // db_type
- case 339: // hr_mode
- case 475: // duid_type
- case 510: // ncr_protocol_value
- case 517: // replace_client_name_value
- value.move< ElementPtr > (that.value);
+ switch (that.type_get ())
+ {
+ case 194: // value
+ case 198: // map_value
+ case 252: // db_type
+ case 345: // hr_mode
+ case 481: // duid_type
+ case 516: // ncr_protocol_value
+ case 523: // replace_client_name_value
+ value.copy< ElementPtr > (that.value);
break;
- case 174: // "boolean"
- value.move< bool > (that.value);
+ case 176: // "boolean"
+ value.copy< bool > (that.value);
break;
- case 173: // "floating point"
- value.move< double > (that.value);
+ case 175: // "floating point"
+ value.copy< double > (that.value);
break;
- case 172: // "integer"
- value.move< int64_t > (that.value);
+ case 174: // "integer"
+ value.copy< int64_t > (that.value);
break;
- case 171: // "constant string"
- value.move< std::string > (that.value);
+ case 173: // "constant string"
+ value.copy< std::string > (that.value);
break;
default:
}
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 171: // "constant string"
-#line 249 "dhcp6_parser.yy" // lalr1.cc:676
- { yyoutput << yysym.value.template as < std::string > (); }
-#line 404 "dhcp6_parser.cc" // lalr1.cc:676
+ case 173: // "constant string"
+
+#line 251 "dhcp6_parser.yy" // lalr1.cc:636
+ { yyoutput << yysym.value.template as< std::string > (); }
+#line 364 "dhcp6_parser.cc" // lalr1.cc:636
break;
- case 172: // "integer"
-#line 249 "dhcp6_parser.yy" // lalr1.cc:676
- { yyoutput << yysym.value.template as < int64_t > (); }
-#line 410 "dhcp6_parser.cc" // lalr1.cc:676
+ case 174: // "integer"
+
+#line 251 "dhcp6_parser.yy" // lalr1.cc:636
+ { yyoutput << yysym.value.template as< int64_t > (); }
+#line 371 "dhcp6_parser.cc" // lalr1.cc:636
break;
- case 173: // "floating point"
-#line 249 "dhcp6_parser.yy" // lalr1.cc:676
- { yyoutput << yysym.value.template as < double > (); }
-#line 416 "dhcp6_parser.cc" // lalr1.cc:676
+ case 175: // "floating point"
+
+#line 251 "dhcp6_parser.yy" // lalr1.cc:636
+ { yyoutput << yysym.value.template as< double > (); }
+#line 378 "dhcp6_parser.cc" // lalr1.cc:636
break;
- case 174: // "boolean"
-#line 249 "dhcp6_parser.yy" // lalr1.cc:676
- { yyoutput << yysym.value.template as < bool > (); }
-#line 422 "dhcp6_parser.cc" // lalr1.cc:676
+ case 176: // "boolean"
+
+#line 251 "dhcp6_parser.yy" // lalr1.cc:636
+ { yyoutput << yysym.value.template as< bool > (); }
+#line 385 "dhcp6_parser.cc" // lalr1.cc:636
break;
- case 192: // value
-#line 249 "dhcp6_parser.yy" // lalr1.cc:676
- { yyoutput << yysym.value.template as < ElementPtr > (); }
-#line 428 "dhcp6_parser.cc" // lalr1.cc:676
+ case 194: // value
+
+#line 251 "dhcp6_parser.yy" // lalr1.cc:636
+ { yyoutput << yysym.value.template as< ElementPtr > (); }
+#line 392 "dhcp6_parser.cc" // lalr1.cc:636
break;
- case 196: // map_value
-#line 249 "dhcp6_parser.yy" // lalr1.cc:676
- { yyoutput << yysym.value.template as < ElementPtr > (); }
-#line 434 "dhcp6_parser.cc" // lalr1.cc:676
+ case 198: // map_value
+
+#line 251 "dhcp6_parser.yy" // lalr1.cc:636
+ { yyoutput << yysym.value.template as< ElementPtr > (); }
+#line 399 "dhcp6_parser.cc" // lalr1.cc:636
break;
- case 250: // db_type
-#line 249 "dhcp6_parser.yy" // lalr1.cc:676
- { yyoutput << yysym.value.template as < ElementPtr > (); }
-#line 440 "dhcp6_parser.cc" // lalr1.cc:676
+ case 252: // db_type
+
+#line 251 "dhcp6_parser.yy" // lalr1.cc:636
+ { yyoutput << yysym.value.template as< ElementPtr > (); }
+#line 406 "dhcp6_parser.cc" // lalr1.cc:636
break;
- case 339: // hr_mode
-#line 249 "dhcp6_parser.yy" // lalr1.cc:676
- { yyoutput << yysym.value.template as < ElementPtr > (); }
-#line 446 "dhcp6_parser.cc" // lalr1.cc:676
+ case 345: // hr_mode
+
+#line 251 "dhcp6_parser.yy" // lalr1.cc:636
+ { yyoutput << yysym.value.template as< ElementPtr > (); }
+#line 413 "dhcp6_parser.cc" // lalr1.cc:636
break;
- case 475: // duid_type
-#line 249 "dhcp6_parser.yy" // lalr1.cc:676
- { yyoutput << yysym.value.template as < ElementPtr > (); }
-#line 452 "dhcp6_parser.cc" // lalr1.cc:676
+ case 481: // duid_type
+
+#line 251 "dhcp6_parser.yy" // lalr1.cc:636
+ { yyoutput << yysym.value.template as< ElementPtr > (); }
+#line 420 "dhcp6_parser.cc" // lalr1.cc:636
break;
- case 510: // ncr_protocol_value
-#line 249 "dhcp6_parser.yy" // lalr1.cc:676
- { yyoutput << yysym.value.template as < ElementPtr > (); }
-#line 458 "dhcp6_parser.cc" // lalr1.cc:676
+ case 516: // ncr_protocol_value
+
+#line 251 "dhcp6_parser.yy" // lalr1.cc:636
+ { yyoutput << yysym.value.template as< ElementPtr > (); }
+#line 427 "dhcp6_parser.cc" // lalr1.cc:636
break;
- case 517: // replace_client_name_value
-#line 249 "dhcp6_parser.yy" // lalr1.cc:676
- { yyoutput << yysym.value.template as < ElementPtr > (); }
-#line 464 "dhcp6_parser.cc" // lalr1.cc:676
+ case 523: // replace_client_name_value
+
+#line 251 "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 ()
{
/// 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 " << 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];
if (yy_pact_value_is_default_ (yyn))
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);
--yyerrstatus_;
// Shift the lookahead token.
- yypush_ ("Shifting", yyn, YY_MOVE (yyla));
+ yypush_ ("Shifting", yyn, yyla);
goto yynewstate;
-
/*-----------------------------------------------------------.
| yydefault -- do the default action for the current state. |
`-----------------------------------------------------------*/
goto yyerrlab;
goto yyreduce;
-
/*-----------------------------.
- | yyreduce -- do a reduction. |
+ | yyreduce -- Do a reduction. |
`-----------------------------*/
yyreduce:
yylen = yyr2_[yyn];
{
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 192: // value
- case 196: // map_value
- case 250: // db_type
- case 339: // hr_mode
- case 475: // duid_type
- case 510: // ncr_protocol_value
- case 517: // replace_client_name_value
- yylhs.value.emplace< ElementPtr > ();
+ switch (yyr1_[yyn])
+ {
+ case 194: // value
+ case 198: // map_value
+ case 252: // db_type
+ case 345: // hr_mode
+ case 481: // duid_type
+ case 516: // ncr_protocol_value
+ case 523: // replace_client_name_value
+ yylhs.value.build< ElementPtr > ();
break;
- case 174: // "boolean"
- yylhs.value.emplace< bool > ();
+ case 176: // "boolean"
+ yylhs.value.build< bool > ();
break;
- case 173: // "floating point"
- yylhs.value.emplace< double > ();
+ case 175: // "floating point"
+ yylhs.value.build< double > ();
break;
- case 172: // "integer"
- yylhs.value.emplace< int64_t > ();
+ case 174: // "integer"
+ yylhs.value.build< int64_t > ();
break;
- case 171: // "constant string"
- yylhs.value.emplace< std::string > ();
+ case 173: // "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 258 "dhcp6_parser.yy" // lalr1.cc:919
+#line 260 "dhcp6_parser.yy" // lalr1.cc:859
{ ctx.ctx_ = ctx.NO_KEYWORD; }
-#line 730 "dhcp6_parser.cc" // lalr1.cc:919
+#line 680 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 4:
-#line 259 "dhcp6_parser.yy" // lalr1.cc:919
+#line 261 "dhcp6_parser.yy" // lalr1.cc:859
{ ctx.ctx_ = ctx.CONFIG; }
-#line 736 "dhcp6_parser.cc" // lalr1.cc:919
+#line 686 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 6:
-#line 260 "dhcp6_parser.yy" // lalr1.cc:919
+#line 262 "dhcp6_parser.yy" // lalr1.cc:859
{ ctx.ctx_ = ctx.DHCP6; }
-#line 742 "dhcp6_parser.cc" // lalr1.cc:919
+#line 692 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 8:
-#line 261 "dhcp6_parser.yy" // lalr1.cc:919
+#line 263 "dhcp6_parser.yy" // lalr1.cc:859
{ ctx.ctx_ = ctx.INTERFACES_CONFIG; }
-#line 748 "dhcp6_parser.cc" // lalr1.cc:919
+#line 698 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 10:
-#line 262 "dhcp6_parser.yy" // lalr1.cc:919
+#line 264 "dhcp6_parser.yy" // lalr1.cc:859
{ ctx.ctx_ = ctx.SUBNET6; }
-#line 754 "dhcp6_parser.cc" // lalr1.cc:919
+#line 704 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 12:
-#line 263 "dhcp6_parser.yy" // lalr1.cc:919
+#line 265 "dhcp6_parser.yy" // lalr1.cc:859
{ ctx.ctx_ = ctx.POOLS; }
-#line 760 "dhcp6_parser.cc" // lalr1.cc:919
+#line 710 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 14:
-#line 264 "dhcp6_parser.yy" // lalr1.cc:919
+#line 266 "dhcp6_parser.yy" // lalr1.cc:859
{ ctx.ctx_ = ctx.PD_POOLS; }
-#line 766 "dhcp6_parser.cc" // lalr1.cc:919
+#line 716 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 16:
-#line 265 "dhcp6_parser.yy" // lalr1.cc:919
+#line 267 "dhcp6_parser.yy" // lalr1.cc:859
{ ctx.ctx_ = ctx.RESERVATIONS; }
-#line 772 "dhcp6_parser.cc" // lalr1.cc:919
+#line 722 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 18:
-#line 266 "dhcp6_parser.yy" // lalr1.cc:919
+#line 268 "dhcp6_parser.yy" // lalr1.cc:859
{ ctx.ctx_ = ctx.DHCP6; }
-#line 778 "dhcp6_parser.cc" // lalr1.cc:919
+#line 728 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 20:
-#line 267 "dhcp6_parser.yy" // lalr1.cc:919
+#line 269 "dhcp6_parser.yy" // lalr1.cc:859
{ ctx.ctx_ = ctx.OPTION_DEF; }
-#line 784 "dhcp6_parser.cc" // lalr1.cc:919
+#line 734 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 22:
-#line 268 "dhcp6_parser.yy" // lalr1.cc:919
+#line 270 "dhcp6_parser.yy" // lalr1.cc:859
{ ctx.ctx_ = ctx.OPTION_DATA; }
-#line 790 "dhcp6_parser.cc" // lalr1.cc:919
+#line 740 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 24:
-#line 269 "dhcp6_parser.yy" // lalr1.cc:919
+#line 271 "dhcp6_parser.yy" // lalr1.cc:859
{ ctx.ctx_ = ctx.HOOKS_LIBRARIES; }
-#line 796 "dhcp6_parser.cc" // lalr1.cc:919
+#line 746 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 26:
-#line 270 "dhcp6_parser.yy" // lalr1.cc:919
+#line 272 "dhcp6_parser.yy" // lalr1.cc:859
{ ctx.ctx_ = ctx.DHCP_DDNS; }
-#line 802 "dhcp6_parser.cc" // lalr1.cc:919
+#line 752 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 28:
-#line 271 "dhcp6_parser.yy" // lalr1.cc:919
+#line 273 "dhcp6_parser.yy" // lalr1.cc:859
{ ctx.ctx_ = ctx.LOGGING; }
-#line 808 "dhcp6_parser.cc" // lalr1.cc:919
+#line 758 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 30:
-#line 272 "dhcp6_parser.yy" // lalr1.cc:919
+#line 274 "dhcp6_parser.yy" // lalr1.cc:859
{ ctx.ctx_ = ctx.CONFIG_CONTROL; }
-#line 814 "dhcp6_parser.cc" // lalr1.cc:919
+#line 764 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 32:
-#line 280 "dhcp6_parser.yy" // lalr1.cc:919
- { yylhs.value.as < ElementPtr > () = ElementPtr(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); }
-#line 820 "dhcp6_parser.cc" // lalr1.cc:919
+#line 282 "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 281 "dhcp6_parser.yy" // lalr1.cc:919
- { yylhs.value.as < ElementPtr > () = ElementPtr(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location))); }
-#line 826 "dhcp6_parser.cc" // lalr1.cc:919
+#line 283 "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 282 "dhcp6_parser.yy" // lalr1.cc:919
- { yylhs.value.as < ElementPtr > () = ElementPtr(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); }
-#line 832 "dhcp6_parser.cc" // lalr1.cc:919
+#line 284 "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 283 "dhcp6_parser.yy" // lalr1.cc:919
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); }
-#line 838 "dhcp6_parser.cc" // lalr1.cc:919
+#line 285 "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 284 "dhcp6_parser.yy" // lalr1.cc:919
- { yylhs.value.as < ElementPtr > () = ElementPtr(new NullElement(ctx.loc2pos(yystack_[0].location))); }
-#line 844 "dhcp6_parser.cc" // lalr1.cc:919
+#line 286 "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 285 "dhcp6_parser.yy" // lalr1.cc:919
- { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); }
-#line 850 "dhcp6_parser.cc" // lalr1.cc:919
+#line 287 "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 286 "dhcp6_parser.yy" // lalr1.cc:919
- { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); }
-#line 856 "dhcp6_parser.cc" // lalr1.cc:919
+#line 288 "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 289 "dhcp6_parser.yy" // lalr1.cc:919
+#line 291 "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 865 "dhcp6_parser.cc" // lalr1.cc:919
+#line 815 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 40:
-#line 294 "dhcp6_parser.yy" // lalr1.cc:919
+#line 296 "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 876 "dhcp6_parser.cc" // lalr1.cc:919
+#line 826 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 41:
-#line 299 "dhcp6_parser.yy" // lalr1.cc:919
+#line 301 "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 886 "dhcp6_parser.cc" // lalr1.cc:919
+#line 836 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 42:
-#line 305 "dhcp6_parser.yy" // lalr1.cc:919
- { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); }
-#line 892 "dhcp6_parser.cc" // lalr1.cc:919
+#line 307 "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 312 "dhcp6_parser.yy" // lalr1.cc:919
+#line 314 "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 901 "dhcp6_parser.cc" // lalr1.cc:919
+#line 851 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 46:
-#line 316 "dhcp6_parser.yy" // lalr1.cc:919
+#line 318 "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 911 "dhcp6_parser.cc" // lalr1.cc:919
+#line 861 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 47:
-#line 323 "dhcp6_parser.yy" // lalr1.cc:919
+#line 325 "dhcp6_parser.yy" // lalr1.cc:859
{
ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.push_back(l);
}
-#line 920 "dhcp6_parser.cc" // lalr1.cc:919
+#line 870 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 48:
-#line 326 "dhcp6_parser.yy" // lalr1.cc:919
+#line 328 "dhcp6_parser.yy" // lalr1.cc:859
{
// list parsing complete. Put any sanity checking here
}
-#line 928 "dhcp6_parser.cc" // lalr1.cc:919
+#line 878 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 51:
-#line 334 "dhcp6_parser.yy" // lalr1.cc:919
+#line 336 "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 937 "dhcp6_parser.cc" // lalr1.cc:919
+#line 887 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 52:
-#line 338 "dhcp6_parser.yy" // lalr1.cc:919
+#line 340 "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 946 "dhcp6_parser.cc" // lalr1.cc:919
+#line 896 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 53:
-#line 345 "dhcp6_parser.yy" // lalr1.cc:919
+#line 347 "dhcp6_parser.yy" // lalr1.cc:859
{
// List parsing about to start
}
-#line 954 "dhcp6_parser.cc" // lalr1.cc:919
+#line 904 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 54:
-#line 347 "dhcp6_parser.yy" // lalr1.cc:919
+#line 349 "dhcp6_parser.yy" // lalr1.cc:859
{
// list parsing complete. Put any sanity checking here
//ctx.stack_.pop_back();
}
-#line 963 "dhcp6_parser.cc" // lalr1.cc:919
+#line 913 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 57:
-#line 356 "dhcp6_parser.yy" // lalr1.cc:919
+#line 358 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(s);
}
-#line 972 "dhcp6_parser.cc" // lalr1.cc:919
+#line 922 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 58:
-#line 360 "dhcp6_parser.yy" // lalr1.cc:919
+#line 362 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(s);
}
-#line 981 "dhcp6_parser.cc" // lalr1.cc:919
+#line 931 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 59:
-#line 371 "dhcp6_parser.yy" // lalr1.cc:919
+#line 373 "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 992 "dhcp6_parser.cc" // lalr1.cc:919
+#line 942 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 60:
-#line 381 "dhcp6_parser.yy" // lalr1.cc:919
+#line 383 "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 1003 "dhcp6_parser.cc" // lalr1.cc:919
+#line 953 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 61:
-#line 386 "dhcp6_parser.yy" // lalr1.cc:919
+#line 388 "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
// Dhcp6 is required
ctx.require("Dhcp6", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
}
-#line 1016 "dhcp6_parser.cc" // lalr1.cc:919
+#line 966 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 70:
-#line 409 "dhcp6_parser.yy" // lalr1.cc:919
+#line 411 "dhcp6_parser.yy" // lalr1.cc:859
{
// This code is executed when we're about to start parsing
// the content of the map
ctx.stack_.push_back(m);
ctx.enter(ctx.DHCP6);
}
-#line 1029 "dhcp6_parser.cc" // lalr1.cc:919
+#line 979 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 71:
-#line 416 "dhcp6_parser.yy" // lalr1.cc:919
+#line 418 "dhcp6_parser.yy" // lalr1.cc:859
{
// No global parameter is required
ctx.stack_.pop_back();
ctx.leave();
}
-#line 1039 "dhcp6_parser.cc" // lalr1.cc:919
+#line 989 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 72:
-#line 424 "dhcp6_parser.yy" // lalr1.cc:919
+#line 426 "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 1049 "dhcp6_parser.cc" // lalr1.cc:919
+#line 999 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 73:
-#line 428 "dhcp6_parser.yy" // lalr1.cc:919
+#line 430 "dhcp6_parser.yy" // lalr1.cc:859
{
// No global parameter is required
// parsing completed
}
-#line 1058 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1008 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 109:
-#line 474 "dhcp6_parser.yy" // lalr1.cc:919
+#line 476 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1066 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1016 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 110:
-#line 476 "dhcp6_parser.yy" // lalr1.cc:919
+#line 478 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr datadir(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr datadir(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("data-directory", datadir);
ctx.leave();
}
-#line 1076 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1026 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 111:
-#line 482 "dhcp6_parser.yy" // lalr1.cc:919
+#line 484 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("preferred-lifetime", prf);
}
-#line 1085 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1035 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 112:
-#line 487 "dhcp6_parser.yy" // lalr1.cc:919
+#line 489 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("valid-lifetime", prf);
}
-#line 1094 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1044 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 113:
-#line 492 "dhcp6_parser.yy" // lalr1.cc:919
+#line 494 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("renew-timer", prf);
}
-#line 1103 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1053 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 114:
-#line 497 "dhcp6_parser.yy" // lalr1.cc:919
+#line 499 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("rebind-timer", prf);
}
-#line 1112 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1062 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 115:
-#line 502 "dhcp6_parser.yy" // lalr1.cc:919
+#line 504 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr dpp(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr dpp(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("decline-probation-period", dpp);
}
-#line 1121 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1071 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 116:
-#line 507 "dhcp6_parser.yy" // lalr1.cc:919
+#line 509 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1129 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1079 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 117:
-#line 509 "dhcp6_parser.yy" // lalr1.cc:919
+#line 511 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr stag(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ 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 1139 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1089 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 118:
-#line 515 "dhcp6_parser.yy" // lalr1.cc:919
+#line 517 "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 1150 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1100 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 119:
-#line 520 "dhcp6_parser.yy" // lalr1.cc:919
+#line 522 "dhcp6_parser.yy" // lalr1.cc:859
{
// No interfaces config param is required
ctx.stack_.pop_back();
ctx.leave();
}
-#line 1160 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1110 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 120:
-#line 526 "dhcp6_parser.yy" // lalr1.cc:919
+#line 528 "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 1170 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1120 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 121:
-#line 530 "dhcp6_parser.yy" // lalr1.cc:919
+#line 532 "dhcp6_parser.yy" // lalr1.cc:859
{
// No interfaces config param is required
// parsing completed
}
-#line 1179 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1129 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 129:
-#line 546 "dhcp6_parser.yy" // lalr1.cc:919
+#line 548 "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 1190 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1140 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 130:
-#line 551 "dhcp6_parser.yy" // lalr1.cc:919
+#line 553 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 1199 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1149 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 131:
-#line 556 "dhcp6_parser.yy" // lalr1.cc:919
+#line 558 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("re-detect", b);
}
-#line 1208 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1158 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 132:
-#line 562 "dhcp6_parser.yy" // lalr1.cc:919
+#line 564 "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 1219 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1169 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 133:
-#line 567 "dhcp6_parser.yy" // lalr1.cc:919
+#line 569 "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 1230 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1180 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 134:
-#line 574 "dhcp6_parser.yy" // lalr1.cc:919
+#line 576 "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 1241 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1191 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 135:
-#line 579 "dhcp6_parser.yy" // lalr1.cc:919
+#line 581 "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 1252 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1202 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 136:
-#line 586 "dhcp6_parser.yy" // lalr1.cc:919
+#line 588 "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 1263 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1213 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 137:
-#line 591 "dhcp6_parser.yy" // lalr1.cc:919
+#line 593 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 1272 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1222 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 142:
-#line 604 "dhcp6_parser.yy" // lalr1.cc:919
+#line 606 "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 1282 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1232 "dhcp6_parser.cc" // lalr1.cc:859
break;
case 143:
-#line 608 "dhcp6_parser.yy" // lalr1.cc:919
+#line 610 "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 1292 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1242 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 164:
-#line 638 "dhcp6_parser.yy" // lalr1.cc:919
+ case 166:
+#line 642 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.DATABASE_TYPE);
}
-#line 1300 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1250 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 165:
-#line 640 "dhcp6_parser.yy" // lalr1.cc:919
+ case 167:
+#line 644 "dhcp6_parser.yy" // lalr1.cc:859
{
- ctx.stack_.back()->set("type", yystack_[0].value.as < ElementPtr > ());
+ ctx.stack_.back()->set("type", yystack_[0].value.as< ElementPtr > ());
ctx.leave();
}
-#line 1309 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1259 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 166:
-#line 645 "dhcp6_parser.yy" // lalr1.cc:919
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("memfile", ctx.loc2pos(yystack_[0].location))); }
-#line 1315 "dhcp6_parser.cc" // lalr1.cc:919
+ case 168:
+#line 649 "dhcp6_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("memfile", ctx.loc2pos(yystack_[0].location))); }
+#line 1265 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 167:
-#line 646 "dhcp6_parser.yy" // lalr1.cc:919
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("mysql", ctx.loc2pos(yystack_[0].location))); }
-#line 1321 "dhcp6_parser.cc" // lalr1.cc:919
+ case 169:
+#line 650 "dhcp6_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("mysql", ctx.loc2pos(yystack_[0].location))); }
+#line 1271 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 168:
-#line 647 "dhcp6_parser.yy" // lalr1.cc:919
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("postgresql", ctx.loc2pos(yystack_[0].location))); }
-#line 1327 "dhcp6_parser.cc" // lalr1.cc:919
+ case 170:
+#line 651 "dhcp6_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("postgresql", ctx.loc2pos(yystack_[0].location))); }
+#line 1277 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 169:
-#line 648 "dhcp6_parser.yy" // lalr1.cc:919
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("cql", ctx.loc2pos(yystack_[0].location))); }
-#line 1333 "dhcp6_parser.cc" // lalr1.cc:919
+ case 171:
+#line 652 "dhcp6_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("cql", ctx.loc2pos(yystack_[0].location))); }
+#line 1283 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 170:
-#line 651 "dhcp6_parser.yy" // lalr1.cc:919
+ case 172:
+#line 655 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1341 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1291 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 171:
-#line 653 "dhcp6_parser.yy" // lalr1.cc:919
+ case 173:
+#line 657 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr user(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr user(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("user", user);
ctx.leave();
}
-#line 1351 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1301 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 172:
-#line 659 "dhcp6_parser.yy" // lalr1.cc:919
+ case 174:
+#line 663 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1359 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1309 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 173:
-#line 661 "dhcp6_parser.yy" // lalr1.cc:919
+ case 175:
+#line 665 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr pwd(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr pwd(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("password", pwd);
ctx.leave();
}
-#line 1369 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1319 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 174:
-#line 667 "dhcp6_parser.yy" // lalr1.cc:919
+ case 176:
+#line 671 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1377 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1327 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 175:
-#line 669 "dhcp6_parser.yy" // lalr1.cc:919
+ case 177:
+#line 673 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr h(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr h(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("host", h);
ctx.leave();
}
-#line 1387 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1337 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 176:
-#line 675 "dhcp6_parser.yy" // lalr1.cc:919
+ case 178:
+#line 679 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr p(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr p(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("port", p);
}
-#line 1396 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1346 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 177:
-#line 680 "dhcp6_parser.yy" // lalr1.cc:919
+ case 179:
+#line 684 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1404 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1354 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 178:
-#line 682 "dhcp6_parser.yy" // lalr1.cc:919
+ case 180:
+#line 686 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr name(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr name(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("name", name);
ctx.leave();
}
-#line 1414 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1364 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 179:
-#line 688 "dhcp6_parser.yy" // lalr1.cc:919
+ case 181:
+#line 692 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr n(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr n(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("persist", n);
}
-#line 1423 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1373 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 180:
-#line 693 "dhcp6_parser.yy" // lalr1.cc:919
+ case 182:
+#line 697 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr n(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("lfc-interval", n);
}
-#line 1432 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1382 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 181:
-#line 698 "dhcp6_parser.yy" // lalr1.cc:919
+ case 183:
+#line 702 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr n(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr n(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("readonly", n);
}
-#line 1441 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1391 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 182:
-#line 703 "dhcp6_parser.yy" // lalr1.cc:919
+ case 184:
+#line 707 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr n(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("connect-timeout", n);
}
-#line 1450 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1400 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 183:
-#line 708 "dhcp6_parser.yy" // lalr1.cc:919
+ case 185:
+#line 712 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr n(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("reconnect-wait-time", n);
}
-#line 1459 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1409 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 184:
-#line 713 "dhcp6_parser.yy" // lalr1.cc:919
+ case 186:
+#line 717 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr n(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("request-timeout", n);
}
-#line 1468 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1418 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 185:
-#line 718 "dhcp6_parser.yy" // lalr1.cc:919
+ case 187:
+#line 722 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr n(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("tcp-keepalive", n);
}
-#line 1477 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1427 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 186:
-#line 723 "dhcp6_parser.yy" // lalr1.cc:919
+ case 188:
+#line 727 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr n(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr n(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("tcp-nodelay", n);
}
-#line 1486 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1436 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 187:
-#line 728 "dhcp6_parser.yy" // lalr1.cc:919
+ case 189:
+#line 732 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1494 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1444 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 188:
-#line 730 "dhcp6_parser.yy" // lalr1.cc:919
+ case 190:
+#line 734 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr cp(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr cp(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("contact-points", cp);
ctx.leave();
}
-#line 1504 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1454 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 189:
-#line 736 "dhcp6_parser.yy" // lalr1.cc:919
+ case 191:
+#line 740 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr n(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("max-reconnect-tries", n);
}
-#line 1513 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1463 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 190:
-#line 741 "dhcp6_parser.yy" // lalr1.cc:919
+ case 192:
+#line 745 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1521 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1471 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 191:
-#line 743 "dhcp6_parser.yy" // lalr1.cc:919
+ case 193:
+#line 747 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr ks(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr ks(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("keyspace", ks);
ctx.leave();
}
-#line 1531 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1481 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 192:
-#line 749 "dhcp6_parser.yy" // lalr1.cc:919
+ case 194:
+#line 753 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ctx.enter(ctx.NO_KEYWORD);
+}
+#line 1489 "dhcp6_parser.cc" // lalr1.cc:859
+ break;
+
+ case 195:
+#line 755 "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 1499 "dhcp6_parser.cc" // lalr1.cc:859
+ break;
+
+ case 196:
+#line 761 "dhcp6_parser.yy" // lalr1.cc:859
+ {
+ ctx.enter(ctx.NO_KEYWORD);
+}
+#line 1507 "dhcp6_parser.cc" // lalr1.cc:859
+ break;
+
+ case 197:
+#line 763 "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 1517 "dhcp6_parser.cc" // lalr1.cc:859
+ break;
+
+ case 198:
+#line 769 "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 1542 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1528 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 193:
-#line 754 "dhcp6_parser.yy" // lalr1.cc:919
+ case 199:
+#line 774 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 1551 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1537 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 197:
-#line 764 "dhcp6_parser.yy" // lalr1.cc:919
+ case 203:
+#line 784 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1559 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1545 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 198:
-#line 766 "dhcp6_parser.yy" // lalr1.cc:919
+ case 204:
+#line 786 "dhcp6_parser.yy" // lalr1.cc:859
{
- if ( (string(yystack_[0].value.as < std::string > ()) == "none") ||
- (string(yystack_[0].value.as < std::string > ()) == "warn") ||
- (string(yystack_[0].value.as < std::string > ()) == "fix") ||
- (string(yystack_[0].value.as < std::string > ()) == "fix-del") ||
- (string(yystack_[0].value.as < std::string > ()) == "del")) {
- ElementPtr user(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ if ( (string(yystack_[0].value.as< std::string > ()) == "none") ||
+ (string(yystack_[0].value.as< std::string > ()) == "warn") ||
+ (string(yystack_[0].value.as< std::string > ()) == "fix") ||
+ (string(yystack_[0].value.as< std::string > ()) == "fix-del") ||
+ (string(yystack_[0].value.as< std::string > ()) == "del")) {
+ ElementPtr user(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("lease-checks", user);
ctx.leave();
} else {
- error(yystack_[0].location, "Unsupported 'lease-checks value: " + string(yystack_[0].value.as < std::string > ()) +
+ error(yystack_[0].location, "Unsupported 'lease-checks value: " + string(yystack_[0].value.as< std::string > ()) +
", supported values are: none, warn, fix, fix-del, del");
}
}
-#line 1579 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1565 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 199:
-#line 782 "dhcp6_parser.yy" // lalr1.cc:919
+ case 205:
+#line 802 "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 1590 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1576 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 200:
-#line 787 "dhcp6_parser.yy" // lalr1.cc:919
+ case 206:
+#line 807 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 1599 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1585 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 205:
-#line 800 "dhcp6_parser.yy" // lalr1.cc:919
+ case 211:
+#line 820 "dhcp6_parser.yy" // lalr1.cc:859
{
ElementPtr duid(new StringElement("duid", ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(duid);
}
-#line 1608 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1594 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 206:
-#line 805 "dhcp6_parser.yy" // lalr1.cc:919
+ case 212:
+#line 825 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr duid(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr duid(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(duid);
}
-#line 1617 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1603 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 207:
-#line 810 "dhcp6_parser.yy" // lalr1.cc:919
+ case 213:
+#line 830 "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 1628 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1614 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 208:
-#line 815 "dhcp6_parser.yy" // lalr1.cc:919
+ case 214:
+#line 835 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 1637 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1623 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 214:
-#line 829 "dhcp6_parser.yy" // lalr1.cc:919
+ case 220:
+#line 849 "dhcp6_parser.yy" // lalr1.cc:859
{
ElementPtr hwaddr(new StringElement("hw-address", ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(hwaddr);
}
-#line 1646 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1632 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 215:
-#line 834 "dhcp6_parser.yy" // lalr1.cc:919
+ case 221:
+#line 854 "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 1655 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1641 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 216:
-#line 841 "dhcp6_parser.yy" // lalr1.cc:919
+ case 222:
+#line 861 "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 1666 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1652 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 217:
-#line 846 "dhcp6_parser.yy" // lalr1.cc:919
+ case 223:
+#line 866 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 1675 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1661 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 218:
-#line 851 "dhcp6_parser.yy" // lalr1.cc:919
+ case 224:
+#line 871 "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 1686 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1672 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 219:
-#line 856 "dhcp6_parser.yy" // lalr1.cc:919
+ case 225:
+#line 876 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 1695 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1681 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 224:
-#line 869 "dhcp6_parser.yy" // lalr1.cc:919
+ case 230:
+#line 889 "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 1705 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1691 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 225:
-#line 873 "dhcp6_parser.yy" // lalr1.cc:919
+ case 231:
+#line 893 "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 1715 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1701 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 226:
-#line 879 "dhcp6_parser.yy" // lalr1.cc:919
+ case 232:
+#line 899 "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 1725 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1711 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 227:
-#line 883 "dhcp6_parser.yy" // lalr1.cc:919
+ case 233:
+#line 903 "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 1735 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1721 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 233:
-#line 898 "dhcp6_parser.yy" // lalr1.cc:919
+ case 239:
+#line 918 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1743 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1729 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 234:
-#line 900 "dhcp6_parser.yy" // lalr1.cc:919
+ case 240:
+#line 920 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr lib(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr lib(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("library", lib);
ctx.leave();
}
-#line 1753 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1739 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 235:
-#line 906 "dhcp6_parser.yy" // lalr1.cc:919
+ case 241:
+#line 926 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1761 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1747 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 236:
-#line 908 "dhcp6_parser.yy" // lalr1.cc:919
+ case 242:
+#line 928 "dhcp6_parser.yy" // lalr1.cc:859
{
- ctx.stack_.back()->set("parameters", yystack_[0].value.as < ElementPtr > ());
+ ctx.stack_.back()->set("parameters", yystack_[0].value.as< ElementPtr > ());
ctx.leave();
}
-#line 1770 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1756 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 237:
-#line 914 "dhcp6_parser.yy" // lalr1.cc:919
+ case 243:
+#line 934 "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 1781 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1767 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 238:
-#line 919 "dhcp6_parser.yy" // lalr1.cc:919
+ case 244:
+#line 939 "dhcp6_parser.yy" // lalr1.cc:859
{
// No expired lease parameter is required
ctx.stack_.pop_back();
ctx.leave();
}
-#line 1791 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1777 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 247:
-#line 937 "dhcp6_parser.yy" // lalr1.cc:919
+ case 253:
+#line 957 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr value(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("reclaim-timer-wait-time", value);
}
-#line 1800 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1786 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 248:
-#line 942 "dhcp6_parser.yy" // lalr1.cc:919
+ case 254:
+#line 962 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr value(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("flush-reclaimed-timer-wait-time", value);
}
-#line 1809 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1795 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 249:
-#line 947 "dhcp6_parser.yy" // lalr1.cc:919
+ case 255:
+#line 967 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr value(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("hold-reclaimed-time", value);
}
-#line 1818 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1804 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 250:
-#line 952 "dhcp6_parser.yy" // lalr1.cc:919
+ case 256:
+#line 972 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr value(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("max-reclaim-leases", value);
}
-#line 1827 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1813 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 251:
-#line 957 "dhcp6_parser.yy" // lalr1.cc:919
+ case 257:
+#line 977 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr value(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("max-reclaim-time", value);
}
-#line 1836 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1822 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 252:
-#line 962 "dhcp6_parser.yy" // lalr1.cc:919
+ case 258:
+#line 982 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr value(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("unwarned-reclaim-cycles", value);
}
-#line 1845 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1831 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 253:
-#line 970 "dhcp6_parser.yy" // lalr1.cc:919
+ case 259:
+#line 990 "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 1856 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1842 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 254:
-#line 975 "dhcp6_parser.yy" // lalr1.cc:919
+ case 260:
+#line 995 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 1865 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1851 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 259:
-#line 995 "dhcp6_parser.yy" // lalr1.cc:919
+ case 265:
+#line 1015 "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 1875 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1861 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 260:
-#line 999 "dhcp6_parser.yy" // lalr1.cc:919
+ case 266:
+#line 1019 "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.
ctx.require("subnet", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
ctx.stack_.pop_back();
}
-#line 1901 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1887 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 261:
-#line 1021 "dhcp6_parser.yy" // lalr1.cc:919
+ case 267:
+#line 1041 "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 1911 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1897 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 262:
-#line 1025 "dhcp6_parser.yy" // lalr1.cc:919
+ case 268:
+#line 1045 "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 1921 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1907 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 285:
-#line 1059 "dhcp6_parser.yy" // lalr1.cc:919
+ case 291:
+#line 1079 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1929 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1915 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 286:
-#line 1061 "dhcp6_parser.yy" // lalr1.cc:919
+ case 292:
+#line 1081 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr subnet(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr subnet(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("subnet", subnet);
ctx.leave();
}
-#line 1939 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1925 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 287:
-#line 1067 "dhcp6_parser.yy" // lalr1.cc:919
+ case 293:
+#line 1087 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1947 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1933 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 288:
-#line 1069 "dhcp6_parser.yy" // lalr1.cc:919
+ case 294:
+#line 1089 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr iface(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr iface(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("interface", iface);
ctx.leave();
}
-#line 1957 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1943 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 289:
-#line 1075 "dhcp6_parser.yy" // lalr1.cc:919
+ case 295:
+#line 1095 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1965 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1951 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 290:
-#line 1077 "dhcp6_parser.yy" // lalr1.cc:919
+ case 296:
+#line 1097 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr iface(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr iface(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("interface-id", iface);
ctx.leave();
}
-#line 1975 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1961 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 291:
-#line 1083 "dhcp6_parser.yy" // lalr1.cc:919
+ case 297:
+#line 1103 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1983 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1969 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 292:
-#line 1085 "dhcp6_parser.yy" // lalr1.cc:919
+ case 298:
+#line 1105 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr cls(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr cls(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("client-class", cls);
ctx.leave();
}
-#line 1993 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1979 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 293:
-#line 1091 "dhcp6_parser.yy" // lalr1.cc:919
+ case 299:
+#line 1111 "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 2004 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1990 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 294:
-#line 1096 "dhcp6_parser.yy" // lalr1.cc:919
+ case 300:
+#line 1116 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 2013 "dhcp6_parser.cc" // lalr1.cc:919
+#line 1999 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 295:
-#line 1101 "dhcp6_parser.yy" // lalr1.cc:919
+ case 301:
+#line 1121 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.RESERVATION_MODE);
}
-#line 2021 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2007 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 296:
-#line 1103 "dhcp6_parser.yy" // lalr1.cc:919
+ case 302:
+#line 1123 "dhcp6_parser.yy" // lalr1.cc:859
{
- ctx.stack_.back()->set("reservation-mode", yystack_[0].value.as < ElementPtr > ());
+ ctx.stack_.back()->set("reservation-mode", yystack_[0].value.as< ElementPtr > ());
ctx.leave();
}
-#line 2030 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2016 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 297:
-#line 1108 "dhcp6_parser.yy" // lalr1.cc:919
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("disabled", ctx.loc2pos(yystack_[0].location))); }
-#line 2036 "dhcp6_parser.cc" // lalr1.cc:919
+ case 303:
+#line 1128 "dhcp6_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("disabled", ctx.loc2pos(yystack_[0].location))); }
+#line 2022 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 298:
-#line 1109 "dhcp6_parser.yy" // lalr1.cc:919
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("out-of-pool", ctx.loc2pos(yystack_[0].location))); }
-#line 2042 "dhcp6_parser.cc" // lalr1.cc:919
+ case 304:
+#line 1129 "dhcp6_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("out-of-pool", ctx.loc2pos(yystack_[0].location))); }
+#line 2028 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 299:
-#line 1110 "dhcp6_parser.yy" // lalr1.cc:919
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("global", ctx.loc2pos(yystack_[0].location))); }
-#line 2048 "dhcp6_parser.cc" // lalr1.cc:919
+ case 305:
+#line 1130 "dhcp6_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("global", ctx.loc2pos(yystack_[0].location))); }
+#line 2034 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 300:
-#line 1111 "dhcp6_parser.yy" // lalr1.cc:919
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("all", ctx.loc2pos(yystack_[0].location))); }
-#line 2054 "dhcp6_parser.cc" // lalr1.cc:919
+ case 306:
+#line 1131 "dhcp6_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("all", ctx.loc2pos(yystack_[0].location))); }
+#line 2040 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 301:
-#line 1114 "dhcp6_parser.yy" // lalr1.cc:919
+ case 307:
+#line 1134 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr id(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr id(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("id", id);
}
-#line 2063 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2049 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 302:
-#line 1119 "dhcp6_parser.yy" // lalr1.cc:919
+ case 308:
+#line 1139 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr rc(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr rc(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("rapid-commit", rc);
}
-#line 2072 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2058 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 303:
-#line 1127 "dhcp6_parser.yy" // lalr1.cc:919
+ case 309:
+#line 1147 "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 2083 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2069 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 304:
-#line 1132 "dhcp6_parser.yy" // lalr1.cc:919
+ case 310:
+#line 1152 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 2092 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2078 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 309:
-#line 1147 "dhcp6_parser.yy" // lalr1.cc:919
+ case 315:
+#line 1167 "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 2102 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2088 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 310:
-#line 1151 "dhcp6_parser.yy" // lalr1.cc:919
+ case 316:
+#line 1171 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
}
-#line 2110 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2096 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 330:
-#line 1182 "dhcp6_parser.yy" // lalr1.cc:919
+ case 336:
+#line 1202 "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 2121 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2107 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 331:
-#line 1187 "dhcp6_parser.yy" // lalr1.cc:919
+ case 337:
+#line 1207 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 2130 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2116 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 332:
-#line 1195 "dhcp6_parser.yy" // lalr1.cc:919
+ case 338:
+#line 1215 "dhcp6_parser.yy" // lalr1.cc:859
{
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.push_back(m);
}
-#line 2139 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2125 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 333:
-#line 1198 "dhcp6_parser.yy" // lalr1.cc:919
+ case 339:
+#line 1218 "dhcp6_parser.yy" // lalr1.cc:859
{
// parsing completed
}
-#line 2147 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2133 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 338:
-#line 1214 "dhcp6_parser.yy" // lalr1.cc:919
+ case 344:
+#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 2157 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2143 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 339:
-#line 1218 "dhcp6_parser.yy" // lalr1.cc:919
+ case 345:
+#line 1238 "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("type", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
ctx.stack_.pop_back();
}
-#line 2169 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2155 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 340:
-#line 1229 "dhcp6_parser.yy" // lalr1.cc:919
+ case 346:
+#line 1249 "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 2179 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2165 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 341:
-#line 1233 "dhcp6_parser.yy" // lalr1.cc:919
+ case 347:
+#line 1253 "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("type", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
// parsing completed
}
-#line 2191 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2177 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 357:
-#line 1265 "dhcp6_parser.yy" // lalr1.cc:919
+ case 363:
+#line 1285 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr code(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr code(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("code", code);
}
-#line 2200 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2186 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 359:
-#line 1272 "dhcp6_parser.yy" // lalr1.cc:919
+ case 365:
+#line 1292 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2208 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2194 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 360:
-#line 1274 "dhcp6_parser.yy" // lalr1.cc:919
+ case 366:
+#line 1294 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr prf(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr prf(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("type", prf);
ctx.leave();
}
-#line 2218 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2204 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 361:
-#line 1280 "dhcp6_parser.yy" // lalr1.cc:919
+ case 367:
+#line 1300 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2226 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2212 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 362:
-#line 1282 "dhcp6_parser.yy" // lalr1.cc:919
+ case 368:
+#line 1302 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr rtypes(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr rtypes(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("record-types", rtypes);
ctx.leave();
}
-#line 2236 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2222 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 363:
-#line 1288 "dhcp6_parser.yy" // lalr1.cc:919
+ case 369:
+#line 1308 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2244 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2230 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 364:
-#line 1290 "dhcp6_parser.yy" // lalr1.cc:919
+ case 370:
+#line 1310 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr space(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr space(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("space", space);
ctx.leave();
}
-#line 2254 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2240 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 366:
-#line 1298 "dhcp6_parser.yy" // lalr1.cc:919
+ case 372:
+#line 1318 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2262 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2248 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 367:
-#line 1300 "dhcp6_parser.yy" // lalr1.cc:919
+ case 373:
+#line 1320 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr encap(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr encap(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("encapsulate", encap);
ctx.leave();
}
-#line 2272 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2258 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 368:
-#line 1306 "dhcp6_parser.yy" // lalr1.cc:919
+ case 374:
+#line 1326 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr array(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr array(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("array", array);
}
-#line 2281 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2267 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 369:
-#line 1315 "dhcp6_parser.yy" // lalr1.cc:919
+ case 375:
+#line 1335 "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 2292 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2278 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 370:
-#line 1320 "dhcp6_parser.yy" // lalr1.cc:919
+ case 376:
+#line 1340 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 2301 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2287 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 375:
-#line 1339 "dhcp6_parser.yy" // lalr1.cc:919
+ case 381:
+#line 1359 "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 2311 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2297 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 376:
-#line 1343 "dhcp6_parser.yy" // lalr1.cc:919
+ case 382:
+#line 1363 "dhcp6_parser.yy" // lalr1.cc:859
{
/// @todo: the code or name parameters are required.
ctx.stack_.pop_back();
}
-#line 2320 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2306 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 377:
-#line 1351 "dhcp6_parser.yy" // lalr1.cc:919
+ case 383:
+#line 1371 "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 2330 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2316 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 378:
-#line 1355 "dhcp6_parser.yy" // lalr1.cc:919
+ case 384:
+#line 1375 "dhcp6_parser.yy" // lalr1.cc:859
{
/// @todo: the code or name parameters are required.
// parsing completed
}
-#line 2339 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2325 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 393:
-#line 1388 "dhcp6_parser.yy" // lalr1.cc:919
+ case 399:
+#line 1408 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2347 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2333 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 394:
-#line 1390 "dhcp6_parser.yy" // lalr1.cc:919
+ case 400:
+#line 1410 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr data(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr data(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("data", data);
ctx.leave();
}
-#line 2357 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2343 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 397:
-#line 1400 "dhcp6_parser.yy" // lalr1.cc:919
+ case 403:
+#line 1420 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr space(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr space(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("csv-format", space);
}
-#line 2366 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2352 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 398:
-#line 1405 "dhcp6_parser.yy" // lalr1.cc:919
+ case 404:
+#line 1425 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr persist(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr persist(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("always-send", persist);
}
-#line 2375 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2361 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 399:
-#line 1413 "dhcp6_parser.yy" // lalr1.cc:919
+ case 405:
+#line 1433 "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 2386 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2372 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 400:
-#line 1418 "dhcp6_parser.yy" // lalr1.cc:919
+ case 406:
+#line 1438 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 2395 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2381 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 405:
-#line 1433 "dhcp6_parser.yy" // lalr1.cc:919
+ case 411:
+#line 1453 "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 2405 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2391 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 406:
-#line 1437 "dhcp6_parser.yy" // lalr1.cc:919
+ case 412:
+#line 1457 "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 2415 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2401 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 407:
-#line 1443 "dhcp6_parser.yy" // lalr1.cc:919
+ case 413:
+#line 1463 "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 2425 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2411 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 408:
-#line 1447 "dhcp6_parser.yy" // lalr1.cc:919
+ case 414:
+#line 1467 "dhcp6_parser.yy" // lalr1.cc:859
{
// The pool parameter is required.
ctx.require("pool", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
}
-#line 2434 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2420 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 418:
-#line 1465 "dhcp6_parser.yy" // lalr1.cc:919
+ case 424:
+#line 1485 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2442 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2428 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 419:
-#line 1467 "dhcp6_parser.yy" // lalr1.cc:919
+ case 425:
+#line 1487 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr pool(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr pool(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("pool", pool);
ctx.leave();
}
-#line 2452 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2438 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 420:
-#line 1473 "dhcp6_parser.yy" // lalr1.cc:919
+ case 426:
+#line 1493 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2460 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2446 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 421:
-#line 1475 "dhcp6_parser.yy" // lalr1.cc:919
+ case 427:
+#line 1495 "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 2487 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2473 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 422:
-#line 1498 "dhcp6_parser.yy" // lalr1.cc:919
+ case 428:
+#line 1518 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2495 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2481 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 423:
-#line 1500 "dhcp6_parser.yy" // lalr1.cc:919
+ case 429:
+#line 1520 "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 2524 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2510 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 424:
-#line 1528 "dhcp6_parser.yy" // lalr1.cc:919
+ case 430:
+#line 1548 "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 2535 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2521 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 425:
-#line 1533 "dhcp6_parser.yy" // lalr1.cc:919
+ case 431:
+#line 1553 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 2544 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2530 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 430:
-#line 1548 "dhcp6_parser.yy" // lalr1.cc:919
+ case 436:
+#line 1568 "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 2554 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2540 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 431:
-#line 1552 "dhcp6_parser.yy" // lalr1.cc:919
+ case 437:
+#line 1572 "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("delegated-len", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
ctx.stack_.pop_back();
}
-#line 2566 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2552 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 432:
-#line 1560 "dhcp6_parser.yy" // lalr1.cc:919
+ case 438:
+#line 1580 "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 2576 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2562 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 433:
-#line 1564 "dhcp6_parser.yy" // lalr1.cc:919
+ case 439:
+#line 1584 "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("delegated-len", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
// parsing completed
}
-#line 2588 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2574 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 447:
-#line 1589 "dhcp6_parser.yy" // lalr1.cc:919
+ case 453:
+#line 1609 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2596 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2582 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 448:
-#line 1591 "dhcp6_parser.yy" // lalr1.cc:919
+ case 454:
+#line 1611 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr prf(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr prf(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("prefix", prf);
ctx.leave();
}
-#line 2606 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2592 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 449:
-#line 1597 "dhcp6_parser.yy" // lalr1.cc:919
+ case 455:
+#line 1617 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("prefix-len", prf);
}
-#line 2615 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2601 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 450:
-#line 1602 "dhcp6_parser.yy" // lalr1.cc:919
+ case 456:
+#line 1622 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2623 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2609 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 451:
-#line 1604 "dhcp6_parser.yy" // lalr1.cc:919
+ case 457:
+#line 1624 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr prf(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr prf(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("excluded-prefix", prf);
ctx.leave();
}
-#line 2633 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2619 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 452:
-#line 1610 "dhcp6_parser.yy" // lalr1.cc:919
+ case 458:
+#line 1630 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("excluded-prefix-len", prf);
}
-#line 2642 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2628 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 453:
-#line 1615 "dhcp6_parser.yy" // lalr1.cc:919
+ case 459:
+#line 1635 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr deleg(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr deleg(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("delegated-len", deleg);
}
-#line 2651 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2637 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 454:
-#line 1623 "dhcp6_parser.yy" // lalr1.cc:919
+ case 460:
+#line 1643 "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 2662 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2648 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 455:
-#line 1628 "dhcp6_parser.yy" // lalr1.cc:919
+ case 461:
+#line 1648 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 2671 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2657 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 460:
-#line 1641 "dhcp6_parser.yy" // lalr1.cc:919
+ case 466:
+#line 1661 "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 2681 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2667 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 461:
-#line 1645 "dhcp6_parser.yy" // lalr1.cc:919
+ case 467:
+#line 1665 "dhcp6_parser.yy" // lalr1.cc:859
{
/// @todo: an identifier parameter is required.
ctx.stack_.pop_back();
}
-#line 2690 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2676 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 462:
-#line 1650 "dhcp6_parser.yy" // lalr1.cc:919
+ case 468:
+#line 1670 "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 2700 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2686 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 463:
-#line 1654 "dhcp6_parser.yy" // lalr1.cc:919
+ case 469:
+#line 1674 "dhcp6_parser.yy" // lalr1.cc:859
{
/// @todo: an identifier parameter is required.
// parsing completed
}
-#line 2709 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2695 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 479:
-#line 1681 "dhcp6_parser.yy" // lalr1.cc:919
+ case 485:
+#line 1701 "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 2720 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2706 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 480:
-#line 1686 "dhcp6_parser.yy" // lalr1.cc:919
+ case 486:
+#line 1706 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 2729 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2715 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 481:
-#line 1691 "dhcp6_parser.yy" // lalr1.cc:919
+ case 487:
+#line 1711 "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 2740 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2726 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 482:
-#line 1696 "dhcp6_parser.yy" // lalr1.cc:919
+ case 488:
+#line 1716 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 2749 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2735 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 483:
-#line 1701 "dhcp6_parser.yy" // lalr1.cc:919
+ case 489:
+#line 1721 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2757 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2743 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 484:
-#line 1703 "dhcp6_parser.yy" // lalr1.cc:919
+ case 490:
+#line 1723 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr d(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr d(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("duid", d);
ctx.leave();
}
-#line 2767 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2753 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 485:
-#line 1709 "dhcp6_parser.yy" // lalr1.cc:919
+ case 491:
+#line 1729 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2775 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2761 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 486:
-#line 1711 "dhcp6_parser.yy" // lalr1.cc:919
+ case 492:
+#line 1731 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr hw(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr hw(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("hw-address", hw);
ctx.leave();
}
-#line 2785 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2771 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 487:
-#line 1717 "dhcp6_parser.yy" // lalr1.cc:919
+ case 493:
+#line 1737 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2793 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2779 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 488:
-#line 1719 "dhcp6_parser.yy" // lalr1.cc:919
+ case 494:
+#line 1739 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr host(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr host(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("hostname", host);
ctx.leave();
}
-#line 2803 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2789 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 489:
-#line 1725 "dhcp6_parser.yy" // lalr1.cc:919
+ case 495:
+#line 1745 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2811 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2797 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 490:
-#line 1727 "dhcp6_parser.yy" // lalr1.cc:919
+ case 496:
+#line 1747 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr hw(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr hw(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("flex-id", hw);
ctx.leave();
}
-#line 2821 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2807 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 491:
-#line 1733 "dhcp6_parser.yy" // lalr1.cc:919
+ case 497:
+#line 1753 "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 2832 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2818 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 492:
-#line 1738 "dhcp6_parser.yy" // lalr1.cc:919
+ case 498:
+#line 1758 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 2841 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2827 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 493:
-#line 1746 "dhcp6_parser.yy" // lalr1.cc:919
+ case 499:
+#line 1766 "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 2852 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2838 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 494:
-#line 1751 "dhcp6_parser.yy" // lalr1.cc:919
+ case 500:
+#line 1771 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 2861 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2847 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 497:
-#line 1760 "dhcp6_parser.yy" // lalr1.cc:919
+ case 503:
+#line 1780 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2869 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2855 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 498:
-#line 1762 "dhcp6_parser.yy" // lalr1.cc:919
+ case 504:
+#line 1782 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr addr(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr addr(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("ip-address", addr);
ctx.leave();
}
-#line 2879 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2865 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 499:
-#line 1771 "dhcp6_parser.yy" // lalr1.cc:919
+ case 505:
+#line 1791 "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 2890 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2876 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 500:
-#line 1776 "dhcp6_parser.yy" // lalr1.cc:919
+ case 506:
+#line 1796 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 2899 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2885 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 503:
-#line 1785 "dhcp6_parser.yy" // lalr1.cc:919
+ case 509:
+#line 1805 "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 2909 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2895 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 504:
-#line 1789 "dhcp6_parser.yy" // lalr1.cc:919
+ case 510:
+#line 1809 "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 2919 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2905 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 517:
-#line 1814 "dhcp6_parser.yy" // lalr1.cc:919
+ case 523:
+#line 1834 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2927 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2913 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 518:
-#line 1816 "dhcp6_parser.yy" // lalr1.cc:919
+ case 524:
+#line 1836 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr test(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr test(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("test", test);
ctx.leave();
}
-#line 2937 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2923 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 519:
-#line 1822 "dhcp6_parser.yy" // lalr1.cc:919
+ case 525:
+#line 1842 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("only-if-required", b);
}
-#line 2946 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2932 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 520:
-#line 1830 "dhcp6_parser.yy" // lalr1.cc:919
+ case 526:
+#line 1850 "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 2957 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2943 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 521:
-#line 1835 "dhcp6_parser.yy" // lalr1.cc:919
+ case 527:
+#line 1855 "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 2968 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2954 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 533:
-#line 1857 "dhcp6_parser.yy" // lalr1.cc:919
+ case 539:
+#line 1877 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.DUID_TYPE);
}
-#line 2976 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2962 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 534:
-#line 1859 "dhcp6_parser.yy" // lalr1.cc:919
+ case 540:
+#line 1879 "dhcp6_parser.yy" // lalr1.cc:859
{
- ctx.stack_.back()->set("type", yystack_[0].value.as < ElementPtr > ());
+ ctx.stack_.back()->set("type", yystack_[0].value.as< ElementPtr > ());
ctx.leave();
}
-#line 2985 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2971 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 535:
-#line 1864 "dhcp6_parser.yy" // lalr1.cc:919
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("LLT", ctx.loc2pos(yystack_[0].location))); }
-#line 2991 "dhcp6_parser.cc" // lalr1.cc:919
+ case 541:
+#line 1884 "dhcp6_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("LLT", ctx.loc2pos(yystack_[0].location))); }
+#line 2977 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 536:
-#line 1865 "dhcp6_parser.yy" // lalr1.cc:919
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("EN", ctx.loc2pos(yystack_[0].location))); }
-#line 2997 "dhcp6_parser.cc" // lalr1.cc:919
+ case 542:
+#line 1885 "dhcp6_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("EN", ctx.loc2pos(yystack_[0].location))); }
+#line 2983 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 537:
-#line 1866 "dhcp6_parser.yy" // lalr1.cc:919
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("LL", ctx.loc2pos(yystack_[0].location))); }
-#line 3003 "dhcp6_parser.cc" // lalr1.cc:919
+ case 543:
+#line 1886 "dhcp6_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("LL", ctx.loc2pos(yystack_[0].location))); }
+#line 2989 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 538:
-#line 1869 "dhcp6_parser.yy" // lalr1.cc:919
+ case 544:
+#line 1889 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr htype(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr htype(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("htype", htype);
}
-#line 3012 "dhcp6_parser.cc" // lalr1.cc:919
+#line 2998 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 539:
-#line 1874 "dhcp6_parser.yy" // lalr1.cc:919
+ case 545:
+#line 1894 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3020 "dhcp6_parser.cc" // lalr1.cc:919
+#line 3006 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 540:
-#line 1876 "dhcp6_parser.yy" // lalr1.cc:919
+ case 546:
+#line 1896 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr id(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr id(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("identifier", id);
ctx.leave();
}
-#line 3030 "dhcp6_parser.cc" // lalr1.cc:919
+#line 3016 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 541:
-#line 1882 "dhcp6_parser.yy" // lalr1.cc:919
+ case 547:
+#line 1902 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr time(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr time(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("time", time);
}
-#line 3039 "dhcp6_parser.cc" // lalr1.cc:919
+#line 3025 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 542:
-#line 1887 "dhcp6_parser.yy" // lalr1.cc:919
+ case 548:
+#line 1907 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr time(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr time(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("enterprise-id", time);
}
-#line 3048 "dhcp6_parser.cc" // lalr1.cc:919
+#line 3034 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 543:
-#line 1894 "dhcp6_parser.yy" // lalr1.cc:919
+ case 549:
+#line 1914 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr time(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr time(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("dhcp4o6-port", time);
}
-#line 3057 "dhcp6_parser.cc" // lalr1.cc:919
+#line 3043 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 544:
-#line 1901 "dhcp6_parser.yy" // lalr1.cc:919
+ case 550:
+#line 1921 "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 3068 "dhcp6_parser.cc" // lalr1.cc:919
+#line 3054 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 545:
-#line 1906 "dhcp6_parser.yy" // lalr1.cc:919
+ case 551:
+#line 1926 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 3077 "dhcp6_parser.cc" // lalr1.cc:919
+#line 3063 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 553:
-#line 1922 "dhcp6_parser.yy" // lalr1.cc:919
+ case 559:
+#line 1942 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3085 "dhcp6_parser.cc" // lalr1.cc:919
+#line 3071 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 554:
-#line 1924 "dhcp6_parser.yy" // lalr1.cc:919
+ case 560:
+#line 1944 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr stype(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr stype(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("socket-type", stype);
ctx.leave();
}
-#line 3095 "dhcp6_parser.cc" // lalr1.cc:919
+#line 3081 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 555:
-#line 1930 "dhcp6_parser.yy" // lalr1.cc:919
+ case 561:
+#line 1950 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3103 "dhcp6_parser.cc" // lalr1.cc:919
+#line 3089 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 556:
-#line 1932 "dhcp6_parser.yy" // lalr1.cc:919
+ case 562:
+#line 1952 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr name(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr name(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("socket-name", name);
ctx.leave();
}
-#line 3113 "dhcp6_parser.cc" // lalr1.cc:919
+#line 3099 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 557:
-#line 1940 "dhcp6_parser.yy" // lalr1.cc:919
+ case 563:
+#line 1960 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3121 "dhcp6_parser.cc" // lalr1.cc:919
+#line 3107 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 558:
-#line 1942 "dhcp6_parser.yy" // lalr1.cc:919
+ case 564:
+#line 1962 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr qc = yystack_[0].value.as < ElementPtr > ();
+ ElementPtr qc = yystack_[0].value.as< ElementPtr > ();
ctx.stack_.back()->set("dhcp-queue-control", qc);
// Doing this manually, because dhcp-queue-control
ctx.leave();
}
-#line 3161 "dhcp6_parser.cc" // lalr1.cc:919
+#line 3147 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 559:
-#line 1980 "dhcp6_parser.yy" // lalr1.cc:919
+ case 565:
+#line 2000 "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 3172 "dhcp6_parser.cc" // lalr1.cc:919
+#line 3158 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 560:
-#line 1985 "dhcp6_parser.yy" // lalr1.cc:919
+ case 566:
+#line 2005 "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 3183 "dhcp6_parser.cc" // lalr1.cc:919
+#line 3169 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 561:
-#line 1992 "dhcp6_parser.yy" // lalr1.cc:919
+ case 567:
+#line 2012 "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 3193 "dhcp6_parser.cc" // lalr1.cc:919
+#line 3179 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 562:
-#line 1996 "dhcp6_parser.yy" // lalr1.cc:919
+ case 568:
+#line 2016 "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 3203 "dhcp6_parser.cc" // lalr1.cc:919
+#line 3189 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 583:
-#line 2026 "dhcp6_parser.yy" // lalr1.cc:919
+ case 589:
+#line 2046 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("enable-updates", b);
}
-#line 3212 "dhcp6_parser.cc" // lalr1.cc:919
+#line 3198 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 584:
-#line 2031 "dhcp6_parser.yy" // lalr1.cc:919
+ case 590:
+#line 2051 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3220 "dhcp6_parser.cc" // lalr1.cc:919
+#line 3206 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 585:
-#line 2033 "dhcp6_parser.yy" // lalr1.cc:919
+ case 591:
+#line 2053 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("qualifying-suffix", s);
ctx.leave();
}
-#line 3230 "dhcp6_parser.cc" // lalr1.cc:919
+#line 3216 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 586:
-#line 2039 "dhcp6_parser.yy" // lalr1.cc:919
+ case 592:
+#line 2059 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3238 "dhcp6_parser.cc" // lalr1.cc:919
+#line 3224 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 587:
-#line 2041 "dhcp6_parser.yy" // lalr1.cc:919
+ case 593:
+#line 2061 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("server-ip", s);
ctx.leave();
}
-#line 3248 "dhcp6_parser.cc" // lalr1.cc:919
+#line 3234 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 588:
-#line 2047 "dhcp6_parser.yy" // lalr1.cc:919
+ case 594:
+#line 2067 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr i(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr i(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("server-port", i);
}
-#line 3257 "dhcp6_parser.cc" // lalr1.cc:919
+#line 3243 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 589:
-#line 2052 "dhcp6_parser.yy" // lalr1.cc:919
+ case 595:
+#line 2072 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3265 "dhcp6_parser.cc" // lalr1.cc:919
+#line 3251 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 590:
-#line 2054 "dhcp6_parser.yy" // lalr1.cc:919
+ case 596:
+#line 2074 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("sender-ip", s);
ctx.leave();
}
-#line 3275 "dhcp6_parser.cc" // lalr1.cc:919
+#line 3261 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 591:
-#line 2060 "dhcp6_parser.yy" // lalr1.cc:919
+ case 597:
+#line 2080 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr i(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr i(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("sender-port", i);
}
-#line 3284 "dhcp6_parser.cc" // lalr1.cc:919
+#line 3270 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 592:
-#line 2065 "dhcp6_parser.yy" // lalr1.cc:919
+ case 598:
+#line 2085 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr i(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr i(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("max-queue-size", i);
}
-#line 3293 "dhcp6_parser.cc" // lalr1.cc:919
+#line 3279 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 593:
-#line 2070 "dhcp6_parser.yy" // lalr1.cc:919
+ case 599:
+#line 2090 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NCR_PROTOCOL);
}
-#line 3301 "dhcp6_parser.cc" // lalr1.cc:919
+#line 3287 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 594:
-#line 2072 "dhcp6_parser.yy" // lalr1.cc:919
+ case 600:
+#line 2092 "dhcp6_parser.yy" // lalr1.cc:859
{
- ctx.stack_.back()->set("ncr-protocol", yystack_[0].value.as < ElementPtr > ());
+ ctx.stack_.back()->set("ncr-protocol", yystack_[0].value.as< ElementPtr > ());
ctx.leave();
}
-#line 3310 "dhcp6_parser.cc" // lalr1.cc:919
+#line 3296 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 595:
-#line 2078 "dhcp6_parser.yy" // lalr1.cc:919
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("UDP", ctx.loc2pos(yystack_[0].location))); }
-#line 3316 "dhcp6_parser.cc" // lalr1.cc:919
+ case 601:
+#line 2098 "dhcp6_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("UDP", ctx.loc2pos(yystack_[0].location))); }
+#line 3302 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 596:
-#line 2079 "dhcp6_parser.yy" // lalr1.cc:919
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("TCP", ctx.loc2pos(yystack_[0].location))); }
-#line 3322 "dhcp6_parser.cc" // lalr1.cc:919
+ case 602:
+#line 2099 "dhcp6_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("TCP", ctx.loc2pos(yystack_[0].location))); }
+#line 3308 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 597:
-#line 2082 "dhcp6_parser.yy" // lalr1.cc:919
+ case 603:
+#line 2102 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NCR_FORMAT);
}
-#line 3330 "dhcp6_parser.cc" // lalr1.cc:919
+#line 3316 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 598:
-#line 2084 "dhcp6_parser.yy" // lalr1.cc:919
+ case 604:
+#line 2104 "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 3340 "dhcp6_parser.cc" // lalr1.cc:919
+#line 3326 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 599:
-#line 2090 "dhcp6_parser.yy" // lalr1.cc:919
+ case 605:
+#line 2110 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("override-no-update", b);
}
-#line 3349 "dhcp6_parser.cc" // lalr1.cc:919
+#line 3335 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 600:
-#line 2095 "dhcp6_parser.yy" // lalr1.cc:919
+ case 606:
+#line 2115 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("override-client-update", b);
}
-#line 3358 "dhcp6_parser.cc" // lalr1.cc:919
+#line 3344 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 601:
-#line 2100 "dhcp6_parser.yy" // lalr1.cc:919
+ case 607:
+#line 2120 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.REPLACE_CLIENT_NAME);
}
-#line 3366 "dhcp6_parser.cc" // lalr1.cc:919
+#line 3352 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 602:
-#line 2102 "dhcp6_parser.yy" // lalr1.cc:919
+ case 608:
+#line 2122 "dhcp6_parser.yy" // lalr1.cc:859
{
- ctx.stack_.back()->set("replace-client-name", yystack_[0].value.as < ElementPtr > ());
+ ctx.stack_.back()->set("replace-client-name", yystack_[0].value.as< ElementPtr > ());
ctx.leave();
}
-#line 3375 "dhcp6_parser.cc" // lalr1.cc:919
+#line 3361 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 603:
-#line 2108 "dhcp6_parser.yy" // lalr1.cc:919
+ case 609:
+#line 2128 "dhcp6_parser.yy" // lalr1.cc:859
{
- yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("when-present", ctx.loc2pos(yystack_[0].location)));
+ yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("when-present", ctx.loc2pos(yystack_[0].location)));
}
-#line 3383 "dhcp6_parser.cc" // lalr1.cc:919
+#line 3369 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 604:
-#line 2111 "dhcp6_parser.yy" // lalr1.cc:919
+ case 610:
+#line 2131 "dhcp6_parser.yy" // lalr1.cc:859
{
- yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("never", ctx.loc2pos(yystack_[0].location)));
+ yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("never", ctx.loc2pos(yystack_[0].location)));
}
-#line 3391 "dhcp6_parser.cc" // lalr1.cc:919
+#line 3377 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 605:
-#line 2114 "dhcp6_parser.yy" // lalr1.cc:919
+ case 611:
+#line 2134 "dhcp6_parser.yy" // lalr1.cc:859
{
- yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("always", ctx.loc2pos(yystack_[0].location)));
+ yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("always", ctx.loc2pos(yystack_[0].location)));
}
-#line 3399 "dhcp6_parser.cc" // lalr1.cc:919
+#line 3385 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 606:
-#line 2117 "dhcp6_parser.yy" // lalr1.cc:919
+ case 612:
+#line 2137 "dhcp6_parser.yy" // lalr1.cc:859
{
- yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("when-not-present", ctx.loc2pos(yystack_[0].location)));
+ yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("when-not-present", ctx.loc2pos(yystack_[0].location)));
}
-#line 3407 "dhcp6_parser.cc" // lalr1.cc:919
+#line 3393 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 607:
-#line 2120 "dhcp6_parser.yy" // lalr1.cc:919
+ case 613:
+#line 2140 "dhcp6_parser.yy" // lalr1.cc:859
{
error(yystack_[0].location, "boolean values for the replace-client-name are "
"no longer supported");
}
-#line 3416 "dhcp6_parser.cc" // lalr1.cc:919
+#line 3402 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 608:
-#line 2126 "dhcp6_parser.yy" // lalr1.cc:919
+ case 614:
+#line 2146 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3424 "dhcp6_parser.cc" // lalr1.cc:919
+#line 3410 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 609:
-#line 2128 "dhcp6_parser.yy" // lalr1.cc:919
+ case 615:
+#line 2148 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("generated-prefix", s);
ctx.leave();
}
-#line 3434 "dhcp6_parser.cc" // lalr1.cc:919
+#line 3420 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 610:
-#line 2134 "dhcp6_parser.yy" // lalr1.cc:919
+ case 616:
+#line 2154 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3442 "dhcp6_parser.cc" // lalr1.cc:919
+#line 3428 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 611:
-#line 2136 "dhcp6_parser.yy" // lalr1.cc:919
+ case 617:
+#line 2156 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("hostname-char-set", s);
ctx.leave();
}
-#line 3452 "dhcp6_parser.cc" // lalr1.cc:919
+#line 3438 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 612:
-#line 2142 "dhcp6_parser.yy" // lalr1.cc:919
+ case 618:
+#line 2162 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3460 "dhcp6_parser.cc" // lalr1.cc:919
+#line 3446 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 613:
-#line 2144 "dhcp6_parser.yy" // lalr1.cc:919
+ case 619:
+#line 2164 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("hostname-char-replacement", s);
ctx.leave();
}
-#line 3470 "dhcp6_parser.cc" // lalr1.cc:919
+#line 3456 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 614:
-#line 2152 "dhcp6_parser.yy" // lalr1.cc:919
+ case 620:
+#line 2172 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3478 "dhcp6_parser.cc" // lalr1.cc:919
+#line 3464 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 615:
-#line 2154 "dhcp6_parser.yy" // lalr1.cc:919
+ case 621:
+#line 2174 "dhcp6_parser.yy" // lalr1.cc:859
{
- ctx.stack_.back()->set("Dhcp4", yystack_[0].value.as < ElementPtr > ());
+ ctx.stack_.back()->set("Dhcp4", yystack_[0].value.as< ElementPtr > ());
ctx.leave();
}
-#line 3487 "dhcp6_parser.cc" // lalr1.cc:919
+#line 3473 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 616:
-#line 2159 "dhcp6_parser.yy" // lalr1.cc:919
+ case 622:
+#line 2179 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3495 "dhcp6_parser.cc" // lalr1.cc:919
+#line 3481 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 617:
-#line 2161 "dhcp6_parser.yy" // lalr1.cc:919
+ case 623:
+#line 2181 "dhcp6_parser.yy" // lalr1.cc:859
{
- ctx.stack_.back()->set("DhcpDdns", yystack_[0].value.as < ElementPtr > ());
+ ctx.stack_.back()->set("DhcpDdns", yystack_[0].value.as< ElementPtr > ());
ctx.leave();
}
-#line 3504 "dhcp6_parser.cc" // lalr1.cc:919
+#line 3490 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 618:
-#line 2166 "dhcp6_parser.yy" // lalr1.cc:919
+ case 624:
+#line 2186 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3512 "dhcp6_parser.cc" // lalr1.cc:919
+#line 3498 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 619:
-#line 2168 "dhcp6_parser.yy" // lalr1.cc:919
+ case 625:
+#line 2188 "dhcp6_parser.yy" // lalr1.cc:859
{
- ctx.stack_.back()->set("Control-agent", yystack_[0].value.as < ElementPtr > ());
+ ctx.stack_.back()->set("Control-agent", yystack_[0].value.as< ElementPtr > ());
ctx.leave();
}
-#line 3521 "dhcp6_parser.cc" // lalr1.cc:919
+#line 3507 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 620:
-#line 2175 "dhcp6_parser.yy" // lalr1.cc:919
+ case 626:
+#line 2195 "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 3532 "dhcp6_parser.cc" // lalr1.cc:919
+#line 3518 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 621:
-#line 2180 "dhcp6_parser.yy" // lalr1.cc:919
+ case 627:
+#line 2200 "dhcp6_parser.yy" // lalr1.cc:859
{
// No config control params are required
ctx.stack_.pop_back();
ctx.leave();
}
-#line 3542 "dhcp6_parser.cc" // lalr1.cc:919
+#line 3528 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 622:
-#line 2186 "dhcp6_parser.yy" // lalr1.cc:919
+ case 628:
+#line 2206 "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 3552 "dhcp6_parser.cc" // lalr1.cc:919
+#line 3538 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 623:
-#line 2190 "dhcp6_parser.yy" // lalr1.cc:919
+ case 629:
+#line 2210 "dhcp6_parser.yy" // lalr1.cc:859
{
// No config_control params are required
// parsing completed
}
-#line 3561 "dhcp6_parser.cc" // lalr1.cc:919
+#line 3547 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 627:
-#line 2204 "dhcp6_parser.yy" // lalr1.cc:919
+ case 633:
+#line 2224 "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 3572 "dhcp6_parser.cc" // lalr1.cc:919
+#line 3558 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 628:
-#line 2209 "dhcp6_parser.yy" // lalr1.cc:919
+ case 634:
+#line 2229 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 3581 "dhcp6_parser.cc" // lalr1.cc:919
+#line 3567 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 629:
-#line 2219 "dhcp6_parser.yy" // lalr1.cc:919
+ case 635:
+#line 2239 "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 3592 "dhcp6_parser.cc" // lalr1.cc:919
+#line 3578 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 630:
-#line 2224 "dhcp6_parser.yy" // lalr1.cc:919
+ case 636:
+#line 2244 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 3601 "dhcp6_parser.cc" // lalr1.cc:919
+#line 3587 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 631:
-#line 2229 "dhcp6_parser.yy" // lalr1.cc:919
+ case 637:
+#line 2249 "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 3611 "dhcp6_parser.cc" // lalr1.cc:919
+#line 3597 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 632:
-#line 2233 "dhcp6_parser.yy" // lalr1.cc:919
+ case 638:
+#line 2253 "dhcp6_parser.yy" // lalr1.cc:859
{
// parsing completed
}
-#line 3619 "dhcp6_parser.cc" // lalr1.cc:919
+#line 3605 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 636:
-#line 2249 "dhcp6_parser.yy" // lalr1.cc:919
+ case 642:
+#line 2269 "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 3630 "dhcp6_parser.cc" // lalr1.cc:919
+#line 3616 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 637:
-#line 2254 "dhcp6_parser.yy" // lalr1.cc:919
+ case 643:
+#line 2274 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 3639 "dhcp6_parser.cc" // lalr1.cc:919
+#line 3625 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 640:
-#line 2266 "dhcp6_parser.yy" // lalr1.cc:919
+ case 646:
+#line 2286 "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 3649 "dhcp6_parser.cc" // lalr1.cc:919
+#line 3635 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 641:
-#line 2270 "dhcp6_parser.yy" // lalr1.cc:919
+ case 647:
+#line 2290 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
}
-#line 3657 "dhcp6_parser.cc" // lalr1.cc:919
+#line 3643 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 651:
-#line 2287 "dhcp6_parser.yy" // lalr1.cc:919
+ case 657:
+#line 2307 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr dl(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr dl(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("debuglevel", dl);
}
-#line 3666 "dhcp6_parser.cc" // lalr1.cc:919
+#line 3652 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 652:
-#line 2292 "dhcp6_parser.yy" // lalr1.cc:919
+ case 658:
+#line 2312 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3674 "dhcp6_parser.cc" // lalr1.cc:919
+#line 3660 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 653:
-#line 2294 "dhcp6_parser.yy" // lalr1.cc:919
+ case 659:
+#line 2314 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr sev(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr sev(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("severity", sev);
ctx.leave();
}
-#line 3684 "dhcp6_parser.cc" // lalr1.cc:919
+#line 3670 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 654:
-#line 2300 "dhcp6_parser.yy" // lalr1.cc:919
+ case 660:
+#line 2320 "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 3695 "dhcp6_parser.cc" // lalr1.cc:919
+#line 3681 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 655:
-#line 2305 "dhcp6_parser.yy" // lalr1.cc:919
+ case 661:
+#line 2325 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 3704 "dhcp6_parser.cc" // lalr1.cc:919
+#line 3690 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 658:
-#line 2314 "dhcp6_parser.yy" // lalr1.cc:919
+ case 664:
+#line 2334 "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 3714 "dhcp6_parser.cc" // lalr1.cc:919
+#line 3700 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 659:
-#line 2318 "dhcp6_parser.yy" // lalr1.cc:919
+ case 665:
+#line 2338 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
}
-#line 3722 "dhcp6_parser.cc" // lalr1.cc:919
+#line 3708 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 666:
-#line 2332 "dhcp6_parser.yy" // lalr1.cc:919
+ case 672:
+#line 2352 "dhcp6_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3730 "dhcp6_parser.cc" // lalr1.cc:919
+#line 3716 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 667:
-#line 2334 "dhcp6_parser.yy" // lalr1.cc:919
+ case 673:
+#line 2354 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr sev(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr sev(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("output", sev);
ctx.leave();
}
-#line 3740 "dhcp6_parser.cc" // lalr1.cc:919
+#line 3726 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 668:
-#line 2340 "dhcp6_parser.yy" // lalr1.cc:919
+ case 674:
+#line 2360 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr flush(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr flush(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("flush", flush);
}
-#line 3749 "dhcp6_parser.cc" // lalr1.cc:919
+#line 3735 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 669:
-#line 2345 "dhcp6_parser.yy" // lalr1.cc:919
+ case 675:
+#line 2365 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr maxsize(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr maxsize(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("maxsize", maxsize);
}
-#line 3758 "dhcp6_parser.cc" // lalr1.cc:919
+#line 3744 "dhcp6_parser.cc" // lalr1.cc:859
break;
- case 670:
-#line 2350 "dhcp6_parser.yy" // lalr1.cc:919
+ case 676:
+#line 2370 "dhcp6_parser.yy" // lalr1.cc:859
{
- ElementPtr maxver(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr maxver(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("maxver", maxver);
}
-#line 3767 "dhcp6_parser.cc" // lalr1.cc:919
+#line 3753 "dhcp6_parser.cc" // lalr1.cc:859
break;
-#line 3771 "dhcp6_parser.cc" // lalr1.cc:919
+#line 3757 "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. |
`-------------------------------------------------------------*/
// Shift the error token.
error_token.state = yyn;
- yypush_ ("Shifting", YY_MOVE (error_token));
+ 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.
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_
}
}
- const short Dhcp6Parser::yypact_ninf_ = -827;
+ const short int Dhcp6Parser::yypact_ninf_ = -833;
const signed char Dhcp6Parser::yytable_ninf_ = -1;
- const short
+ const short int
Dhcp6Parser::yypact_[] =
{
- 417, -827, -827, -827, -827, -827, -827, -827, -827, -827,
- -827, -827, -827, -827, -827, -827, 44, 65, 50, 58,
- 66, 70, 78, 101, 111, 118, 122, 126, 138, 147,
- 158, 169, -827, -827, -827, -827, -827, -827, -827, -827,
- -827, -827, -827, -827, -827, -827, -827, -827, -827, -827,
- -827, -827, -827, -827, -827, -827, -827, -827, -827, -827,
- -827, -827, -827, -827, -827, -827, -827, -827, -827, -827,
- -827, -827, 65, -120, 27, 69, 23, 237, 196, 36,
- 181, 137, 71, 200, -37, 368, 54, 174, -827, 197,
- 203, 224, 235, 242, -827, -827, -827, -827, -827, 265,
- -827, 42, -827, -827, -827, -827, -827, -827, -827, -827,
- -827, -827, -827, -827, 296, 298, 317, 319, 323, -827,
- -827, -827, -827, -827, -827, -827, -827, -827, -827, -827,
- -827, -827, -827, -827, -827, -827, 345, -827, -827, -827,
- -827, 68, -827, -827, -827, -827, -827, -827, -827, -827,
- -827, -827, -827, -827, -827, -827, -827, -827, -827, -827,
- -827, -827, -827, -827, -827, -827, -827, -827, -827, -827,
- -827, -827, -827, -827, -827, -827, 355, -827, 136, -827,
- -827, -827, -827, -827, -827, -827, -827, -827, -827, 361,
- 364, -827, -827, -827, -827, -827, -827, -827, -827, 165,
- -827, -827, -827, -827, -827, -827, -827, -827, -827, -827,
- -827, -827, -827, -827, -827, -827, -827, -827, -827, -827,
- -827, 185, -827, -827, -827, -827, -827, 365, -827, 383,
- 387, -827, -827, -827, -827, -827, -827, 188, -827, -827,
- -827, -827, -827, -827, -827, -827, -827, -827, -827, -827,
- -827, -827, -827, -827, -827, 334, 255, -827, -827, -827,
- -827, -827, -827, -827, -827, 343, -827, -827, 402, -827,
- -827, -827, 405, -827, -827, 408, 328, -827, -827, -827,
- -827, -827, -827, -827, -827, -827, -827, -827, -827, -827,
- 414, 415, -827, -827, -827, -827, 412, 419, -827, -827,
- -827, -827, -827, -827, -827, -827, -827, -827, -827, -827,
- 227, -827, -827, -827, 421, -827, -827, 422, -827, 424,
- 433, -827, -827, 444, 446, -827, -827, -827, -827, -827,
- -827, -827, 238, -827, -827, -827, -827, -827, -827, -827,
- -827, -827, -827, -827, -827, -827, -827, -827, -827, -827,
- 253, -827, -827, -827, 256, -827, -827, -827, 65, 65,
- -827, 252, 447, 448, 449, 450, 451, -827, 27, -827,
- 454, 457, 460, 461, 462, 463, 297, 299, 300, 301,
- 304, 464, 466, 470, 473, 475, 476, 477, 478, 479,
- 480, 481, 483, 484, 485, 499, 500, 501, 336, 502,
- 503, 505, 69, -827, 508, 339, 23, -827, 510, 512,
- 513, 514, 515, 348, 349, 517, 520, 521, 237, -827,
- 522, 196, -827, 523, 356, 528, 362, 363, 36, -827,
- 529, 532, 533, 536, 537, 538, 539, -827, 181, -827,
- 540, 541, 374, 545, 547, 548, 379, -827, 71, 550,
- 381, 382, -827, 200, 553, 554, 190, -827, 386, 555,
- 558, 393, 563, 396, 398, 565, 567, 416, 418, 584,
- 585, 587, 589, 368, -827, 590, 54, -827, 591, 174,
- -827, -827, -827, 592, 594, 595, 65, 65, 65, -827,
- 428, 596, 597, 598, 599, 602, -827, -827, -827, -827,
- -827, 437, 605, 606, 607, 608, 442, 366, 609, 611,
- 612, 613, 614, 615, 617, 618, 619, 620, -827, 621,
- 608, 622, -827, 625, -827, -827, 627, 628, 453, 465,
- 467, -827, -827, 625, 468, 630, -827, 469, -827, 471,
- -827, 472, -827, -827, -827, 625, 625, 625, 474, 482,
- 486, 487, -827, 488, 489, -827, 490, 491, 492, -827,
- -827, 493, -827, -827, -827, 494, 65, -827, -827, 495,
- 496, -827, 497, -827, -827, 176, 498, -827, -827, -34,
- 504, 506, 507, -827, 629, -827, 636, -827, 65, 69,
- 54, -827, -827, -827, -827, 174, 23, 184, 184, 637,
- -827, 639, 640, 641, -827, -827, -827, -827, -827, -827,
- -827, -827, 642, -52, 65, 139, 542, 643, 644, 645,
- 57, 112, 12, -827, 368, -827, -827, 647, 648, -827,
- -827, -827, -827, -827, -49, -827, -827, -827, -827, -827,
- -827, -827, -827, -827, -827, -827, -827, -827, -827, -827,
- -827, -827, -827, -827, -827, -827, -827, -827, -827, -827,
- -827, -827, -827, -827, -827, -827, -827, -827, -827, 649,
- 637, -827, 283, 284, 285, 293, -827, -827, -827, -827,
- 665, 666, 667, 668, 669, -827, 670, 672, -827, 675,
- 676, 677, -827, 310, -827, -827, -827, -827, -827, -827,
- -827, -827, -827, -827, -827, -827, -827, -827, -827, -827,
- -827, -827, 311, -827, 678, 616, -827, -827, 679, 680,
- -827, -827, 681, 683, -827, -827, 682, 686, -827, -827,
- 684, 688, -827, -827, -827, 140, -827, -827, -827, 687,
- -827, -827, -827, 163, -827, -827, -827, -827, 312, -827,
- -827, -827, 189, -827, -827, 689, 691, -827, -827, 690,
- 694, -827, 695, 696, 697, 698, 699, 700, 321, -827,
- -827, -827, -827, -827, -827, -827, -827, -827, 701, 702,
- 703, -827, -827, -827, -827, 327, -827, -827, -827, -827,
- -827, -827, -827, -827, -827, -827, -827, 331, -827, -827,
- -827, 335, 511, -827, 692, 705, -827, -827, 704, 706,
- -827, -827, -827, 707, -827, -827, 254, -827, 708, -827,
- -827, -827, -827, 709, 712, 713, 714, 549, 518, 551,
- 546, 552, 715, 556, 557, 718, 559, 560, 561, 184,
- -827, -827, 184, -827, 637, 237, -827, 639, 71, -827,
- 640, 200, -827, 641, 390, -827, 642, -52, -827, -827,
- 139, -827, 721, 542, -827, 250, 643, -827, 181, -827,
- 644, -37, -827, 645, 562, 564, 566, 568, 569, 570,
- 57, -827, 722, 723, 571, 572, 573, 112, -827, 726,
- 729, 12, -827, -827, -827, 731, 736, 196, -827, 647,
- 36, -827, 648, 742, -827, 26, 649, -827, -827, 423,
- 576, 577, 578, -827, -827, -827, -827, -827, 579, -827,
- -827, 580, -827, -827, -827, -827, 337, -827, 338, -827,
- 744, -827, 745, -827, -827, -827, -827, -827, -827, -827,
- -827, -827, -827, -827, -827, -827, -827, 354, -827, -827,
- -827, -827, -827, -827, -827, -827, 583, -827, -827, 751,
- -827, -827, -827, -827, -827, 748, 754, -827, -827, -827,
- -827, -827, 750, -827, 358, -827, -827, -827, -827, -827,
- -827, -827, -827, 302, 588, -827, -827, -827, -827, 593,
- 601, -827, -827, 633, 378, -827, 385, -827, 634, -827,
- 756, -827, -827, -827, -827, -827, 395, -827, -827, -827,
- -827, -827, -827, -827, -827, -827, -827, -827, -827, -827,
- -827, -827, -827, -827, -827, -827, 390, -827, -827, 757,
- 624, -827, 250, -827, -827, -827, -827, -827, -827, -827,
- -827, -827, -827, -827, -827, -827, 758, 604, 759, 26,
- -827, -827, 635, -827, -827, 760, -827, 654, -827, -827,
- 761, -827, -827, 347, -827, 5, 761, -827, -827, 762,
- 763, 765, 397, -827, -827, -827, -827, -827, -827, 766,
- 646, 656, 660, 5, -827, 674, -827, -827, -827, -827,
- -827
+ 415, -833, -833, -833, -833, -833, -833, -833, -833, -833,
+ -833, -833, -833, -833, -833, -833, 71, 65, 68, 82,
+ 83, 90, 98, 99, 116, 151, 163, 200, 230, 236,
+ 238, 251, -833, -833, -833, -833, -833, -833, -833, -833,
+ -833, -833, -833, -833, -833, -833, -833, -833, -833, -833,
+ -833, -833, -833, -833, -833, -833, -833, -833, -833, -833,
+ -833, -833, -833, -833, -833, -833, -833, -833, -833, -833,
+ -833, -833, 65, 94, 27, 69, 23, 227, 107, 35,
+ 167, 233, 73, 268, -52, 366, 138, 266, -833, 285,
+ 302, 312, 298, 324, -833, -833, -833, -833, -833, 335,
+ -833, 37, -833, -833, -833, -833, -833, -833, -833, -833,
+ -833, -833, -833, -833, 339, 345, 347, 351, 355, -833,
+ -833, -833, -833, -833, -833, -833, -833, -833, -833, -833,
+ -833, -833, -833, -833, -833, -833, 357, -833, -833, -833,
+ -833, 54, -833, -833, -833, -833, -833, -833, -833, -833,
+ -833, -833, -833, -833, -833, -833, -833, -833, -833, -833,
+ -833, -833, -833, -833, -833, -833, -833, -833, -833, -833,
+ -833, -833, -833, -833, -833, -833, 361, -833, 70, -833,
+ -833, -833, -833, -833, -833, -833, -833, -833, -833, 364,
+ 365, -833, -833, -833, -833, -833, -833, -833, -833, 76,
+ -833, -833, -833, -833, -833, -833, -833, -833, -833, -833,
+ -833, -833, -833, -833, -833, -833, -833, -833, -833, -833,
+ -833, 131, -833, -833, -833, -833, -833, 367, -833, 383,
+ 387, -833, -833, -833, -833, -833, -833, 132, -833, -833,
+ -833, -833, -833, -833, -833, -833, -833, -833, -833, -833,
+ -833, -833, -833, -833, -833, 334, 350, -833, -833, -833,
+ -833, -833, -833, -833, -833, 397, -833, -833, 405, -833,
+ -833, -833, 408, -833, -833, 411, 419, -833, -833, -833,
+ -833, -833, -833, -833, -833, -833, -833, -833, -833, -833,
+ 422, 436, -833, -833, -833, -833, 435, 441, -833, -833,
+ -833, -833, -833, -833, -833, -833, -833, -833, -833, -833,
+ 159, -833, -833, -833, 442, -833, -833, 443, -833, 444,
+ 446, -833, -833, 447, 448, -833, -833, -833, -833, -833,
+ -833, -833, 177, -833, -833, -833, -833, -833, -833, -833,
+ -833, -833, -833, -833, -833, -833, -833, -833, -833, -833,
+ 187, -833, -833, -833, 244, -833, -833, -833, 65, 65,
+ -833, 280, 450, 451, 454, 457, 460, -833, 27, -833,
+ 461, 462, 463, 464, 465, 466, 271, 297, 299, 300,
+ 303, 468, 472, 475, 476, 477, 478, 479, 480, 481,
+ 483, 484, 485, 499, 500, 501, 502, 503, 340, 504,
+ 505, 508, 69, -833, 509, 341, 23, -833, 512, 514,
+ 515, 516, 517, 352, 348, 519, 521, 523, 227, -833,
+ 524, 107, -833, 528, 360, 529, 362, 363, 35, -833,
+ 531, 536, 537, 538, 539, 540, 541, -833, 167, -833,
+ 542, 545, 377, 548, 549, 550, 379, -833, 73, 552,
+ 381, 382, -833, 268, 555, 556, -37, -833, 386, 561,
+ 563, 394, 565, 396, 414, 567, 585, 416, 418, 586,
+ 587, 589, 591, 366, -833, 592, 138, -833, 595, 266,
+ -833, -833, -833, 597, 596, 598, 65, 65, 65, -833,
+ 429, 599, 600, 601, 603, 606, -833, -833, -833, -833,
+ -833, 431, 607, 608, 609, 610, 445, 178, 611, 614,
+ 615, 616, 617, 618, 620, 621, 622, 623, -833, 625,
+ 610, 626, -833, 629, -833, -833, 630, 631, 449, 455,
+ 467, -833, -833, 629, 469, 632, -833, 470, -833, 471,
+ -833, 473, -833, -833, -833, 629, 629, 629, 474, 482,
+ 486, 487, -833, 488, 489, -833, 490, 491, 492, -833,
+ -833, 493, -833, -833, -833, 494, 65, -833, -833, 495,
+ 496, -833, 497, -833, -833, 40, 498, -833, -833, -33,
+ 506, 507, 510, -833, 633, -833, 636, -833, 65, 69,
+ 138, -833, -833, -833, -833, 266, 23, 193, 193, 638,
+ -833, 641, 642, 643, -833, -833, -833, -833, -833, -833,
+ -833, -833, 644, -53, 65, 104, 530, 645, 646, 647,
+ 204, 134, 8, -833, 366, -833, -833, 649, 650, -833,
+ -833, -833, -833, -833, -48, -833, -833, -833, -833, -833,
+ -833, -833, -833, -833, -833, -833, -833, -833, -833, -833,
+ -833, -833, -833, -833, -833, -833, -833, -833, -833, -833,
+ -833, -833, -833, -833, -833, -833, -833, -833, -833, 651,
+ 638, -833, 265, 278, 323, 326, -833, -833, -833, -833,
+ 667, 668, 669, 670, 671, -833, 672, 673, -833, -833,
+ -833, 674, 677, 678, -833, 327, -833, -833, -833, -833,
+ -833, -833, -833, -833, -833, -833, -833, -833, -833, -833,
+ -833, -833, -833, -833, -833, -833, 330, -833, 679, 624,
+ -833, -833, 680, 681, -833, -833, 682, 684, -833, -833,
+ 683, 687, -833, -833, 685, 689, -833, -833, -833, 130,
+ -833, -833, -833, 688, -833, -833, -833, 153, -833, -833,
+ -833, -833, 338, -833, -833, -833, 168, -833, -833, 690,
+ 692, -833, -833, 691, 695, -833, 696, 697, 698, 699,
+ 700, 701, 342, -833, -833, -833, -833, -833, -833, -833,
+ -833, -833, 702, 703, 704, -833, -833, -833, -833, 349,
+ -833, -833, -833, -833, -833, -833, -833, -833, -833, -833,
+ -833, 359, -833, -833, -833, 378, 520, -833, 693, 706,
+ -833, -833, 705, 707, -833, -833, -833, 708, -833, -833,
+ 183, -833, 709, -833, -833, -833, -833, 710, 713, 714,
+ 715, 546, 547, 551, 553, 554, 717, 557, 558, 718,
+ 720, 722, 559, 560, 562, 193, -833, -833, 193, -833,
+ 638, 227, -833, 641, 73, -833, 642, 268, -833, 643,
+ 388, -833, 644, -53, -833, -833, 104, -833, 723, 530,
+ -833, 215, 645, -833, 167, -833, 646, -52, -833, 647,
+ 566, 568, 569, 570, 571, 572, 204, -833, 726, 731,
+ 573, 574, 575, 134, -833, 732, 733, 8, -833, -833,
+ -833, 735, 736, 107, -833, 649, 35, -833, 650, 746,
+ -833, 142, 651, -833, -833, 124, 578, 579, 580, -833,
+ -833, -833, -833, -833, 581, -833, -833, 582, 583, 584,
+ -833, -833, -833, -833, 390, -833, 400, -833, 750, -833,
+ 751, -833, -833, -833, -833, -833, -833, -833, -833, -833,
+ -833, -833, -833, -833, -833, 403, -833, -833, -833, -833,
+ -833, -833, -833, -833, 588, -833, -833, 756, -833, -833,
+ -833, -833, -833, 754, 760, -833, -833, -833, -833, -833,
+ 757, -833, 410, -833, -833, -833, -833, -833, -833, -833,
+ -833, 103, 593, -833, -833, -833, -833, 594, 602, -833,
+ -833, 605, 413, -833, 417, -833, 612, -833, 764, -833,
+ -833, -833, -833, -833, 420, -833, -833, -833, -833, -833,
+ -833, -833, -833, -833, -833, -833, -833, -833, -833, -833,
+ -833, -833, -833, -833, -833, -833, 388, -833, -833, 765,
+ 619, -833, 215, -833, -833, -833, -833, -833, -833, -833,
+ -833, -833, -833, -833, -833, -833, 766, 590, 767, 142,
+ -833, -833, 634, -833, -833, 768, -833, 637, -833, -833,
+ 769, -833, -833, 272, -833, 12, 769, -833, -833, 770,
+ 775, 778, 434, -833, -833, -833, -833, -833, -833, 788,
+ 628, 648, 652, 12, -833, 639, -833, -833, -833, -833,
+ -833
};
- const unsigned short
+ const unsigned short int
Dhcp6Parser::yydefact_[] =
{
0, 2, 4, 6, 8, 10, 12, 14, 16, 18,
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, 120, 9,
- 261, 11, 407, 13, 432, 15, 462, 17, 332, 19,
- 340, 21, 377, 23, 226, 25, 561, 27, 631, 29,
- 622, 31, 49, 43, 0, 0, 0, 0, 0, 0,
- 464, 0, 342, 379, 0, 0, 0, 0, 51, 0,
- 50, 0, 0, 44, 70, 629, 614, 616, 618, 0,
- 69, 0, 62, 64, 66, 67, 68, 65, 109, 620,
+ 267, 11, 413, 13, 438, 15, 468, 17, 338, 19,
+ 346, 21, 383, 23, 232, 25, 567, 27, 637, 29,
+ 628, 31, 49, 43, 0, 0, 0, 0, 0, 0,
+ 470, 0, 348, 385, 0, 0, 0, 0, 51, 0,
+ 50, 0, 0, 44, 70, 635, 620, 622, 624, 0,
+ 69, 0, 62, 64, 66, 67, 68, 65, 109, 626,
118, 132, 134, 136, 0, 0, 0, 0, 0, 116,
- 253, 330, 369, 420, 422, 295, 303, 199, 216, 207,
- 192, 499, 454, 218, 237, 520, 0, 544, 557, 559,
+ 259, 336, 375, 426, 428, 301, 309, 205, 222, 213,
+ 198, 505, 460, 224, 243, 526, 0, 550, 563, 565,
108, 0, 74, 76, 77, 78, 79, 80, 81, 106,
84, 85, 86, 87, 103, 88, 90, 89, 94, 95,
82, 107, 83, 92, 93, 101, 102, 104, 91, 96,
97, 98, 99, 100, 105, 129, 0, 128, 0, 122,
- 124, 125, 126, 127, 399, 424, 285, 287, 289, 0,
- 0, 293, 291, 493, 284, 265, 266, 267, 268, 0,
- 263, 272, 273, 274, 277, 278, 280, 275, 276, 269,
- 270, 282, 283, 271, 279, 281, 418, 417, 413, 414,
- 412, 0, 409, 411, 415, 416, 447, 0, 450, 0,
- 0, 446, 440, 441, 439, 444, 445, 0, 434, 436,
- 437, 442, 443, 438, 491, 479, 481, 483, 485, 487,
- 489, 478, 475, 476, 477, 0, 465, 466, 470, 471,
- 468, 472, 473, 474, 469, 0, 359, 177, 0, 363,
- 361, 366, 0, 355, 356, 0, 343, 344, 346, 358,
- 347, 348, 349, 365, 350, 351, 352, 353, 354, 393,
- 0, 0, 391, 392, 395, 396, 0, 380, 381, 383,
- 384, 385, 386, 387, 388, 389, 390, 233, 235, 230,
- 0, 228, 231, 232, 0, 584, 586, 0, 589, 0,
- 0, 593, 597, 0, 0, 601, 608, 610, 612, 582,
- 580, 581, 0, 563, 565, 566, 567, 568, 569, 570,
- 571, 572, 573, 574, 575, 576, 577, 578, 579, 636,
- 0, 633, 635, 627, 0, 624, 626, 48, 0, 0,
+ 124, 125, 126, 127, 405, 430, 291, 293, 295, 0,
+ 0, 299, 297, 499, 290, 271, 272, 273, 274, 0,
+ 269, 278, 279, 280, 283, 284, 286, 281, 282, 275,
+ 276, 288, 289, 277, 285, 287, 424, 423, 419, 420,
+ 418, 0, 415, 417, 421, 422, 453, 0, 456, 0,
+ 0, 452, 446, 447, 445, 450, 451, 0, 440, 442,
+ 443, 448, 449, 444, 497, 485, 487, 489, 491, 493,
+ 495, 484, 481, 482, 483, 0, 471, 472, 476, 477,
+ 474, 478, 479, 480, 475, 0, 365, 179, 0, 369,
+ 367, 372, 0, 361, 362, 0, 349, 350, 352, 364,
+ 353, 354, 355, 371, 356, 357, 358, 359, 360, 399,
+ 0, 0, 397, 398, 401, 402, 0, 386, 387, 389,
+ 390, 391, 392, 393, 394, 395, 396, 239, 241, 236,
+ 0, 234, 237, 238, 0, 590, 592, 0, 595, 0,
+ 0, 599, 603, 0, 0, 607, 614, 616, 618, 588,
+ 586, 587, 0, 569, 571, 572, 573, 574, 575, 576,
+ 577, 578, 579, 580, 581, 582, 583, 584, 585, 642,
+ 0, 639, 641, 633, 0, 630, 632, 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, 73, 0, 0, 0, 121, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 262,
- 0, 0, 408, 0, 0, 0, 0, 0, 0, 433,
- 0, 0, 0, 0, 0, 0, 0, 463, 0, 333,
- 0, 0, 0, 0, 0, 0, 0, 341, 0, 0,
- 0, 0, 378, 0, 0, 0, 0, 227, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 268,
+ 0, 0, 414, 0, 0, 0, 0, 0, 0, 439,
+ 0, 0, 0, 0, 0, 0, 0, 469, 0, 339,
+ 0, 0, 0, 0, 0, 0, 0, 347, 0, 0,
+ 0, 0, 384, 0, 0, 0, 0, 233, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 562, 0, 0, 632, 0, 0,
- 623, 52, 45, 0, 0, 0, 0, 0, 0, 63,
+ 0, 0, 0, 0, 568, 0, 0, 638, 0, 0,
+ 629, 52, 45, 0, 0, 0, 0, 0, 0, 63,
0, 0, 0, 0, 0, 0, 111, 112, 113, 114,
115, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 543, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 549, 0,
0, 0, 75, 0, 131, 123, 0, 0, 0, 0,
- 0, 301, 302, 0, 0, 0, 264, 0, 410, 0,
- 449, 0, 452, 453, 435, 0, 0, 0, 0, 0,
- 0, 0, 467, 0, 0, 357, 0, 0, 0, 368,
- 345, 0, 397, 398, 382, 0, 0, 229, 583, 0,
- 0, 588, 0, 591, 592, 0, 0, 599, 600, 0,
- 0, 0, 0, 564, 0, 634, 0, 625, 0, 0,
- 0, 615, 617, 619, 110, 0, 0, 0, 0, 138,
- 117, 255, 334, 371, 42, 421, 423, 297, 298, 299,
- 300, 296, 305, 0, 49, 0, 0, 0, 456, 220,
- 0, 0, 0, 558, 0, 53, 130, 401, 426, 286,
- 288, 290, 294, 292, 0, 419, 448, 451, 492, 480,
- 482, 484, 486, 488, 490, 360, 178, 364, 362, 367,
- 394, 234, 236, 585, 587, 590, 595, 596, 594, 598,
- 603, 604, 605, 606, 607, 602, 609, 611, 613, 0,
- 138, 46, 0, 0, 0, 0, 164, 170, 172, 174,
- 0, 0, 0, 0, 0, 187, 0, 0, 190, 0,
- 0, 0, 163, 0, 144, 146, 147, 148, 149, 150,
- 151, 152, 153, 154, 155, 158, 159, 160, 161, 156,
- 157, 162, 0, 142, 0, 139, 140, 259, 0, 256,
- 257, 338, 0, 335, 336, 375, 0, 372, 373, 309,
- 0, 306, 307, 205, 206, 0, 201, 203, 204, 0,
- 214, 215, 211, 0, 209, 212, 213, 197, 0, 194,
- 196, 503, 0, 501, 460, 0, 457, 458, 224, 0,
- 221, 222, 0, 0, 0, 0, 0, 0, 0, 239,
- 241, 242, 243, 244, 245, 246, 533, 539, 0, 0,
- 0, 532, 529, 530, 531, 0, 522, 524, 527, 525,
- 526, 528, 553, 555, 552, 550, 551, 0, 546, 548,
- 549, 0, 55, 405, 0, 402, 403, 430, 0, 427,
- 428, 497, 496, 0, 495, 640, 0, 638, 0, 71,
- 630, 621, 119, 0, 0, 0, 0, 0, 0, 0,
+ 0, 307, 308, 0, 0, 0, 270, 0, 416, 0,
+ 455, 0, 458, 459, 441, 0, 0, 0, 0, 0,
+ 0, 0, 473, 0, 0, 363, 0, 0, 0, 374,
+ 351, 0, 403, 404, 388, 0, 0, 235, 589, 0,
+ 0, 594, 0, 597, 598, 0, 0, 605, 606, 0,
+ 0, 0, 0, 570, 0, 640, 0, 631, 0, 0,
+ 0, 621, 623, 625, 110, 0, 0, 0, 0, 138,
+ 117, 261, 340, 377, 42, 427, 429, 303, 304, 305,
+ 306, 302, 311, 0, 49, 0, 0, 0, 462, 226,
+ 0, 0, 0, 564, 0, 53, 130, 407, 432, 292,
+ 294, 296, 300, 298, 0, 425, 454, 457, 498, 486,
+ 488, 490, 492, 494, 496, 366, 180, 370, 368, 373,
+ 400, 240, 242, 591, 593, 596, 601, 602, 600, 604,
+ 609, 610, 611, 612, 613, 608, 615, 617, 619, 0,
+ 138, 46, 0, 0, 0, 0, 166, 172, 174, 176,
+ 0, 0, 0, 0, 0, 189, 0, 0, 192, 194,
+ 196, 0, 0, 0, 165, 0, 144, 146, 147, 148,
+ 149, 150, 151, 152, 153, 154, 155, 158, 159, 160,
+ 161, 156, 157, 162, 163, 164, 0, 142, 0, 139,
+ 140, 265, 0, 262, 263, 344, 0, 341, 342, 381,
+ 0, 378, 379, 315, 0, 312, 313, 211, 212, 0,
+ 207, 209, 210, 0, 220, 221, 217, 0, 215, 218,
+ 219, 203, 0, 200, 202, 509, 0, 507, 466, 0,
+ 463, 464, 230, 0, 227, 228, 0, 0, 0, 0,
+ 0, 0, 0, 245, 247, 248, 249, 250, 251, 252,
+ 539, 545, 0, 0, 0, 538, 535, 536, 537, 0,
+ 528, 530, 533, 531, 532, 534, 559, 561, 558, 556,
+ 557, 0, 552, 554, 555, 0, 55, 411, 0, 408,
+ 409, 436, 0, 433, 434, 503, 502, 0, 501, 646,
+ 0, 644, 0, 71, 636, 627, 119, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 133, 135, 0, 137, 0, 0, 254, 0, 342, 331,
- 0, 379, 370, 0, 0, 304, 0, 0, 200, 217,
- 0, 208, 0, 0, 193, 505, 0, 500, 464, 455,
- 0, 0, 219, 0, 0, 0, 0, 0, 0, 0,
- 0, 238, 0, 0, 0, 0, 0, 0, 521, 0,
- 0, 0, 545, 560, 57, 0, 56, 0, 400, 0,
- 0, 425, 0, 0, 494, 0, 0, 637, 628, 0,
- 0, 0, 0, 176, 179, 180, 181, 182, 0, 189,
- 183, 0, 184, 185, 186, 145, 0, 141, 0, 258,
- 0, 337, 0, 374, 329, 324, 326, 317, 318, 313,
- 314, 315, 316, 322, 323, 321, 325, 0, 311, 319,
- 327, 328, 320, 308, 202, 210, 0, 195, 517, 0,
- 515, 516, 512, 513, 514, 0, 506, 507, 509, 510,
- 511, 502, 0, 459, 0, 223, 247, 248, 249, 250,
- 251, 252, 240, 0, 0, 538, 541, 542, 523, 0,
- 0, 547, 54, 0, 0, 404, 0, 429, 0, 654,
- 0, 652, 650, 644, 648, 649, 0, 642, 646, 647,
- 645, 639, 166, 167, 168, 169, 165, 171, 173, 175,
- 188, 191, 143, 260, 339, 376, 0, 310, 198, 0,
- 0, 504, 0, 461, 225, 535, 536, 537, 534, 540,
- 554, 556, 58, 406, 431, 498, 0, 0, 0, 0,
- 641, 312, 0, 519, 508, 0, 651, 0, 643, 518,
- 0, 653, 658, 0, 656, 0, 0, 655, 666, 0,
- 0, 0, 0, 660, 662, 663, 664, 665, 657, 0,
- 0, 0, 0, 0, 659, 0, 668, 669, 670, 661,
- 667
+ 0, 0, 0, 0, 0, 0, 133, 135, 0, 137,
+ 0, 0, 260, 0, 348, 337, 0, 385, 376, 0,
+ 0, 310, 0, 0, 206, 223, 0, 214, 0, 0,
+ 199, 511, 0, 506, 470, 461, 0, 0, 225, 0,
+ 0, 0, 0, 0, 0, 0, 0, 244, 0, 0,
+ 0, 0, 0, 0, 527, 0, 0, 0, 551, 566,
+ 57, 0, 56, 0, 406, 0, 0, 431, 0, 0,
+ 500, 0, 0, 643, 634, 0, 0, 0, 0, 178,
+ 181, 182, 183, 184, 0, 191, 185, 0, 0, 0,
+ 186, 187, 188, 145, 0, 141, 0, 264, 0, 343,
+ 0, 380, 335, 330, 332, 323, 324, 319, 320, 321,
+ 322, 328, 329, 327, 331, 0, 317, 325, 333, 334,
+ 326, 314, 208, 216, 0, 201, 523, 0, 521, 522,
+ 518, 519, 520, 0, 512, 513, 515, 516, 517, 508,
+ 0, 465, 0, 229, 253, 254, 255, 256, 257, 258,
+ 246, 0, 0, 544, 547, 548, 529, 0, 0, 553,
+ 54, 0, 0, 410, 0, 435, 0, 660, 0, 658,
+ 656, 650, 654, 655, 0, 648, 652, 653, 651, 645,
+ 168, 169, 170, 171, 167, 173, 175, 177, 190, 193,
+ 195, 197, 143, 266, 345, 382, 0, 316, 204, 0,
+ 0, 510, 0, 467, 231, 541, 542, 543, 540, 546,
+ 560, 562, 58, 412, 437, 504, 0, 0, 0, 0,
+ 647, 318, 0, 525, 514, 0, 657, 0, 649, 524,
+ 0, 659, 664, 0, 662, 0, 0, 661, 672, 0,
+ 0, 0, 0, 666, 668, 669, 670, 671, 663, 0,
+ 0, 0, 0, 0, 665, 0, 674, 675, 676, 667,
+ 673
};
- const short
+ const short int
Dhcp6Parser::yypgoto_[] =
{
- -827, -827, -827, -827, -827, -827, -827, -827, -827, -827,
- -827, -827, -827, -827, -827, -827, -827, 43, -827, -456,
- -827, 191, -827, -827, -827, -827, 98, -827, -451, -827,
- -827, -827, -74, -827, -827, -827, 411, -827, -827, -827,
- -827, 199, 371, -827, -827, -62, -46, -45, -43, -827,
- -827, -827, -827, -827, -827, -827, 193, 380, -827, -827,
- -827, -827, -827, -827, -827, -827, -827, 131, -827, -30,
- -827, -572, -23, -827, -827, -827, -827, -827, -827, -827,
- -827, -827, -827, -70, -827, -605, -827, -827, -827, -827,
- -827, -827, -827, -827, -827, -827, -827, -827, -827, -827,
- -827, -48, -827, -827, -827, -827, -827, -38, -592, -827,
- -827, -827, -827, -22, -827, -827, -827, -827, -827, -827,
- -827, -827, -33, -827, -827, -827, -35, 392, -827, -827,
- -827, -827, -827, -827, -827, -31, -827, -827, -827, -827,
- -827, -827, -826, -827, -827, -827, -10, -827, -827, -827,
- 1, 432, -827, -827, -825, -827, -824, -827, -36, -827,
- -32, -827, -42, -827, -827, -827, -821, -827, -827, -827,
- -827, -5, -827, -827, -174, 772, -827, -827, -827, -827,
- -827, 6, -827, -827, -827, 7, -827, 410, -827, -76,
- -827, -827, -827, -827, -827, -69, -827, -827, -827, -827,
- -827, -11, -827, -827, -827, 9, -827, -827, -827, 8,
- -827, 407, -827, -827, -827, -827, -827, -827, -827, -827,
- -827, -827, -827, -29, -827, -827, -827, -28, 445, -827,
- -827, -58, -827, -24, -827, -827, -827, -827, -827, -27,
- -827, -827, -827, -26, 443, -827, -827, -827, -827, -827,
- -827, -827, -60, -827, -827, -827, 2, -827, -827, -827,
- 10, -827, 439, 245, -827, -827, -827, -827, -827, -827,
- -827, -827, -827, -827, -827, -827, -827, -818, -827, -827,
- -827, -827, -827, -827, -827, 14, -827, -827, -827, -150,
- -827, -827, -827, -827, -827, -827, -827, -4, -827, -827,
- -827, -827, -827, -827, -827, -827, -827, -827, -827, -827,
- -7, -827, -827, -827, -827, -827, -827, -827, -827, -827,
- -827, 261, 420, -827, -827, -827, -827, -827, -827, -827,
- -827, -827, -827, -827, -827, -827, -827, -827, -827, -827,
- -827, -827, -827, -827, -827, -827, -827, -827, -827, -827,
- -827, -827, -827, -827, -827, -827, -827, -827, -827, 292,
- 409, -827, -827, -827, -827, -827, -827, 305, 425, -827,
- -827, -827, -16, -827, -827, -158, -827, -827, -827, -827,
- -827, -827, -172, -827, -827, -191, -827, -827, -827, -827,
- -827
+ -833, -833, -833, -833, -833, -833, -833, -833, -833, -833,
+ -833, -833, -833, -833, -833, -833, -833, 43, -833, -457,
+ -833, 192, -833, -833, -833, -833, 158, -833, -451, -833,
+ -833, -833, -74, -833, -833, -833, 426, -833, -833, -833,
+ -833, 222, 311, -833, -833, -62, -46, -45, -43, -833,
+ -833, -833, -833, -833, -833, -833, 224, 425, -833, -833,
+ -833, -833, -833, -833, -833, -833, -833, 155, -833, -29,
+ -833, -572, -7, -833, -833, -833, -833, -833, -833, -833,
+ -833, -833, -833, -70, -833, -605, -833, -833, -833, -833,
+ -833, -833, -833, -833, -833, -833, -833, -833, -833, -833,
+ -833, -833, -833, -833, -833, -35, -833, -833, -833, -833,
+ -833, -21, -592, -833, -833, -833, -833, -23, -833, -833,
+ -833, -833, -833, -833, -833, -833, -28, -833, -833, -833,
+ -31, 398, -833, -833, -833, -833, -833, -833, -833, -34,
+ -833, -833, -833, -833, -833, -833, -832, -833, -833, -833,
+ -9, -833, -833, -833, 4, 438, -833, -833, -831, -833,
+ -830, -833, -36, -833, -32, -833, -42, -833, -833, -833,
+ -827, -833, -833, -833, -833, -5, -833, -833, -178, 780,
+ -833, -833, -833, -833, -833, 3, -833, -833, -833, 10,
+ -833, 424, -833, -76, -833, -833, -833, -833, -833, -69,
+ -833, -833, -833, -833, -833, -11, -833, -833, -833, 6,
+ -833, -833, -833, 5, -833, 423, -833, -833, -833, -833,
+ -833, -833, -833, -833, -833, -833, -833, -39, -833, -833,
+ -833, -26, 459, -833, -833, -58, -833, -24, -833, -833,
+ -833, -833, -833, -40, -833, -833, -833, -25, 456, -833,
+ -833, -833, -833, -833, -833, -833, -60, -833, -833, -833,
+ -1, -833, -833, -833, 9, -833, 440, 252, -833, -833,
+ -833, -833, -833, -833, -833, -833, -833, -833, -833, -833,
+ -833, -824, -833, -833, -833, -833, -833, -833, -833, 13,
+ -833, -833, -833, -154, -833, -833, -833, -833, -833, -833,
+ -833, -4, -833, -833, -833, -833, -833, -833, -833, -833,
+ -833, -833, -833, -833, -6, -833, -833, -833, -833, -833,
+ -833, -833, -833, -833, -833, 269, 421, -833, -833, -833,
+ -833, -833, -833, -833, -833, -833, -833, -833, -833, -833,
+ -833, -833, -833, -833, -833, -833, -833, -833, -833, -833,
+ -833, -833, -833, -833, -833, -833, -833, -833, -833, -833,
+ -833, -833, -833, 295, 427, -833, -833, -833, -833, -833,
+ -833, 306, 428, -833, -833, -833, -15, -833, -833, -161,
+ -833, -833, -833, -833, -833, -833, -177, -833, -833, -193,
+ -833, -833, -833, -833, -833
};
- 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, 605, 92, 93, 43, 72, 89, 90, 626, 802,
- 895, 896, 692, 45, 74, 101, 102, 103, 362, 47,
+ 73, 605, 92, 93, 43, 72, 89, 90, 626, 806,
+ 901, 902, 694, 45, 74, 101, 102, 103, 362, 47,
75, 141, 142, 143, 370, 144, 145, 146, 147, 148,
149, 381, 150, 372, 49, 76, 178, 179, 180, 404,
- 181, 151, 373, 152, 374, 153, 375, 714, 715, 716,
- 842, 693, 694, 695, 823, 1016, 696, 824, 697, 825,
- 698, 826, 699, 700, 441, 701, 702, 703, 704, 705,
- 706, 707, 708, 709, 832, 710, 711, 835, 154, 392,
- 748, 749, 750, 862, 155, 389, 735, 736, 737, 738,
- 156, 391, 743, 744, 745, 746, 157, 390, 158, 395,
- 759, 760, 761, 871, 65, 84, 310, 311, 312, 454,
- 313, 455, 159, 396, 768, 769, 770, 771, 772, 773,
- 774, 775, 160, 382, 718, 719, 720, 845, 51, 77,
- 199, 200, 201, 410, 202, 411, 203, 412, 204, 416,
- 205, 415, 161, 387, 611, 207, 208, 162, 388, 730,
- 731, 732, 854, 947, 948, 163, 383, 59, 81, 722,
- 723, 724, 848, 61, 82, 275, 276, 277, 278, 279,
- 280, 281, 440, 282, 444, 283, 443, 284, 285, 445,
- 286, 164, 384, 726, 727, 728, 851, 63, 83, 296,
- 297, 298, 299, 300, 449, 301, 302, 303, 304, 210,
- 408, 804, 805, 806, 897, 53, 78, 221, 222, 223,
- 420, 165, 385, 166, 386, 213, 409, 808, 809, 810,
- 900, 55, 79, 237, 238, 239, 423, 240, 241, 425,
- 242, 243, 167, 394, 755, 756, 757, 868, 57, 80,
- 255, 256, 257, 258, 431, 259, 432, 260, 433, 261,
- 434, 262, 435, 263, 436, 264, 430, 215, 417, 813,
- 814, 903, 168, 393, 752, 753, 865, 965, 966, 967,
- 968, 969, 1029, 970, 169, 397, 785, 786, 787, 882,
- 1038, 788, 789, 883, 790, 791, 170, 171, 399, 797,
- 798, 799, 889, 800, 890, 172, 400, 173, 401, 67,
- 85, 332, 333, 334, 335, 459, 336, 460, 337, 338,
- 462, 339, 340, 341, 465, 658, 342, 466, 343, 344,
- 345, 469, 665, 346, 470, 347, 471, 348, 472, 104,
- 364, 105, 365, 106, 366, 174, 371, 71, 87, 354,
- 355, 356, 478, 107, 363, 69, 86, 350, 351, 352,
- 475, 816, 817, 905, 1006, 1007, 1008, 1009, 1048, 1010,
- 1046, 1063, 1064, 1065, 1072, 1073, 1074, 1079, 1075, 1076,
- 1077
+ 181, 151, 373, 152, 374, 153, 375, 718, 719, 720,
+ 848, 695, 696, 697, 827, 1024, 698, 828, 699, 829,
+ 700, 830, 701, 702, 441, 703, 704, 705, 706, 707,
+ 708, 709, 710, 711, 836, 712, 713, 839, 714, 840,
+ 715, 841, 154, 392, 752, 753, 754, 868, 155, 389,
+ 739, 740, 741, 742, 156, 391, 747, 748, 749, 750,
+ 157, 390, 158, 395, 763, 764, 765, 877, 65, 84,
+ 310, 311, 312, 454, 313, 455, 159, 396, 772, 773,
+ 774, 775, 776, 777, 778, 779, 160, 382, 722, 723,
+ 724, 851, 51, 77, 199, 200, 201, 410, 202, 411,
+ 203, 412, 204, 416, 205, 415, 161, 387, 611, 207,
+ 208, 162, 388, 734, 735, 736, 860, 955, 956, 163,
+ 383, 59, 81, 726, 727, 728, 854, 61, 82, 275,
+ 276, 277, 278, 279, 280, 281, 440, 282, 444, 283,
+ 443, 284, 285, 445, 286, 164, 384, 730, 731, 732,
+ 857, 63, 83, 296, 297, 298, 299, 300, 449, 301,
+ 302, 303, 304, 210, 408, 808, 809, 810, 903, 53,
+ 78, 221, 222, 223, 420, 165, 385, 166, 386, 213,
+ 409, 812, 813, 814, 906, 55, 79, 237, 238, 239,
+ 423, 240, 241, 425, 242, 243, 167, 394, 759, 760,
+ 761, 874, 57, 80, 255, 256, 257, 258, 431, 259,
+ 432, 260, 433, 261, 434, 262, 435, 263, 436, 264,
+ 430, 215, 417, 817, 818, 909, 168, 393, 756, 757,
+ 871, 973, 974, 975, 976, 977, 1039, 978, 169, 397,
+ 789, 790, 791, 888, 1048, 792, 793, 889, 794, 795,
+ 170, 171, 399, 801, 802, 803, 895, 804, 896, 172,
+ 400, 173, 401, 67, 85, 332, 333, 334, 335, 459,
+ 336, 460, 337, 338, 462, 339, 340, 341, 465, 658,
+ 342, 466, 343, 344, 345, 469, 665, 346, 470, 347,
+ 471, 348, 472, 104, 364, 105, 365, 106, 366, 174,
+ 371, 71, 87, 354, 355, 356, 478, 107, 363, 69,
+ 86, 350, 351, 352, 475, 820, 821, 911, 1014, 1015,
+ 1016, 1017, 1058, 1018, 1056, 1073, 1074, 1075, 1082, 1083,
+ 1084, 1089, 1085, 1086, 1087
};
- const unsigned short
+ const unsigned short int
Dhcp6Parser::yytable_[] =
{
100, 140, 177, 194, 217, 231, 251, 294, 273, 292,
- 309, 329, 274, 293, 295, 195, 782, 214, 182, 211,
- 224, 235, 253, 742, 287, 305, 712, 330, 940, 941,
- 942, 196, 197, 946, 198, 206, 952, 94, 175, 176,
- 733, 245, 218, 232, 32, 368, 219, 233, 811, 604,
- 369, 91, 183, 212, 225, 236, 254, 44, 288, 306,
- 40, 331, 307, 308, 604, 46, 209, 220, 234, 252,
- 33, 402, 34, 48, 35, 267, 403, 50, 123, 124,
- 108, 109, 632, 110, 122, 52, 111, 112, 113, 123,
- 124, 266, 123, 124, 638, 639, 640, 226, 227, 228,
- 229, 230, 123, 124, 660, 661, 662, 663, 54, 114,
- 115, 116, 117, 118, 119, 120, 121, 122, 56, 734,
- 267, 191, 268, 269, 192, 58, 270, 271, 272, 60,
- 792, 793, 776, 62, 99, 123, 124, 123, 124, 406,
- 664, 681, 125, 857, 407, 64, 858, 126, 127, 128,
- 129, 130, 1068, 131, 66, 1069, 1070, 1071, 132, 762,
- 763, 764, 765, 766, 767, 68, 860, 133, 418, 861,
- 134, 95, 999, 419, 1000, 1001, 70, 135, 123, 124,
- 96, 97, 98, 99, 121, 136, 137, 353, 421, 138,
- 139, 428, 866, 422, 99, 867, 429, 99, 99, 349,
- 940, 941, 942, 357, 676, 946, 358, 99, 952, 677,
- 678, 679, 680, 681, 682, 683, 684, 685, 686, 687,
- 688, 689, 690, 691, 777, 778, 779, 780, 359, 122,
- 456, 733, 740, 267, 741, 457, 36, 37, 38, 39,
- 99, 473, 99, 360, 122, 361, 474, 123, 124, 267,
- 289, 268, 269, 290, 291, 216, 476, 906, 438, 479,
- 907, 477, 123, 124, 480, 244, 123, 124, 742, 367,
- 926, 245, 246, 247, 248, 249, 250, 114, 115, 116,
- 117, 191, 782, 99, 192, 122, 402, 476, 479, 307,
- 308, 819, 820, 821, 100, 184, 406, 185, 122, 267,
- 376, 822, 377, 123, 124, 186, 187, 188, 189, 190,
- 125, 656, 657, 839, 839, 863, 123, 124, 840, 841,
- 864, 378, 191, 379, 880, 192, 132, 380, 140, 881,
- 887, 448, 177, 193, 891, 888, 958, 959, 473, 892,
- 839, 418, 437, 893, 194, 1022, 1023, 217, 182, 398,
- 1066, 439, 99, 1067, 231, 99, 195, 1026, 214, 405,
- 211, 456, 1027, 224, 251, 413, 1034, 99, 414, 424,
- 235, 99, 196, 197, 273, 198, 206, 294, 274, 292,
- 253, 421, 183, 293, 295, 218, 1043, 426, 428, 219,
- 287, 427, 232, 1044, 212, 305, 233, 225, 1049, 329,
- 1083, 481, 482, 1050, 236, 1084, 442, 209, 99, 446,
- 220, 1035, 1036, 1037, 254, 330, 447, 234, 450, 451,
- 452, 99, 453, 483, 288, 458, 461, 252, 463, 306,
- 114, 115, 116, 117, 123, 124, 120, 464, 122, 267,
- 607, 608, 609, 610, 1012, 1013, 1014, 1015, 467, 331,
- 468, 484, 485, 486, 487, 488, 123, 124, 490, 187,
- 188, 491, 190, 125, 492, 493, 494, 495, 501, 496,
- 502, 497, 498, 499, 503, 191, 500, 504, 192, 505,
- 506, 507, 508, 509, 510, 511, 193, 512, 513, 514,
+ 309, 329, 274, 293, 295, 195, 786, 214, 182, 211,
+ 224, 235, 253, 746, 287, 305, 716, 330, 948, 949,
+ 950, 196, 197, 954, 198, 206, 960, 94, 175, 176,
+ 368, 737, 218, 232, 245, 369, 219, 233, 604, 307,
+ 308, 815, 183, 212, 225, 236, 254, 402, 288, 306,
+ 40, 331, 403, 604, 307, 308, 209, 220, 234, 252,
+ 33, 32, 34, 406, 35, 44, 123, 124, 407, 418,
+ 108, 109, 632, 110, 419, 122, 111, 112, 113, 46,
+ 48, 123, 124, 266, 638, 639, 640, 50, 226, 227,
+ 228, 229, 230, 123, 124, 52, 54, 660, 661, 662,
+ 663, 114, 115, 116, 117, 118, 119, 120, 121, 122,
+ 738, 99, 191, 56, 267, 192, 268, 269, 796, 797,
+ 270, 271, 272, 863, 421, 428, 864, 123, 124, 422,
+ 429, 123, 124, 664, 125, 1020, 1021, 1022, 1023, 126,
+ 127, 128, 129, 130, 780, 131, 866, 122, 58, 867,
+ 132, 1078, 456, 681, 1079, 1080, 1081, 457, 216, 133,
+ 60, 872, 134, 95, 873, 123, 124, 656, 657, 135,
+ 473, 99, 96, 97, 98, 474, 912, 136, 137, 913,
+ 476, 138, 139, 267, 191, 477, 99, 192, 737, 744,
+ 99, 745, 123, 124, 948, 949, 950, 62, 99, 954,
+ 123, 124, 960, 676, 1045, 1046, 1047, 122, 677, 678,
+ 679, 680, 681, 682, 683, 684, 685, 686, 687, 688,
+ 689, 690, 691, 692, 693, 123, 124, 64, 36, 37,
+ 38, 39, 99, 66, 267, 68, 99, 479, 781, 782,
+ 783, 784, 480, 244, 607, 608, 609, 610, 70, 245,
+ 246, 247, 248, 249, 250, 122, 267, 91, 402, 114,
+ 115, 116, 117, 823, 746, 1076, 934, 122, 1077, 353,
+ 99, 476, 121, 123, 124, 349, 824, 184, 786, 185,
+ 1007, 357, 1008, 1009, 100, 123, 124, 186, 187, 188,
+ 189, 190, 125, 966, 967, 358, 360, 99, 766, 767,
+ 768, 769, 770, 771, 191, 99, 359, 192, 132, 267,
+ 289, 268, 269, 290, 291, 193, 479, 361, 140, 406,
+ 845, 825, 177, 845, 826, 846, 123, 124, 847, 367,
+ 99, 869, 437, 376, 194, 886, 870, 217, 182, 377,
+ 887, 378, 893, 438, 231, 379, 195, 894, 214, 380,
+ 211, 398, 897, 224, 251, 405, 99, 898, 413, 414,
+ 235, 424, 196, 197, 273, 198, 206, 294, 274, 292,
+ 253, 473, 183, 293, 295, 218, 899, 426, 99, 219,
+ 287, 427, 232, 845, 212, 305, 233, 225, 1032, 329,
+ 99, 481, 482, 418, 236, 439, 1036, 209, 1033, 442,
+ 220, 1037, 446, 456, 254, 330, 421, 234, 1044, 447,
+ 428, 1053, 448, 1059, 288, 1054, 450, 252, 1060, 306,
+ 114, 115, 116, 117, 123, 124, 120, 1093, 122, 267,
+ 451, 99, 1094, 452, 453, 496, 458, 461, 463, 331,
+ 464, 467, 468, 483, 484, 485, 123, 124, 486, 187,
+ 188, 487, 190, 125, 488, 490, 491, 492, 493, 494,
+ 495, 497, 501, 498, 499, 191, 502, 500, 192, 503,
+ 504, 505, 506, 507, 508, 509, 193, 510, 511, 512,
314, 315, 316, 317, 318, 319, 320, 321, 322, 323,
- 324, 325, 326, 515, 516, 517, 519, 520, 518, 521,
- 327, 328, 523, 524, 526, 140, 527, 528, 529, 530,
- 531, 533, 177, 532, 534, 535, 537, 539, 540, 591,
- 592, 593, 541, 545, 542, 543, 546, 547, 182, 99,
- 548, 549, 550, 551, 553, 554, 555, 781, 794, 556,
- 329, 557, 558, 559, 561, 562, 563, 565, 566, 569,
- 568, 99, 570, 783, 795, 571, 330, 572, 573, 575,
- 574, 576, 183, 1, 2, 3, 4, 5, 6, 7,
- 8, 9, 10, 11, 12, 13, 14, 15, 579, 580,
- 577, 581, 578, 582, 584, 586, 588, 784, 796, 594,
- 331, 589, 590, 595, 596, 597, 598, 599, 600, 652,
- 601, 602, 603, 606, 612, 34, 613, 614, 615, 844,
- 617, 616, 618, 619, 629, 747, 620, 621, 622, 624,
- 625, 671, 627, 628, 669, 659, 630, 634, 631, 633,
- 635, 670, 636, 637, 713, 641, 717, 721, 725, 729,
- 751, 754, 758, 642, 803, 807, 815, 643, 644, 645,
- 646, 647, 648, 649, 650, 651, 653, 654, 655, 827,
- 828, 829, 830, 831, 833, 666, 834, 667, 668, 836,
- 837, 838, 894, 847, 843, 846, 850, 849, 852, 853,
- 855, 856, 914, 859, 870, 869, 872, 873, 898, 874,
- 875, 876, 877, 878, 879, 884, 885, 886, 899, 902,
- 901, 623, 739, 909, 908, 904, 910, 911, 912, 918,
- 916, 913, 921, 915, 917, 956, 983, 984, 919, 920,
- 989, 922, 923, 990, 976, 924, 977, 992, 978, 993,
- 979, 980, 981, 985, 986, 987, 998, 1017, 1018, 1019,
- 1020, 1021, 1024, 1025, 1028, 1030, 1031, 1032, 1033, 1039,
- 1047, 1052, 1055, 1057, 1040, 1060, 1080, 1081, 1062, 1082,
- 1085, 194, 1041, 522, 273, 294, 1056, 292, 274, 489,
- 934, 293, 295, 195, 939, 214, 525, 211, 672, 675,
- 287, 960, 935, 305, 251, 961, 950, 309, 1053, 196,
- 197, 818, 198, 206, 1042, 1045, 1059, 963, 936, 937,
- 253, 938, 945, 781, 927, 957, 925, 794, 943, 954,
- 1086, 212, 944, 217, 288, 1061, 231, 306, 1087, 783,
- 951, 1002, 1088, 795, 209, 1003, 974, 929, 955, 224,
- 975, 964, 235, 949, 254, 1090, 928, 1004, 567, 982,
- 536, 953, 1051, 265, 962, 930, 931, 252, 560, 932,
- 564, 218, 933, 784, 232, 219, 538, 796, 233, 994,
- 995, 544, 973, 225, 996, 997, 236, 552, 972, 812,
- 971, 1005, 1054, 988, 991, 801, 220, 674, 587, 234,
- 1011, 1058, 1089, 583, 1078, 673, 0, 0, 0, 0,
- 0, 585, 0, 0, 0, 0, 0, 0, 0, 0,
+ 324, 325, 326, 513, 514, 515, 516, 517, 519, 520,
+ 327, 328, 521, 523, 518, 140, 526, 524, 527, 528,
+ 529, 530, 177, 533, 532, 534, 531, 535, 537, 591,
+ 592, 593, 539, 541, 540, 545, 542, 543, 182, 99,
+ 546, 547, 548, 549, 550, 551, 553, 785, 798, 554,
+ 329, 555, 556, 557, 558, 559, 561, 562, 563, 565,
+ 566, 99, 568, 787, 799, 569, 330, 570, 571, 572,
+ 573, 575, 183, 1, 2, 3, 4, 5, 6, 7,
+ 8, 9, 10, 11, 12, 13, 14, 15, 574, 576,
+ 579, 580, 577, 581, 578, 582, 584, 788, 800, 586,
+ 331, 588, 594, 589, 600, 590, 595, 596, 597, 652,
+ 598, 599, 601, 602, 603, 751, 612, 34, 606, 613,
+ 614, 615, 629, 617, 616, 618, 619, 850, 630, 620,
+ 621, 671, 622, 624, 625, 627, 628, 659, 669, 634,
+ 631, 670, 633, 635, 636, 717, 637, 641, 721, 725,
+ 729, 733, 755, 758, 762, 642, 807, 811, 819, 643,
+ 644, 645, 646, 647, 648, 649, 650, 651, 653, 654,
+ 655, 831, 832, 833, 834, 835, 837, 838, 842, 666,
+ 667, 843, 844, 668, 853, 849, 852, 856, 855, 858,
+ 859, 861, 862, 900, 865, 876, 875, 878, 879, 904,
+ 880, 881, 882, 883, 884, 885, 890, 891, 892, 905,
+ 908, 907, 623, 522, 915, 914, 910, 916, 917, 918,
+ 919, 924, 927, 920, 928, 921, 929, 964, 923, 922,
+ 991, 925, 926, 930, 931, 992, 997, 998, 932, 1001,
+ 984, 1000, 985, 986, 987, 988, 989, 993, 994, 995,
+ 1006, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1034, 1035,
+ 1040, 1038, 1041, 1042, 1066, 1043, 1049, 1050, 1057, 1062,
+ 1065, 1067, 743, 1070, 1090, 1051, 1072, 194, 1052, 1091,
+ 273, 294, 1092, 292, 274, 1055, 942, 293, 295, 195,
+ 947, 214, 1095, 211, 489, 1063, 287, 968, 943, 305,
+ 251, 969, 958, 309, 1096, 196, 197, 1069, 198, 206,
+ 1071, 672, 1100, 971, 944, 945, 253, 946, 953, 785,
+ 675, 935, 1097, 798, 951, 822, 1098, 212, 952, 217,
+ 288, 525, 231, 306, 965, 787, 959, 1010, 933, 799,
+ 209, 1011, 962, 963, 937, 224, 982, 972, 235, 957,
+ 254, 983, 990, 1012, 567, 936, 536, 961, 1061, 939,
+ 970, 265, 940, 252, 938, 941, 1003, 218, 1005, 788,
+ 232, 219, 560, 800, 233, 981, 564, 1002, 552, 225,
+ 538, 1004, 236, 980, 544, 979, 816, 1013, 1064, 996,
+ 674, 999, 220, 805, 583, 234, 673, 1019, 1068, 1088,
+ 1099, 0, 0, 0, 585, 0, 587, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 934, 0, 0, 0, 939, 0, 960, 0,
- 0, 0, 961, 0, 935, 0, 0, 0, 950, 0,
- 0, 0, 0, 0, 963, 1002, 0, 0, 0, 1003,
- 936, 937, 0, 938, 945, 0, 0, 0, 0, 0,
- 943, 1004, 0, 0, 944, 0, 0, 0, 0, 0,
- 0, 0, 951, 0, 0, 0, 0, 0, 964, 0,
- 0, 0, 0, 0, 0, 949, 0, 0, 0, 0,
- 0, 962, 0, 0, 0, 1005
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 942, 0, 0, 0, 947, 0, 968, 0,
+ 0, 0, 969, 0, 943, 0, 0, 0, 958, 0,
+ 0, 0, 0, 0, 971, 1010, 0, 0, 0, 1011,
+ 944, 945, 0, 946, 953, 0, 0, 0, 0, 0,
+ 951, 1012, 0, 0, 952, 0, 0, 0, 0, 0,
+ 0, 0, 959, 0, 0, 0, 0, 0, 972, 0,
+ 0, 0, 0, 0, 0, 957, 0, 0, 0, 0,
+ 0, 970, 0, 0, 0, 1013
};
- const short
+ const short int
Dhcp6Parser::yycheck_[] =
{
74, 75, 76, 77, 78, 79, 80, 83, 82, 83,
84, 85, 82, 83, 83, 77, 621, 77, 76, 77,
- 78, 79, 80, 615, 82, 83, 598, 85, 854, 854,
- 854, 77, 77, 854, 77, 77, 854, 10, 15, 16,
- 92, 90, 78, 79, 0, 3, 78, 79, 97, 505,
- 8, 171, 76, 77, 78, 79, 80, 7, 82, 83,
- 17, 85, 99, 100, 520, 7, 77, 78, 79, 80,
- 5, 3, 7, 7, 9, 49, 8, 7, 66, 67,
- 11, 12, 533, 14, 48, 7, 17, 18, 19, 66,
- 67, 20, 66, 67, 545, 546, 547, 61, 62, 63,
- 64, 65, 66, 67, 138, 139, 140, 141, 7, 40,
- 41, 42, 43, 44, 45, 46, 47, 48, 7, 171,
- 49, 85, 51, 52, 88, 7, 55, 56, 57, 7,
- 118, 119, 20, 7, 171, 66, 67, 66, 67, 3,
- 174, 29, 73, 3, 8, 7, 6, 78, 79, 80,
- 81, 82, 147, 84, 7, 150, 151, 152, 89, 102,
- 103, 104, 105, 106, 107, 7, 3, 98, 3, 6,
- 101, 144, 146, 8, 148, 149, 7, 108, 66, 67,
- 153, 154, 155, 171, 47, 116, 117, 13, 3, 120,
- 121, 3, 3, 8, 171, 6, 8, 171, 171, 145,
- 1026, 1026, 1026, 6, 20, 1026, 3, 171, 1026, 25,
- 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
- 36, 37, 38, 39, 112, 113, 114, 115, 4, 48,
- 3, 92, 93, 49, 95, 8, 171, 172, 173, 174,
- 171, 3, 171, 8, 48, 3, 8, 66, 67, 49,
- 50, 51, 52, 53, 54, 59, 3, 3, 3, 3,
- 6, 8, 66, 67, 8, 84, 66, 67, 860, 4,
- 842, 90, 91, 92, 93, 94, 95, 40, 41, 42,
- 43, 85, 887, 171, 88, 48, 3, 3, 3, 99,
- 100, 8, 8, 8, 368, 58, 3, 60, 48, 49,
- 4, 8, 4, 66, 67, 68, 69, 70, 71, 72,
- 73, 135, 136, 3, 3, 3, 66, 67, 8, 8,
- 8, 4, 85, 4, 3, 88, 89, 4, 402, 8,
- 3, 3, 406, 96, 3, 8, 86, 87, 3, 8,
- 3, 3, 8, 8, 418, 8, 8, 421, 406, 4,
- 3, 8, 171, 6, 428, 171, 418, 3, 418, 4,
- 418, 3, 8, 421, 438, 4, 8, 171, 4, 4,
- 428, 171, 418, 418, 448, 418, 418, 453, 448, 453,
- 438, 3, 406, 453, 453, 421, 8, 4, 3, 421,
- 448, 4, 428, 8, 418, 453, 428, 421, 3, 473,
- 3, 358, 359, 8, 428, 8, 4, 418, 171, 4,
- 421, 109, 110, 111, 438, 473, 8, 428, 4, 4,
- 8, 171, 3, 171, 448, 4, 4, 438, 4, 453,
- 40, 41, 42, 43, 66, 67, 46, 4, 48, 49,
- 74, 75, 76, 77, 21, 22, 23, 24, 4, 473,
- 4, 4, 4, 4, 4, 4, 66, 67, 4, 69,
- 70, 4, 72, 73, 4, 4, 4, 4, 4, 172,
- 4, 172, 172, 172, 4, 85, 172, 4, 88, 4,
- 4, 4, 4, 4, 4, 4, 96, 4, 4, 4,
- 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
- 132, 133, 134, 4, 4, 4, 4, 4, 172, 4,
- 142, 143, 4, 174, 4, 589, 4, 4, 4, 4,
- 172, 4, 596, 174, 4, 4, 4, 4, 172, 486,
- 487, 488, 4, 4, 172, 172, 4, 4, 596, 171,
- 4, 4, 4, 4, 4, 4, 172, 621, 622, 4,
- 624, 4, 4, 174, 4, 174, 174, 4, 4, 4,
- 174, 171, 4, 621, 622, 172, 624, 4, 172, 4,
- 172, 4, 596, 156, 157, 158, 159, 160, 161, 162,
- 163, 164, 165, 166, 167, 168, 169, 170, 4, 4,
- 174, 4, 174, 4, 4, 4, 4, 621, 622, 171,
- 624, 7, 7, 7, 7, 7, 7, 5, 171, 566,
- 5, 5, 5, 171, 5, 7, 5, 5, 5, 3,
- 5, 7, 5, 5, 171, 83, 7, 7, 7, 7,
- 5, 588, 5, 5, 5, 137, 171, 7, 171, 171,
- 171, 5, 171, 171, 7, 171, 7, 7, 7, 7,
- 7, 7, 7, 171, 7, 7, 7, 171, 171, 171,
- 171, 171, 171, 171, 171, 171, 171, 171, 171, 4,
- 4, 4, 4, 4, 4, 171, 4, 171, 171, 4,
- 4, 4, 171, 3, 6, 6, 3, 6, 6, 3,
- 6, 3, 174, 6, 3, 6, 6, 3, 6, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 3, 3,
- 6, 520, 614, 4, 6, 8, 4, 4, 4, 4,
- 174, 172, 4, 172, 172, 4, 4, 4, 172, 172,
- 4, 172, 172, 4, 172, 174, 172, 6, 172, 3,
- 172, 172, 172, 172, 172, 172, 4, 171, 171, 171,
- 171, 171, 8, 8, 171, 4, 8, 3, 8, 171,
- 4, 4, 4, 4, 171, 5, 4, 4, 7, 4,
- 4, 845, 171, 402, 848, 851, 172, 851, 848, 368,
- 854, 851, 851, 845, 854, 845, 406, 845, 589, 596,
- 848, 865, 854, 851, 868, 865, 854, 871, 174, 845,
- 845, 670, 845, 845, 171, 171, 171, 865, 854, 854,
- 868, 854, 854, 887, 844, 863, 839, 891, 854, 857,
- 174, 845, 854, 897, 848, 171, 900, 851, 172, 887,
- 854, 905, 172, 891, 845, 905, 871, 847, 860, 897,
- 873, 865, 900, 854, 868, 171, 845, 905, 456, 880,
- 418, 856, 1026, 81, 865, 848, 850, 868, 448, 851,
- 453, 897, 853, 887, 900, 897, 421, 891, 900, 897,
- 899, 428, 870, 897, 900, 902, 900, 438, 868, 634,
- 866, 905, 1032, 887, 891, 624, 897, 595, 479, 900,
- 906, 1049, 1083, 473, 1066, 590, -1, -1, -1, -1,
- -1, 476, -1, -1, -1, -1, -1, -1, -1, -1,
+ 78, 79, 80, 615, 82, 83, 598, 85, 860, 860,
+ 860, 77, 77, 860, 77, 77, 860, 10, 15, 16,
+ 3, 94, 78, 79, 92, 8, 78, 79, 505, 101,
+ 102, 99, 76, 77, 78, 79, 80, 3, 82, 83,
+ 17, 85, 8, 520, 101, 102, 77, 78, 79, 80,
+ 5, 0, 7, 3, 9, 7, 68, 69, 8, 3,
+ 11, 12, 533, 14, 8, 50, 17, 18, 19, 7,
+ 7, 68, 69, 20, 545, 546, 547, 7, 63, 64,
+ 65, 66, 67, 68, 69, 7, 7, 140, 141, 142,
+ 143, 42, 43, 44, 45, 46, 47, 48, 49, 50,
+ 173, 173, 87, 7, 51, 90, 53, 54, 120, 121,
+ 57, 58, 59, 3, 3, 3, 6, 68, 69, 8,
+ 8, 68, 69, 176, 75, 21, 22, 23, 24, 80,
+ 81, 82, 83, 84, 20, 86, 3, 50, 7, 6,
+ 91, 149, 3, 29, 152, 153, 154, 8, 61, 100,
+ 7, 3, 103, 146, 6, 68, 69, 137, 138, 110,
+ 3, 173, 155, 156, 157, 8, 3, 118, 119, 6,
+ 3, 122, 123, 51, 87, 8, 173, 90, 94, 95,
+ 173, 97, 68, 69, 1036, 1036, 1036, 7, 173, 1036,
+ 68, 69, 1036, 20, 111, 112, 113, 50, 25, 26,
+ 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
+ 37, 38, 39, 40, 41, 68, 69, 7, 173, 174,
+ 175, 176, 173, 7, 51, 7, 173, 3, 114, 115,
+ 116, 117, 8, 86, 76, 77, 78, 79, 7, 92,
+ 93, 94, 95, 96, 97, 50, 51, 173, 3, 42,
+ 43, 44, 45, 8, 866, 3, 848, 50, 6, 13,
+ 173, 3, 49, 68, 69, 147, 8, 60, 893, 62,
+ 148, 6, 150, 151, 368, 68, 69, 70, 71, 72,
+ 73, 74, 75, 88, 89, 3, 8, 173, 104, 105,
+ 106, 107, 108, 109, 87, 173, 4, 90, 91, 51,
+ 52, 53, 54, 55, 56, 98, 3, 3, 402, 3,
+ 3, 8, 406, 3, 8, 8, 68, 69, 8, 4,
+ 173, 3, 8, 4, 418, 3, 8, 421, 406, 4,
+ 8, 4, 3, 3, 428, 4, 418, 8, 418, 4,
+ 418, 4, 3, 421, 438, 4, 173, 8, 4, 4,
+ 428, 4, 418, 418, 448, 418, 418, 453, 448, 453,
+ 438, 3, 406, 453, 453, 421, 8, 4, 173, 421,
+ 448, 4, 428, 3, 418, 453, 428, 421, 8, 473,
+ 173, 358, 359, 3, 428, 8, 3, 418, 8, 4,
+ 421, 8, 4, 3, 438, 473, 3, 428, 8, 8,
+ 3, 8, 3, 3, 448, 8, 4, 438, 8, 453,
+ 42, 43, 44, 45, 68, 69, 48, 3, 50, 51,
+ 4, 173, 8, 8, 3, 174, 4, 4, 4, 473,
+ 4, 4, 4, 173, 4, 4, 68, 69, 4, 71,
+ 72, 4, 74, 75, 4, 4, 4, 4, 4, 4,
+ 4, 174, 4, 174, 174, 87, 4, 174, 90, 4,
+ 4, 4, 4, 4, 4, 4, 98, 4, 4, 4,
+ 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
+ 134, 135, 136, 4, 4, 4, 4, 4, 4, 4,
+ 144, 145, 4, 4, 174, 589, 4, 176, 4, 4,
+ 4, 4, 596, 4, 176, 4, 174, 4, 4, 486,
+ 487, 488, 4, 4, 174, 4, 174, 174, 596, 173,
+ 4, 4, 4, 4, 4, 4, 4, 621, 622, 4,
+ 624, 174, 4, 4, 4, 176, 4, 176, 176, 4,
+ 4, 173, 176, 621, 622, 4, 624, 4, 174, 4,
+ 174, 4, 596, 158, 159, 160, 161, 162, 163, 164,
+ 165, 166, 167, 168, 169, 170, 171, 172, 174, 4,
+ 4, 4, 176, 4, 176, 4, 4, 621, 622, 4,
+ 624, 4, 173, 7, 173, 7, 7, 7, 7, 566,
+ 7, 5, 5, 5, 5, 85, 5, 7, 173, 5,
+ 5, 5, 173, 5, 7, 5, 5, 3, 173, 7,
+ 7, 588, 7, 7, 5, 5, 5, 139, 5, 7,
+ 173, 5, 173, 173, 173, 7, 173, 173, 7, 7,
+ 7, 7, 7, 7, 7, 173, 7, 7, 7, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 4, 4, 4, 4, 4, 4, 4, 4, 173,
+ 173, 4, 4, 173, 3, 6, 6, 3, 6, 6,
+ 3, 6, 3, 173, 6, 3, 6, 6, 3, 6,
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 3,
+ 3, 6, 520, 402, 4, 6, 8, 4, 4, 4,
+ 174, 4, 4, 176, 4, 174, 4, 4, 174, 176,
+ 4, 174, 174, 174, 174, 4, 4, 4, 176, 3,
+ 174, 6, 174, 174, 174, 174, 174, 174, 174, 174,
+ 4, 173, 173, 173, 173, 173, 173, 173, 8, 8,
+ 4, 173, 8, 3, 174, 8, 173, 173, 4, 4,
+ 4, 4, 614, 5, 4, 173, 7, 851, 173, 4,
+ 854, 857, 4, 857, 854, 173, 860, 857, 857, 851,
+ 860, 851, 4, 851, 368, 176, 854, 871, 860, 857,
+ 874, 871, 860, 877, 176, 851, 851, 173, 851, 851,
+ 173, 589, 173, 871, 860, 860, 874, 860, 860, 893,
+ 596, 850, 174, 897, 860, 670, 174, 851, 860, 903,
+ 854, 406, 906, 857, 869, 893, 860, 911, 845, 897,
+ 851, 911, 863, 866, 853, 903, 877, 871, 906, 860,
+ 874, 879, 886, 911, 456, 851, 418, 862, 1036, 856,
+ 871, 81, 857, 874, 854, 859, 905, 903, 908, 893,
+ 906, 903, 448, 897, 906, 876, 453, 903, 438, 903,
+ 421, 906, 906, 874, 428, 872, 634, 911, 1042, 893,
+ 595, 897, 903, 624, 473, 906, 590, 912, 1059, 1076,
+ 1093, -1, -1, -1, 476, -1, 479, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 1026, -1, -1, -1, 1026, -1, 1032, -1,
- -1, -1, 1032, -1, 1026, -1, -1, -1, 1026, -1,
- -1, -1, -1, -1, 1032, 1049, -1, -1, -1, 1049,
- 1026, 1026, -1, 1026, 1026, -1, -1, -1, -1, -1,
- 1026, 1049, -1, -1, 1026, -1, -1, -1, -1, -1,
- -1, -1, 1026, -1, -1, -1, -1, -1, 1032, -1,
- -1, -1, -1, -1, -1, 1026, -1, -1, -1, -1,
- -1, 1032, -1, -1, -1, 1049
+ -1, -1, 1036, -1, -1, -1, 1036, -1, 1042, -1,
+ -1, -1, 1042, -1, 1036, -1, -1, -1, 1036, -1,
+ -1, -1, -1, -1, 1042, 1059, -1, -1, -1, 1059,
+ 1036, 1036, -1, 1036, 1036, -1, -1, -1, -1, -1,
+ 1036, 1059, -1, -1, 1036, -1, -1, -1, -1, -1,
+ -1, -1, 1036, -1, -1, -1, -1, -1, 1042, -1,
+ -1, -1, -1, -1, -1, 1036, -1, -1, -1, -1,
+ -1, 1042, -1, -1, -1, 1059
};
- const unsigned short
+ const unsigned short int
Dhcp6Parser::yystos_[] =
{
- 0, 156, 157, 158, 159, 160, 161, 162, 163, 164,
- 165, 166, 167, 168, 169, 170, 176, 177, 178, 179,
- 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
- 190, 191, 0, 5, 7, 9, 171, 172, 173, 174,
- 192, 193, 194, 199, 7, 208, 7, 214, 7, 229,
- 7, 323, 7, 400, 7, 416, 7, 433, 7, 352,
- 7, 358, 7, 382, 7, 299, 7, 494, 7, 540,
- 7, 532, 200, 195, 209, 215, 230, 324, 401, 417,
- 434, 353, 359, 383, 300, 495, 541, 533, 192, 201,
- 202, 171, 197, 198, 10, 144, 153, 154, 155, 171,
- 207, 210, 211, 212, 524, 526, 528, 538, 11, 12,
- 14, 17, 18, 19, 40, 41, 42, 43, 44, 45,
- 46, 47, 48, 66, 67, 73, 78, 79, 80, 81,
- 82, 84, 89, 98, 101, 108, 116, 117, 120, 121,
- 207, 216, 217, 218, 220, 221, 222, 223, 224, 225,
- 227, 236, 238, 240, 273, 279, 285, 291, 293, 307,
- 317, 337, 342, 350, 376, 406, 408, 427, 457, 469,
- 481, 482, 490, 492, 530, 15, 16, 207, 231, 232,
- 233, 235, 406, 408, 58, 60, 68, 69, 70, 71,
- 72, 85, 88, 96, 207, 220, 221, 222, 223, 325,
- 326, 327, 329, 331, 333, 335, 337, 340, 341, 376,
- 394, 406, 408, 410, 427, 452, 59, 207, 333, 335,
- 376, 402, 403, 404, 406, 408, 61, 62, 63, 64,
- 65, 207, 333, 335, 376, 406, 408, 418, 419, 420,
- 422, 423, 425, 426, 84, 90, 91, 92, 93, 94,
- 95, 207, 376, 406, 408, 435, 436, 437, 438, 440,
- 442, 444, 446, 448, 450, 350, 20, 49, 51, 52,
- 55, 56, 57, 207, 258, 360, 361, 362, 363, 364,
- 365, 366, 368, 370, 372, 373, 375, 406, 408, 50,
- 53, 54, 207, 258, 364, 370, 384, 385, 386, 387,
- 388, 390, 391, 392, 393, 406, 408, 99, 100, 207,
- 301, 302, 303, 305, 122, 123, 124, 125, 126, 127,
- 128, 129, 130, 131, 132, 133, 134, 142, 143, 207,
- 406, 408, 496, 497, 498, 499, 501, 503, 504, 506,
- 507, 508, 511, 513, 514, 515, 518, 520, 522, 145,
- 542, 543, 544, 13, 534, 535, 536, 6, 3, 4,
- 8, 3, 213, 539, 525, 527, 529, 4, 3, 8,
- 219, 531, 228, 237, 239, 241, 4, 4, 4, 4,
- 4, 226, 318, 351, 377, 407, 409, 338, 343, 280,
- 292, 286, 274, 458, 428, 294, 308, 470, 4, 483,
- 491, 493, 3, 8, 234, 4, 3, 8, 395, 411,
- 328, 330, 332, 4, 4, 336, 334, 453, 3, 8,
- 405, 3, 8, 421, 4, 424, 4, 4, 3, 8,
- 451, 439, 441, 443, 445, 447, 449, 8, 3, 8,
- 367, 259, 4, 371, 369, 374, 4, 8, 3, 389,
- 4, 4, 8, 3, 304, 306, 3, 8, 4, 500,
- 502, 4, 505, 4, 4, 509, 512, 4, 4, 516,
- 519, 521, 523, 3, 8, 545, 3, 8, 537, 3,
- 8, 192, 192, 171, 4, 4, 4, 4, 4, 211,
- 4, 4, 4, 4, 4, 4, 172, 172, 172, 172,
- 172, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 172, 4,
- 4, 4, 217, 4, 174, 232, 4, 4, 4, 4,
- 4, 172, 174, 4, 4, 4, 326, 4, 403, 4,
- 172, 4, 172, 172, 419, 4, 4, 4, 4, 4,
- 4, 4, 437, 4, 4, 172, 4, 4, 4, 174,
- 362, 4, 174, 174, 386, 4, 4, 302, 174, 4,
- 4, 172, 4, 172, 172, 4, 4, 174, 174, 4,
- 4, 4, 4, 497, 4, 543, 4, 535, 4, 7,
- 7, 192, 192, 192, 171, 7, 7, 7, 7, 5,
- 171, 5, 5, 5, 194, 196, 171, 74, 75, 76,
- 77, 339, 5, 5, 5, 5, 7, 5, 5, 5,
- 7, 7, 7, 196, 7, 5, 203, 5, 5, 171,
- 171, 171, 203, 171, 7, 171, 171, 171, 203, 203,
- 203, 171, 171, 171, 171, 171, 171, 171, 171, 171,
- 171, 171, 192, 171, 171, 171, 135, 136, 510, 137,
- 138, 139, 140, 141, 174, 517, 171, 171, 171, 5,
- 5, 192, 216, 542, 534, 231, 20, 25, 26, 27,
+ 0, 158, 159, 160, 161, 162, 163, 164, 165, 166,
+ 167, 168, 169, 170, 171, 172, 178, 179, 180, 181,
+ 182, 183, 184, 185, 186, 187, 188, 189, 190, 191,
+ 192, 193, 0, 5, 7, 9, 173, 174, 175, 176,
+ 194, 195, 196, 201, 7, 210, 7, 216, 7, 231,
+ 7, 329, 7, 406, 7, 422, 7, 439, 7, 358,
+ 7, 364, 7, 388, 7, 305, 7, 500, 7, 546,
+ 7, 538, 202, 197, 211, 217, 232, 330, 407, 423,
+ 440, 359, 365, 389, 306, 501, 547, 539, 194, 203,
+ 204, 173, 199, 200, 10, 146, 155, 156, 157, 173,
+ 209, 212, 213, 214, 530, 532, 534, 544, 11, 12,
+ 14, 17, 18, 19, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 68, 69, 75, 80, 81, 82, 83,
+ 84, 86, 91, 100, 103, 110, 118, 119, 122, 123,
+ 209, 218, 219, 220, 222, 223, 224, 225, 226, 227,
+ 229, 238, 240, 242, 279, 285, 291, 297, 299, 313,
+ 323, 343, 348, 356, 382, 412, 414, 433, 463, 475,
+ 487, 488, 496, 498, 536, 15, 16, 209, 233, 234,
+ 235, 237, 412, 414, 60, 62, 70, 71, 72, 73,
+ 74, 87, 90, 98, 209, 222, 223, 224, 225, 331,
+ 332, 333, 335, 337, 339, 341, 343, 346, 347, 382,
+ 400, 412, 414, 416, 433, 458, 61, 209, 339, 341,
+ 382, 408, 409, 410, 412, 414, 63, 64, 65, 66,
+ 67, 209, 339, 341, 382, 412, 414, 424, 425, 426,
+ 428, 429, 431, 432, 86, 92, 93, 94, 95, 96,
+ 97, 209, 382, 412, 414, 441, 442, 443, 444, 446,
+ 448, 450, 452, 454, 456, 356, 20, 51, 53, 54,
+ 57, 58, 59, 209, 260, 366, 367, 368, 369, 370,
+ 371, 372, 374, 376, 378, 379, 381, 412, 414, 52,
+ 55, 56, 209, 260, 370, 376, 390, 391, 392, 393,
+ 394, 396, 397, 398, 399, 412, 414, 101, 102, 209,
+ 307, 308, 309, 311, 124, 125, 126, 127, 128, 129,
+ 130, 131, 132, 133, 134, 135, 136, 144, 145, 209,
+ 412, 414, 502, 503, 504, 505, 507, 509, 510, 512,
+ 513, 514, 517, 519, 520, 521, 524, 526, 528, 147,
+ 548, 549, 550, 13, 540, 541, 542, 6, 3, 4,
+ 8, 3, 215, 545, 531, 533, 535, 4, 3, 8,
+ 221, 537, 230, 239, 241, 243, 4, 4, 4, 4,
+ 4, 228, 324, 357, 383, 413, 415, 344, 349, 286,
+ 298, 292, 280, 464, 434, 300, 314, 476, 4, 489,
+ 497, 499, 3, 8, 236, 4, 3, 8, 401, 417,
+ 334, 336, 338, 4, 4, 342, 340, 459, 3, 8,
+ 411, 3, 8, 427, 4, 430, 4, 4, 3, 8,
+ 457, 445, 447, 449, 451, 453, 455, 8, 3, 8,
+ 373, 261, 4, 377, 375, 380, 4, 8, 3, 395,
+ 4, 4, 8, 3, 310, 312, 3, 8, 4, 506,
+ 508, 4, 511, 4, 4, 515, 518, 4, 4, 522,
+ 525, 527, 529, 3, 8, 551, 3, 8, 543, 3,
+ 8, 194, 194, 173, 4, 4, 4, 4, 4, 213,
+ 4, 4, 4, 4, 4, 4, 174, 174, 174, 174,
+ 174, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4, 174, 4,
+ 4, 4, 219, 4, 176, 234, 4, 4, 4, 4,
+ 4, 174, 176, 4, 4, 4, 332, 4, 409, 4,
+ 174, 4, 174, 174, 425, 4, 4, 4, 4, 4,
+ 4, 4, 443, 4, 4, 174, 4, 4, 4, 176,
+ 368, 4, 176, 176, 392, 4, 4, 308, 176, 4,
+ 4, 174, 4, 174, 174, 4, 4, 176, 176, 4,
+ 4, 4, 4, 503, 4, 549, 4, 541, 4, 7,
+ 7, 194, 194, 194, 173, 7, 7, 7, 7, 5,
+ 173, 5, 5, 5, 196, 198, 173, 76, 77, 78,
+ 79, 345, 5, 5, 5, 5, 7, 5, 5, 5,
+ 7, 7, 7, 198, 7, 5, 205, 5, 5, 173,
+ 173, 173, 205, 173, 7, 173, 173, 173, 205, 205,
+ 205, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 194, 173, 173, 173, 137, 138, 516, 139,
+ 140, 141, 142, 143, 176, 523, 173, 173, 173, 5,
+ 5, 194, 218, 548, 540, 233, 20, 25, 26, 27,
28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
- 38, 39, 207, 246, 247, 248, 251, 253, 255, 257,
- 258, 260, 261, 262, 263, 264, 265, 266, 267, 268,
- 270, 271, 246, 7, 242, 243, 244, 7, 319, 320,
- 321, 7, 354, 355, 356, 7, 378, 379, 380, 7,
- 344, 345, 346, 92, 171, 281, 282, 283, 284, 201,
- 93, 95, 283, 287, 288, 289, 290, 83, 275, 276,
- 277, 7, 459, 460, 7, 429, 430, 431, 7, 295,
- 296, 297, 102, 103, 104, 105, 106, 107, 309, 310,
- 311, 312, 313, 314, 315, 316, 20, 112, 113, 114,
- 115, 207, 260, 406, 408, 471, 472, 473, 476, 477,
- 479, 480, 118, 119, 207, 406, 408, 484, 485, 486,
- 488, 496, 204, 7, 396, 397, 398, 7, 412, 413,
- 414, 97, 438, 454, 455, 7, 546, 547, 242, 8,
- 8, 8, 8, 249, 252, 254, 256, 4, 4, 4,
- 4, 4, 269, 4, 4, 272, 4, 4, 4, 3,
- 8, 8, 245, 6, 3, 322, 6, 3, 357, 6,
- 3, 381, 6, 3, 347, 6, 3, 3, 6, 6,
- 3, 6, 278, 3, 8, 461, 3, 6, 432, 6,
- 3, 298, 6, 3, 4, 4, 4, 4, 4, 4,
- 3, 8, 474, 478, 4, 4, 4, 3, 8, 487,
- 489, 3, 8, 8, 171, 205, 206, 399, 6, 3,
- 415, 6, 3, 456, 8, 548, 3, 6, 6, 4,
- 4, 4, 4, 172, 174, 172, 174, 172, 4, 172,
- 172, 4, 172, 172, 174, 247, 246, 244, 325, 321,
- 360, 356, 384, 380, 207, 220, 221, 222, 223, 258,
- 317, 329, 331, 333, 335, 337, 341, 348, 349, 376,
- 406, 408, 452, 346, 282, 288, 4, 276, 86, 87,
- 207, 258, 376, 406, 408, 462, 463, 464, 465, 466,
- 468, 460, 435, 431, 301, 297, 172, 172, 172, 172,
- 172, 172, 310, 4, 4, 172, 172, 172, 472, 4,
- 4, 485, 6, 3, 402, 398, 418, 414, 4, 146,
- 148, 149, 207, 258, 406, 408, 549, 550, 551, 552,
- 554, 547, 21, 22, 23, 24, 250, 171, 171, 171,
- 171, 171, 8, 8, 8, 8, 3, 8, 171, 467,
- 4, 8, 3, 8, 8, 109, 110, 111, 475, 171,
- 171, 171, 171, 8, 8, 171, 555, 4, 553, 3,
- 8, 349, 4, 174, 464, 4, 172, 4, 550, 171,
- 5, 171, 7, 556, 557, 558, 3, 6, 147, 150,
- 151, 152, 559, 560, 561, 563, 564, 565, 557, 562,
- 4, 4, 4, 3, 8, 4, 174, 172, 172, 560,
- 171
+ 38, 39, 40, 41, 209, 248, 249, 250, 253, 255,
+ 257, 259, 260, 262, 263, 264, 265, 266, 267, 268,
+ 269, 270, 272, 273, 275, 277, 248, 7, 244, 245,
+ 246, 7, 325, 326, 327, 7, 360, 361, 362, 7,
+ 384, 385, 386, 7, 350, 351, 352, 94, 173, 287,
+ 288, 289, 290, 203, 95, 97, 289, 293, 294, 295,
+ 296, 85, 281, 282, 283, 7, 465, 466, 7, 435,
+ 436, 437, 7, 301, 302, 303, 104, 105, 106, 107,
+ 108, 109, 315, 316, 317, 318, 319, 320, 321, 322,
+ 20, 114, 115, 116, 117, 209, 262, 412, 414, 477,
+ 478, 479, 482, 483, 485, 486, 120, 121, 209, 412,
+ 414, 490, 491, 492, 494, 502, 206, 7, 402, 403,
+ 404, 7, 418, 419, 420, 99, 444, 460, 461, 7,
+ 552, 553, 244, 8, 8, 8, 8, 251, 254, 256,
+ 258, 4, 4, 4, 4, 4, 271, 4, 4, 274,
+ 276, 278, 4, 4, 4, 3, 8, 8, 247, 6,
+ 3, 328, 6, 3, 363, 6, 3, 387, 6, 3,
+ 353, 6, 3, 3, 6, 6, 3, 6, 284, 3,
+ 8, 467, 3, 6, 438, 6, 3, 304, 6, 3,
+ 4, 4, 4, 4, 4, 4, 3, 8, 480, 484,
+ 4, 4, 4, 3, 8, 493, 495, 3, 8, 8,
+ 173, 207, 208, 405, 6, 3, 421, 6, 3, 462,
+ 8, 554, 3, 6, 6, 4, 4, 4, 4, 174,
+ 176, 174, 176, 174, 4, 174, 174, 4, 4, 4,
+ 174, 174, 176, 249, 248, 246, 331, 327, 366, 362,
+ 390, 386, 209, 222, 223, 224, 225, 260, 323, 335,
+ 337, 339, 341, 343, 347, 354, 355, 382, 412, 414,
+ 458, 352, 288, 294, 4, 282, 88, 89, 209, 260,
+ 382, 412, 414, 468, 469, 470, 471, 472, 474, 466,
+ 441, 437, 307, 303, 174, 174, 174, 174, 174, 174,
+ 316, 4, 4, 174, 174, 174, 478, 4, 4, 491,
+ 6, 3, 408, 404, 424, 420, 4, 148, 150, 151,
+ 209, 260, 412, 414, 555, 556, 557, 558, 560, 553,
+ 21, 22, 23, 24, 252, 173, 173, 173, 173, 173,
+ 173, 173, 8, 8, 8, 8, 3, 8, 173, 473,
+ 4, 8, 3, 8, 8, 111, 112, 113, 481, 173,
+ 173, 173, 173, 8, 8, 173, 561, 4, 559, 3,
+ 8, 355, 4, 176, 470, 4, 174, 4, 556, 173,
+ 5, 173, 7, 562, 563, 564, 3, 6, 149, 152,
+ 153, 154, 565, 566, 567, 569, 570, 571, 563, 568,
+ 4, 4, 4, 3, 8, 4, 176, 174, 174, 566,
+ 173
};
- const unsigned short
+ const unsigned short int
Dhcp6Parser::yyr1_[] =
{
- 0, 175, 177, 176, 178, 176, 179, 176, 180, 176,
- 181, 176, 182, 176, 183, 176, 184, 176, 185, 176,
- 186, 176, 187, 176, 188, 176, 189, 176, 190, 176,
- 191, 176, 192, 192, 192, 192, 192, 192, 192, 193,
- 195, 194, 196, 197, 197, 198, 198, 200, 199, 201,
- 201, 202, 202, 204, 203, 205, 205, 206, 206, 207,
- 209, 208, 210, 210, 211, 211, 211, 211, 211, 211,
- 213, 212, 215, 214, 216, 216, 217, 217, 217, 217,
- 217, 217, 217, 217, 217, 217, 217, 217, 217, 217,
- 217, 217, 217, 217, 217, 217, 217, 217, 217, 217,
- 217, 217, 217, 217, 217, 217, 217, 217, 217, 219,
- 218, 220, 221, 222, 223, 224, 226, 225, 228, 227,
- 230, 229, 231, 231, 232, 232, 232, 232, 232, 234,
- 233, 235, 237, 236, 239, 238, 241, 240, 242, 242,
- 243, 243, 245, 244, 246, 246, 247, 247, 247, 247,
- 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
- 247, 247, 247, 247, 249, 248, 250, 250, 250, 250,
- 252, 251, 254, 253, 256, 255, 257, 259, 258, 260,
- 261, 262, 263, 264, 265, 266, 267, 269, 268, 270,
- 272, 271, 274, 273, 275, 275, 276, 278, 277, 280,
- 279, 281, 281, 282, 282, 283, 284, 286, 285, 287,
- 287, 288, 288, 288, 289, 290, 292, 291, 294, 293,
- 295, 295, 296, 296, 298, 297, 300, 299, 301, 301,
- 301, 302, 302, 304, 303, 306, 305, 308, 307, 309,
- 309, 310, 310, 310, 310, 310, 310, 311, 312, 313,
- 314, 315, 316, 318, 317, 319, 319, 320, 320, 322,
- 321, 324, 323, 325, 325, 326, 326, 326, 326, 326,
- 326, 326, 326, 326, 326, 326, 326, 326, 326, 326,
- 326, 326, 326, 326, 326, 328, 327, 330, 329, 332,
- 331, 334, 333, 336, 335, 338, 337, 339, 339, 339,
- 339, 340, 341, 343, 342, 344, 344, 345, 345, 347,
- 346, 348, 348, 349, 349, 349, 349, 349, 349, 349,
- 349, 349, 349, 349, 349, 349, 349, 349, 349, 349,
- 351, 350, 353, 352, 354, 354, 355, 355, 357, 356,
- 359, 358, 360, 360, 361, 361, 362, 362, 362, 362,
- 362, 362, 362, 362, 362, 362, 363, 364, 365, 367,
- 366, 369, 368, 371, 370, 372, 374, 373, 375, 377,
- 376, 378, 378, 379, 379, 381, 380, 383, 382, 384,
- 384, 385, 385, 386, 386, 386, 386, 386, 386, 386,
- 386, 386, 387, 389, 388, 390, 391, 392, 393, 395,
- 394, 396, 396, 397, 397, 399, 398, 401, 400, 402,
- 402, 403, 403, 403, 403, 403, 403, 403, 405, 404,
- 407, 406, 409, 408, 411, 410, 412, 412, 413, 413,
- 415, 414, 417, 416, 418, 418, 419, 419, 419, 419,
- 419, 419, 419, 419, 419, 419, 419, 421, 420, 422,
- 424, 423, 425, 426, 428, 427, 429, 429, 430, 430,
- 432, 431, 434, 433, 435, 435, 436, 436, 437, 437,
- 437, 437, 437, 437, 437, 437, 437, 437, 437, 439,
- 438, 441, 440, 443, 442, 445, 444, 447, 446, 449,
- 448, 451, 450, 453, 452, 454, 454, 456, 455, 458,
- 457, 459, 459, 461, 460, 462, 462, 463, 463, 464,
- 464, 464, 464, 464, 464, 464, 465, 467, 466, 468,
- 470, 469, 471, 471, 472, 472, 472, 472, 472, 472,
- 472, 472, 472, 474, 473, 475, 475, 475, 476, 478,
- 477, 479, 480, 481, 483, 482, 484, 484, 485, 485,
- 485, 485, 485, 487, 486, 489, 488, 491, 490, 493,
- 492, 495, 494, 496, 496, 497, 497, 497, 497, 497,
- 497, 497, 497, 497, 497, 497, 497, 497, 497, 497,
- 497, 497, 497, 498, 500, 499, 502, 501, 503, 505,
- 504, 506, 507, 509, 508, 510, 510, 512, 511, 513,
- 514, 516, 515, 517, 517, 517, 517, 517, 519, 518,
- 521, 520, 523, 522, 525, 524, 527, 526, 529, 528,
- 531, 530, 533, 532, 534, 534, 535, 537, 536, 539,
- 538, 541, 540, 542, 542, 543, 545, 544, 546, 546,
- 548, 547, 549, 549, 550, 550, 550, 550, 550, 550,
- 550, 551, 553, 552, 555, 554, 556, 556, 558, 557,
- 559, 559, 560, 560, 560, 560, 562, 561, 563, 564,
- 565
+ 0, 177, 179, 178, 180, 178, 181, 178, 182, 178,
+ 183, 178, 184, 178, 185, 178, 186, 178, 187, 178,
+ 188, 178, 189, 178, 190, 178, 191, 178, 192, 178,
+ 193, 178, 194, 194, 194, 194, 194, 194, 194, 195,
+ 197, 196, 198, 199, 199, 200, 200, 202, 201, 203,
+ 203, 204, 204, 206, 205, 207, 207, 208, 208, 209,
+ 211, 210, 212, 212, 213, 213, 213, 213, 213, 213,
+ 215, 214, 217, 216, 218, 218, 219, 219, 219, 219,
+ 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+ 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+ 219, 219, 219, 219, 219, 219, 219, 219, 219, 221,
+ 220, 222, 223, 224, 225, 226, 228, 227, 230, 229,
+ 232, 231, 233, 233, 234, 234, 234, 234, 234, 236,
+ 235, 237, 239, 238, 241, 240, 243, 242, 244, 244,
+ 245, 245, 247, 246, 248, 248, 249, 249, 249, 249,
+ 249, 249, 249, 249, 249, 249, 249, 249, 249, 249,
+ 249, 249, 249, 249, 249, 249, 251, 250, 252, 252,
+ 252, 252, 254, 253, 256, 255, 258, 257, 259, 261,
+ 260, 262, 263, 264, 265, 266, 267, 268, 269, 271,
+ 270, 272, 274, 273, 276, 275, 278, 277, 280, 279,
+ 281, 281, 282, 284, 283, 286, 285, 287, 287, 288,
+ 288, 289, 290, 292, 291, 293, 293, 294, 294, 294,
+ 295, 296, 298, 297, 300, 299, 301, 301, 302, 302,
+ 304, 303, 306, 305, 307, 307, 307, 308, 308, 310,
+ 309, 312, 311, 314, 313, 315, 315, 316, 316, 316,
+ 316, 316, 316, 317, 318, 319, 320, 321, 322, 324,
+ 323, 325, 325, 326, 326, 328, 327, 330, 329, 331,
+ 331, 332, 332, 332, 332, 332, 332, 332, 332, 332,
+ 332, 332, 332, 332, 332, 332, 332, 332, 332, 332,
+ 332, 334, 333, 336, 335, 338, 337, 340, 339, 342,
+ 341, 344, 343, 345, 345, 345, 345, 346, 347, 349,
+ 348, 350, 350, 351, 351, 353, 352, 354, 354, 355,
+ 355, 355, 355, 355, 355, 355, 355, 355, 355, 355,
+ 355, 355, 355, 355, 355, 355, 357, 356, 359, 358,
+ 360, 360, 361, 361, 363, 362, 365, 364, 366, 366,
+ 367, 367, 368, 368, 368, 368, 368, 368, 368, 368,
+ 368, 368, 369, 370, 371, 373, 372, 375, 374, 377,
+ 376, 378, 380, 379, 381, 383, 382, 384, 384, 385,
+ 385, 387, 386, 389, 388, 390, 390, 391, 391, 392,
+ 392, 392, 392, 392, 392, 392, 392, 392, 393, 395,
+ 394, 396, 397, 398, 399, 401, 400, 402, 402, 403,
+ 403, 405, 404, 407, 406, 408, 408, 409, 409, 409,
+ 409, 409, 409, 409, 411, 410, 413, 412, 415, 414,
+ 417, 416, 418, 418, 419, 419, 421, 420, 423, 422,
+ 424, 424, 425, 425, 425, 425, 425, 425, 425, 425,
+ 425, 425, 425, 427, 426, 428, 430, 429, 431, 432,
+ 434, 433, 435, 435, 436, 436, 438, 437, 440, 439,
+ 441, 441, 442, 442, 443, 443, 443, 443, 443, 443,
+ 443, 443, 443, 443, 443, 445, 444, 447, 446, 449,
+ 448, 451, 450, 453, 452, 455, 454, 457, 456, 459,
+ 458, 460, 460, 462, 461, 464, 463, 465, 465, 467,
+ 466, 468, 468, 469, 469, 470, 470, 470, 470, 470,
+ 470, 470, 471, 473, 472, 474, 476, 475, 477, 477,
+ 478, 478, 478, 478, 478, 478, 478, 478, 478, 480,
+ 479, 481, 481, 481, 482, 484, 483, 485, 486, 487,
+ 489, 488, 490, 490, 491, 491, 491, 491, 491, 493,
+ 492, 495, 494, 497, 496, 499, 498, 501, 500, 502,
+ 502, 503, 503, 503, 503, 503, 503, 503, 503, 503,
+ 503, 503, 503, 503, 503, 503, 503, 503, 503, 504,
+ 506, 505, 508, 507, 509, 511, 510, 512, 513, 515,
+ 514, 516, 516, 518, 517, 519, 520, 522, 521, 523,
+ 523, 523, 523, 523, 525, 524, 527, 526, 529, 528,
+ 531, 530, 533, 532, 535, 534, 537, 536, 539, 538,
+ 540, 540, 541, 543, 542, 545, 544, 547, 546, 548,
+ 548, 549, 551, 550, 552, 552, 554, 553, 555, 555,
+ 556, 556, 556, 556, 556, 556, 556, 557, 559, 558,
+ 561, 560, 562, 562, 564, 563, 565, 565, 566, 566,
+ 566, 566, 568, 567, 569, 570, 571
};
const unsigned char
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, 0, 4, 1, 1, 1, 1,
- 0, 4, 0, 4, 0, 4, 3, 0, 4, 3,
- 3, 3, 3, 3, 3, 3, 3, 0, 4, 3,
- 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, 0, 4, 1, 1,
+ 1, 1, 0, 4, 0, 4, 0, 4, 3, 0,
+ 4, 3, 3, 3, 3, 3, 3, 3, 3, 0,
+ 4, 3, 0, 4, 0, 4, 0, 4, 0, 6,
+ 1, 3, 1, 0, 4, 0, 6, 1, 3, 1,
+ 1, 1, 1, 0, 6, 1, 3, 1, 1, 1,
+ 1, 1, 0, 6, 0, 6, 0, 1, 1, 3,
+ 0, 4, 0, 4, 1, 3, 1, 1, 1, 0,
+ 4, 0, 4, 0, 6, 1, 3, 1, 1, 1,
+ 1, 1, 1, 3, 3, 3, 3, 3, 3, 0,
+ 6, 0, 1, 1, 3, 0, 4, 0, 4, 1,
+ 3, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 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, 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,
- 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, 0, 6, 0, 4,
+ 0, 1, 1, 3, 0, 4, 0, 4, 0, 1,
+ 1, 3, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 3, 1, 0, 4, 0, 4, 0,
+ 4, 1, 0, 4, 3, 0, 6, 0, 1, 1,
+ 3, 0, 4, 0, 4, 0, 1, 1, 3, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
+ 4, 1, 1, 3, 3, 0, 6, 0, 1, 1,
+ 3, 0, 4, 0, 4, 1, 3, 1, 1, 1,
+ 1, 1, 1, 1, 0, 4, 0, 4, 0, 4,
+ 0, 6, 0, 1, 1, 3, 0, 4, 0, 4,
+ 1, 3, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 0, 4, 3, 0, 4, 3, 3,
+ 0, 6, 0, 1, 1, 3, 0, 4, 0, 4,
+ 0, 1, 1, 3, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 0, 4, 0, 4, 0,
4, 0, 4, 0, 4, 0, 4, 0, 4, 0,
- 4, 0, 4, 0, 6, 1, 1, 0, 4, 0,
- 6, 1, 3, 0, 4, 0, 1, 1, 3, 1,
- 1, 1, 1, 1, 1, 1, 1, 0, 4, 3,
- 0, 6, 1, 3, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 0, 4, 1, 1, 1, 3, 0,
- 4, 3, 3, 3, 0, 6, 1, 3, 1, 1,
- 1, 1, 1, 0, 4, 0, 4, 0, 4, 0,
- 6, 0, 4, 1, 3, 1, 1, 1, 1, 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, 1, 1, 1, 1, 1, 0, 4,
- 0, 4, 0, 4, 0, 4, 0, 4, 0, 4,
- 0, 6, 0, 4, 1, 3, 1, 0, 6, 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, 0, 4, 3, 3,
- 3
+ 6, 1, 1, 0, 4, 0, 6, 1, 3, 0,
+ 4, 0, 1, 1, 3, 1, 1, 1, 1, 1,
+ 1, 1, 1, 0, 4, 3, 0, 6, 1, 3,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
+ 4, 1, 1, 1, 3, 0, 4, 3, 3, 3,
+ 0, 6, 1, 3, 1, 1, 1, 1, 1, 0,
+ 4, 0, 4, 0, 4, 0, 6, 0, 4, 1,
+ 3, 1, 1, 1, 1, 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, 1,
+ 1, 1, 1, 1, 0, 4, 0, 4, 0, 4,
+ 0, 4, 0, 4, 0, 4, 0, 6, 0, 4,
+ 1, 3, 1, 0, 6, 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, 0, 4, 3, 3, 3
};
"\"host\"", "\"port\"", "\"persist\"", "\"lfc-interval\"",
"\"readonly\"", "\"connect-timeout\"", "\"contact-points\"",
"\"max-reconnect-tries\"", "\"reconnect-wait-time\"", "\"keyspace\"",
- "\"request-timeout\"", "\"tcp-keepalive\"", "\"tcp-nodelay\"",
- "\"preferred-lifetime\"", "\"valid-lifetime\"", "\"renew-timer\"",
- "\"rebind-timer\"", "\"decline-probation-period\"", "\"server-tag\"",
- "\"subnet6\"", "\"option-def\"", "\"option-data\"", "\"name\"",
- "\"data\"", "\"code\"", "\"space\"", "\"csv-format\"", "\"always-send\"",
- "\"record-types\"", "\"encapsulate\"", "\"array\"", "\"pools\"",
- "\"pool\"", "\"pd-pools\"", "\"prefix\"", "\"prefix-len\"",
- "\"excluded-prefix\"", "\"excluded-prefix-len\"", "\"delegated-len\"",
- "\"user-context\"", "\"comment\"", "\"subnet\"", "\"interface\"",
- "\"interface-id\"", "\"id\"", "\"rapid-commit\"", "\"reservation-mode\"",
- "\"disabled\"", "\"out-of-pool\"", "\"global\"", "\"all\"",
- "\"shared-networks\"", "\"mac-sources\"", "\"relay-supplied-options\"",
+ "\"consistency\"", "\"serial-consistency\"", "\"request-timeout\"",
+ "\"tcp-keepalive\"", "\"tcp-nodelay\"", "\"preferred-lifetime\"",
+ "\"valid-lifetime\"", "\"renew-timer\"", "\"rebind-timer\"",
+ "\"decline-probation-period\"", "\"server-tag\"", "\"subnet6\"",
+ "\"option-def\"", "\"option-data\"", "\"name\"", "\"data\"", "\"code\"",
+ "\"space\"", "\"csv-format\"", "\"always-send\"", "\"record-types\"",
+ "\"encapsulate\"", "\"array\"", "\"pools\"", "\"pool\"", "\"pd-pools\"",
+ "\"prefix\"", "\"prefix-len\"", "\"excluded-prefix\"",
+ "\"excluded-prefix-len\"", "\"delegated-len\"", "\"user-context\"",
+ "\"comment\"", "\"subnet\"", "\"interface\"", "\"interface-id\"",
+ "\"id\"", "\"rapid-commit\"", "\"reservation-mode\"", "\"disabled\"",
+ "\"out-of-pool\"", "\"global\"", "\"all\"", "\"shared-networks\"",
+ "\"mac-sources\"", "\"relay-supplied-options\"",
"\"host-reservation-identifiers\"", "\"sanity-checks\"",
"\"lease-checks\"", "\"client-classes\"", "\"require-client-classes\"",
"\"test\"", "\"only-if-required\"", "\"client-class\"",
"name", "$@35", "persist", "lfc_interval", "readonly", "connect_timeout",
"reconnect_wait_time", "request_timeout", "tcp_keepalive", "tcp_nodelay",
"contact_points", "$@36", "max_reconnect_tries", "keyspace", "$@37",
- "sanity_checks", "$@38", "sanity_checks_params", "sanity_checks_param",
- "lease_checks", "$@39", "mac_sources", "$@40", "mac_sources_list",
- "mac_sources_value", "duid_id", "string_id",
- "host_reservation_identifiers", "$@41",
+ "consistency", "$@38", "serial_consistency", "$@39", "sanity_checks",
+ "$@40", "sanity_checks_params", "sanity_checks_param", "lease_checks",
+ "$@41", "mac_sources", "$@42", "mac_sources_list", "mac_sources_value",
+ "duid_id", "string_id", "host_reservation_identifiers", "$@43",
"host_reservation_identifiers_list", "host_reservation_identifier",
- "hw_address_id", "flex_id", "relay_supplied_options", "$@42",
- "hooks_libraries", "$@43", "hooks_libraries_list",
- "not_empty_hooks_libraries_list", "hooks_library", "$@44",
- "sub_hooks_library", "$@45", "hooks_params", "hooks_param", "library",
- "$@46", "parameters", "$@47", "expired_leases_processing", "$@48",
+ "hw_address_id", "flex_id", "relay_supplied_options", "$@44",
+ "hooks_libraries", "$@45", "hooks_libraries_list",
+ "not_empty_hooks_libraries_list", "hooks_library", "$@46",
+ "sub_hooks_library", "$@47", "hooks_params", "hooks_param", "library",
+ "$@48", "parameters", "$@49", "expired_leases_processing", "$@50",
"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", "$@49",
- "subnet6_list_content", "not_empty_subnet6_list", "subnet6", "$@50",
- "sub_subnet6", "$@51", "subnet6_params", "subnet6_param", "subnet",
- "$@52", "interface", "$@53", "interface_id", "$@54", "client_class",
- "$@55", "require_client_classes", "$@56", "reservation_mode", "$@57",
- "hr_mode", "id", "rapid_commit", "shared_networks", "$@58",
+ "unwarned_reclaim_cycles", "subnet6_list", "$@51",
+ "subnet6_list_content", "not_empty_subnet6_list", "subnet6", "$@52",
+ "sub_subnet6", "$@53", "subnet6_params", "subnet6_param", "subnet",
+ "$@54", "interface", "$@55", "interface_id", "$@56", "client_class",
+ "$@57", "require_client_classes", "$@58", "reservation_mode", "$@59",
+ "hr_mode", "id", "rapid_commit", "shared_networks", "$@60",
"shared_networks_content", "shared_networks_list", "shared_network",
- "$@59", "shared_network_params", "shared_network_param",
- "option_def_list", "$@60", "sub_option_def_list", "$@61",
+ "$@61", "shared_network_params", "shared_network_param",
+ "option_def_list", "$@62", "sub_option_def_list", "$@63",
"option_def_list_content", "not_empty_option_def_list",
- "option_def_entry", "$@62", "sub_option_def", "$@63",
+ "option_def_entry", "$@64", "sub_option_def", "$@65",
"option_def_params", "not_empty_option_def_params", "option_def_param",
- "option_def_name", "code", "option_def_code", "option_def_type", "$@64",
- "option_def_record_types", "$@65", "space", "$@66", "option_def_space",
- "option_def_encapsulate", "$@67", "option_def_array", "option_data_list",
- "$@68", "option_data_list_content", "not_empty_option_data_list",
- "option_data_entry", "$@69", "sub_option_data", "$@70",
+ "option_def_name", "code", "option_def_code", "option_def_type", "$@66",
+ "option_def_record_types", "$@67", "space", "$@68", "option_def_space",
+ "option_def_encapsulate", "$@69", "option_def_array", "option_data_list",
+ "$@70", "option_data_list_content", "not_empty_option_data_list",
+ "option_data_entry", "$@71", "sub_option_data", "$@72",
"option_data_params", "not_empty_option_data_params",
- "option_data_param", "option_data_name", "option_data_data", "$@71",
+ "option_data_param", "option_data_name", "option_data_data", "$@73",
"option_data_code", "option_data_space", "option_data_csv_format",
- "option_data_always_send", "pools_list", "$@72", "pools_list_content",
- "not_empty_pools_list", "pool_list_entry", "$@73", "sub_pool6", "$@74",
- "pool_params", "pool_param", "pool_entry", "$@75", "user_context",
- "$@76", "comment", "$@77", "pd_pools_list", "$@78",
+ "option_data_always_send", "pools_list", "$@74", "pools_list_content",
+ "not_empty_pools_list", "pool_list_entry", "$@75", "sub_pool6", "$@76",
+ "pool_params", "pool_param", "pool_entry", "$@77", "user_context",
+ "$@78", "comment", "$@79", "pd_pools_list", "$@80",
"pd_pools_list_content", "not_empty_pd_pools_list", "pd_pool_entry",
- "$@79", "sub_pd_pool", "$@80", "pd_pool_params", "pd_pool_param",
- "pd_prefix", "$@81", "pd_prefix_len", "excluded_prefix", "$@82",
- "excluded_prefix_len", "pd_delegated_len", "reservations", "$@83",
+ "$@81", "sub_pd_pool", "$@82", "pd_pool_params", "pd_pool_param",
+ "pd_prefix", "$@83", "pd_prefix_len", "excluded_prefix", "$@84",
+ "excluded_prefix_len", "pd_delegated_len", "reservations", "$@85",
"reservations_list", "not_empty_reservations_list", "reservation",
- "$@84", "sub_reservation", "$@85", "reservation_params",
+ "$@86", "sub_reservation", "$@87", "reservation_params",
"not_empty_reservation_params", "reservation_param", "ip_addresses",
- "$@86", "prefixes", "$@87", "duid", "$@88", "hw_address", "$@89",
- "hostname", "$@90", "flex_id_value", "$@91",
- "reservation_client_classes", "$@92", "relay", "$@93", "relay_map",
- "ip_address", "$@94", "client_classes", "$@95", "client_classes_list",
- "client_class_entry", "$@96", "client_class_params",
+ "$@88", "prefixes", "$@89", "duid", "$@90", "hw_address", "$@91",
+ "hostname", "$@92", "flex_id_value", "$@93",
+ "reservation_client_classes", "$@94", "relay", "$@95", "relay_map",
+ "ip_address", "$@96", "client_classes", "$@97", "client_classes_list",
+ "client_class_entry", "$@98", "client_class_params",
"not_empty_client_class_params", "client_class_param",
- "client_class_name", "client_class_test", "$@97", "only_if_required",
- "server_id", "$@98", "server_id_params", "server_id_param",
- "server_id_type", "$@99", "duid_type", "htype", "identifier", "$@100",
- "time", "enterprise_id", "dhcp4o6_port", "control_socket", "$@101",
- "control_socket_params", "control_socket_param", "socket_type", "$@102",
- "socket_name", "$@103", "dhcp_queue_control", "$@104", "dhcp_ddns",
- "$@105", "sub_dhcp_ddns", "$@106", "dhcp_ddns_params", "dhcp_ddns_param",
- "enable_updates", "qualifying_suffix", "$@107", "server_ip", "$@108",
- "server_port", "sender_ip", "$@109", "sender_port", "max_queue_size",
- "ncr_protocol", "$@110", "ncr_protocol_value", "ncr_format", "$@111",
+ "client_class_name", "client_class_test", "$@99", "only_if_required",
+ "server_id", "$@100", "server_id_params", "server_id_param",
+ "server_id_type", "$@101", "duid_type", "htype", "identifier", "$@102",
+ "time", "enterprise_id", "dhcp4o6_port", "control_socket", "$@103",
+ "control_socket_params", "control_socket_param", "socket_type", "$@104",
+ "socket_name", "$@105", "dhcp_queue_control", "$@106", "dhcp_ddns",
+ "$@107", "sub_dhcp_ddns", "$@108", "dhcp_ddns_params", "dhcp_ddns_param",
+ "enable_updates", "qualifying_suffix", "$@109", "server_ip", "$@110",
+ "server_port", "sender_ip", "$@111", "sender_port", "max_queue_size",
+ "ncr_protocol", "$@112", "ncr_protocol_value", "ncr_format", "$@113",
"override_no_update", "override_client_update", "replace_client_name",
- "$@112", "replace_client_name_value", "generated_prefix", "$@113",
- "hostname_char_set", "$@114", "hostname_char_replacement", "$@115",
- "dhcp4_json_object", "$@116", "dhcpddns_json_object", "$@117",
- "control_agent_json_object", "$@118", "config_control", "$@119",
- "sub_config_control", "$@120", "config_control_params",
- "config_control_param", "config_databases", "$@121", "logging_object",
- "$@122", "sub_logging", "$@123", "logging_params", "logging_param",
- "loggers", "$@124", "loggers_entries", "logger_entry", "$@125",
- "logger_params", "logger_param", "debuglevel", "severity", "$@126",
- "output_options_list", "$@127", "output_options_list_content",
- "output_entry", "$@128", "output_params_list", "output_params", "output",
- "$@129", "flush", "maxsize", "maxver", YY_NULLPTR
+ "$@114", "replace_client_name_value", "generated_prefix", "$@115",
+ "hostname_char_set", "$@116", "hostname_char_replacement", "$@117",
+ "dhcp4_json_object", "$@118", "dhcpddns_json_object", "$@119",
+ "control_agent_json_object", "$@120", "config_control", "$@121",
+ "sub_config_control", "$@122", "config_control_params",
+ "config_control_param", "config_databases", "$@123", "logging_object",
+ "$@124", "sub_logging", "$@125", "logging_params", "logging_param",
+ "loggers", "$@126", "loggers_entries", "logger_entry", "$@127",
+ "logger_params", "logger_param", "debuglevel", "severity", "$@128",
+ "output_options_list", "$@129", "output_options_list_content",
+ "output_entry", "$@130", "output_params_list", "output_params", "output",
+ "$@131", "flush", "maxsize", "maxver", YY_NULLPTR
};
#if PARSER6_DEBUG
- const unsigned short
+ const unsigned short int
Dhcp6Parser::yyrline_[] =
{
- 0, 258, 258, 258, 259, 259, 260, 260, 261, 261,
- 262, 262, 263, 263, 264, 264, 265, 265, 266, 266,
- 267, 267, 268, 268, 269, 269, 270, 270, 271, 271,
- 272, 272, 280, 281, 282, 283, 284, 285, 286, 289,
- 294, 294, 305, 308, 309, 312, 316, 323, 323, 330,
- 331, 334, 338, 345, 345, 352, 353, 356, 360, 371,
- 381, 381, 396, 397, 401, 402, 403, 404, 405, 406,
- 409, 409, 424, 424, 433, 434, 439, 440, 441, 442,
- 443, 444, 445, 446, 447, 448, 449, 450, 451, 452,
- 453, 454, 455, 456, 457, 458, 459, 460, 461, 462,
- 463, 464, 465, 466, 467, 468, 469, 470, 471, 474,
- 474, 482, 487, 492, 497, 502, 507, 507, 515, 515,
- 526, 526, 535, 536, 539, 540, 541, 542, 543, 546,
- 546, 556, 562, 562, 574, 574, 586, 586, 596, 597,
- 600, 601, 604, 604, 614, 615, 618, 619, 620, 621,
- 622, 623, 624, 625, 626, 627, 628, 629, 630, 631,
- 632, 633, 634, 635, 638, 638, 645, 646, 647, 648,
- 651, 651, 659, 659, 667, 667, 675, 680, 680, 688,
- 693, 698, 703, 708, 713, 718, 723, 728, 728, 736,
- 741, 741, 749, 749, 759, 760, 762, 764, 764, 782,
- 782, 792, 793, 796, 797, 800, 805, 810, 810, 820,
- 821, 824, 825, 826, 829, 834, 841, 841, 851, 851,
- 861, 862, 865, 866, 869, 869, 879, 879, 889, 890,
- 891, 894, 895, 898, 898, 906, 906, 914, 914, 925,
- 926, 929, 930, 931, 932, 933, 934, 937, 942, 947,
- 952, 957, 962, 970, 970, 983, 984, 987, 988, 995,
- 995, 1021, 1021, 1032, 1033, 1037, 1038, 1039, 1040, 1041,
- 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051,
- 1052, 1053, 1054, 1055, 1056, 1059, 1059, 1067, 1067, 1075,
- 1075, 1083, 1083, 1091, 1091, 1101, 1101, 1108, 1109, 1110,
- 1111, 1114, 1119, 1127, 1127, 1138, 1139, 1143, 1144, 1147,
- 1147, 1155, 1156, 1159, 1160, 1161, 1162, 1163, 1164, 1165,
- 1166, 1167, 1168, 1169, 1170, 1171, 1172, 1173, 1174, 1175,
- 1182, 1182, 1195, 1195, 1204, 1205, 1208, 1209, 1214, 1214,
- 1229, 1229, 1243, 1244, 1247, 1248, 1251, 1252, 1253, 1254,
- 1255, 1256, 1257, 1258, 1259, 1260, 1263, 1265, 1270, 1272,
- 1272, 1280, 1280, 1288, 1288, 1296, 1298, 1298, 1306, 1315,
- 1315, 1327, 1328, 1333, 1334, 1339, 1339, 1351, 1351, 1363,
- 1364, 1369, 1370, 1375, 1376, 1377, 1378, 1379, 1380, 1381,
- 1382, 1383, 1386, 1388, 1388, 1396, 1398, 1400, 1405, 1413,
- 1413, 1425, 1426, 1429, 1430, 1433, 1433, 1443, 1443, 1452,
- 1453, 1456, 1457, 1458, 1459, 1460, 1461, 1462, 1465, 1465,
- 1473, 1473, 1498, 1498, 1528, 1528, 1540, 1541, 1544, 1545,
- 1548, 1548, 1560, 1560, 1572, 1573, 1576, 1577, 1578, 1579,
- 1580, 1581, 1582, 1583, 1584, 1585, 1586, 1589, 1589, 1597,
- 1602, 1602, 1610, 1615, 1623, 1623, 1633, 1634, 1637, 1638,
- 1641, 1641, 1650, 1650, 1659, 1660, 1663, 1664, 1668, 1669,
- 1670, 1671, 1672, 1673, 1674, 1675, 1676, 1677, 1678, 1681,
- 1681, 1691, 1691, 1701, 1701, 1709, 1709, 1717, 1717, 1725,
- 1725, 1733, 1733, 1746, 1746, 1756, 1757, 1760, 1760, 1771,
- 1771, 1781, 1782, 1785, 1785, 1795, 1796, 1799, 1800, 1803,
- 1804, 1805, 1806, 1807, 1808, 1809, 1812, 1814, 1814, 1822,
- 1830, 1830, 1842, 1843, 1846, 1847, 1848, 1849, 1850, 1851,
- 1852, 1853, 1854, 1857, 1857, 1864, 1865, 1866, 1869, 1874,
- 1874, 1882, 1887, 1894, 1901, 1901, 1911, 1912, 1915, 1916,
- 1917, 1918, 1919, 1922, 1922, 1930, 1930, 1940, 1940, 1980,
- 1980, 1992, 1992, 2002, 2003, 2006, 2007, 2008, 2009, 2010,
- 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020,
- 2021, 2022, 2023, 2026, 2031, 2031, 2039, 2039, 2047, 2052,
- 2052, 2060, 2065, 2070, 2070, 2078, 2079, 2082, 2082, 2090,
- 2095, 2100, 2100, 2108, 2111, 2114, 2117, 2120, 2126, 2126,
- 2134, 2134, 2142, 2142, 2152, 2152, 2159, 2159, 2166, 2166,
- 2175, 2175, 2186, 2186, 2196, 2197, 2201, 2204, 2204, 2219,
- 2219, 2229, 2229, 2240, 2241, 2245, 2249, 2249, 2261, 2262,
- 2266, 2266, 2274, 2275, 2278, 2279, 2280, 2281, 2282, 2283,
- 2284, 2287, 2292, 2292, 2300, 2300, 2310, 2311, 2314, 2314,
- 2322, 2323, 2326, 2327, 2328, 2329, 2332, 2332, 2340, 2345,
- 2350
+ 0, 260, 260, 260, 261, 261, 262, 262, 263, 263,
+ 264, 264, 265, 265, 266, 266, 267, 267, 268, 268,
+ 269, 269, 270, 270, 271, 271, 272, 272, 273, 273,
+ 274, 274, 282, 283, 284, 285, 286, 287, 288, 291,
+ 296, 296, 307, 310, 311, 314, 318, 325, 325, 332,
+ 333, 336, 340, 347, 347, 354, 355, 358, 362, 373,
+ 383, 383, 398, 399, 403, 404, 405, 406, 407, 408,
+ 411, 411, 426, 426, 435, 436, 441, 442, 443, 444,
+ 445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
+ 455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
+ 465, 466, 467, 468, 469, 470, 471, 472, 473, 476,
+ 476, 484, 489, 494, 499, 504, 509, 509, 517, 517,
+ 528, 528, 537, 538, 541, 542, 543, 544, 545, 548,
+ 548, 558, 564, 564, 576, 576, 588, 588, 598, 599,
+ 602, 603, 606, 606, 616, 617, 620, 621, 622, 623,
+ 624, 625, 626, 627, 628, 629, 630, 631, 632, 633,
+ 634, 635, 636, 637, 638, 639, 642, 642, 649, 650,
+ 651, 652, 655, 655, 663, 663, 671, 671, 679, 684,
+ 684, 692, 697, 702, 707, 712, 717, 722, 727, 732,
+ 732, 740, 745, 745, 753, 753, 761, 761, 769, 769,
+ 779, 780, 782, 784, 784, 802, 802, 812, 813, 816,
+ 817, 820, 825, 830, 830, 840, 841, 844, 845, 846,
+ 849, 854, 861, 861, 871, 871, 881, 882, 885, 886,
+ 889, 889, 899, 899, 909, 910, 911, 914, 915, 918,
+ 918, 926, 926, 934, 934, 945, 946, 949, 950, 951,
+ 952, 953, 954, 957, 962, 967, 972, 977, 982, 990,
+ 990, 1003, 1004, 1007, 1008, 1015, 1015, 1041, 1041, 1052,
+ 1053, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065,
+ 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075,
+ 1076, 1079, 1079, 1087, 1087, 1095, 1095, 1103, 1103, 1111,
+ 1111, 1121, 1121, 1128, 1129, 1130, 1131, 1134, 1139, 1147,
+ 1147, 1158, 1159, 1163, 1164, 1167, 1167, 1175, 1176, 1179,
+ 1180, 1181, 1182, 1183, 1184, 1185, 1186, 1187, 1188, 1189,
+ 1190, 1191, 1192, 1193, 1194, 1195, 1202, 1202, 1215, 1215,
+ 1224, 1225, 1228, 1229, 1234, 1234, 1249, 1249, 1263, 1264,
+ 1267, 1268, 1271, 1272, 1273, 1274, 1275, 1276, 1277, 1278,
+ 1279, 1280, 1283, 1285, 1290, 1292, 1292, 1300, 1300, 1308,
+ 1308, 1316, 1318, 1318, 1326, 1335, 1335, 1347, 1348, 1353,
+ 1354, 1359, 1359, 1371, 1371, 1383, 1384, 1389, 1390, 1395,
+ 1396, 1397, 1398, 1399, 1400, 1401, 1402, 1403, 1406, 1408,
+ 1408, 1416, 1418, 1420, 1425, 1433, 1433, 1445, 1446, 1449,
+ 1450, 1453, 1453, 1463, 1463, 1472, 1473, 1476, 1477, 1478,
+ 1479, 1480, 1481, 1482, 1485, 1485, 1493, 1493, 1518, 1518,
+ 1548, 1548, 1560, 1561, 1564, 1565, 1568, 1568, 1580, 1580,
+ 1592, 1593, 1596, 1597, 1598, 1599, 1600, 1601, 1602, 1603,
+ 1604, 1605, 1606, 1609, 1609, 1617, 1622, 1622, 1630, 1635,
+ 1643, 1643, 1653, 1654, 1657, 1658, 1661, 1661, 1670, 1670,
+ 1679, 1680, 1683, 1684, 1688, 1689, 1690, 1691, 1692, 1693,
+ 1694, 1695, 1696, 1697, 1698, 1701, 1701, 1711, 1711, 1721,
+ 1721, 1729, 1729, 1737, 1737, 1745, 1745, 1753, 1753, 1766,
+ 1766, 1776, 1777, 1780, 1780, 1791, 1791, 1801, 1802, 1805,
+ 1805, 1815, 1816, 1819, 1820, 1823, 1824, 1825, 1826, 1827,
+ 1828, 1829, 1832, 1834, 1834, 1842, 1850, 1850, 1862, 1863,
+ 1866, 1867, 1868, 1869, 1870, 1871, 1872, 1873, 1874, 1877,
+ 1877, 1884, 1885, 1886, 1889, 1894, 1894, 1902, 1907, 1914,
+ 1921, 1921, 1931, 1932, 1935, 1936, 1937, 1938, 1939, 1942,
+ 1942, 1950, 1950, 1960, 1960, 2000, 2000, 2012, 2012, 2022,
+ 2023, 2026, 2027, 2028, 2029, 2030, 2031, 2032, 2033, 2034,
+ 2035, 2036, 2037, 2038, 2039, 2040, 2041, 2042, 2043, 2046,
+ 2051, 2051, 2059, 2059, 2067, 2072, 2072, 2080, 2085, 2090,
+ 2090, 2098, 2099, 2102, 2102, 2110, 2115, 2120, 2120, 2128,
+ 2131, 2134, 2137, 2140, 2146, 2146, 2154, 2154, 2162, 2162,
+ 2172, 2172, 2179, 2179, 2186, 2186, 2195, 2195, 2206, 2206,
+ 2216, 2217, 2221, 2224, 2224, 2239, 2239, 2249, 2249, 2260,
+ 2261, 2265, 2269, 2269, 2281, 2282, 2286, 2286, 2294, 2295,
+ 2298, 2299, 2300, 2301, 2302, 2303, 2304, 2307, 2312, 2312,
+ 2320, 2320, 2330, 2331, 2334, 2334, 2342, 2343, 2346, 2347,
+ 2348, 2349, 2352, 2352, 2360, 2365, 2370
};
// Print the state stack on the debug stream.
i_end = yystack_.end ();
i != i_end; ++i)
*yycdebug_ << ' ' << i->state;
- *yycdebug_ << '\n';
+ *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)
{
- unsigned 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" // lalr1.cc:1242
+#line 14 "dhcp6_parser.yy" // lalr1.cc:1167
} } // isc::dhcp
-#line 5098 "dhcp6_parser.cc" // lalr1.cc:1242
-#line 2355 "dhcp6_parser.yy" // lalr1.cc:1243
+#line 5075 "dhcp6_parser.cc" // lalr1.cc:1167
+#line 2375 "dhcp6_parser.yy" // lalr1.cc:1168
void
-// A Bison parser, made by GNU Bison 3.3.2.
+// A Bison parser, made by GNU Bison 3.0.4.
// Skeleton interface for Bison LALR(1) parsers in C++
-// Copyright (C) 2002-2015, 2018-2019 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" // lalr1.cc:401
+#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" // lalr1.cc:401
+#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 YYASSERT
# 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 _Noreturn YY_ATTRIBUTE ((__noreturn__))
+# endif
+#endif
+
/* Suppress unused-variable warnings by "using" E. */
#if ! defined lint || defined __GNUC__
# define YYUSE(E) ((void) (E))
# 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") \
# define YY_INITIAL_VALUE(Value) /* Nothing. */
#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" // lalr1.cc:401
+#line 14 "dhcp6_parser.yy" // lalr1.cc:377
namespace isc { namespace dhcp {
-#line 184 "dhcp6_parser.h" // lalr1.cc:401
+#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))
{
- YYASSERT (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 ()
{
YYASSERT (!yytypeid_);
}
-# if 201103L <= YY_CPLUSPLUS
- /// Instantiate a \a T in here from \a t.
- template <typename T, typename... U>
- T&
- emplace (U&&... u)
- {
- YYASSERT (!yytypeid_);
- YYASSERT (sizeof (T) <= size);
- yytypeid_ = & typeid (T);
- return *new (yyas_<T> ()) T (std::forward <U>(u)...);
- }
-# else
/// Instantiate an empty \a T in here.
template <typename T>
T&
- emplace ()
+ build ()
{
YYASSERT (!yytypeid_);
- YYASSERT (sizeof (T) <= size);
+ 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)
{
YYASSERT (!yytypeid_);
- YYASSERT (sizeof (T) <= size);
+ 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 ()
{
- YYASSERT (yytypeid_);
YYASSERT (*yytypeid_ == typeid (T));
- YYASSERT (sizeof (T) <= size);
+ YYASSERT (sizeof (T) <= S);
return *yyas_<T> ();
}
/// Const accessor to a built \a T (for %printer).
template <typename T>
const T&
- as () const YY_NOEXCEPT
+ as () const
{
- YYASSERT (yytypeid_);
YYASSERT (*yytypeid_ == typeid (T));
- YYASSERT (sizeof (T) <= size);
+ YYASSERT (sizeof (T) <= S);
return *yyas_<T> ();
}
- /// Swap the content with \a that, of same type.
+ /// Swap the content with \a other, of same type.
///
/// Both variants must be built beforehand, because swapping the actual
/// data requires reading it (with as()), and this is not possible on
/// unconstructed variants: it would require some dynamic testing, which
- /// should not be the variant's responsibility.
+ /// 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)
{
YYASSERT (yytypeid_);
- YYASSERT (*yytypeid_ == *that.yytypeid_);
- std::swap (as<T> (), that.as<T> ());
+ YYASSERT (*yytypeid_ == *other.yytypeid_);
+ std::swap (as<T> (), other.as<T> ());
}
- /// Move the content of \a that to this.
+ /// Move the content of \a other to this.
///
- /// Destroys \a that.
- 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
{
// duid_type
// ncr_protocol_value
// replace_client_name_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_MAX_RECONNECT_TRIES = 289,
TOKEN_RECONNECT_WAIT_TIME = 290,
TOKEN_KEYSPACE = 291,
- TOKEN_REQUEST_TIMEOUT = 292,
- TOKEN_TCP_KEEPALIVE = 293,
- TOKEN_TCP_NODELAY = 294,
- TOKEN_PREFERRED_LIFETIME = 295,
- TOKEN_VALID_LIFETIME = 296,
- TOKEN_RENEW_TIMER = 297,
- TOKEN_REBIND_TIMER = 298,
- TOKEN_DECLINE_PROBATION_PERIOD = 299,
- TOKEN_SERVER_TAG = 300,
- TOKEN_SUBNET6 = 301,
- TOKEN_OPTION_DEF = 302,
- TOKEN_OPTION_DATA = 303,
- TOKEN_NAME = 304,
- TOKEN_DATA = 305,
- TOKEN_CODE = 306,
- TOKEN_SPACE = 307,
- TOKEN_CSV_FORMAT = 308,
- TOKEN_ALWAYS_SEND = 309,
- TOKEN_RECORD_TYPES = 310,
- TOKEN_ENCAPSULATE = 311,
- TOKEN_ARRAY = 312,
- TOKEN_POOLS = 313,
- TOKEN_POOL = 314,
- TOKEN_PD_POOLS = 315,
- TOKEN_PREFIX = 316,
- TOKEN_PREFIX_LEN = 317,
- TOKEN_EXCLUDED_PREFIX = 318,
- TOKEN_EXCLUDED_PREFIX_LEN = 319,
- TOKEN_DELEGATED_LEN = 320,
- TOKEN_USER_CONTEXT = 321,
- TOKEN_COMMENT = 322,
- TOKEN_SUBNET = 323,
- TOKEN_INTERFACE = 324,
- TOKEN_INTERFACE_ID = 325,
- TOKEN_ID = 326,
- TOKEN_RAPID_COMMIT = 327,
- TOKEN_RESERVATION_MODE = 328,
- TOKEN_DISABLED = 329,
- TOKEN_OUT_OF_POOL = 330,
- TOKEN_GLOBAL = 331,
- TOKEN_ALL = 332,
- TOKEN_SHARED_NETWORKS = 333,
- TOKEN_MAC_SOURCES = 334,
- TOKEN_RELAY_SUPPLIED_OPTIONS = 335,
- TOKEN_HOST_RESERVATION_IDENTIFIERS = 336,
- TOKEN_SANITY_CHECKS = 337,
- TOKEN_LEASE_CHECKS = 338,
- TOKEN_CLIENT_CLASSES = 339,
- TOKEN_REQUIRE_CLIENT_CLASSES = 340,
- TOKEN_TEST = 341,
- TOKEN_ONLY_IF_REQUIRED = 342,
- TOKEN_CLIENT_CLASS = 343,
- TOKEN_RESERVATIONS = 344,
- TOKEN_IP_ADDRESSES = 345,
- TOKEN_PREFIXES = 346,
- TOKEN_DUID = 347,
- TOKEN_HW_ADDRESS = 348,
- TOKEN_HOSTNAME = 349,
- TOKEN_FLEX_ID = 350,
- TOKEN_RELAY = 351,
- TOKEN_IP_ADDRESS = 352,
- TOKEN_HOOKS_LIBRARIES = 353,
- TOKEN_LIBRARY = 354,
- TOKEN_PARAMETERS = 355,
- TOKEN_EXPIRED_LEASES_PROCESSING = 356,
- TOKEN_RECLAIM_TIMER_WAIT_TIME = 357,
- TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 358,
- TOKEN_HOLD_RECLAIMED_TIME = 359,
- TOKEN_MAX_RECLAIM_LEASES = 360,
- TOKEN_MAX_RECLAIM_TIME = 361,
- TOKEN_UNWARNED_RECLAIM_CYCLES = 362,
- TOKEN_SERVER_ID = 363,
- TOKEN_LLT = 364,
- TOKEN_EN = 365,
- TOKEN_LL = 366,
- TOKEN_IDENTIFIER = 367,
- TOKEN_HTYPE = 368,
- TOKEN_TIME = 369,
- TOKEN_ENTERPRISE_ID = 370,
- TOKEN_DHCP4O6_PORT = 371,
- TOKEN_CONTROL_SOCKET = 372,
- TOKEN_SOCKET_TYPE = 373,
- TOKEN_SOCKET_NAME = 374,
- TOKEN_DHCP_QUEUE_CONTROL = 375,
- TOKEN_DHCP_DDNS = 376,
- TOKEN_ENABLE_UPDATES = 377,
- TOKEN_QUALIFYING_SUFFIX = 378,
- TOKEN_SERVER_IP = 379,
- TOKEN_SERVER_PORT = 380,
- TOKEN_SENDER_IP = 381,
- TOKEN_SENDER_PORT = 382,
- TOKEN_MAX_QUEUE_SIZE = 383,
- TOKEN_NCR_PROTOCOL = 384,
- TOKEN_NCR_FORMAT = 385,
- TOKEN_OVERRIDE_NO_UPDATE = 386,
- TOKEN_OVERRIDE_CLIENT_UPDATE = 387,
- TOKEN_REPLACE_CLIENT_NAME = 388,
- TOKEN_GENERATED_PREFIX = 389,
- TOKEN_UDP = 390,
- TOKEN_TCP = 391,
- TOKEN_JSON = 392,
- TOKEN_WHEN_PRESENT = 393,
- TOKEN_NEVER = 394,
- TOKEN_ALWAYS = 395,
- TOKEN_WHEN_NOT_PRESENT = 396,
- TOKEN_HOSTNAME_CHAR_SET = 397,
- TOKEN_HOSTNAME_CHAR_REPLACEMENT = 398,
- TOKEN_LOGGING = 399,
- TOKEN_LOGGERS = 400,
- TOKEN_OUTPUT_OPTIONS = 401,
- TOKEN_OUTPUT = 402,
- TOKEN_DEBUGLEVEL = 403,
- TOKEN_SEVERITY = 404,
- TOKEN_FLUSH = 405,
- TOKEN_MAXSIZE = 406,
- TOKEN_MAXVER = 407,
- TOKEN_DHCP4 = 408,
- TOKEN_DHCPDDNS = 409,
- TOKEN_CONTROL_AGENT = 410,
- TOKEN_TOPLEVEL_JSON = 411,
- TOKEN_TOPLEVEL_DHCP6 = 412,
- TOKEN_SUB_DHCP6 = 413,
- TOKEN_SUB_INTERFACES6 = 414,
- TOKEN_SUB_SUBNET6 = 415,
- TOKEN_SUB_POOL6 = 416,
- TOKEN_SUB_PD_POOL = 417,
- TOKEN_SUB_RESERVATION = 418,
- TOKEN_SUB_OPTION_DEFS = 419,
- TOKEN_SUB_OPTION_DEF = 420,
- TOKEN_SUB_OPTION_DATA = 421,
- TOKEN_SUB_HOOKS_LIBRARY = 422,
- TOKEN_SUB_DHCP_DDNS = 423,
- TOKEN_SUB_LOGGING = 424,
- TOKEN_SUB_CONFIG_CONTROL = 425,
- TOKEN_STRING = 426,
- TOKEN_INTEGER = 427,
- TOKEN_FLOAT = 428,
- TOKEN_BOOLEAN = 429
+ TOKEN_CONSISTENCY = 292,
+ TOKEN_SERIAL_CONSISTENCY = 293,
+ TOKEN_REQUEST_TIMEOUT = 294,
+ TOKEN_TCP_KEEPALIVE = 295,
+ TOKEN_TCP_NODELAY = 296,
+ TOKEN_PREFERRED_LIFETIME = 297,
+ TOKEN_VALID_LIFETIME = 298,
+ TOKEN_RENEW_TIMER = 299,
+ TOKEN_REBIND_TIMER = 300,
+ TOKEN_DECLINE_PROBATION_PERIOD = 301,
+ TOKEN_SERVER_TAG = 302,
+ TOKEN_SUBNET6 = 303,
+ TOKEN_OPTION_DEF = 304,
+ TOKEN_OPTION_DATA = 305,
+ TOKEN_NAME = 306,
+ TOKEN_DATA = 307,
+ TOKEN_CODE = 308,
+ TOKEN_SPACE = 309,
+ TOKEN_CSV_FORMAT = 310,
+ TOKEN_ALWAYS_SEND = 311,
+ TOKEN_RECORD_TYPES = 312,
+ TOKEN_ENCAPSULATE = 313,
+ TOKEN_ARRAY = 314,
+ TOKEN_POOLS = 315,
+ TOKEN_POOL = 316,
+ TOKEN_PD_POOLS = 317,
+ TOKEN_PREFIX = 318,
+ TOKEN_PREFIX_LEN = 319,
+ TOKEN_EXCLUDED_PREFIX = 320,
+ TOKEN_EXCLUDED_PREFIX_LEN = 321,
+ TOKEN_DELEGATED_LEN = 322,
+ TOKEN_USER_CONTEXT = 323,
+ TOKEN_COMMENT = 324,
+ TOKEN_SUBNET = 325,
+ TOKEN_INTERFACE = 326,
+ TOKEN_INTERFACE_ID = 327,
+ TOKEN_ID = 328,
+ TOKEN_RAPID_COMMIT = 329,
+ TOKEN_RESERVATION_MODE = 330,
+ TOKEN_DISABLED = 331,
+ TOKEN_OUT_OF_POOL = 332,
+ TOKEN_GLOBAL = 333,
+ TOKEN_ALL = 334,
+ TOKEN_SHARED_NETWORKS = 335,
+ TOKEN_MAC_SOURCES = 336,
+ TOKEN_RELAY_SUPPLIED_OPTIONS = 337,
+ TOKEN_HOST_RESERVATION_IDENTIFIERS = 338,
+ TOKEN_SANITY_CHECKS = 339,
+ TOKEN_LEASE_CHECKS = 340,
+ TOKEN_CLIENT_CLASSES = 341,
+ TOKEN_REQUIRE_CLIENT_CLASSES = 342,
+ TOKEN_TEST = 343,
+ TOKEN_ONLY_IF_REQUIRED = 344,
+ TOKEN_CLIENT_CLASS = 345,
+ TOKEN_RESERVATIONS = 346,
+ TOKEN_IP_ADDRESSES = 347,
+ TOKEN_PREFIXES = 348,
+ TOKEN_DUID = 349,
+ TOKEN_HW_ADDRESS = 350,
+ TOKEN_HOSTNAME = 351,
+ TOKEN_FLEX_ID = 352,
+ TOKEN_RELAY = 353,
+ TOKEN_IP_ADDRESS = 354,
+ TOKEN_HOOKS_LIBRARIES = 355,
+ TOKEN_LIBRARY = 356,
+ TOKEN_PARAMETERS = 357,
+ TOKEN_EXPIRED_LEASES_PROCESSING = 358,
+ TOKEN_RECLAIM_TIMER_WAIT_TIME = 359,
+ TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 360,
+ TOKEN_HOLD_RECLAIMED_TIME = 361,
+ TOKEN_MAX_RECLAIM_LEASES = 362,
+ TOKEN_MAX_RECLAIM_TIME = 363,
+ TOKEN_UNWARNED_RECLAIM_CYCLES = 364,
+ TOKEN_SERVER_ID = 365,
+ TOKEN_LLT = 366,
+ TOKEN_EN = 367,
+ TOKEN_LL = 368,
+ TOKEN_IDENTIFIER = 369,
+ TOKEN_HTYPE = 370,
+ TOKEN_TIME = 371,
+ TOKEN_ENTERPRISE_ID = 372,
+ TOKEN_DHCP4O6_PORT = 373,
+ TOKEN_CONTROL_SOCKET = 374,
+ TOKEN_SOCKET_TYPE = 375,
+ TOKEN_SOCKET_NAME = 376,
+ TOKEN_DHCP_QUEUE_CONTROL = 377,
+ TOKEN_DHCP_DDNS = 378,
+ TOKEN_ENABLE_UPDATES = 379,
+ TOKEN_QUALIFYING_SUFFIX = 380,
+ TOKEN_SERVER_IP = 381,
+ TOKEN_SERVER_PORT = 382,
+ TOKEN_SENDER_IP = 383,
+ TOKEN_SENDER_PORT = 384,
+ TOKEN_MAX_QUEUE_SIZE = 385,
+ TOKEN_NCR_PROTOCOL = 386,
+ TOKEN_NCR_FORMAT = 387,
+ TOKEN_OVERRIDE_NO_UPDATE = 388,
+ TOKEN_OVERRIDE_CLIENT_UPDATE = 389,
+ TOKEN_REPLACE_CLIENT_NAME = 390,
+ TOKEN_GENERATED_PREFIX = 391,
+ TOKEN_UDP = 392,
+ TOKEN_TCP = 393,
+ TOKEN_JSON = 394,
+ TOKEN_WHEN_PRESENT = 395,
+ TOKEN_NEVER = 396,
+ TOKEN_ALWAYS = 397,
+ TOKEN_WHEN_NOT_PRESENT = 398,
+ TOKEN_HOSTNAME_CHAR_SET = 399,
+ TOKEN_HOSTNAME_CHAR_REPLACEMENT = 400,
+ TOKEN_LOGGING = 401,
+ TOKEN_LOGGERS = 402,
+ TOKEN_OUTPUT_OPTIONS = 403,
+ TOKEN_OUTPUT = 404,
+ TOKEN_DEBUGLEVEL = 405,
+ TOKEN_SEVERITY = 406,
+ TOKEN_FLUSH = 407,
+ TOKEN_MAXSIZE = 408,
+ TOKEN_MAXVER = 409,
+ TOKEN_DHCP4 = 410,
+ TOKEN_DHCPDDNS = 411,
+ TOKEN_CONTROL_AGENT = 412,
+ TOKEN_TOPLEVEL_JSON = 413,
+ TOKEN_TOPLEVEL_DHCP6 = 414,
+ TOKEN_SUB_DHCP6 = 415,
+ TOKEN_SUB_INTERFACES6 = 416,
+ TOKEN_SUB_SUBNET6 = 417,
+ TOKEN_SUB_POOL6 = 418,
+ TOKEN_SUB_PD_POOL = 419,
+ TOKEN_SUB_RESERVATION = 420,
+ TOKEN_SUB_OPTION_DEFS = 421,
+ TOKEN_SUB_OPTION_DEF = 422,
+ TOKEN_SUB_OPTION_DATA = 423,
+ TOKEN_SUB_HOOKS_LIBRARY = 424,
+ TOKEN_SUB_DHCP_DDNS = 425,
+ TOKEN_SUB_LOGGING = 426,
+ TOKEN_SUB_CONFIG_CONTROL = 427,
+ TOKEN_STRING = 428,
+ TOKEN_INTEGER = 429,
+ TOKEN_FLOAT = 430,
+ TOKEN_BOOLEAN = 431
};
};
/// 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 192: // value
- case 196: // map_value
- case 250: // db_type
- case 339: // hr_mode
- case 475: // duid_type
- case 510: // ncr_protocol_value
- case 517: // replace_client_name_value
- value.template destroy< ElementPtr > ();
- break;
+ basic_symbol (typename Base::kind_type t, const ElementPtr v, const location_type& l);
- case 174: // "boolean"
- value.template destroy< bool > ();
- break;
+ basic_symbol (typename Base::kind_type t, const bool v, const location_type& l);
- case 173: // "floating point"
- value.template destroy< double > ();
- break;
+ basic_symbol (typename Base::kind_type t, const double v, const location_type& l);
- case 172: // "integer"
- value.template destroy< int64_t > ();
- break;
+ basic_symbol (typename Base::kind_type t, const int64_t v, const location_type& l);
- case 171: // "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 YY_NOEXCEPT;
+ token_type token () const;
/// The symbol type.
/// \a empty_symbol when empty.
};
/// "External" symbols: returned by the scanner.
- struct symbol_type : basic_symbol<by_type>
- {
- /// Superclass.
- typedef basic_symbol<by_type> super_type;
+ 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))
- {
- YYASSERT (tok == token::TOKEN_END || tok == token::TOKEN_COMMA || tok == token::TOKEN_COLON || tok == token::TOKEN_LSQUARE_BRACKET || tok == token::TOKEN_RSQUARE_BRACKET || tok == token::TOKEN_LCURLY_BRACKET || tok == token::TOKEN_RCURLY_BRACKET || tok == token::TOKEN_NULL_TYPE || tok == token::TOKEN_DHCP6 || tok == token::TOKEN_DATA_DIRECTORY || tok == token::TOKEN_CONFIG_CONTROL || tok == token::TOKEN_CONFIG_DATABASES || tok == token::TOKEN_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_REQUEST_TIMEOUT || tok == token::TOKEN_TCP_KEEPALIVE || tok == token::TOKEN_TCP_NODELAY || tok == token::TOKEN_PREFERRED_LIFETIME || tok == token::TOKEN_VALID_LIFETIME || tok == token::TOKEN_RENEW_TIMER || tok == token::TOKEN_REBIND_TIMER || tok == token::TOKEN_DECLINE_PROBATION_PERIOD || tok == token::TOKEN_SERVER_TAG || tok == token::TOKEN_SUBNET6 || tok == token::TOKEN_OPTION_DEF || tok == token::TOKEN_OPTION_DATA || tok == token::TOKEN_NAME || tok == token::TOKEN_DATA || tok == token::TOKEN_CODE || tok == token::TOKEN_SPACE || tok == token::TOKEN_CSV_FORMAT || tok == token::TOKEN_ALWAYS_SEND || tok == token::TOKEN_RECORD_TYPES || tok == token::TOKEN_ENCAPSULATE || tok == token::TOKEN_ARRAY || tok == token::TOKEN_POOLS || tok == token::TOKEN_POOL || tok == token::TOKEN_PD_POOLS || tok == token::TOKEN_PREFIX || tok == token::TOKEN_PREFIX_LEN || tok == token::TOKEN_EXCLUDED_PREFIX || tok == token::TOKEN_EXCLUDED_PREFIX_LEN || tok == token::TOKEN_DELEGATED_LEN || tok == token::TOKEN_USER_CONTEXT || tok == token::TOKEN_COMMENT || tok == token::TOKEN_SUBNET || tok == token::TOKEN_INTERFACE || tok == token::TOKEN_INTERFACE_ID || tok == token::TOKEN_ID || tok == token::TOKEN_RAPID_COMMIT || tok == token::TOKEN_RESERVATION_MODE || tok == token::TOKEN_DISABLED || tok == token::TOKEN_OUT_OF_POOL || tok == token::TOKEN_GLOBAL || tok == token::TOKEN_ALL || tok == token::TOKEN_SHARED_NETWORKS || tok == token::TOKEN_MAC_SOURCES || tok == token::TOKEN_RELAY_SUPPLIED_OPTIONS || tok == token::TOKEN_HOST_RESERVATION_IDENTIFIERS || tok == token::TOKEN_SANITY_CHECKS || tok == token::TOKEN_LEASE_CHECKS || tok == token::TOKEN_CLIENT_CLASSES || tok == token::TOKEN_REQUIRE_CLIENT_CLASSES || tok == token::TOKEN_TEST || tok == token::TOKEN_ONLY_IF_REQUIRED || tok == token::TOKEN_CLIENT_CLASS || tok == token::TOKEN_RESERVATIONS || tok == token::TOKEN_IP_ADDRESSES || tok == token::TOKEN_PREFIXES || tok == token::TOKEN_DUID || tok == token::TOKEN_HW_ADDRESS || tok == token::TOKEN_HOSTNAME || tok == token::TOKEN_FLEX_ID || tok == token::TOKEN_RELAY || tok == token::TOKEN_IP_ADDRESS || tok == token::TOKEN_HOOKS_LIBRARIES || tok == token::TOKEN_LIBRARY || tok == token::TOKEN_PARAMETERS || tok == token::TOKEN_EXPIRED_LEASES_PROCESSING || tok == token::TOKEN_RECLAIM_TIMER_WAIT_TIME || tok == token::TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME || tok == token::TOKEN_HOLD_RECLAIMED_TIME || tok == token::TOKEN_MAX_RECLAIM_LEASES || tok == token::TOKEN_MAX_RECLAIM_TIME || tok == token::TOKEN_UNWARNED_RECLAIM_CYCLES || tok == token::TOKEN_SERVER_ID || tok == token::TOKEN_LLT || tok == token::TOKEN_EN || tok == token::TOKEN_LL || tok == token::TOKEN_IDENTIFIER || tok == token::TOKEN_HTYPE || tok == token::TOKEN_TIME || tok == token::TOKEN_ENTERPRISE_ID || tok == token::TOKEN_DHCP4O6_PORT || tok == token::TOKEN_CONTROL_SOCKET || tok == token::TOKEN_SOCKET_TYPE || tok == token::TOKEN_SOCKET_NAME || tok == token::TOKEN_DHCP_QUEUE_CONTROL || tok == token::TOKEN_DHCP_DDNS || tok == token::TOKEN_ENABLE_UPDATES || tok == token::TOKEN_QUALIFYING_SUFFIX || tok == token::TOKEN_SERVER_IP || tok == token::TOKEN_SERVER_PORT || tok == token::TOKEN_SENDER_IP || tok == token::TOKEN_SENDER_PORT || tok == token::TOKEN_MAX_QUEUE_SIZE || tok == token::TOKEN_NCR_PROTOCOL || tok == token::TOKEN_NCR_FORMAT || tok == token::TOKEN_OVERRIDE_NO_UPDATE || tok == token::TOKEN_OVERRIDE_CLIENT_UPDATE || tok == token::TOKEN_REPLACE_CLIENT_NAME || tok == token::TOKEN_GENERATED_PREFIX || tok == token::TOKEN_UDP || tok == token::TOKEN_TCP || tok == token::TOKEN_JSON || tok == token::TOKEN_WHEN_PRESENT || tok == token::TOKEN_NEVER || tok == token::TOKEN_ALWAYS || tok == token::TOKEN_WHEN_NOT_PRESENT || tok == token::TOKEN_HOSTNAME_CHAR_SET || tok == token::TOKEN_HOSTNAME_CHAR_REPLACEMENT || tok == token::TOKEN_LOGGING || tok == token::TOKEN_LOGGERS || tok == token::TOKEN_OUTPUT_OPTIONS || tok == token::TOKEN_OUTPUT || tok == token::TOKEN_DEBUGLEVEL || tok == token::TOKEN_SEVERITY || tok == token::TOKEN_FLUSH || tok == token::TOKEN_MAXSIZE || tok == token::TOKEN_MAXVER || tok == token::TOKEN_DHCP4 || tok == token::TOKEN_DHCPDDNS || tok == token::TOKEN_CONTROL_AGENT || tok == token::TOKEN_TOPLEVEL_JSON || tok == token::TOKEN_TOPLEVEL_DHCP6 || tok == token::TOKEN_SUB_DHCP6 || tok == token::TOKEN_SUB_INTERFACES6 || tok == token::TOKEN_SUB_SUBNET6 || tok == token::TOKEN_SUB_POOL6 || tok == token::TOKEN_SUB_PD_POOL || tok == token::TOKEN_SUB_RESERVATION || tok == token::TOKEN_SUB_OPTION_DEFS || tok == token::TOKEN_SUB_OPTION_DEF || tok == token::TOKEN_SUB_OPTION_DATA || tok == token::TOKEN_SUB_HOOKS_LIBRARY || tok == token::TOKEN_SUB_DHCP_DDNS || tok == token::TOKEN_SUB_LOGGING || tok == token::TOKEN_SUB_CONFIG_CONTROL);
- }
-#else
- symbol_type (int tok, const location_type& l)
- : super_type(token_type (tok), l)
- {
- YYASSERT (tok == token::TOKEN_END || tok == token::TOKEN_COMMA || tok == token::TOKEN_COLON || tok == token::TOKEN_LSQUARE_BRACKET || tok == token::TOKEN_RSQUARE_BRACKET || tok == token::TOKEN_LCURLY_BRACKET || tok == token::TOKEN_RCURLY_BRACKET || tok == token::TOKEN_NULL_TYPE || tok == token::TOKEN_DHCP6 || tok == token::TOKEN_DATA_DIRECTORY || tok == token::TOKEN_CONFIG_CONTROL || tok == token::TOKEN_CONFIG_DATABASES || tok == token::TOKEN_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_REQUEST_TIMEOUT || tok == token::TOKEN_TCP_KEEPALIVE || tok == token::TOKEN_TCP_NODELAY || tok == token::TOKEN_PREFERRED_LIFETIME || tok == token::TOKEN_VALID_LIFETIME || tok == token::TOKEN_RENEW_TIMER || tok == token::TOKEN_REBIND_TIMER || tok == token::TOKEN_DECLINE_PROBATION_PERIOD || tok == token::TOKEN_SERVER_TAG || tok == token::TOKEN_SUBNET6 || tok == token::TOKEN_OPTION_DEF || tok == token::TOKEN_OPTION_DATA || tok == token::TOKEN_NAME || tok == token::TOKEN_DATA || tok == token::TOKEN_CODE || tok == token::TOKEN_SPACE || tok == token::TOKEN_CSV_FORMAT || tok == token::TOKEN_ALWAYS_SEND || tok == token::TOKEN_RECORD_TYPES || tok == token::TOKEN_ENCAPSULATE || tok == token::TOKEN_ARRAY || tok == token::TOKEN_POOLS || tok == token::TOKEN_POOL || tok == token::TOKEN_PD_POOLS || tok == token::TOKEN_PREFIX || tok == token::TOKEN_PREFIX_LEN || tok == token::TOKEN_EXCLUDED_PREFIX || tok == token::TOKEN_EXCLUDED_PREFIX_LEN || tok == token::TOKEN_DELEGATED_LEN || tok == token::TOKEN_USER_CONTEXT || tok == token::TOKEN_COMMENT || tok == token::TOKEN_SUBNET || tok == token::TOKEN_INTERFACE || tok == token::TOKEN_INTERFACE_ID || tok == token::TOKEN_ID || tok == token::TOKEN_RAPID_COMMIT || tok == token::TOKEN_RESERVATION_MODE || tok == token::TOKEN_DISABLED || tok == token::TOKEN_OUT_OF_POOL || tok == token::TOKEN_GLOBAL || tok == token::TOKEN_ALL || tok == token::TOKEN_SHARED_NETWORKS || tok == token::TOKEN_MAC_SOURCES || tok == token::TOKEN_RELAY_SUPPLIED_OPTIONS || tok == token::TOKEN_HOST_RESERVATION_IDENTIFIERS || tok == token::TOKEN_SANITY_CHECKS || tok == token::TOKEN_LEASE_CHECKS || tok == token::TOKEN_CLIENT_CLASSES || tok == token::TOKEN_REQUIRE_CLIENT_CLASSES || tok == token::TOKEN_TEST || tok == token::TOKEN_ONLY_IF_REQUIRED || tok == token::TOKEN_CLIENT_CLASS || tok == token::TOKEN_RESERVATIONS || tok == token::TOKEN_IP_ADDRESSES || tok == token::TOKEN_PREFIXES || tok == token::TOKEN_DUID || tok == token::TOKEN_HW_ADDRESS || tok == token::TOKEN_HOSTNAME || tok == token::TOKEN_FLEX_ID || tok == token::TOKEN_RELAY || tok == token::TOKEN_IP_ADDRESS || tok == token::TOKEN_HOOKS_LIBRARIES || tok == token::TOKEN_LIBRARY || tok == token::TOKEN_PARAMETERS || tok == token::TOKEN_EXPIRED_LEASES_PROCESSING || tok == token::TOKEN_RECLAIM_TIMER_WAIT_TIME || tok == token::TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME || tok == token::TOKEN_HOLD_RECLAIMED_TIME || tok == token::TOKEN_MAX_RECLAIM_LEASES || tok == token::TOKEN_MAX_RECLAIM_TIME || tok == token::TOKEN_UNWARNED_RECLAIM_CYCLES || tok == token::TOKEN_SERVER_ID || tok == token::TOKEN_LLT || tok == token::TOKEN_EN || tok == token::TOKEN_LL || tok == token::TOKEN_IDENTIFIER || tok == token::TOKEN_HTYPE || tok == token::TOKEN_TIME || tok == token::TOKEN_ENTERPRISE_ID || tok == token::TOKEN_DHCP4O6_PORT || tok == token::TOKEN_CONTROL_SOCKET || tok == token::TOKEN_SOCKET_TYPE || tok == token::TOKEN_SOCKET_NAME || tok == token::TOKEN_DHCP_QUEUE_CONTROL || tok == token::TOKEN_DHCP_DDNS || tok == token::TOKEN_ENABLE_UPDATES || tok == token::TOKEN_QUALIFYING_SUFFIX || tok == token::TOKEN_SERVER_IP || tok == token::TOKEN_SERVER_PORT || tok == token::TOKEN_SENDER_IP || tok == token::TOKEN_SENDER_PORT || tok == token::TOKEN_MAX_QUEUE_SIZE || tok == token::TOKEN_NCR_PROTOCOL || tok == token::TOKEN_NCR_FORMAT || tok == token::TOKEN_OVERRIDE_NO_UPDATE || tok == token::TOKEN_OVERRIDE_CLIENT_UPDATE || tok == token::TOKEN_REPLACE_CLIENT_NAME || tok == token::TOKEN_GENERATED_PREFIX || tok == token::TOKEN_UDP || tok == token::TOKEN_TCP || tok == token::TOKEN_JSON || tok == token::TOKEN_WHEN_PRESENT || tok == token::TOKEN_NEVER || tok == token::TOKEN_ALWAYS || tok == token::TOKEN_WHEN_NOT_PRESENT || tok == token::TOKEN_HOSTNAME_CHAR_SET || tok == token::TOKEN_HOSTNAME_CHAR_REPLACEMENT || tok == token::TOKEN_LOGGING || tok == token::TOKEN_LOGGERS || tok == token::TOKEN_OUTPUT_OPTIONS || tok == token::TOKEN_OUTPUT || tok == token::TOKEN_DEBUGLEVEL || tok == token::TOKEN_SEVERITY || tok == token::TOKEN_FLUSH || tok == token::TOKEN_MAXSIZE || tok == token::TOKEN_MAXVER || tok == token::TOKEN_DHCP4 || tok == token::TOKEN_DHCPDDNS || tok == token::TOKEN_CONTROL_AGENT || tok == token::TOKEN_TOPLEVEL_JSON || tok == token::TOKEN_TOPLEVEL_DHCP6 || tok == token::TOKEN_SUB_DHCP6 || tok == token::TOKEN_SUB_INTERFACES6 || tok == token::TOKEN_SUB_SUBNET6 || tok == token::TOKEN_SUB_POOL6 || tok == token::TOKEN_SUB_PD_POOL || tok == token::TOKEN_SUB_RESERVATION || tok == token::TOKEN_SUB_OPTION_DEFS || tok == token::TOKEN_SUB_OPTION_DEF || tok == token::TOKEN_SUB_OPTION_DATA || tok == token::TOKEN_SUB_HOOKS_LIBRARY || tok == token::TOKEN_SUB_DHCP_DDNS || tok == token::TOKEN_SUB_LOGGING || tok == token::TOKEN_SUB_CONFIG_CONTROL);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- symbol_type (int tok, bool v, location_type l)
- : super_type(token_type (tok), std::move (v), std::move (l))
- {
- YYASSERT (tok == token::TOKEN_BOOLEAN);
- }
-#else
- symbol_type (int tok, const bool& v, const location_type& l)
- : super_type(token_type (tok), v, l)
- {
- YYASSERT (tok == token::TOKEN_BOOLEAN);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- symbol_type (int tok, double v, location_type l)
- : super_type(token_type (tok), std::move (v), std::move (l))
- {
- YYASSERT (tok == token::TOKEN_FLOAT);
- }
-#else
- symbol_type (int tok, const double& v, const location_type& l)
- : super_type(token_type (tok), v, l)
- {
- YYASSERT (tok == token::TOKEN_FLOAT);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- symbol_type (int tok, int64_t v, location_type l)
- : super_type(token_type (tok), std::move (v), std::move (l))
- {
- YYASSERT (tok == token::TOKEN_INTEGER);
- }
-#else
- symbol_type (int tok, const int64_t& v, const location_type& l)
- : super_type(token_type (tok), v, l)
- {
- YYASSERT (tok == token::TOKEN_INTEGER);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- symbol_type (int tok, std::string v, location_type l)
- : super_type(token_type (tok), std::move (v), std::move (l))
- {
- YYASSERT (tok == token::TOKEN_STRING);
- }
-#else
- symbol_type (int tok, const std::string& v, const location_type& l)
- : super_type(token_type (tok), v, l)
- {
- YYASSERT (tok == token::TOKEN_STRING);
- }
-#endif
- };
+ 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_INTERFACES_CONFIG (location_type l)
- {
- return symbol_type (token::TOKEN_INTERFACES_CONFIG, std::move (l));
- }
-#else
- static
- symbol_type
- make_INTERFACES_CONFIG (const location_type& l)
- {
- return symbol_type (token::TOKEN_INTERFACES_CONFIG, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_INTERFACES (location_type l)
- {
- return symbol_type (token::TOKEN_INTERFACES, std::move (l));
- }
-#else
- static
- symbol_type
- make_INTERFACES (const location_type& l)
- {
- return symbol_type (token::TOKEN_INTERFACES, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_RE_DETECT (location_type l)
- {
- return symbol_type (token::TOKEN_RE_DETECT, std::move (l));
- }
-#else
- static
- symbol_type
- make_RE_DETECT (const location_type& l)
- {
- return symbol_type (token::TOKEN_RE_DETECT, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_LEASE_DATABASE (location_type l)
- {
- return symbol_type (token::TOKEN_LEASE_DATABASE, std::move (l));
- }
-#else
- static
- symbol_type
- make_LEASE_DATABASE (const location_type& l)
- {
- return symbol_type (token::TOKEN_LEASE_DATABASE, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_HOSTS_DATABASE (location_type l)
- {
- return symbol_type (token::TOKEN_HOSTS_DATABASE, std::move (l));
- }
-#else
- static
- symbol_type
- make_HOSTS_DATABASE (const location_type& l)
- {
- return symbol_type (token::TOKEN_HOSTS_DATABASE, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_HOSTS_DATABASES (location_type l)
- {
- return symbol_type (token::TOKEN_HOSTS_DATABASES, std::move (l));
- }
-#else
- static
- symbol_type
- make_HOSTS_DATABASES (const location_type& l)
- {
- return symbol_type (token::TOKEN_HOSTS_DATABASES, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_TYPE (location_type l)
- {
- return symbol_type (token::TOKEN_TYPE, std::move (l));
- }
-#else
- static
- symbol_type
- make_TYPE (const location_type& l)
- {
- return symbol_type (token::TOKEN_TYPE, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_MEMFILE (location_type l)
- {
- return symbol_type (token::TOKEN_MEMFILE, std::move (l));
- }
-#else
- static
- symbol_type
- make_MEMFILE (const location_type& l)
- {
- return symbol_type (token::TOKEN_MEMFILE, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_MYSQL (location_type l)
- {
- return symbol_type (token::TOKEN_MYSQL, std::move (l));
- }
-#else
- static
- symbol_type
- make_MYSQL (const location_type& l)
- {
- return symbol_type (token::TOKEN_MYSQL, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_POSTGRESQL (location_type l)
- {
- return symbol_type (token::TOKEN_POSTGRESQL, std::move (l));
- }
-#else
- static
- symbol_type
- make_POSTGRESQL (const location_type& l)
- {
- return symbol_type (token::TOKEN_POSTGRESQL, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_CQL (location_type l)
- {
- return symbol_type (token::TOKEN_CQL, std::move (l));
- }
-#else
- static
- symbol_type
- make_CQL (const location_type& l)
- {
- return symbol_type (token::TOKEN_CQL, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_USER (location_type l)
- {
- return symbol_type (token::TOKEN_USER, std::move (l));
- }
-#else
- static
- symbol_type
- make_USER (const location_type& l)
- {
- return symbol_type (token::TOKEN_USER, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_PASSWORD (location_type l)
- {
- return symbol_type (token::TOKEN_PASSWORD, std::move (l));
- }
-#else
- static
- symbol_type
- make_PASSWORD (const location_type& l)
- {
- return symbol_type (token::TOKEN_PASSWORD, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_HOST (location_type l)
- {
- return symbol_type (token::TOKEN_HOST, std::move (l));
- }
-#else
- static
- symbol_type
- make_HOST (const location_type& l)
- {
- return symbol_type (token::TOKEN_HOST, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_PORT (location_type l)
- {
- return symbol_type (token::TOKEN_PORT, std::move (l));
- }
-#else
- static
- symbol_type
- make_PORT (const location_type& l)
- {
- return symbol_type (token::TOKEN_PORT, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_PERSIST (location_type l)
- {
- return symbol_type (token::TOKEN_PERSIST, std::move (l));
- }
-#else
- static
- symbol_type
- make_PERSIST (const location_type& l)
- {
- return symbol_type (token::TOKEN_PERSIST, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_LFC_INTERVAL (location_type l)
- {
- return symbol_type (token::TOKEN_LFC_INTERVAL, std::move (l));
- }
-#else
- static
- symbol_type
- make_LFC_INTERVAL (const location_type& l)
- {
- return symbol_type (token::TOKEN_LFC_INTERVAL, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_READONLY (location_type l)
- {
- return symbol_type (token::TOKEN_READONLY, std::move (l));
- }
-#else
- static
- symbol_type
- make_READONLY (const location_type& l)
- {
- return symbol_type (token::TOKEN_READONLY, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_CONNECT_TIMEOUT (location_type l)
- {
- return symbol_type (token::TOKEN_CONNECT_TIMEOUT, std::move (l));
- }
-#else
- static
- symbol_type
- make_CONNECT_TIMEOUT (const location_type& l)
- {
- return symbol_type (token::TOKEN_CONNECT_TIMEOUT, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_CONTACT_POINTS (location_type l)
- {
- return symbol_type (token::TOKEN_CONTACT_POINTS, std::move (l));
- }
-#else
- static
- symbol_type
- make_CONTACT_POINTS (const location_type& l)
- {
- return symbol_type (token::TOKEN_CONTACT_POINTS, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_MAX_RECONNECT_TRIES (location_type l)
- {
- return symbol_type (token::TOKEN_MAX_RECONNECT_TRIES, std::move (l));
- }
-#else
- static
- symbol_type
- make_MAX_RECONNECT_TRIES (const location_type& l)
- {
- return symbol_type (token::TOKEN_MAX_RECONNECT_TRIES, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_RECONNECT_WAIT_TIME (location_type l)
- {
- return symbol_type (token::TOKEN_RECONNECT_WAIT_TIME, std::move (l));
- }
-#else
- static
- symbol_type
- make_RECONNECT_WAIT_TIME (const location_type& l)
- {
- return symbol_type (token::TOKEN_RECONNECT_WAIT_TIME, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_KEYSPACE (location_type l)
- {
- return symbol_type (token::TOKEN_KEYSPACE, std::move (l));
- }
-#else
- static
- symbol_type
- make_KEYSPACE (const location_type& l)
- {
- return symbol_type (token::TOKEN_KEYSPACE, l);
- }
+ 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_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_PREFERRED_LIFETIME (const location_type& l);
+
+ static inline
+ symbol_type
+ make_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_DECLINE_PROBATION_PERIOD (const location_type& l);
+
+ static inline
+ symbol_type
+ make_SERVER_TAG (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_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_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_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_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_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_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_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_DECLINE_PROBATION_PERIOD (location_type l)
- {
- return symbol_type (token::TOKEN_DECLINE_PROBATION_PERIOD, std::move (l));
- }
-#else
- static
- symbol_type
- make_DECLINE_PROBATION_PERIOD (const location_type& l)
- {
- return symbol_type (token::TOKEN_DECLINE_PROBATION_PERIOD, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_SERVER_TAG (location_type l)
- {
- return symbol_type (token::TOKEN_SERVER_TAG, std::move (l));
- }
-#else
- static
- symbol_type
- make_SERVER_TAG (const location_type& l)
- {
- return symbol_type (token::TOKEN_SERVER_TAG, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_SUBNET6 (location_type l)
- {
- return symbol_type (token::TOKEN_SUBNET6, std::move (l));
- }
-#else
- static
- symbol_type
- make_SUBNET6 (const location_type& l)
- {
- return symbol_type (token::TOKEN_SUBNET6, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_OPTION_DEF (location_type l)
- {
- return symbol_type (token::TOKEN_OPTION_DEF, std::move (l));
- }
-#else
- static
- symbol_type
- make_OPTION_DEF (const location_type& l)
- {
- return symbol_type (token::TOKEN_OPTION_DEF, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_OPTION_DATA (location_type l)
- {
- return symbol_type (token::TOKEN_OPTION_DATA, std::move (l));
- }
-#else
- static
- symbol_type
- make_OPTION_DATA (const location_type& l)
- {
- return symbol_type (token::TOKEN_OPTION_DATA, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_NAME (location_type l)
- {
- return symbol_type (token::TOKEN_NAME, std::move (l));
- }
-#else
- static
- symbol_type
- make_NAME (const location_type& l)
- {
- return symbol_type (token::TOKEN_NAME, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_DATA (location_type l)
- {
- return symbol_type (token::TOKEN_DATA, std::move (l));
- }
-#else
- static
- symbol_type
- make_DATA (const location_type& l)
- {
- return symbol_type (token::TOKEN_DATA, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_CODE (location_type l)
- {
- return symbol_type (token::TOKEN_CODE, std::move (l));
- }
-#else
- static
- symbol_type
- make_CODE (const location_type& l)
- {
- return symbol_type (token::TOKEN_CODE, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_SPACE (location_type l)
- {
- return symbol_type (token::TOKEN_SPACE, std::move (l));
- }
-#else
- static
- symbol_type
- make_SPACE (const location_type& l)
- {
- return symbol_type (token::TOKEN_SPACE, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_CSV_FORMAT (location_type l)
- {
- return symbol_type (token::TOKEN_CSV_FORMAT, std::move (l));
- }
-#else
- static
- symbol_type
- make_CSV_FORMAT (const location_type& l)
- {
- return symbol_type (token::TOKEN_CSV_FORMAT, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_ALWAYS_SEND (location_type l)
- {
- return symbol_type (token::TOKEN_ALWAYS_SEND, std::move (l));
- }
-#else
- static
- symbol_type
- make_ALWAYS_SEND (const location_type& l)
- {
- return symbol_type (token::TOKEN_ALWAYS_SEND, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_RECORD_TYPES (location_type l)
- {
- return symbol_type (token::TOKEN_RECORD_TYPES, std::move (l));
- }
-#else
- static
- symbol_type
- make_RECORD_TYPES (const location_type& l)
- {
- return symbol_type (token::TOKEN_RECORD_TYPES, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_ENCAPSULATE (location_type l)
- {
- return symbol_type (token::TOKEN_ENCAPSULATE, std::move (l));
- }
-#else
- static
- symbol_type
- make_ENCAPSULATE (const location_type& l)
- {
- return symbol_type (token::TOKEN_ENCAPSULATE, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_ARRAY (location_type l)
- {
- return symbol_type (token::TOKEN_ARRAY, std::move (l));
- }
-#else
- static
- symbol_type
- make_ARRAY (const location_type& l)
- {
- return symbol_type (token::TOKEN_ARRAY, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_POOLS (location_type l)
- {
- return symbol_type (token::TOKEN_POOLS, std::move (l));
- }
-#else
- static
- symbol_type
- make_POOLS (const location_type& l)
- {
- return symbol_type (token::TOKEN_POOLS, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_POOL (location_type l)
- {
- return symbol_type (token::TOKEN_POOL, std::move (l));
- }
-#else
- static
- symbol_type
- make_POOL (const location_type& l)
- {
- return symbol_type (token::TOKEN_POOL, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_PD_POOLS (location_type l)
- {
- return symbol_type (token::TOKEN_PD_POOLS, std::move (l));
- }
-#else
- static
- symbol_type
- make_PD_POOLS (const location_type& l)
- {
- return symbol_type (token::TOKEN_PD_POOLS, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_PREFIX (location_type l)
- {
- return symbol_type (token::TOKEN_PREFIX, std::move (l));
- }
-#else
- static
- symbol_type
- make_PREFIX (const location_type& l)
- {
- return symbol_type (token::TOKEN_PREFIX, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_PREFIX_LEN (location_type l)
- {
- return symbol_type (token::TOKEN_PREFIX_LEN, std::move (l));
- }
-#else
- static
- symbol_type
- make_PREFIX_LEN (const location_type& l)
- {
- return symbol_type (token::TOKEN_PREFIX_LEN, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_EXCLUDED_PREFIX (location_type l)
- {
- return symbol_type (token::TOKEN_EXCLUDED_PREFIX, std::move (l));
- }
-#else
- static
- symbol_type
- make_EXCLUDED_PREFIX (const location_type& l)
- {
- return symbol_type (token::TOKEN_EXCLUDED_PREFIX, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_EXCLUDED_PREFIX_LEN (location_type l)
- {
- return symbol_type (token::TOKEN_EXCLUDED_PREFIX_LEN, std::move (l));
- }
-#else
- static
- symbol_type
- make_EXCLUDED_PREFIX_LEN (const location_type& l)
- {
- return symbol_type (token::TOKEN_EXCLUDED_PREFIX_LEN, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_DELEGATED_LEN (location_type l)
- {
- return symbol_type (token::TOKEN_DELEGATED_LEN, std::move (l));
- }
-#else
- static
- symbol_type
- make_DELEGATED_LEN (const location_type& l)
- {
- return symbol_type (token::TOKEN_DELEGATED_LEN, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_USER_CONTEXT (location_type l)
- {
- return symbol_type (token::TOKEN_USER_CONTEXT, std::move (l));
- }
-#else
- static
- symbol_type
- make_USER_CONTEXT (const location_type& l)
- {
- return symbol_type (token::TOKEN_USER_CONTEXT, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_COMMENT (location_type l)
- {
- return symbol_type (token::TOKEN_COMMENT, std::move (l));
- }
-#else
- static
- symbol_type
- make_COMMENT (const location_type& l)
- {
- return symbol_type (token::TOKEN_COMMENT, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_SUBNET (location_type l)
- {
- return symbol_type (token::TOKEN_SUBNET, std::move (l));
- }
-#else
- static
- symbol_type
- make_SUBNET (const location_type& l)
- {
- return symbol_type (token::TOKEN_SUBNET, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_INTERFACE (location_type l)
- {
- return symbol_type (token::TOKEN_INTERFACE, std::move (l));
- }
-#else
- static
- symbol_type
- make_INTERFACE (const location_type& l)
- {
- return symbol_type (token::TOKEN_INTERFACE, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_INTERFACE_ID (location_type l)
- {
- return symbol_type (token::TOKEN_INTERFACE_ID, std::move (l));
- }
-#else
- static
- symbol_type
- make_INTERFACE_ID (const location_type& l)
- {
- return symbol_type (token::TOKEN_INTERFACE_ID, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_ID (location_type l)
- {
- return symbol_type (token::TOKEN_ID, std::move (l));
- }
-#else
- static
- symbol_type
- make_ID (const location_type& l)
- {
- return symbol_type (token::TOKEN_ID, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_RAPID_COMMIT (location_type l)
- {
- return symbol_type (token::TOKEN_RAPID_COMMIT, std::move (l));
- }
-#else
- static
- symbol_type
- make_RAPID_COMMIT (const location_type& l)
- {
- return symbol_type (token::TOKEN_RAPID_COMMIT, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_RESERVATION_MODE (location_type l)
- {
- return symbol_type (token::TOKEN_RESERVATION_MODE, std::move (l));
- }
-#else
- static
- symbol_type
- make_RESERVATION_MODE (const location_type& l)
- {
- return symbol_type (token::TOKEN_RESERVATION_MODE, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_DISABLED (location_type l)
- {
- return symbol_type (token::TOKEN_DISABLED, std::move (l));
- }
-#else
- static
- symbol_type
- make_DISABLED (const location_type& l)
- {
- return symbol_type (token::TOKEN_DISABLED, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_OUT_OF_POOL (location_type l)
- {
- return symbol_type (token::TOKEN_OUT_OF_POOL, std::move (l));
- }
-#else
- static
- symbol_type
- make_OUT_OF_POOL (const location_type& l)
- {
- return symbol_type (token::TOKEN_OUT_OF_POOL, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_GLOBAL (location_type l)
- {
- return symbol_type (token::TOKEN_GLOBAL, std::move (l));
- }
-#else
- static
- symbol_type
- make_GLOBAL (const location_type& l)
- {
- return symbol_type (token::TOKEN_GLOBAL, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_ALL (location_type l)
- {
- return symbol_type (token::TOKEN_ALL, std::move (l));
- }
-#else
- static
- symbol_type
- make_ALL (const location_type& l)
- {
- return symbol_type (token::TOKEN_ALL, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_SHARED_NETWORKS (location_type l)
- {
- return symbol_type (token::TOKEN_SHARED_NETWORKS, std::move (l));
- }
-#else
- static
- symbol_type
- make_SHARED_NETWORKS (const location_type& l)
- {
- return symbol_type (token::TOKEN_SHARED_NETWORKS, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_MAC_SOURCES (location_type l)
- {
- return symbol_type (token::TOKEN_MAC_SOURCES, std::move (l));
- }
-#else
- static
- symbol_type
- make_MAC_SOURCES (const location_type& l)
- {
- return symbol_type (token::TOKEN_MAC_SOURCES, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_RELAY_SUPPLIED_OPTIONS (location_type l)
- {
- return symbol_type (token::TOKEN_RELAY_SUPPLIED_OPTIONS, std::move (l));
- }
-#else
- static
- symbol_type
- make_RELAY_SUPPLIED_OPTIONS (const location_type& l)
- {
- return symbol_type (token::TOKEN_RELAY_SUPPLIED_OPTIONS, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_HOST_RESERVATION_IDENTIFIERS (location_type l)
- {
- return symbol_type (token::TOKEN_HOST_RESERVATION_IDENTIFIERS, std::move (l));
- }
-#else
- static
- symbol_type
- make_HOST_RESERVATION_IDENTIFIERS (const location_type& l)
- {
- return symbol_type (token::TOKEN_HOST_RESERVATION_IDENTIFIERS, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_SANITY_CHECKS (location_type l)
- {
- return symbol_type (token::TOKEN_SANITY_CHECKS, std::move (l));
- }
-#else
- static
- symbol_type
- make_SANITY_CHECKS (const location_type& l)
- {
- return symbol_type (token::TOKEN_SANITY_CHECKS, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_LEASE_CHECKS (location_type l)
- {
- return symbol_type (token::TOKEN_LEASE_CHECKS, std::move (l));
- }
-#else
- static
- symbol_type
- make_LEASE_CHECKS (const location_type& l)
- {
- return symbol_type (token::TOKEN_LEASE_CHECKS, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_CLIENT_CLASSES (location_type l)
- {
- return symbol_type (token::TOKEN_CLIENT_CLASSES, std::move (l));
- }
-#else
- static
- symbol_type
- make_CLIENT_CLASSES (const location_type& l)
- {
- return symbol_type (token::TOKEN_CLIENT_CLASSES, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_REQUIRE_CLIENT_CLASSES (location_type l)
- {
- return symbol_type (token::TOKEN_REQUIRE_CLIENT_CLASSES, std::move (l));
- }
-#else
- static
- symbol_type
- make_REQUIRE_CLIENT_CLASSES (const location_type& l)
- {
- return symbol_type (token::TOKEN_REQUIRE_CLIENT_CLASSES, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_TEST (location_type l)
- {
- return symbol_type (token::TOKEN_TEST, std::move (l));
- }
-#else
- static
- symbol_type
- make_TEST (const location_type& l)
- {
- return symbol_type (token::TOKEN_TEST, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_ONLY_IF_REQUIRED (location_type l)
- {
- return symbol_type (token::TOKEN_ONLY_IF_REQUIRED, std::move (l));
- }
-#else
- static
- symbol_type
- make_ONLY_IF_REQUIRED (const location_type& l)
- {
- return symbol_type (token::TOKEN_ONLY_IF_REQUIRED, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_CLIENT_CLASS (location_type l)
- {
- return symbol_type (token::TOKEN_CLIENT_CLASS, std::move (l));
- }
-#else
- static
- symbol_type
- make_CLIENT_CLASS (const location_type& l)
- {
- return symbol_type (token::TOKEN_CLIENT_CLASS, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_RESERVATIONS (location_type l)
- {
- return symbol_type (token::TOKEN_RESERVATIONS, std::move (l));
- }
-#else
- static
- symbol_type
- make_RESERVATIONS (const location_type& l)
- {
- return symbol_type (token::TOKEN_RESERVATIONS, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_IP_ADDRESSES (location_type l)
- {
- return symbol_type (token::TOKEN_IP_ADDRESSES, std::move (l));
- }
-#else
- static
- symbol_type
- make_IP_ADDRESSES (const location_type& l)
- {
- return symbol_type (token::TOKEN_IP_ADDRESSES, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_PREFIXES (location_type l)
- {
- return symbol_type (token::TOKEN_PREFIXES, std::move (l));
- }
-#else
- static
- symbol_type
- make_PREFIXES (const location_type& l)
- {
- return symbol_type (token::TOKEN_PREFIXES, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_DUID (location_type l)
- {
- return symbol_type (token::TOKEN_DUID, std::move (l));
- }
-#else
- static
- symbol_type
- make_DUID (const location_type& l)
- {
- return symbol_type (token::TOKEN_DUID, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_HW_ADDRESS (location_type l)
- {
- return symbol_type (token::TOKEN_HW_ADDRESS, std::move (l));
- }
-#else
- static
- symbol_type
- make_HW_ADDRESS (const location_type& l)
- {
- return symbol_type (token::TOKEN_HW_ADDRESS, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_HOSTNAME (location_type l)
- {
- return symbol_type (token::TOKEN_HOSTNAME, std::move (l));
- }
-#else
- static
- symbol_type
- make_HOSTNAME (const location_type& l)
- {
- return symbol_type (token::TOKEN_HOSTNAME, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_FLEX_ID (location_type l)
- {
- return symbol_type (token::TOKEN_FLEX_ID, std::move (l));
- }
-#else
- static
- symbol_type
- make_FLEX_ID (const location_type& l)
- {
- return symbol_type (token::TOKEN_FLEX_ID, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_RELAY (location_type l)
- {
- return symbol_type (token::TOKEN_RELAY, std::move (l));
- }
-#else
- static
- symbol_type
- make_RELAY (const location_type& l)
- {
- return symbol_type (token::TOKEN_RELAY, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_IP_ADDRESS (location_type l)
- {
- return symbol_type (token::TOKEN_IP_ADDRESS, std::move (l));
- }
-#else
- static
- symbol_type
- make_IP_ADDRESS (const location_type& l)
- {
- return symbol_type (token::TOKEN_IP_ADDRESS, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_HOOKS_LIBRARIES (location_type l)
- {
- return symbol_type (token::TOKEN_HOOKS_LIBRARIES, std::move (l));
- }
-#else
- static
- symbol_type
- make_HOOKS_LIBRARIES (const location_type& l)
- {
- return symbol_type (token::TOKEN_HOOKS_LIBRARIES, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_LIBRARY (location_type l)
- {
- return symbol_type (token::TOKEN_LIBRARY, std::move (l));
- }
-#else
- static
- symbol_type
- make_LIBRARY (const location_type& l)
- {
- return symbol_type (token::TOKEN_LIBRARY, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_PARAMETERS (location_type l)
- {
- return symbol_type (token::TOKEN_PARAMETERS, std::move (l));
- }
-#else
- static
- symbol_type
- make_PARAMETERS (const location_type& l)
- {
- return symbol_type (token::TOKEN_PARAMETERS, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_EXPIRED_LEASES_PROCESSING (location_type l)
- {
- return symbol_type (token::TOKEN_EXPIRED_LEASES_PROCESSING, std::move (l));
- }
-#else
- static
- symbol_type
- make_EXPIRED_LEASES_PROCESSING (const location_type& l)
- {
- return symbol_type (token::TOKEN_EXPIRED_LEASES_PROCESSING, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_RECLAIM_TIMER_WAIT_TIME (location_type l)
- {
- return symbol_type (token::TOKEN_RECLAIM_TIMER_WAIT_TIME, std::move (l));
- }
-#else
- static
- symbol_type
- make_RECLAIM_TIMER_WAIT_TIME (const location_type& l)
- {
- return symbol_type (token::TOKEN_RECLAIM_TIMER_WAIT_TIME, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_FLUSH_RECLAIMED_TIMER_WAIT_TIME (location_type l)
- {
- return symbol_type (token::TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME, std::move (l));
- }
-#else
- static
- symbol_type
- make_FLUSH_RECLAIMED_TIMER_WAIT_TIME (const location_type& l)
- {
- return symbol_type (token::TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_HOLD_RECLAIMED_TIME (location_type l)
- {
- return symbol_type (token::TOKEN_HOLD_RECLAIMED_TIME, std::move (l));
- }
-#else
- static
- symbol_type
- make_HOLD_RECLAIMED_TIME (const location_type& l)
- {
- return symbol_type (token::TOKEN_HOLD_RECLAIMED_TIME, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_MAX_RECLAIM_LEASES (location_type l)
- {
- return symbol_type (token::TOKEN_MAX_RECLAIM_LEASES, std::move (l));
- }
-#else
- static
- symbol_type
- make_MAX_RECLAIM_LEASES (const location_type& l)
- {
- return symbol_type (token::TOKEN_MAX_RECLAIM_LEASES, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_MAX_RECLAIM_TIME (location_type l)
- {
- return symbol_type (token::TOKEN_MAX_RECLAIM_TIME, std::move (l));
- }
-#else
- static
- symbol_type
- make_MAX_RECLAIM_TIME (const location_type& l)
- {
- return symbol_type (token::TOKEN_MAX_RECLAIM_TIME, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_UNWARNED_RECLAIM_CYCLES (location_type l)
- {
- return symbol_type (token::TOKEN_UNWARNED_RECLAIM_CYCLES, std::move (l));
- }
-#else
- static
- symbol_type
- make_UNWARNED_RECLAIM_CYCLES (const location_type& l)
- {
- return symbol_type (token::TOKEN_UNWARNED_RECLAIM_CYCLES, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_SERVER_ID (location_type l)
- {
- return symbol_type (token::TOKEN_SERVER_ID, std::move (l));
- }
-#else
- static
- symbol_type
- make_SERVER_ID (const location_type& l)
- {
- return symbol_type (token::TOKEN_SERVER_ID, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_LLT (location_type l)
- {
- return symbol_type (token::TOKEN_LLT, std::move (l));
- }
-#else
- static
- symbol_type
- make_LLT (const location_type& l)
- {
- return symbol_type (token::TOKEN_LLT, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_EN (location_type l)
- {
- return symbol_type (token::TOKEN_EN, std::move (l));
- }
-#else
- static
- symbol_type
- make_EN (const location_type& l)
- {
- return symbol_type (token::TOKEN_EN, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_LL (location_type l)
- {
- return symbol_type (token::TOKEN_LL, std::move (l));
- }
-#else
- static
- symbol_type
- make_LL (const location_type& l)
- {
- return symbol_type (token::TOKEN_LL, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_IDENTIFIER (location_type l)
- {
- return symbol_type (token::TOKEN_IDENTIFIER, std::move (l));
- }
-#else
- static
- symbol_type
- make_IDENTIFIER (const location_type& l)
- {
- return symbol_type (token::TOKEN_IDENTIFIER, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_HTYPE (location_type l)
- {
- return symbol_type (token::TOKEN_HTYPE, std::move (l));
- }
-#else
- static
- symbol_type
- make_HTYPE (const location_type& l)
- {
- return symbol_type (token::TOKEN_HTYPE, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_TIME (location_type l)
- {
- return symbol_type (token::TOKEN_TIME, std::move (l));
- }
-#else
- static
- symbol_type
- make_TIME (const location_type& l)
- {
- return symbol_type (token::TOKEN_TIME, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_ENTERPRISE_ID (location_type l)
- {
- return symbol_type (token::TOKEN_ENTERPRISE_ID, std::move (l));
- }
-#else
- static
- symbol_type
- make_ENTERPRISE_ID (const location_type& l)
- {
- return symbol_type (token::TOKEN_ENTERPRISE_ID, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_DHCP4O6_PORT (location_type l)
- {
- return symbol_type (token::TOKEN_DHCP4O6_PORT, std::move (l));
- }
-#else
- static
- symbol_type
- make_DHCP4O6_PORT (const location_type& l)
- {
- return symbol_type (token::TOKEN_DHCP4O6_PORT, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_CONTROL_SOCKET (location_type l)
- {
- return symbol_type (token::TOKEN_CONTROL_SOCKET, std::move (l));
- }
-#else
- static
- symbol_type
- make_CONTROL_SOCKET (const location_type& l)
- {
- return symbol_type (token::TOKEN_CONTROL_SOCKET, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_SOCKET_TYPE (location_type l)
- {
- return symbol_type (token::TOKEN_SOCKET_TYPE, std::move (l));
- }
-#else
- static
- symbol_type
- make_SOCKET_TYPE (const location_type& l)
- {
- return symbol_type (token::TOKEN_SOCKET_TYPE, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_SOCKET_NAME (location_type l)
- {
- return symbol_type (token::TOKEN_SOCKET_NAME, std::move (l));
- }
-#else
- static
- symbol_type
- make_SOCKET_NAME (const location_type& l)
- {
- return symbol_type (token::TOKEN_SOCKET_NAME, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_DHCP_QUEUE_CONTROL (location_type l)
- {
- return symbol_type (token::TOKEN_DHCP_QUEUE_CONTROL, std::move (l));
- }
-#else
- static
- symbol_type
- make_DHCP_QUEUE_CONTROL (const location_type& l)
- {
- return symbol_type (token::TOKEN_DHCP_QUEUE_CONTROL, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_DHCP_DDNS (location_type l)
- {
- return symbol_type (token::TOKEN_DHCP_DDNS, std::move (l));
- }
-#else
- static
- symbol_type
- make_DHCP_DDNS (const location_type& l)
- {
- return symbol_type (token::TOKEN_DHCP_DDNS, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_ENABLE_UPDATES (location_type l)
- {
- return symbol_type (token::TOKEN_ENABLE_UPDATES, std::move (l));
- }
-#else
- static
- symbol_type
- make_ENABLE_UPDATES (const location_type& l)
- {
- return symbol_type (token::TOKEN_ENABLE_UPDATES, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_QUALIFYING_SUFFIX (location_type l)
- {
- return symbol_type (token::TOKEN_QUALIFYING_SUFFIX, std::move (l));
- }
-#else
- static
- symbol_type
- make_QUALIFYING_SUFFIX (const location_type& l)
- {
- return symbol_type (token::TOKEN_QUALIFYING_SUFFIX, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_SERVER_IP (location_type l)
- {
- return symbol_type (token::TOKEN_SERVER_IP, std::move (l));
- }
-#else
- static
- symbol_type
- make_SERVER_IP (const location_type& l)
- {
- return symbol_type (token::TOKEN_SERVER_IP, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_SERVER_PORT (location_type l)
- {
- return symbol_type (token::TOKEN_SERVER_PORT, std::move (l));
- }
-#else
- static
- symbol_type
- make_SERVER_PORT (const location_type& l)
- {
- return symbol_type (token::TOKEN_SERVER_PORT, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_SENDER_IP (location_type l)
- {
- return symbol_type (token::TOKEN_SENDER_IP, std::move (l));
- }
-#else
- static
- symbol_type
- make_SENDER_IP (const location_type& l)
- {
- return symbol_type (token::TOKEN_SENDER_IP, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_SENDER_PORT (location_type l)
- {
- return symbol_type (token::TOKEN_SENDER_PORT, std::move (l));
- }
-#else
- static
- symbol_type
- make_SENDER_PORT (const location_type& l)
- {
- return symbol_type (token::TOKEN_SENDER_PORT, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_MAX_QUEUE_SIZE (location_type l)
- {
- return symbol_type (token::TOKEN_MAX_QUEUE_SIZE, std::move (l));
- }
-#else
- static
- symbol_type
- make_MAX_QUEUE_SIZE (const location_type& l)
- {
- return symbol_type (token::TOKEN_MAX_QUEUE_SIZE, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_NCR_PROTOCOL (location_type l)
- {
- return symbol_type (token::TOKEN_NCR_PROTOCOL, std::move (l));
- }
-#else
- static
- symbol_type
- make_NCR_PROTOCOL (const location_type& l)
- {
- return symbol_type (token::TOKEN_NCR_PROTOCOL, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_NCR_FORMAT (location_type l)
- {
- return symbol_type (token::TOKEN_NCR_FORMAT, std::move (l));
- }
-#else
- static
- symbol_type
- make_NCR_FORMAT (const location_type& l)
- {
- return symbol_type (token::TOKEN_NCR_FORMAT, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_OVERRIDE_NO_UPDATE (location_type l)
- {
- return symbol_type (token::TOKEN_OVERRIDE_NO_UPDATE, std::move (l));
- }
-#else
- static
- symbol_type
- make_OVERRIDE_NO_UPDATE (const location_type& l)
- {
- return symbol_type (token::TOKEN_OVERRIDE_NO_UPDATE, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_OVERRIDE_CLIENT_UPDATE (location_type l)
- {
- return symbol_type (token::TOKEN_OVERRIDE_CLIENT_UPDATE, std::move (l));
- }
-#else
- static
- symbol_type
- make_OVERRIDE_CLIENT_UPDATE (const location_type& l)
- {
- return symbol_type (token::TOKEN_OVERRIDE_CLIENT_UPDATE, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_REPLACE_CLIENT_NAME (location_type l)
- {
- return symbol_type (token::TOKEN_REPLACE_CLIENT_NAME, std::move (l));
- }
-#else
- static
- symbol_type
- make_REPLACE_CLIENT_NAME (const location_type& l)
- {
- return symbol_type (token::TOKEN_REPLACE_CLIENT_NAME, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_GENERATED_PREFIX (location_type l)
- {
- return symbol_type (token::TOKEN_GENERATED_PREFIX, std::move (l));
- }
-#else
- static
- symbol_type
- make_GENERATED_PREFIX (const location_type& l)
- {
- return symbol_type (token::TOKEN_GENERATED_PREFIX, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_UDP (location_type l)
- {
- return symbol_type (token::TOKEN_UDP, std::move (l));
- }
-#else
- static
- symbol_type
- make_UDP (const location_type& l)
- {
- return symbol_type (token::TOKEN_UDP, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_TCP (location_type l)
- {
- return symbol_type (token::TOKEN_TCP, std::move (l));
- }
-#else
- static
- symbol_type
- make_TCP (const location_type& l)
- {
- return symbol_type (token::TOKEN_TCP, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_JSON (location_type l)
- {
- return symbol_type (token::TOKEN_JSON, std::move (l));
- }
-#else
- static
- symbol_type
- make_JSON (const location_type& l)
- {
- return symbol_type (token::TOKEN_JSON, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_WHEN_PRESENT (location_type l)
- {
- return symbol_type (token::TOKEN_WHEN_PRESENT, std::move (l));
- }
-#else
- static
- symbol_type
- make_WHEN_PRESENT (const location_type& l)
- {
- return symbol_type (token::TOKEN_WHEN_PRESENT, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_NEVER (location_type l)
- {
- return symbol_type (token::TOKEN_NEVER, std::move (l));
- }
-#else
- static
- symbol_type
- make_NEVER (const location_type& l)
- {
- return symbol_type (token::TOKEN_NEVER, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_ALWAYS (location_type l)
- {
- return symbol_type (token::TOKEN_ALWAYS, std::move (l));
- }
-#else
- static
- symbol_type
- make_ALWAYS (const location_type& l)
- {
- return symbol_type (token::TOKEN_ALWAYS, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_WHEN_NOT_PRESENT (location_type l)
- {
- return symbol_type (token::TOKEN_WHEN_NOT_PRESENT, std::move (l));
- }
-#else
- static
- symbol_type
- make_WHEN_NOT_PRESENT (const location_type& l)
- {
- return symbol_type (token::TOKEN_WHEN_NOT_PRESENT, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_HOSTNAME_CHAR_SET (location_type l)
- {
- return symbol_type (token::TOKEN_HOSTNAME_CHAR_SET, std::move (l));
- }
-#else
- static
- symbol_type
- make_HOSTNAME_CHAR_SET (const location_type& l)
- {
- return symbol_type (token::TOKEN_HOSTNAME_CHAR_SET, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_HOSTNAME_CHAR_REPLACEMENT (location_type l)
- {
- return symbol_type (token::TOKEN_HOSTNAME_CHAR_REPLACEMENT, std::move (l));
- }
-#else
- static
- symbol_type
- make_HOSTNAME_CHAR_REPLACEMENT (const location_type& l)
- {
- return symbol_type (token::TOKEN_HOSTNAME_CHAR_REPLACEMENT, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_LOGGING (location_type l)
- {
- return symbol_type (token::TOKEN_LOGGING, std::move (l));
- }
-#else
- static
- symbol_type
- make_LOGGING (const location_type& l)
- {
- return symbol_type (token::TOKEN_LOGGING, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_LOGGERS (location_type l)
- {
- return symbol_type (token::TOKEN_LOGGERS, std::move (l));
- }
-#else
- static
- symbol_type
- make_LOGGERS (const location_type& l)
- {
- return symbol_type (token::TOKEN_LOGGERS, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_OUTPUT_OPTIONS (location_type l)
- {
- return symbol_type (token::TOKEN_OUTPUT_OPTIONS, std::move (l));
- }
-#else
- static
- symbol_type
- make_OUTPUT_OPTIONS (const location_type& l)
- {
- return symbol_type (token::TOKEN_OUTPUT_OPTIONS, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_OUTPUT (location_type l)
- {
- return symbol_type (token::TOKEN_OUTPUT, std::move (l));
- }
-#else
- static
- symbol_type
- make_OUTPUT (const location_type& l)
- {
- return symbol_type (token::TOKEN_OUTPUT, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_DEBUGLEVEL (location_type l)
- {
- return symbol_type (token::TOKEN_DEBUGLEVEL, std::move (l));
- }
-#else
- static
- symbol_type
- make_DEBUGLEVEL (const location_type& l)
- {
- return symbol_type (token::TOKEN_DEBUGLEVEL, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_SEVERITY (location_type l)
- {
- return symbol_type (token::TOKEN_SEVERITY, std::move (l));
- }
-#else
- static
- symbol_type
- make_SEVERITY (const location_type& l)
- {
- return symbol_type (token::TOKEN_SEVERITY, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_FLUSH (location_type l)
- {
- return symbol_type (token::TOKEN_FLUSH, std::move (l));
- }
-#else
- static
- symbol_type
- make_FLUSH (const location_type& l)
- {
- return symbol_type (token::TOKEN_FLUSH, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_MAXSIZE (location_type l)
- {
- return symbol_type (token::TOKEN_MAXSIZE, std::move (l));
- }
-#else
- static
- symbol_type
- make_MAXSIZE (const location_type& l)
- {
- return symbol_type (token::TOKEN_MAXSIZE, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_MAXVER (location_type l)
- {
- return symbol_type (token::TOKEN_MAXVER, std::move (l));
- }
-#else
- static
- symbol_type
- make_MAXVER (const location_type& l)
- {
- return symbol_type (token::TOKEN_MAXVER, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_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_ = 1035, ///< Last index in yytable_.
+ yynnts_ = 395, ///< Number of nonterminal symbols.
+ yyfinal_ = 32, ///< Termination state number.
+ yyterror_ = 1,
+ yyerrcode_ = 256,
+ yyntokens_ = 177 ///< 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
+ };
+ const unsigned int user_token_number_max_ = 431;
+ 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 194: // value
+ case 198: // map_value
+ case 252: // db_type
+ case 345: // hr_mode
+ case 481: // duid_type
+ case 516: // ncr_protocol_value
+ case 523: // replace_client_name_value
+ value.copy< ElementPtr > (other.value);
+ break;
+
+ case 176: // "boolean"
+ value.copy< bool > (other.value);
+ break;
+
+ case 175: // "floating point"
+ value.copy< double > (other.value);
+ break;
+
+ case 174: // "integer"
+ value.copy< int64_t > (other.value);
+ break;
+
+ case 173: // "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 194: // value
+ case 198: // map_value
+ case 252: // db_type
+ case 345: // hr_mode
+ case 481: // duid_type
+ case 516: // ncr_protocol_value
+ case 523: // replace_client_name_value
+ value.copy< ElementPtr > (v);
+ break;
+
+ case 176: // "boolean"
+ value.copy< bool > (v);
+ break;
+
+ case 175: // "floating point"
+ value.copy< double > (v);
+ break;
+
+ case 174: // "integer"
+ value.copy< int64_t > (v);
+ break;
+
+ case 173: // "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 194: // value
+ case 198: // map_value
+ case 252: // db_type
+ case 345: // hr_mode
+ case 481: // duid_type
+ case 516: // ncr_protocol_value
+ case 523: // replace_client_name_value
+ value.template destroy< ElementPtr > ();
+ break;
+
+ case 176: // "boolean"
+ value.template destroy< bool > ();
+ break;
+
+ case 175: // "floating point"
+ value.template destroy< double > ();
+ break;
+
+ case 174: // "integer"
+ value.template destroy< int64_t > ();
+ break;
+
+ case 173: // "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 194: // value
+ case 198: // map_value
+ case 252: // db_type
+ case 345: // hr_mode
+ case 481: // duid_type
+ case 516: // ncr_protocol_value
+ case 523: // replace_client_name_value
+ value.move< ElementPtr > (s.value);
+ break;
+
+ case 176: // "boolean"
+ value.move< bool > (s.value);
+ break;
+
+ case 175: // "floating point"
+ value.move< double > (s.value);
+ break;
+
+ case 174: // "integer"
+ value.move< int64_t > (s.value);
+ break;
+
+ case 173: // "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
+ };
+ 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_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_PREFERRED_LIFETIME (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_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_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_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_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);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_ENCAPSULATE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_ENCAPSULATE, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_ARRAY (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_ARRAY, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_POOLS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_POOLS, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_POOL (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_POOL, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_PD_POOLS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_PD_POOLS, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_PREFIX (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_PREFIX, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_PREFIX_LEN (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_PREFIX_LEN, l);
+ }
- private:
- /// This class is not copyable.
- Dhcp6Parser (const Dhcp6Parser&);
- Dhcp6Parser& operator= (const Dhcp6Parser&);
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_EXCLUDED_PREFIX (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_EXCLUDED_PREFIX, l);
+ }
- /// State numbers.
- typedef int state_type;
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_EXCLUDED_PREFIX_LEN (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_EXCLUDED_PREFIX_LEN, 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_DELEGATED_LEN (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_DELEGATED_LEN, l);
+ }
- /// Compute post-reduction state.
- /// \param yystate the current state
- /// \param yysym the nonterminal to push on the stack
- state_type yy_lr_goto_state_ (state_type yystate, int yysym);
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_USER_CONTEXT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_USER_CONTEXT, 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_COMMENT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_COMMENT, 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_SUBNET (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SUBNET, l);
+ }
- static const short yypact_ninf_;
- static const signed char yytable_ninf_;
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_INTERFACE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_INTERFACE, l);
+ }
- /// Convert a scanner token number \a t to a symbol number.
- static token_number_type yytranslate_ (token_type t);
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_INTERFACE_ID (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_INTERFACE_ID, l);
+ }
- // Tables.
- // YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
- // STATE-NUM.
- static const short yypact_[];
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_ID (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_ID, l);
+ }
- // YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
- // Performed when YYTABLE does not specify something else to do. Zero
- // means the default is an error.
- static const unsigned short yydefact_[];
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_RAPID_COMMIT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_RAPID_COMMIT, l);
+ }
- // YYPGOTO[NTERM-NUM].
- static const short yypgoto_[];
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_RESERVATION_MODE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_RESERVATION_MODE, l);
+ }
- // YYDEFGOTO[NTERM-NUM].
- static const short yydefgoto_[];
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_DISABLED (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_DISABLED, l);
+ }
- // YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
- // positive, shift that token. If negative, reduce the rule whose
- // number is the opposite. If YYTABLE_NINF, syntax error.
- static const unsigned short yytable_[];
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_OUT_OF_POOL (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_OUT_OF_POOL, l);
+ }
- static const short yycheck_[];
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_GLOBAL (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_GLOBAL, l);
+ }
- // YYSTOS[STATE-NUM] -- The (internal number of the) accessing
- // symbol of state STATE-NUM.
- static const unsigned short yystos_[];
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_ALL (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_ALL, l);
+ }
- // YYR1[YYN] -- Symbol number of symbol that rule YYN derives.
- static const unsigned short yyr1_[];
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SHARED_NETWORKS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SHARED_NETWORKS, l);
+ }
- // YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.
- static const unsigned char yyr2_[];
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_MAC_SOURCES (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_MAC_SOURCES, l);
+ }
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_RELAY_SUPPLIED_OPTIONS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_RELAY_SUPPLIED_OPTIONS, l);
+ }
- /// 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_HOST_RESERVATION_IDENTIFIERS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_HOST_RESERVATION_IDENTIFIERS, l);
+ }
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SANITY_CHECKS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SANITY_CHECKS, l);
+ }
- /// For a symbol, its name in clear.
- static const char* const yytname_[];
-#if PARSER6_DEBUG
- // YYRLINE[YYN] -- Source line where rule number YYN was defined.
- static const unsigned short yyrline_[];
- /// Report on the debug stream that the rule \a r is going to be reduced.
- virtual void yy_reduce_print_ (int r);
- /// Print the state stack on the debug stream.
- virtual void yystack_print_ ();
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_LEASE_CHECKS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_LEASE_CHECKS, l);
+ }
- /// Debugging level.
- int yydebug_;
- /// Debug stream.
- std::ostream* yycdebug_;
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_CLIENT_CLASSES (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_CLIENT_CLASSES, 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_REQUIRE_CLIENT_CLASSES (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_REQUIRE_CLIENT_CLASSES, 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_TEST (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_TEST, l);
+ }
- private:
- /// Type access provider for state based symbols.
- struct by_state
- {
- /// Default constructor.
- by_state () YY_NOEXCEPT;
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_ONLY_IF_REQUIRED (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_ONLY_IF_REQUIRED, l);
+ }
- /// The symbol type as needed by the constructor.
- typedef state_type kind_type;
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_CLIENT_CLASS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_CLIENT_CLASS, l);
+ }
- /// Constructor.
- by_state (kind_type s) YY_NOEXCEPT;
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_RESERVATIONS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_RESERVATIONS, l);
+ }
- /// Copy constructor.
- by_state (const by_state& that) YY_NOEXCEPT;
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_IP_ADDRESSES (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_IP_ADDRESSES, l);
+ }
- /// Record that this symbol is empty.
- void clear () YY_NOEXCEPT;
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_PREFIXES (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_PREFIXES, l);
+ }
- /// Steal the symbol type from \a that.
- void move (by_state& that);
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_DUID (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_DUID, 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_HW_ADDRESS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_HW_ADDRESS, l);
+ }
- /// The state number used to denote an empty symbol.
- enum { empty_state = -1 };
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_HOSTNAME (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_HOSTNAME, l);
+ }
- /// The state.
- /// \a empty when empty.
- state_type state;
- };
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_FLEX_ID (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_FLEX_ID, l);
+ }
- /// "Internal" symbol: element of the stack.
- struct stack_symbol_type : basic_symbol<by_state>
- {
- /// Superclass.
- typedef basic_symbol<by_state> super_type;
- /// Construct an empty symbol.
- stack_symbol_type ();
- /// Move or copy construction.
- stack_symbol_type (YY_RVREF (stack_symbol_type) that);
- /// Steal the contents from \a sym to build this.
- stack_symbol_type (state_type s, YY_MOVE_REF (symbol_type) sym);
-#if YY_CPLUSPLUS < 201103L
- /// Assignment, needed by push_back by some old implementations.
- /// Moves the contents of that.
- stack_symbol_type& operator= (stack_symbol_type& that);
-#endif
- };
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_RELAY (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_RELAY, l);
+ }
- /// A stack with random access from its top.
- template <typename T, typename S = std::vector<T> >
- class stack
- {
- public:
- // Hide our reversed order.
- typedef typename S::reverse_iterator iterator;
- typedef typename S::const_reverse_iterator const_iterator;
- typedef typename S::size_type size_type;
-
- stack (size_type n = 200)
- : seq_ (n)
- {}
-
- /// Random access.
- ///
- /// Index 0 returns the topmost element.
- T&
- operator[] (size_type i)
- {
- return seq_[size () - 1 - i];
- }
-
- /// Random access.
- ///
- /// Index 0 returns the topmost element.
- T&
- operator[] (int i)
- {
- return operator[] (size_type (i));
- }
-
- /// Random access.
- ///
- /// Index 0 returns the topmost element.
- const T&
- operator[] (size_type i) const
- {
- return seq_[size () - 1 - i];
- }
-
- /// Random access.
- ///
- /// Index 0 returns the topmost element.
- const T&
- operator[] (int i) const
- {
- return operator[] (size_type (i));
- }
-
- /// Steal the contents of \a t.
- ///
- /// Close to move-semantics.
- void
- push (YY_MOVE_REF (T) t)
- {
- seq_.push_back (T ());
- operator[] (0).move (t);
- }
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_IP_ADDRESS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_IP_ADDRESS, l);
+ }
- /// Pop elements from the stack.
- void
- pop (int n = 1) YY_NOEXCEPT
- {
- for (; 0 < n; --n)
- seq_.pop_back ();
- }
+ 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_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_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);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_QUALIFYING_SUFFIX (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_QUALIFYING_SUFFIX, l);
+ }
+
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SERVER_IP (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SERVER_IP, l);
+ }
+
+ 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.
- size_type
- size () const YY_NOEXCEPT
- {
- return seq_.size ();
- }
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SENDER_PORT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SENDER_PORT, l);
+ }
- /// Iterator on top of the stack (going downwards).
- const_iterator
- begin () const YY_NOEXCEPT
- {
- return seq_.rbegin ();
- }
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_MAX_QUEUE_SIZE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_MAX_QUEUE_SIZE, l);
+ }
- /// Bottom of the stack.
- const_iterator
- end () const YY_NOEXCEPT
- {
- return seq_.rend ();
- }
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_NCR_PROTOCOL (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_NCR_PROTOCOL, l);
+ }
- /// Present a slice of the top of a stack.
- class slice
- {
- public:
- slice (const stack& stack, int range)
- : stack_ (stack)
- , range_ (range)
- {}
-
- const T&
- operator[] (int i) const
- {
- return stack_[range_ - i];
- }
-
- private:
- const stack& stack_;
- int range_;
- };
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_NCR_FORMAT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_NCR_FORMAT, l);
+ }
- private:
- stack (const stack&);
- stack& operator= (const stack&);
- /// The wrapped container.
- S seq_;
- };
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_OVERRIDE_NO_UPDATE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_OVERRIDE_NO_UPDATE, l);
+ }
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_OVERRIDE_CLIENT_UPDATE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_OVERRIDE_CLIENT_UPDATE, l);
+ }
- /// Stack type.
- typedef stack<stack_symbol_type> stack_type;
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_REPLACE_CLIENT_NAME (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_REPLACE_CLIENT_NAME, l);
+ }
- /// The stack.
- stack_type yystack_;
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_GENERATED_PREFIX (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_GENERATED_PREFIX, l);
+ }
- /// Push a new state on the stack.
- /// \param m a debug message to display
- /// if null, no trace is output.
- /// \param sym the symbol
- /// \warning the contents of \a s.value is stolen.
- void yypush_ (const char* m, YY_MOVE_REF (stack_symbol_type) sym);
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_UDP (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_UDP, l);
+ }
- /// Push a new look ahead token on the state on the stack.
- /// \param m a debug message to display
- /// if null, no trace is output.
- /// \param s the state
- /// \param sym the symbol (for its value and location).
- /// \warning the contents of \a sym.value is stolen.
- void yypush_ (const char* m, state_type s, YY_MOVE_REF (symbol_type) sym);
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_TCP (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_TCP, l);
+ }
- /// Pop \a n symbols from the stack.
- void yypop_ (int n = 1);
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_JSON (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_JSON, l);
+ }
- /// Constants.
- enum
- {
- yyeof_ = 0,
- yylast_ = 1025, ///< Last index in yytable_.
- yynnts_ = 391, ///< Number of nonterminal symbols.
- yyfinal_ = 32, ///< Termination state number.
- yyterror_ = 1,
- yyerrcode_ = 256,
- yyntokens_ = 175 ///< Number of tokens.
- };
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_WHEN_PRESENT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_WHEN_PRESENT, l);
+ }
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_NEVER (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_NEVER, l);
+ }
- // User arguments.
- isc::dhcp::Parser6Context& ctx;
- };
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_ALWAYS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_ALWAYS, l);
+ }
- inline
- Dhcp6Parser::token_number_type
- Dhcp6Parser::yytranslate_ (token_type t)
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_WHEN_NOT_PRESENT (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
- };
- const unsigned user_token_number_max_ = 429;
- const token_number_type undef_token_ = 2;
+ return symbol_type (token::TOKEN_WHEN_NOT_PRESENT, l);
+ }
- if (static_cast<int> (t) <= yyeof_)
- return yyeof_;
- else if (static_cast<unsigned> (t) <= user_token_number_max_)
- return translate_table[t];
- else
- return undef_token_;
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_HOSTNAME_CHAR_SET (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_HOSTNAME_CHAR_SET, 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_HOSTNAME_CHAR_REPLACEMENT (const location_type& l)
{
- switch (this->type_get ())
- {
- case 192: // value
- case 196: // map_value
- case 250: // db_type
- case 339: // hr_mode
- case 475: // duid_type
- case 510: // ncr_protocol_value
- case 517: // replace_client_name_value
- value.move< ElementPtr > (std::move (that.value));
- break;
+ return symbol_type (token::TOKEN_HOSTNAME_CHAR_REPLACEMENT, l);
+ }
- case 174: // "boolean"
- value.move< bool > (std::move (that.value));
- break;
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_LOGGING (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_LOGGING, l);
+ }
- case 173: // "floating point"
- value.move< double > (std::move (that.value));
- break;
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_LOGGERS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_LOGGERS, l);
+ }
- case 172: // "integer"
- value.move< int64_t > (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 171: // "constant string"
- value.move< std::string > (std::move (that.value));
- break;
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_OUTPUT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_OUTPUT, l);
+ }
- default:
- break;
- }
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_DEBUGLEVEL (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_DEBUGLEVEL, l);
+ }
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SEVERITY (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SEVERITY, 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_FLUSH (const location_type& l)
{
- switch (this->type_get ())
- {
- case 192: // value
- case 196: // map_value
- case 250: // db_type
- case 339: // hr_mode
- case 475: // duid_type
- case 510: // ncr_protocol_value
- case 517: // replace_client_name_value
- value.copy< ElementPtr > (YY_MOVE (that.value));
- break;
+ return symbol_type (token::TOKEN_FLUSH, l);
+ }
- case 174: // "boolean"
- value.copy< bool > (YY_MOVE (that.value));
- break;
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_MAXSIZE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_MAXSIZE, l);
+ }
- case 173: // "floating point"
- value.copy< double > (YY_MOVE (that.value));
- break;
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_MAXVER (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_MAXVER, l);
+ }
- case 172: // "integer"
- value.copy< int64_t > (YY_MOVE (that.value));
- break;
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_DHCP4 (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_DHCP4, l);
+ }
- case 171: // "constant string"
- value.copy< std::string > (YY_MOVE (that.value));
- break;
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_DHCPDDNS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_DHCPDDNS, l);
+ }
- default:
- break;
- }
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_CONTROL_AGENT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_CONTROL_AGENT, l);
+ }
+ 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);
+ }
- template <typename Base>
- bool
- Dhcp6Parser::basic_symbol<Base>::empty () const YY_NOEXCEPT
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SUB_INTERFACES6 (const location_type& l)
{
- return Base::type_get () == empty_symbol;
+ return symbol_type (token::TOKEN_SUB_INTERFACES6, l);
}
- template <typename Base>
- void
- Dhcp6Parser::basic_symbol<Base>::move (basic_symbol& s)
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SUB_SUBNET6 (const location_type& l)
{
- super_type::move (s);
- switch (this->type_get ())
- {
- case 192: // value
- case 196: // map_value
- case 250: // db_type
- case 339: // hr_mode
- case 475: // duid_type
- case 510: // ncr_protocol_value
- case 517: // replace_client_name_value
- value.move< ElementPtr > (YY_MOVE (s.value));
- break;
+ return symbol_type (token::TOKEN_SUB_SUBNET6, l);
+ }
- case 174: // "boolean"
- value.move< bool > (YY_MOVE (s.value));
- break;
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SUB_POOL6 (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SUB_POOL6, l);
+ }
- case 173: // "floating point"
- value.move< double > (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 172: // "integer"
- value.move< int64_t > (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 171: // "constant string"
- value.move< std::string > (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);
+ }
- default:
- break;
- }
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SUB_OPTION_DEF (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SUB_OPTION_DEF, l);
+ }
- location = YY_MOVE (s.location);
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SUB_OPTION_DATA (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SUB_OPTION_DATA, l);
}
- // by_type.
- inline
- Dhcp6Parser::by_type::by_type ()
- : type (empty_symbol)
- {}
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SUB_HOOKS_LIBRARY (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SUB_HOOKS_LIBRARY, l);
+ }
-#if 201103L <= YY_CPLUSPLUS
- inline
- Dhcp6Parser::by_type::by_type (by_type&& that)
- : type (that.type)
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SUB_DHCP_DDNS (const location_type& l)
{
- that.clear ();
+ return symbol_type (token::TOKEN_SUB_DHCP_DDNS, l);
}
-#endif
- inline
- Dhcp6Parser::by_type::by_type (const by_type& that)
- : type (that.type)
- {}
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SUB_LOGGING (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SUB_LOGGING, l);
+ }
- inline
- Dhcp6Parser::by_type::by_type (token_type t)
- : type (yytranslate_ (t))
- {}
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_SUB_CONFIG_CONTROL (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SUB_CONFIG_CONTROL, l);
+ }
- inline
- void
- Dhcp6Parser::by_type::clear ()
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_STRING (const std::string& v, const location_type& l)
{
- type = empty_symbol;
+ return symbol_type (token::TOKEN_STRING, v, l);
}
- inline
- void
- Dhcp6Parser::by_type::move (by_type& that)
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_INTEGER (const int64_t& v, const location_type& l)
{
- type = that.type;
- that.clear ();
+ return symbol_type (token::TOKEN_INTEGER, v, l);
}
- inline
- int
- Dhcp6Parser::by_type::type_get () const YY_NOEXCEPT
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_FLOAT (const double& v, const location_type& l)
{
- return type;
+ return symbol_type (token::TOKEN_FLOAT, v, l);
}
- inline
- Dhcp6Parser::token_type
- Dhcp6Parser::by_type::token () const YY_NOEXCEPT
+ Dhcp6Parser::symbol_type
+ Dhcp6Parser::make_BOOLEAN (const bool& v, const location_type& l)
{
- // YYTOKNUM[NUM] -- (External) token number corresponding to the
- // (internal) symbol number NUM (which must be that of a token). */
- static
- const unsigned short
- yytoken_number_[] =
- {
- 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
- 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
- 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
- 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
- 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
- 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
- 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
- 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
- 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
- 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
- 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
- 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
- 375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
- 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
- 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
- 405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
- 415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
- 425, 426, 427, 428, 429
- };
- return token_type (yytoken_number_[type]);
+ return symbol_type (token::TOKEN_BOOLEAN, v, l);
}
-#line 14 "dhcp6_parser.yy" // lalr1.cc:401
+
+#line 14 "dhcp6_parser.yy" // lalr1.cc:377
} } // isc::dhcp
-#line 4163 "dhcp6_parser.h" // lalr1.cc:401
+#line 2994 "dhcp6_parser.h" // lalr1.cc:377
-// Generated 201903152328
-// A Bison parser, made by GNU Bison 3.3.2.
+// A Bison parser, made by GNU Bison 3.0.4.
// Locations for Bison parsers in C++
-// Copyright (C) 2002-2015, 2018-2019 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 <algorithm> // std::max
-# 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" // location.cc:339
+#line 14 "dhcp6_parser.yy" // location.cc:296
namespace isc { namespace dhcp {
-#line 60 "location.hh" // location.cc:339
- /// A point in a source file.
- class position
- {
- public:
- /// Construct a position.
- explicit position (std::string* f = YY_NULLPTR,
- unsigned l = 1u,
- unsigned c = 1u)
- : filename (f)
- , line (l)
- , column (c)
- {}
-
-
- /// Initialization.
- void initialize (std::string* fn = YY_NULLPTR,
- unsigned l = 1u,
- unsigned 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 line;
- /// Current column number.
- unsigned column;
-
- private:
- /// Compute max (min, lhs+rhs).
- static unsigned add_ (unsigned lhs, int rhs, int min)
- {
- return static_cast<unsigned> (std::max (min,
- static_cast<int> (lhs) + rhs));
- }
- };
-
- /// 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>
- 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:
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,
- unsigned l = 1u,
- unsigned c = 1u)
+ unsigned int l = 1u,
+ unsigned int c = 1u)
: begin (f, l, c)
, end (f, l, c)
- {}
+ {
+ }
/// Initialization.
void initialize (std::string* f = YY_NULLPTR,
- unsigned l = 1u,
- unsigned c = 1u)
+ unsigned int l = 1u,
+ unsigned int c = 1u)
{
begin.initialize (f, l, c);
end = begin;
** Avoid duplicate information.
*/
template <typename YYChar>
- std::basic_ostream<YYChar>&
+ inline std::basic_ostream<YYChar>&
operator<< (std::basic_ostream<YYChar>& ostr, const location& loc)
{
- unsigned 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" // location.cc:339
+#line 14 "dhcp6_parser.yy" // location.cc:296
} } // isc::dhcp
-#line 322 "location.hh" // location.cc:339
+#line 192 "location.hh" // location.cc:296
#endif // !YY_PARSER6_LOCATION_HH_INCLUDED
-// Generated 201903152328
-// A Bison parser, made by GNU Bison 3.3.2.
-
-// Starting with Bison 3.2, this file is useless: the structure it
-// used to define is now defined in "location.hh".
-//
-// To get rid of this file:
-// 1. add 'require "3.2"' (or newer) to your grammar file
-// 2. remove references to this file from your build system
-// 3. if you used to include it, include "location.hh" instead.
-
-#include "location.hh"
+// A Bison parser, made by GNU Bison 3.0.4.
+
+// Positions for Bison parsers in C++
+
+// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+// As a special exception, you may create a larger work that contains
+// part or all of the Bison parser skeleton and distribute that work
+// under terms of your choice, so long as that work isn't itself a
+// parser generator using the skeleton or a modified version thereof
+// as a parser skeleton. Alternatively, if you modify or redistribute
+// the parser skeleton itself, you may (at your option) remove this
+// special exception, which will cause the skeleton and the resulting
+// Bison output files to be licensed under the GNU General Public
+// License without this special exception.
+
+// This special exception was added by the Free Software Foundation in
+// version 2.2 of Bison.
+
+/**
+ ** \file position.hh
+ ** Define the isc::dhcp::position class.
+ */
+
+#ifndef YY_PARSER6_POSITION_HH_INCLUDED
+# define YY_PARSER6_POSITION_HH_INCLUDED
+
+# include <algorithm> // std::max
+# include <iostream>
+# include <string>
+
+# ifndef YY_NULLPTR
+# if defined __cplusplus && 201103L <= __cplusplus
+# define YY_NULLPTR nullptr
+# else
+# define YY_NULLPTR 0
+# endif
+# endif
+
+#line 14 "dhcp6_parser.yy" // location.cc:296
+namespace isc { namespace dhcp {
+#line 56 "position.hh" // location.cc:296
+ /// Abstract a position.
+ class position
+ {
+ public:
+ /// Construct a position.
+ explicit position (std::string* f = YY_NULLPTR,
+ unsigned int l = 1u,
+ unsigned int c = 1u)
+ : filename (f)
+ , line (l)
+ , column (c)
+ {
+ }
+
+
+ /// Initialization.
+ void initialize (std::string* fn = YY_NULLPTR,
+ unsigned int l = 1u,
+ unsigned int c = 1u)
+ {
+ filename = fn;
+ line = l;
+ column = c;
+ }
+
+ /** \name Line and Column related manipulators
+ ** \{ */
+ /// (line related) Advance to the COUNT next lines.
+ void lines (int count = 1)
+ {
+ if (count)
+ {
+ column = 1u;
+ line = add_ (line, count, 1);
+ }
+ }
+
+ /// (column related) Advance to the COUNT next columns.
+ void columns (int count = 1)
+ {
+ column = add_ (column, count, 1);
+ }
+ /** \} */
+
+ /// File name to which this position refers.
+ std::string* filename;
+ /// Current line number.
+ unsigned int line;
+ /// Current column number.
+ unsigned int column;
+
+ private:
+ /// Compute max(min, lhs+rhs) (provided min <= lhs).
+ static unsigned int add_ (unsigned int lhs, int rhs, unsigned int min)
+ {
+ return (0 < rhs || -static_cast<unsigned int>(rhs) < lhs
+ ? rhs + lhs
+ : min);
+ }
+ };
+
+ /// Add \a width columns, in place.
+ inline position&
+ operator+= (position& res, int width)
+ {
+ res.columns (width);
+ return res;
+ }
+
+ /// Add \a width columns.
+ inline position
+ operator+ (position res, int width)
+ {
+ return res += width;
+ }
+
+ /// Subtract \a width columns, in place.
+ inline position&
+ operator-= (position& res, int width)
+ {
+ return res += -width;
+ }
+
+ /// Subtract \a width columns.
+ inline position
+ operator- (position res, int width)
+ {
+ return res -= width;
+ }
+
+ /// Compare two position objects.
+ inline bool
+ operator== (const position& pos1, const position& pos2)
+ {
+ return (pos1.line == pos2.line
+ && pos1.column == pos2.column
+ && (pos1.filename == pos2.filename
+ || (pos1.filename && pos2.filename
+ && *pos1.filename == *pos2.filename)));
+ }
+
+ /// Compare two position objects.
+ inline bool
+ operator!= (const position& pos1, const position& pos2)
+ {
+ return !(pos1 == pos2);
+ }
+
+ /** \brief Intercept output stream redirection.
+ ** \param ostr the destination output stream
+ ** \param pos a reference to the position to redirect
+ */
+ template <typename YYChar>
+ inline std::basic_ostream<YYChar>&
+ operator<< (std::basic_ostream<YYChar>& ostr, const position& pos)
+ {
+ if (pos.filename)
+ ostr << *pos.filename << ':';
+ return ostr << pos.line << '.' << pos.column;
+ }
+
+#line 14 "dhcp6_parser.yy" // location.cc:296
+} } // isc::dhcp
+#line 180 "position.hh" // location.cc:296
+#endif // !YY_PARSER6_POSITION_HH_INCLUDED
-// Generated 201903152328
-// A Bison parser, made by GNU Bison 3.3.2.
-
-// Starting with Bison 3.2, this file is useless: the structure it
-// used to define is now defined with the parser itself.
-//
-// To get rid of this file:
-// 1. add 'require "3.2"' (or newer) to your grammar file
-// 2. remove references to this file from your build system.
+// A Bison parser, made by GNU Bison 3.0.4.
+
+// Stack handling for Bison parsers in C++
+
+// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+// As a special exception, you may create a larger work that contains
+// part or all of the Bison parser skeleton and distribute that work
+// under terms of your choice, so long as that work isn't itself a
+// parser generator using the skeleton or a modified version thereof
+// as a parser skeleton. Alternatively, if you modify or redistribute
+// the parser skeleton itself, you may (at your option) remove this
+// special exception, which will cause the skeleton and the resulting
+// Bison output files to be licensed under the GNU General Public
+// License without this special exception.
+
+// This special exception was added by the Free Software Foundation in
+// version 2.2 of Bison.
+
+/**
+ ** \file stack.hh
+ ** Define the isc::dhcp::stack class.
+ */
+
+#ifndef YY_PARSER6_STACK_HH_INCLUDED
+# define YY_PARSER6_STACK_HH_INCLUDED
+
+# include <vector>
+
+#line 14 "dhcp6_parser.yy" // stack.hh:132
+namespace isc { namespace dhcp {
+#line 46 "stack.hh" // stack.hh:132
+ template <class T, class S = std::vector<T> >
+ class stack
+ {
+ public:
+ // Hide our reversed order.
+ typedef typename S::reverse_iterator iterator;
+ typedef typename S::const_reverse_iterator const_iterator;
+
+ stack ()
+ : seq_ ()
+ {
+ seq_.reserve (200);
+ }
+
+ stack (unsigned int n)
+ : seq_ (n)
+ {}
+
+ inline
+ T&
+ operator[] (unsigned int i)
+ {
+ return seq_[seq_.size () - 1 - i];
+ }
+
+ inline
+ const T&
+ operator[] (unsigned int i) const
+ {
+ return seq_[seq_.size () - 1 - i];
+ }
+
+ /// Steal the contents of \a t.
+ ///
+ /// Close to move-semantics.
+ inline
+ void
+ push (T& t)
+ {
+ seq_.push_back (T());
+ operator[](0).move (t);
+ }
+
+ inline
+ void
+ pop (unsigned int n = 1)
+ {
+ for (; n; --n)
+ seq_.pop_back ();
+ }
+
+ void
+ clear ()
+ {
+ seq_.clear ();
+ }
+
+ inline
+ typename S::size_type
+ size () const
+ {
+ return seq_.size ();
+ }
+
+ inline
+ const_iterator
+ begin () const
+ {
+ return seq_.rbegin ();
+ }
+
+ inline
+ const_iterator
+ end () const
+ {
+ return seq_.rend ();
+ }
+
+ private:
+ stack (const stack&);
+ stack& operator= (const stack&);
+ /// The wrapped container.
+ S seq_;
+ };
+
+ /// Present a slice of the top of a stack.
+ template <class T, class S = stack<T> >
+ class slice
+ {
+ public:
+ slice (const S& stack, unsigned int range)
+ : stack_ (stack)
+ , range_ (range)
+ {}
+
+ inline
+ const T&
+ operator [] (unsigned int i) const
+ {
+ return stack_[range_ - i];
+ }
+
+ private:
+ const S& stack_;
+ unsigned int range_;
+ };
+
+#line 14 "dhcp6_parser.yy" // stack.hh:132
+} } // isc::dhcp
+#line 156 "stack.hh" // stack.hh:132
+
+#endif // !YY_PARSER6_STACK_HH_INCLUDED