2
0
mirror of https://gitlab.isc.org/isc-projects/kea synced 2025-09-02 06:55:16 +00:00

[#3502] Regen flex/bison

This commit is contained in:
Francis Dupont
2024-08-07 17:54:55 +00:00
parent 7d1f917650
commit ae3c7aaf3a
4 changed files with 881 additions and 772 deletions

View File

@@ -710,8 +710,8 @@ static void yynoreturn yy_fatal_error ( const char* msg );
/* %% [3.0] code to copy yytext_ptr to yytext[] goes here, if %array \ */\ /* %% [3.0] code to copy yytext_ptr to yytext[] goes here, if %array \ */\
(yy_c_buf_p) = yy_cp; (yy_c_buf_p) = yy_cp;
/* %% [4.0] data tables for the DFA and the user's section 1 definitions go here */ /* %% [4.0] data tables for the DFA and the user's section 1 definitions go here */
#define YY_NUM_RULES 66 #define YY_NUM_RULES 69
#define YY_END_OF_BUFFER 67 #define YY_END_OF_BUFFER 70
/* This struct is not used in this scanner, /* This struct is not used in this scanner,
but its presence is necessary. */ but its presence is necessary. */
struct yy_trans_info struct yy_trans_info
@@ -719,39 +719,41 @@ struct yy_trans_info
flex_int32_t yy_verify; flex_int32_t yy_verify;
flex_int32_t yy_nxt; flex_int32_t yy_nxt;
}; };
static const flex_int16_t yy_accept[290] = static const flex_int16_t yy_accept[300] =
{ 0, { 0,
0, 0, 67, 65, 1, 2, 65, 58, 59, 63, 0, 0, 70, 68, 1, 2, 68, 61, 62, 66,
64, 62, 65, 57, 5, 5, 65, 65, 65, 65, 67, 65, 68, 60, 5, 5, 68, 68, 68, 68,
60, 61, 65, 65, 65, 65, 65, 65, 65, 65, 63, 64, 68, 68, 68, 68, 68, 68, 68, 68,
65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
1, 2, 0, 3, 5, 0, 5, 0, 0, 0, 1, 2, 0, 3, 5, 0, 5, 0, 0, 0,
0, 7, 8, 0, 0, 0, 0, 6, 0, 0, 0, 7, 8, 0, 0, 0, 0, 6, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 4, 7, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 4, 7,
53, 0, 0, 0, 20, 0, 0, 0, 15, 0, 0, 41, 54, 0, 0, 0, 20, 0, 0, 0,
0, 0, 0, 0, 0, 21, 0, 23, 0, 0, 15, 0, 0, 0, 0, 0, 0, 21, 0, 23,
0, 52, 0, 0, 17, 0, 0, 0, 19, 0, 0, 0, 0, 53, 0, 0, 17, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 0, 19, 0, 0, 0, 0, 0, 0,
35, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0,
30, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 22, 30, 0, 55, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0,
18, 0, 0, 0, 0, 38, 0, 56, 0, 0, 0, 0, 0, 0, 0, 0, 25, 18, 0, 0,
0, 0, 0, 0, 40, 0, 0, 39, 0, 0, 0, 0, 38, 0, 59, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 26, 42, 0, 16, 27, 0, 0, 40, 0, 0, 39, 0, 0, 0, 0,
0, 43, 0, 0, 0, 0, 55, 0, 9, 0, 0, 0, 0, 26, 42, 0, 16, 27, 0, 43,
10, 11, 29, 0, 0, 0, 0, 0, 33, 28, 0, 0, 0, 0, 58, 0, 9, 0, 10, 11,
7, 0, 0, 0, 0, 0, 0, 0, 31, 0, 29, 0, 0, 0, 0, 0, 0, 33, 28, 7,
0, 0, 0, 0, 0, 0, 0, 31, 0, 44,
0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 13, 12, 0, 0, 0, 0, 0, 0, 0, 0, 13, 12, 0, 0, 0, 0, 0, 0,
0, 44, 0, 0, 0, 37, 0, 0, 0, 0, 0, 45, 0, 0, 0, 37, 0, 0, 0, 0,
45, 36, 0, 0, 46, 0, 0, 0, 0, 47, 46, 36, 0, 0, 47, 0, 0, 0, 0, 48,
48, 0, 0, 49, 0, 50, 51, 34, 0 49, 0, 0, 50, 0, 51, 52, 34, 0
} ; } ;
static const YY_CHAR yy_ec[256] = static const YY_CHAR yy_ec[256] =
@@ -795,134 +797,137 @@ static const YY_CHAR yy_meta[50] =
1, 1, 1, 1, 1, 1, 1, 1, 1 1, 1, 1, 1, 1, 1, 1, 1, 1
} ; } ;
static const flex_int16_t yy_base[299] = static const flex_int16_t yy_base[309] =
{ 0, { 0,
0, 0, 394, 395, 391, 389, 387, 395, 395, 395, 0, 0, 404, 405, 401, 399, 397, 405, 405, 405,
395, 395, 0, 395, 39, 36, 370, 368, 86, 124, 405, 405, 0, 405, 39, 36, 380, 378, 86, 124,
395, 395, 35, 38, 34, 37, 352, 48, 43, 115, 405, 405, 35, 38, 34, 37, 362, 48, 43, 115,
63, 346, 22, 60, 354, 122, 116, 130, 353, 348, 63, 356, 22, 60, 364, 122, 116, 130, 363, 358,
381, 379, 377, 395, 0, 0, 125, 360, 359, 0, 391, 389, 387, 405, 0, 0, 125, 370, 369, 0,
358, 0, 395, 159, 167, 0, 0, 395, 346, 338, 368, 0, 405, 159, 167, 0, 0, 405, 356, 348,
344, 346, 333, 327, 326, 325, 333, 340, 319, 334, 354, 356, 343, 337, 336, 335, 343, 350, 329, 344,
316, 62, 319, 335, 322, 321, 133, 321, 325, 313, 326, 62, 329, 345, 332, 331, 137, 331, 335, 323,
312, 0, 324, 310, 316, 325, 314, 321, 321, 301, 322, 0, 334, 320, 326, 323, 143, 319, 323, 330,
320, 319, 306, 305, 316, 332, 0, 0, 299, 0, 330, 310, 329, 328, 315, 314, 325, 341, 0, 0,
0, 310, 310, 311, 0, 306, 293, 305, 291, 294, 308, 0, 0, 319, 319, 320, 0, 315, 302, 314,
291, 302, 293, 161, 286, 0, 292, 0, 298, 298, 300, 303, 300, 311, 302, 159, 295, 0, 301, 0,
281, 0, 289, 281, 159, 295, 291, 285, 0, 276, 307, 307, 290, 0, 298, 290, 159, 304, 300, 299,
274, 278, 273, 271, 284, 283, 0, 268, 281, 283, 297, 0, 292, 0, 283, 281, 285, 280, 278, 291,
0, 267, 264, 277, 262, 0, 274, 273, 260, 285, 290, 0, 275, 288, 290, 0, 274, 271, 284, 269,
288, 256, 268, 271, 263, 265, 247, 254, 266, 0, 0, 281, 280, 267, 292, 295, 263, 275, 278, 270,
0, 244, 261, 246, 245, 0, 245, 256, 168, 246, 272, 254, 261, 273, 0, 0, 251, 0, 268, 260,
255, 274, 243, 240, 237, 239, 236, 236, 235, 0, 252, 251, 0, 251, 262, 168, 252, 261, 280, 249,
0, 245, 231, 230, 233, 0, 242, 0, 229, 229, 246, 243, 245, 242, 242, 241, 0, 0, 251, 237,
230, 238, 166, 225, 0, 224, 230, 0, 247, 250, 236, 239, 0, 248, 0, 235, 235, 236, 244, 168,
218, 219, 218, 0, 215, 0, 0, 216, 0, 0, 231, 229, 0, 229, 235, 0, 252, 255, 223, 224,
222, 0, 216, 215, 210, 223, 0, 221, 0, 221, 223, 0, 220, 0, 0, 221, 0, 0, 227, 0,
0, 0, 0, 215, 219, 204, 203, 206, 236, 0, 221, 220, 215, 228, 0, 226, 0, 226, 0, 0,
0, 213, 208, 203, 197, 196, 208, 196, 0, 195, 0, 224, 219, 223, 208, 207, 210, 240, 0, 0,
197, 0, 195, 194, 189, 169, 185, 188, 197, 198, 217, 212, 207, 201, 200, 212, 200, 0, 199, 0,
197, 180, 0, 0, 193, 181, 180, 192, 185, 177, 201, 0, 199, 198, 193, 177, 189, 192, 201, 202,
189, 0, 172, 171, 168, 0, 169, 166, 149, 168, 201, 184, 0, 0, 197, 185, 184, 196, 189, 176,
0, 0, 149, 147, 0, 143, 142, 144, 144, 0, 177, 0, 158, 157, 159, 0, 170, 169, 152, 171,
0, 141, 134, 0, 123, 0, 0, 0, 395, 199, 0, 0, 153, 152, 0, 148, 147, 149, 148, 0,
146, 202, 107, 205, 208, 212, 78, 77 0, 146, 145, 0, 145, 0, 0, 0, 405, 207,
184, 210, 107, 213, 216, 220, 78, 77
} ; } ;
static const flex_int16_t yy_def[299] = static const flex_int16_t yy_def[309] =
{ 0, { 0,
289, 1, 289, 289, 289, 289, 290, 289, 289, 289, 299, 1, 299, 299, 299, 299, 300, 299, 299, 299,
289, 289, 291, 289, 289, 15, 292, 289, 289, 19, 299, 299, 301, 299, 299, 15, 302, 299, 299, 19,
289, 289, 19, 19, 19, 19, 20, 20, 20, 20, 299, 299, 19, 19, 19, 19, 20, 20, 20, 20,
20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
289, 289, 290, 289, 291, 293, 15, 292, 294, 295, 299, 299, 300, 299, 301, 303, 15, 302, 304, 305,
292, 296, 289, 289, 20, 19, 20, 289, 19, 20, 302, 306, 299, 299, 20, 19, 20, 299, 19, 20,
20, 20, 20, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20, 19, 20, 20, 20, 20, 20, 20,
20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
20, 20, 20, 20, 20, 293, 295, 296, 19, 20, 20, 20, 20, 20, 20, 20, 20, 303, 305, 306,
19, 20, 20, 20, 20, 20, 20, 20, 20, 20,
20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
20, 20, 20, 20, 20, 20, 297, 20, 20, 20, 20, 307, 20, 20, 20, 20, 20, 20, 20, 20,
20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 307, 20,
20, 297, 20, 20, 20, 20, 20, 20, 20, 20,
20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
20, 20, 20, 298, 20, 20, 20, 20, 20, 20,
20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
20, 308, 20, 20, 20, 20, 20, 20, 20, 20,
20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
298, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 308,
20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
20, 20, 20, 20, 20, 20, 20, 20, 0, 289, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
289, 289, 289, 289, 289, 289, 289, 289 20, 20, 20, 20, 20, 20, 20, 20, 0, 299,
299, 299, 299, 299, 299, 299, 299, 299
} ; } ;
static const flex_int16_t yy_nxt[445] = static const flex_int16_t yy_nxt[455] =
{ 0, { 0,
4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
14, 15, 16, 16, 16, 16, 16, 16, 16, 17, 14, 15, 16, 16, 16, 16, 16, 16, 16, 17,
18, 19, 20, 20, 21, 22, 4, 23, 19, 24, 18, 19, 20, 20, 21, 22, 4, 23, 19, 24,
25, 26, 19, 27, 28, 29, 20, 30, 31, 32, 25, 26, 19, 27, 28, 29, 20, 30, 31, 32,
33, 34, 35, 36, 37, 38, 39, 20, 40, 46, 33, 34, 35, 36, 37, 38, 39, 20, 40, 46,
47, 47, 47, 47, 47, 47, 47, 47, 48, 289, 47, 47, 47, 47, 47, 47, 47, 47, 48, 299,
49, 64, 50, 81, 82, 59, 49, 49, 49, 49, 49, 64, 50, 81, 82, 59, 49, 49, 49, 49,
49, 49, 60, 62, 61, 72, 66, 65, 63, 69, 49, 49, 60, 62, 61, 72, 66, 65, 63, 69,
231, 172, 73, 289, 67, 70, 50, 54, 54, 112, 240, 179, 73, 299, 67, 70, 50, 54, 54, 114,
77, 83, 71, 113, 78, 55, 84, 56, 56, 56, 77, 83, 71, 115, 78, 55, 84, 56, 56, 56,
56, 56, 56, 56, 56, 48, 79, 56, 57, 57, 56, 56, 56, 56, 56, 48, 79, 56, 57, 57,
96, 58, 55, 56, 56, 56, 56, 56, 56, 57, 98, 58, 55, 56, 56, 56, 56, 56, 56, 57,
57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57,
57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57,
57, 57, 57, 289, 74, 57, 75, 90, 289, 45, 57, 57, 57, 299, 74, 57, 75, 92, 299, 86,
76, 57, 57, 57, 57, 57, 57, 86, 91, 92, 76, 57, 57, 57, 57, 57, 57, 87, 93, 94,
54, 54, 118, 87, 88, 93, 288, 89, 289, 289, 54, 54, 88, 89, 90, 95, 120, 91, 299, 299,
289, 289, 289, 150, 160, 151, 161, 119, 287, 152, 130, 155, 299, 156, 165, 131, 166, 157, 299, 299,
199, 221, 200, 222, 58, 286, 201, 285, 284, 283, 207, 121, 208, 229, 58, 230, 209, 45, 298, 297,
282, 281, 289, 280, 289, 279, 278, 277, 259, 43, 296, 295, 299, 294, 293, 292, 291, 290, 289, 288,
276, 43, 43, 43, 43, 51, 51, 51, 49, 49, 287, 286, 299, 285, 284, 283, 269, 43, 282, 43,
49, 97, 275, 97, 98, 98, 98, 98, 274, 273, 43, 43, 43, 51, 51, 51, 49, 49, 49, 99,
272, 271, 270, 269, 268, 267, 266, 265, 264, 263, 281, 99, 100, 100, 100, 100, 280, 279, 278, 277,
262, 261, 260, 258, 257, 256, 255, 254, 253, 252, 276, 275, 274, 273, 272, 271, 270, 268, 267, 266,
251, 250, 249, 248, 247, 246, 245, 244, 243, 242, 265, 264, 263, 262, 261, 260, 259, 258, 257, 256,
241, 240, 239, 238, 237, 236, 235, 234, 233, 232, 255, 254, 253, 252, 251, 250, 249, 248, 247, 246,
230, 229, 228, 227, 226, 225, 224, 223, 220, 219, 245, 244, 243, 242, 241, 239, 238, 237, 236, 235,
218, 217, 216, 215, 214, 213, 212, 211, 210, 209, 234, 233, 232, 231, 228, 227, 226, 225, 224, 223,
208, 207, 206, 205, 204, 203, 202, 198, 197, 196, 222, 221, 220, 219, 218, 217, 216, 215, 214, 213,
195, 194, 193, 192, 191, 190, 189, 188, 187, 186, 212, 211, 210, 206, 205, 204, 203, 202, 201, 200,
185, 184, 183, 182, 181, 180, 179, 178, 177, 176, 199, 198, 197, 196, 195, 194, 193, 192, 191, 190,
175, 174, 173, 171, 170, 169, 168, 167, 166, 165, 189, 188, 187, 186, 185, 184, 183, 182, 181, 180,
164, 163, 162, 159, 158, 157, 156, 155, 154, 153, 178, 177, 176, 175, 174, 173, 172, 171, 170, 169,
149, 148, 147, 146, 145, 144, 143, 142, 141, 140, 168, 167, 164, 163, 162, 161, 160, 159, 158, 154,
139, 138, 137, 136, 135, 134, 133, 132, 131, 130, 153, 152, 151, 150, 149, 148, 147, 146, 145, 144,
129, 128, 127, 126, 125, 124, 123, 122, 121, 120, 143, 142, 141, 140, 139, 138, 137, 136, 135, 134,
117, 116, 115, 114, 111, 110, 109, 108, 107, 106, 133, 132, 129, 128, 127, 126, 125, 124, 123, 122,
105, 104, 103, 102, 101, 100, 99, 52, 48, 52, 119, 118, 117, 116, 113, 112, 111, 110, 109, 108,
44, 42, 41, 95, 94, 85, 80, 68, 53, 52, 107, 106, 105, 104, 103, 102, 101, 52, 48, 52,
44, 42, 41, 289, 3, 289, 289, 289, 289, 289, 44, 42, 41, 97, 96, 85, 80, 68, 53, 52,
289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 44, 42, 41, 299, 3, 299, 299, 299, 299, 299,
289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299,
289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299,
289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299,
289, 289, 289, 289 299, 299, 299, 299, 299, 299, 299, 299, 299, 299,
299, 299, 299, 299
} ; } ;
static const flex_int16_t yy_chk[445] = static const flex_int16_t yy_chk[455] =
{ 0, { 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
@@ -932,56 +937,57 @@ static const flex_int16_t yy_chk[445] =
15, 15, 15, 15, 15, 15, 15, 15, 15, 16, 15, 15, 15, 15, 15, 15, 15, 15, 15, 16,
15, 25, 15, 33, 33, 23, 15, 15, 15, 15, 15, 25, 15, 33, 33, 23, 15, 15, 15, 15,
15, 15, 23, 24, 23, 29, 26, 25, 24, 28, 15, 15, 23, 24, 23, 29, 26, 25, 24, 28,
298, 297, 29, 16, 26, 28, 15, 19, 19, 72, 308, 307, 29, 16, 26, 28, 15, 19, 19, 72,
31, 34, 28, 72, 31, 19, 34, 19, 19, 19, 31, 34, 28, 72, 31, 19, 34, 19, 19, 19,
19, 19, 19, 19, 19, 19, 31, 19, 19, 19, 19, 19, 19, 19, 19, 19, 31, 19, 19, 19,
293, 19, 19, 19, 19, 19, 19, 19, 19, 19, 303, 19, 19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 20, 20, 20, 20, 20, 19, 19, 19, 19, 19, 20, 20, 20, 20, 20,
20, 20, 20, 20, 30, 20, 30, 37, 47, 291, 20, 20, 20, 20, 30, 20, 30, 37, 47, 36,
30, 20, 20, 20, 20, 20, 20, 36, 37, 38, 30, 20, 20, 20, 20, 20, 20, 36, 37, 38,
54, 54, 77, 36, 36, 38, 285, 36, 55, 55, 54, 54, 36, 36, 36, 38, 77, 36, 55, 55,
246, 246, 47, 114, 125, 114, 125, 77, 283, 114, 87, 116, 47, 116, 127, 87, 127, 116, 256, 256,
169, 193, 169, 193, 54, 282, 169, 279, 278, 277, 176, 77, 176, 200, 54, 200, 176, 301, 295, 293,
276, 274, 55, 273, 246, 270, 269, 268, 246, 290, 292, 289, 55, 288, 287, 286, 284, 283, 280, 279,
267, 290, 290, 290, 290, 292, 292, 292, 294, 294, 278, 277, 256, 275, 274, 273, 256, 300, 271, 300,
294, 295, 265, 295, 296, 296, 296, 296, 264, 263, 300, 300, 300, 302, 302, 302, 304, 304, 304, 305,
261, 260, 259, 258, 257, 256, 255, 252, 251, 250, 270, 305, 306, 306, 306, 306, 269, 268, 267, 266,
249, 248, 247, 245, 244, 243, 241, 240, 238, 237, 265, 262, 261, 260, 259, 258, 257, 255, 254, 253,
236, 235, 234, 233, 232, 229, 228, 227, 226, 225, 251, 249, 247, 246, 245, 244, 243, 242, 241, 238,
224, 220, 218, 216, 215, 214, 213, 211, 208, 205, 237, 236, 235, 234, 233, 232, 228, 226, 224, 223,
203, 202, 201, 200, 199, 197, 196, 194, 192, 191, 222, 221, 219, 216, 213, 211, 210, 209, 208, 207,
190, 189, 187, 185, 184, 183, 182, 179, 178, 177, 205, 204, 202, 201, 199, 198, 197, 196, 194, 192,
176, 175, 174, 173, 172, 171, 170, 168, 167, 165, 191, 190, 189, 186, 185, 184, 183, 182, 181, 180,
164, 163, 162, 159, 158, 157, 156, 155, 154, 153, 179, 178, 177, 175, 174, 172, 171, 170, 169, 167,
152, 151, 150, 149, 148, 147, 145, 144, 143, 142, 164, 163, 162, 161, 160, 159, 158, 157, 156, 155,
140, 139, 138, 136, 135, 134, 133, 132, 131, 130, 154, 153, 152, 150, 149, 148, 147, 145, 144, 143,
128, 127, 126, 124, 123, 121, 120, 119, 117, 115, 141, 140, 139, 138, 137, 136, 135, 133, 131, 130,
113, 112, 111, 110, 109, 108, 107, 106, 104, 103, 129, 128, 126, 125, 123, 122, 121, 119, 117, 115,
102, 99, 96, 95, 94, 93, 92, 91, 90, 89, 114, 113, 112, 111, 110, 109, 108, 106, 105, 104,
88, 87, 86, 85, 84, 83, 81, 80, 79, 78, 101, 98, 97, 96, 95, 94, 93, 92, 91, 90,
89, 88, 86, 85, 84, 83, 81, 80, 79, 78,
76, 75, 74, 73, 71, 70, 69, 68, 67, 66, 76, 75, 74, 73, 71, 70, 69, 68, 67, 66,
65, 64, 63, 62, 61, 60, 59, 51, 49, 48, 65, 64, 63, 62, 61, 60, 59, 51, 49, 48,
43, 42, 41, 40, 39, 35, 32, 27, 18, 17, 43, 42, 41, 40, 39, 35, 32, 27, 18, 17,
7, 6, 5, 3, 289, 289, 289, 289, 289, 289,
289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 7, 6, 5, 3, 299, 299, 299, 299, 299, 299,
289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299,
289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299,
289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299,
289, 289, 289, 289 299, 299, 299, 299, 299, 299, 299, 299, 299, 299,
299, 299, 299, 299
} ; } ;
/* Table of booleans, true if rule could match eol. */ /* Table of booleans, true if rule could match eol. */
static const flex_int32_t yy_rule_can_match_eol[67] = static const flex_int32_t yy_rule_can_match_eol[70] =
{ 0, { 0,
0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, }; 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, };
static yy_state_type yy_last_accepting_state; static yy_state_type yy_last_accepting_state;
static char *yy_last_accepting_cpos; static char *yy_last_accepting_cpos;
@@ -989,7 +995,7 @@ static char *yy_last_accepting_cpos;
extern int yy_flex_debug; extern int yy_flex_debug;
int yy_flex_debug = 1; int yy_flex_debug = 1;
static const flex_int16_t yy_rule_linenum[66] = static const flex_int16_t yy_rule_linenum[69] =
{ 0, { 0,
107, 112, 118, 127, 133, 151, 175, 189, 190, 191, 107, 112, 118, 127, 133, 151, 175, 189, 190, 191,
192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
@@ -997,7 +1003,7 @@ static const flex_int16_t yy_rule_linenum[66] =
212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221,
222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
242, 243, 244, 245, 246 242, 243, 244, 245, 246, 247, 248, 249
} ; } ;
/* The intent behind this definition is that it'll catch /* The intent behind this definition is that it'll catch
@@ -1049,7 +1055,7 @@ namespace {
/* To avoid the call to exit... oops! */ /* To avoid the call to exit... oops! */
#define YY_FATAL_ERROR(msg) isc::eval::EvalContext::fatal(msg) #define YY_FATAL_ERROR(msg) isc::eval::EvalContext::fatal(msg)
#line 1052 "lexer.cc" #line 1058 "lexer.cc"
/* noyywrap disables automatic rewinding for the next file to parse. Since we /* 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 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 using yywrap requires linking with -lfl, which provides the default yywrap
@@ -1074,8 +1080,8 @@ namespace {
by moving it ahead by yyleng bytes. yyleng specifies the length of the by moving it ahead by yyleng bytes. yyleng specifies the length of the
currently matched token. */ currently matched token. */
#define YY_USER_ACTION loc.columns(evalleng); #define YY_USER_ACTION loc.columns(evalleng);
#line 1077 "lexer.cc" #line 1083 "lexer.cc"
#line 1078 "lexer.cc" #line 1084 "lexer.cc"
#define INITIAL 0 #define INITIAL 0
@@ -1374,7 +1380,7 @@ YY_DECL
#line 1377 "lexer.cc" #line 1383 "lexer.cc"
while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
{ {
@@ -1403,13 +1409,13 @@ yy_match:
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{ {
yy_current_state = (int) yy_def[yy_current_state]; yy_current_state = (int) yy_def[yy_current_state];
if ( yy_current_state >= 290 ) if ( yy_current_state >= 300 )
yy_c = yy_meta[yy_c]; yy_c = yy_meta[yy_c];
} }
yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
++yy_cp; ++yy_cp;
} }
while ( yy_current_state != 289 ); while ( yy_current_state != 299 );
yy_cp = (yy_last_accepting_cpos); yy_cp = (yy_last_accepting_cpos);
yy_current_state = (yy_last_accepting_state); yy_current_state = (yy_last_accepting_state);
@@ -1438,13 +1444,13 @@ do_action: /* This label is used only to access EOF actions. */
{ {
if ( yy_act == 0 ) if ( yy_act == 0 )
fprintf( stderr, "--scanner backing up\n" ); fprintf( stderr, "--scanner backing up\n" );
else if ( yy_act < 66 ) else if ( yy_act < 69 )
fprintf( stderr, "--accepting rule at line %ld (\"%s\")\n", fprintf( stderr, "--accepting rule at line %ld (\"%s\")\n",
(long)yy_rule_linenum[yy_act], yytext ); (long)yy_rule_linenum[yy_act], yytext );
else if ( yy_act == 66 ) else if ( yy_act == 69 )
fprintf( stderr, "--accepting default rule (\"%s\")\n", fprintf( stderr, "--accepting default rule (\"%s\")\n",
yytext ); yytext );
else if ( yy_act == 67 ) else if ( yy_act == 70 )
fprintf( stderr, "--(end of buffer or a NUL)\n" ); fprintf( stderr, "--(end of buffer or a NUL)\n" );
else else
fprintf( stderr, "--EOF (start condition %d)\n", YY_START ); fprintf( stderr, "--EOF (start condition %d)\n", YY_START );
@@ -1752,123 +1758,138 @@ return isc::eval::EvalParser::make_IFELSE(loc);
case 44: case 44:
YY_RULE_SETUP YY_RULE_SETUP
#line 225 "lexer.ll" #line 225 "lexer.ll"
return isc::eval::EvalParser::make_TOHEXSTRING(loc); return isc::eval::EvalParser::make_SIFELSE(loc);
YY_BREAK YY_BREAK
case 45: case 45:
YY_RULE_SETUP YY_RULE_SETUP
#line 226 "lexer.ll" #line 226 "lexer.ll"
return isc::eval::EvalParser::make_ADDRTOTEXT(loc); return isc::eval::EvalParser::make_TOHEXSTRING(loc);
YY_BREAK YY_BREAK
case 46: case 46:
YY_RULE_SETUP YY_RULE_SETUP
#line 227 "lexer.ll" #line 227 "lexer.ll"
return isc::eval::EvalParser::make_INT8TOTEXT(loc); return isc::eval::EvalParser::make_ADDRTOTEXT(loc);
YY_BREAK YY_BREAK
case 47: case 47:
YY_RULE_SETUP YY_RULE_SETUP
#line 228 "lexer.ll" #line 228 "lexer.ll"
return isc::eval::EvalParser::make_INT16TOTEXT(loc); return isc::eval::EvalParser::make_INT8TOTEXT(loc);
YY_BREAK YY_BREAK
case 48: case 48:
YY_RULE_SETUP YY_RULE_SETUP
#line 229 "lexer.ll" #line 229 "lexer.ll"
return isc::eval::EvalParser::make_INT32TOTEXT(loc); return isc::eval::EvalParser::make_INT16TOTEXT(loc);
YY_BREAK YY_BREAK
case 49: case 49:
YY_RULE_SETUP YY_RULE_SETUP
#line 230 "lexer.ll" #line 230 "lexer.ll"
return isc::eval::EvalParser::make_UINT8TOTEXT(loc); return isc::eval::EvalParser::make_INT32TOTEXT(loc);
YY_BREAK YY_BREAK
case 50: case 50:
YY_RULE_SETUP YY_RULE_SETUP
#line 231 "lexer.ll" #line 231 "lexer.ll"
return isc::eval::EvalParser::make_UINT16TOTEXT(loc); return isc::eval::EvalParser::make_UINT8TOTEXT(loc);
YY_BREAK YY_BREAK
case 51: case 51:
YY_RULE_SETUP YY_RULE_SETUP
#line 232 "lexer.ll" #line 232 "lexer.ll"
return isc::eval::EvalParser::make_UINT32TOTEXT(loc); return isc::eval::EvalParser::make_UINT16TOTEXT(loc);
YY_BREAK YY_BREAK
case 52: case 52:
YY_RULE_SETUP YY_RULE_SETUP
#line 233 "lexer.ll" #line 233 "lexer.ll"
return isc::eval::EvalParser::make_NOT(loc); return isc::eval::EvalParser::make_UINT32TOTEXT(loc);
YY_BREAK YY_BREAK
case 53: case 53:
YY_RULE_SETUP YY_RULE_SETUP
#line 234 "lexer.ll" #line 234 "lexer.ll"
return isc::eval::EvalParser::make_AND(loc); return isc::eval::EvalParser::make_NOT(loc);
YY_BREAK YY_BREAK
case 54: case 54:
YY_RULE_SETUP YY_RULE_SETUP
#line 235 "lexer.ll" #line 235 "lexer.ll"
return isc::eval::EvalParser::make_OR(loc); return isc::eval::EvalParser::make_AND(loc);
YY_BREAK YY_BREAK
case 55: case 55:
YY_RULE_SETUP YY_RULE_SETUP
#line 236 "lexer.ll" #line 236 "lexer.ll"
return isc::eval::EvalParser::make_MEMBER(loc); return isc::eval::EvalParser::make_SAND(loc);
YY_BREAK YY_BREAK
case 56: case 56:
YY_RULE_SETUP YY_RULE_SETUP
#line 237 "lexer.ll" #line 237 "lexer.ll"
return isc::eval::EvalParser::make_MATCH(loc); return isc::eval::EvalParser::make_OR(loc);
YY_BREAK YY_BREAK
case 57: case 57:
YY_RULE_SETUP YY_RULE_SETUP
#line 238 "lexer.ll" #line 238 "lexer.ll"
return isc::eval::EvalParser::make_DOT(loc); return isc::eval::EvalParser::make_SOR(loc);
YY_BREAK YY_BREAK
case 58: case 58:
YY_RULE_SETUP YY_RULE_SETUP
#line 239 "lexer.ll" #line 239 "lexer.ll"
return isc::eval::EvalParser::make_LPAREN(loc); return isc::eval::EvalParser::make_MEMBER(loc);
YY_BREAK YY_BREAK
case 59: case 59:
YY_RULE_SETUP YY_RULE_SETUP
#line 240 "lexer.ll" #line 240 "lexer.ll"
return isc::eval::EvalParser::make_RPAREN(loc); return isc::eval::EvalParser::make_MATCH(loc);
YY_BREAK YY_BREAK
case 60: case 60:
YY_RULE_SETUP YY_RULE_SETUP
#line 241 "lexer.ll" #line 241 "lexer.ll"
return isc::eval::EvalParser::make_LBRACKET(loc); return isc::eval::EvalParser::make_DOT(loc);
YY_BREAK YY_BREAK
case 61: case 61:
YY_RULE_SETUP YY_RULE_SETUP
#line 242 "lexer.ll" #line 242 "lexer.ll"
return isc::eval::EvalParser::make_RBRACKET(loc); return isc::eval::EvalParser::make_LPAREN(loc);
YY_BREAK YY_BREAK
case 62: case 62:
YY_RULE_SETUP YY_RULE_SETUP
#line 243 "lexer.ll" #line 243 "lexer.ll"
return isc::eval::EvalParser::make_COMA(loc); return isc::eval::EvalParser::make_RPAREN(loc);
YY_BREAK YY_BREAK
case 63: case 63:
YY_RULE_SETUP YY_RULE_SETUP
#line 244 "lexer.ll" #line 244 "lexer.ll"
return isc::eval::EvalParser::make_ANY(loc); return isc::eval::EvalParser::make_LBRACKET(loc);
YY_BREAK YY_BREAK
case 64: case 64:
YY_RULE_SETUP YY_RULE_SETUP
#line 245 "lexer.ll" #line 245 "lexer.ll"
return isc::eval::EvalParser::make_PLUS(loc); return isc::eval::EvalParser::make_RBRACKET(loc);
YY_BREAK YY_BREAK
case 65: case 65:
YY_RULE_SETUP YY_RULE_SETUP
#line 246 "lexer.ll" #line 246 "lexer.ll"
driver.error (loc, "Invalid character: " + std::string(evaltext)); return isc::eval::EvalParser::make_COMA(loc);
YY_BREAK
case YY_STATE_EOF(INITIAL):
#line 247 "lexer.ll"
return isc::eval::EvalParser::make_END(loc);
YY_BREAK YY_BREAK
case 66: case 66:
YY_RULE_SETUP YY_RULE_SETUP
#line 247 "lexer.ll"
return isc::eval::EvalParser::make_ANY(loc);
YY_BREAK
case 67:
YY_RULE_SETUP
#line 248 "lexer.ll" #line 248 "lexer.ll"
return isc::eval::EvalParser::make_PLUS(loc);
YY_BREAK
case 68:
YY_RULE_SETUP
#line 249 "lexer.ll"
driver.error (loc, "Invalid character: " + std::string(evaltext));
YY_BREAK
case YY_STATE_EOF(INITIAL):
#line 250 "lexer.ll"
return isc::eval::EvalParser::make_END(loc);
YY_BREAK
case 69:
YY_RULE_SETUP
#line 251 "lexer.ll"
ECHO; ECHO;
YY_BREAK YY_BREAK
#line 1871 "lexer.cc" #line 1892 "lexer.cc"
case YY_END_OF_BUFFER: case YY_END_OF_BUFFER:
{ {
@@ -2187,7 +2208,7 @@ static int yy_get_next_buffer (void)
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{ {
yy_current_state = (int) yy_def[yy_current_state]; yy_current_state = (int) yy_def[yy_current_state];
if ( yy_current_state >= 290 ) if ( yy_current_state >= 300 )
yy_c = yy_meta[yy_c]; yy_c = yy_meta[yy_c];
} }
yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
@@ -2220,11 +2241,11 @@ static int yy_get_next_buffer (void)
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{ {
yy_current_state = (int) yy_def[yy_current_state]; yy_current_state = (int) yy_def[yy_current_state];
if ( yy_current_state >= 290 ) if ( yy_current_state >= 300 )
yy_c = yy_meta[yy_c]; yy_c = yy_meta[yy_c];
} }
yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
yy_is_jam = (yy_current_state == 289); yy_is_jam = (yy_current_state == 299);
return yy_is_jam ? 0 : yy_current_state; return yy_is_jam ? 0 : yy_current_state;
} }
@@ -2980,7 +3001,7 @@ void yyfree (void * ptr )
/* %ok-for-header */ /* %ok-for-header */
#line 248 "lexer.ll" #line 251 "lexer.ll"
using namespace isc::eval; using namespace isc::eval;

View File

@@ -1,3 +1,4 @@
// Generated 202408071754
// A Bison parser, made by GNU Bison 3.8.2. // A Bison parser, made by GNU Bison 3.8.2.
// Locations for Bison parsers in C++ // Locations for Bison parsers in C++

File diff suppressed because it is too large Load Diff

View File

@@ -512,66 +512,69 @@ namespace isc { namespace eval {
TOKEN_RPAREN = 259, // ")" TOKEN_RPAREN = 259, // ")"
TOKEN_NOT = 260, // "not" TOKEN_NOT = 260, // "not"
TOKEN_AND = 261, // "and" TOKEN_AND = 261, // "and"
TOKEN_OR = 262, // "or" TOKEN_SAND = 262, // "sand"
TOKEN_EQUAL = 263, // "==" TOKEN_OR = 263, // "or"
TOKEN_OPTION = 264, // "option" TOKEN_SOR = 264, // "sor"
TOKEN_RELAY4 = 265, // "relay4" TOKEN_EQUAL = 265, // "=="
TOKEN_RELAY6 = 266, // "relay6" TOKEN_OPTION = 266, // "option"
TOKEN_MEMBER = 267, // "member" TOKEN_RELAY4 = 267, // "relay4"
TOKEN_PEERADDR = 268, // "peeraddr" TOKEN_RELAY6 = 268, // "relay6"
TOKEN_LINKADDR = 269, // "linkaddr" TOKEN_MEMBER = 269, // "member"
TOKEN_LBRACKET = 270, // "[" TOKEN_PEERADDR = 270, // "peeraddr"
TOKEN_RBRACKET = 271, // "]" TOKEN_LINKADDR = 271, // "linkaddr"
TOKEN_DOT = 272, // "." TOKEN_LBRACKET = 272, // "["
TOKEN_TEXT = 273, // "text" TOKEN_RBRACKET = 273, // "]"
TOKEN_HEX = 274, // "hex" TOKEN_DOT = 274, // "."
TOKEN_EXISTS = 275, // "exists" TOKEN_TEXT = 275, // "text"
TOKEN_PKT = 276, // "pkt" TOKEN_HEX = 276, // "hex"
TOKEN_IFACE = 277, // "iface" TOKEN_EXISTS = 277, // "exists"
TOKEN_SRC = 278, // "src" TOKEN_PKT = 278, // "pkt"
TOKEN_DST = 279, // "dst" TOKEN_IFACE = 279, // "iface"
TOKEN_LEN = 280, // "len" TOKEN_SRC = 280, // "src"
TOKEN_PKT4 = 281, // "pkt4" TOKEN_DST = 281, // "dst"
TOKEN_CHADDR = 282, // "mac" TOKEN_LEN = 282, // "len"
TOKEN_HLEN = 283, // "hlen" TOKEN_PKT4 = 283, // "pkt4"
TOKEN_HTYPE = 284, // "htype" TOKEN_CHADDR = 284, // "mac"
TOKEN_CIADDR = 285, // "ciaddr" TOKEN_HLEN = 285, // "hlen"
TOKEN_GIADDR = 286, // "giaddr" TOKEN_HTYPE = 286, // "htype"
TOKEN_YIADDR = 287, // "yiaddr" TOKEN_CIADDR = 287, // "ciaddr"
TOKEN_SIADDR = 288, // "siaddr" TOKEN_GIADDR = 288, // "giaddr"
TOKEN_SUBSTRING = 289, // "substring" TOKEN_YIADDR = 289, // "yiaddr"
TOKEN_SPLIT = 290, // "split" TOKEN_SIADDR = 290, // "siaddr"
TOKEN_ALL = 291, // "all" TOKEN_SUBSTRING = 291, // "substring"
TOKEN_COMA = 292, // "," TOKEN_SPLIT = 292, // "split"
TOKEN_CONCAT = 293, // "concat" TOKEN_ALL = 293, // "all"
TOKEN_PLUS = 294, // "+" TOKEN_COMA = 294, // ","
TOKEN_IFELSE = 295, // "ifelse" TOKEN_CONCAT = 295, // "concat"
TOKEN_TOHEXSTRING = 296, // "hexstring" TOKEN_PLUS = 296, // "+"
TOKEN_ADDRTOTEXT = 297, // "addrtotext" TOKEN_IFELSE = 297, // "ifelse"
TOKEN_INT8TOTEXT = 298, // "int8totext" TOKEN_SIFELSE = 298, // "sifelse"
TOKEN_INT16TOTEXT = 299, // "int16totext" TOKEN_TOHEXSTRING = 299, // "hexstring"
TOKEN_INT32TOTEXT = 300, // "int32totext" TOKEN_ADDRTOTEXT = 300, // "addrtotext"
TOKEN_UINT8TOTEXT = 301, // "uint8totext" TOKEN_INT8TOTEXT = 301, // "int8totext"
TOKEN_UINT16TOTEXT = 302, // "uint16totext" TOKEN_INT16TOTEXT = 302, // "int16totext"
TOKEN_UINT32TOTEXT = 303, // "uint32totext" TOKEN_INT32TOTEXT = 303, // "int32totext"
TOKEN_LCASE = 304, // "lcase" TOKEN_UINT8TOTEXT = 304, // "uint8totext"
TOKEN_UCASE = 305, // "ucase" TOKEN_UINT16TOTEXT = 305, // "uint16totext"
TOKEN_PKT6 = 306, // "pkt6" TOKEN_UINT32TOTEXT = 306, // "uint32totext"
TOKEN_MSGTYPE = 307, // "msgtype" TOKEN_LCASE = 307, // "lcase"
TOKEN_TRANSID = 308, // "transid" TOKEN_UCASE = 308, // "ucase"
TOKEN_VENDOR_CLASS = 309, // "vendor-class" TOKEN_PKT6 = 309, // "pkt6"
TOKEN_VENDOR = 310, // "vendor" TOKEN_MSGTYPE = 310, // "msgtype"
TOKEN_ANY = 311, // "*" TOKEN_TRANSID = 311, // "transid"
TOKEN_DATA = 312, // "data" TOKEN_VENDOR_CLASS = 312, // "vendor-class"
TOKEN_ENTERPRISE = 313, // "enterprise" TOKEN_VENDOR = 313, // "vendor"
TOKEN_MATCH = 314, // "match" TOKEN_ANY = 314, // "*"
TOKEN_TOPLEVEL_BOOL = 315, // "top-level bool" TOKEN_DATA = 315, // "data"
TOKEN_TOPLEVEL_STRING = 316, // "top-level string" TOKEN_ENTERPRISE = 316, // "enterprise"
TOKEN_STRING = 317, // "constant string" TOKEN_MATCH = 317, // "match"
TOKEN_INTEGER = 318, // "integer" TOKEN_TOPLEVEL_BOOL = 318, // "top-level bool"
TOKEN_HEXSTRING = 319, // "constant hexstring" TOKEN_TOPLEVEL_STRING = 319, // "top-level string"
TOKEN_OPTION_NAME = 320, // "option name" TOKEN_STRING = 320, // "constant string"
TOKEN_IP_ADDRESS = 321 // "ip address" TOKEN_INTEGER = 321, // "integer"
TOKEN_HEXSTRING = 322, // "constant hexstring"
TOKEN_OPTION_NAME = 323, // "option name"
TOKEN_IP_ADDRESS = 324 // "ip address"
}; };
/// Backward compatibility alias (Bison 3.6). /// Backward compatibility alias (Bison 3.6).
typedef token_kind_type yytokentype; typedef token_kind_type yytokentype;
@@ -588,7 +591,7 @@ namespace isc { namespace eval {
{ {
enum symbol_kind_type enum symbol_kind_type
{ {
YYNTOKENS = 67, ///< Number of tokens. YYNTOKENS = 70, ///< Number of tokens.
S_YYEMPTY = -2, S_YYEMPTY = -2,
S_YYEOF = 0, // "end of file" S_YYEOF = 0, // "end of file"
S_YYerror = 1, // error S_YYerror = 1, // error
@@ -597,84 +600,87 @@ namespace isc { namespace eval {
S_RPAREN = 4, // ")" S_RPAREN = 4, // ")"
S_NOT = 5, // "not" S_NOT = 5, // "not"
S_AND = 6, // "and" S_AND = 6, // "and"
S_OR = 7, // "or" S_SAND = 7, // "sand"
S_EQUAL = 8, // "==" S_OR = 8, // "or"
S_OPTION = 9, // "option" S_SOR = 9, // "sor"
S_RELAY4 = 10, // "relay4" S_EQUAL = 10, // "=="
S_RELAY6 = 11, // "relay6" S_OPTION = 11, // "option"
S_MEMBER = 12, // "member" S_RELAY4 = 12, // "relay4"
S_PEERADDR = 13, // "peeraddr" S_RELAY6 = 13, // "relay6"
S_LINKADDR = 14, // "linkaddr" S_MEMBER = 14, // "member"
S_LBRACKET = 15, // "[" S_PEERADDR = 15, // "peeraddr"
S_RBRACKET = 16, // "]" S_LINKADDR = 16, // "linkaddr"
S_DOT = 17, // "." S_LBRACKET = 17, // "["
S_TEXT = 18, // "text" S_RBRACKET = 18, // "]"
S_HEX = 19, // "hex" S_DOT = 19, // "."
S_EXISTS = 20, // "exists" S_TEXT = 20, // "text"
S_PKT = 21, // "pkt" S_HEX = 21, // "hex"
S_IFACE = 22, // "iface" S_EXISTS = 22, // "exists"
S_SRC = 23, // "src" S_PKT = 23, // "pkt"
S_DST = 24, // "dst" S_IFACE = 24, // "iface"
S_LEN = 25, // "len" S_SRC = 25, // "src"
S_PKT4 = 26, // "pkt4" S_DST = 26, // "dst"
S_CHADDR = 27, // "mac" S_LEN = 27, // "len"
S_HLEN = 28, // "hlen" S_PKT4 = 28, // "pkt4"
S_HTYPE = 29, // "htype" S_CHADDR = 29, // "mac"
S_CIADDR = 30, // "ciaddr" S_HLEN = 30, // "hlen"
S_GIADDR = 31, // "giaddr" S_HTYPE = 31, // "htype"
S_YIADDR = 32, // "yiaddr" S_CIADDR = 32, // "ciaddr"
S_SIADDR = 33, // "siaddr" S_GIADDR = 33, // "giaddr"
S_SUBSTRING = 34, // "substring" S_YIADDR = 34, // "yiaddr"
S_SPLIT = 35, // "split" S_SIADDR = 35, // "siaddr"
S_ALL = 36, // "all" S_SUBSTRING = 36, // "substring"
S_COMA = 37, // "," S_SPLIT = 37, // "split"
S_CONCAT = 38, // "concat" S_ALL = 38, // "all"
S_PLUS = 39, // "+" S_COMA = 39, // ","
S_IFELSE = 40, // "ifelse" S_CONCAT = 40, // "concat"
S_TOHEXSTRING = 41, // "hexstring" S_PLUS = 41, // "+"
S_ADDRTOTEXT = 42, // "addrtotext" S_IFELSE = 42, // "ifelse"
S_INT8TOTEXT = 43, // "int8totext" S_SIFELSE = 43, // "sifelse"
S_INT16TOTEXT = 44, // "int16totext" S_TOHEXSTRING = 44, // "hexstring"
S_INT32TOTEXT = 45, // "int32totext" S_ADDRTOTEXT = 45, // "addrtotext"
S_UINT8TOTEXT = 46, // "uint8totext" S_INT8TOTEXT = 46, // "int8totext"
S_UINT16TOTEXT = 47, // "uint16totext" S_INT16TOTEXT = 47, // "int16totext"
S_UINT32TOTEXT = 48, // "uint32totext" S_INT32TOTEXT = 48, // "int32totext"
S_LCASE = 49, // "lcase" S_UINT8TOTEXT = 49, // "uint8totext"
S_UCASE = 50, // "ucase" S_UINT16TOTEXT = 50, // "uint16totext"
S_PKT6 = 51, // "pkt6" S_UINT32TOTEXT = 51, // "uint32totext"
S_MSGTYPE = 52, // "msgtype" S_LCASE = 52, // "lcase"
S_TRANSID = 53, // "transid" S_UCASE = 53, // "ucase"
S_VENDOR_CLASS = 54, // "vendor-class" S_PKT6 = 54, // "pkt6"
S_VENDOR = 55, // "vendor" S_MSGTYPE = 55, // "msgtype"
S_ANY = 56, // "*" S_TRANSID = 56, // "transid"
S_DATA = 57, // "data" S_VENDOR_CLASS = 57, // "vendor-class"
S_ENTERPRISE = 58, // "enterprise" S_VENDOR = 58, // "vendor"
S_MATCH = 59, // "match" S_ANY = 59, // "*"
S_TOPLEVEL_BOOL = 60, // "top-level bool" S_DATA = 60, // "data"
S_TOPLEVEL_STRING = 61, // "top-level string" S_ENTERPRISE = 61, // "enterprise"
S_STRING = 62, // "constant string" S_MATCH = 62, // "match"
S_INTEGER = 63, // "integer" S_TOPLEVEL_BOOL = 63, // "top-level bool"
S_HEXSTRING = 64, // "constant hexstring" S_TOPLEVEL_STRING = 64, // "top-level string"
S_OPTION_NAME = 65, // "option name" S_STRING = 65, // "constant string"
S_IP_ADDRESS = 66, // "ip address" S_INTEGER = 66, // "integer"
S_YYACCEPT = 67, // $accept S_HEXSTRING = 67, // "constant hexstring"
S_start = 68, // start S_OPTION_NAME = 68, // "option name"
S_expression = 69, // expression S_IP_ADDRESS = 69, // "ip address"
S_bool_expr = 70, // bool_expr S_YYACCEPT = 70, // $accept
S_string_expr = 71, // string_expr S_start = 71, // start
S_integer_expr = 72, // integer_expr S_expression = 72, // expression
S_option_code = 73, // option_code S_bool_expr = 73, // bool_expr
S_sub_option_code = 74, // sub_option_code S_string_expr = 74, // string_expr
S_option_repr_type = 75, // option_repr_type S_integer_expr = 75, // integer_expr
S_nest_level = 76, // nest_level S_option_code = 76, // option_code
S_pkt_metadata = 77, // pkt_metadata S_sub_option_code = 77, // sub_option_code
S_enterprise_id = 78, // enterprise_id S_option_repr_type = 78, // option_repr_type
S_pkt4_field = 79, // pkt4_field S_nest_level = 79, // nest_level
S_pkt6_field = 80, // pkt6_field S_pkt_metadata = 80, // pkt_metadata
S_relay6_field = 81, // relay6_field S_enterprise_id = 81, // enterprise_id
S_start_expr = 82, // start_expr S_pkt4_field = 82, // pkt4_field
S_length_expr = 83, // length_expr S_pkt6_field = 83, // pkt6_field
S_int_expr = 84 // int_expr S_relay6_field = 84, // relay6_field
S_start_expr = 85, // start_expr
S_length_expr = 86, // length_expr
S_int_expr = 87 // int_expr
}; };
}; };
@@ -1234,6 +1240,21 @@ switch (yykind)
return symbol_type (token::TOKEN_AND, l); return symbol_type (token::TOKEN_AND, l);
} }
#endif #endif
#if 201103L <= YY_CPLUSPLUS
static
symbol_type
make_SAND (location_type l)
{
return symbol_type (token::TOKEN_SAND, std::move (l));
}
#else
static
symbol_type
make_SAND (const location_type& l)
{
return symbol_type (token::TOKEN_SAND, l);
}
#endif
#if 201103L <= YY_CPLUSPLUS #if 201103L <= YY_CPLUSPLUS
static static
symbol_type symbol_type
@@ -1249,6 +1270,21 @@ switch (yykind)
return symbol_type (token::TOKEN_OR, l); return symbol_type (token::TOKEN_OR, l);
} }
#endif #endif
#if 201103L <= YY_CPLUSPLUS
static
symbol_type
make_SOR (location_type l)
{
return symbol_type (token::TOKEN_SOR, std::move (l));
}
#else
static
symbol_type
make_SOR (const location_type& l)
{
return symbol_type (token::TOKEN_SOR, l);
}
#endif
#if 201103L <= YY_CPLUSPLUS #if 201103L <= YY_CPLUSPLUS
static static
symbol_type symbol_type
@@ -1744,6 +1780,21 @@ switch (yykind)
return symbol_type (token::TOKEN_IFELSE, l); return symbol_type (token::TOKEN_IFELSE, l);
} }
#endif #endif
#if 201103L <= YY_CPLUSPLUS
static
symbol_type
make_SIFELSE (location_type l)
{
return symbol_type (token::TOKEN_SIFELSE, std::move (l));
}
#else
static
symbol_type
make_SIFELSE (const location_type& l)
{
return symbol_type (token::TOKEN_SIFELSE, l);
}
#endif
#if 201103L <= YY_CPLUSPLUS #if 201103L <= YY_CPLUSPLUS
static static
symbol_type symbol_type
@@ -2164,7 +2215,7 @@ switch (yykind)
/// Stored state numbers (used for stacks). /// Stored state numbers (used for stacks).
typedef unsigned char state_type; typedef short state_type;
/// The arguments of the error message. /// The arguments of the error message.
int yy_syntax_error_arguments_ (const context& yyctx, int yy_syntax_error_arguments_ (const context& yyctx,
@@ -2220,7 +2271,7 @@ switch (yykind)
// YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If // YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
// positive, shift that token. If negative, reduce the rule whose // positive, shift that token. If negative, reduce the rule whose
// number is the opposite. If YYTABLE_NINF, syntax error. // number is the opposite. If YYTABLE_NINF, syntax error.
static const unsigned char yytable_[]; static const short yytable_[];
static const short yycheck_[]; static const short yycheck_[];
@@ -2464,9 +2515,9 @@ switch (yykind)
/// Constants. /// Constants.
enum enum
{ {
yylast_ = 309, ///< Last index in yytable_. yylast_ = 334, ///< Last index in yytable_.
yynnts_ = 18, ///< Number of nonterminal symbols. yynnts_ = 18, ///< Number of nonterminal symbols.
yyfinal_ = 45 ///< Termination state number. yyfinal_ = 46 ///< Termination state number.
}; };
@@ -2517,10 +2568,10 @@ switch (yykind)
35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
65, 66 65, 66, 67, 68, 69
}; };
// Last valid token kind. // Last valid token kind.
const int code_max = 321; const int code_max = 324;
if (t <= 0) if (t <= 0)
return symbol_kind::S_YYEOF; return symbol_kind::S_YYEOF;
@@ -2721,7 +2772,7 @@ switch (yykind)
#line 14 "parser.yy" #line 14 "parser.yy"
} } // isc::eval } } // isc::eval
#line 2725 "parser.h" #line 2776 "parser.h"