/* %% [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 183
-#define YY_END_OF_BUFFER 184
+#define YY_NUM_RULES 184
+#define YY_END_OF_BUFFER 185
/* 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[1581] =
+static const flex_int16_t yy_accept[1587] =
{ 0,
- 176, 176, 0, 0, 0, 0, 0, 0, 0, 0,
- 184, 182, 10, 11, 182, 1, 176, 173, 176, 176,
- 182, 175, 174, 182, 182, 182, 182, 182, 169, 170,
- 182, 182, 182, 171, 172, 5, 5, 5, 182, 182,
- 182, 10, 11, 0, 0, 165, 0, 0, 0, 0,
+ 177, 177, 0, 0, 0, 0, 0, 0, 0, 0,
+ 185, 183, 10, 11, 183, 1, 177, 174, 177, 177,
+ 183, 176, 175, 183, 183, 183, 183, 183, 170, 171,
+ 183, 183, 183, 172, 173, 5, 5, 5, 183, 183,
+ 183, 10, 11, 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, 0, 0, 1,
- 176, 176, 0, 175, 176, 3, 2, 6, 0, 176,
+ 177, 177, 0, 176, 177, 3, 2, 6, 0, 177,
0, 0, 0, 0, 0, 0, 4, 0, 0, 9,
- 0, 166, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 168, 0, 0, 0,
+ 0, 167, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 169, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 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, 167, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 168, 0, 0, 0, 0,
0, 0, 0, 0, 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, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 181, 179, 0, 178, 177,
+ 0, 0, 0, 0, 0, 0, 182, 180, 0, 179,
+ 178, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 146, 0, 145, 0, 0, 78, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 145, 0, 144, 0, 0, 78, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 35,
+ 35, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 75, 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, 0, 0, 0, 0, 0, 0, 0,
- 17, 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, 180, 177, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 146, 0, 0, 148, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 79, 0, 0, 0,
- 0, 0, 0, 0, 64, 0, 0, 0, 0, 0,
- 99, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 38, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 18, 0,
+ 0, 0, 0, 181, 178, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 147, 0, 0, 149, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 79, 0,
+ 0, 0, 0, 0, 0, 0, 64, 0, 0, 0,
+ 0, 0, 100, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 38, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 63, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 67, 0, 39, 0, 0,
+ 0, 0, 0, 0, 63, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 67, 0,
+ 39, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 97,
+ 31, 0, 0, 36, 0, 0, 0, 0, 0, 0,
+ 0, 0, 12, 154, 0, 151, 0, 150, 0, 0,
+ 0, 110, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 96, 31, 0, 0,
- 36, 0, 0, 0, 0, 0, 0, 0, 0, 12,
- 153, 0, 150, 0, 149, 0, 0, 0, 109, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 89, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 33, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 66, 0, 0, 0, 0, 0, 0, 0, 0,
- 110, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 105, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 7, 0, 0, 151, 0, 0,
+ 0, 33, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 111, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 106, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 7, 0,
+ 0, 152, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 77, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 77, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 91, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 87, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 91, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 87, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 70, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 84, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 69, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 70, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 84, 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, 104, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 103, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 115, 85, 0, 0,
- 0, 0, 0, 90, 32, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 40, 0, 0,
+ 0, 116, 85, 0, 0, 0, 0, 0, 90, 32,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 92, 40, 0, 0, 0, 0, 0, 0,
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, 0, 154, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 59, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 155, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 74, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 104, 0, 0, 0, 0, 0, 43, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 74, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 105, 0, 0, 0,
+ 0, 0, 43, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 37, 0, 0,
- 0, 30, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 37, 0, 0, 0, 30, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 92, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 93, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 101, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 128, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 102,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 71, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 129, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 71, 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, 133, 0,
- 0, 0, 131, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 158, 0, 0,
- 0, 0, 0, 0, 0, 102, 0, 0, 0, 0,
- 0, 0, 0, 0, 106, 88, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 100, 22, 0, 111, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 137, 0, 0, 0, 0,
-
- 61, 0, 0, 0, 0, 0, 114, 34, 0, 0,
+ 0, 0, 23, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 134, 0, 0, 0, 132, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 58, 0, 0, 0, 82, 83,
+ 0, 0, 0, 159, 0, 0, 0, 0, 0, 0,
+ 0, 103, 0, 0, 0, 0, 0, 0, 0, 0,
+ 107, 88, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 101, 22, 0,
+ 112, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+
+ 0, 138, 0, 0, 0, 0, 61, 0, 0, 0,
+ 0, 0, 115, 34, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 65, 0, 0, 0, 0, 0, 0, 0, 0, 44,
- 0, 0, 0, 0, 0, 0, 0, 0, 108, 0,
+ 58, 0, 0, 0, 82, 83, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 65, 0, 0, 0,
+ 0, 0, 0, 0, 0, 44, 0, 0, 0, 0,
+ 0, 0, 0, 0, 109, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 162,
- 0, 62, 76, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 55, 0, 0, 0, 0, 0, 0, 0,
-
- 134, 0, 0, 132, 0, 126, 125, 0, 49, 0,
- 21, 0, 0, 0, 0, 0, 147, 0, 0, 0,
- 95, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 123, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 112, 15, 0, 41, 0, 0, 0,
- 0, 0, 0, 0, 136, 0, 0, 0, 0, 0,
- 0, 56, 0, 0, 107, 0, 0, 0, 0, 98,
- 0, 0, 0, 0, 0, 0, 0, 68, 0, 156,
- 0, 155, 0, 161, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 163, 0, 62, 76, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 55, 0,
+
+ 0, 0, 0, 0, 0, 0, 135, 0, 0, 133,
+ 0, 127, 126, 0, 49, 0, 21, 0, 0, 0,
+ 0, 0, 148, 0, 0, 0, 96, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 124, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 113,
+ 15, 0, 41, 0, 0, 0, 0, 0, 0, 0,
+ 137, 0, 0, 0, 0, 0, 0, 56, 0, 0,
+ 108, 0, 0, 0, 0, 99, 0, 0, 0, 0,
+ 0, 0, 0, 68, 0, 157, 0, 156, 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, 0, 0, 0, 0, 0, 14, 0,
- 0, 0, 48, 0, 0, 0, 0, 164, 0, 93,
- 27, 0, 0, 0, 50, 124, 0, 0, 0, 159,
- 129, 0, 0, 0, 0, 0, 0, 0, 0, 25,
- 0, 0, 24, 0, 135, 0, 0, 0, 0, 0,
- 0, 0, 86, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 52, 0, 0,
- 0, 0, 0, 42, 0, 0, 0, 0, 0, 0,
-
- 0, 113, 0, 0, 0, 26, 0, 160, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 47, 0, 0, 20, 0, 163, 60, 0, 157,
- 152, 0, 28, 0, 0, 0, 16, 0, 0, 141,
- 0, 0, 0, 0, 0, 0, 121, 0, 0, 0,
- 97, 0, 0, 0, 0, 0, 0, 0, 0, 73,
+ 0, 0, 0, 0, 14, 0, 0, 0, 48, 0,
+ 0, 0, 0, 165, 0, 94, 27, 0, 0, 0,
+ 50, 125, 0, 0, 0, 160, 130, 0, 0, 0,
+ 0, 0, 0, 0, 0, 25, 0, 0, 24, 0,
+ 136, 0, 0, 0, 0, 0, 0, 0, 86, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 142, 13, 0, 0, 0, 0, 0, 0, 0,
- 130, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 127, 0, 0, 0, 0, 0, 120, 0, 54, 53,
-
- 19, 0, 138, 0, 0, 0, 0, 45, 0, 81,
- 0, 0, 0, 0, 119, 0, 0, 51, 0, 0,
- 46, 140, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 52, 0, 0, 0, 0, 0, 42,
+
+ 0, 0, 0, 0, 0, 0, 0, 114, 0, 0,
+ 0, 26, 0, 161, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 47, 0, 0,
+ 20, 0, 164, 60, 0, 158, 153, 0, 28, 0,
+ 0, 0, 16, 0, 0, 142, 0, 0, 0, 0,
+ 0, 0, 122, 0, 0, 0, 98, 0, 0, 0,
+ 0, 0, 0, 0, 0, 73, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 143, 13, 0,
+ 0, 0, 0, 0, 0, 0, 131, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 128, 0, 0, 0,
+
+ 0, 0, 121, 0, 54, 53, 19, 0, 139, 0,
+ 0, 0, 0, 45, 0, 81, 0, 0, 0, 0,
+ 120, 0, 0, 51, 0, 0, 46, 141, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 29, 0, 0, 0, 0, 0,
- 139, 0, 94, 0, 0, 0, 0, 0, 0, 117,
- 122, 57, 0, 0, 0, 0, 116, 0, 0, 143,
- 0, 0, 0, 0, 0, 80, 0, 0, 118, 0
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 29, 0, 0, 0, 0, 0, 140, 0, 95, 0,
+ 0, 0, 0, 0, 0, 118, 123, 57, 0, 0,
+ 0, 0, 117, 0, 0, 144, 0, 0, 0, 0,
+ 0, 80, 0, 0, 119, 0
} ;
static const YY_CHAR yy_ec[256] =
3, 3, 3
} ;
-static const flex_int16_t yy_base[1593] =
+static const flex_int16_t yy_base[1599] =
{ 0,
0, 72, 21, 31, 43, 51, 54, 60, 91, 99,
- 1980, 1981, 34, 1976, 145, 0, 207, 1981, 214, 221,
- 13, 228, 1981, 1956, 118, 25, 2, 6, 1981, 1981,
- 73, 11, 17, 1981, 1981, 1981, 104, 1964, 1917, 0,
- 1954, 108, 1971, 24, 262, 1981, 1913, 67, 1912, 1918,
- 84, 75, 1910, 88, 226, 91, 89, 290, 196, 1909,
- 206, 285, 206, 210, 219, 60, 223, 1918, 247, 290,
- 315, 303, 231, 1901, 297, 321, 343, 324, 1920, 0,
- 380, 387, 401, 408, 424, 1981, 0, 1981, 429, 438,
- 216, 249, 220, 315, 335, 266, 1981, 1917, 1958, 1981,
-
- 342, 1981, 421, 1945, 312, 1903, 1913, 400, 10, 1908,
- 361, 323, 370, 387, 359, 1953, 0, 474, 392, 1895,
- 1892, 1896, 1898, 1891, 1899, 412, 1895, 1884, 1885, 78,
- 1901, 1884, 1893, 1893, 95, 1884, 400, 1885, 1883, 405,
- 1931, 1935, 1875, 1928, 1868, 1891, 1888, 1888, 1882, 310,
- 1875, 1873, 1867, 1872, 1866, 436, 1877, 1870, 1861, 1860,
- 1874, 186, 1860, 413, 1876, 1853, 470, 318, 400, 1874,
- 1871, 1872, 1870, 1905, 1904, 445, 1850, 1852, 448, 1844,
- 1861, 1853, 0, 447, 447, 458, 471, 462, 483, 1852,
- 1981, 0, 1897, 490, 1842, 1845, 476, 482, 1853, 488,
-
- 1898, 499, 1897, 496, 1896, 1981, 542, 1895, 507, 1854,
- 1846, 1833, 1849, 1848, 1845, 1844, 1835, 486, 1886, 1880,
- 1844, 1823, 1831, 1826, 1840, 1836, 1824, 1836, 1836, 1827,
- 1811, 1815, 1828, 1830, 1827, 1819, 1809, 1827, 1981, 1822,
- 1825, 1806, 1805, 1857, 1804, 1814, 1817, 531, 1813, 1852,
- 1800, 1811, 1849, 1794, 1852, 1787, 1802, 533, 1792, 1808,
- 1789, 1788, 1794, 1785, 1784, 1791, 1841, 1797, 1796, 1790,
- 486, 1797, 1792, 1784, 1774, 1789, 1788, 1783, 1787, 485,
- 1785, 1771, 1777, 1784, 1772, 1769, 1768, 565, 1763, 1777,
- 1820, 1779, 484, 1770, 527, 1981, 1981, 534, 1981, 1981,
-
- 1757, 0, 241, 531, 1759, 556, 535, 1815, 1766, 540,
- 1981, 1813, 1981, 1807, 590, 1981, 540, 1747, 1756, 1804,
- 1748, 1747, 1753, 1805, 1760, 1755, 1758, 1753, 533, 1981,
- 1755, 1799, 1752, 1749, 608, 1755, 1795, 1789, 1742, 1737,
- 1734, 1785, 1742, 1731, 1747, 1781, 1727, 591, 1741, 1726,
- 1739, 1726, 1736, 1731, 1738, 1733, 1729, 559, 1727, 1730,
- 1725, 1711, 1720, 1770, 548, 1764, 1981, 1763, 1713, 1712,
- 1711, 1704, 1706, 1710, 1699, 1712, 580, 1759, 1712, 1709,
- 1981, 1712, 1701, 1701, 1713, 370, 1688, 1689, 1710, 533,
- 1692, 1743, 1688, 1702, 1705, 1700, 1686, 1698, 1697, 1696,
-
- 1695, 1694, 1693, 564, 1736, 1735, 1981, 1677, 1676, 618,
- 1689, 1981, 1981, 1688, 0, 1677, 1669, 564, 1674, 1727,
- 1726, 1682, 1724, 1981, 1670, 1722, 1981, 598, 646, 611,
- 1721, 1663, 1674, 1667, 1669, 1657, 1981, 1662, 1668, 1671,
- 1654, 1669, 1656, 1655, 1981, 1657, 1654, 584, 1652, 1654,
- 1981, 1662, 1659, 1644, 1657, 1652, 643, 1659, 1647, 1640,
- 1691, 1981, 1638, 1654, 1688, 1649, 1646, 1647, 1649, 1683,
- 1634, 1629, 1628, 1679, 1623, 1638, 1641, 1615, 1622, 1627,
- 1637, 1676, 1981, 1621, 1617, 1615, 1624, 1618, 1625, 1609,
- 1609, 1619, 1622, 1611, 1606, 1981, 1663, 1981, 1605, 1616,
-
- 1601, 1606, 1615, 1609, 1603, 1612, 1654, 1648, 1610, 1593,
- 1593, 1588, 1608, 1583, 1589, 1594, 1587, 1595, 1599, 1582,
- 1640, 1580, 1581, 1580, 1592, 1581, 1981, 1981, 1581, 1579,
- 1981, 1590, 1626, 1586, 0, 1570, 1587, 1627, 1575, 1981,
- 1981, 1572, 1981, 1578, 1981, 598, 616, 670, 1981, 1575,
- 1574, 1581, 1561, 1614, 1559, 1612, 1557, 1556, 1555, 1562,
- 1555, 1567, 1566, 1566, 1548, 1553, 1594, 1561, 1553, 1598,
- 1542, 1558, 1557, 1981, 1542, 1539, 1597, 1552, 1544, 1550,
- 1541, 1549, 1534, 1550, 1532, 1546, 341, 1528, 1522, 1527,
- 1542, 1539, 1540, 1530, 1536, 1579, 1534, 1526, 1981, 1519,
-
- 1521, 1530, 1528, 1567, 1566, 1517, 16, 1526, 1509, 1510,
- 1507, 1981, 1521, 1500, 1519, 1511, 1556, 1508, 1515, 1553,
- 1981, 1498, 1512, 1496, 1510, 1513, 1494, 1546, 1545, 1544,
- 1543, 1488, 1541, 1540, 1981, 328, 1502, 1501, 1498, 1498,
- 1496, 1479, 1484, 1486, 1981, 1492, 1482, 1981, 1529, 1475,
- 1532, 615, 584, 1473, 1471, 1478, 1469, 1522, 629, 1526,
- 594, 1520, 1480, 1518, 1517, 1469, 1459, 1514, 1465, 1473,
- 1474, 1510, 1471, 1465, 1452, 1460, 1505, 1509, 1464, 1463,
- 1981, 1464, 1457, 1446, 1459, 1462, 1457, 1458, 1455, 1454,
- 1450, 1456, 1451, 1494, 1493, 1441, 1431, 596, 1442, 1489,
-
- 1981, 1488, 1439, 1434, 1426, 1427, 1478, 1439, 1426, 1437,
- 1981, 1425, 1434, 1433, 1433, 2, 156, 229, 363, 424,
- 431, 537, 515, 499, 524, 601, 616, 624, 600, 655,
- 619, 624, 620, 637, 612, 625, 640, 1981, 680, 637,
- 638, 628, 650, 652, 638, 645, 652, 644, 658, 663,
- 704, 1981, 700, 676, 663, 668, 665, 666, 663, 661,
- 670, 1981, 660, 675, 672, 658, 665, 664, 662, 681,
- 678, 668, 666, 665, 676, 672, 728, 685, 675, 691,
- 681, 1981, 691, 692, 685, 696, 694, 739, 681, 683,
- 698, 685, 745, 702, 688, 691, 1981, 1981, 701, 706,
-
- 711, 699, 710, 1981, 1981, 711, 715, 702, 696, 701,
- 719, 706, 756, 707, 759, 708, 766, 1981, 711, 715,
- 710, 770, 723, 713, 714, 710, 723, 734, 718, 736,
- 731, 732, 734, 727, 729, 730, 731, 731, 733, 748,
- 789, 746, 751, 728, 1981, 740, 741, 755, 745, 792,
- 750, 740, 755, 756, 743, 757, 1981, 776, 784, 753,
- 748, 803, 804, 767, 771, 812, 760, 755, 756, 768,
- 775, 764, 765, 761, 770, 765, 823, 780, 781, 772,
- 1981, 774, 786, 771, 788, 782, 829, 795, 779, 780,
- 1981, 796, 799, 782, 841, 784, 1981, 801, 804, 784,
-
- 802, 842, 800, 796, 845, 846, 793, 811, 810, 811,
- 797, 812, 804, 811, 801, 819, 804, 1981, 812, 818,
- 865, 1981, 814, 819, 863, 814, 826, 820, 825, 823,
- 821, 823, 833, 878, 822, 827, 823, 882, 826, 838,
- 1981, 826, 834, 832, 829, 830, 839, 851, 835, 840,
- 850, 851, 856, 897, 854, 871, 876, 858, 855, 851,
- 846, 906, 849, 1981, 849, 869, 868, 859, 848, 865,
- 872, 915, 916, 863, 1981, 913, 860, 863, 862, 882,
- 879, 884, 885, 871, 879, 890, 870, 885, 892, 934,
- 1981, 935, 936, 887, 897, 899, 888, 884, 891, 900,
-
- 894, 895, 947, 894, 892, 894, 911, 952, 902, 901,
- 907, 905, 903, 958, 959, 955, 1981, 917, 910, 901,
- 920, 908, 918, 915, 920, 916, 929, 929, 1981, 913,
- 915, 915, 1981, 916, 976, 915, 934, 935, 981, 982,
- 935, 920, 941, 940, 924, 929, 947, 1981, 937, 970,
- 961, 993, 933, 955, 952, 1981, 939, 941, 958, 953,
- 957, 1002, 950, 954, 1981, 1981, 964, 964, 1002, 949,
- 1004, 951, 1011, 954, 965, 958, 964, 960, 978, 979,
- 981, 1981, 1981, 980, 1981, 965, 966, 985, 975, 968,
- 980, 1024, 988, 983, 984, 1981, 982, 1034, 975, 1036,
-
- 1981, 1037, 979, 985, 992, 1036, 1981, 1981, 984, 986,
- 1000, 1005, 988, 1047, 1004, 1005, 1006, 1046, 998, 1003,
- 1054, 1007, 1003, 1057, 1981, 1004, 1059, 1060, 1981, 1981,
- 1000, 1062, 1021, 1064, 1006, 1018, 1023, 1009, 1039, 1070,
- 1981, 1027, 1020, 1029, 1074, 1021, 1036, 1072, 1024, 1981,
- 1020, 1036, 1041, 1028, 1024, 1084, 1037, 1042, 1981, 1043,
- 1036, 1045, 1046, 1043, 1033, 1036, 1036, 1041, 1096, 1098,
- 1041, 1100, 1096, 1037, 1052, 1046, 1061, 1062, 1108, 1981,
- 1061, 1981, 1981, 1066, 1059, 1069, 1054, 1055, 1116, 1060,
- 1071, 1120, 1981, 1068, 1068, 1070, 1072, 1125, 1066, 1069,
-
- 1981, 1070, 1089, 1981, 1073, 1981, 1981, 1087, 1981, 1081,
- 1981, 1133, 1082, 1135, 1136, 1116, 1981, 1138, 1095, 1136,
- 1981, 1084, 1092, 1086, 1083, 1086, 1089, 1089, 1090, 1097,
- 1087, 1981, 1109, 1095, 1096, 1111, 1111, 1114, 1114, 1111,
- 1156, 1118, 1110, 1981, 1981, 1120, 1981, 1117, 1122, 1123,
- 1120, 1164, 1126, 1127, 1981, 1115, 1116, 1116, 1122, 1121,
- 1132, 1981, 1173, 1120, 1981, 1121, 1121, 1123, 1129, 1981,
- 1131, 1185, 1127, 1135, 1138, 1189, 1150, 1981, 1147, 1981,
- 1144, 1981, 1167, 1981, 1194, 1136, 1196, 1197, 1154, 1159,
- 1141, 1201, 1202, 1155, 1145, 1150, 1206, 1207, 1203, 1166,
-
- 1162, 1206, 1154, 1159, 1157, 1216, 1172, 1218, 1176, 1221,
- 1182, 1171, 1165, 1166, 1167, 1183, 1183, 1229, 1171, 1188,
- 1187, 1171, 1229, 1230, 1177, 1232, 1195, 1196, 1981, 1196,
- 1197, 1184, 1981, 1195, 1244, 1202, 1216, 1981, 1198, 1981,
- 1981, 1190, 1201, 1250, 1981, 1981, 1197, 1195, 1209, 1981,
- 1981, 1199, 1250, 1193, 1198, 1258, 1206, 1216, 1217, 1981,
- 1262, 1215, 1981, 1264, 1981, 1207, 1222, 1210, 1220, 1221,
- 1227, 1231, 1981, 1267, 1233, 1228, 1237, 1219, 1226, 1280,
- 1239, 1238, 1283, 1231, 1285, 1286, 1235, 1981, 1288, 1289,
- 1238, 1291, 1233, 1981, 1240, 1240, 1295, 1239, 1238, 1298,
-
- 1251, 1981, 1295, 1246, 1243, 1981, 1257, 1981, 1260, 1305,
- 1258, 1255, 1256, 1309, 1268, 1251, 1253, 1250, 1266, 1267,
- 1276, 1981, 1266, 1318, 1981, 1277, 1981, 1981, 1315, 1981,
- 1981, 1277, 1981, 1317, 1318, 1273, 1981, 1271, 1278, 1981,
- 1275, 1280, 1278, 1330, 1331, 1274, 1981, 1289, 1290, 1291,
- 1981, 1292, 1282, 1294, 1339, 1281, 1289, 1290, 1303, 1981,
- 1280, 1303, 1288, 1288, 1293, 1349, 1308, 1299, 1308, 1310,
- 1314, 1981, 1981, 1355, 1298, 1357, 1358, 1359, 1317, 1361,
- 1981, 1357, 1319, 1320, 1307, 1366, 1303, 1368, 1321, 1326,
- 1981, 1327, 1328, 1373, 1330, 1333, 1981, 1376, 1981, 1981,
-
- 1981, 1337, 1981, 1319, 1379, 1380, 1323, 1981, 1340, 1981,
- 1331, 1327, 1327, 1329, 1981, 1334, 1344, 1981, 1330, 1342,
- 1981, 1981, 1347, 1341, 1349, 1346, 1337, 1391, 1338, 1346,
- 1355, 1348, 1343, 1358, 1403, 1350, 1357, 1344, 1359, 1364,
- 1409, 1366, 1411, 1354, 1981, 1370, 1361, 1375, 1371, 1364,
- 1981, 1418, 1981, 1419, 1420, 1375, 1374, 1375, 1365, 1981,
- 1981, 1981, 1425, 1367, 1383, 1428, 1981, 1424, 1373, 1981,
- 1372, 1374, 1385, 1434, 1383, 1981, 1392, 1437, 1981, 1981,
- 1443, 1448, 1453, 1458, 1463, 1468, 1473, 1476, 1450, 1455,
- 1457, 1470
+ 1987, 1988, 34, 1983, 145, 0, 207, 1988, 214, 221,
+ 13, 228, 1988, 1963, 118, 25, 2, 6, 1988, 1988,
+ 73, 11, 17, 1988, 1988, 1988, 104, 1971, 1924, 0,
+ 1961, 108, 1978, 24, 262, 1988, 1920, 67, 1919, 1925,
+ 84, 75, 1917, 88, 226, 91, 89, 290, 196, 1916,
+ 206, 285, 206, 210, 219, 60, 223, 1925, 247, 290,
+ 315, 303, 231, 1908, 297, 321, 343, 324, 1927, 0,
+ 380, 387, 401, 408, 424, 1988, 0, 1988, 429, 438,
+ 216, 249, 220, 315, 335, 266, 1988, 1924, 1965, 1988,
+
+ 342, 1988, 421, 1952, 312, 1910, 1920, 400, 10, 1915,
+ 361, 323, 370, 387, 359, 1960, 0, 474, 392, 1902,
+ 1899, 1903, 1905, 1898, 1906, 412, 1902, 1891, 1892, 78,
+ 1908, 1891, 1900, 1900, 95, 1891, 400, 1892, 1890, 405,
+ 1938, 1942, 1882, 1935, 1875, 1898, 1895, 1895, 1889, 310,
+ 1882, 1880, 1874, 1879, 1873, 436, 1884, 1877, 1868, 1867,
+ 1881, 413, 1867, 419, 1883, 1860, 470, 191, 400, 1881,
+ 1878, 1879, 1877, 1912, 1911, 451, 1857, 1859, 472, 1851,
+ 1868, 1860, 0, 471, 462, 446, 472, 473, 487, 1859,
+ 1988, 0, 1904, 492, 1849, 1852, 475, 481, 1860, 499,
+
+ 1905, 501, 1904, 509, 1903, 1988, 555, 1902, 519, 1861,
+ 1853, 1840, 1856, 1855, 1852, 1851, 1842, 493, 1893, 1887,
+ 1851, 1830, 1838, 1833, 1847, 1843, 1831, 1843, 1843, 1834,
+ 1818, 1822, 1835, 1837, 1834, 1826, 1816, 1834, 1988, 1829,
+ 1832, 1813, 1812, 1864, 1811, 1821, 1824, 483, 1820, 1859,
+ 1807, 1818, 1856, 1801, 1859, 1794, 1809, 498, 1799, 1815,
+ 1796, 1794, 1794, 1800, 1791, 1790, 1797, 1847, 1803, 1802,
+ 1796, 486, 1803, 1798, 1790, 1780, 1795, 1794, 1789, 1793,
+ 322, 1791, 1777, 1783, 1790, 1778, 1775, 1774, 542, 1769,
+ 1783, 1826, 1785, 366, 1776, 527, 1988, 1988, 534, 1988,
+
+ 1988, 1763, 0, 241, 515, 1765, 549, 536, 1821, 1772,
+ 525, 1988, 1819, 1988, 1813, 593, 1988, 521, 1753, 1762,
+ 1810, 1754, 1753, 1759, 1811, 1766, 1761, 1764, 1759, 530,
+ 1988, 1761, 1805, 1758, 1755, 578, 1761, 1801, 1795, 1748,
+ 1743, 1740, 1791, 1748, 1737, 1753, 1787, 1733, 586, 1747,
+ 1732, 1745, 1732, 1742, 1737, 1744, 1739, 1735, 560, 1733,
+ 1736, 1731, 1717, 1726, 1776, 513, 1770, 1988, 1769, 1719,
+ 1718, 1717, 1710, 1712, 1716, 1705, 1722, 1717, 549, 1764,
+ 1717, 1714, 1988, 1717, 1706, 1706, 1718, 531, 1693, 1694,
+ 1715, 546, 1697, 1748, 1693, 1707, 1710, 1705, 1691, 1703,
+
+ 1702, 1701, 1700, 1699, 1698, 556, 1741, 1740, 1988, 1682,
+ 1681, 618, 1694, 1988, 1988, 1693, 0, 1682, 1674, 562,
+ 1679, 1732, 1731, 1687, 1729, 1988, 1675, 1727, 1988, 596,
+ 644, 589, 1726, 1668, 1679, 1672, 1674, 1662, 1988, 1667,
+ 1673, 1676, 1659, 1674, 1661, 1660, 1988, 1662, 1659, 584,
+ 1657, 1659, 1988, 1667, 1664, 1649, 1662, 1657, 625, 1664,
+ 1652, 1645, 1696, 1988, 1643, 1659, 1693, 1654, 1651, 1652,
+ 1654, 1688, 1639, 1634, 1633, 1684, 1628, 1643, 1646, 1620,
+ 1627, 1632, 1642, 1681, 1988, 1626, 1622, 1620, 1629, 1623,
+ 1630, 1614, 1614, 1624, 1627, 1616, 1612, 1610, 1988, 1667,
+
+ 1988, 1609, 1620, 1605, 1610, 1619, 1613, 1607, 1616, 1658,
+ 1652, 1614, 1597, 1597, 1592, 1612, 1587, 1593, 1598, 1591,
+ 1599, 1603, 1586, 1644, 1584, 1585, 1584, 1596, 1585, 1988,
+ 1988, 1585, 1583, 1988, 1594, 1630, 1590, 0, 1574, 1591,
+ 1631, 1579, 1988, 1988, 1576, 1988, 1582, 1988, 554, 600,
+ 626, 1988, 1579, 1578, 1585, 1565, 1618, 1563, 1616, 1561,
+ 1560, 1559, 1566, 1559, 1571, 1570, 1570, 1552, 1557, 1598,
+ 1565, 1557, 1602, 1546, 1562, 1561, 1988, 1546, 1543, 1601,
+ 1556, 1548, 1554, 1545, 1553, 1538, 1554, 1536, 1550, 603,
+ 1532, 1526, 1531, 1546, 1543, 1544, 1534, 1540, 1583, 1538,
+
+ 1530, 1988, 1523, 1525, 1534, 1532, 1571, 1570, 1521, 16,
+ 1530, 1513, 1514, 1517, 1510, 1988, 1524, 1503, 1522, 1514,
+ 1559, 1511, 1518, 1556, 1988, 1501, 1515, 1499, 1513, 1516,
+ 1497, 1549, 1548, 1547, 1546, 1491, 1544, 1543, 1988, 328,
+ 1505, 1504, 1501, 1501, 1499, 1482, 1487, 1489, 1988, 1495,
+ 1485, 1988, 1532, 1478, 1535, 601, 627, 1476, 1474, 1481,
+ 1472, 1525, 625, 1529, 627, 1523, 1483, 1521, 1520, 1472,
+ 1462, 1517, 1468, 1476, 1477, 1513, 1474, 1468, 1455, 1463,
+ 1508, 1512, 1467, 1466, 1988, 1467, 1460, 1449, 1462, 1465,
+ 1460, 1461, 1458, 1457, 1453, 1459, 1454, 1497, 1496, 1444,
+
+ 1434, 623, 1445, 1492, 1988, 1491, 1442, 1437, 1429, 1430,
+ 1481, 1442, 1429, 1440, 1988, 160, 233, 340, 362, 427,
+ 489, 446, 545, 586, 577, 584, 645, 616, 600, 620,
+ 670, 671, 673, 620, 675, 639, 635, 640, 644, 629,
+ 641, 642, 1988, 696, 653, 654, 645, 658, 661, 646,
+ 653, 659, 651, 665, 670, 711, 1988, 707, 683, 670,
+ 675, 672, 673, 670, 668, 677, 1988, 667, 682, 679,
+ 665, 672, 671, 669, 688, 685, 675, 673, 672, 683,
+ 679, 735, 692, 682, 698, 688, 1988, 698, 699, 692,
+ 703, 701, 746, 688, 690, 705, 692, 752, 709, 695,
+
+ 698, 1988, 1988, 708, 713, 718, 706, 717, 1988, 1988,
+ 718, 722, 709, 703, 708, 726, 713, 763, 714, 766,
+ 715, 773, 1988, 1988, 718, 722, 717, 777, 730, 720,
+ 721, 717, 730, 741, 725, 743, 738, 739, 741, 734,
+ 736, 737, 738, 738, 740, 755, 796, 753, 758, 735,
+ 1988, 747, 748, 762, 752, 799, 757, 747, 762, 763,
+ 750, 764, 1988, 783, 791, 760, 755, 810, 811, 774,
+ 778, 819, 767, 762, 763, 775, 782, 771, 772, 768,
+ 777, 772, 830, 787, 788, 779, 1988, 781, 793, 778,
+ 795, 789, 836, 802, 786, 787, 1988, 803, 806, 789,
+
+ 848, 791, 1988, 808, 811, 791, 809, 849, 807, 803,
+ 852, 853, 800, 818, 817, 818, 804, 819, 811, 818,
+ 808, 826, 811, 1988, 819, 825, 872, 1988, 821, 826,
+ 870, 821, 833, 827, 832, 830, 828, 830, 840, 885,
+ 829, 834, 830, 889, 833, 845, 1988, 833, 841, 839,
+ 836, 837, 846, 858, 842, 847, 857, 858, 863, 904,
+ 861, 878, 883, 865, 862, 858, 853, 913, 856, 1988,
+ 856, 876, 875, 866, 855, 872, 879, 922, 923, 870,
+ 1988, 920, 867, 870, 869, 889, 886, 891, 892, 878,
+ 886, 897, 877, 892, 899, 941, 1988, 942, 943, 894,
+
+ 904, 906, 895, 891, 898, 907, 901, 902, 954, 901,
+ 899, 901, 918, 959, 909, 908, 914, 912, 910, 965,
+ 966, 962, 1988, 924, 917, 908, 927, 915, 925, 922,
+ 927, 923, 936, 936, 1988, 920, 922, 922, 1988, 923,
+ 983, 922, 941, 942, 988, 989, 942, 927, 948, 947,
+ 931, 936, 954, 1988, 944, 977, 968, 1000, 940, 962,
+ 959, 1988, 946, 948, 965, 960, 964, 1009, 957, 961,
+ 1988, 1988, 971, 971, 1009, 956, 1011, 958, 1018, 961,
+ 972, 965, 971, 967, 985, 986, 988, 1988, 1988, 987,
+ 1988, 972, 973, 992, 982, 975, 987, 1031, 995, 990,
+
+ 991, 1988, 989, 1041, 982, 1043, 1988, 1044, 986, 992,
+ 999, 1043, 1988, 1988, 991, 993, 1007, 1012, 995, 1054,
+ 1011, 1012, 1013, 1053, 1005, 1010, 1061, 1014, 1010, 1064,
+ 1988, 1011, 1066, 1067, 1988, 1988, 1007, 1069, 1028, 1071,
+ 1013, 1025, 1030, 1016, 1046, 1077, 1988, 1034, 1027, 1036,
+ 1081, 1028, 1043, 1079, 1031, 1988, 1027, 1043, 1048, 1035,
+ 1031, 1091, 1044, 1049, 1988, 1050, 1043, 1052, 1053, 1050,
+ 1040, 1043, 1043, 1048, 1103, 1105, 1048, 1107, 1103, 1044,
+ 1059, 1053, 1068, 1069, 1115, 1988, 1068, 1988, 1988, 1073,
+ 1066, 1076, 1061, 1062, 1123, 1067, 1078, 1127, 1988, 1075,
+
+ 1075, 1077, 1079, 1132, 1073, 1076, 1988, 1077, 1096, 1988,
+ 1080, 1988, 1988, 1094, 1988, 1088, 1988, 1140, 1089, 1142,
+ 1143, 1123, 1988, 1145, 1102, 1143, 1988, 1091, 1099, 1093,
+ 1090, 1093, 1096, 1096, 1097, 1104, 1094, 1988, 1116, 1102,
+ 1103, 1118, 1118, 1121, 1121, 1118, 1163, 1125, 1117, 1988,
+ 1988, 1127, 1988, 1124, 1129, 1130, 1127, 1171, 1133, 1134,
+ 1988, 1122, 1123, 1123, 1129, 1128, 1139, 1988, 1180, 1127,
+ 1988, 1128, 1128, 1130, 1136, 1988, 1138, 1192, 1134, 1142,
+ 1145, 1196, 1157, 1988, 1154, 1988, 1151, 1988, 1174, 1988,
+ 1201, 1143, 1203, 1204, 1161, 1166, 1148, 1208, 1209, 1162,
+
+ 1152, 1157, 1213, 1214, 1210, 1173, 1169, 1213, 1161, 1166,
+ 1164, 1223, 1179, 1225, 1183, 1228, 1189, 1178, 1172, 1173,
+ 1174, 1190, 1190, 1236, 1178, 1195, 1194, 1178, 1236, 1237,
+ 1184, 1239, 1202, 1203, 1988, 1203, 1204, 1191, 1988, 1202,
+ 1251, 1209, 1223, 1988, 1205, 1988, 1988, 1197, 1208, 1257,
+ 1988, 1988, 1204, 1202, 1216, 1988, 1988, 1206, 1257, 1200,
+ 1205, 1265, 1213, 1223, 1224, 1988, 1269, 1222, 1988, 1271,
+ 1988, 1214, 1229, 1217, 1227, 1228, 1234, 1238, 1988, 1274,
+ 1240, 1235, 1244, 1226, 1233, 1287, 1246, 1245, 1290, 1238,
+ 1292, 1293, 1242, 1988, 1295, 1296, 1245, 1298, 1240, 1988,
+
+ 1247, 1247, 1302, 1246, 1245, 1305, 1258, 1988, 1302, 1253,
+ 1250, 1988, 1264, 1988, 1267, 1312, 1265, 1262, 1263, 1316,
+ 1275, 1258, 1260, 1257, 1273, 1274, 1283, 1988, 1273, 1325,
+ 1988, 1284, 1988, 1988, 1322, 1988, 1988, 1284, 1988, 1324,
+ 1325, 1280, 1988, 1278, 1285, 1988, 1282, 1287, 1285, 1337,
+ 1338, 1281, 1988, 1296, 1297, 1298, 1988, 1299, 1289, 1301,
+ 1346, 1288, 1296, 1297, 1310, 1988, 1287, 1310, 1295, 1295,
+ 1300, 1356, 1315, 1306, 1315, 1317, 1321, 1988, 1988, 1362,
+ 1305, 1364, 1365, 1366, 1324, 1368, 1988, 1364, 1326, 1327,
+ 1314, 1373, 1310, 1375, 1328, 1333, 1988, 1334, 1335, 1380,
+
+ 1337, 1340, 1988, 1383, 1988, 1988, 1988, 1344, 1988, 1326,
+ 1386, 1387, 1330, 1988, 1347, 1988, 1338, 1334, 1334, 1336,
+ 1988, 1341, 1351, 1988, 1337, 1349, 1988, 1988, 1354, 1348,
+ 1356, 1353, 1344, 1398, 1345, 1353, 1362, 1355, 1350, 1365,
+ 1410, 1357, 1364, 1351, 1366, 1371, 1416, 1373, 1418, 1361,
+ 1988, 1377, 1368, 1382, 1378, 1371, 1988, 1425, 1988, 1426,
+ 1427, 1382, 1381, 1382, 1372, 1988, 1988, 1988, 1432, 1374,
+ 1390, 1435, 1988, 1431, 1380, 1988, 1379, 1381, 1392, 1441,
+ 1390, 1988, 1399, 1444, 1988, 1988, 1450, 1455, 1460, 1465,
+ 1470, 1475, 1480, 1483, 1457, 1462, 1464, 1477
} ;
-static const flex_int16_t yy_def[1593] =
+static const flex_int16_t yy_def[1599] =
{ 0,
- 1581, 1581, 1582, 1582, 1581, 1581, 1581, 1581, 1581, 1581,
- 1580, 1580, 1580, 1580, 1580, 1583, 1580, 1580, 1580, 1580,
- 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
- 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1584,
- 1580, 1580, 1580, 1585, 15, 1580, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 1586, 45, 45,
+ 1587, 1587, 1588, 1588, 1587, 1587, 1587, 1587, 1587, 1587,
+ 1586, 1586, 1586, 1586, 1586, 1589, 1586, 1586, 1586, 1586,
+ 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586,
+ 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1590,
+ 1586, 1586, 1586, 1591, 15, 1586, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 1592, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 45, 1583,
- 1580, 1580, 1580, 1580, 1580, 1580, 1587, 1580, 1580, 1580,
- 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1584, 1580,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 1589,
+ 1586, 1586, 1586, 1586, 1586, 1586, 1593, 1586, 1586, 1586,
+ 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1590, 1586,
- 1585, 1580, 1580, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 1588, 45, 1586, 45, 45,
+ 1591, 1586, 1586, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 1594, 45, 1592, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 1587, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
- 1580, 1589, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 1593, 1586, 1586, 1586, 1586, 1586, 1586, 1586,
+ 1586, 1595, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 1588, 1580, 1586, 45, 45, 45,
+ 45, 45, 45, 45, 1594, 1586, 1592, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 1580, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 1586, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 1580, 1580, 1580, 1580, 1580, 1580,
+ 45, 45, 45, 45, 45, 1586, 1586, 1586, 1586, 1586,
- 1580, 1590, 45, 45, 45, 45, 45, 45, 45, 45,
- 1580, 45, 1580, 45, 1586, 1580, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 45, 1580,
+ 1586, 1586, 1596, 45, 45, 45, 45, 45, 45, 45,
+ 45, 1586, 45, 1586, 45, 1592, 1586, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 1586, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 1580, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 1586, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 1580, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 1586, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 1580, 45, 45, 45,
- 45, 1580, 1580, 1580, 1591, 45, 45, 45, 45, 45,
- 45, 45, 45, 1580, 45, 45, 1580, 45, 1586, 45,
- 45, 45, 45, 45, 45, 45, 1580, 45, 45, 45,
- 45, 45, 45, 45, 1580, 45, 45, 45, 45, 45,
- 1580, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 1580, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 1586, 45,
+ 45, 45, 45, 1586, 1586, 1586, 1597, 45, 45, 45,
+ 45, 45, 45, 45, 45, 1586, 45, 45, 1586, 45,
+ 1592, 45, 45, 45, 45, 45, 45, 45, 1586, 45,
+ 45, 45, 45, 45, 45, 45, 1586, 45, 45, 45,
+ 45, 45, 1586, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 1586, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 1580, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 1580, 45, 1580, 45, 45,
+ 45, 45, 45, 45, 1586, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 1586, 45,
+ 1586, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 1586,
+ 1586, 45, 45, 1586, 45, 45, 1586, 1598, 45, 45,
+ 45, 45, 1586, 1586, 45, 1586, 45, 1586, 45, 45,
+ 45, 1586, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 1580, 1580, 45, 45,
- 1580, 45, 45, 1580, 1592, 45, 45, 45, 45, 1580,
- 1580, 45, 1580, 45, 1580, 45, 45, 45, 1580, 45,
+ 45, 45, 45, 45, 45, 45, 1586, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 1580, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 1580, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 1580, 45, 45, 45, 45, 45, 45, 45, 45,
- 1580, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 1580, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 1580, 45, 45, 1580, 45, 45,
+ 45, 1586, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 1586, 45, 45, 45, 45,
+ 45, 45, 45, 45, 1586, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 1586, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 1586, 45,
+ 45, 1586, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 1580, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 1586, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 1580, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 1580, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 1586, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 1586, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 1580, 45, 45,
+ 45, 45, 1586, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 1586, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 1586, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 1580, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 1580, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 1586, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 1580, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 1580, 1580, 45, 45,
- 45, 45, 45, 1580, 1580, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 1580, 45, 45,
+ 45, 1586, 1586, 45, 45, 45, 45, 45, 1586, 1586,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 1586, 1586, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 1580, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 1580, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 1586, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 1586, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 1580, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 1580, 45, 45, 45, 45, 45, 1580, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 1586, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 1586, 45, 45, 45,
+ 45, 45, 1586, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 1580, 45, 45,
- 45, 1580, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 1586, 45, 45, 45, 1586, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 1580, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 1586, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 1580, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 1580, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 1586,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 1580, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 1586, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 1586, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 1580, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 1580, 45,
- 45, 45, 1580, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 1580, 45, 45,
- 45, 45, 45, 45, 45, 1580, 45, 45, 45, 45,
- 45, 45, 45, 45, 1580, 1580, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 1580, 1580, 45, 1580, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 1580, 45, 45, 45, 45,
-
- 1580, 45, 45, 45, 45, 45, 1580, 1580, 45, 45,
+ 45, 45, 1586, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 1586, 45, 45, 45, 1586, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 1580, 45, 45, 45, 1580, 1580,
+ 45, 45, 45, 1586, 45, 45, 45, 45, 45, 45,
+ 45, 1586, 45, 45, 45, 45, 45, 45, 45, 45,
+ 1586, 1586, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 1586, 1586, 45,
+ 1586, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+
+ 45, 1586, 45, 45, 45, 45, 1586, 45, 45, 45,
+ 45, 45, 1586, 1586, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 1580, 45, 45, 45, 45, 45, 45, 45, 45, 1580,
- 45, 45, 45, 45, 45, 45, 45, 45, 1580, 45,
+ 1586, 45, 45, 45, 1586, 1586, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 1586, 45, 45, 45,
+ 45, 45, 45, 45, 45, 1586, 45, 45, 45, 45,
+ 45, 45, 45, 45, 1586, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 45, 1580,
- 45, 1580, 1580, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 1580, 45, 45, 45, 45, 45, 45, 45,
-
- 1580, 45, 45, 1580, 45, 1580, 1580, 45, 1580, 45,
- 1580, 45, 45, 45, 45, 45, 1580, 45, 45, 45,
- 1580, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 1580, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 1580, 1580, 45, 1580, 45, 45, 45,
- 45, 45, 45, 45, 1580, 45, 45, 45, 45, 45,
- 45, 1580, 45, 45, 1580, 45, 45, 45, 45, 1580,
- 45, 45, 45, 45, 45, 45, 45, 1580, 45, 1580,
- 45, 1580, 45, 1580, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 1586, 45, 1586, 1586, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 1586, 45,
+
+ 45, 45, 45, 45, 45, 45, 1586, 45, 45, 1586,
+ 45, 1586, 1586, 45, 1586, 45, 1586, 45, 45, 45,
+ 45, 45, 1586, 45, 45, 45, 1586, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 1586, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 1586,
+ 1586, 45, 1586, 45, 45, 45, 45, 45, 45, 45,
+ 1586, 45, 45, 45, 45, 45, 45, 1586, 45, 45,
+ 1586, 45, 45, 45, 45, 1586, 45, 45, 45, 45,
+ 45, 45, 45, 1586, 45, 1586, 45, 1586, 45, 1586,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 1580, 45,
- 45, 45, 1580, 45, 45, 45, 45, 1580, 45, 1580,
- 1580, 45, 45, 45, 1580, 1580, 45, 45, 45, 1580,
- 1580, 45, 45, 45, 45, 45, 45, 45, 45, 1580,
- 45, 45, 1580, 45, 1580, 45, 45, 45, 45, 45,
- 45, 45, 1580, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 1580, 45, 45,
- 45, 45, 45, 1580, 45, 45, 45, 45, 45, 45,
-
- 45, 1580, 45, 45, 45, 1580, 45, 1580, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 1580, 45, 45, 1580, 45, 1580, 1580, 45, 1580,
- 1580, 45, 1580, 45, 45, 45, 1580, 45, 45, 1580,
- 45, 45, 45, 45, 45, 45, 1580, 45, 45, 45,
- 1580, 45, 45, 45, 45, 45, 45, 45, 45, 1580,
+ 45, 45, 45, 45, 1586, 45, 45, 45, 1586, 45,
+ 45, 45, 45, 1586, 45, 1586, 1586, 45, 45, 45,
+ 1586, 1586, 45, 45, 45, 1586, 1586, 45, 45, 45,
+ 45, 45, 45, 45, 45, 1586, 45, 45, 1586, 45,
+ 1586, 45, 45, 45, 45, 45, 45, 45, 1586, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 1580, 1580, 45, 45, 45, 45, 45, 45, 45,
- 1580, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 1580, 45, 45, 45, 45, 45, 1580, 45, 1580, 1580,
+ 45, 45, 45, 1586, 45, 45, 45, 45, 45, 1586,
- 1580, 45, 1580, 45, 45, 45, 45, 1580, 45, 1580,
- 45, 45, 45, 45, 1580, 45, 45, 1580, 45, 45,
- 1580, 1580, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 1586, 45, 45,
+ 45, 1586, 45, 1586, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 1586, 45, 45,
+ 1586, 45, 1586, 1586, 45, 1586, 1586, 45, 1586, 45,
+ 45, 45, 1586, 45, 45, 1586, 45, 45, 45, 45,
+ 45, 45, 1586, 45, 45, 45, 1586, 45, 45, 45,
+ 45, 45, 45, 45, 45, 1586, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 1586, 1586, 45,
+ 45, 45, 45, 45, 45, 45, 1586, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 1586, 45, 45, 45,
+
+ 45, 45, 1586, 45, 1586, 1586, 1586, 45, 1586, 45,
+ 45, 45, 45, 1586, 45, 1586, 45, 45, 45, 45,
+ 1586, 45, 45, 1586, 45, 45, 1586, 1586, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 1580, 45, 45, 45, 45, 45,
- 1580, 45, 1580, 45, 45, 45, 45, 45, 45, 1580,
- 1580, 1580, 45, 45, 45, 45, 1580, 45, 45, 1580,
- 45, 45, 45, 45, 45, 1580, 45, 45, 1580, 0,
- 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
- 1580, 1580
+ 1586, 45, 45, 45, 45, 45, 1586, 45, 1586, 45,
+ 45, 45, 45, 45, 45, 1586, 1586, 1586, 45, 45,
+ 45, 45, 1586, 45, 45, 1586, 45, 45, 45, 45,
+ 45, 1586, 45, 45, 1586, 0, 1586, 1586, 1586, 1586,
+ 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586
} ;
-static const flex_int16_t yy_nxt[2055] =
+static const flex_int16_t yy_nxt[2062] =
{ 0,
- 1580, 13, 14, 13, 1580, 15, 16, 818, 17, 18,
+ 1586, 13, 14, 13, 1586, 15, 16, 1586, 17, 18,
19, 20, 21, 22, 22, 22, 22, 22, 23, 24,
- 86, 711, 37, 14, 37, 87, 25, 26, 38, 102,
- 1580, 27, 37, 14, 37, 42, 28, 42, 38, 92,
+ 86, 715, 37, 14, 37, 87, 25, 26, 38, 102,
+ 1586, 27, 37, 14, 37, 42, 28, 42, 38, 92,
93, 29, 198, 30, 13, 14, 13, 91, 92, 25,
31, 93, 13, 14, 13, 13, 14, 13, 32, 40,
- 712, 13, 14, 13, 33, 40, 103, 92, 93, 198,
+ 716, 13, 14, 13, 33, 40, 103, 92, 93, 198,
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,
78, 79, 57, 45, 45, 45, 45, 45, 81, 819,
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, 184, 83, 260, 261,
+ 83, 84, 84, 84, 84, 84, 184, 83, 278, 279,
112, 123, 119, 134, 83, 108, 83, 186, 120, 124,
113, 121, 125, 83, 135, 126, 137, 127, 138, 128,
83, 142, 184, 112, 136, 139, 162, 83, 45, 185,
163, 143, 820, 144, 45, 186, 45, 45, 113, 45,
- 164, 45, 45, 45, 416, 117, 146, 147, 45, 45,
+ 164, 45, 45, 45, 418, 117, 146, 147, 45, 45,
- 148, 45, 45, 186, 417, 185, 149, 45, 45, 45,
+ 148, 45, 45, 186, 419, 185, 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, 189, 45, 738, 130, 150, 45, 131, 132, 151,
- 45, 111, 166, 152, 739, 184, 167, 102, 45, 114,
+ 129, 189, 45, 743, 130, 150, 45, 131, 132, 151,
+ 45, 111, 166, 152, 744, 184, 167, 102, 45, 114,
133, 194, 45, 157, 45, 118, 201, 174, 175, 153,
154, 158, 155, 159, 156, 185, 168, 112, 160, 161,
- 169, 187, 179, 170, 247, 277, 278, 113, 248, 194,
- 171, 172, 180, 201, 103, 204, 173, 181, 691, 692,
+ 169, 187, 179, 170, 247, 397, 411, 113, 248, 194,
+ 171, 172, 180, 201, 103, 204, 173, 181, 398, 821,
176, 188, 177, 85, 85, 85, 85, 85, 81, 200,
82, 82, 82, 82, 82, 113, 83, 202, 204, 89,
- 821, 89, 178, 83, 90, 90, 90, 90, 90, 81,
- 203, 84, 84, 84, 84, 84, 101, 200, 505, 83,
- 197, 194, 506, 101, 83, 202, 83, 85, 85, 85,
+ 822, 89, 178, 83, 90, 90, 90, 90, 90, 81,
+ 203, 84, 84, 84, 84, 84, 101, 200, 412, 83,
+ 197, 194, 823, 101, 83, 202, 83, 85, 85, 85,
85, 85, 90, 90, 90, 90, 90, 203, 208, 231,
- 83, 90, 90, 90, 90, 90, 197, 83, 279, 209,
- 216, 235, 280, 101, 236, 232, 281, 101, 237, 217,
- 218, 101, 263, 83, 200, 264, 265, 296, 201, 101,
- 268, 203, 295, 101, 297, 101, 192, 207, 207, 207,
- 207, 207, 296, 822, 409, 823, 207, 207, 207, 207,
-
- 207, 207, 200, 296, 254, 288, 295, 297, 291, 297,
- 295, 307, 304, 308, 310, 269, 270, 271, 299, 207,
- 207, 207, 207, 207, 207, 312, 272, 314, 273, 304,
- 274, 275, 300, 276, 298, 304, 326, 310, 395, 307,
- 308, 358, 385, 370, 327, 386, 410, 824, 312, 328,
- 329, 396, 317, 412, 314, 315, 315, 315, 315, 315,
- 412, 423, 825, 826, 315, 315, 315, 315, 315, 315,
- 311, 418, 420, 421, 426, 404, 412, 827, 442, 371,
- 418, 422, 510, 413, 423, 496, 511, 315, 315, 315,
- 315, 315, 315, 372, 359, 443, 462, 360, 484, 538,
-
- 418, 463, 426, 429, 429, 429, 429, 429, 485, 430,
- 754, 828, 429, 429, 429, 429, 429, 429, 448, 525,
- 475, 476, 526, 531, 449, 477, 829, 538, 532, 546,
- 652, 547, 564, 754, 830, 429, 429, 429, 429, 429,
- 429, 763, 764, 497, 765, 565, 538, 566, 574, 464,
- 653, 753, 801, 575, 465, 802, 546, 652, 547, 45,
- 45, 45, 45, 45, 831, 832, 833, 836, 45, 45,
- 45, 45, 45, 45, 548, 648, 760, 834, 653, 753,
- 654, 841, 761, 842, 835, 845, 846, 847, 848, 837,
- 838, 45, 45, 45, 45, 45, 45, 839, 843, 849,
-
- 850, 840, 851, 852, 844, 853, 854, 855, 856, 857,
- 858, 859, 860, 861, 862, 863, 864, 865, 866, 867,
- 868, 869, 870, 871, 872, 873, 874, 875, 876, 877,
- 878, 879, 880, 881, 882, 883, 884, 885, 886, 859,
- 887, 888, 889, 890, 891, 893, 894, 895, 896, 892,
- 897, 898, 899, 900, 901, 902, 903, 904, 905, 906,
- 907, 908, 909, 910, 911, 913, 914, 915, 912, 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, 953, 954, 955, 956,
- 957, 958, 959, 960, 961, 962, 963, 964, 965, 966,
- 967, 968, 969, 970, 971, 972, 973, 974, 975, 976,
- 977, 978, 979, 957, 980, 981, 956, 982, 983, 984,
- 985, 986, 987, 988, 989, 990, 991, 993, 994, 995,
- 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005,
- 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1014, 1015, 1016,
- 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1013, 1024, 1025,
- 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035,
- 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045,
-
- 1046, 1047, 1048, 1049, 992, 1050, 1052, 1051, 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, 1050, 1051, 1078, 1079, 1080, 1081, 1082,
- 1083, 1085, 1087, 1088, 1089, 1084, 1090, 1091, 1092, 1093,
- 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103,
- 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113,
- 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123,
- 1124, 1125, 1126, 1127, 1128, 1086, 1129, 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, 1157, 1158, 1159, 1160, 1161, 1139,
- 1162, 1163, 1164, 1165, 1166, 1140, 1167, 1168, 1169, 1170,
- 1171, 1172, 1173, 1174, 1175, 1176, 1177, 1178, 1179, 1180,
- 1181, 1182, 1183, 1184, 1185, 1186, 1187, 1188, 1189, 1190,
- 1191, 1192, 1193, 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, 1221,
- 1223, 1224, 1225, 1226, 1227, 1228, 1229, 1230, 1231, 1232,
- 1233, 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241, 1242,
-
- 1243, 1244, 1216, 1245, 1246, 1247, 1248, 1249, 1250, 1198,
- 1252, 1253, 1254, 1255, 1256, 1257, 1251, 1258, 1259, 1260,
- 1261, 1262, 1263, 1222, 1264, 1265, 1266, 1267, 1268, 1269,
- 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1277, 1278, 1279,
- 1280, 1282, 1283, 1284, 1285, 1281, 1286, 1287, 1288, 1289,
- 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1297, 1298, 1299,
- 1300, 1301, 1302, 1303, 1304, 1283, 1305, 1306, 1307, 1308,
- 1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318,
- 1319, 1320, 1321, 1322, 1323, 1324, 1325, 1326, 1327, 1328,
- 1329, 1330, 1331, 1332, 1333, 1334, 1335, 1336, 1337, 1338,
-
- 1339, 1340, 1341, 1342, 1343, 1344, 1345, 1346, 1347, 1348,
- 1349, 1350, 1351, 1352, 1353, 1354, 1355, 1356, 1357, 1358,
- 1359, 1360, 1362, 1363, 1364, 1337, 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, 1391, 1390, 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, 1361,
- 1390, 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, 1488, 1489, 1490, 1491, 1492, 1493, 1494, 1495, 1496,
- 1497, 1498, 1499, 1500, 1501, 1502, 1503, 1504, 1505, 1506,
- 1507, 1508, 1509, 1510, 1511, 1512, 1513, 1514, 1515, 1516,
- 1517, 1518, 1519, 1520, 1521, 1522, 1523, 1524, 1525, 1526,
- 1527, 1528, 1529, 1530, 1531, 1532, 1533, 1534, 1535, 1536,
-
- 1537, 1538, 1539, 1540, 1541, 1542, 1543, 1544, 1545, 1546,
- 1547, 1548, 1549, 1550, 1551, 1552, 1553, 1554, 1555, 1556,
- 1557, 1558, 1559, 1560, 1561, 1562, 1563, 1564, 1565, 1566,
- 1567, 1568, 1569, 1570, 1571, 1572, 1573, 1574, 1575, 1576,
- 1577, 1578, 1579, 12, 12, 12, 12, 12, 36, 36,
- 36, 36, 36, 80, 302, 80, 80, 80, 99, 415,
- 99, 535, 99, 101, 101, 101, 101, 101, 116, 116,
- 116, 116, 116, 183, 101, 183, 183, 183, 205, 205,
- 205, 817, 816, 815, 814, 813, 812, 811, 810, 809,
- 808, 807, 806, 805, 804, 803, 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, 768, 767,
- 766, 762, 759, 758, 757, 756, 755, 752, 751, 750,
- 749, 748, 747, 746, 745, 744, 743, 742, 741, 740,
- 737, 736, 735, 734, 733, 732, 731, 730, 729, 728,
- 727, 726, 725, 724, 723, 722, 721, 720, 719, 718,
- 717, 716, 715, 714, 713, 710, 709, 708, 707, 706,
- 705, 704, 703, 702, 701, 700, 699, 698, 697, 696,
- 695, 694, 693, 690, 689, 688, 687, 686, 685, 684,
-
- 683, 682, 681, 680, 679, 678, 677, 676, 675, 674,
- 673, 672, 671, 670, 669, 668, 667, 666, 665, 664,
- 663, 662, 661, 660, 659, 658, 657, 656, 655, 651,
- 650, 649, 648, 647, 646, 645, 644, 643, 642, 641,
- 640, 639, 638, 637, 636, 635, 634, 633, 632, 631,
- 630, 629, 628, 627, 626, 625, 624, 623, 622, 621,
- 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, 573, 572, 571, 570, 569,
- 568, 567, 563, 562, 561, 560, 559, 558, 557, 556,
- 555, 554, 553, 552, 551, 550, 549, 545, 544, 543,
- 542, 541, 540, 539, 537, 536, 534, 533, 530, 529,
- 528, 527, 524, 523, 522, 521, 520, 519, 518, 517,
- 516, 515, 514, 513, 512, 509, 508, 507, 504, 503,
- 502, 501, 500, 499, 498, 495, 494, 493, 492, 491,
- 490, 489, 488, 487, 486, 483, 482, 481, 480, 479,
- 478, 474, 473, 472, 471, 470, 469, 468, 467, 466,
- 461, 460, 459, 458, 457, 456, 455, 454, 453, 452,
-
- 451, 450, 447, 446, 445, 444, 441, 440, 439, 438,
- 437, 436, 435, 434, 433, 432, 431, 428, 427, 425,
- 424, 419, 414, 411, 408, 407, 406, 405, 403, 402,
- 401, 400, 399, 398, 397, 394, 393, 392, 391, 390,
- 389, 388, 387, 384, 383, 382, 381, 380, 379, 378,
- 377, 376, 375, 374, 373, 369, 368, 367, 366, 365,
- 364, 363, 362, 361, 357, 356, 355, 354, 353, 352,
- 351, 350, 349, 348, 347, 346, 345, 344, 343, 342,
- 341, 340, 339, 338, 337, 336, 335, 334, 333, 332,
- 331, 330, 325, 324, 323, 322, 321, 320, 319, 318,
-
- 316, 206, 313, 311, 309, 306, 305, 303, 301, 294,
- 293, 292, 290, 289, 287, 286, 285, 284, 283, 282,
- 267, 266, 262, 259, 258, 257, 256, 255, 253, 252,
- 251, 250, 249, 246, 245, 244, 243, 242, 241, 240,
- 239, 238, 234, 233, 230, 227, 226, 225, 224, 221,
- 220, 219, 215, 214, 213, 212, 211, 210, 206, 199,
- 196, 195, 193, 191, 190, 182, 165, 145, 122, 110,
- 107, 106, 104, 43, 100, 98, 97, 88, 43, 1580,
- 11, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
- 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
-
- 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
- 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
- 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
- 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
- 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
- 1580, 1580, 1580, 1580
+ 83, 90, 90, 90, 90, 90, 197, 83, 280, 209,
+ 216, 235, 281, 101, 236, 232, 282, 101, 237, 217,
+ 218, 101, 298, 83, 200, 260, 261, 262, 264, 101,
+ 269, 265, 266, 101, 201, 101, 192, 207, 207, 207,
+ 207, 207, 297, 359, 824, 298, 207, 207, 207, 207,
+
+ 207, 207, 200, 297, 254, 203, 296, 296, 371, 825,
+ 308, 289, 309, 298, 305, 270, 271, 272, 297, 207,
+ 207, 207, 207, 207, 207, 311, 273, 313, 274, 300,
+ 275, 276, 292, 277, 296, 299, 301, 305, 308, 309,
+ 315, 305, 387, 327, 372, 388, 360, 312, 311, 361,
+ 313, 328, 406, 414, 499, 420, 329, 330, 373, 428,
+ 414, 420, 425, 486, 318, 422, 423, 315, 316, 316,
+ 316, 316, 316, 487, 424, 444, 414, 316, 316, 316,
+ 316, 316, 316, 415, 420, 425, 656, 428, 450, 508,
+ 432, 464, 445, 509, 451, 513, 465, 541, 826, 514,
+
+ 316, 316, 316, 316, 316, 316, 431, 431, 431, 431,
+ 431, 528, 500, 656, 529, 431, 431, 431, 431, 431,
+ 431, 477, 478, 534, 541, 541, 479, 549, 535, 550,
+ 577, 652, 567, 827, 657, 578, 658, 758, 431, 431,
+ 431, 431, 431, 431, 466, 568, 828, 569, 829, 467,
+ 695, 696, 551, 759, 549, 830, 550, 45, 45, 45,
+ 45, 45, 657, 831, 832, 758, 45, 45, 45, 45,
+ 45, 45, 765, 833, 768, 769, 759, 770, 766, 806,
+ 834, 835, 807, 836, 837, 838, 839, 842, 840, 45,
+ 45, 45, 45, 45, 45, 841, 843, 844, 847, 848,
+
+ 849, 851, 852, 853, 845, 854, 850, 855, 846, 856,
+ 857, 858, 859, 860, 861, 862, 863, 864, 865, 866,
+ 867, 868, 869, 870, 871, 872, 873, 874, 875, 876,
+ 877, 878, 879, 880, 881, 882, 883, 884, 885, 886,
+ 887, 888, 889, 890, 891, 892, 865, 893, 894, 895,
+ 896, 897, 899, 900, 901, 902, 898, 903, 904, 905,
+ 906, 907, 908, 909, 910, 911, 912, 913, 914, 915,
+ 916, 917, 919, 920, 921, 918, 922, 923, 924, 925,
+ 926, 927, 928, 929, 930, 931, 932, 933, 934, 935,
+ 936, 937, 938, 939, 940, 941, 942, 943, 944, 945,
+
+ 946, 947, 948, 949, 950, 951, 952, 953, 954, 955,
+ 956, 957, 958, 959, 960, 961, 962, 963, 964, 965,
+ 966, 967, 968, 969, 970, 971, 972, 973, 974, 975,
+ 976, 977, 978, 979, 980, 981, 982, 983, 984, 985,
+ 963, 986, 987, 962, 988, 989, 990, 991, 992, 993,
+ 994, 995, 996, 997, 999, 1000, 1001, 1002, 1003, 1004,
+ 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014,
+ 1015, 1016, 1017, 1018, 1020, 1021, 1022, 1023, 1024, 1025,
+ 1026, 1027, 1028, 1029, 1019, 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, 998, 1056, 1058, 1057, 1059, 1060, 1061, 1062, 1063,
+ 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073,
+ 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083,
+ 1056, 1057, 1084, 1085, 1086, 1087, 1088, 1089, 1091, 1093,
+ 1094, 1095, 1090, 1096, 1097, 1098, 1099, 1100, 1101, 1102,
+ 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112,
+ 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122,
+ 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132,
+ 1133, 1134, 1092, 1135, 1136, 1137, 1138, 1139, 1140, 1141,
+
+ 1142, 1143, 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151,
+ 1152, 1153, 1154, 1155, 1156, 1157, 1158, 1159, 1160, 1161,
+ 1162, 1163, 1164, 1165, 1166, 1167, 1145, 1168, 1169, 1170,
+ 1171, 1172, 1146, 1173, 1174, 1175, 1176, 1177, 1178, 1179,
+ 1180, 1181, 1182, 1183, 1184, 1185, 1186, 1187, 1188, 1189,
+ 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1199,
+ 1200, 1201, 1202, 1203, 1205, 1206, 1207, 1208, 1209, 1210,
+ 1211, 1212, 1213, 1214, 1215, 1216, 1217, 1218, 1219, 1220,
+ 1221, 1222, 1223, 1224, 1225, 1226, 1227, 1229, 1230, 1231,
+ 1232, 1233, 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241,
+
+ 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1222,
+ 1251, 1252, 1253, 1254, 1255, 1256, 1204, 1258, 1259, 1260,
+ 1261, 1262, 1263, 1257, 1264, 1265, 1266, 1267, 1268, 1269,
+ 1228, 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1277, 1278,
+ 1279, 1280, 1281, 1282, 1283, 1284, 1285, 1286, 1288, 1289,
+ 1290, 1291, 1287, 1292, 1293, 1294, 1295, 1296, 1297, 1298,
+ 1299, 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308,
+ 1309, 1310, 1289, 1311, 1312, 1313, 1314, 1315, 1316, 1317,
+ 1318, 1319, 1320, 1321, 1322, 1323, 1324, 1325, 1326, 1327,
+ 1328, 1329, 1330, 1331, 1332, 1333, 1334, 1335, 1336, 1337,
+
+ 1338, 1339, 1340, 1341, 1342, 1343, 1344, 1345, 1346, 1347,
+ 1348, 1349, 1350, 1351, 1352, 1353, 1354, 1355, 1356, 1357,
+ 1358, 1359, 1360, 1361, 1362, 1363, 1364, 1365, 1366, 1368,
+ 1369, 1370, 1343, 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, 1397, 1396,
+ 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, 1367, 1396, 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, 1488, 1489, 1490, 1491, 1492, 1493, 1494, 1495,
+ 1496, 1497, 1498, 1499, 1500, 1501, 1502, 1503, 1504, 1505,
+ 1506, 1507, 1508, 1509, 1510, 1511, 1512, 1513, 1514, 1515,
+ 1516, 1517, 1518, 1519, 1520, 1521, 1522, 1523, 1524, 1525,
+ 1526, 1527, 1528, 1529, 1530, 1531, 1532, 1533, 1534, 1535,
+
+ 1536, 1537, 1538, 1539, 1540, 1541, 1542, 1543, 1544, 1545,
+ 1546, 1547, 1548, 1549, 1550, 1551, 1552, 1553, 1554, 1555,
+ 1556, 1557, 1558, 1559, 1560, 1561, 1562, 1563, 1564, 1565,
+ 1566, 1567, 1568, 1569, 1570, 1571, 1572, 1573, 1574, 1575,
+ 1576, 1577, 1578, 1579, 1580, 1581, 1582, 1583, 1584, 1585,
+ 12, 12, 12, 12, 12, 36, 36, 36, 36, 36,
+ 80, 303, 80, 80, 80, 99, 417, 99, 538, 99,
+ 101, 101, 101, 101, 101, 116, 116, 116, 116, 116,
+ 183, 101, 183, 183, 183, 205, 205, 205, 818, 817,
+ 816, 815, 814, 813, 812, 811, 810, 809, 808, 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, 777, 776, 775,
+ 774, 773, 772, 771, 767, 764, 763, 762, 761, 760,
+ 757, 756, 755, 754, 753, 752, 751, 750, 749, 748,
+ 747, 746, 745, 742, 741, 740, 739, 738, 737, 736,
+ 735, 734, 733, 732, 731, 730, 729, 728, 727, 726,
+ 725, 724, 723, 722, 721, 720, 719, 718, 717, 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, 678, 677, 676, 675, 674, 673, 672,
+ 671, 670, 669, 668, 667, 666, 665, 664, 663, 662,
+ 661, 660, 659, 655, 654, 653, 652, 651, 650, 649,
+ 648, 647, 646, 645, 644, 643, 642, 641, 640, 639,
+ 638, 637, 636, 635, 634, 633, 632, 631, 630, 629,
+ 628, 627, 626, 625, 624, 623, 622, 621, 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,
+ 576, 575, 574, 573, 572, 571, 570, 566, 565, 564,
+ 563, 562, 561, 560, 559, 558, 557, 556, 555, 554,
+ 553, 552, 548, 547, 546, 545, 544, 543, 542, 540,
+ 539, 537, 536, 533, 532, 531, 530, 527, 526, 525,
+ 524, 523, 522, 521, 520, 519, 518, 517, 516, 515,
+ 512, 511, 510, 507, 506, 505, 504, 503, 502, 501,
+ 498, 497, 496, 495, 494, 493, 492, 491, 490, 489,
+ 488, 485, 484, 483, 482, 481, 480, 476, 475, 474,
+ 473, 472, 471, 470, 469, 468, 463, 462, 461, 460,
+
+ 459, 458, 457, 456, 455, 454, 453, 452, 449, 448,
+ 447, 446, 443, 442, 441, 440, 439, 438, 437, 436,
+ 435, 434, 433, 430, 429, 427, 426, 421, 416, 413,
+ 410, 409, 408, 407, 405, 404, 403, 402, 401, 400,
+ 399, 396, 395, 394, 393, 392, 391, 390, 389, 386,
+ 385, 384, 383, 382, 381, 380, 379, 378, 377, 376,
+ 375, 374, 370, 369, 368, 367, 366, 365, 364, 363,
+ 362, 358, 357, 356, 355, 354, 353, 352, 351, 350,
+ 349, 348, 347, 346, 345, 344, 343, 342, 341, 340,
+ 339, 338, 337, 336, 335, 334, 333, 332, 331, 326,
+
+ 325, 324, 323, 322, 321, 320, 319, 317, 206, 314,
+ 312, 310, 307, 306, 304, 302, 295, 294, 293, 291,
+ 290, 288, 287, 286, 285, 284, 283, 268, 267, 263,
+ 259, 258, 257, 256, 255, 253, 252, 251, 250, 249,
+ 246, 245, 244, 243, 242, 241, 240, 239, 238, 234,
+ 233, 230, 227, 226, 225, 224, 221, 220, 219, 215,
+ 214, 213, 212, 211, 210, 206, 199, 196, 195, 193,
+ 191, 190, 182, 165, 145, 122, 110, 107, 106, 104,
+ 43, 100, 98, 97, 88, 43, 1586, 11, 1586, 1586,
+ 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586,
+
+ 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586,
+ 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586,
+ 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586,
+ 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586,
+ 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586,
+ 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586,
+ 1586
} ;
-static const flex_int16_t yy_chk[2055] =
+static const flex_int16_t yy_chk[2062] =
{ 0,
- 0, 1, 1, 1, 0, 1, 1, 716, 1, 1,
+ 0, 1, 1, 1, 0, 1, 1, 0, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 21, 607, 3, 3, 3, 21, 1, 1, 3, 44,
+ 21, 610, 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,
- 607, 8, 8, 8, 1, 8, 44, 27, 28, 109,
+ 610, 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, 717,
+ 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, 162, 162,
+ 19, 22, 22, 22, 22, 22, 91, 20, 168, 168,
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, 45, 45, 45, 303, 58, 69, 69, 45, 45,
+ 73, 67, 717, 67, 45, 93, 45, 45, 55, 45,
+ 73, 45, 45, 45, 304, 58, 69, 69, 45, 45,
- 69, 45, 58, 96, 303, 92, 69, 45, 45, 45,
+ 69, 45, 58, 96, 304, 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, 636, 62, 70, 58, 62, 62, 70,
- 58, 71, 75, 70, 636, 94, 75, 101, 58, 78,
+ 62, 96, 58, 640, 62, 70, 58, 62, 62, 70,
+ 58, 71, 75, 70, 640, 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, 168, 168, 77, 150, 105,
- 76, 76, 78, 112, 101, 115, 76, 78, 587, 587,
+ 76, 94, 78, 76, 150, 281, 294, 77, 150, 105,
+ 76, 76, 78, 112, 101, 115, 76, 78, 281, 718,
77, 95, 77, 81, 81, 81, 81, 81, 82, 111,
82, 82, 82, 82, 82, 77, 81, 113, 115, 83,
719, 83, 77, 82, 83, 83, 83, 83, 83, 84,
- 114, 84, 84, 84, 84, 84, 103, 111, 386, 81,
- 108, 119, 386, 103, 84, 113, 82, 85, 85, 85,
+ 114, 84, 84, 84, 84, 84, 103, 111, 294, 81,
+ 108, 119, 720, 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, 169, 119,
126, 140, 169, 103, 140, 137, 169, 103, 140, 126,
- 126, 103, 164, 85, 156, 164, 164, 185, 176, 103,
- 167, 179, 184, 103, 186, 103, 103, 118, 118, 118,
- 118, 118, 188, 720, 293, 721, 118, 118, 118, 118,
-
- 118, 118, 156, 185, 156, 176, 187, 186, 179, 189,
- 184, 197, 194, 198, 200, 167, 167, 167, 188, 118,
- 118, 118, 118, 118, 118, 202, 167, 204, 167, 209,
- 167, 167, 189, 167, 187, 194, 218, 200, 280, 197,
- 198, 248, 271, 258, 218, 271, 293, 722, 202, 218,
- 218, 280, 209, 295, 204, 207, 207, 207, 207, 207,
- 298, 307, 723, 724, 207, 207, 207, 207, 207, 207,
- 288, 304, 306, 306, 310, 288, 295, 725, 329, 258,
- 317, 306, 390, 298, 307, 377, 390, 207, 207, 207,
- 207, 207, 207, 258, 248, 329, 348, 248, 365, 418,
-
- 304, 348, 310, 315, 315, 315, 315, 315, 365, 317,
- 653, 726, 315, 315, 315, 315, 315, 315, 335, 404,
- 358, 358, 404, 410, 335, 358, 727, 418, 410, 428,
- 546, 428, 448, 653, 728, 315, 315, 315, 315, 315,
- 315, 661, 661, 377, 661, 448, 430, 448, 457, 348,
- 547, 652, 698, 457, 348, 698, 428, 546, 428, 429,
- 429, 429, 429, 429, 729, 730, 731, 733, 429, 429,
- 429, 429, 429, 429, 430, 548, 659, 732, 547, 652,
- 548, 735, 659, 736, 732, 739, 740, 741, 742, 734,
- 734, 429, 429, 429, 429, 429, 429, 734, 737, 743,
-
- 744, 734, 745, 746, 737, 747, 748, 749, 750, 751,
- 753, 754, 755, 756, 757, 758, 759, 760, 761, 763,
- 764, 765, 766, 767, 768, 769, 770, 771, 772, 773,
- 774, 775, 776, 777, 778, 779, 780, 781, 783, 754,
- 784, 785, 786, 787, 788, 789, 790, 791, 792, 788,
- 793, 794, 795, 796, 799, 800, 801, 802, 803, 806,
- 807, 808, 809, 810, 811, 812, 813, 814, 811, 815,
- 816, 817, 819, 820, 821, 822, 823, 824, 825, 826,
- 827, 828, 829, 830, 831, 832, 833, 834, 835, 836,
- 837, 838, 839, 840, 841, 842, 843, 844, 846, 847,
-
- 848, 849, 850, 851, 852, 853, 854, 855, 856, 858,
- 859, 860, 861, 862, 863, 864, 865, 866, 867, 868,
- 869, 870, 871, 872, 873, 874, 875, 876, 877, 878,
- 879, 880, 882, 859, 883, 884, 858, 885, 886, 887,
- 888, 889, 890, 892, 893, 894, 895, 896, 898, 899,
- 900, 901, 902, 903, 904, 905, 906, 907, 908, 909,
- 910, 911, 912, 913, 914, 915, 916, 917, 919, 920,
- 921, 923, 924, 925, 926, 927, 928, 916, 929, 930,
- 931, 932, 933, 934, 935, 936, 937, 938, 939, 940,
- 942, 943, 944, 945, 946, 947, 948, 949, 950, 951,
-
- 952, 953, 954, 955, 895, 956, 958, 957, 959, 960,
- 961, 962, 963, 965, 966, 967, 968, 969, 970, 971,
- 972, 973, 974, 976, 977, 978, 979, 980, 981, 982,
- 983, 984, 985, 956, 957, 986, 987, 988, 989, 990,
- 992, 993, 994, 995, 996, 992, 997, 998, 999, 1000,
- 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010,
- 1011, 1012, 1013, 1014, 1015, 1016, 1018, 1019, 1020, 1021,
- 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1030, 1031, 1032,
- 1034, 1035, 1036, 1037, 1038, 993, 1039, 1040, 1041, 1042,
- 1043, 1044, 1045, 1046, 1047, 1049, 1050, 1051, 1052, 1053,
-
- 1054, 1055, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064,
- 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1050,
- 1076, 1077, 1078, 1079, 1080, 1051, 1081, 1084, 1086, 1087,
- 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1097, 1098,
- 1099, 1100, 1102, 1103, 1104, 1105, 1106, 1109, 1110, 1111,
- 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121,
- 1122, 1123, 1124, 1126, 1127, 1128, 1131, 1132, 1133, 1134,
- 1135, 1136, 1137, 1138, 1139, 1140, 1142, 1143, 1144, 1145,
- 1146, 1147, 1148, 1149, 1151, 1152, 1153, 1154, 1155, 1156,
- 1157, 1158, 1160, 1161, 1162, 1163, 1164, 1165, 1166, 1167,
-
- 1168, 1169, 1139, 1170, 1171, 1172, 1173, 1174, 1175, 1118,
- 1176, 1177, 1178, 1179, 1181, 1184, 1175, 1185, 1186, 1187,
- 1188, 1189, 1190, 1145, 1191, 1192, 1194, 1195, 1196, 1197,
- 1198, 1199, 1200, 1202, 1203, 1205, 1208, 1210, 1212, 1213,
- 1214, 1215, 1216, 1218, 1219, 1214, 1220, 1222, 1223, 1224,
- 1225, 1226, 1227, 1228, 1229, 1230, 1231, 1233, 1234, 1235,
- 1236, 1237, 1238, 1239, 1240, 1216, 1241, 1242, 1243, 1246,
- 1248, 1249, 1250, 1251, 1252, 1253, 1254, 1256, 1257, 1258,
- 1259, 1260, 1261, 1263, 1264, 1266, 1267, 1268, 1269, 1271,
- 1272, 1273, 1274, 1275, 1276, 1277, 1279, 1281, 1283, 1285,
-
- 1286, 1287, 1288, 1289, 1290, 1291, 1292, 1293, 1294, 1295,
- 1296, 1297, 1298, 1299, 1300, 1301, 1302, 1303, 1304, 1305,
- 1305, 1306, 1307, 1308, 1309, 1283, 1310, 1311, 1312, 1313,
- 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1321, 1322, 1323,
- 1324, 1325, 1326, 1327, 1328, 1330, 1331, 1332, 1334, 1335,
- 1336, 1339, 1337, 1342, 1343, 1344, 1347, 1348, 1349, 1352,
- 1353, 1354, 1355, 1356, 1357, 1358, 1359, 1361, 1362, 1364,
- 1366, 1367, 1368, 1369, 1370, 1371, 1372, 1374, 1375, 1306,
- 1337, 1376, 1377, 1378, 1379, 1380, 1381, 1382, 1383, 1384,
- 1385, 1386, 1387, 1389, 1390, 1391, 1392, 1393, 1395, 1396,
-
- 1397, 1398, 1399, 1400, 1401, 1403, 1404, 1405, 1407, 1409,
- 1410, 1411, 1412, 1413, 1414, 1415, 1416, 1417, 1418, 1419,
- 1420, 1421, 1423, 1424, 1426, 1429, 1432, 1434, 1435, 1436,
- 1438, 1439, 1441, 1442, 1443, 1444, 1445, 1446, 1448, 1449,
- 1450, 1452, 1453, 1454, 1455, 1456, 1457, 1458, 1459, 1461,
- 1462, 1463, 1464, 1465, 1466, 1467, 1468, 1469, 1470, 1471,
- 1474, 1475, 1476, 1477, 1478, 1479, 1480, 1482, 1483, 1484,
- 1485, 1486, 1487, 1488, 1489, 1490, 1492, 1493, 1494, 1495,
- 1496, 1498, 1502, 1504, 1505, 1506, 1507, 1509, 1511, 1512,
- 1513, 1514, 1516, 1517, 1519, 1520, 1523, 1524, 1525, 1526,
-
- 1527, 1528, 1529, 1530, 1531, 1532, 1533, 1534, 1535, 1536,
- 1537, 1538, 1539, 1540, 1541, 1542, 1543, 1544, 1546, 1547,
- 1548, 1549, 1550, 1552, 1554, 1555, 1556, 1557, 1558, 1559,
- 1563, 1564, 1565, 1566, 1568, 1569, 1571, 1572, 1573, 1574,
- 1575, 1577, 1578, 1581, 1581, 1581, 1581, 1581, 1582, 1582,
- 1582, 1582, 1582, 1583, 1589, 1583, 1583, 1583, 1584, 1590,
- 1584, 1591, 1584, 1585, 1585, 1585, 1585, 1585, 1586, 1586,
- 1586, 1586, 1586, 1587, 1592, 1587, 1587, 1587, 1588, 1588,
- 1588, 715, 714, 713, 712, 710, 709, 708, 707, 706,
- 705, 704, 703, 702, 700, 699, 697, 696, 695, 694,
-
- 693, 692, 691, 690, 689, 688, 687, 686, 685, 684,
- 683, 682, 680, 679, 678, 677, 676, 675, 674, 673,
- 672, 671, 670, 669, 668, 667, 666, 665, 664, 663,
- 662, 660, 658, 657, 656, 655, 654, 651, 650, 649,
- 647, 646, 644, 643, 642, 641, 640, 639, 638, 637,
- 634, 633, 632, 631, 630, 629, 628, 627, 626, 625,
- 624, 623, 622, 620, 619, 618, 617, 616, 615, 614,
- 613, 611, 610, 609, 608, 606, 605, 604, 603, 602,
- 601, 600, 598, 597, 596, 595, 594, 593, 592, 591,
- 590, 589, 588, 586, 585, 584, 583, 582, 581, 580,
-
- 579, 578, 577, 576, 575, 573, 572, 571, 570, 569,
- 568, 567, 566, 565, 564, 563, 562, 561, 560, 559,
- 558, 557, 556, 555, 554, 553, 552, 551, 550, 544,
- 542, 539, 538, 537, 536, 534, 533, 532, 530, 529,
- 526, 525, 524, 523, 522, 521, 520, 519, 518, 517,
- 516, 515, 514, 513, 512, 511, 510, 509, 508, 507,
- 506, 505, 504, 503, 502, 501, 500, 499, 497, 495,
- 494, 493, 492, 491, 490, 489, 488, 487, 486, 485,
- 484, 482, 481, 480, 479, 478, 477, 476, 475, 474,
- 473, 472, 471, 470, 469, 468, 467, 466, 465, 464,
-
- 463, 461, 460, 459, 458, 456, 455, 454, 453, 452,
- 450, 449, 447, 446, 444, 443, 442, 441, 440, 439,
- 438, 436, 435, 434, 433, 432, 431, 426, 425, 423,
- 422, 421, 420, 419, 417, 416, 414, 411, 409, 408,
- 406, 405, 403, 402, 401, 400, 399, 398, 397, 396,
- 395, 394, 393, 392, 391, 389, 388, 387, 385, 384,
- 383, 382, 380, 379, 378, 376, 375, 374, 373, 372,
- 371, 370, 369, 368, 366, 364, 363, 362, 361, 360,
- 359, 357, 356, 355, 354, 353, 352, 351, 350, 349,
- 347, 346, 345, 344, 343, 342, 341, 340, 339, 338,
-
- 337, 336, 334, 333, 332, 331, 328, 327, 326, 325,
- 324, 323, 322, 321, 320, 319, 318, 314, 312, 309,
- 308, 305, 301, 294, 292, 291, 290, 289, 287, 286,
- 285, 284, 283, 282, 281, 279, 278, 277, 276, 275,
- 274, 273, 272, 270, 269, 268, 267, 266, 265, 264,
- 263, 262, 261, 260, 259, 257, 256, 255, 254, 253,
- 252, 251, 250, 249, 247, 246, 245, 244, 243, 242,
- 241, 240, 238, 237, 236, 235, 234, 233, 232, 231,
- 230, 229, 228, 227, 226, 225, 224, 223, 222, 221,
- 220, 219, 217, 216, 215, 214, 213, 212, 211, 210,
-
- 208, 205, 203, 201, 199, 196, 195, 193, 190, 182,
- 181, 180, 178, 177, 175, 174, 173, 172, 171, 170,
- 166, 165, 163, 161, 160, 159, 158, 157, 155, 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,
- 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
- 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
-
- 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
- 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
- 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
- 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
- 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
- 1580, 1580, 1580, 1580
+ 126, 103, 186, 85, 156, 162, 162, 162, 164, 103,
+ 167, 164, 164, 103, 176, 103, 103, 118, 118, 118,
+ 118, 118, 185, 248, 721, 186, 118, 118, 118, 118,
+
+ 118, 118, 156, 188, 156, 179, 184, 187, 258, 722,
+ 197, 176, 198, 189, 194, 167, 167, 167, 185, 118,
+ 118, 118, 118, 118, 118, 200, 167, 202, 167, 188,
+ 167, 167, 179, 167, 184, 187, 189, 194, 197, 198,
+ 204, 209, 272, 218, 258, 272, 248, 289, 200, 248,
+ 202, 218, 289, 296, 379, 305, 218, 218, 258, 311,
+ 299, 318, 308, 366, 209, 307, 307, 204, 207, 207,
+ 207, 207, 207, 366, 307, 330, 296, 207, 207, 207,
+ 207, 207, 207, 299, 305, 308, 549, 311, 336, 388,
+ 318, 349, 330, 388, 336, 392, 349, 420, 723, 392,
+
+ 207, 207, 207, 207, 207, 207, 316, 316, 316, 316,
+ 316, 406, 379, 549, 406, 316, 316, 316, 316, 316,
+ 316, 359, 359, 412, 432, 420, 359, 430, 412, 430,
+ 459, 551, 450, 724, 550, 459, 551, 656, 316, 316,
+ 316, 316, 316, 316, 349, 450, 725, 450, 726, 349,
+ 590, 590, 432, 657, 430, 727, 430, 431, 431, 431,
+ 431, 431, 550, 728, 729, 656, 431, 431, 431, 431,
+ 431, 431, 663, 730, 665, 665, 657, 665, 663, 702,
+ 731, 732, 702, 733, 734, 735, 736, 738, 737, 431,
+ 431, 431, 431, 431, 431, 737, 739, 739, 740, 741,
+
+ 742, 744, 745, 746, 739, 747, 742, 748, 739, 749,
+ 750, 751, 752, 753, 754, 755, 756, 758, 759, 760,
+ 761, 762, 763, 764, 765, 766, 768, 769, 770, 771,
+ 772, 773, 774, 775, 776, 777, 778, 779, 780, 781,
+ 782, 783, 784, 785, 786, 788, 759, 789, 790, 791,
+ 792, 793, 794, 795, 796, 797, 793, 798, 799, 800,
+ 801, 804, 805, 806, 807, 808, 811, 812, 813, 814,
+ 815, 816, 817, 818, 819, 816, 820, 821, 822, 825,
+ 826, 827, 828, 829, 830, 831, 832, 833, 834, 835,
+ 836, 837, 838, 839, 840, 841, 842, 843, 844, 845,
+
+ 846, 847, 848, 849, 850, 852, 853, 854, 855, 856,
+ 857, 858, 859, 860, 861, 862, 864, 865, 866, 867,
+ 868, 869, 870, 871, 872, 873, 874, 875, 876, 877,
+ 878, 879, 880, 881, 882, 883, 884, 885, 886, 888,
+ 865, 889, 890, 864, 891, 892, 893, 894, 895, 896,
+ 898, 899, 900, 901, 902, 904, 905, 906, 907, 908,
+ 909, 910, 911, 912, 913, 914, 915, 916, 917, 918,
+ 919, 920, 921, 922, 923, 925, 926, 927, 929, 930,
+ 931, 932, 933, 934, 922, 935, 936, 937, 938, 939,
+ 940, 941, 942, 943, 944, 945, 946, 948, 949, 950,
+
+ 951, 952, 953, 954, 955, 956, 957, 958, 959, 960,
+ 961, 901, 962, 964, 963, 965, 966, 967, 968, 969,
+ 971, 972, 973, 974, 975, 976, 977, 978, 979, 980,
+ 982, 983, 984, 985, 986, 987, 988, 989, 990, 991,
+ 962, 963, 992, 993, 994, 995, 996, 998, 999, 1000,
+ 1001, 1002, 998, 1003, 1004, 1005, 1006, 1007, 1008, 1009,
+ 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019,
+ 1020, 1021, 1022, 1024, 1025, 1026, 1027, 1028, 1029, 1030,
+ 1031, 1032, 1033, 1034, 1036, 1037, 1038, 1040, 1041, 1042,
+ 1043, 1044, 999, 1045, 1046, 1047, 1048, 1049, 1050, 1051,
+
+ 1052, 1053, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1063,
+ 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1073, 1074, 1075,
+ 1076, 1077, 1078, 1079, 1080, 1081, 1056, 1082, 1083, 1084,
+ 1085, 1086, 1057, 1087, 1090, 1092, 1093, 1094, 1095, 1096,
+ 1097, 1098, 1099, 1100, 1101, 1103, 1104, 1105, 1106, 1108,
+ 1109, 1110, 1111, 1112, 1115, 1116, 1117, 1118, 1119, 1120,
+ 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130,
+ 1132, 1133, 1134, 1137, 1138, 1139, 1140, 1141, 1142, 1143,
+ 1144, 1145, 1146, 1148, 1149, 1150, 1151, 1152, 1153, 1154,
+ 1155, 1157, 1158, 1159, 1160, 1161, 1162, 1163, 1164, 1166,
+
+ 1167, 1168, 1169, 1170, 1171, 1172, 1173, 1174, 1175, 1145,
+ 1176, 1177, 1178, 1179, 1180, 1181, 1124, 1182, 1183, 1184,
+ 1185, 1187, 1190, 1181, 1191, 1192, 1193, 1194, 1195, 1196,
+ 1151, 1197, 1198, 1200, 1201, 1202, 1203, 1204, 1205, 1206,
+ 1208, 1209, 1211, 1214, 1216, 1218, 1219, 1220, 1221, 1222,
+ 1224, 1225, 1220, 1226, 1228, 1229, 1230, 1231, 1232, 1233,
+ 1234, 1235, 1236, 1237, 1239, 1240, 1241, 1242, 1243, 1244,
+ 1245, 1246, 1222, 1247, 1248, 1249, 1252, 1254, 1255, 1256,
+ 1257, 1258, 1259, 1260, 1262, 1263, 1264, 1265, 1266, 1267,
+ 1269, 1270, 1272, 1273, 1274, 1275, 1277, 1278, 1279, 1280,
+
+ 1281, 1282, 1283, 1285, 1287, 1289, 1291, 1292, 1293, 1294,
+ 1295, 1296, 1297, 1298, 1299, 1300, 1301, 1302, 1303, 1304,
+ 1305, 1306, 1307, 1308, 1309, 1310, 1311, 1311, 1312, 1313,
+ 1314, 1315, 1289, 1316, 1317, 1318, 1319, 1320, 1321, 1322,
+ 1323, 1324, 1325, 1326, 1327, 1328, 1329, 1330, 1331, 1332,
+ 1333, 1334, 1336, 1337, 1338, 1340, 1341, 1342, 1345, 1343,
+ 1348, 1349, 1350, 1353, 1354, 1355, 1358, 1359, 1360, 1361,
+ 1362, 1363, 1364, 1365, 1367, 1368, 1370, 1372, 1373, 1374,
+ 1375, 1376, 1377, 1378, 1380, 1381, 1312, 1343, 1382, 1383,
+ 1384, 1385, 1386, 1387, 1388, 1389, 1390, 1391, 1392, 1393,
+
+ 1395, 1396, 1397, 1398, 1399, 1401, 1402, 1403, 1404, 1405,
+ 1406, 1407, 1409, 1410, 1411, 1413, 1415, 1416, 1417, 1418,
+ 1419, 1420, 1421, 1422, 1423, 1424, 1425, 1426, 1427, 1429,
+ 1430, 1432, 1435, 1438, 1440, 1441, 1442, 1444, 1445, 1447,
+ 1448, 1449, 1450, 1451, 1452, 1454, 1455, 1456, 1458, 1459,
+ 1460, 1461, 1462, 1463, 1464, 1465, 1467, 1468, 1469, 1470,
+ 1471, 1472, 1473, 1474, 1475, 1476, 1477, 1480, 1481, 1482,
+ 1483, 1484, 1485, 1486, 1488, 1489, 1490, 1491, 1492, 1493,
+ 1494, 1495, 1496, 1498, 1499, 1500, 1501, 1502, 1504, 1508,
+ 1510, 1511, 1512, 1513, 1515, 1517, 1518, 1519, 1520, 1522,
+
+ 1523, 1525, 1526, 1529, 1530, 1531, 1532, 1533, 1534, 1535,
+ 1536, 1537, 1538, 1539, 1540, 1541, 1542, 1543, 1544, 1545,
+ 1546, 1547, 1548, 1549, 1550, 1552, 1553, 1554, 1555, 1556,
+ 1558, 1560, 1561, 1562, 1563, 1564, 1565, 1569, 1570, 1571,
+ 1572, 1574, 1575, 1577, 1578, 1579, 1580, 1581, 1583, 1584,
+ 1587, 1587, 1587, 1587, 1587, 1588, 1588, 1588, 1588, 1588,
+ 1589, 1595, 1589, 1589, 1589, 1590, 1596, 1590, 1597, 1590,
+ 1591, 1591, 1591, 1591, 1591, 1592, 1592, 1592, 1592, 1592,
+ 1593, 1598, 1593, 1593, 1593, 1594, 1594, 1594, 714, 713,
+ 712, 711, 710, 709, 708, 707, 706, 704, 703, 701,
+
+ 700, 699, 698, 697, 696, 695, 694, 693, 692, 691,
+ 690, 689, 688, 687, 686, 684, 683, 682, 681, 680,
+ 679, 678, 677, 676, 675, 674, 673, 672, 671, 670,
+ 669, 668, 667, 666, 664, 662, 661, 660, 659, 658,
+ 655, 654, 653, 651, 650, 648, 647, 646, 645, 644,
+ 643, 642, 641, 638, 637, 636, 635, 634, 633, 632,
+ 631, 630, 629, 628, 627, 626, 624, 623, 622, 621,
+ 620, 619, 618, 617, 615, 614, 613, 612, 611, 609,
+ 608, 607, 606, 605, 604, 603, 601, 600, 599, 598,
+ 597, 596, 595, 594, 593, 592, 591, 589, 588, 587,
+
+ 586, 585, 584, 583, 582, 581, 580, 579, 578, 576,
+ 575, 574, 573, 572, 571, 570, 569, 568, 567, 566,
+ 565, 564, 563, 562, 561, 560, 559, 558, 557, 556,
+ 555, 554, 553, 547, 545, 542, 541, 540, 539, 537,
+ 536, 535, 533, 532, 529, 528, 527, 526, 525, 524,
+ 523, 522, 521, 520, 519, 518, 517, 516, 515, 514,
+ 513, 512, 511, 510, 509, 508, 507, 506, 505, 504,
+ 503, 502, 500, 498, 497, 496, 495, 494, 493, 492,
+ 491, 490, 489, 488, 487, 486, 484, 483, 482, 481,
+ 480, 479, 478, 477, 476, 475, 474, 473, 472, 471,
+
+ 470, 469, 468, 467, 466, 465, 463, 462, 461, 460,
+ 458, 457, 456, 455, 454, 452, 451, 449, 448, 446,
+ 445, 444, 443, 442, 441, 440, 438, 437, 436, 435,
+ 434, 433, 428, 427, 425, 424, 423, 422, 421, 419,
+ 418, 416, 413, 411, 410, 408, 407, 405, 404, 403,
+ 402, 401, 400, 399, 398, 397, 396, 395, 394, 393,
+ 391, 390, 389, 387, 386, 385, 384, 382, 381, 380,
+ 378, 377, 376, 375, 374, 373, 372, 371, 370, 369,
+ 367, 365, 364, 363, 362, 361, 360, 358, 357, 356,
+ 355, 354, 353, 352, 351, 350, 348, 347, 346, 345,
+
+ 344, 343, 342, 341, 340, 339, 338, 337, 335, 334,
+ 333, 332, 329, 328, 327, 326, 325, 324, 323, 322,
+ 321, 320, 319, 315, 313, 310, 309, 306, 302, 295,
+ 293, 292, 291, 290, 288, 287, 286, 285, 284, 283,
+ 282, 280, 279, 278, 277, 276, 275, 274, 273, 271,
+ 270, 269, 268, 267, 266, 265, 264, 263, 262, 261,
+ 260, 259, 257, 256, 255, 254, 253, 252, 251, 250,
+ 249, 247, 246, 245, 244, 243, 242, 241, 240, 238,
+ 237, 236, 235, 234, 233, 232, 231, 230, 229, 228,
+ 227, 226, 225, 224, 223, 222, 221, 220, 219, 217,
+
+ 216, 215, 214, 213, 212, 211, 210, 208, 205, 203,
+ 201, 199, 196, 195, 193, 190, 182, 181, 180, 178,
+ 177, 175, 174, 173, 172, 171, 170, 166, 165, 163,
+ 161, 160, 159, 158, 157, 155, 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, 1586, 1586, 1586,
+ 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586,
+
+ 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586,
+ 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586,
+ 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586,
+ 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586,
+ 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586,
+ 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586,
+ 1586
} ;
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[183] =
+static const flex_int16_t yy_rule_linenum[184] =
{ 0,
147, 149, 151, 156, 157, 162, 163, 164, 176, 179,
184, 191, 200, 209, 218, 227, 236, 245, 255, 264,
677, 687, 701, 717, 726, 735, 744, 753, 774, 795,
804, 814, 823, 834, 843, 852, 861, 870, 879, 889,
898, 909, 920, 932, 941, 951, 960, 969, 978, 987,
- 996, 1005, 1014, 1024, 1035, 1047, 1056, 1065, 1075, 1085,
+ 996, 1005, 1014, 1023, 1033, 1044, 1056, 1065, 1074, 1084,
- 1095, 1105, 1115, 1125, 1134, 1144, 1153, 1162, 1171, 1180,
- 1190, 1200, 1209, 1219, 1228, 1237, 1246, 1255, 1264, 1273,
+ 1094, 1104, 1114, 1124, 1134, 1143, 1153, 1162, 1171, 1180,
+ 1189, 1199, 1209, 1218, 1228, 1237, 1246, 1255, 1264, 1273,
1282, 1291, 1300, 1309, 1318, 1327, 1336, 1345, 1354, 1363,
1372, 1381, 1390, 1399, 1408, 1417, 1426, 1435, 1444, 1453,
- 1462, 1471, 1481, 1491, 1501, 1511, 1521, 1531, 1541, 1551,
- 1561, 1571, 1581, 1590, 1599, 1608, 1617, 1626, 1635, 1644,
- 1655, 1666, 1679, 1692, 1707, 1806, 1811, 1816, 1821, 1822,
- 1823, 1824, 1825, 1826, 1828, 1846, 1859, 1864, 1868, 1870,
- 1872, 1874
+ 1462, 1471, 1480, 1490, 1500, 1510, 1520, 1530, 1540, 1550,
+ 1560, 1570, 1580, 1590, 1599, 1608, 1617, 1626, 1635, 1644,
+ 1653, 1664, 1675, 1688, 1701, 1716, 1815, 1820, 1825, 1830,
+ 1831, 1832, 1833, 1834, 1835, 1837, 1855, 1868, 1873, 1877,
+ 1879, 1881, 1883
} ;
/* The intent behind this definition is that it'll catch
/* To avoid the call to exit... oops! */
#define YY_FATAL_ERROR(msg) isc::dhcp::Parser4Context::fatal(msg)
-#line 1824 "dhcp4_lexer.cc"
+#line 1827 "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 1850 "dhcp4_lexer.cc"
-#line 1851 "dhcp4_lexer.cc"
+#line 1853 "dhcp4_lexer.cc"
+#line 1854 "dhcp4_lexer.cc"
#define INITIAL 0
#define COMMENT 1
}
-#line 2181 "dhcp4_lexer.cc"
+#line 2184 "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 >= 1581 )
+ if ( yy_current_state >= 1587 )
yy_c = yy_meta[yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
++yy_cp;
}
- while ( yy_current_state != 1580 );
+ while ( yy_current_state != 1586 );
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 < 183 )
+ else if ( yy_act < 184 )
fprintf( stderr, "--accepting rule at line %ld (\"%s\")\n",
(long)yy_rule_linenum[yy_act], yytext );
- else if ( yy_act == 183 )
+ else if ( yy_act == 184 )
fprintf( stderr, "--accepting default rule (\"%s\")\n",
yytext );
- else if ( yy_act == 184 )
+ else if ( yy_act == 185 )
fprintf( stderr, "--(end of buffer or a NUL)\n" );
else
fprintf( stderr, "--EOF (start condition %d)\n", YY_START );
case 92:
YY_RULE_SETUP
#line 1005 "dhcp4_lexer.ll"
+{
+ switch(driver.ctx_) {
+ case isc::dhcp::Parser4Context::OUTPUT_OPTIONS:
+ return isc::dhcp::Dhcp4Parser::make_PATTERN(driver.loc_);
+ default:
+ return isc::dhcp::Dhcp4Parser::make_STRING("pattern", driver.loc_);
+ }
+}
+ YY_BREAK
+case 93:
+YY_RULE_SETUP
+#line 1014 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::LOGGERS:
}
}
YY_BREAK
-case 93:
+case 94:
YY_RULE_SETUP
-#line 1014 "dhcp4_lexer.ll"
+#line 1023 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 94:
+case 95:
YY_RULE_SETUP
-#line 1024 "dhcp4_lexer.ll"
+#line 1033 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::SUBNET4:
}
}
YY_BREAK
-case 95:
+case 96:
YY_RULE_SETUP
-#line 1035 "dhcp4_lexer.ll"
+#line 1044 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::SUBNET4:
}
}
YY_BREAK
-case 96:
+case 97:
YY_RULE_SETUP
-#line 1047 "dhcp4_lexer.ll"
+#line 1056 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::CLIENT_CLASSES:
}
}
YY_BREAK
-case 97:
+case 98:
YY_RULE_SETUP
-#line 1056 "dhcp4_lexer.ll"
+#line 1065 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::CLIENT_CLASSES:
}
}
YY_BREAK
-case 98:
+case 99:
YY_RULE_SETUP
-#line 1065 "dhcp4_lexer.ll"
+#line 1074 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 99:
+case 100:
YY_RULE_SETUP
-#line 1075 "dhcp4_lexer.ll"
+#line 1084 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS:
}
}
YY_BREAK
-case 100:
+case 101:
YY_RULE_SETUP
-#line 1085 "dhcp4_lexer.ll"
+#line 1094 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS:
}
}
YY_BREAK
-case 101:
+case 102:
YY_RULE_SETUP
-#line 1095 "dhcp4_lexer.ll"
+#line 1104 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS:
}
}
YY_BREAK
-case 102:
+case 103:
YY_RULE_SETUP
-#line 1105 "dhcp4_lexer.ll"
+#line 1114 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS:
}
}
YY_BREAK
-case 103:
+case 104:
YY_RULE_SETUP
-#line 1115 "dhcp4_lexer.ll"
+#line 1124 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS:
}
}
YY_BREAK
-case 104:
+case 105:
YY_RULE_SETUP
-#line 1125 "dhcp4_lexer.ll"
+#line 1134 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::RESERVATIONS:
}
}
YY_BREAK
-case 105:
+case 106:
YY_RULE_SETUP
-#line 1134 "dhcp4_lexer.ll"
+#line 1143 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::OPTION_DEF:
}
}
YY_BREAK
-case 106:
+case 107:
YY_RULE_SETUP
-#line 1144 "dhcp4_lexer.ll"
+#line 1153 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::OPTION_DATA:
}
}
YY_BREAK
-case 107:
+case 108:
YY_RULE_SETUP
-#line 1153 "dhcp4_lexer.ll"
+#line 1162 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::OPTION_DEF:
}
}
YY_BREAK
-case 108:
+case 109:
YY_RULE_SETUP
-#line 1162 "dhcp4_lexer.ll"
+#line 1171 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::OPTION_DEF:
}
}
YY_BREAK
-case 109:
+case 110:
YY_RULE_SETUP
-#line 1171 "dhcp4_lexer.ll"
+#line 1180 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::OPTION_DEF:
}
}
YY_BREAK
-case 110:
+case 111:
YY_RULE_SETUP
-#line 1180 "dhcp4_lexer.ll"
+#line 1189 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::SUBNET4:
}
}
YY_BREAK
-case 111:
+case 112:
YY_RULE_SETUP
-#line 1190 "dhcp4_lexer.ll"
+#line 1199 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::RELAY:
}
}
YY_BREAK
-case 112:
+case 113:
YY_RULE_SETUP
-#line 1200 "dhcp4_lexer.ll"
+#line 1209 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::RELAY:
}
}
YY_BREAK
-case 113:
+case 114:
YY_RULE_SETUP
-#line 1209 "dhcp4_lexer.ll"
+#line 1218 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 114:
+case 115:
YY_RULE_SETUP
-#line 1219 "dhcp4_lexer.ll"
+#line 1228 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::HOOKS_LIBRARIES:
}
}
YY_BREAK
-case 115:
+case 116:
YY_RULE_SETUP
-#line 1228 "dhcp4_lexer.ll"
+#line 1237 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::HOOKS_LIBRARIES:
}
}
YY_BREAK
-case 116:
+case 117:
YY_RULE_SETUP
-#line 1237 "dhcp4_lexer.ll"
+#line 1246 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 117:
+case 118:
YY_RULE_SETUP
-#line 1246 "dhcp4_lexer.ll"
+#line 1255 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING:
}
}
YY_BREAK
-case 118:
+case 119:
YY_RULE_SETUP
-#line 1255 "dhcp4_lexer.ll"
+#line 1264 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING:
}
}
YY_BREAK
-case 119:
+case 120:
YY_RULE_SETUP
-#line 1264 "dhcp4_lexer.ll"
+#line 1273 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING:
}
}
YY_BREAK
-case 120:
+case 121:
YY_RULE_SETUP
-#line 1273 "dhcp4_lexer.ll"
+#line 1282 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING:
}
}
YY_BREAK
-case 121:
+case 122:
YY_RULE_SETUP
-#line 1282 "dhcp4_lexer.ll"
+#line 1291 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING:
}
}
YY_BREAK
-case 122:
+case 123:
YY_RULE_SETUP
-#line 1291 "dhcp4_lexer.ll"
+#line 1300 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING:
}
}
YY_BREAK
-case 123:
+case 124:
YY_RULE_SETUP
-#line 1300 "dhcp4_lexer.ll"
+#line 1309 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 124:
+case 125:
YY_RULE_SETUP
-#line 1309 "dhcp4_lexer.ll"
+#line 1318 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 125:
+case 126:
YY_RULE_SETUP
-#line 1318 "dhcp4_lexer.ll"
+#line 1327 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::CONTROL_SOCKET:
}
}
YY_BREAK
-case 126:
+case 127:
YY_RULE_SETUP
-#line 1327 "dhcp4_lexer.ll"
+#line 1336 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::CONTROL_SOCKET:
}
}
YY_BREAK
-case 127:
+case 128:
YY_RULE_SETUP
-#line 1336 "dhcp4_lexer.ll"
+#line 1345 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 128:
+case 129:
YY_RULE_SETUP
-#line 1345 "dhcp4_lexer.ll"
+#line 1354 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 129:
+case 130:
YY_RULE_SETUP
-#line 1354 "dhcp4_lexer.ll"
+#line 1363 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_DDNS:
}
}
YY_BREAK
-case 130:
+case 131:
YY_RULE_SETUP
-#line 1363 "dhcp4_lexer.ll"
+#line 1372 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_DDNS:
}
}
YY_BREAK
-case 131:
+case 132:
YY_RULE_SETUP
-#line 1372 "dhcp4_lexer.ll"
+#line 1381 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_DDNS:
}
}
YY_BREAK
-case 132:
+case 133:
YY_RULE_SETUP
-#line 1381 "dhcp4_lexer.ll"
+#line 1390 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_DDNS:
}
}
YY_BREAK
-case 133:
+case 134:
YY_RULE_SETUP
-#line 1390 "dhcp4_lexer.ll"
+#line 1399 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_DDNS:
}
}
YY_BREAK
-case 134:
+case 135:
YY_RULE_SETUP
-#line 1399 "dhcp4_lexer.ll"
+#line 1408 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_DDNS:
}
}
YY_BREAK
-case 135:
+case 136:
YY_RULE_SETUP
-#line 1408 "dhcp4_lexer.ll"
+#line 1417 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_DDNS:
}
}
YY_BREAK
-case 136:
+case 137:
YY_RULE_SETUP
-#line 1417 "dhcp4_lexer.ll"
+#line 1426 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_DDNS:
}
}
YY_BREAK
-case 137:
+case 138:
YY_RULE_SETUP
-#line 1426 "dhcp4_lexer.ll"
+#line 1435 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_DDNS:
}
}
YY_BREAK
-case 138:
+case 139:
YY_RULE_SETUP
-#line 1435 "dhcp4_lexer.ll"
+#line 1444 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_DDNS:
}
}
YY_BREAK
-case 139:
+case 140:
YY_RULE_SETUP
-#line 1444 "dhcp4_lexer.ll"
+#line 1453 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_DDNS:
}
}
YY_BREAK
-case 140:
+case 141:
YY_RULE_SETUP
-#line 1453 "dhcp4_lexer.ll"
+#line 1462 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_DDNS:
}
}
YY_BREAK
-case 141:
+case 142:
YY_RULE_SETUP
-#line 1462 "dhcp4_lexer.ll"
+#line 1471 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_DDNS:
}
}
YY_BREAK
-case 142:
+case 143:
YY_RULE_SETUP
-#line 1471 "dhcp4_lexer.ll"
+#line 1480 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 143:
+case 144:
YY_RULE_SETUP
-#line 1481 "dhcp4_lexer.ll"
+#line 1490 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 144:
+case 145:
YY_RULE_SETUP
-#line 1491 "dhcp4_lexer.ll"
+#line 1500 "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 145:
+case 146:
YY_RULE_SETUP
-#line 1501 "dhcp4_lexer.ll"
+#line 1510 "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 146:
+case 147:
YY_RULE_SETUP
-#line 1511 "dhcp4_lexer.ll"
+#line 1520 "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 147:
+case 148:
YY_RULE_SETUP
-#line 1521 "dhcp4_lexer.ll"
+#line 1530 "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 149:
YY_RULE_SETUP
-#line 1531 "dhcp4_lexer.ll"
+#line 1540 "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 149:
+case 150:
YY_RULE_SETUP
-#line 1541 "dhcp4_lexer.ll"
+#line 1550 "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 150:
+case 151:
YY_RULE_SETUP
-#line 1551 "dhcp4_lexer.ll"
+#line 1560 "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 151:
+case 152:
YY_RULE_SETUP
-#line 1561 "dhcp4_lexer.ll"
+#line 1570 "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 152:
+case 153:
YY_RULE_SETUP
-#line 1571 "dhcp4_lexer.ll"
+#line 1580 "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 153:
+case 154:
YY_RULE_SETUP
-#line 1581 "dhcp4_lexer.ll"
+#line 1590 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::CONFIG:
}
}
YY_BREAK
-case 154:
+case 155:
YY_RULE_SETUP
-#line 1590 "dhcp4_lexer.ll"
+#line 1599 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::CONFIG:
}
}
YY_BREAK
-case 155:
+case 156:
YY_RULE_SETUP
-#line 1599 "dhcp4_lexer.ll"
+#line 1608 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::CONFIG:
}
}
YY_BREAK
-case 156:
+case 157:
YY_RULE_SETUP
-#line 1608 "dhcp4_lexer.ll"
+#line 1617 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::SUBNET4:
}
}
YY_BREAK
-case 157:
+case 158:
YY_RULE_SETUP
-#line 1617 "dhcp4_lexer.ll"
+#line 1626 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::SUBNET4:
}
}
YY_BREAK
-case 158:
+case 159:
YY_RULE_SETUP
-#line 1626 "dhcp4_lexer.ll"
+#line 1635 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::SUBNET4:
}
}
YY_BREAK
-case 159:
+case 160:
YY_RULE_SETUP
-#line 1635 "dhcp4_lexer.ll"
+#line 1644 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 160:
+case 161:
YY_RULE_SETUP
-#line 1644 "dhcp4_lexer.ll"
+#line 1653 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 161:
+case 162:
YY_RULE_SETUP
-#line 1655 "dhcp4_lexer.ll"
+#line 1664 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 162:
+case 163:
YY_RULE_SETUP
-#line 1666 "dhcp4_lexer.ll"
+#line 1675 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 163:
+case 164:
YY_RULE_SETUP
-#line 1679 "dhcp4_lexer.ll"
+#line 1688 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 164:
+case 165:
YY_RULE_SETUP
-#line 1692 "dhcp4_lexer.ll"
+#line 1701 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
}
}
YY_BREAK
-case 165:
+case 166:
YY_RULE_SETUP
-#line 1707 "dhcp4_lexer.ll"
+#line 1716 "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 166:
-/* rule 166 can match eol */
+case 167:
+/* rule 167 can match eol */
YY_RULE_SETUP
-#line 1806 "dhcp4_lexer.ll"
+#line 1815 "dhcp4_lexer.ll"
{
/* Bad string with a forbidden control character inside */
driver.error(driver.loc_, "Invalid control in " + std::string(yytext));
}
YY_BREAK
-case 167:
-/* rule 167 can match eol */
+case 168:
+/* rule 168 can match eol */
YY_RULE_SETUP
-#line 1811 "dhcp4_lexer.ll"
+#line 1820 "dhcp4_lexer.ll"
{
/* Bad string with a bad escape inside */
driver.error(driver.loc_, "Bad escape in " + std::string(yytext));
}
YY_BREAK
-case 168:
+case 169:
YY_RULE_SETUP
-#line 1816 "dhcp4_lexer.ll"
+#line 1825 "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 169:
+case 170:
YY_RULE_SETUP
-#line 1821 "dhcp4_lexer.ll"
+#line 1830 "dhcp4_lexer.ll"
{ return isc::dhcp::Dhcp4Parser::make_LSQUARE_BRACKET(driver.loc_); }
YY_BREAK
-case 170:
+case 171:
YY_RULE_SETUP
-#line 1822 "dhcp4_lexer.ll"
+#line 1831 "dhcp4_lexer.ll"
{ return isc::dhcp::Dhcp4Parser::make_RSQUARE_BRACKET(driver.loc_); }
YY_BREAK
-case 171:
+case 172:
YY_RULE_SETUP
-#line 1823 "dhcp4_lexer.ll"
+#line 1832 "dhcp4_lexer.ll"
{ return isc::dhcp::Dhcp4Parser::make_LCURLY_BRACKET(driver.loc_); }
YY_BREAK
-case 172:
+case 173:
YY_RULE_SETUP
-#line 1824 "dhcp4_lexer.ll"
+#line 1833 "dhcp4_lexer.ll"
{ return isc::dhcp::Dhcp4Parser::make_RCURLY_BRACKET(driver.loc_); }
YY_BREAK
-case 173:
+case 174:
YY_RULE_SETUP
-#line 1825 "dhcp4_lexer.ll"
+#line 1834 "dhcp4_lexer.ll"
{ return isc::dhcp::Dhcp4Parser::make_COMMA(driver.loc_); }
YY_BREAK
-case 174:
+case 175:
YY_RULE_SETUP
-#line 1826 "dhcp4_lexer.ll"
+#line 1835 "dhcp4_lexer.ll"
{ return isc::dhcp::Dhcp4Parser::make_COLON(driver.loc_); }
YY_BREAK
-case 175:
+case 176:
YY_RULE_SETUP
-#line 1828 "dhcp4_lexer.ll"
+#line 1837 "dhcp4_lexer.ll"
{
/* An integer was found. */
std::string tmp(yytext);
return isc::dhcp::Dhcp4Parser::make_INTEGER(integer, driver.loc_);
}
YY_BREAK
-case 176:
+case 177:
YY_RULE_SETUP
-#line 1846 "dhcp4_lexer.ll"
+#line 1855 "dhcp4_lexer.ll"
{
/* A floating point was found. */
std::string tmp(yytext);
return isc::dhcp::Dhcp4Parser::make_FLOAT(fp, driver.loc_);
}
YY_BREAK
-case 177:
+case 178:
YY_RULE_SETUP
-#line 1859 "dhcp4_lexer.ll"
+#line 1868 "dhcp4_lexer.ll"
{
string tmp(yytext);
return isc::dhcp::Dhcp4Parser::make_BOOLEAN(tmp == "true", driver.loc_);
}
YY_BREAK
-case 178:
+case 179:
YY_RULE_SETUP
-#line 1864 "dhcp4_lexer.ll"
+#line 1873 "dhcp4_lexer.ll"
{
return isc::dhcp::Dhcp4Parser::make_NULL_TYPE(driver.loc_);
}
YY_BREAK
-case 179:
+case 180:
YY_RULE_SETUP
-#line 1868 "dhcp4_lexer.ll"
+#line 1877 "dhcp4_lexer.ll"
driver.error (driver.loc_, "JSON true reserved keyword is lower case only");
YY_BREAK
-case 180:
+case 181:
YY_RULE_SETUP
-#line 1870 "dhcp4_lexer.ll"
+#line 1879 "dhcp4_lexer.ll"
driver.error (driver.loc_, "JSON false reserved keyword is lower case only");
YY_BREAK
-case 181:
+case 182:
YY_RULE_SETUP
-#line 1872 "dhcp4_lexer.ll"
+#line 1881 "dhcp4_lexer.ll"
driver.error (driver.loc_, "JSON null reserved keyword is lower case only");
YY_BREAK
-case 182:
+case 183:
YY_RULE_SETUP
-#line 1874 "dhcp4_lexer.ll"
+#line 1883 "dhcp4_lexer.ll"
driver.error (driver.loc_, "Invalid character: " + std::string(yytext));
YY_BREAK
case YY_STATE_EOF(INITIAL):
-#line 1876 "dhcp4_lexer.ll"
+#line 1885 "dhcp4_lexer.ll"
{
if (driver.states_.empty()) {
return isc::dhcp::Dhcp4Parser::make_END(driver.loc_);
BEGIN(DIR_EXIT);
}
YY_BREAK
-case 183:
+case 184:
YY_RULE_SETUP
-#line 1899 "dhcp4_lexer.ll"
+#line 1908 "dhcp4_lexer.ll"
ECHO;
YY_BREAK
-#line 4576 "dhcp4_lexer.cc"
+#line 4591 "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 >= 1581 )
+ if ( yy_current_state >= 1587 )
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 >= 1581 )
+ if ( yy_current_state >= 1587 )
yy_c = yy_meta[yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
- yy_is_jam = (yy_current_state == 1580);
+ yy_is_jam = (yy_current_state == 1586);
return yy_is_jam ? 0 : yy_current_state;
}
/* %ok-for-header */
-#line 1899 "dhcp4_lexer.ll"
+#line 1908 "dhcp4_lexer.ll"
using namespace isc::dhcp;
}
}
+\"pattern\" {
+ switch(driver.ctx_) {
+ case isc::dhcp::Parser4Context::OUTPUT_OPTIONS:
+ return isc::dhcp::Dhcp4Parser::make_PATTERN(driver.loc_);
+ default:
+ return isc::dhcp::Dhcp4Parser::make_STRING("pattern", driver.loc_);
+ }
+}
+
\"severity\" {
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::LOGGERS:
-// A Bison parser, made by GNU Bison 3.4.1.
+// 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"
+#line 34 "dhcp4_parser.yy" // lalr1.cc:413
#include <dhcp4/parser_context.h>
-#line 51 "dhcp4_parser.cc"
+#line 59 "dhcp4_parser.cc" // lalr1.cc:413
#ifndef YY_
# endif
#endif
-// Whether we are compiled with exception support.
-#ifndef YY_EXCEPTIONS
-# if defined __GNUC__ && !defined __EXCEPTIONS
-# define YY_EXCEPTIONS 0
-# else
-# define YY_EXCEPTIONS 1
-# endif
-#endif
-
#define YYRHSLOC(Rhs, K) ((Rhs)[K].location)
/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
If N is 0, then set CURRENT to the empty location which ends
{ \
(Current).begin = (Current).end = YYRHSLOC (Rhs, 0).end; \
} \
- while (false)
+ while (/*CONSTCOND*/ false)
# endif
{ \
*yycdebug_ << Title << ' '; \
yy_print_ (*yycdebug_, Symbol); \
- *yycdebug_ << '\n'; \
+ *yycdebug_ << std::endl; \
} \
} while (false)
#else // !PARSER4_DEBUG
# define YYCDEBUG if (false) std::cerr
-# define YY_SYMBOL_PRINT(Title, Symbol) YYUSE (Symbol)
-# define YY_REDUCE_PRINT(Rule) static_cast<void> (0)
-# define YY_STACK_PRINT() static_cast<void> (0)
+# define YY_SYMBOL_PRINT(Title, Symbol) YYUSE(Symbol)
+# define YY_REDUCE_PRINT(Rule) static_cast<void>(0)
+# define YY_STACK_PRINT() static_cast<void>(0)
#endif // !PARSER4_DEBUG
#define YYERROR goto yyerrorlab
#define YYRECOVERING() (!!yyerrstatus_)
-#line 14 "dhcp4_parser.yy"
+#line 14 "dhcp4_parser.yy" // lalr1.cc:479
namespace isc { namespace dhcp {
-#line 146 "dhcp4_parser.cc"
-
+#line 145 "dhcp4_parser.cc" // lalr1.cc:479
/* Return YYSTR after stripping away unnecessary quotes and
backslashes, so that it's suitable for yyerror. The heuristic is
{
if (*yystr == '"')
{
- std::string yyr;
+ std::string yyr = "";
char const *yyp = yystr;
for (;;)
case '\\':
if (*++yyp != '\\')
goto do_not_strip_quotes;
- else
- goto append;
-
- append:
+ // Fall through.
default:
yyr += *yyp;
break;
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 193: // value
- case 197: // map_value
- case 243: // socket_type
- case 246: // outbound_interface_value
- case 268: // db_type
- case 354: // hr_mode
- case 503: // ncr_protocol_value
- case 510: // replace_client_name_value
- value.YY_MOVE_OR_COPY< ElementPtr > (YY_MOVE (that.value));
- break;
-
- case 176: // "boolean"
- value.YY_MOVE_OR_COPY< bool > (YY_MOVE (that.value));
- break;
-
- case 175: // "floating point"
- value.YY_MOVE_OR_COPY< double > (YY_MOVE (that.value));
- break;
-
- case 174: // "integer"
- value.YY_MOVE_OR_COPY< int64_t > (YY_MOVE (that.value));
- break;
-
- case 173: // "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 193: // value
- case 197: // map_value
- case 243: // socket_type
- case 246: // outbound_interface_value
- case 268: // db_type
- case 354: // hr_mode
- case 503: // ncr_protocol_value
- case 510: // replace_client_name_value
- value.move< ElementPtr > (YY_MOVE (that.value));
+ switch (that.type_get ())
+ {
+ case 194: // value
+ case 198: // map_value
+ case 244: // socket_type
+ case 247: // outbound_interface_value
+ case 269: // db_type
+ case 355: // hr_mode
+ case 504: // ncr_protocol_value
+ case 511: // replace_client_name_value
+ value.move< ElementPtr > (that.value);
break;
- case 176: // "boolean"
- value.move< bool > (YY_MOVE (that.value));
+ case 177: // "boolean"
+ value.move< bool > (that.value);
break;
- case 175: // "floating point"
- value.move< double > (YY_MOVE (that.value));
+ case 176: // "floating point"
+ value.move< double > (that.value);
break;
- case 174: // "integer"
- value.move< int64_t > (YY_MOVE (that.value));
+ case 175: // "integer"
+ value.move< int64_t > (that.value);
break;
- case 173: // "constant string"
- value.move< std::string > (YY_MOVE (that.value));
+ case 174: // "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 193: // value
- case 197: // map_value
- case 243: // socket_type
- case 246: // outbound_interface_value
- case 268: // db_type
- case 354: // hr_mode
- case 503: // ncr_protocol_value
- case 510: // replace_client_name_value
- value.move< ElementPtr > (that.value);
+ switch (that.type_get ())
+ {
+ case 194: // value
+ case 198: // map_value
+ case 244: // socket_type
+ case 247: // outbound_interface_value
+ case 269: // db_type
+ case 355: // hr_mode
+ case 504: // ncr_protocol_value
+ case 511: // replace_client_name_value
+ value.copy< ElementPtr > (that.value);
break;
- case 176: // "boolean"
- value.move< bool > (that.value);
+ case 177: // "boolean"
+ value.copy< bool > (that.value);
break;
- case 175: // "floating point"
- value.move< double > (that.value);
+ case 176: // "floating point"
+ value.copy< double > (that.value);
break;
- case 174: // "integer"
- value.move< int64_t > (that.value);
+ case 175: // "integer"
+ value.copy< int64_t > (that.value);
break;
- case 173: // "constant string"
- value.move< std::string > (that.value);
+ case 174: // "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 173: // "constant string"
-#line 255 "dhcp4_parser.yy"
- { yyoutput << yysym.value.template as < std::string > (); }
-#line 408 "dhcp4_parser.cc"
+ case 174: // "constant string"
+
+#line 256 "dhcp4_parser.yy" // lalr1.cc:636
+ { yyoutput << yysym.value.template as< std::string > (); }
+#line 366 "dhcp4_parser.cc" // lalr1.cc:636
break;
- case 174: // "integer"
-#line 255 "dhcp4_parser.yy"
- { yyoutput << yysym.value.template as < int64_t > (); }
-#line 414 "dhcp4_parser.cc"
+ case 175: // "integer"
+
+#line 256 "dhcp4_parser.yy" // lalr1.cc:636
+ { yyoutput << yysym.value.template as< int64_t > (); }
+#line 373 "dhcp4_parser.cc" // lalr1.cc:636
break;
- case 175: // "floating point"
-#line 255 "dhcp4_parser.yy"
- { yyoutput << yysym.value.template as < double > (); }
-#line 420 "dhcp4_parser.cc"
+ case 176: // "floating point"
+
+#line 256 "dhcp4_parser.yy" // lalr1.cc:636
+ { yyoutput << yysym.value.template as< double > (); }
+#line 380 "dhcp4_parser.cc" // lalr1.cc:636
break;
- case 176: // "boolean"
-#line 255 "dhcp4_parser.yy"
- { yyoutput << yysym.value.template as < bool > (); }
-#line 426 "dhcp4_parser.cc"
+ case 177: // "boolean"
+
+#line 256 "dhcp4_parser.yy" // lalr1.cc:636
+ { yyoutput << yysym.value.template as< bool > (); }
+#line 387 "dhcp4_parser.cc" // lalr1.cc:636
break;
- case 193: // value
-#line 255 "dhcp4_parser.yy"
- { yyoutput << yysym.value.template as < ElementPtr > (); }
-#line 432 "dhcp4_parser.cc"
+ case 194: // value
+
+#line 256 "dhcp4_parser.yy" // lalr1.cc:636
+ { yyoutput << yysym.value.template as< ElementPtr > (); }
+#line 394 "dhcp4_parser.cc" // lalr1.cc:636
break;
- case 197: // map_value
-#line 255 "dhcp4_parser.yy"
- { yyoutput << yysym.value.template as < ElementPtr > (); }
-#line 438 "dhcp4_parser.cc"
+ case 198: // map_value
+
+#line 256 "dhcp4_parser.yy" // lalr1.cc:636
+ { yyoutput << yysym.value.template as< ElementPtr > (); }
+#line 401 "dhcp4_parser.cc" // lalr1.cc:636
break;
- case 243: // socket_type
-#line 255 "dhcp4_parser.yy"
- { yyoutput << yysym.value.template as < ElementPtr > (); }
-#line 444 "dhcp4_parser.cc"
+ case 244: // socket_type
+
+#line 256 "dhcp4_parser.yy" // lalr1.cc:636
+ { yyoutput << yysym.value.template as< ElementPtr > (); }
+#line 408 "dhcp4_parser.cc" // lalr1.cc:636
break;
- case 246: // outbound_interface_value
-#line 255 "dhcp4_parser.yy"
- { yyoutput << yysym.value.template as < ElementPtr > (); }
-#line 450 "dhcp4_parser.cc"
+ case 247: // outbound_interface_value
+
+#line 256 "dhcp4_parser.yy" // lalr1.cc:636
+ { yyoutput << yysym.value.template as< ElementPtr > (); }
+#line 415 "dhcp4_parser.cc" // lalr1.cc:636
break;
- case 268: // db_type
-#line 255 "dhcp4_parser.yy"
- { yyoutput << yysym.value.template as < ElementPtr > (); }
-#line 456 "dhcp4_parser.cc"
+ case 269: // db_type
+
+#line 256 "dhcp4_parser.yy" // lalr1.cc:636
+ { yyoutput << yysym.value.template as< ElementPtr > (); }
+#line 422 "dhcp4_parser.cc" // lalr1.cc:636
break;
- case 354: // hr_mode
-#line 255 "dhcp4_parser.yy"
- { yyoutput << yysym.value.template as < ElementPtr > (); }
-#line 462 "dhcp4_parser.cc"
+ case 355: // hr_mode
+
+#line 256 "dhcp4_parser.yy" // lalr1.cc:636
+ { yyoutput << yysym.value.template as< ElementPtr > (); }
+#line 429 "dhcp4_parser.cc" // lalr1.cc:636
break;
- case 503: // ncr_protocol_value
-#line 255 "dhcp4_parser.yy"
- { yyoutput << yysym.value.template as < ElementPtr > (); }
-#line 468 "dhcp4_parser.cc"
+ case 504: // ncr_protocol_value
+
+#line 256 "dhcp4_parser.yy" // lalr1.cc:636
+ { yyoutput << yysym.value.template as< ElementPtr > (); }
+#line 436 "dhcp4_parser.cc" // lalr1.cc:636
break;
- case 510: // replace_client_name_value
-#line 255 "dhcp4_parser.yy"
- { yyoutput << yysym.value.template as < ElementPtr > (); }
-#line 474 "dhcp4_parser.cc"
+ case 511: // replace_client_name_value
+
+#line 256 "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 193: // value
- case 197: // map_value
- case 243: // socket_type
- case 246: // outbound_interface_value
- case 268: // db_type
- case 354: // hr_mode
- case 503: // ncr_protocol_value
- case 510: // replace_client_name_value
- yylhs.value.emplace< ElementPtr > ();
+ switch (yyr1_[yyn])
+ {
+ case 194: // value
+ case 198: // map_value
+ case 244: // socket_type
+ case 247: // outbound_interface_value
+ case 269: // db_type
+ case 355: // hr_mode
+ case 504: // ncr_protocol_value
+ case 511: // replace_client_name_value
+ yylhs.value.build< ElementPtr > ();
break;
- case 176: // "boolean"
- yylhs.value.emplace< bool > ();
+ case 177: // "boolean"
+ yylhs.value.build< bool > ();
break;
- case 175: // "floating point"
- yylhs.value.emplace< double > ();
+ case 176: // "floating point"
+ yylhs.value.build< double > ();
break;
- case 174: // "integer"
- yylhs.value.emplace< int64_t > ();
+ case 175: // "integer"
+ yylhs.value.build< int64_t > ();
break;
- case 173: // "constant string"
- yylhs.value.emplace< std::string > ();
+ case 174: // "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 264 "dhcp4_parser.yy"
+#line 265 "dhcp4_parser.yy" // lalr1.cc:859
{ ctx.ctx_ = ctx.NO_KEYWORD; }
-#line 741 "dhcp4_parser.cc"
+#line 690 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 4:
-#line 265 "dhcp4_parser.yy"
+#line 266 "dhcp4_parser.yy" // lalr1.cc:859
{ ctx.ctx_ = ctx.CONFIG; }
-#line 747 "dhcp4_parser.cc"
+#line 696 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 6:
-#line 266 "dhcp4_parser.yy"
+#line 267 "dhcp4_parser.yy" // lalr1.cc:859
{ ctx.ctx_ = ctx.DHCP4; }
-#line 753 "dhcp4_parser.cc"
+#line 702 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 8:
-#line 267 "dhcp4_parser.yy"
+#line 268 "dhcp4_parser.yy" // lalr1.cc:859
{ ctx.ctx_ = ctx.INTERFACES_CONFIG; }
-#line 759 "dhcp4_parser.cc"
+#line 708 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 10:
-#line 268 "dhcp4_parser.yy"
+#line 269 "dhcp4_parser.yy" // lalr1.cc:859
{ ctx.ctx_ = ctx.SUBNET4; }
-#line 765 "dhcp4_parser.cc"
+#line 714 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 12:
-#line 269 "dhcp4_parser.yy"
+#line 270 "dhcp4_parser.yy" // lalr1.cc:859
{ ctx.ctx_ = ctx.POOLS; }
-#line 771 "dhcp4_parser.cc"
+#line 720 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 14:
-#line 270 "dhcp4_parser.yy"
+#line 271 "dhcp4_parser.yy" // lalr1.cc:859
{ ctx.ctx_ = ctx.RESERVATIONS; }
-#line 777 "dhcp4_parser.cc"
+#line 726 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 16:
-#line 271 "dhcp4_parser.yy"
+#line 272 "dhcp4_parser.yy" // lalr1.cc:859
{ ctx.ctx_ = ctx.DHCP4; }
-#line 783 "dhcp4_parser.cc"
+#line 732 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 18:
-#line 272 "dhcp4_parser.yy"
+#line 273 "dhcp4_parser.yy" // lalr1.cc:859
{ ctx.ctx_ = ctx.OPTION_DEF; }
-#line 789 "dhcp4_parser.cc"
+#line 738 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 20:
-#line 273 "dhcp4_parser.yy"
+#line 274 "dhcp4_parser.yy" // lalr1.cc:859
{ ctx.ctx_ = ctx.OPTION_DATA; }
-#line 795 "dhcp4_parser.cc"
+#line 744 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 22:
-#line 274 "dhcp4_parser.yy"
+#line 275 "dhcp4_parser.yy" // lalr1.cc:859
{ ctx.ctx_ = ctx.HOOKS_LIBRARIES; }
-#line 801 "dhcp4_parser.cc"
+#line 750 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 24:
-#line 275 "dhcp4_parser.yy"
+#line 276 "dhcp4_parser.yy" // lalr1.cc:859
{ ctx.ctx_ = ctx.DHCP_DDNS; }
-#line 807 "dhcp4_parser.cc"
+#line 756 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 26:
-#line 276 "dhcp4_parser.yy"
+#line 277 "dhcp4_parser.yy" // lalr1.cc:859
{ ctx.ctx_ = ctx.LOGGING; }
-#line 813 "dhcp4_parser.cc"
+#line 762 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 28:
-#line 277 "dhcp4_parser.yy"
+#line 278 "dhcp4_parser.yy" // lalr1.cc:859
{ ctx.ctx_ = ctx.CONFIG_CONTROL; }
-#line 819 "dhcp4_parser.cc"
+#line 768 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 30:
-#line 285 "dhcp4_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); }
-#line 825 "dhcp4_parser.cc"
+#line 286 "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 286 "dhcp4_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location))); }
-#line 831 "dhcp4_parser.cc"
+#line 287 "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 287 "dhcp4_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); }
-#line 837 "dhcp4_parser.cc"
+#line 288 "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 288 "dhcp4_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); }
-#line 843 "dhcp4_parser.cc"
+#line 289 "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 289 "dhcp4_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new NullElement(ctx.loc2pos(yystack_[0].location))); }
-#line 849 "dhcp4_parser.cc"
+#line 290 "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 290 "dhcp4_parser.yy"
- { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); }
-#line 855 "dhcp4_parser.cc"
+#line 291 "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 291 "dhcp4_parser.yy"
- { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); }
-#line 861 "dhcp4_parser.cc"
+#line 292 "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 294 "dhcp4_parser.yy"
+#line 295 "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 870 "dhcp4_parser.cc"
+#line 819 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 38:
-#line 299 "dhcp4_parser.yy"
+#line 300 "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 881 "dhcp4_parser.cc"
+#line 830 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 39:
-#line 304 "dhcp4_parser.yy"
+#line 305 "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 891 "dhcp4_parser.cc"
+#line 840 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 40:
-#line 310 "dhcp4_parser.yy"
- { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); }
-#line 897 "dhcp4_parser.cc"
+#line 311 "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 317 "dhcp4_parser.yy"
+#line 318 "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 906 "dhcp4_parser.cc"
+#line 855 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 44:
-#line 321 "dhcp4_parser.yy"
+#line 322 "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 916 "dhcp4_parser.cc"
+#line 865 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 45:
-#line 328 "dhcp4_parser.yy"
+#line 329 "dhcp4_parser.yy" // lalr1.cc:859
{
ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.push_back(l);
}
-#line 925 "dhcp4_parser.cc"
+#line 874 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 46:
-#line 331 "dhcp4_parser.yy"
+#line 332 "dhcp4_parser.yy" // lalr1.cc:859
{
// list parsing complete. Put any sanity checking here
}
-#line 933 "dhcp4_parser.cc"
+#line 882 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 49:
-#line 339 "dhcp4_parser.yy"
+#line 340 "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 942 "dhcp4_parser.cc"
+#line 891 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 50:
-#line 343 "dhcp4_parser.yy"
+#line 344 "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 951 "dhcp4_parser.cc"
+#line 900 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 51:
-#line 350 "dhcp4_parser.yy"
+#line 351 "dhcp4_parser.yy" // lalr1.cc:859
{
// List parsing about to start
}
-#line 959 "dhcp4_parser.cc"
+#line 908 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 52:
-#line 352 "dhcp4_parser.yy"
+#line 353 "dhcp4_parser.yy" // lalr1.cc:859
{
// list parsing complete. Put any sanity checking here
//ctx.stack_.pop_back();
}
-#line 968 "dhcp4_parser.cc"
+#line 917 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 55:
-#line 361 "dhcp4_parser.yy"
+#line 362 "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 977 "dhcp4_parser.cc"
+#line 926 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 56:
-#line 365 "dhcp4_parser.yy"
+#line 366 "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 986 "dhcp4_parser.cc"
+#line 935 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 57:
-#line 376 "dhcp4_parser.yy"
+#line 377 "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 997 "dhcp4_parser.cc"
+#line 946 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 58:
-#line 386 "dhcp4_parser.yy"
+#line 387 "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 1008 "dhcp4_parser.cc"
+#line 957 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 59:
-#line 391 "dhcp4_parser.yy"
+#line 392 "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 1021 "dhcp4_parser.cc"
+#line 970 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 68:
-#line 415 "dhcp4_parser.yy"
+#line 416 "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 1034 "dhcp4_parser.cc"
+#line 983 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 69:
-#line 422 "dhcp4_parser.yy"
+#line 423 "dhcp4_parser.yy" // lalr1.cc:859
{
// No global parameter is required
ctx.stack_.pop_back();
ctx.leave();
}
-#line 1044 "dhcp4_parser.cc"
+#line 993 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 70:
-#line 430 "dhcp4_parser.yy"
+#line 431 "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 1054 "dhcp4_parser.cc"
+#line 1003 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 71:
-#line 434 "dhcp4_parser.yy"
+#line 435 "dhcp4_parser.yy" // lalr1.cc:859
{
// No global parameter is required
// parsing completed
}
-#line 1063 "dhcp4_parser.cc"
+#line 1012 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 116:
-#line 489 "dhcp4_parser.yy"
+#line 490 "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 1072 "dhcp4_parser.cc"
+#line 1021 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 117:
-#line 494 "dhcp4_parser.yy"
+#line 495 "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("min-valid-lifetime", prf);
}
-#line 1081 "dhcp4_parser.cc"
+#line 1030 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 118:
-#line 499 "dhcp4_parser.yy"
+#line 500 "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("max-valid-lifetime", prf);
}
-#line 1090 "dhcp4_parser.cc"
+#line 1039 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 119:
-#line 504 "dhcp4_parser.yy"
+#line 505 "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 1099 "dhcp4_parser.cc"
+#line 1048 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 120:
-#line 509 "dhcp4_parser.yy"
+#line 510 "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 1108 "dhcp4_parser.cc"
+#line 1057 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 121:
-#line 514 "dhcp4_parser.yy"
+#line 515 "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 1117 "dhcp4_parser.cc"
+#line 1066 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 122:
-#line 519 "dhcp4_parser.yy"
+#line 520 "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 1126 "dhcp4_parser.cc"
+#line 1075 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 123:
-#line 524 "dhcp4_parser.yy"
+#line 525 "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 1135 "dhcp4_parser.cc"
+#line 1084 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 124:
-#line 529 "dhcp4_parser.yy"
+#line 530 "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 1144 "dhcp4_parser.cc"
+#line 1093 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 125:
-#line 534 "dhcp4_parser.yy"
+#line 535 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1152 "dhcp4_parser.cc"
+#line 1101 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 126:
-#line 536 "dhcp4_parser.yy"
+#line 537 "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 1162 "dhcp4_parser.cc"
+#line 1111 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 127:
-#line 542 "dhcp4_parser.yy"
+#line 543 "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 1171 "dhcp4_parser.cc"
+#line 1120 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 128:
-#line 547 "dhcp4_parser.yy"
+#line 548 "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 1180 "dhcp4_parser.cc"
+#line 1129 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 129:
-#line 552 "dhcp4_parser.yy"
+#line 553 "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 1189 "dhcp4_parser.cc"
+#line 1138 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 130:
-#line 558 "dhcp4_parser.yy"
+#line 559 "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 1200 "dhcp4_parser.cc"
+#line 1149 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 131:
-#line 563 "dhcp4_parser.yy"
+#line 564 "dhcp4_parser.yy" // lalr1.cc:859
{
// No interfaces config param is required
ctx.stack_.pop_back();
ctx.leave();
}
-#line 1210 "dhcp4_parser.cc"
+#line 1159 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 141:
-#line 582 "dhcp4_parser.yy"
+#line 583 "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 1220 "dhcp4_parser.cc"
+#line 1169 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 142:
-#line 586 "dhcp4_parser.yy"
+#line 587 "dhcp4_parser.yy" // lalr1.cc:859
{
// No interfaces config param is required
// parsing completed
}
-#line 1229 "dhcp4_parser.cc"
+#line 1178 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 143:
-#line 591 "dhcp4_parser.yy"
+#line 592 "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 1240 "dhcp4_parser.cc"
+#line 1189 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 144:
-#line 596 "dhcp4_parser.yy"
+#line 597 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 1249 "dhcp4_parser.cc"
+#line 1198 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 145:
-#line 601 "dhcp4_parser.yy"
+#line 602 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.DHCP_SOCKET_TYPE);
}
-#line 1257 "dhcp4_parser.cc"
+#line 1206 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 146:
-#line 603 "dhcp4_parser.yy"
+#line 604 "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 1266 "dhcp4_parser.cc"
+#line 1215 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 147:
-#line 608 "dhcp4_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("raw", ctx.loc2pos(yystack_[0].location))); }
-#line 1272 "dhcp4_parser.cc"
+#line 609 "dhcp4_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("raw", ctx.loc2pos(yystack_[0].location))); }
+#line 1221 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 148:
-#line 609 "dhcp4_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("udp", ctx.loc2pos(yystack_[0].location))); }
-#line 1278 "dhcp4_parser.cc"
+#line 610 "dhcp4_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("udp", ctx.loc2pos(yystack_[0].location))); }
+#line 1227 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 149:
-#line 612 "dhcp4_parser.yy"
+#line 613 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.OUTBOUND_INTERFACE);
}
-#line 1286 "dhcp4_parser.cc"
+#line 1235 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 150:
-#line 614 "dhcp4_parser.yy"
+#line 615 "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 1295 "dhcp4_parser.cc"
+#line 1244 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 151:
-#line 619 "dhcp4_parser.yy"
+#line 620 "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 1303 "dhcp4_parser.cc"
+#line 1252 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 152:
-#line 621 "dhcp4_parser.yy"
+#line 622 "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 1311 "dhcp4_parser.cc"
+#line 1260 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 153:
-#line 625 "dhcp4_parser.yy"
+#line 626 "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 1320 "dhcp4_parser.cc"
+#line 1269 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 154:
-#line 631 "dhcp4_parser.yy"
+#line 632 "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 1331 "dhcp4_parser.cc"
+#line 1280 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 155:
-#line 636 "dhcp4_parser.yy"
+#line 637 "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 1342 "dhcp4_parser.cc"
+#line 1291 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 156:
-#line 643 "dhcp4_parser.yy"
+#line 644 "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 1353 "dhcp4_parser.cc"
+#line 1302 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 157:
-#line 648 "dhcp4_parser.yy"
+#line 649 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 1362 "dhcp4_parser.cc"
+#line 1311 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 161:
-#line 658 "dhcp4_parser.yy"
+#line 659 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1370 "dhcp4_parser.cc"
+#line 1319 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 162:
-#line 660 "dhcp4_parser.yy"
+#line 661 "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 1390 "dhcp4_parser.cc"
+#line 1339 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 163:
-#line 676 "dhcp4_parser.yy"
+#line 677 "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 1401 "dhcp4_parser.cc"
+#line 1350 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 164:
-#line 681 "dhcp4_parser.yy"
+#line 682 "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 1412 "dhcp4_parser.cc"
+#line 1361 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 165:
-#line 688 "dhcp4_parser.yy"
+#line 689 "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 1423 "dhcp4_parser.cc"
+#line 1372 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 166:
-#line 693 "dhcp4_parser.yy"
+#line 694 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 1432 "dhcp4_parser.cc"
+#line 1381 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 171:
-#line 706 "dhcp4_parser.yy"
+#line 707 "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 1442 "dhcp4_parser.cc"
+#line 1391 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 172:
-#line 710 "dhcp4_parser.yy"
+#line 711 "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 1452 "dhcp4_parser.cc"
+#line 1401 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 195:
-#line 742 "dhcp4_parser.yy"
+#line 743 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.DATABASE_TYPE);
}
-#line 1460 "dhcp4_parser.cc"
+#line 1409 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 196:
-#line 744 "dhcp4_parser.yy"
+#line 745 "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 1469 "dhcp4_parser.cc"
+#line 1418 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 197:
-#line 749 "dhcp4_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("memfile", ctx.loc2pos(yystack_[0].location))); }
-#line 1475 "dhcp4_parser.cc"
+#line 750 "dhcp4_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("memfile", ctx.loc2pos(yystack_[0].location))); }
+#line 1424 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 198:
-#line 750 "dhcp4_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("mysql", ctx.loc2pos(yystack_[0].location))); }
-#line 1481 "dhcp4_parser.cc"
+#line 751 "dhcp4_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("mysql", ctx.loc2pos(yystack_[0].location))); }
+#line 1430 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 199:
-#line 751 "dhcp4_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("postgresql", ctx.loc2pos(yystack_[0].location))); }
-#line 1487 "dhcp4_parser.cc"
+#line 752 "dhcp4_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("postgresql", ctx.loc2pos(yystack_[0].location))); }
+#line 1436 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 200:
-#line 752 "dhcp4_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("cql", ctx.loc2pos(yystack_[0].location))); }
-#line 1493 "dhcp4_parser.cc"
+#line 753 "dhcp4_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("cql", ctx.loc2pos(yystack_[0].location))); }
+#line 1442 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 201:
-#line 755 "dhcp4_parser.yy"
+#line 756 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1501 "dhcp4_parser.cc"
+#line 1450 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 202:
-#line 757 "dhcp4_parser.yy"
+#line 758 "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 1511 "dhcp4_parser.cc"
+#line 1460 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 203:
-#line 763 "dhcp4_parser.yy"
+#line 764 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1519 "dhcp4_parser.cc"
+#line 1468 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 204:
-#line 765 "dhcp4_parser.yy"
+#line 766 "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 1529 "dhcp4_parser.cc"
+#line 1478 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 205:
-#line 771 "dhcp4_parser.yy"
+#line 772 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1537 "dhcp4_parser.cc"
+#line 1486 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 206:
-#line 773 "dhcp4_parser.yy"
+#line 774 "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 1547 "dhcp4_parser.cc"
+#line 1496 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 207:
-#line 779 "dhcp4_parser.yy"
+#line 780 "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 1556 "dhcp4_parser.cc"
+#line 1505 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 208:
-#line 784 "dhcp4_parser.yy"
+#line 785 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1564 "dhcp4_parser.cc"
+#line 1513 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 209:
-#line 786 "dhcp4_parser.yy"
+#line 787 "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 1574 "dhcp4_parser.cc"
+#line 1523 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 210:
-#line 792 "dhcp4_parser.yy"
+#line 793 "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 1583 "dhcp4_parser.cc"
+#line 1532 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 211:
-#line 797 "dhcp4_parser.yy"
+#line 798 "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 1592 "dhcp4_parser.cc"
+#line 1541 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 212:
-#line 802 "dhcp4_parser.yy"
+#line 803 "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 1601 "dhcp4_parser.cc"
+#line 1550 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 213:
-#line 807 "dhcp4_parser.yy"
+#line 808 "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 1610 "dhcp4_parser.cc"
+#line 1559 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 214:
-#line 812 "dhcp4_parser.yy"
+#line 813 "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 1619 "dhcp4_parser.cc"
+#line 1568 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 215:
-#line 817 "dhcp4_parser.yy"
+#line 818 "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 1628 "dhcp4_parser.cc"
+#line 1577 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 216:
-#line 822 "dhcp4_parser.yy"
+#line 823 "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 1637 "dhcp4_parser.cc"
+#line 1586 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 217:
-#line 827 "dhcp4_parser.yy"
+#line 828 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1645 "dhcp4_parser.cc"
+#line 1594 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 218:
-#line 829 "dhcp4_parser.yy"
+#line 830 "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 1655 "dhcp4_parser.cc"
+#line 1604 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 219:
-#line 835 "dhcp4_parser.yy"
+#line 836 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1663 "dhcp4_parser.cc"
+#line 1612 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 220:
-#line 837 "dhcp4_parser.yy"
+#line 838 "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 1673 "dhcp4_parser.cc"
+#line 1622 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 221:
-#line 843 "dhcp4_parser.yy"
+#line 844 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1681 "dhcp4_parser.cc"
+#line 1630 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 222:
-#line 845 "dhcp4_parser.yy"
+#line 846 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr c(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr c(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("consistency", c);
ctx.leave();
}
-#line 1691 "dhcp4_parser.cc"
+#line 1640 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 223:
-#line 851 "dhcp4_parser.yy"
+#line 852 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1699 "dhcp4_parser.cc"
+#line 1648 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 224:
-#line 853 "dhcp4_parser.yy"
+#line 854 "dhcp4_parser.yy" // lalr1.cc:859
{
- ElementPtr c(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr c(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("serial-consistency", c);
ctx.leave();
}
-#line 1709 "dhcp4_parser.cc"
+#line 1658 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 225:
-#line 859 "dhcp4_parser.yy"
+#line 860 "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("max-reconnect-tries", n);
}
-#line 1718 "dhcp4_parser.cc"
+#line 1667 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 226:
-#line 864 "dhcp4_parser.yy"
+#line 865 "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 1727 "dhcp4_parser.cc"
+#line 1676 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 227:
-#line 869 "dhcp4_parser.yy"
+#line 870 "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 1738 "dhcp4_parser.cc"
+#line 1687 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 228:
-#line 874 "dhcp4_parser.yy"
+#line 875 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 1747 "dhcp4_parser.cc"
+#line 1696 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 236:
-#line 890 "dhcp4_parser.yy"
+#line 891 "dhcp4_parser.yy" // lalr1.cc:859
{
ElementPtr duid(new StringElement("duid", ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(duid);
}
-#line 1756 "dhcp4_parser.cc"
+#line 1705 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 237:
-#line 895 "dhcp4_parser.yy"
+#line 896 "dhcp4_parser.yy" // lalr1.cc:859
{
ElementPtr hwaddr(new StringElement("hw-address", ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(hwaddr);
}
-#line 1765 "dhcp4_parser.cc"
+#line 1714 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 238:
-#line 900 "dhcp4_parser.yy"
+#line 901 "dhcp4_parser.yy" // lalr1.cc:859
{
ElementPtr circuit(new StringElement("circuit-id", ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(circuit);
}
-#line 1774 "dhcp4_parser.cc"
+#line 1723 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 239:
-#line 905 "dhcp4_parser.yy"
+#line 906 "dhcp4_parser.yy" // lalr1.cc:859
{
ElementPtr client(new StringElement("client-id", ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(client);
}
-#line 1783 "dhcp4_parser.cc"
+#line 1732 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 240:
-#line 910 "dhcp4_parser.yy"
+#line 911 "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 1792 "dhcp4_parser.cc"
+#line 1741 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 241:
-#line 915 "dhcp4_parser.yy"
+#line 916 "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 1803 "dhcp4_parser.cc"
+#line 1752 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 242:
-#line 920 "dhcp4_parser.yy"
+#line 921 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 1812 "dhcp4_parser.cc"
+#line 1761 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 247:
-#line 933 "dhcp4_parser.yy"
+#line 934 "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 1822 "dhcp4_parser.cc"
+#line 1771 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 248:
-#line 937 "dhcp4_parser.yy"
+#line 938 "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 1832 "dhcp4_parser.cc"
+#line 1781 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 249:
-#line 943 "dhcp4_parser.yy"
+#line 944 "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 1842 "dhcp4_parser.cc"
+#line 1791 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 250:
-#line 947 "dhcp4_parser.yy"
+#line 948 "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 1852 "dhcp4_parser.cc"
+#line 1801 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 256:
-#line 962 "dhcp4_parser.yy"
+#line 963 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1860 "dhcp4_parser.cc"
+#line 1809 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 257:
-#line 964 "dhcp4_parser.yy"
+#line 965 "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 1870 "dhcp4_parser.cc"
+#line 1819 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 258:
-#line 970 "dhcp4_parser.yy"
+#line 971 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1878 "dhcp4_parser.cc"
+#line 1827 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 259:
-#line 972 "dhcp4_parser.yy"
+#line 973 "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 1887 "dhcp4_parser.cc"
+#line 1836 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 260:
-#line 978 "dhcp4_parser.yy"
+#line 979 "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 1898 "dhcp4_parser.cc"
+#line 1847 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 261:
-#line 983 "dhcp4_parser.yy"
+#line 984 "dhcp4_parser.yy" // lalr1.cc:859
{
// No expired lease parameter is required
ctx.stack_.pop_back();
ctx.leave();
}
-#line 1908 "dhcp4_parser.cc"
+#line 1857 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 270:
-#line 1001 "dhcp4_parser.yy"
+#line 1002 "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 1917 "dhcp4_parser.cc"
+#line 1866 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 271:
-#line 1006 "dhcp4_parser.yy"
+#line 1007 "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 1926 "dhcp4_parser.cc"
+#line 1875 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 272:
-#line 1011 "dhcp4_parser.yy"
+#line 1012 "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 1935 "dhcp4_parser.cc"
+#line 1884 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 273:
-#line 1016 "dhcp4_parser.yy"
+#line 1017 "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 1944 "dhcp4_parser.cc"
+#line 1893 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 274:
-#line 1021 "dhcp4_parser.yy"
+#line 1022 "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 1953 "dhcp4_parser.cc"
+#line 1902 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 275:
-#line 1026 "dhcp4_parser.yy"
+#line 1027 "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 1962 "dhcp4_parser.cc"
+#line 1911 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 276:
-#line 1034 "dhcp4_parser.yy"
+#line 1035 "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 1973 "dhcp4_parser.cc"
+#line 1922 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 277:
-#line 1039 "dhcp4_parser.yy"
+#line 1040 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 1982 "dhcp4_parser.cc"
+#line 1931 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 282:
-#line 1059 "dhcp4_parser.yy"
+#line 1060 "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 1992 "dhcp4_parser.cc"
+#line 1941 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 283:
-#line 1063 "dhcp4_parser.yy"
+#line 1064 "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 2018 "dhcp4_parser.cc"
+#line 1967 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 284:
-#line 1085 "dhcp4_parser.yy"
+#line 1086 "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 2028 "dhcp4_parser.cc"
+#line 1977 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 285:
-#line 1089 "dhcp4_parser.yy"
+#line 1090 "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 2038 "dhcp4_parser.cc"
+#line 1987 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 317:
-#line 1132 "dhcp4_parser.yy"
+#line 1133 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2046 "dhcp4_parser.cc"
+#line 1995 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 318:
-#line 1134 "dhcp4_parser.yy"
+#line 1135 "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 2056 "dhcp4_parser.cc"
+#line 2005 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 319:
-#line 1140 "dhcp4_parser.yy"
+#line 1141 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2064 "dhcp4_parser.cc"
+#line 2013 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 320:
-#line 1142 "dhcp4_parser.yy"
+#line 1143 "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 2074 "dhcp4_parser.cc"
+#line 2023 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 321:
-#line 1148 "dhcp4_parser.yy"
+#line 1149 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2082 "dhcp4_parser.cc"
+#line 2031 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 322:
-#line 1150 "dhcp4_parser.yy"
+#line 1151 "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 2092 "dhcp4_parser.cc"
+#line 2041 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 323:
-#line 1156 "dhcp4_parser.yy"
+#line 1157 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2100 "dhcp4_parser.cc"
+#line 2049 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 324:
-#line 1158 "dhcp4_parser.yy"
+#line 1159 "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 2110 "dhcp4_parser.cc"
+#line 2059 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 325:
-#line 1164 "dhcp4_parser.yy"
+#line 1165 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2118 "dhcp4_parser.cc"
+#line 2067 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 326:
-#line 1166 "dhcp4_parser.yy"
+#line 1167 "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 2128 "dhcp4_parser.cc"
+#line 2077 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 327:
-#line 1172 "dhcp4_parser.yy"
+#line 1173 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2136 "dhcp4_parser.cc"
+#line 2085 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 328:
-#line 1174 "dhcp4_parser.yy"
+#line 1175 "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 2146 "dhcp4_parser.cc"
+#line 2095 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 329:
-#line 1180 "dhcp4_parser.yy"
+#line 1181 "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 2157 "dhcp4_parser.cc"
+#line 2106 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 330:
-#line 1185 "dhcp4_parser.yy"
+#line 1186 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 2166 "dhcp4_parser.cc"
+#line 2115 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 331:
-#line 1190 "dhcp4_parser.yy"
+#line 1191 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.RESERVATION_MODE);
}
-#line 2174 "dhcp4_parser.cc"
+#line 2123 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 332:
-#line 1192 "dhcp4_parser.yy"
+#line 1193 "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 2183 "dhcp4_parser.cc"
+#line 2132 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 333:
-#line 1197 "dhcp4_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("disabled", ctx.loc2pos(yystack_[0].location))); }
-#line 2189 "dhcp4_parser.cc"
+#line 1198 "dhcp4_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("disabled", ctx.loc2pos(yystack_[0].location))); }
+#line 2138 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 334:
-#line 1198 "dhcp4_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("out-of-pool", ctx.loc2pos(yystack_[0].location))); }
-#line 2195 "dhcp4_parser.cc"
+#line 1199 "dhcp4_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("out-of-pool", ctx.loc2pos(yystack_[0].location))); }
+#line 2144 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 335:
-#line 1199 "dhcp4_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("global", ctx.loc2pos(yystack_[0].location))); }
-#line 2201 "dhcp4_parser.cc"
+#line 1200 "dhcp4_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("global", ctx.loc2pos(yystack_[0].location))); }
+#line 2150 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 336:
-#line 1200 "dhcp4_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("all", ctx.loc2pos(yystack_[0].location))); }
-#line 2207 "dhcp4_parser.cc"
+#line 1201 "dhcp4_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("all", ctx.loc2pos(yystack_[0].location))); }
+#line 2156 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 337:
-#line 1203 "dhcp4_parser.yy"
+#line 1204 "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 2216 "dhcp4_parser.cc"
+#line 2165 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 338:
-#line 1210 "dhcp4_parser.yy"
+#line 1211 "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 2227 "dhcp4_parser.cc"
+#line 2176 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 339:
-#line 1215 "dhcp4_parser.yy"
+#line 1216 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 2236 "dhcp4_parser.cc"
+#line 2185 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 344:
-#line 1230 "dhcp4_parser.yy"
+#line 1231 "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"
+#line 2195 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 345:
-#line 1234 "dhcp4_parser.yy"
+#line 1235 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
}
-#line 2254 "dhcp4_parser.cc"
+#line 2203 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 372:
-#line 1272 "dhcp4_parser.yy"
+#line 1273 "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 2265 "dhcp4_parser.cc"
+#line 2214 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 373:
-#line 1277 "dhcp4_parser.yy"
+#line 1278 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 2274 "dhcp4_parser.cc"
+#line 2223 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 374:
-#line 1285 "dhcp4_parser.yy"
+#line 1286 "dhcp4_parser.yy" // lalr1.cc:859
{
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.push_back(m);
}
-#line 2283 "dhcp4_parser.cc"
+#line 2232 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 375:
-#line 1288 "dhcp4_parser.yy"
+#line 1289 "dhcp4_parser.yy" // lalr1.cc:859
{
// parsing completed
}
-#line 2291 "dhcp4_parser.cc"
+#line 2240 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 380:
-#line 1304 "dhcp4_parser.yy"
+#line 1305 "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 2301 "dhcp4_parser.cc"
+#line 2250 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 381:
-#line 1308 "dhcp4_parser.yy"
+#line 1309 "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 2313 "dhcp4_parser.cc"
+#line 2262 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 382:
-#line 1319 "dhcp4_parser.yy"
+#line 1320 "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 2323 "dhcp4_parser.cc"
+#line 2272 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 383:
-#line 1323 "dhcp4_parser.yy"
+#line 1324 "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 2335 "dhcp4_parser.cc"
+#line 2284 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 399:
-#line 1355 "dhcp4_parser.yy"
+#line 1356 "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 2344 "dhcp4_parser.cc"
+#line 2293 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 401:
-#line 1362 "dhcp4_parser.yy"
+#line 1363 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2352 "dhcp4_parser.cc"
+#line 2301 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 402:
-#line 1364 "dhcp4_parser.yy"
+#line 1365 "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 2362 "dhcp4_parser.cc"
+#line 2311 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 403:
-#line 1370 "dhcp4_parser.yy"
+#line 1371 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2370 "dhcp4_parser.cc"
+#line 2319 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 404:
-#line 1372 "dhcp4_parser.yy"
+#line 1373 "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 2380 "dhcp4_parser.cc"
+#line 2329 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 405:
-#line 1378 "dhcp4_parser.yy"
+#line 1379 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2388 "dhcp4_parser.cc"
+#line 2337 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 406:
-#line 1380 "dhcp4_parser.yy"
+#line 1381 "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 2398 "dhcp4_parser.cc"
+#line 2347 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 408:
-#line 1388 "dhcp4_parser.yy"
+#line 1389 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2406 "dhcp4_parser.cc"
+#line 2355 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 409:
-#line 1390 "dhcp4_parser.yy"
+#line 1391 "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 2416 "dhcp4_parser.cc"
+#line 2365 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 410:
-#line 1396 "dhcp4_parser.yy"
+#line 1397 "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 2425 "dhcp4_parser.cc"
+#line 2374 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 411:
-#line 1405 "dhcp4_parser.yy"
+#line 1406 "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 2436 "dhcp4_parser.cc"
+#line 2385 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 412:
-#line 1410 "dhcp4_parser.yy"
+#line 1411 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 2445 "dhcp4_parser.cc"
+#line 2394 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 417:
-#line 1429 "dhcp4_parser.yy"
+#line 1430 "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 2455 "dhcp4_parser.cc"
+#line 2404 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 418:
-#line 1433 "dhcp4_parser.yy"
+#line 1434 "dhcp4_parser.yy" // lalr1.cc:859
{
/// @todo: the code or name parameters are required.
ctx.stack_.pop_back();
}
-#line 2464 "dhcp4_parser.cc"
+#line 2413 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 419:
-#line 1441 "dhcp4_parser.yy"
+#line 1442 "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 2474 "dhcp4_parser.cc"
+#line 2423 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 420:
-#line 1445 "dhcp4_parser.yy"
+#line 1446 "dhcp4_parser.yy" // lalr1.cc:859
{
/// @todo: the code or name parameters are required.
// parsing completed
}
-#line 2483 "dhcp4_parser.cc"
+#line 2432 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 435:
-#line 1478 "dhcp4_parser.yy"
+#line 1479 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2491 "dhcp4_parser.cc"
+#line 2440 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 436:
-#line 1480 "dhcp4_parser.yy"
+#line 1481 "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 2501 "dhcp4_parser.cc"
+#line 2450 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 439:
-#line 1490 "dhcp4_parser.yy"
+#line 1491 "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 2510 "dhcp4_parser.cc"
+#line 2459 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 440:
-#line 1495 "dhcp4_parser.yy"
+#line 1496 "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 2519 "dhcp4_parser.cc"
+#line 2468 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 441:
-#line 1503 "dhcp4_parser.yy"
+#line 1504 "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 2530 "dhcp4_parser.cc"
+#line 2479 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 442:
-#line 1508 "dhcp4_parser.yy"
+#line 1509 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 2539 "dhcp4_parser.cc"
+#line 2488 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 447:
-#line 1523 "dhcp4_parser.yy"
+#line 1524 "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 2549 "dhcp4_parser.cc"
+#line 2498 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 448:
-#line 1527 "dhcp4_parser.yy"
+#line 1528 "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 2559 "dhcp4_parser.cc"
+#line 2508 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 449:
-#line 1533 "dhcp4_parser.yy"
+#line 1534 "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 2569 "dhcp4_parser.cc"
+#line 2518 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 450:
-#line 1537 "dhcp4_parser.yy"
+#line 1538 "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 2579 "dhcp4_parser.cc"
+#line 2528 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 460:
-#line 1556 "dhcp4_parser.yy"
+#line 1557 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2587 "dhcp4_parser.cc"
+#line 2536 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 461:
-#line 1558 "dhcp4_parser.yy"
+#line 1559 "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 2597 "dhcp4_parser.cc"
+#line 2546 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 462:
-#line 1564 "dhcp4_parser.yy"
+#line 1565 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2605 "dhcp4_parser.cc"
+#line 2554 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 463:
-#line 1566 "dhcp4_parser.yy"
+#line 1567 "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 2632 "dhcp4_parser.cc"
+#line 2581 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 464:
-#line 1589 "dhcp4_parser.yy"
+#line 1590 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2640 "dhcp4_parser.cc"
+#line 2589 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 465:
-#line 1591 "dhcp4_parser.yy"
+#line 1592 "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 2669 "dhcp4_parser.cc"
+#line 2618 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 466:
-#line 1619 "dhcp4_parser.yy"
+#line 1620 "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 2680 "dhcp4_parser.cc"
+#line 2629 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 467:
-#line 1624 "dhcp4_parser.yy"
+#line 1625 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 2689 "dhcp4_parser.cc"
+#line 2638 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 472:
-#line 1637 "dhcp4_parser.yy"
+#line 1638 "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 2699 "dhcp4_parser.cc"
+#line 2648 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 473:
-#line 1641 "dhcp4_parser.yy"
+#line 1642 "dhcp4_parser.yy" // lalr1.cc:859
{
/// @todo: an identifier parameter is required.
ctx.stack_.pop_back();
}
-#line 2708 "dhcp4_parser.cc"
+#line 2657 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 474:
-#line 1646 "dhcp4_parser.yy"
+#line 1647 "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 2718 "dhcp4_parser.cc"
+#line 2667 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 475:
-#line 1650 "dhcp4_parser.yy"
+#line 1651 "dhcp4_parser.yy" // lalr1.cc:859
{
/// @todo: an identifier parameter is required.
// parsing completed
}
-#line 2727 "dhcp4_parser.cc"
+#line 2676 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 495:
-#line 1681 "dhcp4_parser.yy"
+#line 1682 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2735 "dhcp4_parser.cc"
+#line 2684 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 496:
-#line 1683 "dhcp4_parser.yy"
+#line 1684 "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 2745 "dhcp4_parser.cc"
+#line 2694 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 497:
-#line 1689 "dhcp4_parser.yy"
+#line 1690 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2753 "dhcp4_parser.cc"
+#line 2702 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 498:
-#line 1691 "dhcp4_parser.yy"
+#line 1692 "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 2763 "dhcp4_parser.cc"
+#line 2712 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 499:
-#line 1697 "dhcp4_parser.yy"
+#line 1698 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2771 "dhcp4_parser.cc"
+#line 2720 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 500:
-#line 1699 "dhcp4_parser.yy"
+#line 1700 "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 2781 "dhcp4_parser.cc"
+#line 2730 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 501:
-#line 1705 "dhcp4_parser.yy"
+#line 1706 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2789 "dhcp4_parser.cc"
+#line 2738 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 502:
-#line 1707 "dhcp4_parser.yy"
+#line 1708 "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 2799 "dhcp4_parser.cc"
+#line 2748 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 503:
-#line 1713 "dhcp4_parser.yy"
+#line 1714 "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 2810 "dhcp4_parser.cc"
+#line 2759 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 504:
-#line 1718 "dhcp4_parser.yy"
+#line 1719 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 2819 "dhcp4_parser.cc"
+#line 2768 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 505:
-#line 1723 "dhcp4_parser.yy"
+#line 1724 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2827 "dhcp4_parser.cc"
+#line 2776 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 506:
-#line 1725 "dhcp4_parser.yy"
+#line 1726 "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 2837 "dhcp4_parser.cc"
+#line 2786 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 507:
-#line 1731 "dhcp4_parser.yy"
+#line 1732 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2845 "dhcp4_parser.cc"
+#line 2794 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 508:
-#line 1733 "dhcp4_parser.yy"
+#line 1734 "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 2855 "dhcp4_parser.cc"
+#line 2804 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 509:
-#line 1739 "dhcp4_parser.yy"
+#line 1740 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2863 "dhcp4_parser.cc"
+#line 2812 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 510:
-#line 1741 "dhcp4_parser.yy"
+#line 1742 "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 2873 "dhcp4_parser.cc"
+#line 2822 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 511:
-#line 1747 "dhcp4_parser.yy"
+#line 1748 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2881 "dhcp4_parser.cc"
+#line 2830 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 512:
-#line 1749 "dhcp4_parser.yy"
+#line 1750 "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 2891 "dhcp4_parser.cc"
+#line 2840 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 513:
-#line 1755 "dhcp4_parser.yy"
+#line 1756 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2899 "dhcp4_parser.cc"
+#line 2848 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 514:
-#line 1757 "dhcp4_parser.yy"
+#line 1758 "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 2909 "dhcp4_parser.cc"
+#line 2858 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 515:
-#line 1763 "dhcp4_parser.yy"
+#line 1764 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2917 "dhcp4_parser.cc"
+#line 2866 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 516:
-#line 1765 "dhcp4_parser.yy"
+#line 1766 "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 2927 "dhcp4_parser.cc"
+#line 2876 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 517:
-#line 1771 "dhcp4_parser.yy"
+#line 1772 "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 2938 "dhcp4_parser.cc"
+#line 2887 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 518:
-#line 1776 "dhcp4_parser.yy"
+#line 1777 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 2947 "dhcp4_parser.cc"
+#line 2896 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 519:
-#line 1784 "dhcp4_parser.yy"
+#line 1785 "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 2958 "dhcp4_parser.cc"
+#line 2907 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 520:
-#line 1789 "dhcp4_parser.yy"
+#line 1790 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 2967 "dhcp4_parser.cc"
+#line 2916 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 523:
-#line 1801 "dhcp4_parser.yy"
+#line 1802 "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 2978 "dhcp4_parser.cc"
+#line 2927 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 524:
-#line 1806 "dhcp4_parser.yy"
+#line 1807 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 2987 "dhcp4_parser.cc"
+#line 2936 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 527:
-#line 1815 "dhcp4_parser.yy"
+#line 1816 "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 2997 "dhcp4_parser.cc"
+#line 2946 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 528:
-#line 1819 "dhcp4_parser.yy"
+#line 1820 "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 3007 "dhcp4_parser.cc"
+#line 2956 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 545:
-#line 1848 "dhcp4_parser.yy"
+#line 1849 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3015 "dhcp4_parser.cc"
+#line 2964 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 546:
-#line 1850 "dhcp4_parser.yy"
+#line 1851 "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 3025 "dhcp4_parser.cc"
+#line 2974 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 547:
-#line 1856 "dhcp4_parser.yy"
+#line 1857 "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 3034 "dhcp4_parser.cc"
+#line 2983 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 548:
-#line 1865 "dhcp4_parser.yy"
+#line 1866 "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 3043 "dhcp4_parser.cc"
+#line 2992 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 549:
-#line 1872 "dhcp4_parser.yy"
+#line 1873 "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 3054 "dhcp4_parser.cc"
+#line 3003 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 550:
-#line 1877 "dhcp4_parser.yy"
+#line 1878 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 3063 "dhcp4_parser.cc"
+#line 3012 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 558:
-#line 1893 "dhcp4_parser.yy"
+#line 1894 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3071 "dhcp4_parser.cc"
+#line 3020 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 559:
-#line 1895 "dhcp4_parser.yy"
+#line 1896 "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 3081 "dhcp4_parser.cc"
+#line 3030 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 560:
-#line 1901 "dhcp4_parser.yy"
+#line 1902 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3089 "dhcp4_parser.cc"
+#line 3038 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 561:
-#line 1903 "dhcp4_parser.yy"
+#line 1904 "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 3099 "dhcp4_parser.cc"
+#line 3048 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 562:
-#line 1912 "dhcp4_parser.yy"
+#line 1913 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3107 "dhcp4_parser.cc"
+#line 3056 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 563:
-#line 1914 "dhcp4_parser.yy"
+#line 1915 "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 3145 "dhcp4_parser.cc"
+#line 3094 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 564:
-#line 1950 "dhcp4_parser.yy"
+#line 1951 "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 3156 "dhcp4_parser.cc"
+#line 3105 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 565:
-#line 1955 "dhcp4_parser.yy"
+#line 1956 "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 3167 "dhcp4_parser.cc"
+#line 3116 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 566:
-#line 1962 "dhcp4_parser.yy"
+#line 1963 "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 3177 "dhcp4_parser.cc"
+#line 3126 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 567:
-#line 1966 "dhcp4_parser.yy"
+#line 1967 "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 3187 "dhcp4_parser.cc"
+#line 3136 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 588:
-#line 1996 "dhcp4_parser.yy"
+#line 1997 "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 3196 "dhcp4_parser.cc"
+#line 3145 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 589:
-#line 2001 "dhcp4_parser.yy"
+#line 2002 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3204 "dhcp4_parser.cc"
+#line 3153 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 590:
-#line 2003 "dhcp4_parser.yy"
+#line 2004 "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 3214 "dhcp4_parser.cc"
+#line 3163 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 591:
-#line 2009 "dhcp4_parser.yy"
+#line 2010 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3222 "dhcp4_parser.cc"
+#line 3171 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 592:
-#line 2011 "dhcp4_parser.yy"
+#line 2012 "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 3232 "dhcp4_parser.cc"
+#line 3181 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 593:
-#line 2017 "dhcp4_parser.yy"
+#line 2018 "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 3241 "dhcp4_parser.cc"
+#line 3190 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 594:
-#line 2022 "dhcp4_parser.yy"
+#line 2023 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3249 "dhcp4_parser.cc"
+#line 3198 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 595:
-#line 2024 "dhcp4_parser.yy"
+#line 2025 "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 3259 "dhcp4_parser.cc"
+#line 3208 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 596:
-#line 2030 "dhcp4_parser.yy"
+#line 2031 "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 3268 "dhcp4_parser.cc"
+#line 3217 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 597:
-#line 2035 "dhcp4_parser.yy"
+#line 2036 "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 3277 "dhcp4_parser.cc"
+#line 3226 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 598:
-#line 2040 "dhcp4_parser.yy"
+#line 2041 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NCR_PROTOCOL);
}
-#line 3285 "dhcp4_parser.cc"
+#line 3234 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 599:
-#line 2042 "dhcp4_parser.yy"
+#line 2043 "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 3294 "dhcp4_parser.cc"
+#line 3243 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 600:
-#line 2048 "dhcp4_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("UDP", ctx.loc2pos(yystack_[0].location))); }
-#line 3300 "dhcp4_parser.cc"
+#line 2049 "dhcp4_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("UDP", ctx.loc2pos(yystack_[0].location))); }
+#line 3249 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 601:
-#line 2049 "dhcp4_parser.yy"
- { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("TCP", ctx.loc2pos(yystack_[0].location))); }
-#line 3306 "dhcp4_parser.cc"
+#line 2050 "dhcp4_parser.yy" // lalr1.cc:859
+ { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("TCP", ctx.loc2pos(yystack_[0].location))); }
+#line 3255 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 602:
-#line 2052 "dhcp4_parser.yy"
+#line 2053 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NCR_FORMAT);
}
-#line 3314 "dhcp4_parser.cc"
+#line 3263 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 603:
-#line 2054 "dhcp4_parser.yy"
+#line 2055 "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 3324 "dhcp4_parser.cc"
+#line 3273 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 604:
-#line 2060 "dhcp4_parser.yy"
+#line 2061 "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 3333 "dhcp4_parser.cc"
+#line 3282 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 605:
-#line 2065 "dhcp4_parser.yy"
+#line 2066 "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 3342 "dhcp4_parser.cc"
+#line 3291 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 606:
-#line 2070 "dhcp4_parser.yy"
+#line 2071 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.REPLACE_CLIENT_NAME);
}
-#line 3350 "dhcp4_parser.cc"
+#line 3299 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 607:
-#line 2072 "dhcp4_parser.yy"
+#line 2073 "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 3359 "dhcp4_parser.cc"
+#line 3308 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 608:
-#line 2078 "dhcp4_parser.yy"
+#line 2079 "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 3367 "dhcp4_parser.cc"
+#line 3316 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 609:
-#line 2081 "dhcp4_parser.yy"
+#line 2082 "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 3375 "dhcp4_parser.cc"
+#line 3324 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 610:
-#line 2084 "dhcp4_parser.yy"
+#line 2085 "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 3383 "dhcp4_parser.cc"
+#line 3332 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 611:
-#line 2087 "dhcp4_parser.yy"
+#line 2088 "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 3391 "dhcp4_parser.cc"
+#line 3340 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 612:
-#line 2090 "dhcp4_parser.yy"
+#line 2091 "dhcp4_parser.yy" // lalr1.cc:859
{
error(yystack_[0].location, "boolean values for the replace-client-name are "
"no longer supported");
}
-#line 3400 "dhcp4_parser.cc"
+#line 3349 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 613:
-#line 2096 "dhcp4_parser.yy"
+#line 2097 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3408 "dhcp4_parser.cc"
+#line 3357 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 614:
-#line 2098 "dhcp4_parser.yy"
+#line 2099 "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 3418 "dhcp4_parser.cc"
+#line 3367 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 615:
-#line 2104 "dhcp4_parser.yy"
+#line 2105 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3426 "dhcp4_parser.cc"
+#line 3375 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 616:
-#line 2106 "dhcp4_parser.yy"
+#line 2107 "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 3436 "dhcp4_parser.cc"
+#line 3385 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 617:
-#line 2112 "dhcp4_parser.yy"
+#line 2113 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3444 "dhcp4_parser.cc"
+#line 3393 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 618:
-#line 2114 "dhcp4_parser.yy"
+#line 2115 "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 3454 "dhcp4_parser.cc"
+#line 3403 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 619:
-#line 2123 "dhcp4_parser.yy"
+#line 2124 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3462 "dhcp4_parser.cc"
+#line 3411 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 620:
-#line 2125 "dhcp4_parser.yy"
+#line 2126 "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 3471 "dhcp4_parser.cc"
+#line 3420 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 621:
-#line 2130 "dhcp4_parser.yy"
+#line 2131 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3479 "dhcp4_parser.cc"
+#line 3428 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 622:
-#line 2132 "dhcp4_parser.yy"
+#line 2133 "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 3488 "dhcp4_parser.cc"
+#line 3437 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 623:
-#line 2137 "dhcp4_parser.yy"
+#line 2138 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3496 "dhcp4_parser.cc"
+#line 3445 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 624:
-#line 2139 "dhcp4_parser.yy"
+#line 2140 "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 3505 "dhcp4_parser.cc"
+#line 3454 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 625:
-#line 2144 "dhcp4_parser.yy"
+#line 2145 "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 3516 "dhcp4_parser.cc"
+#line 3465 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 626:
-#line 2149 "dhcp4_parser.yy"
+#line 2150 "dhcp4_parser.yy" // lalr1.cc:859
{
// No config control params are required
ctx.stack_.pop_back();
ctx.leave();
}
-#line 3526 "dhcp4_parser.cc"
+#line 3475 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 627:
-#line 2155 "dhcp4_parser.yy"
+#line 2156 "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 3536 "dhcp4_parser.cc"
+#line 3485 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 628:
-#line 2159 "dhcp4_parser.yy"
+#line 2160 "dhcp4_parser.yy" // lalr1.cc:859
{
// No config_control params are required
// parsing completed
}
-#line 3545 "dhcp4_parser.cc"
+#line 3494 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 633:
-#line 2174 "dhcp4_parser.yy"
+#line 2175 "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 3556 "dhcp4_parser.cc"
+#line 3505 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 634:
-#line 2179 "dhcp4_parser.yy"
+#line 2180 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 3565 "dhcp4_parser.cc"
+#line 3514 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 635:
-#line 2184 "dhcp4_parser.yy"
+#line 2185 "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("config-fetch-wait-time", value);
}
-#line 3574 "dhcp4_parser.cc"
+#line 3523 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 636:
-#line 2194 "dhcp4_parser.yy"
+#line 2195 "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 3585 "dhcp4_parser.cc"
+#line 3534 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 637:
-#line 2199 "dhcp4_parser.yy"
+#line 2200 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 3594 "dhcp4_parser.cc"
+#line 3543 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 638:
-#line 2204 "dhcp4_parser.yy"
+#line 2205 "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 3604 "dhcp4_parser.cc"
+#line 3553 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 639:
-#line 2208 "dhcp4_parser.yy"
+#line 2209 "dhcp4_parser.yy" // lalr1.cc:859
{
// parsing completed
}
-#line 3612 "dhcp4_parser.cc"
+#line 3561 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 643:
-#line 2224 "dhcp4_parser.yy"
+#line 2225 "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 3623 "dhcp4_parser.cc"
+#line 3572 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 644:
-#line 2229 "dhcp4_parser.yy"
+#line 2230 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 3632 "dhcp4_parser.cc"
+#line 3581 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 647:
-#line 2241 "dhcp4_parser.yy"
+#line 2242 "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 3642 "dhcp4_parser.cc"
+#line 3591 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 648:
-#line 2245 "dhcp4_parser.yy"
+#line 2246 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
}
-#line 3650 "dhcp4_parser.cc"
+#line 3599 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 658:
-#line 2262 "dhcp4_parser.yy"
+#line 2263 "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 3659 "dhcp4_parser.cc"
+#line 3608 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 659:
-#line 2267 "dhcp4_parser.yy"
+#line 2268 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3667 "dhcp4_parser.cc"
+#line 3616 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 660:
-#line 2269 "dhcp4_parser.yy"
+#line 2270 "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 3677 "dhcp4_parser.cc"
+#line 3626 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 661:
-#line 2275 "dhcp4_parser.yy"
+#line 2276 "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 3688 "dhcp4_parser.cc"
+#line 3637 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 662:
-#line 2280 "dhcp4_parser.yy"
+#line 2281 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 3697 "dhcp4_parser.cc"
+#line 3646 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 665:
-#line 2289 "dhcp4_parser.yy"
+#line 2290 "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 3707 "dhcp4_parser.cc"
+#line 3656 "dhcp4_parser.cc" // lalr1.cc:859
break;
case 666:
-#line 2293 "dhcp4_parser.yy"
+#line 2294 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
}
-#line 3715 "dhcp4_parser.cc"
+#line 3664 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 673:
-#line 2307 "dhcp4_parser.yy"
+ case 674:
+#line 2309 "dhcp4_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 3723 "dhcp4_parser.cc"
+#line 3672 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 674:
-#line 2309 "dhcp4_parser.yy"
+ case 675:
+#line 2311 "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 3733 "dhcp4_parser.cc"
+#line 3682 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 675:
-#line 2315 "dhcp4_parser.yy"
+ case 676:
+#line 2317 "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 3742 "dhcp4_parser.cc"
+#line 3691 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 676:
-#line 2320 "dhcp4_parser.yy"
+ case 677:
+#line 2322 "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 3751 "dhcp4_parser.cc"
+#line 3700 "dhcp4_parser.cc" // lalr1.cc:859
break;
- case 677:
-#line 2325 "dhcp4_parser.yy"
+ case 678:
+#line 2327 "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 3760 "dhcp4_parser.cc"
+#line 3709 "dhcp4_parser.cc" // lalr1.cc:859
break;
+ case 679:
+#line 2332 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ctx.enter(ctx.NO_KEYWORD);
+}
+#line 3717 "dhcp4_parser.cc" // lalr1.cc:859
+ break;
+
+ case 680:
+#line 2334 "dhcp4_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr sev(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ctx.stack_.back()->set("pattern", sev);
+ ctx.leave();
+}
+#line 3727 "dhcp4_parser.cc" // lalr1.cc:859
+ break;
-#line 3764 "dhcp4_parser.cc"
+#line 3731 "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_ = -837;
+ const short int Dhcp4Parser::yypact_ninf_ = -837;
const signed char Dhcp4Parser::yytable_ninf_ = -1;
- const short
+ const short int
Dhcp4Parser::yypact_[] =
{
- 318, -837, -837, -837, -837, -837, -837, -837, -837, -837,
- -837, -837, -837, -837, -837, 50, 21, 74, 86, 90,
- 108, 119, 136, 147, 165, 182, 223, 224, 225, 237,
+ 317, -837, -837, -837, -837, -837, -837, -837, -837, -837,
+ -837, -837, -837, -837, -837, 32, 21, 71, 80, 98,
+ 114, 132, 136, 155, 183, 192, 209, 252, 260, 263,
-837, -837, -837, -837, -837, -837, -837, -837, -837, -837,
-837, -837, -837, -837, -837, -837, -837, -837, -837, -837,
-837, -837, -837, -837, -837, -837, -837, -837, -837, -837,
- -837, -837, -837, -837, -837, -837, -837, -837, 21, 5,
- 17, 154, 29, 60, 67, 233, 183, 26, 270, -49,
- 515, 111, 58, -837, 259, 263, 276, 274, 288, -837,
- -837, -837, -837, -837, 291, -837, 44, -837, -837, -837,
- -837, -837, -837, -837, -837, -837, 301, 309, 315, -837,
- -837, -837, -837, -837, -837, 317, 319, 325, 326, 328,
- 329, 336, 344, 345, -837, -837, -837, -837, -837, -837,
- -837, -837, -837, -837, -837, -837, -837, 346, -837, -837,
- -837, -837, -837, -837, -837, 88, -837, -837, -837, -837,
+ -837, -837, -837, -837, -837, -837, -837, -837, 21, 27,
+ 17, 123, 75, 227, 39, 234, 164, 28, 154, -41,
+ 515, 134, 117, -837, 274, 278, 287, 284, 290, -837,
+ -837, -837, -837, -837, 302, -837, 44, -837, -837, -837,
+ -837, -837, -837, -837, -837, -837, 303, 316, 337, -837,
+ -837, -837, -837, -837, -837, 346, 347, 354, 356, 357,
+ 358, 359, 360, 361, -837, -837, -837, -837, -837, -837,
+ -837, -837, -837, -837, -837, -837, -837, 362, -837, -837,
+ -837, -837, -837, -837, -837, 57, -837, -837, -837, -837,
-837, -837, -837, -837, -837, -837, -837, -837, -837, -837,
-837, -837, -837, -837, -837, -837, -837, -837, -837, -837,
-837, -837, -837, -837, -837, -837, -837, -837, -837, -837,
-837, -837, -837, -837, -837, -837, -837, -837, -837, -837,
- -837, 354, -837, 91, -837, -837, -837, -837, -837, -837,
- -837, -837, -837, -837, -837, -837, -837, 356, -837, -837,
+ -837, 363, -837, 78, -837, -837, -837, -837, -837, -837,
+ -837, -837, -837, -837, -837, -837, -837, 365, -837, -837,
-837, -837, -837, -837, -837, -837, -837, -837, -837, -837,
- -837, -837, 104, -837, -837, -837, -837, -837, -837, -837,
+ -837, -837, 90, -837, -837, -837, -837, -837, -837, -837,
-837, -837, -837, -837, -837, -837, -837, -837, -837, -837,
- -837, -837, -837, -837, -837, -837, -837, 122, -837, -837,
+ -837, -837, -837, -837, -837, -837, -837, 93, -837, -837,
-837, -837, -837, -837, -837, -837, -837, -837, -837, -837,
- -837, -837, -837, -837, 284, 366, -837, -837, -837, -837,
- -837, -837, -837, -837, -837, -837, -837, -837, 286, -837,
- -837, 369, -837, -837, -837, 371, -837, -837, 314, 367,
+ -837, -837, -837, -837, 313, 345, -837, -837, -837, -837,
+ -837, -837, -837, -837, -837, -837, -837, -837, 364, -837,
+ -837, 366, -837, -837, -837, 369, -837, -837, 367, 373,
-837, -837, -837, -837, -837, -837, -837, -837, -837, -837,
- -837, -837, -837, 372, 373, -837, -837, -837, -837, 370,
- 376, -837, -837, -837, -837, -837, -837, -837, -837, -837,
- -837, -837, -837, 168, -837, -837, -837, 377, -837, -837,
- 380, -837, 384, 387, -837, -837, 388, 389, -837, -837,
- -837, -837, -837, 185, -837, -837, -837, -837, -837, -837,
+ -837, -837, -837, 374, 375, -837, -837, -837, -837, 372,
+ 378, -837, -837, -837, -837, -837, -837, -837, -837, -837,
+ -837, -837, -837, 96, -837, -837, -837, 380, -837, -837,
+ 384, -837, 387, 388, -837, -837, 389, 390, -837, -837,
+ -837, -837, -837, 106, -837, -837, -837, -837, -837, -837,
-837, -837, -837, -837, -837, -837, -837, -837, -837, -837,
- 218, -837, -837, -837, 390, 239, -837, -837, -837, -837,
- 21, 21, -837, 207, 392, 395, 397, 403, 404, -837,
- 17, -837, 405, 407, 408, 243, 244, 245, 409, 411,
- 419, 425, 434, 437, 268, 285, 287, 296, 297, 282,
- 299, 316, 331, 440, 441, 458, 468, 469, 471, 488,
- 489, 498, 499, 502, 503, 504, 337, 508, 509, 510,
- 511, 512, 513, 154, -837, 514, 516, 517, 343, 29,
- -837, 520, 522, 524, 525, 526, 527, 358, 529, 531,
- 532, 60, -837, 535, 67, -837, 536, 538, 539, 542,
- 543, 544, 545, 546, -837, 233, -837, 547, 549, 381,
- 550, 552, 553, 382, -837, 26, 555, 386, 391, -837,
- 270, 556, 559, -3, -837, 393, 560, 561, 394, 562,
- 399, 400, 567, 572, 401, 410, 575, 576, 515, -837,
- 111, -837, 577, 413, 58, -837, -837, -837, 579, 578,
- 581, 21, 21, 21, -837, 582, 583, 584, -837, -837,
- -837, 420, 421, 423, 590, 591, 587, -837, -837, -837,
- -837, -837, -837, -837, -837, -837, 429, 599, 600, 601,
- 602, 603, 435, 271, 604, 607, 608, 609, 610, -837,
- 611, 603, 613, 442, 443, 617, -837, 649, 144, 184,
- -837, -837, 482, 483, 485, 654, 490, 491, -837, 649,
- 492, 655, -837, 493, -837, 649, 494, 495, 496, 497,
- 500, 501, 505, -837, 506, 507, -837, 518, 519, 521,
- -837, -837, 523, -837, -837, -837, 528, 21, -837, -837,
- 530, 533, -837, 534, -837, -837, 14, 444, -837, -837,
- 65, 537, -837, -837, 666, -837, -837, 21, 154, 111,
- -837, -837, -837, 58, 29, 648, -837, -837, -837, 585,
- 585, 668, -837, 669, 670, 674, 675, -837, -837, -837,
- -837, -837, -837, -837, -837, 31, 676, 677, 678, 171,
- 18, -837, 515, -837, -837, 679, -837, -837, -837, -837,
+ 108, -837, -837, -837, 392, 112, -837, -837, -837, -837,
+ 21, 21, -837, 225, 402, 403, 405, 407, 408, -837,
+ 17, -837, 409, 411, 415, 200, 243, 244, 419, 425,
+ 434, 437, 439, 440, 267, 270, 283, 286, 295, 282,
+ 296, 297, 299, 458, 467, 471, 487, 488, 489, 498,
+ 499, 501, 502, 503, 504, 507, 338, 508, 510, 511,
+ 512, 513, 514, 123, -837, 516, 517, 520, 342, 75,
+ -837, 522, 524, 525, 526, 527, 528, 368, 529, 531,
+ 532, 227, -837, 535, 39, -837, 536, 538, 542, 543,
+ 544, 545, 546, 547, -837, 234, -837, 549, 550, 381,
+ 551, 553, 554, 382, -837, 28, 556, 385, 386, -837,
+ 154, 560, 561, 46, -837, 391, 562, 563, 394, 567,
+ 398, 399, 572, 573, 404, 406, 575, 576, 515, -837,
+ 134, -837, 580, 410, 117, -837, -837, -837, 582, 581,
+ 583, 21, 21, 21, -837, 584, 586, 587, -837, -837,
+ -837, 413, 418, 422, 590, 591, 597, -837, -837, -837,
+ -837, -837, -837, -837, -837, -837, 430, 600, 601, 602,
+ 603, 604, 435, 240, 605, 608, 609, 610, 611, -837,
+ 613, 604, 615, 442, 443, 649, -837, 650, 153, 221,
+ -837, -837, 482, 484, 485, 657, 490, 491, -837, 650,
+ 492, 656, -837, 493, -837, 650, 494, 495, 496, 497,
+ 500, 505, 506, -837, 509, 518, -837, 519, 521, 523,
+ -837, -837, 530, -837, -837, -837, 533, 21, -837, -837,
+ 534, 537, -837, 539, -837, -837, 26, 449, -837, -837,
+ -16, 540, -837, -837, 667, -837, -837, 21, 123, 134,
+ -837, -837, -837, 117, 75, 651, -837, -837, -837, 585,
+ 585, 666, -837, 669, 670, 671, 674, -837, -837, -837,
+ -837, -837, -837, -837, -837, 198, 675, 677, 678, 158,
+ -34, -837, 515, -837, -837, 679, -837, -837, -837, -837,
-837, -837, -837, -837, -837, -837, -837, 680, -837, -837,
- -837, -837, 114, -837, -837, -837, -837, -837, -837, -837,
+ -837, -837, 143, -837, -837, -837, -837, -837, -837, -837,
-837, -837, -837, -837, -837, -837, -837, -837, -837, -837,
-837, -837, -837, -837, -837, -837, -837, -837, -837, -837,
- -837, -837, -837, -837, 668, -837, 242, 248, 249, 252,
- -837, 265, -837, -837, -837, -837, -837, -837, 685, 686,
- 689, 691, 693, -837, -837, -837, -837, 694, 695, 696,
- 698, 700, -837, 269, -837, -837, -837, -837, -837, -837,
+ -837, -837, -837, -837, 666, -837, 133, 139, 169, 170,
+ -837, 202, -837, -837, -837, -837, -837, -837, 684, 686,
+ 687, 690, 692, -837, -837, -837, -837, 694, 695, 696,
+ 697, 698, -837, 203, -837, -837, -837, -837, -837, -837,
-837, -837, -837, -837, -837, -837, -837, -837, -837, -837,
- -837, -837, -837, -837, 273, -837, 699, 705, -837, -837,
- 703, 708, -837, -837, 706, 710, -837, -837, 709, 711,
- -837, -837, 712, 713, -837, -837, -837, -837, -837, -837,
- 77, -837, -837, -837, -837, -837, -837, -837, 133, -837,
- -837, 714, 716, -837, -837, 715, 719, -837, 720, 721,
- 722, 723, 724, 725, 290, -837, -837, -837, -837, -837,
- -837, -837, -837, -837, -837, -837, -837, 298, -837, -837,
- -837, 300, -837, 152, -837, 557, -837, 717, 728, -837,
- -837, -837, -837, 726, 727, -837, -837, -837, -837, 731,
- 648, -837, 732, 733, 734, 735, 558, 541, 566, 565,
- 568, 739, 740, 741, 742, 573, 574, 580, 586, 588,
- 585, -837, -837, 585, -837, 668, 60, -837, 669, 26,
- -837, 670, 270, -837, 674, 438, -837, 675, 31, -837,
- 199, 676, -837, 233, -837, 677, -49, -837, 678, 589,
- 592, 593, 594, 595, 596, 171, -837, 745, 746, 18,
- -837, -837, 85, 679, -837, -837, 747, 748, 67, -837,
- 680, 751, -837, -837, 598, -837, 330, 605, 606, 612,
- -837, -837, -837, -837, -837, 614, 615, 618, 620, -837,
- -837, -837, -837, -837, -837, 304, -837, 306, -837, 744,
- -837, 749, -837, -837, -837, -837, -837, -837, -837, -837,
+ -837, -837, -837, -837, 206, -837, 699, 700, -837, -837,
+ 703, 707, -837, -837, 706, 712, -837, -837, 710, 714,
+ -837, -837, 713, 715, -837, -837, -837, -837, -837, -837,
+ 42, -837, -837, -837, -837, -837, -837, -837, 77, -837,
+ -837, 716, 717, -837, -837, 718, 720, -837, 702, 721,
+ 722, 723, 724, 725, 212, -837, -837, -837, -837, -837,
+ -837, -837, -837, -837, -837, -837, -837, 216, -837, -837,
+ -837, 229, -837, 219, -837, 557, -837, 726, 727, -837,
+ -837, -837, -837, 728, 729, -837, -837, -837, -837, 730,
+ 651, -837, 733, 734, 735, 736, 558, 564, 568, 565,
+ 569, 741, 742, 743, 744, 574, 577, 578, 579, 588,
+ 585, -837, -837, 585, -837, 666, 227, -837, 669, 28,
+ -837, 670, 154, -837, 671, 438, -837, 674, 198, -837,
+ 47, 675, -837, 234, -837, 677, -41, -837, 678, 589,
+ 592, 593, 594, 595, 596, 158, -837, 746, 747, -34,
+ -837, -837, 194, 679, -837, -837, 749, 753, 39, -837,
+ 680, 754, -837, -837, 598, -837, 319, 599, 606, 607,
+ -837, -837, -837, -837, -837, 614, 617, 619, 620, -837,
+ -837, -837, -837, -837, -837, 232, -837, 242, -837, 752,
+ -837, 755, -837, -837, -837, -837, -837, -837, -837, -837,
-837, -837, -837, -837, -837, -837, -837, -837, -837, -837,
- 308, -837, -837, -837, -837, -837, -837, -837, -837, -837,
- -837, -837, 752, -837, -837, -837, -837, -837, -837, -837,
- -837, -837, 753, 756, -837, -837, -837, -837, -837, 754,
- -837, 312, -837, -837, -837, -837, -837, -837, -837, -837,
- 621, 626, -837, -837, 761, -837, -837, -837, -837, -837,
- 323, -837, -837, -837, -837, -837, -837, 635, 348, -837,
- 649, -837, -837, -837, -837, -837, -837, -837, -837, -837,
+ 257, -837, -837, -837, -837, -837, -837, -837, -837, -837,
+ -837, -837, 757, -837, -837, -837, -837, -837, -837, -837,
+ -837, -837, 758, 759, -837, -837, -837, -837, -837, 766,
+ -837, 300, -837, -837, -837, -837, -837, -837, -837, -837,
+ 625, 634, -837, -837, 771, -837, -837, -837, -837, -837,
+ 314, -837, -837, -837, -837, -837, -837, 635, 341, -837,
+ 650, -837, -837, -837, -837, -837, -837, -837, -837, -837,
-837, -837, -837, -837, -837, -837, -837, -837, 438, -837,
- 768, 597, -837, 199, -837, -837, -837, -837, 770, 640,
- 771, 85, -837, -837, -837, -837, -837, 636, -837, -837,
- 772, -837, 643, -837, -837, 769, -837, -837, 195, -837,
- -77, 769, -837, -837, 776, 777, 778, 349, -837, -837,
- -837, -837, -837, -837, 779, 657, 651, 662, -77, -837,
- 671, -837, -837, -837, -837, -837
+ 772, 637, -837, 47, -837, -837, -837, -837, 773, 612,
+ 774, 194, -837, -837, -837, -837, -837, 642, -837, -837,
+ 777, -837, 659, -837, -837, 750, -837, -837, 255, -837,
+ 13, 750, -837, -837, 775, 779, 780, -837, 344, -837,
+ -837, -837, -837, -837, -837, -837, 781, 648, 661, 664,
+ 838, 13, -837, 708, -837, -837, -837, 709, -837, -837,
+ -837
};
- const unsigned short
+ const unsigned short int
Dhcp4Parser::yydefact_[] =
{
0, 2, 4, 6, 8, 10, 12, 14, 16, 18,
0, 0, 528, 0, 473, 248, 559, 561, 0, 0,
0, 0, 648, 56, 448, 504, 347, 0, 547, 532,
0, 658, 0, 650, 546, 0, 660, 665, 0, 663,
- 0, 0, 662, 673, 0, 0, 0, 0, 667, 669,
- 670, 671, 672, 664, 0, 0, 0, 0, 0, 666,
- 0, 675, 676, 677, 668, 674
+ 0, 0, 662, 674, 0, 0, 0, 679, 0, 667,
+ 669, 670, 671, 672, 673, 664, 0, 0, 0, 0,
+ 0, 0, 666, 0, 676, 677, 678, 0, 668, 675,
+ 680
};
- const short
+ const short int
Dhcp4Parser::yypgoto_[] =
{
-837, -837, -837, -837, -837, -837, -837, -837, -837, -837,
- -837, -837, -837, -837, -837, -837, -46, -837, -466, -837,
- 311, -837, -837, -837, -837, -837, -837, -534, -837, -837,
- -837, -70, -837, -837, -837, 459, -837, -837, -837, -837,
- 176, 422, -55, -54, -27, -24, -9, 6, 9, 11,
- -837, -837, -837, -837, 12, 19, -837, -837, 228, 432,
+ -837, -837, -837, -837, -837, -837, -46, -837, -468, -837,
+ 180, -837, -837, -837, -837, -837, -837, -534, -837, -837,
+ -837, -70, -837, -837, -837, 464, -837, -837, -837, -837,
+ 237, 429, -55, -54, -27, -24, -9, 6, 9, 11,
+ -837, -837, -837, -837, 12, 19, -837, -837, 247, 451,
-837, -837, -837, -837, -837, -837, -837, -837, -837, -837,
- -837, -837, -837, -837, -837, -837, 52, -837, -837, -837,
- -837, -837, -837, 186, -837, 28, -837, -607, 35, -837,
+ -837, -837, -837, -837, -837, -837, 55, -837, -837, -837,
+ -837, -837, -837, 195, -837, 31, -837, -607, 38, -837,
-837, -837, -837, -837, -837, -837, -837, -837, -837, -35,
-837, -837, -837, -837, -837, -837, -837, -837, -837, -837,
-837, -837, -837, -837, -837, -837, -837, -837, -837, -837,
- -837, 20, -837, -837, -837, -837, -837, -837, -837, -837,
- -837, 8, -837, -837, -837, 13, 417, -837, -837, -837,
- -837, -837, -837, -837, 7, -837, -837, -837, -837, -837,
- -837, -836, -837, -837, -837, 36, -837, -837, -837, 39,
- 455, -837, -837, -837, -837, -837, -837, -837, -837, -828,
+ -837, 24, -837, -837, -837, -837, -837, -837, -837, -837,
+ -837, 16, -837, -837, -837, 14, 423, -837, -837, -837,
+ -837, -837, -837, -837, 10, -837, -837, -837, -837, -837,
+ -837, -836, -837, -837, -837, 40, -837, -837, -837, 41,
+ 459, -837, -837, -837, -837, -837, -837, -837, -837, -828,
-837, -17, -837, -5, -837, 22, -837, -837, -837, -837,
- -837, -837, -837, 30, -837, -837, -130, -65, -837, -837,
- -837, -837, -837, 38, -837, -837, -837, 41, -837, 436,
+ -837, -837, -837, 34, -837, -837, -129, -65, -837, -837,
+ -837, -837, -837, 43, -837, -837, -837, 48, -837, 441,
-837, -72, -837, -837, -837, -837, -837, -66, -837, -837,
- -837, -837, -837, -7, -837, -837, -837, 40, -837, -837,
- -837, 43, -837, 433, -837, -837, -837, -837, -837, -837,
- -837, -837, -837, -837, -837, 2, -837, -837, -837, 10,
- 462, -837, -837, -39, -837, -19, -837, -59, -837, -837,
- -837, 32, -837, -837, -837, 37, -837, 454, -58, -837,
- -52, -837, -1, -837, 250, -837, -837, -837, -837, -837,
+ -837, -837, -837, -7, -837, -837, -837, 45, -837, -837,
+ -837, 49, -837, 432, -837, -837, -837, -837, -837, -837,
+ -837, -837, -837, -837, -837, 3, -837, -837, -837, 7,
+ 466, -837, -837, -39, -837, -19, -837, -59, -837, -837,
+ -837, 33, -837, -837, -837, 50, -837, 457, -58, -837,
+ -52, -837, -1, -837, 251, -837, -837, -837, -837, -837,
-837, -837, -837, -837, -837, -837, -837, -837, -837, -837,
- -837, -837, -825, -837, -837, -837, -837, -837, 42, -837,
- -837, -837, -122, -837, -837, -837, -837, -837, -837, -837,
- -837, 25, -837, -837, -837, -837, -837, -837, -837, -837,
- -837, -837, 275, 427, -837, -837, -837, -837, -837, -837,
+ -837, -837, -825, -837, -837, -837, -837, -837, 51, -837,
+ -837, -837, -119, -837, -837, -837, -837, -837, -837, -837,
+ -837, 29, -837, -837, -837, -837, -837, -837, -837, -837,
+ -837, -837, 273, 428, -837, -837, -837, -837, -837, -837,
-837, -837, -837, -837, -837, -837, -837, -837, -837, -837,
-837, -837, -837, -837, -837, -837, -64, -837, -60, -837,
-837, -837, -837, -837, -837, -837, -837, -837, -837, -837,
- 303, 424, -837, -837, -837, -837, -837, -837, -837, 310,
- 430, -57, -837, -837, 33, -837, -837, -120, -837, -837,
- -837, -837, -837, -837, -139, -837, -837, -155, -837, -837,
- -837, -837, -837
+ 304, 426, -837, -837, -837, -837, -837, -837, -837, 310,
+ 431, -57, -837, -837, 35, -837, -837, -117, -837, -837,
+ -837, -837, -837, -837, -136, -837, -837, -155, -837, -837,
+ -837, -837, -837, -837, -837
};
- const short
+ const short int
Dhcp4Parser::yydefgoto_[] =
{
-1, 15, 16, 17, 18, 19, 20, 21, 22, 23,
99, 376, 100, 377, 101, 378, 186, 382, 67, 82,
365, 366, 367, 492, 368, 102, 375, 65, 81, 360,
361, 187, 422, 813, 814, 892, 1000, 1001, 1002, 1003,
- 1040, 1004, 1038, 1058, 1059, 1060, 1067, 1068, 1069, 1074,
- 1070, 1071, 1072
+ 1040, 1004, 1038, 1058, 1059, 1060, 1068, 1069, 1070, 1076,
+ 1071, 1072, 1073, 1074, 1080
};
- const unsigned short
+ const unsigned short int
Dhcp4Parser::yytable_[] =
{
95, 144, 192, 211, 243, 260, 307, 286, 305, 322,
340, 278, 308, 744, 237, 238, 358, 267, 212, 213,
359, 239, 83, 268, 362, 660, 31, 89, 32, 945,
- 33, 664, 683, 199, 235, 250, 262, 946, 300, 318,
- 958, 341, 287, 306, 188, 189, 214, 380, 190, 215,
- 30, 191, 381, 200, 236, 251, 263, 244, 301, 319,
- 279, 342, 320, 321, 216, 627, 233, 246, 261, 245,
- 363, 364, 240, 1063, 269, 627, 1064, 1065, 1066, 217,
- 868, 42, 218, 869, 219, 220, 107, 108, 109, 110,
- 111, 423, 221, 44, 429, 231, 424, 46, 280, 430,
- 281, 282, 129, 130, 283, 284, 285, 441, 320, 321,
- 129, 130, 442, 129, 130, 48, 115, 116, 117, 118,
- 119, 120, 121, 122, 94, 444, 50, 201, 202, 203,
- 445, 127, 765, 766, 767, 768, 871, 769, 127, 872,
- 802, 803, 204, 52, 129, 130, 205, 206, 207, 131,
- 242, 129, 130, 684, 54, 893, 208, 280, 894, 209,
- 134, 648, 649, 208, 90, 103, 209, 210, 104, 129,
- 130, 473, 56, 91, 92, 93, 474, 105, 86, 106,
- 107, 108, 109, 110, 111, 112, 113, 114, 488, 58,
- 94, 94, 945, 489, 34, 35, 36, 37, 1061, 94,
- 946, 1062, 94, 958, 651, 652, 687, 688, 689, 690,
- 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
- 125, 490, 259, 820, 126, 127, 491, 109, 110, 111,
- 60, 62, 64, 94, 993, 128, 994, 995, 129, 130,
- 94, 691, 494, 131, 66, 423, 925, 495, 132, 133,
- 825, 490, 494, 126, 134, 429, 826, 827, 94, 143,
- 828, 109, 110, 111, 135, 369, 370, 136, 830, 126,
- 127, 280, 850, 831, 137, 138, 850, 851, 139, 140,
- 371, 852, 372, 129, 130, 788, 789, 790, 791, 792,
- 793, 373, 454, 885, 456, 379, 961, 962, 886, 141,
- 142, 889, 143, 488, 127, 385, 890, 850, 891, 441,
- 95, 1028, 1024, 386, 1025, 473, 1029, 129, 130, 387,
- 1035, 394, 464, 395, 496, 497, 1041, 94, 252, 396,
- 397, 1042, 398, 399, 253, 254, 255, 256, 257, 258,
- 400, 259, 280, 302, 281, 282, 303, 304, 401, 402,
- 416, 444, 1078, 144, 129, 130, 1044, 1079, 428, 192,
- 437, 630, 631, 632, 633, 1012, 1013, 1014, 1015, 455,
- 465, 211, 94, 459, 243, 463, 467, 468, 469, 470,
- 498, 475, 237, 238, 478, 260, 212, 213, 480, 239,
- 199, 481, 484, 485, 493, 286, 499, 267, 307, 500,
- 305, 501, 235, 268, 308, 250, 94, 502, 503, 505,
- 200, 506, 507, 511, 214, 512, 262, 215, 340, 508,
- 509, 510, 236, 513, 358, 251, 300, 244, 359, 514,
- 287, 318, 216, 362, 233, 306, 263, 246, 515, 245,
- 240, 516, 517, 94, 526, 527, 301, 217, 261, 341,
- 218, 319, 219, 220, 269, 610, 611, 612, 522, 518,
- 221, 519, 528, 231, 107, 108, 109, 110, 111, 342,
- 520, 521, 529, 530, 523, 531, 1045, 1, 2, 3,
+ 33, 664, 30, 199, 235, 250, 262, 946, 300, 318,
+ 958, 341, 287, 306, 683, 868, 214, 380, 869, 215,
+ 129, 130, 381, 200, 236, 251, 263, 244, 301, 319,
+ 423, 342, 279, 627, 216, 424, 233, 246, 261, 245,
+ 320, 321, 240, 627, 269, 109, 110, 111, 42, 217,
+ 871, 429, 218, 872, 219, 220, 430, 44, 802, 803,
+ 188, 189, 221, 441, 190, 231, 444, 191, 442, 473,
+ 280, 445, 281, 282, 474, 46, 283, 284, 285, 488,
+ 127, 490, 129, 130, 489, 494, 491, 126, 127, 280,
+ 495, 48, 242, 129, 130, 687, 688, 689, 690, 363,
+ 364, 129, 130, 94, 103, 208, 423, 104, 209, 50,
+ 94, 825, 490, 52, 961, 962, 105, 826, 106, 107,
+ 108, 109, 110, 111, 112, 113, 114, 320, 321, 129,
+ 130, 691, 54, 1063, 90, 684, 1064, 1065, 1066, 1067,
+ 648, 649, 494, 429, 91, 92, 93, 827, 828, 115,
+ 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
+ 56, 94, 945, 126, 127, 34, 35, 36, 37, 58,
+ 946, 86, 94, 958, 128, 830, 850, 129, 130, 850,
+ 831, 851, 131, 94, 852, 885, 60, 132, 133, 889,
+ 886, 94, 893, 134, 890, 894, 280, 302, 281, 282,
+ 303, 304, 488, 135, 126, 850, 136, 891, 129, 130,
+ 1024, 651, 652, 137, 138, 441, 925, 139, 140, 94,
+ 1025, 259, 820, 107, 108, 109, 110, 111, 1061, 62,
+ 1028, 1062, 109, 110, 111, 1029, 280, 64, 141, 142,
+ 66, 143, 788, 789, 790, 791, 792, 793, 129, 130,
+ 369, 370, 143, 115, 116, 117, 118, 119, 120, 121,
+ 122, 371, 372, 373, 201, 202, 203, 94, 127, 765,
+ 766, 767, 768, 473, 769, 127, 379, 385, 1035, 204,
+ 95, 129, 130, 205, 206, 207, 131, 1041, 129, 130,
+ 386, 454, 1042, 208, 496, 497, 209, 134, 94, 252,
+ 630, 631, 632, 633, 210, 253, 254, 255, 256, 257,
+ 258, 387, 259, 993, 444, 994, 995, 1081, 455, 1044,
+ 394, 395, 1082, 144, 1012, 1013, 1014, 1015, 396, 192,
+ 397, 398, 399, 400, 401, 402, 416, 428, 94, 437,
+ 459, 211, 456, 463, 243, 464, 465, 508, 467, 468,
+ 469, 470, 237, 238, 475, 260, 212, 213, 478, 239,
+ 199, 480, 481, 484, 485, 286, 493, 267, 307, 498,
+ 305, 94, 235, 268, 308, 250, 499, 500, 94, 501,
+ 200, 502, 503, 505, 214, 506, 262, 215, 340, 507,
+ 509, 510, 236, 511, 358, 251, 300, 244, 359, 512,
+ 287, 318, 216, 362, 233, 306, 263, 246, 513, 245,
+ 240, 514, 517, 515, 516, 518, 301, 217, 261, 341,
+ 218, 319, 219, 220, 269, 610, 611, 612, 519, 522,
+ 221, 520, 526, 231, 107, 108, 109, 110, 111, 342,
+ 521, 527, 523, 524, 525, 528, 1045, 1, 2, 3,
4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
- 14, 524, 532, 533, 115, 116, 117, 118, 119, 120,
- 121, 122, 534, 535, 125, 525, 536, 537, 538, 127,
- 280, 539, 540, 541, 542, 543, 544, 545, 547, 550,
- 548, 549, 129, 130, 552, 206, 553, 131, 554, 555,
- 556, 557, 558, 559, 208, 560, 561, 209, 144, 563,
- 565, 679, 566, 567, 192, 210, 568, 569, 570, 571,
- 572, 574, 362, 575, 577, 576, 578, 579, 580, 582,
- 586, 695, 583, 587, 590, 591, 593, 584, 592, 589,
- 804, 596, 340, 594, 595, 199, 597, 598, 358, 600,
- 601, 604, 359, 607, 686, 608, 599, 605, 609, 613,
- 614, 615, 621, 616, 617, 200, 618, 619, 620, 129,
- 130, 805, 622, 341, 623, 624, 625, 626, 629, 635,
- 32, 94, 636, 637, 638, 643, 644, 639, 640, 704,
- 642, 806, 645, 342, 705, 706, 707, 708, 709, 710,
+ 14, 529, 530, 531, 115, 116, 117, 118, 119, 120,
+ 121, 122, 532, 533, 125, 534, 535, 536, 537, 127,
+ 280, 538, 540, 539, 541, 542, 543, 544, 545, 550,
+ 547, 548, 129, 130, 549, 206, 552, 131, 553, 554,
+ 555, 556, 557, 559, 208, 560, 561, 209, 144, 563,
+ 565, 679, 566, 558, 192, 210, 567, 568, 569, 570,
+ 571, 572, 362, 574, 575, 577, 576, 578, 579, 580,
+ 582, 695, 583, 584, 586, 587, 590, 591, 589, 592,
+ 804, 593, 340, 594, 595, 199, 596, 597, 358, 600,
+ 601, 598, 359, 599, 604, 605, 607, 616, 608, 686,
+ 609, 613, 617, 614, 615, 200, 618, 619, 620, 129,
+ 130, 805, 621, 341, 622, 623, 624, 625, 626, 629,
+ 635, 32, 94, 636, 637, 638, 643, 644, 639, 704,
+ 640, 806, 642, 342, 705, 706, 707, 708, 709, 710,
711, 712, 713, 714, 715, 716, 717, 718, 719, 720,
721, 327, 328, 329, 330, 331, 332, 333, 334, 335,
- 336, 337, 338, 339, 646, 654, 655, 280, 656, 657,
- 141, 142, 662, 658, 659, 661, 663, 665, 666, 667,
- 668, 694, 700, 669, 670, 745, 749, 753, 671, 672,
- 673, 757, 761, 777, 780, 784, 812, 816, 94, 836,
- 837, 674, 675, 838, 676, 839, 677, 840, 845, 846,
- 847, 678, 848, 680, 849, 854, 681, 682, 855, 857,
- 693, 858, 860, 861, 864, 863, 867, 911, 866, 875,
- 874, 877, 878, 899, 879, 880, 881, 882, 883, 884,
- 895, 900, 910, 903, 902, 904, 906, 907, 908, 909,
- 912, 913, 914, 915, 916, 917, 918, 919, 920, 990,
- 991, 1007, 1026, 1006, 921, 1010, 1031, 1027, 94, 1033,
- 922, 1032, 1034, 983, 923, 1039, 984, 985, 986, 987,
- 988, 1011, 1047, 1048, 1050, 1052, 1057, 1055, 1017, 1018,
- 1075, 1076, 1077, 1080, 696, 1019, 211, 1020, 1021, 286,
- 307, 1022, 305, 1023, 1036, 933, 308, 237, 238, 1037,
- 963, 212, 213, 260, 239, 965, 322, 955, 1043, 1054,
- 934, 935, 969, 956, 1051, 267, 1056, 235, 970, 804,
- 300, 268, 996, 318, 287, 1082, 953, 306, 243, 214,
- 944, 967, 215, 1081, 262, 964, 1083, 236, 936, 504,
- 301, 937, 699, 319, 1085, 546, 954, 216, 947, 233,
- 805, 968, 641, 998, 263, 240, 938, 997, 952, 250,
- 948, 551, 217, 966, 957, 218, 261, 219, 220, 971,
+ 336, 337, 338, 339, 645, 646, 654, 280, 655, 656,
+ 141, 142, 657, 662, 658, 659, 661, 663, 665, 666,
+ 667, 668, 694, 745, 669, 700, 749, 753, 757, 670,
+ 671, 761, 777, 672, 780, 784, 812, 816, 836, 94,
+ 837, 838, 673, 674, 839, 675, 840, 676, 845, 846,
+ 847, 848, 849, 855, 677, 854, 879, 678, 680, 857,
+ 858, 681, 860, 682, 693, 861, 863, 864, 867, 866,
+ 875, 641, 874, 878, 877, 880, 881, 882, 883, 884,
+ 900, 895, 899, 910, 904, 903, 902, 906, 907, 908,
+ 909, 911, 913, 912, 914, 915, 916, 917, 918, 919,
+ 990, 991, 920, 921, 922, 1006, 1007, 1057, 1010, 94,
+ 1026, 1031, 1033, 1027, 983, 923, 1032, 984, 985, 986,
+ 987, 988, 1011, 1017, 1034, 1039, 1047, 1050, 1052, 1077,
+ 1018, 1019, 1055, 1078, 1079, 1083, 211, 1051, 1020, 286,
+ 307, 1021, 305, 1022, 1023, 933, 308, 237, 238, 1036,
+ 963, 212, 213, 260, 239, 965, 322, 955, 1037, 1043,
+ 934, 935, 969, 956, 1048, 267, 1054, 235, 970, 804,
+ 300, 268, 996, 318, 287, 1084, 953, 306, 243, 214,
+ 944, 967, 215, 1056, 262, 964, 1085, 236, 936, 1086,
+ 301, 937, 1087, 319, 504, 696, 954, 216, 947, 233,
+ 805, 968, 546, 998, 263, 240, 938, 997, 952, 250,
+ 948, 699, 217, 966, 957, 218, 261, 219, 220, 971,
806, 939, 269, 999, 940, 221, 941, 942, 231, 251,
- 824, 244, 905, 926, 943, 924, 982, 949, 960, 981,
- 588, 246, 989, 245, 928, 927, 562, 959, 1046, 930,
- 929, 581, 1009, 585, 932, 931, 564, 980, 1008, 573,
- 979, 1049, 821, 978, 992, 602, 698, 811, 606, 697,
- 603, 1053, 1073, 1084, 0, 0, 1005, 0, 0, 0,
+ 551, 244, 1089, 1090, 943, 905, 926, 949, 924, 824,
+ 981, 246, 960, 245, 982, 989, 588, 927, 928, 1046,
+ 562, 959, 585, 1009, 930, 1008, 581, 929, 980, 932,
+ 564, 931, 573, 821, 1049, 811, 602, 698, 992, 697,
+ 606, 603, 978, 979, 1053, 1075, 1088, 0, 1005, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 933, 0,
949
};
- const short
+ const short int
Dhcp4Parser::yycheck_[] =
{
70, 71, 72, 73, 74, 75, 78, 77, 78, 79,
80, 76, 78, 620, 73, 73, 80, 75, 73, 73,
80, 73, 68, 75, 81, 559, 5, 10, 7, 865,
- 9, 565, 18, 72, 73, 74, 75, 865, 77, 78,
- 865, 80, 77, 78, 15, 16, 73, 3, 19, 73,
- 0, 22, 8, 72, 73, 74, 75, 74, 77, 78,
- 34, 80, 111, 112, 73, 531, 73, 74, 75, 74,
- 12, 13, 73, 150, 75, 541, 153, 154, 155, 73,
- 3, 7, 73, 6, 73, 73, 26, 27, 28, 29,
- 30, 3, 73, 7, 3, 73, 8, 7, 72, 8,
- 74, 75, 84, 85, 78, 79, 80, 3, 111, 112,
- 84, 85, 8, 84, 85, 7, 56, 57, 58, 59,
- 60, 61, 62, 63, 173, 3, 7, 67, 68, 69,
- 8, 71, 101, 102, 103, 104, 3, 106, 71, 6,
- 122, 123, 82, 7, 84, 85, 86, 87, 88, 89,
- 83, 84, 85, 139, 7, 3, 96, 72, 6, 99,
- 100, 17, 18, 96, 147, 11, 99, 107, 14, 84,
- 85, 3, 7, 156, 157, 158, 8, 23, 173, 25,
- 26, 27, 28, 29, 30, 31, 32, 33, 3, 7,
- 173, 173, 1028, 8, 173, 174, 175, 176, 3, 173,
- 1028, 6, 173, 1028, 20, 21, 141, 142, 143, 144,
- 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
- 66, 3, 108, 109, 70, 71, 8, 28, 29, 30,
- 7, 7, 7, 173, 149, 81, 151, 152, 84, 85,
- 173, 176, 3, 89, 7, 3, 853, 8, 94, 95,
- 8, 3, 3, 70, 100, 3, 8, 8, 173, 148,
- 8, 28, 29, 30, 110, 6, 3, 113, 3, 70,
- 71, 72, 3, 8, 120, 121, 3, 8, 124, 125,
- 4, 8, 8, 84, 85, 114, 115, 116, 117, 118,
- 119, 3, 8, 3, 8, 4, 97, 98, 8, 145,
- 146, 3, 148, 3, 71, 4, 8, 3, 8, 3,
- 380, 3, 8, 4, 8, 3, 8, 84, 85, 4,
- 8, 4, 8, 4, 370, 371, 3, 173, 95, 4,
- 4, 8, 4, 4, 101, 102, 103, 104, 105, 106,
- 4, 108, 72, 73, 74, 75, 76, 77, 4, 4,
- 4, 3, 3, 423, 84, 85, 8, 8, 4, 429,
- 4, 90, 91, 92, 93, 35, 36, 37, 38, 3,
- 3, 441, 173, 4, 444, 4, 4, 4, 8, 3,
- 173, 4, 441, 441, 4, 455, 441, 441, 4, 441,
- 429, 4, 4, 4, 4, 465, 4, 455, 470, 4,
- 470, 4, 441, 455, 470, 444, 173, 4, 4, 4,
- 429, 4, 4, 4, 441, 4, 455, 441, 488, 176,
- 176, 176, 441, 4, 488, 444, 465, 444, 488, 4,
+ 9, 565, 0, 72, 73, 74, 75, 865, 77, 78,
+ 865, 80, 77, 78, 18, 3, 73, 3, 6, 73,
+ 84, 85, 8, 72, 73, 74, 75, 74, 77, 78,
+ 3, 80, 34, 531, 73, 8, 73, 74, 75, 74,
+ 111, 112, 73, 541, 75, 28, 29, 30, 7, 73,
+ 3, 3, 73, 6, 73, 73, 8, 7, 122, 123,
+ 15, 16, 73, 3, 19, 73, 3, 22, 8, 3,
+ 72, 8, 74, 75, 8, 7, 78, 79, 80, 3,
+ 71, 3, 84, 85, 8, 3, 8, 70, 71, 72,
+ 8, 7, 83, 84, 85, 141, 142, 143, 144, 12,
+ 13, 84, 85, 174, 11, 96, 3, 14, 99, 7,
+ 174, 8, 3, 7, 97, 98, 23, 8, 25, 26,
+ 27, 28, 29, 30, 31, 32, 33, 111, 112, 84,
+ 85, 177, 7, 150, 147, 139, 153, 154, 155, 156,
+ 17, 18, 3, 3, 157, 158, 159, 8, 8, 56,
+ 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
+ 7, 174, 1028, 70, 71, 174, 175, 176, 177, 7,
+ 1028, 174, 174, 1028, 81, 3, 3, 84, 85, 3,
+ 8, 8, 89, 174, 8, 3, 7, 94, 95, 3,
+ 8, 174, 3, 100, 8, 6, 72, 73, 74, 75,
+ 76, 77, 3, 110, 70, 3, 113, 8, 84, 85,
+ 8, 20, 21, 120, 121, 3, 853, 124, 125, 174,
+ 8, 108, 109, 26, 27, 28, 29, 30, 3, 7,
+ 3, 6, 28, 29, 30, 8, 72, 7, 145, 146,
+ 7, 148, 114, 115, 116, 117, 118, 119, 84, 85,
+ 6, 3, 148, 56, 57, 58, 59, 60, 61, 62,
+ 63, 4, 8, 3, 67, 68, 69, 174, 71, 101,
+ 102, 103, 104, 3, 106, 71, 4, 4, 8, 82,
+ 380, 84, 85, 86, 87, 88, 89, 3, 84, 85,
+ 4, 8, 8, 96, 370, 371, 99, 100, 174, 95,
+ 90, 91, 92, 93, 107, 101, 102, 103, 104, 105,
+ 106, 4, 108, 149, 3, 151, 152, 3, 3, 8,
+ 4, 4, 8, 423, 35, 36, 37, 38, 4, 429,
+ 4, 4, 4, 4, 4, 4, 4, 4, 174, 4,
+ 4, 441, 8, 4, 444, 8, 3, 177, 4, 4,
+ 8, 3, 441, 441, 4, 455, 441, 441, 4, 441,
+ 429, 4, 4, 4, 4, 465, 4, 455, 470, 174,
+ 470, 174, 441, 455, 470, 444, 4, 4, 174, 4,
+ 429, 4, 4, 4, 441, 4, 455, 441, 488, 4,
+ 177, 177, 441, 4, 488, 444, 465, 444, 488, 4,
465, 470, 441, 490, 441, 470, 455, 444, 4, 444,
- 441, 4, 174, 173, 4, 4, 465, 441, 455, 488,
- 441, 470, 441, 441, 455, 501, 502, 503, 176, 174,
- 441, 174, 4, 441, 26, 27, 28, 29, 30, 488,
- 174, 174, 4, 4, 175, 4, 1010, 159, 160, 161,
- 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
- 172, 175, 4, 4, 56, 57, 58, 59, 60, 61,
- 62, 63, 4, 4, 66, 174, 4, 4, 4, 71,
- 72, 174, 4, 4, 4, 4, 4, 4, 4, 176,
+ 441, 4, 175, 4, 4, 175, 465, 441, 455, 488,
+ 441, 470, 441, 441, 455, 501, 502, 503, 175, 177,
+ 441, 175, 4, 441, 26, 27, 28, 29, 30, 488,
+ 175, 4, 176, 176, 175, 4, 1010, 160, 161, 162,
+ 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
+ 173, 4, 4, 4, 56, 57, 58, 59, 60, 61,
+ 62, 63, 4, 4, 66, 4, 4, 4, 4, 71,
+ 72, 4, 4, 175, 4, 4, 4, 4, 4, 177,
4, 4, 84, 85, 4, 87, 4, 89, 4, 4,
- 4, 4, 174, 4, 96, 4, 4, 99, 608, 4,
- 4, 587, 4, 4, 614, 107, 4, 4, 4, 4,
- 4, 4, 609, 4, 4, 174, 4, 4, 176, 4,
- 4, 607, 176, 4, 4, 4, 4, 176, 174, 176,
- 640, 4, 642, 174, 174, 614, 4, 176, 642, 4,
- 4, 4, 642, 4, 140, 7, 176, 174, 7, 7,
- 7, 7, 5, 173, 173, 614, 173, 7, 7, 84,
- 85, 640, 173, 642, 5, 5, 5, 5, 173, 5,
- 7, 173, 5, 5, 5, 173, 173, 7, 7, 34,
- 7, 640, 5, 642, 39, 40, 41, 42, 43, 44,
+ 4, 4, 4, 4, 96, 4, 4, 99, 608, 4,
+ 4, 587, 4, 175, 614, 107, 4, 4, 4, 4,
+ 4, 4, 609, 4, 4, 4, 175, 4, 4, 177,
+ 4, 607, 177, 177, 4, 4, 4, 4, 177, 175,
+ 640, 4, 642, 175, 175, 614, 4, 4, 642, 4,
+ 4, 177, 642, 177, 4, 175, 4, 174, 7, 140,
+ 7, 7, 174, 7, 7, 614, 174, 7, 7, 84,
+ 85, 640, 5, 642, 174, 5, 5, 5, 5, 174,
+ 5, 7, 174, 5, 5, 5, 174, 174, 7, 34,
+ 7, 640, 7, 642, 39, 40, 41, 42, 43, 44,
45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
55, 126, 127, 128, 129, 130, 131, 132, 133, 134,
- 135, 136, 137, 138, 5, 173, 173, 72, 173, 5,
- 145, 146, 7, 173, 173, 173, 173, 173, 173, 173,
- 173, 5, 24, 173, 173, 7, 7, 7, 173, 173,
- 173, 7, 7, 7, 7, 7, 7, 7, 173, 4,
- 4, 173, 173, 4, 173, 4, 173, 4, 4, 4,
- 4, 173, 4, 173, 4, 6, 173, 173, 3, 6,
- 173, 3, 6, 3, 3, 6, 3, 176, 6, 3,
- 6, 6, 3, 6, 4, 4, 4, 4, 4, 4,
- 173, 3, 174, 6, 8, 4, 4, 4, 4, 4,
- 174, 176, 174, 4, 4, 4, 4, 174, 174, 4,
- 4, 3, 8, 6, 174, 4, 4, 8, 173, 3,
- 174, 8, 8, 174, 176, 4, 174, 174, 174, 174,
- 174, 173, 4, 176, 4, 4, 7, 5, 173, 173,
- 4, 4, 4, 4, 608, 173, 856, 173, 173, 859,
- 862, 173, 862, 173, 173, 865, 862, 856, 856, 173,
- 870, 856, 856, 873, 856, 870, 876, 865, 173, 173,
- 865, 865, 870, 865, 174, 873, 173, 856, 870, 889,
- 859, 873, 892, 862, 859, 174, 865, 862, 898, 856,
- 865, 870, 856, 176, 873, 870, 174, 856, 865, 380,
- 859, 865, 614, 862, 173, 423, 865, 856, 865, 856,
- 889, 870, 541, 892, 873, 856, 865, 892, 865, 898,
- 865, 429, 856, 870, 865, 856, 873, 856, 856, 870,
+ 135, 136, 137, 138, 5, 5, 174, 72, 174, 174,
+ 145, 146, 5, 7, 174, 174, 174, 174, 174, 174,
+ 174, 174, 5, 7, 174, 24, 7, 7, 7, 174,
+ 174, 7, 7, 174, 7, 7, 7, 7, 4, 174,
+ 4, 4, 174, 174, 4, 174, 4, 174, 4, 4,
+ 4, 4, 4, 3, 174, 6, 4, 174, 174, 6,
+ 3, 174, 6, 174, 174, 3, 6, 3, 3, 6,
+ 3, 541, 6, 3, 6, 4, 4, 4, 4, 4,
+ 3, 174, 6, 175, 4, 6, 8, 4, 4, 4,
+ 4, 177, 177, 175, 175, 4, 4, 4, 4, 175,
+ 4, 4, 175, 175, 175, 6, 3, 7, 4, 174,
+ 8, 4, 3, 8, 175, 177, 8, 175, 175, 175,
+ 175, 175, 174, 174, 8, 4, 4, 4, 4, 4,
+ 174, 174, 5, 4, 4, 4, 856, 175, 174, 859,
+ 862, 174, 862, 174, 174, 865, 862, 856, 856, 174,
+ 870, 856, 856, 873, 856, 870, 876, 865, 174, 174,
+ 865, 865, 870, 865, 177, 873, 174, 856, 870, 889,
+ 859, 873, 892, 862, 859, 177, 865, 862, 898, 856,
+ 865, 870, 856, 174, 873, 870, 175, 856, 865, 175,
+ 859, 865, 4, 862, 380, 608, 865, 856, 865, 856,
+ 889, 870, 423, 892, 873, 856, 865, 892, 865, 898,
+ 865, 614, 856, 870, 865, 856, 873, 856, 856, 870,
889, 865, 873, 892, 865, 856, 865, 865, 856, 898,
- 694, 898, 830, 855, 865, 850, 878, 865, 868, 876,
- 473, 898, 885, 898, 858, 856, 441, 867, 1028, 861,
- 859, 465, 900, 470, 864, 862, 444, 875, 898, 455,
- 873, 1033, 662, 871, 889, 488, 613, 642, 494, 609,
- 490, 1041, 1061, 1078, -1, -1, 893, -1, -1, -1,
+ 429, 898, 174, 174, 865, 830, 855, 865, 850, 694,
+ 876, 898, 868, 898, 878, 885, 473, 856, 858, 1028,
+ 441, 867, 470, 900, 861, 898, 465, 859, 875, 864,
+ 444, 862, 455, 662, 1033, 642, 488, 613, 889, 609,
+ 494, 490, 871, 873, 1041, 1061, 1081, -1, 893, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 1028, -1,
1028
};
- const unsigned short
+ const unsigned short int
Dhcp4Parser::yystos_[] =
{
- 0, 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,
- 0, 5, 7, 9, 173, 174, 175, 176, 193, 194,
- 195, 200, 7, 209, 7, 215, 7, 237, 7, 334,
- 7, 414, 7, 430, 7, 366, 7, 372, 7, 396,
- 7, 310, 7, 487, 7, 534, 7, 525, 201, 196,
- 210, 216, 238, 335, 415, 431, 367, 373, 397, 311,
- 488, 535, 526, 193, 202, 203, 173, 198, 199, 10,
- 147, 156, 157, 158, 173, 208, 211, 212, 213, 517,
- 519, 521, 532, 11, 14, 23, 25, 26, 27, 28,
+ 0, 160, 161, 162, 163, 164, 165, 166, 167, 168,
+ 169, 170, 171, 172, 173, 179, 180, 181, 182, 183,
+ 184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
+ 0, 5, 7, 9, 174, 175, 176, 177, 194, 195,
+ 196, 201, 7, 210, 7, 216, 7, 238, 7, 335,
+ 7, 415, 7, 431, 7, 367, 7, 373, 7, 397,
+ 7, 311, 7, 488, 7, 535, 7, 526, 202, 197,
+ 211, 217, 239, 336, 416, 432, 368, 374, 398, 312,
+ 489, 536, 527, 194, 203, 204, 174, 199, 200, 10,
+ 147, 157, 158, 159, 174, 209, 212, 213, 214, 518,
+ 520, 522, 533, 11, 14, 23, 25, 26, 27, 28,
29, 30, 31, 32, 33, 56, 57, 58, 59, 60,
61, 62, 63, 64, 65, 66, 70, 71, 81, 84,
85, 89, 94, 95, 100, 110, 113, 120, 121, 124,
- 125, 145, 146, 148, 208, 217, 218, 219, 220, 221,
- 222, 223, 224, 225, 226, 227, 228, 230, 231, 232,
- 233, 248, 250, 256, 258, 295, 304, 318, 328, 352,
- 356, 364, 390, 420, 422, 424, 435, 437, 439, 462,
- 474, 475, 483, 485, 513, 515, 523, 538, 15, 16,
- 19, 22, 208, 235, 236, 239, 241, 244, 247, 420,
- 422, 67, 68, 69, 82, 86, 87, 88, 96, 99,
- 107, 208, 219, 220, 221, 222, 223, 224, 225, 226,
- 231, 232, 336, 337, 338, 340, 342, 344, 346, 348,
- 350, 352, 355, 390, 408, 420, 422, 424, 435, 437,
- 439, 459, 83, 208, 348, 350, 390, 416, 417, 418,
- 420, 422, 95, 101, 102, 103, 104, 105, 106, 108,
- 208, 390, 420, 422, 432, 433, 434, 435, 437, 439,
- 441, 445, 447, 449, 451, 453, 455, 457, 364, 34,
- 72, 74, 75, 78, 79, 80, 208, 276, 374, 375,
- 376, 377, 378, 379, 380, 382, 384, 386, 387, 389,
- 420, 422, 73, 76, 77, 208, 276, 378, 384, 398,
- 399, 400, 401, 402, 404, 405, 406, 407, 420, 422,
- 111, 112, 208, 312, 313, 314, 316, 126, 127, 128,
+ 125, 145, 146, 148, 209, 218, 219, 220, 221, 222,
+ 223, 224, 225, 226, 227, 228, 229, 231, 232, 233,
+ 234, 249, 251, 257, 259, 296, 305, 319, 329, 353,
+ 357, 365, 391, 421, 423, 425, 436, 438, 440, 463,
+ 475, 476, 484, 486, 514, 516, 524, 539, 15, 16,
+ 19, 22, 209, 236, 237, 240, 242, 245, 248, 421,
+ 423, 67, 68, 69, 82, 86, 87, 88, 96, 99,
+ 107, 209, 220, 221, 222, 223, 224, 225, 226, 227,
+ 232, 233, 337, 338, 339, 341, 343, 345, 347, 349,
+ 351, 353, 356, 391, 409, 421, 423, 425, 436, 438,
+ 440, 460, 83, 209, 349, 351, 391, 417, 418, 419,
+ 421, 423, 95, 101, 102, 103, 104, 105, 106, 108,
+ 209, 391, 421, 423, 433, 434, 435, 436, 438, 440,
+ 442, 446, 448, 450, 452, 454, 456, 458, 365, 34,
+ 72, 74, 75, 78, 79, 80, 209, 277, 375, 376,
+ 377, 378, 379, 380, 381, 383, 385, 387, 388, 390,
+ 421, 423, 73, 76, 77, 209, 277, 379, 385, 399,
+ 400, 401, 402, 403, 405, 406, 407, 408, 421, 423,
+ 111, 112, 209, 313, 314, 315, 317, 126, 127, 128,
129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
- 208, 420, 422, 489, 490, 491, 492, 494, 496, 497,
- 499, 500, 501, 504, 506, 507, 508, 511, 513, 515,
- 536, 537, 538, 12, 13, 527, 528, 529, 531, 6,
- 3, 4, 8, 3, 214, 533, 518, 520, 522, 4,
- 3, 8, 524, 234, 251, 4, 4, 4, 436, 438,
- 440, 249, 257, 259, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 229, 329, 365, 391, 357, 421, 423,
- 353, 296, 463, 425, 305, 319, 4, 476, 484, 486,
- 514, 516, 539, 3, 8, 240, 242, 245, 4, 3,
- 8, 341, 343, 345, 409, 339, 347, 4, 351, 349,
- 460, 3, 8, 419, 3, 8, 458, 446, 448, 452,
- 450, 456, 454, 442, 8, 3, 8, 381, 277, 4,
- 385, 383, 388, 4, 8, 3, 403, 4, 4, 8,
- 3, 315, 317, 3, 8, 4, 493, 495, 4, 498,
- 4, 4, 502, 505, 4, 4, 509, 512, 3, 8,
- 3, 8, 530, 4, 3, 8, 193, 193, 173, 4,
- 4, 4, 4, 4, 212, 4, 4, 4, 176, 176,
- 176, 4, 4, 4, 4, 4, 4, 174, 174, 174,
- 174, 174, 176, 175, 175, 174, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 174,
- 4, 4, 4, 4, 4, 4, 218, 4, 4, 4,
- 176, 236, 4, 4, 4, 4, 4, 4, 174, 4,
- 4, 4, 337, 4, 417, 4, 4, 4, 4, 4,
- 4, 4, 4, 434, 4, 4, 174, 4, 4, 4,
- 176, 376, 4, 176, 176, 400, 4, 4, 313, 176,
- 4, 4, 174, 4, 174, 174, 4, 4, 176, 176,
- 4, 4, 490, 537, 4, 174, 528, 4, 7, 7,
- 193, 193, 193, 7, 7, 7, 173, 173, 173, 7,
- 7, 5, 173, 5, 5, 5, 5, 195, 197, 173,
- 90, 91, 92, 93, 354, 5, 5, 5, 5, 7,
- 7, 197, 7, 173, 173, 5, 5, 204, 17, 18,
- 243, 20, 21, 246, 173, 173, 173, 5, 173, 173,
- 204, 173, 7, 173, 204, 173, 173, 173, 173, 173,
- 173, 173, 173, 173, 173, 173, 173, 173, 173, 193,
- 173, 173, 173, 18, 139, 503, 140, 141, 142, 143,
- 144, 176, 510, 173, 5, 193, 217, 536, 527, 235,
- 24, 252, 253, 254, 34, 39, 40, 41, 42, 43,
+ 209, 421, 423, 490, 491, 492, 493, 495, 497, 498,
+ 500, 501, 502, 505, 507, 508, 509, 512, 514, 516,
+ 537, 538, 539, 12, 13, 528, 529, 530, 532, 6,
+ 3, 4, 8, 3, 215, 534, 519, 521, 523, 4,
+ 3, 8, 525, 235, 252, 4, 4, 4, 437, 439,
+ 441, 250, 258, 260, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 230, 330, 366, 392, 358, 422, 424,
+ 354, 297, 464, 426, 306, 320, 4, 477, 485, 487,
+ 515, 517, 540, 3, 8, 241, 243, 246, 4, 3,
+ 8, 342, 344, 346, 410, 340, 348, 4, 352, 350,
+ 461, 3, 8, 420, 3, 8, 459, 447, 449, 453,
+ 451, 457, 455, 443, 8, 3, 8, 382, 278, 4,
+ 386, 384, 389, 4, 8, 3, 404, 4, 4, 8,
+ 3, 316, 318, 3, 8, 4, 494, 496, 4, 499,
+ 4, 4, 503, 506, 4, 4, 510, 513, 3, 8,
+ 3, 8, 531, 4, 3, 8, 194, 194, 174, 4,
+ 4, 4, 4, 4, 213, 4, 4, 4, 177, 177,
+ 177, 4, 4, 4, 4, 4, 4, 175, 175, 175,
+ 175, 175, 177, 176, 176, 175, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 175,
+ 4, 4, 4, 4, 4, 4, 219, 4, 4, 4,
+ 177, 237, 4, 4, 4, 4, 4, 4, 175, 4,
+ 4, 4, 338, 4, 418, 4, 4, 4, 4, 4,
+ 4, 4, 4, 435, 4, 4, 175, 4, 4, 4,
+ 177, 377, 4, 177, 177, 401, 4, 4, 314, 177,
+ 4, 4, 175, 4, 175, 175, 4, 4, 177, 177,
+ 4, 4, 491, 538, 4, 175, 529, 4, 7, 7,
+ 194, 194, 194, 7, 7, 7, 174, 174, 174, 7,
+ 7, 5, 174, 5, 5, 5, 5, 196, 198, 174,
+ 90, 91, 92, 93, 355, 5, 5, 5, 5, 7,
+ 7, 198, 7, 174, 174, 5, 5, 205, 17, 18,
+ 244, 20, 21, 247, 174, 174, 174, 5, 174, 174,
+ 205, 174, 7, 174, 205, 174, 174, 174, 174, 174,
+ 174, 174, 174, 174, 174, 174, 174, 174, 174, 194,
+ 174, 174, 174, 18, 139, 504, 140, 141, 142, 143,
+ 144, 177, 511, 174, 5, 194, 218, 537, 528, 236,
+ 24, 253, 254, 255, 34, 39, 40, 41, 42, 43,
44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
- 54, 55, 208, 264, 265, 266, 269, 271, 273, 275,
- 276, 278, 279, 280, 281, 282, 283, 284, 285, 287,
- 289, 291, 293, 294, 264, 7, 260, 261, 262, 7,
- 330, 331, 332, 7, 368, 369, 370, 7, 392, 393,
- 394, 7, 358, 359, 360, 101, 102, 103, 104, 106,
- 297, 298, 299, 300, 301, 302, 303, 7, 464, 465,
- 7, 426, 427, 428, 7, 306, 307, 308, 114, 115,
- 116, 117, 118, 119, 320, 321, 322, 323, 324, 325,
- 326, 327, 122, 123, 208, 420, 422, 477, 478, 479,
- 481, 489, 7, 540, 541, 205, 7, 410, 411, 412,
- 109, 441, 443, 461, 260, 8, 8, 8, 8, 255,
- 3, 8, 267, 270, 272, 274, 4, 4, 4, 4,
- 4, 286, 288, 290, 292, 4, 4, 4, 4, 4,
- 3, 8, 8, 263, 6, 3, 333, 6, 3, 371,
- 6, 3, 395, 6, 3, 361, 6, 3, 3, 6,
- 466, 3, 6, 429, 6, 3, 309, 6, 3, 4,
- 4, 4, 4, 4, 4, 3, 8, 480, 482, 3,
- 8, 8, 542, 3, 6, 173, 206, 207, 413, 6,
- 3, 444, 8, 6, 4, 253, 4, 4, 4, 4,
- 174, 176, 174, 176, 174, 4, 4, 4, 4, 174,
- 174, 174, 174, 176, 265, 264, 262, 336, 332, 374,
- 370, 398, 394, 208, 219, 220, 221, 222, 223, 224,
- 225, 226, 231, 232, 276, 328, 346, 348, 350, 352,
- 362, 363, 390, 420, 422, 435, 437, 439, 459, 360,
- 298, 97, 98, 208, 276, 364, 390, 420, 422, 435,
- 437, 439, 467, 468, 469, 470, 471, 473, 465, 432,
- 428, 312, 308, 174, 174, 174, 174, 174, 174, 321,
- 4, 4, 478, 149, 151, 152, 208, 276, 420, 422,
- 543, 544, 545, 546, 548, 541, 6, 3, 416, 412,
- 4, 173, 35, 36, 37, 38, 268, 173, 173, 173,
- 173, 173, 173, 173, 8, 8, 8, 8, 3, 8,
- 472, 4, 8, 3, 8, 8, 173, 173, 549, 4,
- 547, 3, 8, 173, 8, 204, 363, 4, 176, 469,
- 4, 174, 4, 544, 173, 5, 173, 7, 550, 551,
- 552, 3, 6, 150, 153, 154, 155, 553, 554, 555,
- 557, 558, 559, 551, 556, 4, 4, 4, 3, 8,
- 4, 176, 174, 174, 554, 173
+ 54, 55, 209, 265, 266, 267, 270, 272, 274, 276,
+ 277, 279, 280, 281, 282, 283, 284, 285, 286, 288,
+ 290, 292, 294, 295, 265, 7, 261, 262, 263, 7,
+ 331, 332, 333, 7, 369, 370, 371, 7, 393, 394,
+ 395, 7, 359, 360, 361, 101, 102, 103, 104, 106,
+ 298, 299, 300, 301, 302, 303, 304, 7, 465, 466,
+ 7, 427, 428, 429, 7, 307, 308, 309, 114, 115,
+ 116, 117, 118, 119, 321, 322, 323, 324, 325, 326,
+ 327, 328, 122, 123, 209, 421, 423, 478, 479, 480,
+ 482, 490, 7, 541, 542, 206, 7, 411, 412, 413,
+ 109, 442, 444, 462, 261, 8, 8, 8, 8, 256,
+ 3, 8, 268, 271, 273, 275, 4, 4, 4, 4,
+ 4, 287, 289, 291, 293, 4, 4, 4, 4, 4,
+ 3, 8, 8, 264, 6, 3, 334, 6, 3, 372,
+ 6, 3, 396, 6, 3, 362, 6, 3, 3, 6,
+ 467, 3, 6, 430, 6, 3, 310, 6, 3, 4,
+ 4, 4, 4, 4, 4, 3, 8, 481, 483, 3,
+ 8, 8, 543, 3, 6, 174, 207, 208, 414, 6,
+ 3, 445, 8, 6, 4, 254, 4, 4, 4, 4,
+ 175, 177, 175, 177, 175, 4, 4, 4, 4, 175,
+ 175, 175, 175, 177, 266, 265, 263, 337, 333, 375,
+ 371, 399, 395, 209, 220, 221, 222, 223, 224, 225,
+ 226, 227, 232, 233, 277, 329, 347, 349, 351, 353,
+ 363, 364, 391, 421, 423, 436, 438, 440, 460, 361,
+ 299, 97, 98, 209, 277, 365, 391, 421, 423, 436,
+ 438, 440, 468, 469, 470, 471, 472, 474, 466, 433,
+ 429, 313, 309, 175, 175, 175, 175, 175, 175, 322,
+ 4, 4, 479, 149, 151, 152, 209, 277, 421, 423,
+ 544, 545, 546, 547, 549, 542, 6, 3, 417, 413,
+ 4, 174, 35, 36, 37, 38, 269, 174, 174, 174,
+ 174, 174, 174, 174, 8, 8, 8, 8, 3, 8,
+ 473, 4, 8, 3, 8, 8, 174, 174, 550, 4,
+ 548, 3, 8, 174, 8, 205, 364, 4, 177, 470,
+ 4, 175, 4, 545, 174, 5, 174, 7, 551, 552,
+ 553, 3, 6, 150, 153, 154, 155, 156, 554, 555,
+ 556, 558, 559, 560, 561, 552, 557, 4, 4, 4,
+ 562, 3, 8, 4, 177, 175, 175, 4, 555, 174,
+ 174
};
- const unsigned short
+ const unsigned short int
Dhcp4Parser::yyr1_[] =
{
- 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, 193, 193, 193, 193, 193, 193, 194, 196, 195,
- 197, 198, 198, 199, 199, 201, 200, 202, 202, 203,
- 203, 205, 204, 206, 206, 207, 207, 208, 210, 209,
- 211, 211, 212, 212, 212, 212, 212, 212, 214, 213,
- 216, 215, 217, 217, 218, 218, 218, 218, 218, 218,
- 218, 218, 218, 218, 218, 218, 218, 218, 218, 218,
- 218, 218, 218, 218, 218, 218, 218, 218, 218, 218,
- 218, 218, 218, 218, 218, 218, 218, 218, 218, 218,
- 218, 218, 218, 218, 218, 218, 219, 220, 221, 222,
- 223, 224, 225, 226, 227, 229, 228, 230, 231, 232,
- 234, 233, 235, 235, 236, 236, 236, 236, 236, 236,
- 236, 238, 237, 240, 239, 242, 241, 243, 243, 245,
- 244, 246, 246, 247, 249, 248, 251, 250, 252, 252,
- 253, 255, 254, 257, 256, 259, 258, 260, 260, 261,
- 261, 263, 262, 264, 264, 265, 265, 265, 265, 265,
- 265, 265, 265, 265, 265, 265, 265, 265, 265, 265,
- 265, 265, 265, 265, 265, 267, 266, 268, 268, 268,
- 268, 270, 269, 272, 271, 274, 273, 275, 277, 276,
- 278, 279, 280, 281, 282, 283, 284, 286, 285, 288,
- 287, 290, 289, 292, 291, 293, 294, 296, 295, 297,
- 297, 298, 298, 298, 298, 298, 299, 300, 301, 302,
- 303, 305, 304, 306, 306, 307, 307, 309, 308, 311,
- 310, 312, 312, 312, 313, 313, 315, 314, 317, 316,
- 319, 318, 320, 320, 321, 321, 321, 321, 321, 321,
- 322, 323, 324, 325, 326, 327, 329, 328, 330, 330,
- 331, 331, 333, 332, 335, 334, 336, 336, 337, 337,
- 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
- 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
- 337, 337, 337, 337, 337, 337, 337, 339, 338, 341,
- 340, 343, 342, 345, 344, 347, 346, 349, 348, 351,
- 350, 353, 352, 354, 354, 354, 354, 355, 357, 356,
- 358, 358, 359, 359, 361, 360, 362, 362, 363, 363,
- 363, 363, 363, 363, 363, 363, 363, 363, 363, 363,
- 363, 363, 363, 363, 363, 363, 363, 363, 363, 363,
- 363, 363, 365, 364, 367, 366, 368, 368, 369, 369,
- 371, 370, 373, 372, 374, 374, 375, 375, 376, 376,
- 376, 376, 376, 376, 376, 376, 376, 376, 377, 378,
- 379, 381, 380, 383, 382, 385, 384, 386, 388, 387,
- 389, 391, 390, 392, 392, 393, 393, 395, 394, 397,
- 396, 398, 398, 399, 399, 400, 400, 400, 400, 400,
- 400, 400, 400, 400, 401, 403, 402, 404, 405, 406,
- 407, 409, 408, 410, 410, 411, 411, 413, 412, 415,
- 414, 416, 416, 417, 417, 417, 417, 417, 417, 417,
- 419, 418, 421, 420, 423, 422, 425, 424, 426, 426,
- 427, 427, 429, 428, 431, 430, 432, 432, 433, 433,
- 434, 434, 434, 434, 434, 434, 434, 434, 434, 434,
- 434, 434, 434, 434, 434, 436, 435, 438, 437, 440,
- 439, 442, 441, 444, 443, 446, 445, 448, 447, 450,
- 449, 452, 451, 454, 453, 456, 455, 458, 457, 460,
- 459, 461, 461, 463, 462, 464, 464, 466, 465, 467,
- 467, 468, 468, 469, 469, 469, 469, 469, 469, 469,
- 469, 469, 469, 469, 470, 472, 471, 473, 474, 476,
- 475, 477, 477, 478, 478, 478, 478, 478, 480, 479,
- 482, 481, 484, 483, 486, 485, 488, 487, 489, 489,
- 490, 490, 490, 490, 490, 490, 490, 490, 490, 490,
- 490, 490, 490, 490, 490, 490, 490, 490, 491, 493,
- 492, 495, 494, 496, 498, 497, 499, 500, 502, 501,
- 503, 503, 505, 504, 506, 507, 509, 508, 510, 510,
- 510, 510, 510, 512, 511, 514, 513, 516, 515, 518,
- 517, 520, 519, 522, 521, 524, 523, 526, 525, 527,
- 527, 528, 528, 530, 529, 531, 533, 532, 535, 534,
- 536, 536, 537, 539, 538, 540, 540, 542, 541, 543,
- 543, 544, 544, 544, 544, 544, 544, 544, 545, 547,
- 546, 549, 548, 550, 550, 552, 551, 553, 553, 554,
- 554, 554, 554, 556, 555, 557, 558, 559
+ 0, 178, 180, 179, 181, 179, 182, 179, 183, 179,
+ 184, 179, 185, 179, 186, 179, 187, 179, 188, 179,
+ 189, 179, 190, 179, 191, 179, 192, 179, 193, 179,
+ 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, 219, 219, 219,
+ 219, 219, 219, 219, 219, 219, 220, 221, 222, 223,
+ 224, 225, 226, 227, 228, 230, 229, 231, 232, 233,
+ 235, 234, 236, 236, 237, 237, 237, 237, 237, 237,
+ 237, 239, 238, 241, 240, 243, 242, 244, 244, 246,
+ 245, 247, 247, 248, 250, 249, 252, 251, 253, 253,
+ 254, 256, 255, 258, 257, 260, 259, 261, 261, 262,
+ 262, 264, 263, 265, 265, 266, 266, 266, 266, 266,
+ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266,
+ 266, 266, 266, 266, 266, 268, 267, 269, 269, 269,
+ 269, 271, 270, 273, 272, 275, 274, 276, 278, 277,
+ 279, 280, 281, 282, 283, 284, 285, 287, 286, 289,
+ 288, 291, 290, 293, 292, 294, 295, 297, 296, 298,
+ 298, 299, 299, 299, 299, 299, 300, 301, 302, 303,
+ 304, 306, 305, 307, 307, 308, 308, 310, 309, 312,
+ 311, 313, 313, 313, 314, 314, 316, 315, 318, 317,
+ 320, 319, 321, 321, 322, 322, 322, 322, 322, 322,
+ 323, 324, 325, 326, 327, 328, 330, 329, 331, 331,
+ 332, 332, 334, 333, 336, 335, 337, 337, 338, 338,
+ 338, 338, 338, 338, 338, 338, 338, 338, 338, 338,
+ 338, 338, 338, 338, 338, 338, 338, 338, 338, 338,
+ 338, 338, 338, 338, 338, 338, 338, 340, 339, 342,
+ 341, 344, 343, 346, 345, 348, 347, 350, 349, 352,
+ 351, 354, 353, 355, 355, 355, 355, 356, 358, 357,
+ 359, 359, 360, 360, 362, 361, 363, 363, 364, 364,
+ 364, 364, 364, 364, 364, 364, 364, 364, 364, 364,
+ 364, 364, 364, 364, 364, 364, 364, 364, 364, 364,
+ 364, 364, 366, 365, 368, 367, 369, 369, 370, 370,
+ 372, 371, 374, 373, 375, 375, 376, 376, 377, 377,
+ 377, 377, 377, 377, 377, 377, 377, 377, 378, 379,
+ 380, 382, 381, 384, 383, 386, 385, 387, 389, 388,
+ 390, 392, 391, 393, 393, 394, 394, 396, 395, 398,
+ 397, 399, 399, 400, 400, 401, 401, 401, 401, 401,
+ 401, 401, 401, 401, 402, 404, 403, 405, 406, 407,
+ 408, 410, 409, 411, 411, 412, 412, 414, 413, 416,
+ 415, 417, 417, 418, 418, 418, 418, 418, 418, 418,
+ 420, 419, 422, 421, 424, 423, 426, 425, 427, 427,
+ 428, 428, 430, 429, 432, 431, 433, 433, 434, 434,
+ 435, 435, 435, 435, 435, 435, 435, 435, 435, 435,
+ 435, 435, 435, 435, 435, 437, 436, 439, 438, 441,
+ 440, 443, 442, 445, 444, 447, 446, 449, 448, 451,
+ 450, 453, 452, 455, 454, 457, 456, 459, 458, 461,
+ 460, 462, 462, 464, 463, 465, 465, 467, 466, 468,
+ 468, 469, 469, 470, 470, 470, 470, 470, 470, 470,
+ 470, 470, 470, 470, 471, 473, 472, 474, 475, 477,
+ 476, 478, 478, 479, 479, 479, 479, 479, 481, 480,
+ 483, 482, 485, 484, 487, 486, 489, 488, 490, 490,
+ 491, 491, 491, 491, 491, 491, 491, 491, 491, 491,
+ 491, 491, 491, 491, 491, 491, 491, 491, 492, 494,
+ 493, 496, 495, 497, 499, 498, 500, 501, 503, 502,
+ 504, 504, 506, 505, 507, 508, 510, 509, 511, 511,
+ 511, 511, 511, 513, 512, 515, 514, 517, 516, 519,
+ 518, 521, 520, 523, 522, 525, 524, 527, 526, 528,
+ 528, 529, 529, 531, 530, 532, 534, 533, 536, 535,
+ 537, 537, 538, 540, 539, 541, 541, 543, 542, 544,
+ 544, 545, 545, 545, 545, 545, 545, 545, 546, 548,
+ 547, 550, 549, 551, 551, 553, 552, 554, 554, 555,
+ 555, 555, 555, 555, 557, 556, 558, 559, 560, 562,
+ 561
};
const unsigned char
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, 1, 1, 0, 4, 3, 3, 3, 0,
+ 4
};
"\"when-present\"", "\"never\"", "\"always\"", "\"when-not-present\"",
"\"hostname-char-set\"", "\"hostname-char-replacement\"", "\"Logging\"",
"\"loggers\"", "\"output_options\"", "\"output\"", "\"debuglevel\"",
- "\"severity\"", "\"flush\"", "\"maxsize\"", "\"maxver\"", "\"Dhcp6\"",
- "\"DhcpDdns\"", "\"Control-agent\"", "TOPLEVEL_JSON", "TOPLEVEL_DHCP4",
- "SUB_DHCP4", "SUB_INTERFACES4", "SUB_SUBNET4", "SUB_POOL4",
- "SUB_RESERVATION", "SUB_OPTION_DEFS", "SUB_OPTION_DEF",
+ "\"severity\"", "\"flush\"", "\"maxsize\"", "\"maxver\"", "\"pattern\"",
+ "\"Dhcp6\"", "\"DhcpDdns\"", "\"Control-agent\"", "TOPLEVEL_JSON",
+ "TOPLEVEL_DHCP4", "SUB_DHCP4", "SUB_INTERFACES4", "SUB_SUBNET4",
+ "SUB_POOL4", "SUB_RESERVATION", "SUB_OPTION_DEFS", "SUB_OPTION_DEF",
"SUB_OPTION_DATA", "SUB_HOOKS_LIBRARY", "SUB_DHCP_DDNS", "SUB_LOGGING",
"SUB_CONFIG_CONTROL", "\"constant string\"", "\"integer\"",
"\"floating point\"", "\"boolean\"", "$accept", "start", "$@1", "$@2",
"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
+ "maxsize", "maxver", "pattern", "$@128", YY_NULLPTR
};
#if PARSER4_DEBUG
- const unsigned short
+ const unsigned short int
Dhcp4Parser::yyrline_[] =
{
- 0, 264, 264, 264, 265, 265, 266, 266, 267, 267,
- 268, 268, 269, 269, 270, 270, 271, 271, 272, 272,
- 273, 273, 274, 274, 275, 275, 276, 276, 277, 277,
- 285, 286, 287, 288, 289, 290, 291, 294, 299, 299,
- 310, 313, 314, 317, 321, 328, 328, 335, 336, 339,
- 343, 350, 350, 357, 358, 361, 365, 376, 386, 386,
- 402, 403, 407, 408, 409, 410, 411, 412, 415, 415,
- 430, 430, 439, 440, 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, 477, 478, 479, 480,
- 481, 482, 483, 484, 485, 486, 489, 494, 499, 504,
- 509, 514, 519, 524, 529, 534, 534, 542, 547, 552,
- 558, 558, 569, 570, 573, 574, 575, 576, 577, 578,
- 579, 582, 582, 591, 591, 601, 601, 608, 609, 612,
- 612, 619, 621, 625, 631, 631, 643, 643, 653, 654,
- 656, 658, 658, 676, 676, 688, 688, 698, 699, 702,
- 703, 706, 706, 716, 717, 720, 721, 722, 723, 724,
- 725, 726, 727, 728, 729, 730, 731, 732, 733, 734,
- 735, 736, 737, 738, 739, 742, 742, 749, 750, 751,
- 752, 755, 755, 763, 763, 771, 771, 779, 784, 784,
- 792, 797, 802, 807, 812, 817, 822, 827, 827, 835,
- 835, 843, 843, 851, 851, 859, 864, 869, 869, 879,
- 880, 883, 884, 885, 886, 887, 890, 895, 900, 905,
- 910, 915, 915, 925, 926, 929, 930, 933, 933, 943,
- 943, 953, 954, 955, 958, 959, 962, 962, 970, 970,
- 978, 978, 989, 990, 993, 994, 995, 996, 997, 998,
- 1001, 1006, 1011, 1016, 1021, 1026, 1034, 1034, 1047, 1048,
- 1051, 1052, 1059, 1059, 1085, 1085, 1096, 1097, 1101, 1102,
- 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112,
- 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122,
- 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1132, 1132, 1140,
- 1140, 1148, 1148, 1156, 1156, 1164, 1164, 1172, 1172, 1180,
- 1180, 1190, 1190, 1197, 1198, 1199, 1200, 1203, 1210, 1210,
- 1221, 1222, 1226, 1227, 1230, 1230, 1238, 1239, 1242, 1243,
- 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1251, 1252, 1253,
- 1254, 1255, 1256, 1257, 1258, 1259, 1260, 1261, 1262, 1263,
- 1264, 1265, 1272, 1272, 1285, 1285, 1294, 1295, 1298, 1299,
- 1304, 1304, 1319, 1319, 1333, 1334, 1337, 1338, 1341, 1342,
- 1343, 1344, 1345, 1346, 1347, 1348, 1349, 1350, 1353, 1355,
- 1360, 1362, 1362, 1370, 1370, 1378, 1378, 1386, 1388, 1388,
- 1396, 1405, 1405, 1417, 1418, 1423, 1424, 1429, 1429, 1441,
- 1441, 1453, 1454, 1459, 1460, 1465, 1466, 1467, 1468, 1469,
- 1470, 1471, 1472, 1473, 1476, 1478, 1478, 1486, 1488, 1490,
- 1495, 1503, 1503, 1515, 1516, 1519, 1520, 1523, 1523, 1533,
- 1533, 1543, 1544, 1547, 1548, 1549, 1550, 1551, 1552, 1553,
- 1556, 1556, 1564, 1564, 1589, 1589, 1619, 1619, 1629, 1630,
- 1633, 1634, 1637, 1637, 1646, 1646, 1655, 1656, 1659, 1660,
- 1664, 1665, 1666, 1667, 1668, 1669, 1670, 1671, 1672, 1673,
- 1674, 1675, 1676, 1677, 1678, 1681, 1681, 1689, 1689, 1697,
- 1697, 1705, 1705, 1713, 1713, 1723, 1723, 1731, 1731, 1739,
- 1739, 1747, 1747, 1755, 1755, 1763, 1763, 1771, 1771, 1784,
- 1784, 1794, 1795, 1801, 1801, 1811, 1812, 1815, 1815, 1825,
- 1826, 1829, 1830, 1833, 1834, 1835, 1836, 1837, 1838, 1839,
- 1840, 1841, 1842, 1843, 1846, 1848, 1848, 1856, 1865, 1872,
- 1872, 1882, 1883, 1886, 1887, 1888, 1889, 1890, 1893, 1893,
- 1901, 1901, 1912, 1912, 1950, 1950, 1962, 1962, 1972, 1973,
- 1976, 1977, 1978, 1979, 1980, 1981, 1982, 1983, 1984, 1985,
- 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1996, 2001,
- 2001, 2009, 2009, 2017, 2022, 2022, 2030, 2035, 2040, 2040,
- 2048, 2049, 2052, 2052, 2060, 2065, 2070, 2070, 2078, 2081,
- 2084, 2087, 2090, 2096, 2096, 2104, 2104, 2112, 2112, 2123,
- 2123, 2130, 2130, 2137, 2137, 2144, 2144, 2155, 2155, 2165,
- 2166, 2170, 2171, 2174, 2174, 2184, 2194, 2194, 2204, 2204,
- 2215, 2216, 2220, 2224, 2224, 2236, 2237, 2241, 2241, 2249,
- 2250, 2253, 2254, 2255, 2256, 2257, 2258, 2259, 2262, 2267,
- 2267, 2275, 2275, 2285, 2286, 2289, 2289, 2297, 2298, 2301,
- 2302, 2303, 2304, 2307, 2307, 2315, 2320, 2325
+ 0, 265, 265, 265, 266, 266, 267, 267, 268, 268,
+ 269, 269, 270, 270, 271, 271, 272, 272, 273, 273,
+ 274, 274, 275, 275, 276, 276, 277, 277, 278, 278,
+ 286, 287, 288, 289, 290, 291, 292, 295, 300, 300,
+ 311, 314, 315, 318, 322, 329, 329, 336, 337, 340,
+ 344, 351, 351, 358, 359, 362, 366, 377, 387, 387,
+ 403, 404, 408, 409, 410, 411, 412, 413, 416, 416,
+ 431, 431, 440, 441, 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, 477, 478, 479, 480, 481,
+ 482, 483, 484, 485, 486, 487, 490, 495, 500, 505,
+ 510, 515, 520, 525, 530, 535, 535, 543, 548, 553,
+ 559, 559, 570, 571, 574, 575, 576, 577, 578, 579,
+ 580, 583, 583, 592, 592, 602, 602, 609, 610, 613,
+ 613, 620, 622, 626, 632, 632, 644, 644, 654, 655,
+ 657, 659, 659, 677, 677, 689, 689, 699, 700, 703,
+ 704, 707, 707, 717, 718, 721, 722, 723, 724, 725,
+ 726, 727, 728, 729, 730, 731, 732, 733, 734, 735,
+ 736, 737, 738, 739, 740, 743, 743, 750, 751, 752,
+ 753, 756, 756, 764, 764, 772, 772, 780, 785, 785,
+ 793, 798, 803, 808, 813, 818, 823, 828, 828, 836,
+ 836, 844, 844, 852, 852, 860, 865, 870, 870, 880,
+ 881, 884, 885, 886, 887, 888, 891, 896, 901, 906,
+ 911, 916, 916, 926, 927, 930, 931, 934, 934, 944,
+ 944, 954, 955, 956, 959, 960, 963, 963, 971, 971,
+ 979, 979, 990, 991, 994, 995, 996, 997, 998, 999,
+ 1002, 1007, 1012, 1017, 1022, 1027, 1035, 1035, 1048, 1049,
+ 1052, 1053, 1060, 1060, 1086, 1086, 1097, 1098, 1102, 1103,
+ 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113,
+ 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123,
+ 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1133, 1133, 1141,
+ 1141, 1149, 1149, 1157, 1157, 1165, 1165, 1173, 1173, 1181,
+ 1181, 1191, 1191, 1198, 1199, 1200, 1201, 1204, 1211, 1211,
+ 1222, 1223, 1227, 1228, 1231, 1231, 1239, 1240, 1243, 1244,
+ 1245, 1246, 1247, 1248, 1249, 1250, 1251, 1252, 1253, 1254,
+ 1255, 1256, 1257, 1258, 1259, 1260, 1261, 1262, 1263, 1264,
+ 1265, 1266, 1273, 1273, 1286, 1286, 1295, 1296, 1299, 1300,
+ 1305, 1305, 1320, 1320, 1334, 1335, 1338, 1339, 1342, 1343,
+ 1344, 1345, 1346, 1347, 1348, 1349, 1350, 1351, 1354, 1356,
+ 1361, 1363, 1363, 1371, 1371, 1379, 1379, 1387, 1389, 1389,
+ 1397, 1406, 1406, 1418, 1419, 1424, 1425, 1430, 1430, 1442,
+ 1442, 1454, 1455, 1460, 1461, 1466, 1467, 1468, 1469, 1470,
+ 1471, 1472, 1473, 1474, 1477, 1479, 1479, 1487, 1489, 1491,
+ 1496, 1504, 1504, 1516, 1517, 1520, 1521, 1524, 1524, 1534,
+ 1534, 1544, 1545, 1548, 1549, 1550, 1551, 1552, 1553, 1554,
+ 1557, 1557, 1565, 1565, 1590, 1590, 1620, 1620, 1630, 1631,
+ 1634, 1635, 1638, 1638, 1647, 1647, 1656, 1657, 1660, 1661,
+ 1665, 1666, 1667, 1668, 1669, 1670, 1671, 1672, 1673, 1674,
+ 1675, 1676, 1677, 1678, 1679, 1682, 1682, 1690, 1690, 1698,
+ 1698, 1706, 1706, 1714, 1714, 1724, 1724, 1732, 1732, 1740,
+ 1740, 1748, 1748, 1756, 1756, 1764, 1764, 1772, 1772, 1785,
+ 1785, 1795, 1796, 1802, 1802, 1812, 1813, 1816, 1816, 1826,
+ 1827, 1830, 1831, 1834, 1835, 1836, 1837, 1838, 1839, 1840,
+ 1841, 1842, 1843, 1844, 1847, 1849, 1849, 1857, 1866, 1873,
+ 1873, 1883, 1884, 1887, 1888, 1889, 1890, 1891, 1894, 1894,
+ 1902, 1902, 1913, 1913, 1951, 1951, 1963, 1963, 1973, 1974,
+ 1977, 1978, 1979, 1980, 1981, 1982, 1983, 1984, 1985, 1986,
+ 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1997, 2002,
+ 2002, 2010, 2010, 2018, 2023, 2023, 2031, 2036, 2041, 2041,
+ 2049, 2050, 2053, 2053, 2061, 2066, 2071, 2071, 2079, 2082,
+ 2085, 2088, 2091, 2097, 2097, 2105, 2105, 2113, 2113, 2124,
+ 2124, 2131, 2131, 2138, 2138, 2145, 2145, 2156, 2156, 2166,
+ 2167, 2171, 2172, 2175, 2175, 2185, 2195, 2195, 2205, 2205,
+ 2216, 2217, 2221, 2225, 2225, 2237, 2238, 2242, 2242, 2250,
+ 2251, 2254, 2255, 2256, 2257, 2258, 2259, 2260, 2263, 2268,
+ 2268, 2276, 2276, 2286, 2287, 2290, 2290, 2298, 2299, 2302,
+ 2303, 2304, 2305, 2306, 2309, 2309, 2317, 2322, 2327, 2332,
+ 2332
};
// 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"
+#line 14 "dhcp4_parser.yy" // lalr1.cc:1167
} } // isc::dhcp
-#line 5094 "dhcp4_parser.cc"
-
-#line 2330 "dhcp4_parser.yy"
+#line 5051 "dhcp4_parser.cc" // lalr1.cc:1167
+#line 2341 "dhcp4_parser.yy" // lalr1.cc:1168
void
-// A Bison parser, made by GNU Bison 3.4.1.
+// 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"
+#line 17 "dhcp4_parser.yy" // lalr1.cc:377
#include <string>
#include <cc/data.h>
using namespace isc::data;
using namespace std;
-#line 60 "dhcp4_parser.h"
+#line 56 "dhcp4_parser.h" // lalr1.cc:377
# include <cassert>
# include <cstdlib> // std::abort
# include <stdexcept>
# include <string>
# include <vector>
-
-#if defined __cplusplus
-# define YY_CPLUSPLUS __cplusplus
-#else
-# define YY_CPLUSPLUS 199711L
-#endif
-
-// Support move semantics when possible.
-#if 201103L <= YY_CPLUSPLUS
-# define YY_MOVE std::move
-# define YY_MOVE_OR_COPY move
-# define YY_MOVE_REF(Type) Type&&
-# define YY_RVREF(Type) Type&&
-# define YY_COPY(Type) Type
-#else
-# define YY_MOVE
-# define YY_MOVE_OR_COPY copy
-# define YY_MOVE_REF(Type) Type&
-# define YY_RVREF(Type) const Type&
-# define YY_COPY(Type) const Type&
-#endif
-
-// Support noexcept when possible.
-#if 201103L <= YY_CPLUSPLUS
-# define YY_NOEXCEPT noexcept
-# define YY_NOTHROW
-#else
-# define YY_NOEXCEPT
-# define YY_NOTHROW throw ()
-#endif
-
-// Support constexpr when possible.
-#if 201703 <= YY_CPLUSPLUS
-# define YY_CONSTEXPR constexpr
-#else
-# define YY_CONSTEXPR
-#endif
+# include "stack.hh"
# include "location.hh"
#include <typeinfo>
#ifndef 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"
+#line 14 "dhcp4_parser.yy" // lalr1.cc:377
namespace isc { namespace dhcp {
-#line 184 "dhcp4_parser.h"
+#line 141 "dhcp4_parser.h" // lalr1.cc:377
-
- /// A Bison parser.
- class Dhcp4Parser
- {
- public:
-#ifndef PARSER4_STYPE
- /// A buffer to store and retrieve objects.
+ /// A char[S] buffer to store and retrieve objects.
///
/// Sort of a variant, but does not keep track of the nature
/// of the stored data, since that knowledge is available
- /// via the current parser state.
- class semantic_type
+ /// via the current state.
+ template <size_t S>
+ struct variant
{
- public:
/// Type of *this.
- typedef semantic_type self_type;
+ typedef variant<S> self_type;
/// Empty construction.
- semantic_type () YY_NOEXCEPT
- : yybuffer_ ()
- , yytypeid_ (YY_NULLPTR)
+ variant ()
+ : yytypeid_ (YY_NULLPTR)
{}
/// Construct and fill.
template <typename T>
- semantic_type (YY_RVREF (T) t)
+ variant (const T& t)
: yytypeid_ (&typeid (T))
{
- 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_FLUSH = 408,
TOKEN_MAXSIZE = 409,
TOKEN_MAXVER = 410,
- TOKEN_DHCP6 = 411,
- TOKEN_DHCPDDNS = 412,
- TOKEN_CONTROL_AGENT = 413,
- TOKEN_TOPLEVEL_JSON = 414,
- TOKEN_TOPLEVEL_DHCP4 = 415,
- TOKEN_SUB_DHCP4 = 416,
- TOKEN_SUB_INTERFACES4 = 417,
- TOKEN_SUB_SUBNET4 = 418,
- TOKEN_SUB_POOL4 = 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
+ TOKEN_PATTERN = 411,
+ TOKEN_DHCP6 = 412,
+ TOKEN_DHCPDDNS = 413,
+ TOKEN_CONTROL_AGENT = 414,
+ TOKEN_TOPLEVEL_JSON = 415,
+ TOKEN_TOPLEVEL_DHCP4 = 416,
+ TOKEN_SUB_DHCP4 = 417,
+ TOKEN_SUB_INTERFACES4 = 418,
+ TOKEN_SUB_SUBNET4 = 419,
+ TOKEN_SUB_POOL4 = 420,
+ TOKEN_SUB_RESERVATION = 421,
+ TOKEN_SUB_OPTION_DEFS = 422,
+ TOKEN_SUB_OPTION_DEF = 423,
+ TOKEN_SUB_OPTION_DATA = 424,
+ TOKEN_SUB_HOOKS_LIBRARY = 425,
+ TOKEN_SUB_DHCP_DDNS = 426,
+ TOKEN_SUB_LOGGING = 427,
+ TOKEN_SUB_CONFIG_CONTROL = 428,
+ TOKEN_STRING = 429,
+ TOKEN_INTEGER = 430,
+ TOKEN_FLOAT = 431,
+ TOKEN_BOOLEAN = 432
};
};
/// 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 193: // value
- case 197: // map_value
- case 243: // socket_type
- case 246: // outbound_interface_value
- case 268: // db_type
- case 354: // hr_mode
- case 503: // ncr_protocol_value
- case 510: // replace_client_name_value
- value.template destroy< ElementPtr > ();
- break;
+ basic_symbol (typename Base::kind_type t, const ElementPtr v, const location_type& l);
- case 176: // "boolean"
- value.template destroy< bool > ();
- break;
+ basic_symbol (typename Base::kind_type t, const bool v, const location_type& l);
- case 175: // "floating point"
- value.template destroy< double > ();
- break;
+ basic_symbol (typename Base::kind_type t, const double v, const location_type& l);
- case 174: // "integer"
- value.template destroy< int64_t > ();
- break;
+ basic_symbol (typename Base::kind_type t, const int64_t v, const location_type& l);
- case 173: // "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_CONFIG_FETCH_WAIT_TIME || tok == token::TOKEN_INTERFACES_CONFIG || tok == token::TOKEN_INTERFACES || tok == token::TOKEN_DHCP_SOCKET_TYPE || tok == token::TOKEN_RAW || tok == token::TOKEN_UDP || tok == token::TOKEN_OUTBOUND_INTERFACE || tok == token::TOKEN_SAME_AS_INBOUND || tok == token::TOKEN_USE_ROUTING || tok == token::TOKEN_RE_DETECT || tok == token::TOKEN_SANITY_CHECKS || tok == token::TOKEN_LEASE_CHECKS || tok == token::TOKEN_ECHO_CLIENT_ID || tok == token::TOKEN_MATCH_CLIENT_ID || tok == token::TOKEN_AUTHORITATIVE || tok == token::TOKEN_NEXT_SERVER || tok == token::TOKEN_SERVER_HOSTNAME || tok == token::TOKEN_BOOT_FILE_NAME || tok == token::TOKEN_LEASE_DATABASE || tok == token::TOKEN_HOSTS_DATABASE || tok == token::TOKEN_HOSTS_DATABASES || tok == token::TOKEN_TYPE || tok == token::TOKEN_MEMFILE || tok == token::TOKEN_MYSQL || tok == token::TOKEN_POSTGRESQL || tok == token::TOKEN_CQL || tok == token::TOKEN_USER || tok == token::TOKEN_PASSWORD || tok == token::TOKEN_HOST || tok == token::TOKEN_PORT || tok == token::TOKEN_PERSIST || tok == token::TOKEN_LFC_INTERVAL || tok == token::TOKEN_READONLY || tok == token::TOKEN_CONNECT_TIMEOUT || tok == token::TOKEN_CONTACT_POINTS || tok == token::TOKEN_KEYSPACE || tok == token::TOKEN_CONSISTENCY || tok == token::TOKEN_SERIAL_CONSISTENCY || tok == token::TOKEN_MAX_RECONNECT_TRIES || tok == token::TOKEN_RECONNECT_WAIT_TIME || tok == token::TOKEN_REQUEST_TIMEOUT || tok == token::TOKEN_TCP_KEEPALIVE || tok == token::TOKEN_TCP_NODELAY || tok == token::TOKEN_VALID_LIFETIME || tok == token::TOKEN_MIN_VALID_LIFETIME || tok == token::TOKEN_MAX_VALID_LIFETIME || tok == token::TOKEN_RENEW_TIMER || tok == token::TOKEN_REBIND_TIMER || tok == token::TOKEN_CALCULATE_TEE_TIMES || tok == token::TOKEN_T1_PERCENT || tok == token::TOKEN_T2_PERCENT || tok == token::TOKEN_DECLINE_PROBATION_PERIOD || tok == token::TOKEN_SERVER_TAG || tok == token::TOKEN_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_CONFIG_FETCH_WAIT_TIME || tok == token::TOKEN_INTERFACES_CONFIG || tok == token::TOKEN_INTERFACES || tok == token::TOKEN_DHCP_SOCKET_TYPE || tok == token::TOKEN_RAW || tok == token::TOKEN_UDP || tok == token::TOKEN_OUTBOUND_INTERFACE || tok == token::TOKEN_SAME_AS_INBOUND || tok == token::TOKEN_USE_ROUTING || tok == token::TOKEN_RE_DETECT || tok == token::TOKEN_SANITY_CHECKS || tok == token::TOKEN_LEASE_CHECKS || tok == token::TOKEN_ECHO_CLIENT_ID || tok == token::TOKEN_MATCH_CLIENT_ID || tok == token::TOKEN_AUTHORITATIVE || tok == token::TOKEN_NEXT_SERVER || tok == token::TOKEN_SERVER_HOSTNAME || tok == token::TOKEN_BOOT_FILE_NAME || tok == token::TOKEN_LEASE_DATABASE || tok == token::TOKEN_HOSTS_DATABASE || tok == token::TOKEN_HOSTS_DATABASES || tok == token::TOKEN_TYPE || tok == token::TOKEN_MEMFILE || tok == token::TOKEN_MYSQL || tok == token::TOKEN_POSTGRESQL || tok == token::TOKEN_CQL || tok == token::TOKEN_USER || tok == token::TOKEN_PASSWORD || tok == token::TOKEN_HOST || tok == token::TOKEN_PORT || tok == token::TOKEN_PERSIST || tok == token::TOKEN_LFC_INTERVAL || tok == token::TOKEN_READONLY || tok == token::TOKEN_CONNECT_TIMEOUT || tok == token::TOKEN_CONTACT_POINTS || tok == token::TOKEN_KEYSPACE || tok == token::TOKEN_CONSISTENCY || tok == token::TOKEN_SERIAL_CONSISTENCY || tok == token::TOKEN_MAX_RECONNECT_TRIES || tok == token::TOKEN_RECONNECT_WAIT_TIME || tok == token::TOKEN_REQUEST_TIMEOUT || tok == token::TOKEN_TCP_KEEPALIVE || tok == token::TOKEN_TCP_NODELAY || tok == token::TOKEN_VALID_LIFETIME || tok == token::TOKEN_MIN_VALID_LIFETIME || tok == token::TOKEN_MAX_VALID_LIFETIME || tok == token::TOKEN_RENEW_TIMER || tok == token::TOKEN_REBIND_TIMER || tok == token::TOKEN_CALCULATE_TEE_TIMES || tok == token::TOKEN_T1_PERCENT || tok == token::TOKEN_T2_PERCENT || tok == token::TOKEN_DECLINE_PROBATION_PERIOD || tok == token::TOKEN_SERVER_TAG || tok == token::TOKEN_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_CONFIG_FETCH_WAIT_TIME (location_type l)
- {
- return symbol_type (token::TOKEN_CONFIG_FETCH_WAIT_TIME, std::move (l));
- }
-#else
- static
- symbol_type
- make_CONFIG_FETCH_WAIT_TIME (const location_type& l)
- {
- return symbol_type (token::TOKEN_CONFIG_FETCH_WAIT_TIME, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_INTERFACES_CONFIG (location_type l)
- {
- return symbol_type (token::TOKEN_INTERFACES_CONFIG, std::move (l));
- }
-#else
- static
- symbol_type
- make_INTERFACES_CONFIG (const location_type& l)
- {
- return symbol_type (token::TOKEN_INTERFACES_CONFIG, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_INTERFACES (location_type l)
- {
- return symbol_type (token::TOKEN_INTERFACES, std::move (l));
- }
-#else
- static
- symbol_type
- make_INTERFACES (const location_type& l)
- {
- return symbol_type (token::TOKEN_INTERFACES, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_DHCP_SOCKET_TYPE (location_type l)
- {
- return symbol_type (token::TOKEN_DHCP_SOCKET_TYPE, std::move (l));
- }
-#else
- static
- symbol_type
- make_DHCP_SOCKET_TYPE (const location_type& l)
- {
- return symbol_type (token::TOKEN_DHCP_SOCKET_TYPE, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_RAW (location_type l)
- {
- return symbol_type (token::TOKEN_RAW, std::move (l));
- }
-#else
- static
- symbol_type
- make_RAW (const location_type& l)
- {
- return symbol_type (token::TOKEN_RAW, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_UDP (location_type l)
- {
- return symbol_type (token::TOKEN_UDP, std::move (l));
- }
-#else
- static
- symbol_type
- make_UDP (const location_type& l)
- {
- return symbol_type (token::TOKEN_UDP, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_OUTBOUND_INTERFACE (location_type l)
- {
- return symbol_type (token::TOKEN_OUTBOUND_INTERFACE, std::move (l));
- }
-#else
- static
- symbol_type
- make_OUTBOUND_INTERFACE (const location_type& l)
- {
- return symbol_type (token::TOKEN_OUTBOUND_INTERFACE, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_SAME_AS_INBOUND (location_type l)
- {
- return symbol_type (token::TOKEN_SAME_AS_INBOUND, std::move (l));
- }
-#else
- static
- symbol_type
- make_SAME_AS_INBOUND (const location_type& l)
- {
- return symbol_type (token::TOKEN_SAME_AS_INBOUND, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_USE_ROUTING (location_type l)
- {
- return symbol_type (token::TOKEN_USE_ROUTING, std::move (l));
- }
-#else
- static
- symbol_type
- make_USE_ROUTING (const location_type& l)
- {
- return symbol_type (token::TOKEN_USE_ROUTING, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_RE_DETECT (location_type l)
- {
- return symbol_type (token::TOKEN_RE_DETECT, std::move (l));
- }
-#else
- static
- symbol_type
- make_RE_DETECT (const location_type& l)
- {
- return symbol_type (token::TOKEN_RE_DETECT, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_SANITY_CHECKS (location_type l)
- {
- return symbol_type (token::TOKEN_SANITY_CHECKS, std::move (l));
- }
-#else
- static
- symbol_type
- make_SANITY_CHECKS (const location_type& l)
- {
- return symbol_type (token::TOKEN_SANITY_CHECKS, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_LEASE_CHECKS (location_type l)
- {
- return symbol_type (token::TOKEN_LEASE_CHECKS, std::move (l));
- }
-#else
- static
- symbol_type
- make_LEASE_CHECKS (const location_type& l)
- {
- return symbol_type (token::TOKEN_LEASE_CHECKS, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_ECHO_CLIENT_ID (location_type l)
- {
- return symbol_type (token::TOKEN_ECHO_CLIENT_ID, std::move (l));
- }
-#else
- static
- symbol_type
- make_ECHO_CLIENT_ID (const location_type& l)
- {
- return symbol_type (token::TOKEN_ECHO_CLIENT_ID, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_MATCH_CLIENT_ID (location_type l)
- {
- return symbol_type (token::TOKEN_MATCH_CLIENT_ID, std::move (l));
- }
-#else
- static
- symbol_type
- make_MATCH_CLIENT_ID (const location_type& l)
- {
- return symbol_type (token::TOKEN_MATCH_CLIENT_ID, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_AUTHORITATIVE (location_type l)
- {
- return symbol_type (token::TOKEN_AUTHORITATIVE, std::move (l));
- }
-#else
- static
- symbol_type
- make_AUTHORITATIVE (const location_type& l)
- {
- return symbol_type (token::TOKEN_AUTHORITATIVE, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_NEXT_SERVER (location_type l)
- {
- return symbol_type (token::TOKEN_NEXT_SERVER, std::move (l));
- }
-#else
- static
- symbol_type
- make_NEXT_SERVER (const location_type& l)
- {
- return symbol_type (token::TOKEN_NEXT_SERVER, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_SERVER_HOSTNAME (location_type l)
- {
- return symbol_type (token::TOKEN_SERVER_HOSTNAME, std::move (l));
- }
-#else
- static
- symbol_type
- make_SERVER_HOSTNAME (const location_type& l)
- {
- return symbol_type (token::TOKEN_SERVER_HOSTNAME, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_BOOT_FILE_NAME (location_type l)
- {
- return symbol_type (token::TOKEN_BOOT_FILE_NAME, std::move (l));
- }
-#else
- static
- symbol_type
- make_BOOT_FILE_NAME (const location_type& l)
- {
- return symbol_type (token::TOKEN_BOOT_FILE_NAME, l);
- }
-#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);
- }
+ static inline
+ symbol_type
+ make_CONFIG_CONTROL (const location_type& l);
+
+ static inline
+ symbol_type
+ make_CONFIG_DATABASES (const location_type& l);
+
+ static inline
+ symbol_type
+ make_CONFIG_FETCH_WAIT_TIME (const location_type& l);
+
+ static inline
+ symbol_type
+ make_INTERFACES_CONFIG (const location_type& l);
+
+ static inline
+ symbol_type
+ make_INTERFACES (const location_type& l);
+
+ static inline
+ symbol_type
+ make_DHCP_SOCKET_TYPE (const location_type& l);
+
+ static inline
+ symbol_type
+ make_RAW (const location_type& l);
+
+ static inline
+ symbol_type
+ make_UDP (const location_type& l);
+
+ static inline
+ symbol_type
+ make_OUTBOUND_INTERFACE (const location_type& l);
+
+ static inline
+ symbol_type
+ make_SAME_AS_INBOUND (const location_type& l);
+
+ static inline
+ symbol_type
+ make_USE_ROUTING (const location_type& l);
+
+ static inline
+ symbol_type
+ make_RE_DETECT (const location_type& l);
+
+ static inline
+ symbol_type
+ make_SANITY_CHECKS (const location_type& l);
+
+ static inline
+ symbol_type
+ make_LEASE_CHECKS (const location_type& l);
+
+ static inline
+ symbol_type
+ make_ECHO_CLIENT_ID (const location_type& l);
+
+ static inline
+ symbol_type
+ make_MATCH_CLIENT_ID (const location_type& l);
+
+ static inline
+ symbol_type
+ make_AUTHORITATIVE (const location_type& l);
+
+ static inline
+ symbol_type
+ make_NEXT_SERVER (const location_type& l);
+
+ static inline
+ symbol_type
+ make_SERVER_HOSTNAME (const location_type& l);
+
+ static inline
+ symbol_type
+ make_BOOT_FILE_NAME (const location_type& l);
+
+ static inline
+ symbol_type
+ make_LEASE_DATABASE (const location_type& l);
+
+ static inline
+ symbol_type
+ make_HOSTS_DATABASE (const location_type& l);
+
+ static inline
+ symbol_type
+ make_HOSTS_DATABASES (const location_type& l);
+
+ static inline
+ symbol_type
+ make_TYPE (const location_type& l);
+
+ static inline
+ symbol_type
+ make_MEMFILE (const location_type& l);
+
+ static inline
+ symbol_type
+ make_MYSQL (const location_type& l);
+
+ static inline
+ symbol_type
+ make_POSTGRESQL (const location_type& l);
+
+ static inline
+ symbol_type
+ make_CQL (const location_type& l);
+
+ static inline
+ symbol_type
+ make_USER (const location_type& l);
+
+ static inline
+ symbol_type
+ make_PASSWORD (const location_type& l);
+
+ static inline
+ symbol_type
+ make_HOST (const location_type& l);
+
+ static inline
+ symbol_type
+ make_PORT (const location_type& l);
+
+ static inline
+ symbol_type
+ make_PERSIST (const location_type& l);
+
+ static inline
+ symbol_type
+ make_LFC_INTERVAL (const location_type& l);
+
+ static inline
+ symbol_type
+ make_READONLY (const location_type& l);
+
+ static inline
+ symbol_type
+ make_CONNECT_TIMEOUT (const location_type& l);
+
+ static inline
+ symbol_type
+ make_CONTACT_POINTS (const location_type& l);
+
+ static inline
+ symbol_type
+ make_KEYSPACE (const location_type& l);
+
+ static inline
+ symbol_type
+ make_CONSISTENCY (const location_type& l);
+
+ static inline
+ symbol_type
+ make_SERIAL_CONSISTENCY (const location_type& l);
+
+ static inline
+ symbol_type
+ make_MAX_RECONNECT_TRIES (const location_type& l);
+
+ static inline
+ symbol_type
+ make_RECONNECT_WAIT_TIME (const location_type& l);
+
+ static inline
+ symbol_type
+ make_REQUEST_TIMEOUT (const location_type& l);
+
+ static inline
+ symbol_type
+ make_TCP_KEEPALIVE (const location_type& l);
+
+ static inline
+ symbol_type
+ make_TCP_NODELAY (const location_type& l);
+
+ static inline
+ symbol_type
+ make_VALID_LIFETIME (const location_type& l);
+
+ static inline
+ symbol_type
+ make_MIN_VALID_LIFETIME (const location_type& l);
+
+ static inline
+ symbol_type
+ make_MAX_VALID_LIFETIME (const location_type& l);
+
+ static inline
+ symbol_type
+ make_RENEW_TIMER (const location_type& l);
+
+ static inline
+ symbol_type
+ make_REBIND_TIMER (const location_type& l);
+
+ static inline
+ symbol_type
+ make_CALCULATE_TEE_TIMES (const location_type& l);
+
+ static inline
+ symbol_type
+ make_T1_PERCENT (const location_type& l);
+
+ static inline
+ symbol_type
+ make_T2_PERCENT (const location_type& l);
+
+ static inline
+ symbol_type
+ make_DECLINE_PROBATION_PERIOD (const location_type& l);
+
+ static inline
+ symbol_type
+ make_SERVER_TAG (const location_type& l);
+
+ static inline
+ symbol_type
+ make_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_PATTERN (const location_type& l);
+
+ static inline
+ symbol_type
+ make_DHCP6 (const location_type& l);
+
+ static inline
+ symbol_type
+ make_DHCPDDNS (const location_type& l);
+
+ static inline
+ symbol_type
+ make_CONTROL_AGENT (const location_type& l);
+
+ static inline
+ symbol_type
+ make_TOPLEVEL_JSON (const location_type& l);
+
+ static inline
+ symbol_type
+ make_TOPLEVEL_DHCP4 (const location_type& l);
+
+ static inline
+ symbol_type
+ make_SUB_DHCP4 (const location_type& l);
+
+ static inline
+ symbol_type
+ make_SUB_INTERFACES4 (const location_type& l);
+
+ static inline
+ symbol_type
+ make_SUB_SUBNET4 (const location_type& l);
+
+ static inline
+ symbol_type
+ make_SUB_POOL4 (const location_type& l);
+
+ static inline
+ symbol_type
+ make_SUB_RESERVATION (const location_type& l);
+
+ static inline
+ symbol_type
+ make_SUB_OPTION_DEFS (const location_type& l);
+
+ static inline
+ symbol_type
+ make_SUB_OPTION_DEF (const location_type& l);
+
+ static inline
+ symbol_type
+ make_SUB_OPTION_DATA (const location_type& l);
+
+ static inline
+ symbol_type
+ make_SUB_HOOKS_LIBRARY (const location_type& l);
+
+ static inline
+ symbol_type
+ make_SUB_DHCP_DDNS (const location_type& l);
+
+ static inline
+ symbol_type
+ make_SUB_LOGGING (const location_type& l);
+
+ static inline
+ symbol_type
+ make_SUB_CONFIG_CONTROL (const location_type& l);
+
+ static inline
+ symbol_type
+ make_STRING (const std::string& v, const location_type& l);
+
+ static inline
+ symbol_type
+ make_INTEGER (const int64_t& v, const location_type& l);
+
+ static inline
+ symbol_type
+ make_FLOAT (const double& v, const location_type& l);
+
+ static inline
+ symbol_type
+ make_BOOLEAN (const bool& v, const location_type& l);
+
+
+ /// Build a parser object.
+ Dhcp4Parser (isc::dhcp::Parser4Context& ctx_yyarg);
+ virtual ~Dhcp4Parser ();
+
+ /// Parse.
+ /// \returns 0 iff parsing succeeded.
+ virtual int parse ();
+
+#if PARSER4_DEBUG
+ /// The current debugging stream.
+ std::ostream& debug_stream () const YY_ATTRIBUTE_PURE;
+ /// Set the current debugging stream.
+ void set_debug_stream (std::ostream &);
+
+ /// Type for debugging levels.
+ typedef int debug_level_type;
+ /// The current debugging level.
+ debug_level_type debug_level () const YY_ATTRIBUTE_PURE;
+ /// Set the current debugging level.
+ void set_debug_level (debug_level_type l);
#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_POSTGRESQL (location_type l)
- {
- return symbol_type (token::TOKEN_POSTGRESQL, std::move (l));
- }
-#else
- static
- symbol_type
- make_POSTGRESQL (const location_type& l)
- {
- return symbol_type (token::TOKEN_POSTGRESQL, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_CQL (location_type l)
- {
- return symbol_type (token::TOKEN_CQL, std::move (l));
- }
-#else
- static
- symbol_type
- make_CQL (const location_type& l)
- {
- return symbol_type (token::TOKEN_CQL, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_USER (location_type l)
- {
- return symbol_type (token::TOKEN_USER, std::move (l));
- }
-#else
- static
- symbol_type
- make_USER (const location_type& l)
- {
- return symbol_type (token::TOKEN_USER, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_PASSWORD (location_type l)
- {
- return symbol_type (token::TOKEN_PASSWORD, std::move (l));
- }
-#else
- static
- symbol_type
- make_PASSWORD (const location_type& l)
- {
- return symbol_type (token::TOKEN_PASSWORD, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_HOST (location_type l)
- {
- return symbol_type (token::TOKEN_HOST, std::move (l));
- }
-#else
- static
- symbol_type
- make_HOST (const location_type& l)
- {
- return symbol_type (token::TOKEN_HOST, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_PORT (location_type l)
- {
- return symbol_type (token::TOKEN_PORT, std::move (l));
- }
-#else
- static
- symbol_type
- make_PORT (const location_type& l)
- {
- return symbol_type (token::TOKEN_PORT, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_PERSIST (location_type l)
- {
- return symbol_type (token::TOKEN_PERSIST, std::move (l));
- }
-#else
- static
- symbol_type
- make_PERSIST (const location_type& l)
- {
- return symbol_type (token::TOKEN_PERSIST, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_LFC_INTERVAL (location_type l)
- {
- return symbol_type (token::TOKEN_LFC_INTERVAL, std::move (l));
- }
-#else
- static
- symbol_type
- make_LFC_INTERVAL (const location_type& l)
- {
- return symbol_type (token::TOKEN_LFC_INTERVAL, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_READONLY (location_type l)
- {
- return symbol_type (token::TOKEN_READONLY, std::move (l));
- }
-#else
- static
- symbol_type
- make_READONLY (const location_type& l)
- {
- return symbol_type (token::TOKEN_READONLY, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_CONNECT_TIMEOUT (location_type l)
- {
- return symbol_type (token::TOKEN_CONNECT_TIMEOUT, std::move (l));
- }
-#else
- static
- symbol_type
- make_CONNECT_TIMEOUT (const location_type& l)
- {
- return symbol_type (token::TOKEN_CONNECT_TIMEOUT, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_CONTACT_POINTS (location_type l)
- {
- return symbol_type (token::TOKEN_CONTACT_POINTS, std::move (l));
- }
-#else
- static
- symbol_type
- make_CONTACT_POINTS (const location_type& l)
- {
- return symbol_type (token::TOKEN_CONTACT_POINTS, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_KEYSPACE (location_type l)
- {
- return symbol_type (token::TOKEN_KEYSPACE, std::move (l));
- }
-#else
- static
- symbol_type
- make_KEYSPACE (const location_type& l)
- {
- return symbol_type (token::TOKEN_KEYSPACE, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_CONSISTENCY (location_type l)
- {
- return symbol_type (token::TOKEN_CONSISTENCY, std::move (l));
- }
-#else
- static
- symbol_type
- make_CONSISTENCY (const location_type& l)
- {
- return symbol_type (token::TOKEN_CONSISTENCY, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_SERIAL_CONSISTENCY (location_type l)
- {
- return symbol_type (token::TOKEN_SERIAL_CONSISTENCY, std::move (l));
- }
-#else
- static
- symbol_type
- make_SERIAL_CONSISTENCY (const location_type& l)
- {
- return symbol_type (token::TOKEN_SERIAL_CONSISTENCY, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_MAX_RECONNECT_TRIES (location_type l)
- {
- return symbol_type (token::TOKEN_MAX_RECONNECT_TRIES, std::move (l));
- }
-#else
- static
- symbol_type
- make_MAX_RECONNECT_TRIES (const location_type& l)
- {
- return symbol_type (token::TOKEN_MAX_RECONNECT_TRIES, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_RECONNECT_WAIT_TIME (location_type l)
- {
- return symbol_type (token::TOKEN_RECONNECT_WAIT_TIME, std::move (l));
- }
-#else
- static
- symbol_type
- make_RECONNECT_WAIT_TIME (const location_type& l)
- {
- return symbol_type (token::TOKEN_RECONNECT_WAIT_TIME, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_REQUEST_TIMEOUT (location_type l)
- {
- return symbol_type (token::TOKEN_REQUEST_TIMEOUT, std::move (l));
- }
-#else
- static
- symbol_type
- make_REQUEST_TIMEOUT (const location_type& l)
- {
- return symbol_type (token::TOKEN_REQUEST_TIMEOUT, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_TCP_KEEPALIVE (location_type l)
- {
- return symbol_type (token::TOKEN_TCP_KEEPALIVE, std::move (l));
- }
-#else
- static
- symbol_type
- make_TCP_KEEPALIVE (const location_type& l)
- {
- return symbol_type (token::TOKEN_TCP_KEEPALIVE, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_TCP_NODELAY (location_type l)
- {
- return symbol_type (token::TOKEN_TCP_NODELAY, std::move (l));
- }
-#else
- static
- symbol_type
- make_TCP_NODELAY (const location_type& l)
- {
- return symbol_type (token::TOKEN_TCP_NODELAY, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_VALID_LIFETIME (location_type l)
- {
- return symbol_type (token::TOKEN_VALID_LIFETIME, std::move (l));
- }
-#else
- static
- symbol_type
- make_VALID_LIFETIME (const location_type& l)
- {
- return symbol_type (token::TOKEN_VALID_LIFETIME, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_MIN_VALID_LIFETIME (location_type l)
- {
- return symbol_type (token::TOKEN_MIN_VALID_LIFETIME, std::move (l));
- }
-#else
- static
- symbol_type
- make_MIN_VALID_LIFETIME (const location_type& l)
- {
- return symbol_type (token::TOKEN_MIN_VALID_LIFETIME, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_MAX_VALID_LIFETIME (location_type l)
- {
- return symbol_type (token::TOKEN_MAX_VALID_LIFETIME, std::move (l));
- }
-#else
- static
- symbol_type
- make_MAX_VALID_LIFETIME (const location_type& l)
- {
- return symbol_type (token::TOKEN_MAX_VALID_LIFETIME, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_RENEW_TIMER (location_type l)
- {
- return symbol_type (token::TOKEN_RENEW_TIMER, std::move (l));
- }
-#else
- static
- symbol_type
- make_RENEW_TIMER (const location_type& l)
- {
- return symbol_type (token::TOKEN_RENEW_TIMER, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_REBIND_TIMER (location_type l)
- {
- return symbol_type (token::TOKEN_REBIND_TIMER, std::move (l));
- }
-#else
- static
- symbol_type
- make_REBIND_TIMER (const location_type& l)
- {
- return symbol_type (token::TOKEN_REBIND_TIMER, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_CALCULATE_TEE_TIMES (location_type l)
- {
- return symbol_type (token::TOKEN_CALCULATE_TEE_TIMES, std::move (l));
- }
-#else
- static
- symbol_type
- make_CALCULATE_TEE_TIMES (const location_type& l)
- {
- return symbol_type (token::TOKEN_CALCULATE_TEE_TIMES, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_T1_PERCENT (location_type l)
- {
- return symbol_type (token::TOKEN_T1_PERCENT, std::move (l));
- }
-#else
- static
- symbol_type
- make_T1_PERCENT (const location_type& l)
- {
- return symbol_type (token::TOKEN_T1_PERCENT, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_T2_PERCENT (location_type l)
- {
- return symbol_type (token::TOKEN_T2_PERCENT, std::move (l));
- }
-#else
- static
- symbol_type
- make_T2_PERCENT (const location_type& l)
- {
- return symbol_type (token::TOKEN_T2_PERCENT, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_DECLINE_PROBATION_PERIOD (location_type l)
- {
- return symbol_type (token::TOKEN_DECLINE_PROBATION_PERIOD, std::move (l));
- }
-#else
- static
- symbol_type
- make_DECLINE_PROBATION_PERIOD (const location_type& l)
- {
- return symbol_type (token::TOKEN_DECLINE_PROBATION_PERIOD, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_SERVER_TAG (location_type l)
- {
- return symbol_type (token::TOKEN_SERVER_TAG, std::move (l));
- }
-#else
- static
- symbol_type
- make_SERVER_TAG (const location_type& l)
- {
- return symbol_type (token::TOKEN_SERVER_TAG, l);
- }
-#endif
-#if 201103L <= YY_CPLUSPLUS
- static
- symbol_type
- make_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_ = 1050, ///< Last index in yytable_.
+ yynnts_ = 385, ///< Number of nonterminal symbols.
+ yyfinal_ = 30, ///< Termination state number.
+ yyterror_ = 1,
+ yyerrcode_ = 256,
+ yyntokens_ = 178 ///< Number of tokens.
+ };
+
+
+ // User arguments.
+ isc::dhcp::Parser4Context& ctx;
+ };
+
+ // Symbol number corresponding to token number t.
+ inline
+ Dhcp4Parser::token_number_type
+ Dhcp4Parser::yytranslate_ (token_type t)
+ {
+ static
+ const token_number_type
+ translate_table[] =
+ {
+ 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
+ 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
+ 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
+ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
+ 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
+ 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
+ 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
+ 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+ 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
+ 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
+ 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
+ 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
+ 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
+ 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
+ 175, 176, 177
+ };
+ const unsigned int user_token_number_max_ = 432;
+ 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 194: // value
+ case 198: // map_value
+ case 244: // socket_type
+ case 247: // outbound_interface_value
+ case 269: // db_type
+ case 355: // hr_mode
+ case 504: // ncr_protocol_value
+ case 511: // replace_client_name_value
+ value.copy< ElementPtr > (other.value);
+ break;
+
+ case 177: // "boolean"
+ value.copy< bool > (other.value);
+ break;
+
+ case 176: // "floating point"
+ value.copy< double > (other.value);
+ break;
+
+ case 175: // "integer"
+ value.copy< int64_t > (other.value);
+ break;
+
+ case 174: // "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 194: // value
+ case 198: // map_value
+ case 244: // socket_type
+ case 247: // outbound_interface_value
+ case 269: // db_type
+ case 355: // hr_mode
+ case 504: // ncr_protocol_value
+ case 511: // replace_client_name_value
+ value.copy< ElementPtr > (v);
+ break;
+
+ case 177: // "boolean"
+ value.copy< bool > (v);
+ break;
+
+ case 176: // "floating point"
+ value.copy< double > (v);
+ break;
+
+ case 175: // "integer"
+ value.copy< int64_t > (v);
+ break;
+
+ case 174: // "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 194: // value
+ case 198: // map_value
+ case 244: // socket_type
+ case 247: // outbound_interface_value
+ case 269: // db_type
+ case 355: // hr_mode
+ case 504: // ncr_protocol_value
+ case 511: // replace_client_name_value
+ value.template destroy< ElementPtr > ();
+ break;
+
+ case 177: // "boolean"
+ value.template destroy< bool > ();
+ break;
+
+ case 176: // "floating point"
+ value.template destroy< double > ();
+ break;
+
+ case 175: // "integer"
+ value.template destroy< int64_t > ();
+ break;
+
+ case 174: // "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 194: // value
+ case 198: // map_value
+ case 244: // socket_type
+ case 247: // outbound_interface_value
+ case 269: // db_type
+ case 355: // hr_mode
+ case 504: // ncr_protocol_value
+ case 511: // replace_client_name_value
+ value.move< ElementPtr > (s.value);
+ break;
+
+ case 177: // "boolean"
+ value.move< bool > (s.value);
+ break;
+
+ case 176: // "floating point"
+ value.move< double > (s.value);
+ break;
+
+ case 175: // "integer"
+ value.move< int64_t > (s.value);
+ break;
+
+ case 174: // "constant string"
+ value.move< std::string > (s.value);
+ break;
+
+ default:
+ break;
+ }
+
+ location = s.location;
+ }
+
+ // by_type.
+ inline
+ Dhcp4Parser::by_type::by_type ()
+ : type (empty_symbol)
+ {}
+
+ inline
+ Dhcp4Parser::by_type::by_type (const by_type& other)
+ : type (other.type)
+ {}
+
+ inline
+ Dhcp4Parser::by_type::by_type (token_type t)
+ : type (yytranslate_ (t))
+ {}
+
+ inline
+ void
+ Dhcp4Parser::by_type::clear ()
+ {
+ type = empty_symbol;
+ }
+
+ inline
+ void
+ Dhcp4Parser::by_type::move (by_type& that)
+ {
+ type = that.type;
+ that.clear ();
+ }
+
+ inline
+ int
+ Dhcp4Parser::by_type::type_get () const
+ {
+ return type;
+ }
+
+ inline
+ Dhcp4Parser::token_type
+ Dhcp4Parser::by_type::token () const
+ {
+ // YYTOKNUM[NUM] -- (External) token number corresponding to the
+ // (internal) symbol number NUM (which must be that of a token). */
+ static
+ const unsigned short int
+ yytoken_number_[] =
+ {
+ 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
+ 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
+ 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
+ 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
+ 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
+ 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
+ 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
+ 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
+ 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
+ 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
+ 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
+ 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
+ 375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
+ 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
+ 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
+ 405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
+ 415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
+ 425, 426, 427, 428, 429, 430, 431, 432
+ };
+ return static_cast<token_type> (yytoken_number_[type]);
+ }
+ // Implementation of make_symbol for each symbol type.
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_END (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_END, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_COMMA (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_COMMA, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_COLON (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_COLON, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_LSQUARE_BRACKET (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_LSQUARE_BRACKET, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_RSQUARE_BRACKET (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_RSQUARE_BRACKET, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_LCURLY_BRACKET (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_LCURLY_BRACKET, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_RCURLY_BRACKET (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_RCURLY_BRACKET, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_NULL_TYPE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_NULL_TYPE, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_DHCP4 (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_DHCP4, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_CONFIG_CONTROL (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_CONFIG_CONTROL, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_CONFIG_DATABASES (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_CONFIG_DATABASES, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_CONFIG_FETCH_WAIT_TIME (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_CONFIG_FETCH_WAIT_TIME, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_INTERFACES_CONFIG (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_INTERFACES_CONFIG, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_INTERFACES (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_INTERFACES, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_DHCP_SOCKET_TYPE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_DHCP_SOCKET_TYPE, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_RAW (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_RAW, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_UDP (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_UDP, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_OUTBOUND_INTERFACE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_OUTBOUND_INTERFACE, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SAME_AS_INBOUND (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SAME_AS_INBOUND, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_USE_ROUTING (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_USE_ROUTING, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_RE_DETECT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_RE_DETECT, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SANITY_CHECKS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SANITY_CHECKS, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_LEASE_CHECKS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_LEASE_CHECKS, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_ECHO_CLIENT_ID (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_ECHO_CLIENT_ID, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_MATCH_CLIENT_ID (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_MATCH_CLIENT_ID, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_AUTHORITATIVE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_AUTHORITATIVE, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_NEXT_SERVER (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_NEXT_SERVER, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SERVER_HOSTNAME (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SERVER_HOSTNAME, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_BOOT_FILE_NAME (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_BOOT_FILE_NAME, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_LEASE_DATABASE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_LEASE_DATABASE, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_HOSTS_DATABASE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_HOSTS_DATABASE, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_HOSTS_DATABASES (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_HOSTS_DATABASES, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_TYPE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_TYPE, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_MEMFILE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_MEMFILE, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_MYSQL (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_MYSQL, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_POSTGRESQL (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_POSTGRESQL, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_CQL (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_CQL, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_USER (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_USER, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_PASSWORD (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_PASSWORD, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_HOST (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_HOST, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_PORT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_PORT, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_PERSIST (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_PERSIST, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_LFC_INTERVAL (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_LFC_INTERVAL, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_READONLY (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_READONLY, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_CONNECT_TIMEOUT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_CONNECT_TIMEOUT, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_CONTACT_POINTS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_CONTACT_POINTS, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_KEYSPACE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_KEYSPACE, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_CONSISTENCY (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_CONSISTENCY, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SERIAL_CONSISTENCY (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SERIAL_CONSISTENCY, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_MAX_RECONNECT_TRIES (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_MAX_RECONNECT_TRIES, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_RECONNECT_WAIT_TIME (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_RECONNECT_WAIT_TIME, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_REQUEST_TIMEOUT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_REQUEST_TIMEOUT, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_TCP_KEEPALIVE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_TCP_KEEPALIVE, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_TCP_NODELAY (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_TCP_NODELAY, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_VALID_LIFETIME (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_VALID_LIFETIME, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_MIN_VALID_LIFETIME (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_MIN_VALID_LIFETIME, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_MAX_VALID_LIFETIME (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_MAX_VALID_LIFETIME, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_RENEW_TIMER (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_RENEW_TIMER, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_REBIND_TIMER (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_REBIND_TIMER, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_CALCULATE_TEE_TIMES (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_CALCULATE_TEE_TIMES, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_T1_PERCENT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_T1_PERCENT, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_T2_PERCENT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_T2_PERCENT, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_DECLINE_PROBATION_PERIOD (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_DECLINE_PROBATION_PERIOD, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SERVER_TAG (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SERVER_TAG, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SUBNET4 (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SUBNET4, l);
+ }
- private:
- /// This class is not copyable.
- Dhcp4Parser (const Dhcp4Parser&);
- Dhcp4Parser& operator= (const Dhcp4Parser&);
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SUBNET_4O6_INTERFACE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SUBNET_4O6_INTERFACE, l);
+ }
- /// State numbers.
- typedef int state_type;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SUBNET_4O6_INTERFACE_ID (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SUBNET_4O6_INTERFACE_ID, 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_SUBNET (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SUBNET_4O6_SUBNET, 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_OPTION_DEF (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_OPTION_DEF, 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_OPTION_DATA (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_OPTION_DATA, 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_NAME (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_NAME, l);
+ }
- static const short yypact_ninf_;
- static const signed char yytable_ninf_;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_DATA (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_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_CODE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_CODE, l);
+ }
- // Tables.
- // YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
- // STATE-NUM.
- static const short yypact_[];
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SPACE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SPACE, 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_CSV_FORMAT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_CSV_FORMAT, l);
+ }
- // YYPGOTO[NTERM-NUM].
- static const short yypgoto_[];
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_ALWAYS_SEND (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_ALWAYS_SEND, l);
+ }
- // YYDEFGOTO[NTERM-NUM].
- static const short yydefgoto_[];
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_RECORD_TYPES (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_RECORD_TYPES, 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_ENCAPSULATE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_ENCAPSULATE, l);
+ }
- static const short yycheck_[];
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_ARRAY (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_ARRAY, 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_SHARED_NETWORKS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SHARED_NETWORKS, l);
+ }
- // YYR1[YYN] -- Symbol number of symbol that rule YYN derives.
- static const unsigned short yyr1_[];
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_POOLS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_POOLS, l);
+ }
- // YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.
- static const unsigned char yyr2_[];
+ 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);
+ }
- /// 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_COMMENT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_COMMENT, l);
+ }
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SUBNET (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SUBNET, l);
+ }
- /// 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_INTERFACE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_INTERFACE, l);
+ }
- /// Debugging level.
- int yydebug_;
- /// Debug stream.
- std::ostream* yycdebug_;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_ID (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_ID, 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_RESERVATION_MODE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_RESERVATION_MODE, 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_DISABLED (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_DISABLED, l);
+ }
- private:
- /// Type access provider for state based symbols.
- struct by_state
- {
- /// Default constructor.
- by_state () YY_NOEXCEPT;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_OUT_OF_POOL (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_OUT_OF_POOL, l);
+ }
- /// The symbol type as needed by the constructor.
- typedef state_type kind_type;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_GLOBAL (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_GLOBAL, l);
+ }
- /// Constructor.
- by_state (kind_type s) YY_NOEXCEPT;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_ALL (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_ALL, l);
+ }
- /// Copy constructor.
- by_state (const by_state& that) YY_NOEXCEPT;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_HOST_RESERVATION_IDENTIFIERS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_HOST_RESERVATION_IDENTIFIERS, l);
+ }
- /// Record that this symbol is empty.
- void clear () YY_NOEXCEPT;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_CLIENT_CLASSES (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_CLIENT_CLASSES, l);
+ }
- /// Steal the symbol type from \a that.
- void move (by_state& that);
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_REQUIRE_CLIENT_CLASSES (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_REQUIRE_CLIENT_CLASSES, l);
+ }
- /// The (internal) type number (corresponding to \a state).
- /// \a empty_symbol when empty.
- symbol_number_type type_get () const YY_NOEXCEPT;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_TEST (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_TEST, l);
+ }
- /// The state number used to denote an empty symbol.
- enum { empty_state = -1 };
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_ONLY_IF_REQUIRED (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_ONLY_IF_REQUIRED, l);
+ }
- /// The state.
- /// \a empty when empty.
- state_type state;
- };
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_CLIENT_CLASS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_CLIENT_CLASS, 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_RESERVATIONS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_RESERVATIONS, 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_DUID (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_DUID, 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_HW_ADDRESS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_HW_ADDRESS, l);
+ }
- /// Pop all elements from the stack.
- void
- clear () YY_NOEXCEPT
- {
- seq_.clear ();
- }
+ 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);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SERVER_IP (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SERVER_IP, l);
+ }
+
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SERVER_PORT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SERVER_PORT, l);
+ }
- /// Number of elements on the stack.
- size_type
- size () const YY_NOEXCEPT
- {
- return seq_.size ();
- }
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SENDER_IP (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SENDER_IP, l);
+ }
- /// Iterator on top of the stack (going downwards).
- const_iterator
- begin () const YY_NOEXCEPT
- {
- return seq_.rbegin ();
- }
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SENDER_PORT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SENDER_PORT, l);
+ }
- /// Bottom of the stack.
- const_iterator
- end () const YY_NOEXCEPT
- {
- return seq_.rend ();
- }
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_MAX_QUEUE_SIZE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_MAX_QUEUE_SIZE, l);
+ }
- /// Present a slice of the top of a stack.
- class slice
- {
- public:
- slice (const stack& stack, 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_NCR_PROTOCOL (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_NCR_PROTOCOL, l);
+ }
- private:
- stack (const stack&);
- stack& operator= (const stack&);
- /// The wrapped container.
- S seq_;
- };
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_NCR_FORMAT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_NCR_FORMAT, l);
+ }
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_OVERRIDE_NO_UPDATE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_OVERRIDE_NO_UPDATE, l);
+ }
- /// Stack type.
- typedef stack<stack_symbol_type> stack_type;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_OVERRIDE_CLIENT_UPDATE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_OVERRIDE_CLIENT_UPDATE, l);
+ }
- /// The stack.
- stack_type yystack_;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_REPLACE_CLIENT_NAME (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_REPLACE_CLIENT_NAME, l);
+ }
- /// Push a new state on the stack.
- /// \param m a debug message to display
- /// if null, no trace is output.
- /// \param sym the symbol
- /// \warning the contents of \a s.value is stolen.
- void yypush_ (const char* m, YY_MOVE_REF (stack_symbol_type) sym);
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_GENERATED_PREFIX (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_GENERATED_PREFIX, l);
+ }
- /// Push a new look ahead token on the state on the stack.
- /// \param m a debug message to display
- /// if null, no trace is output.
- /// \param s the state
- /// \param sym the symbol (for its value and location).
- /// \warning the contents of \a sym.value is stolen.
- void yypush_ (const char* m, state_type s, YY_MOVE_REF (symbol_type) sym);
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_TCP (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_TCP, l);
+ }
- /// Pop \a n symbols from the stack.
- void yypop_ (int n = 1);
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_JSON (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_JSON, l);
+ }
- /// Constants.
- enum
- {
- yyeof_ = 0,
- yylast_ = 1050, ///< Last index in yytable_.
- yynnts_ = 383, ///< Number of nonterminal symbols.
- yyfinal_ = 30, ///< Termination state number.
- yyterror_ = 1,
- yyerrcode_ = 256,
- yyntokens_ = 177 ///< Number of tokens.
- };
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_WHEN_PRESENT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_WHEN_PRESENT, l);
+ }
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_NEVER (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_NEVER, l);
+ }
- // User arguments.
- isc::dhcp::Parser4Context& ctx;
- };
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_ALWAYS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_ALWAYS, l);
+ }
- inline
- Dhcp4Parser::token_number_type
- Dhcp4Parser::yytranslate_ (token_type t)
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::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,
- 175, 176
- };
- const unsigned user_token_number_max_ = 431;
- 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_;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::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>
- 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_REPLACEMENT (const location_type& l)
{
- switch (this->type_get ())
- {
- case 193: // value
- case 197: // map_value
- case 243: // socket_type
- case 246: // outbound_interface_value
- case 268: // db_type
- case 354: // hr_mode
- case 503: // ncr_protocol_value
- case 510: // replace_client_name_value
- value.move< ElementPtr > (std::move (that.value));
- break;
+ return symbol_type (token::TOKEN_HOSTNAME_CHAR_REPLACEMENT, l);
+ }
- case 176: // "boolean"
- value.move< bool > (std::move (that.value));
- break;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_LOGGING (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_LOGGING, l);
+ }
- case 175: // "floating point"
- value.move< double > (std::move (that.value));
- break;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_LOGGERS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_LOGGERS, l);
+ }
- case 174: // "integer"
- value.move< int64_t > (std::move (that.value));
- break;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_OUTPUT_OPTIONS (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_OUTPUT_OPTIONS, l);
+ }
- case 173: // "constant string"
- value.move< std::string > (std::move (that.value));
- break;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_OUTPUT (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_OUTPUT, l);
+ }
- default:
- break;
- }
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_DEBUGLEVEL (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_DEBUGLEVEL, l);
+ }
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_SEVERITY (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SEVERITY, 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_FLUSH (const location_type& l)
{
- switch (this->type_get ())
- {
- case 193: // value
- case 197: // map_value
- case 243: // socket_type
- case 246: // outbound_interface_value
- case 268: // db_type
- case 354: // hr_mode
- case 503: // ncr_protocol_value
- case 510: // replace_client_name_value
- value.copy< ElementPtr > (YY_MOVE (that.value));
- break;
+ return symbol_type (token::TOKEN_FLUSH, l);
+ }
- case 176: // "boolean"
- value.copy< bool > (YY_MOVE (that.value));
- break;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_MAXSIZE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_MAXSIZE, l);
+ }
- case 175: // "floating point"
- value.copy< double > (YY_MOVE (that.value));
- break;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_MAXVER (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_MAXVER, l);
+ }
- case 174: // "integer"
- value.copy< int64_t > (YY_MOVE (that.value));
- break;
+ Dhcp4Parser::symbol_type
+ Dhcp4Parser::make_PATTERN (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_PATTERN, l);
+ }
- case 173: // "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 193: // value
- case 197: // map_value
- case 243: // socket_type
- case 246: // outbound_interface_value
- case 268: // db_type
- case 354: // hr_mode
- case 503: // ncr_protocol_value
- case 510: // replace_client_name_value
- value.move< ElementPtr > (YY_MOVE (s.value));
- break;
+ return symbol_type (token::TOKEN_SUB_INTERFACES4, l);
+ }
- case 176: // "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 175: // "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 174: // "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 173: // "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, 427, 428, 429, 430, 431
- };
- return token_type (yytoken_number_[type]);
+ return symbol_type (token::TOKEN_BOOLEAN, v, l);
}
-#line 14 "dhcp4_parser.yy"
-} } // isc::dhcp
-#line 4202 "dhcp4_parser.h"
+#line 14 "dhcp4_parser.yy" // lalr1.cc:377
+} } // isc::dhcp
+#line 3010 "dhcp4_parser.h" // lalr1.cc:377
FLUSH "flush"
MAXSIZE "maxsize"
MAXVER "maxver"
+ PATTERN "pattern"
DHCP6 "Dhcp6"
DHCPDDNS "DhcpDdns"
| flush
| maxsize
| maxver
+ | pattern
;
output: OUTPUT {
ctx.stack_.back()->set("maxver", maxver);
};
+pattern: PATTERN {
+ ctx.enter(ctx.NO_KEYWORD);
+} COLON STRING {
+ ElementPtr sev(new StringElement($4, ctx.loc2pos(@4)));
+ ctx.stack_.back()->set("pattern", sev);
+ ctx.leave();
+};
+
+
%%
void
-// Generated 201906181917
-// A Bison parser, made by GNU Bison 3.4.1.
+// 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"
+#line 14 "dhcp4_parser.yy" // location.cc:296
namespace isc { namespace dhcp {
-#line 60 "location.hh"
-
- /// 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"
+#line 14 "dhcp4_parser.yy" // location.cc:296
} } // isc::dhcp
-#line 323 "location.hh"
-
+#line 192 "location.hh" // location.cc:296
#endif // !YY_PARSER4_LOCATION_HH_INCLUDED
-// Generated 201906181917
-// A Bison parser, made by GNU Bison 3.4.1.
-
-// 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 201906181917
-// A Bison parser, made by GNU Bison 3.4.1.
-
-// 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
log4cplus::SharedAppenderPtr console(
new log4cplus::ConsoleAppender(
(opt.stream == OutputOption::STR_STDERR), opt.flush));
- setConsoleAppenderLayout(console);
+
+ setAppenderLayout(console, (opt.pattern.empty() ?
+ OutputOption::DEFAULT_CONSOLE_PATTERN : opt.pattern));
logger.addAppender(console);
}
new log4cplus::RollingFileAppender(properties));
}
- // use the same console layout for the files.
- setConsoleAppenderLayout(fileapp);
+ setAppenderLayout(fileapp, (opt.pattern.empty() ?
+ OutputOption::DEFAULT_FILE_PATTERN : opt.pattern));
logger.addAppender(fileapp);
}
properties.setProperty("facility", opt.facility);
log4cplus::SharedAppenderPtr syslogapp(
new log4cplus::SysLogAppender(properties));
- setSyslogAppenderLayout(syslogapp);
+ setAppenderLayout(syslogapp, (opt.pattern.empty() ?
+ OutputOption::DEFAULT_SYSLOG_PATTERN : opt.pattern));
logger.addAppender(syslogapp);
}
}
}
-void LoggerManagerImpl::setConsoleAppenderLayout(
- log4cplus::SharedAppenderPtr& appender)
-{
- // Create the pattern we want for the output - local time.
- string pattern = "%D{%Y-%m-%d %H:%M:%S.%q} %-5p [%c/%i] %m\n";
-
- // Finally the text of the message
- appender->setLayout(
-#if LOG4CPLUS_VERSION < LOG4CPLUS_MAKE_VERSION(2, 0, 0)
- auto_ptr<log4cplus::Layout>
-#else
- unique_ptr<log4cplus::Layout>
-#endif
- (new log4cplus::PatternLayout(pattern)));
-}
-
-// Set the the "syslog" layout for the given appenders. This is the same
-// as the console, but without the timestamp (which is expected to be
-// set by syslogd).
-void LoggerManagerImpl::setSyslogAppenderLayout(
- log4cplus::SharedAppenderPtr& appender)
+void LoggerManagerImpl::setAppenderLayout(
+ log4cplus::SharedAppenderPtr& appender,
+ std::string pattern)
{
- // Create the pattern we want for the output - local time.
- string pattern = "%-5p [%c] %m\n";
-
// Finally the text of the message
appender->setLayout(
#if LOG4CPLUS_VERSION < LOG4CPLUS_MAKE_VERSION(2, 0, 0)
static void initRootLogger(isc::log::Severity severity = isc::log::INFO,
int dbglevel = 0, bool buffer = false);
- /// \brief Set layout for console appender
+ /// \brief Set layout for an appender
///
/// Sets the layout of the specified appender to one suitable for file
/// or console output:
///
- /// YYYY-MM-DD HH:MM:SS.ssss SEVERITY [root.logger] message
- ///
- /// \param appender Appender for which this pattern is to be set.
- static void setConsoleAppenderLayout(log4cplus::SharedAppenderPtr& appender);
-
- /// \brief Set layout for syslog appender
- ///
- /// Sets the layout of the specified appender to one suitable for the
- /// syslog file:
- ///
- /// SEVERITY [root.logger] message
- ///
/// \param appender Appender for which this pattern is to be set.
- static void setSyslogAppenderLayout(log4cplus::SharedAppenderPtr& appender);
+ /// \param pattern Log message format pattern
+ static void setAppenderLayout(log4cplus::SharedAppenderPtr& appender,
+ std::string pattern);
/// \brief Store all buffer appenders
///
-// Copyright (C) 2011-2015 Internet Systems Consortium, Inc. ("ISC")
+// Copyright (C) 2011-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
namespace isc {
namespace log {
+/// Default layout pattern for console logs
+const std::string OutputOption::DEFAULT_CONSOLE_PATTERN = "%D{%Y-%m-%d %H:%M:%S.%q} %-5p [%c/%i] %m\n";
+
+/// Default layout pattern for file logs
+const std::string OutputOption::DEFAULT_FILE_PATTERN = "%D{%Y-%m-%d %H:%M:%S.%q} %-5p [%c/%i] %m\n";
+
+/// Default layout pattern for syslog logs
+const std::string OutputOption::DEFAULT_SYSLOG_PATTERN = "%-5p [%c] %m\n";
+
OutputOption::Destination
getDestination(const std::string& dest_str) {
if (boost::iequals(dest_str, "console")) {
-// Copyright (C) 2011-2015 Internet Systems Consortium, Inc. ("ISC")
+// Copyright (C) 2011-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
struct OutputOption {
+ /// Default layout pattern for console logs
+ static const std::string DEFAULT_CONSOLE_PATTERN;
+ /// Default layout pattern for file logs
+ static const std::string DEFAULT_FILE_PATTERN;
+ /// Default layout pattern for syslog logs
+ static const std::string DEFAULT_SYSLOG_PATTERN;
+
/// Destinations. Prefixed "DEST_" to avoid problems with the C stdio.h
/// FILE type.
typedef enum {
/// \brief Constructor
OutputOption() : destination(DEST_CONSOLE), stream(STR_STDERR),
flush(true), facility("LOCAL0"), filename(""),
- maxsize(0), maxver(0)
+ maxsize(0), maxver(0), pattern("")
{}
/// Members.
std::string filename; ///< Filename if file output
size_t maxsize; ///< 0 if no maximum size
unsigned int maxver; ///< Maximum versions (none if <= 0)
+ std::string pattern; ///< log content pattern
};
OutputOption::Destination getDestination(const std::string& dest_str);
dest.flush_ = flush_ptr->boolValue();
}
+ isc::data::ConstElementPtr pattern = output_option->get("pattern");
+ if (pattern) {
+ dest.pattern_ = pattern->stringValue();
+ }
+
destination.push_back(dest);
}
}
return (output_ == other.output_ &&
maxver_ == other.maxver_ &&
maxsize_ == other.maxsize_ &&
- flush_ == other.flush_);
+ flush_ == other.flush_ &&
+ pattern_ == other.pattern_);
}
ElementPtr
result->set("maxsize", Element::create(static_cast<long long>(maxsize_)));
// Set flush
result->set("flush", Element::create(flush_));
+ // Set pattern
+ result->set("pattern", Element::create(pattern_));
return(result);
}
// Copy the immediate flush flag
option.flush = dest->flush_;
+ // Copy the pattern
+ option.pattern = dest->pattern_;
+
// ... and set the destination
spec.addOutputOption(option);
}
/// @brief Immediate flush
bool flush_;
+ /// @brief defines the log format pattern
+ /// It dictates what additional elements are output
+ std::string pattern_;
+
/// @brief Compares two objects for equality.
///
/// @param other Object to be compared with this object.
/// @brief Default constructor.
LoggingDestination()
- : output_("stdout"), maxver_(1), maxsize_(10240000), flush_(true) {
+ : output_("stdout"), maxver_(1), maxsize_(10240000), flush_(true), pattern_("") {
}
/// @brief Unparse a configuration object
/// "maxver": 8,
/// "maxsize": 204800,
/// "flush": true
+/// "pattern": "%-5p [%c] %m\n"
/// }
/// ],
/// "severity": "WARN",
"\"name\": \"kea\",\n"
"\"output_options\": [ {\n"
" \"output\": \"stdout\",\n \"maxsize\": 10240000,\n"
+ " \"pattern\": \"\","
" \"maxver\": 1,\n \"flush\": true } ],\n"
"\"severity\": \"";
std::string dbglvl = "\",\n\"debuglevel\": ";