summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrancis Dupont <fdupont@isc.org>2024-03-27 10:31:24 +0100
committerThomas Markwalder <tmark@isc.org>2024-04-16 21:00:57 +0200
commit6911295c3d67d3c050a16caeabf21dad0091df38 (patch)
treea9043938171eb9e34d35b73522753237f90f4c6a
parent[#3133] Extended syntax (diff)
downloadkea-6911295c3d67d3c050a16caeabf21dad0091df38.tar.xz
kea-6911295c3d67d3c050a16caeabf21dad0091df38.zip
[#3133] Regen flex/bison
-rw-r--r--src/bin/d2/d2_lexer.cc659
-rw-r--r--src/bin/d2/d2_parser.cc1097
-rw-r--r--src/bin/d2/d2_parser.h449
-rw-r--r--src/bin/d2/location.hh1
4 files changed, 1134 insertions, 1072 deletions
diff --git a/src/bin/d2/d2_lexer.cc b/src/bin/d2/d2_lexer.cc
index 750b90492f..08e3bfd7e7 100644
--- a/src/bin/d2/d2_lexer.cc
+++ b/src/bin/d2/d2_lexer.cc
@@ -691,8 +691,8 @@ static void yynoreturn yy_fatal_error ( const char* msg );
/* %% [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 69
-#define YY_END_OF_BUFFER 70
+#define YY_NUM_RULES 70
+#define YY_END_OF_BUFFER 71
/* This struct is not used in this scanner,
but its presence is necessary. */
struct yy_trans_info
@@ -700,56 +700,56 @@ struct yy_trans_info
flex_int32_t yy_verify;
flex_int32_t yy_nxt;
};
-static const flex_int16_t yy_accept[434] =
+static const flex_int16_t yy_accept[440] =
{ 0,
- 62, 62, 0, 0, 0, 0, 0, 0, 0, 0,
- 70, 68, 10, 11, 68, 1, 62, 59, 62, 62,
- 68, 61, 60, 68, 68, 68, 68, 68, 55, 56,
- 68, 68, 68, 57, 58, 5, 5, 5, 68, 68,
- 68, 10, 11, 0, 0, 50, 0, 0, 0, 0,
+ 63, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 71, 69, 10, 11, 69, 1, 63, 60, 63, 63,
+ 69, 62, 61, 69, 69, 69, 69, 69, 56, 57,
+ 69, 69, 69, 58, 59, 5, 5, 5, 69, 69,
+ 69, 10, 11, 0, 0, 51, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 1, 62, 62,
- 0, 61, 62, 3, 2, 6, 0, 62, 0, 0,
- 0, 0, 0, 0, 4, 0, 0, 9, 0, 51,
- 0, 0, 0, 0, 0, 0, 53, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1, 63, 63,
+ 0, 62, 63, 3, 2, 6, 0, 63, 0, 0,
+ 0, 0, 0, 0, 4, 0, 0, 9, 0, 52,
+ 0, 0, 0, 0, 0, 0, 54, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2, 0, 0, 0, 0, 0, 0, 0,
- 8, 0, 0, 0, 0, 0, 52, 54, 0, 0,
+ 8, 0, 0, 0, 0, 0, 53, 55, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 67, 65,
- 0, 64, 63, 0, 0, 0, 19, 18, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 66,
+ 0, 65, 64, 0, 0, 0, 19, 18, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 66, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 67, 64,
0, 0, 20, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 47, 0, 0, 0, 0, 0, 14, 0, 0,
+ 0, 48, 0, 0, 0, 0, 0, 14, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 43, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 44, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 7, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 45, 0, 0, 42, 0, 0, 0, 0, 0,
-
- 32, 0, 0, 0, 0, 0, 0, 22, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 38, 39,
- 44, 0, 0, 0, 0, 0, 46, 0, 0, 0,
- 0, 0, 0, 12, 0, 0, 0, 0, 0, 0,
- 0, 0, 28, 0, 26, 0, 0, 0, 0, 0,
- 0, 49, 0, 0, 0, 0, 30, 0, 0, 0,
+ 0, 46, 0, 0, 43, 0, 0, 0, 0, 0,
+
+ 32, 0, 0, 0, 0, 0, 0, 0, 22, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 39,
+ 40, 45, 0, 0, 0, 0, 0, 47, 0, 0,
+ 0, 0, 0, 0, 0, 12, 0, 0, 0, 0,
+ 0, 0, 0, 0, 28, 0, 26, 0, 0, 0,
+ 0, 0, 0, 0, 50, 0, 0, 0, 0, 30,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 29, 0, 0, 0, 48, 0, 0,
- 0, 0, 0, 13, 17, 0, 0, 0, 37, 0,
- 0, 0, 0, 0, 0, 31, 0, 27, 0, 0,
-
- 0, 0, 0, 0, 35, 34, 0, 0, 25, 0,
- 23, 0, 16, 0, 0, 24, 21, 0, 0, 0,
- 0, 0, 33, 0, 0, 41, 40, 0, 36, 0,
- 0, 15, 0
+ 0, 0, 0, 0, 0, 0, 0, 29, 0, 0,
+ 0, 49, 0, 0, 0, 0, 0, 13, 17, 0,
+ 0, 0, 38, 0, 0, 0, 0, 0, 0, 0,
+
+ 31, 0, 27, 0, 0, 0, 0, 0, 0, 33,
+ 36, 35, 0, 0, 25, 0, 23, 0, 16, 0,
+ 0, 24, 21, 0, 0, 0, 0, 0, 34, 0,
+ 0, 42, 41, 0, 37, 0, 0, 15, 0
} ;
static const YY_CHAR yy_ec[256] =
@@ -795,116 +795,116 @@ static const YY_CHAR yy_meta[65] =
1, 1, 1, 1
} ;
-static const flex_int16_t yy_base[442] =
+static const flex_int16_t yy_base[448] =
{ 0,
0, 63, 17, 27, 35, 42, 46, 51, 80, 89,
- 686, 687, 24, 682, 127, 0, 180, 687, 181, 66,
- 9, 184, 687, 666, 101, 21, 14, 31, 687, 687,
- 22, 61, 66, 687, 687, 687, 98, 670, 631, 0,
- 664, 99, 677, 27, 205, 687, 634, 166, 83, 177,
- 228, 629, 625, 159, 64, 624, 622, 632, 65, 635,
- 84, 615, 164, 629, 16, 185, 187, 0, 194, 252,
- 259, 260, 197, 687, 0, 687, 656, 655, 186, 198,
- 232, 243, 250, 244, 687, 628, 661, 687, 209, 687,
- 274, 626, 253, 257, 259, 659, 0, 326, 620, 163,
-
- 612, 623, 617, 605, 602, 604, 177, 646, 595, 616,
- 610, 593, 602, 597, 594, 177, 595, 590, 238, 607,
- 600, 603, 0, 259, 267, 277, 260, 269, 280, 595,
- 687, 590, 270, 636, 635, 634, 687, 687, 356, 587,
- 588, 581, 581, 578, 592, 622, 577, 572, 582, 573,
- 590, 616, 572, 581, 249, 582, 612, 569, 583, 564,
- 563, 576, 563, 574, 567, 570, 559, 285, 687, 687,
- 297, 687, 687, 555, 589, 604, 687, 687, 386, 555,
- 566, 553, 595, 561, 549, 548, 557, 563, 545, 548,
- 557, 546, 558, 553, 548, 551, 586, 280, 534, 540,
-
- 547, 582, 533, 544, 531, 542, 572, 571, 687, 687,
- 540, 539, 687, 416, 533, 527, 525, 535, 526, 518,
- 531, 566, 517, 559, 531, 527, 529, 512, 511, 502,
- 509, 687, 510, 507, 504, 517, 504, 687, 502, 500,
- 509, 498, 505, 512, 509, 499, 493, 492, 498, 494,
- 503, 533, 489, 687, 501, 492, 490, 485, 488, 476,
- 481, 493, 528, 479, 480, 300, 475, 479, 487, 522,
- 471, 515, 483, 472, 687, 468, 477, 515, 509, 469,
- 460, 478, 458, 504, 468, 471, 470, 469, 504, 503,
- 502, 687, 457, 450, 687, 453, 452, 461, 496, 490,
-
- 687, 439, 273, 438, 447, 491, 446, 687, 440, 456,
- 451, 446, 449, 449, 450, 482, 432, 480, 687, 687,
- 687, 447, 432, 430, 429, 427, 687, 435, 461, 415,
- 391, 396, 394, 687, 443, 396, 401, 397, 389, 390,
- 402, 388, 687, 386, 687, 378, 393, 376, 375, 368,
- 381, 687, 371, 367, 413, 376, 687, 377, 365, 409,
- 359, 287, 362, 374, 405, 398, 351, 356, 355, 387,
- 341, 349, 348, 687, 329, 340, 332, 687, 380, 329,
- 378, 328, 328, 687, 687, 332, 322, 321, 687, 317,
- 365, 357, 306, 319, 354, 687, 313, 687, 352, 311,
-
- 350, 304, 303, 347, 687, 687, 346, 295, 687, 294,
- 687, 301, 687, 286, 283, 687, 687, 330, 293, 279,
- 320, 243, 687, 167, 119, 687, 687, 64, 687, 53,
- 2, 687, 687, 459, 462, 465, 0, 468, 471, 474,
- 477
+ 692, 693, 24, 688, 127, 0, 180, 693, 181, 66,
+ 9, 184, 693, 672, 101, 21, 14, 31, 693, 693,
+ 22, 61, 66, 693, 693, 693, 98, 676, 637, 0,
+ 670, 99, 683, 27, 205, 693, 640, 166, 83, 177,
+ 228, 635, 631, 159, 64, 630, 628, 638, 65, 641,
+ 84, 621, 164, 635, 16, 185, 187, 0, 194, 252,
+ 259, 260, 197, 693, 0, 693, 662, 661, 186, 198,
+ 232, 243, 250, 244, 693, 634, 667, 693, 209, 693,
+ 274, 632, 253, 257, 259, 665, 0, 326, 626, 163,
+
+ 618, 629, 623, 611, 608, 610, 177, 652, 601, 622,
+ 616, 599, 608, 603, 600, 177, 601, 596, 238, 613,
+ 606, 609, 0, 259, 267, 277, 260, 269, 280, 601,
+ 693, 596, 270, 642, 641, 640, 693, 693, 356, 593,
+ 594, 587, 587, 584, 598, 628, 583, 578, 588, 579,
+ 596, 622, 578, 587, 249, 588, 618, 575, 589, 570,
+ 569, 582, 569, 580, 573, 576, 565, 285, 693, 693,
+ 297, 693, 693, 561, 595, 610, 693, 693, 386, 561,
+ 572, 559, 601, 567, 555, 554, 563, 569, 551, 554,
+ 563, 552, 564, 559, 554, 557, 592, 280, 540, 546,
+
+ 553, 588, 539, 550, 537, 548, 578, 577, 693, 693,
+ 546, 545, 693, 416, 539, 533, 531, 541, 532, 524,
+ 537, 572, 523, 565, 537, 533, 535, 518, 517, 508,
+ 515, 693, 516, 513, 510, 523, 510, 693, 508, 506,
+ 515, 504, 511, 518, 515, 505, 499, 498, 504, 500,
+ 509, 539, 495, 693, 507, 498, 496, 491, 494, 482,
+ 487, 499, 534, 485, 486, 300, 481, 485, 493, 318,
+ 478, 522, 490, 479, 693, 475, 484, 522, 516, 476,
+ 467, 485, 465, 511, 475, 478, 477, 476, 511, 510,
+ 509, 693, 464, 457, 693, 460, 459, 468, 503, 497,
+
+ 693, 464, 445, 285, 444, 453, 497, 452, 693, 446,
+ 462, 457, 452, 455, 455, 456, 488, 438, 486, 693,
+ 693, 693, 453, 438, 436, 435, 433, 693, 445, 439,
+ 478, 445, 421, 426, 420, 693, 461, 401, 406, 402,
+ 394, 395, 407, 393, 693, 391, 693, 389, 404, 387,
+ 386, 386, 393, 384, 693, 382, 378, 417, 380, 693,
+ 381, 369, 413, 363, 287, 366, 378, 409, 408, 361,
+ 366, 365, 398, 352, 360, 359, 351, 693, 332, 343,
+ 335, 693, 383, 332, 381, 331, 331, 693, 693, 335,
+ 331, 330, 693, 326, 368, 367, 366, 315, 321, 356,
+
+ 693, 315, 693, 354, 313, 352, 306, 305, 349, 693,
+ 693, 693, 348, 297, 693, 302, 693, 309, 693, 289,
+ 288, 693, 693, 332, 293, 279, 320, 243, 693, 167,
+ 119, 693, 693, 64, 693, 53, 2, 693, 693, 459,
+ 462, 465, 0, 468, 471, 474, 477
} ;
-static const flex_int16_t yy_def[442] =
+static const flex_int16_t yy_def[448] =
{ 0,
- 434, 434, 435, 435, 434, 434, 434, 434, 434, 434,
- 433, 433, 433, 433, 433, 436, 433, 433, 433, 433,
- 433, 433, 433, 433, 433, 433, 433, 433, 433, 433,
- 433, 433, 433, 433, 433, 433, 433, 433, 433, 437,
- 433, 433, 433, 438, 15, 433, 45, 45, 45, 45,
- 439, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 436, 433, 433,
- 433, 433, 433, 433, 440, 433, 433, 433, 433, 433,
- 433, 433, 433, 433, 433, 433, 437, 433, 438, 433,
- 433, 45, 45, 45, 45, 441, 45, 439, 45, 45,
+ 440, 440, 441, 441, 440, 440, 440, 440, 440, 440,
+ 439, 439, 439, 439, 439, 442, 439, 439, 439, 439,
+ 439, 439, 439, 439, 439, 439, 439, 439, 439, 439,
+ 439, 439, 439, 439, 439, 439, 439, 439, 439, 443,
+ 439, 439, 439, 444, 15, 439, 45, 45, 45, 45,
+ 445, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 442, 439, 439,
+ 439, 439, 439, 439, 446, 439, 439, 439, 439, 439,
+ 439, 439, 439, 439, 439, 439, 443, 439, 444, 439,
+ 439, 45, 45, 45, 45, 447, 45, 445, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 440, 433, 433, 433, 433, 433, 433, 433,
- 433, 45, 45, 45, 45, 441, 433, 433, 98, 45,
+ 45, 45, 446, 439, 439, 439, 439, 439, 439, 439,
+ 439, 45, 45, 45, 45, 447, 439, 439, 98, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 433, 433, 433,
- 433, 433, 433, 433, 45, 45, 433, 433, 98, 45,
+ 45, 45, 45, 45, 45, 45, 45, 439, 439, 439,
+ 439, 439, 439, 439, 45, 45, 439, 439, 98, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 433, 433,
- 433, 45, 433, 98, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 439, 439,
+ 439, 45, 439, 98, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 433, 45, 45, 45, 45, 45, 433, 45, 45,
- 45, 45, 45, 45, 433, 45, 45, 45, 45, 45,
- 45, 45, 45, 433, 45, 45, 45, 45, 45, 45,
+ 45, 439, 45, 45, 45, 45, 45, 439, 45, 45,
+ 45, 45, 45, 45, 439, 45, 45, 45, 45, 45,
+ 45, 45, 45, 439, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 433, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 439, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 433, 45, 45, 433, 45, 45, 45, 45, 45,
-
- 433, 45, 45, 45, 45, 45, 45, 433, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 433, 433,
- 433, 45, 45, 45, 45, 45, 433, 45, 45, 45,
- 45, 45, 45, 433, 45, 45, 45, 45, 45, 45,
- 45, 45, 433, 45, 433, 45, 45, 45, 45, 45,
- 45, 433, 45, 45, 45, 45, 433, 45, 45, 45,
+ 45, 439, 45, 45, 439, 45, 45, 45, 45, 45,
+
+ 439, 45, 45, 45, 45, 45, 45, 45, 439, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 439,
+ 439, 439, 45, 45, 45, 45, 45, 439, 45, 45,
+ 45, 45, 45, 45, 45, 439, 45, 45, 45, 45,
+ 45, 45, 45, 45, 439, 45, 439, 45, 45, 45,
+ 45, 45, 45, 45, 439, 45, 45, 45, 45, 439,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 433, 45, 45, 45, 433, 45, 45,
- 45, 45, 45, 433, 433, 45, 45, 45, 433, 45,
- 45, 45, 45, 45, 45, 433, 45, 433, 45, 45,
-
- 45, 45, 45, 45, 433, 433, 45, 45, 433, 45,
- 433, 45, 433, 45, 45, 433, 433, 45, 45, 45,
- 45, 45, 433, 45, 45, 433, 433, 45, 433, 45,
- 45, 433, 0, 433, 433, 433, 433, 433, 433, 433,
- 433
+ 45, 45, 45, 45, 45, 45, 45, 439, 45, 45,
+ 45, 439, 45, 45, 45, 45, 45, 439, 439, 45,
+ 45, 45, 439, 45, 45, 45, 45, 45, 45, 45,
+
+ 439, 45, 439, 45, 45, 45, 45, 45, 45, 439,
+ 439, 439, 45, 45, 439, 45, 439, 45, 439, 45,
+ 45, 439, 439, 45, 45, 45, 45, 45, 439, 45,
+ 45, 439, 439, 45, 439, 45, 45, 439, 0, 439,
+ 439, 439, 439, 439, 439, 439, 439
} ;
-static const flex_int16_t yy_nxt[752] =
+static const flex_int16_t yy_nxt[758] =
{ 0,
- 87, 13, 14, 13, 433, 15, 16, 432, 17, 18,
- 19, 20, 21, 22, 23, 24, 74, 433, 37, 14,
+ 87, 13, 14, 13, 439, 15, 16, 438, 17, 18,
+ 19, 20, 21, 22, 23, 24, 74, 439, 37, 14,
37, 75, 25, 26, 38, 42, 27, 42, 37, 14,
37, 28, 90, 29, 38, 30, 13, 14, 13, 79,
79, 25, 31, 13, 14, 13, 80, 13, 14, 13,
@@ -914,9 +914,9 @@ static const flex_int16_t yy_nxt[752] =
39, 13, 14, 13, 81, 25, 26, 39, 71, 27,
13, 14, 13, 80, 28, 81, 29, 41, 30, 42,
- 42, 42, 42, 94, 25, 31, 41, 71, 431, 77,
+ 42, 42, 42, 94, 25, 31, 41, 71, 437, 77,
110, 77, 105, 32, 78, 106, 111, 83, 33, 84,
- 430, 113, 94, 114, 429, 34, 35, 44, 44, 44,
+ 436, 113, 94, 114, 435, 34, 35, 44, 44, 44,
45, 45, 46, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 47, 45,
45, 48, 45, 45, 45, 45, 45, 45, 49, 50,
@@ -926,71 +926,71 @@ static const flex_int16_t yy_nxt[752] =
45, 69, 69, 70, 72, 69, 93, 72, 95, 101,
102, 116, 71, 71, 103, 94, 71, 73, 95, 104,
- 73, 124, 141, 142, 90, 117, 71, 95, 428, 71,
+ 73, 124, 141, 142, 90, 117, 71, 95, 434, 71,
93, 71, 71, 125, 94, 71, 45, 95, 149, 45,
159, 150, 160, 97, 124, 71, 45, 45, 71, 121,
- 45, 122, 45, 91, 45, 45, 125, 45, 427, 45,
+ 45, 122, 45, 91, 45, 45, 125, 45, 433, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 69, 126, 70, 45, 77, 124, 77,
45, 69, 78, 72, 71, 125, 126, 163, 45, 89,
133, 45, 71, 45, 98, 134, 89, 135, 126, 168,
- 168, 127, 169, 71, 169, 164, 176, 380, 128, 170,
+ 168, 127, 169, 71, 169, 164, 176, 384, 128, 170,
129, 71, 170, 195, 133, 295, 196, 209, 89, 134,
296, 135, 89, 168, 171, 169, 89, 172, 170, 209,
- 176, 173, 233, 330, 89, 426, 209, 89, 331, 89,
- 89, 138, 234, 425, 424, 423, 297, 422, 210, 139,
- 421, 381, 420, 419, 139, 139, 139, 139, 139, 139,
- 418, 417, 416, 415, 414, 413, 412, 411, 410, 409,
- 408, 407, 406, 139, 139, 139, 139, 139, 139, 179,
- 405, 404, 403, 402, 179, 179, 179, 179, 179, 179,
- 401, 400, 399, 398, 397, 396, 395, 394, 393, 392,
- 391, 390, 389, 179, 179, 179, 179, 179, 179, 214,
-
- 388, 387, 386, 385, 214, 214, 214, 214, 214, 214,
- 384, 383, 382, 379, 378, 377, 376, 375, 374, 373,
- 372, 371, 370, 214, 214, 214, 214, 214, 214, 45,
- 369, 368, 367, 366, 45, 45, 45, 45, 45, 45,
- 365, 364, 363, 362, 361, 360, 359, 358, 357, 356,
- 355, 354, 353, 45, 45, 45, 45, 45, 45, 12,
- 12, 12, 36, 36, 36, 68, 352, 68, 89, 89,
- 89, 96, 96, 96, 123, 351, 123, 136, 136, 136,
- 350, 349, 348, 347, 346, 345, 344, 343, 342, 341,
- 340, 339, 338, 337, 336, 335, 334, 333, 332, 329,
-
- 328, 327, 326, 325, 324, 323, 322, 321, 320, 319,
- 318, 317, 316, 315, 314, 313, 312, 311, 310, 309,
- 308, 307, 306, 305, 304, 303, 302, 301, 300, 299,
- 298, 294, 293, 292, 291, 290, 289, 288, 287, 286,
- 285, 284, 283, 282, 281, 280, 279, 278, 277, 276,
- 275, 274, 273, 272, 271, 270, 269, 268, 267, 266,
- 265, 264, 263, 262, 261, 260, 259, 258, 257, 256,
- 255, 254, 253, 252, 251, 250, 249, 248, 247, 246,
- 245, 244, 243, 242, 241, 240, 239, 238, 237, 236,
- 235, 232, 231, 230, 229, 228, 227, 226, 225, 224,
-
- 223, 222, 221, 220, 219, 218, 217, 216, 215, 213,
- 212, 211, 208, 207, 206, 205, 204, 203, 202, 201,
- 200, 199, 198, 197, 194, 193, 192, 191, 190, 189,
- 188, 187, 186, 185, 184, 183, 182, 181, 180, 137,
- 178, 177, 175, 174, 167, 166, 165, 162, 161, 158,
- 157, 156, 155, 154, 153, 152, 151, 148, 147, 146,
- 145, 144, 143, 140, 137, 132, 131, 130, 78, 78,
- 118, 115, 112, 109, 108, 107, 100, 99, 92, 43,
- 88, 86, 85, 76, 43, 433, 11, 433, 433, 433,
- 433, 433, 433, 433, 433, 433, 433, 433, 433, 433,
-
- 433, 433, 433, 433, 433, 433, 433, 433, 433, 433,
- 433, 433, 433, 433, 433, 433, 433, 433, 433, 433,
- 433, 433, 433, 433, 433, 433, 433, 433, 433, 433,
- 433, 433, 433, 433, 433, 433, 433, 433, 433, 433,
- 433, 433, 433, 433, 433, 433, 433, 433, 433, 433,
- 433
+ 176, 173, 233, 301, 89, 432, 209, 89, 302, 89,
+ 89, 138, 234, 431, 430, 332, 297, 429, 210, 139,
+ 333, 385, 428, 427, 139, 139, 139, 139, 139, 139,
+ 426, 425, 424, 423, 422, 421, 420, 419, 418, 417,
+ 416, 415, 414, 139, 139, 139, 139, 139, 139, 179,
+ 413, 412, 411, 410, 179, 179, 179, 179, 179, 179,
+ 409, 408, 407, 406, 405, 404, 403, 402, 401, 400,
+ 399, 398, 397, 179, 179, 179, 179, 179, 179, 214,
+
+ 396, 395, 394, 393, 214, 214, 214, 214, 214, 214,
+ 392, 391, 390, 389, 388, 387, 386, 383, 382, 381,
+ 380, 379, 378, 214, 214, 214, 214, 214, 214, 45,
+ 377, 376, 375, 374, 45, 45, 45, 45, 45, 45,
+ 373, 372, 371, 370, 369, 368, 367, 366, 365, 364,
+ 363, 362, 361, 45, 45, 45, 45, 45, 45, 12,
+ 12, 12, 36, 36, 36, 68, 360, 68, 89, 89,
+ 89, 96, 96, 96, 123, 359, 123, 136, 136, 136,
+ 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, 331, 330, 329, 328, 327,
+ 326, 325, 324, 323, 322, 321, 320, 319, 318, 317,
+ 316, 315, 314, 313, 312, 311, 310, 309, 308, 307,
+ 306, 305, 304, 303, 300, 299, 298, 294, 293, 292,
+ 291, 290, 289, 288, 287, 286, 285, 284, 283, 282,
+ 281, 280, 279, 278, 277, 276, 275, 274, 273, 272,
+ 271, 270, 269, 268, 267, 266, 265, 264, 263, 262,
+ 261, 260, 259, 258, 257, 256, 255, 254, 253, 252,
+ 251, 250, 249, 248, 247, 246, 245, 244, 243, 242,
+ 241, 240, 239, 238, 237, 236, 235, 232, 231, 230,
+
+ 229, 228, 227, 226, 225, 224, 223, 222, 221, 220,
+ 219, 218, 217, 216, 215, 213, 212, 211, 208, 207,
+ 206, 205, 204, 203, 202, 201, 200, 199, 198, 197,
+ 194, 193, 192, 191, 190, 189, 188, 187, 186, 185,
+ 184, 183, 182, 181, 180, 137, 178, 177, 175, 174,
+ 167, 166, 165, 162, 161, 158, 157, 156, 155, 154,
+ 153, 152, 151, 148, 147, 146, 145, 144, 143, 140,
+ 137, 132, 131, 130, 78, 78, 118, 115, 112, 109,
+ 108, 107, 100, 99, 92, 43, 88, 86, 85, 76,
+ 43, 439, 11, 439, 439, 439, 439, 439, 439, 439,
+
+ 439, 439, 439, 439, 439, 439, 439, 439, 439, 439,
+ 439, 439, 439, 439, 439, 439, 439, 439, 439, 439,
+ 439, 439, 439, 439, 439, 439, 439, 439, 439, 439,
+ 439, 439, 439, 439, 439, 439, 439, 439, 439, 439,
+ 439, 439, 439, 439, 439, 439, 439, 439, 439, 439,
+ 439, 439, 439, 439, 439, 439, 439
} ;
-static const flex_int16_t yy_chk[752] =
+static const flex_int16_t yy_chk[758] =
{ 0,
- 437, 1, 1, 1, 0, 1, 1, 431, 1, 1,
+ 443, 1, 1, 1, 0, 1, 1, 437, 1, 1,
1, 1, 1, 1, 1, 1, 21, 0, 3, 3,
3, 21, 1, 1, 3, 13, 1, 13, 4, 4,
4, 1, 44, 1, 4, 1, 5, 5, 5, 26,
@@ -1001,9 +1001,9 @@ static const flex_int16_t yy_chk[752] =
5, 9, 9, 9, 28, 2, 2, 6, 20, 2,
10, 10, 10, 32, 2, 33, 2, 9, 2, 37,
- 42, 37, 42, 49, 2, 2, 10, 20, 430, 25,
+ 42, 37, 42, 49, 2, 2, 10, 20, 436, 25,
59, 25, 55, 2, 25, 55, 59, 32, 2, 33,
- 428, 61, 49, 61, 425, 2, 2, 15, 15, 15,
+ 434, 61, 49, 61, 431, 2, 2, 15, 15, 15,
15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
@@ -1013,66 +1013,66 @@ static const flex_int16_t yy_chk[752] =
15, 17, 19, 17, 19, 22, 48, 22, 50, 54,
54, 63, 17, 19, 54, 66, 22, 69, 67, 54,
- 73, 79, 100, 100, 89, 63, 69, 50, 424, 73,
+ 73, 79, 100, 100, 89, 63, 69, 50, 430, 73,
48, 17, 19, 80, 66, 22, 45, 67, 107, 45,
116, 107, 116, 51, 79, 69, 45, 45, 73, 66,
- 51, 67, 45, 89, 45, 45, 80, 45, 422, 45,
+ 51, 67, 45, 89, 45, 45, 80, 45, 428, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 51, 70, 81, 70, 51, 71, 82, 71,
51, 72, 71, 72, 70, 83, 84, 119, 51, 91,
93, 51, 72, 51, 51, 94, 91, 95, 81, 124,
- 127, 82, 125, 70, 128, 119, 133, 362, 83, 126,
+ 127, 82, 125, 70, 128, 119, 133, 365, 83, 126,
84, 72, 129, 155, 93, 266, 155, 168, 91, 94,
266, 95, 91, 124, 127, 125, 91, 128, 126, 171,
- 133, 129, 198, 303, 91, 421, 168, 91, 303, 91,
- 91, 98, 198, 420, 419, 418, 266, 415, 171, 98,
- 414, 362, 412, 410, 98, 98, 98, 98, 98, 98,
- 408, 407, 404, 403, 402, 401, 400, 399, 397, 395,
- 394, 393, 392, 98, 98, 98, 98, 98, 98, 139,
- 391, 390, 388, 387, 139, 139, 139, 139, 139, 139,
- 386, 383, 382, 381, 380, 379, 377, 376, 375, 373,
- 372, 371, 370, 139, 139, 139, 139, 139, 139, 179,
-
- 369, 368, 367, 366, 179, 179, 179, 179, 179, 179,
- 365, 364, 363, 361, 360, 359, 358, 356, 355, 354,
- 353, 351, 350, 179, 179, 179, 179, 179, 179, 214,
- 349, 348, 347, 346, 214, 214, 214, 214, 214, 214,
- 344, 342, 341, 340, 339, 338, 337, 336, 335, 333,
- 332, 331, 330, 214, 214, 214, 214, 214, 214, 434,
- 434, 434, 435, 435, 435, 436, 329, 436, 438, 438,
- 438, 439, 439, 439, 440, 328, 440, 441, 441, 441,
- 326, 325, 324, 323, 322, 318, 317, 316, 315, 314,
- 313, 312, 311, 310, 309, 307, 306, 305, 304, 302,
-
- 300, 299, 298, 297, 296, 294, 293, 291, 290, 289,
- 288, 287, 286, 285, 284, 283, 282, 281, 280, 279,
- 278, 277, 276, 274, 273, 272, 271, 270, 269, 268,
- 267, 265, 264, 263, 262, 261, 260, 259, 258, 257,
- 256, 255, 253, 252, 251, 250, 249, 248, 247, 246,
- 245, 244, 243, 242, 241, 240, 239, 237, 236, 235,
- 234, 233, 231, 230, 229, 228, 227, 226, 225, 224,
- 223, 222, 221, 220, 219, 218, 217, 216, 215, 212,
- 211, 208, 207, 206, 205, 204, 203, 202, 201, 200,
- 199, 197, 196, 195, 194, 193, 192, 191, 190, 189,
-
- 188, 187, 186, 185, 184, 183, 182, 181, 180, 176,
- 175, 174, 167, 166, 165, 164, 163, 162, 161, 160,
- 159, 158, 157, 156, 154, 153, 152, 151, 150, 149,
- 148, 147, 146, 145, 144, 143, 142, 141, 140, 136,
- 135, 134, 132, 130, 122, 121, 120, 118, 117, 115,
- 114, 113, 112, 111, 110, 109, 108, 106, 105, 104,
- 103, 102, 101, 99, 96, 92, 87, 86, 78, 77,
- 64, 62, 60, 58, 57, 56, 53, 52, 47, 43,
- 41, 39, 38, 24, 14, 11, 433, 433, 433, 433,
- 433, 433, 433, 433, 433, 433, 433, 433, 433, 433,
-
- 433, 433, 433, 433, 433, 433, 433, 433, 433, 433,
- 433, 433, 433, 433, 433, 433, 433, 433, 433, 433,
- 433, 433, 433, 433, 433, 433, 433, 433, 433, 433,
- 433, 433, 433, 433, 433, 433, 433, 433, 433, 433,
- 433, 433, 433, 433, 433, 433, 433, 433, 433, 433,
- 433
+ 133, 129, 198, 270, 91, 427, 168, 91, 270, 91,
+ 91, 98, 198, 426, 425, 304, 266, 424, 171, 98,
+ 304, 365, 421, 420, 98, 98, 98, 98, 98, 98,
+ 418, 416, 414, 413, 409, 408, 407, 406, 405, 404,
+ 402, 400, 399, 98, 98, 98, 98, 98, 98, 139,
+ 398, 397, 396, 395, 139, 139, 139, 139, 139, 139,
+ 394, 392, 391, 390, 387, 386, 385, 384, 383, 381,
+ 380, 379, 377, 139, 139, 139, 139, 139, 139, 179,
+
+ 376, 375, 374, 373, 179, 179, 179, 179, 179, 179,
+ 372, 371, 370, 369, 368, 367, 366, 364, 363, 362,
+ 361, 359, 358, 179, 179, 179, 179, 179, 179, 214,
+ 357, 356, 354, 353, 214, 214, 214, 214, 214, 214,
+ 352, 351, 350, 349, 348, 346, 344, 343, 342, 341,
+ 340, 339, 338, 214, 214, 214, 214, 214, 214, 440,
+ 440, 440, 441, 441, 441, 442, 337, 442, 444, 444,
+ 444, 445, 445, 445, 446, 335, 446, 447, 447, 447,
+ 334, 333, 332, 331, 330, 329, 327, 326, 325, 324,
+ 323, 319, 318, 317, 316, 315, 314, 313, 312, 311,
+
+ 310, 308, 307, 306, 305, 303, 302, 300, 299, 298,
+ 297, 296, 294, 293, 291, 290, 289, 288, 287, 286,
+ 285, 284, 283, 282, 281, 280, 279, 278, 277, 276,
+ 274, 273, 272, 271, 269, 268, 267, 265, 264, 263,
+ 262, 261, 260, 259, 258, 257, 256, 255, 253, 252,
+ 251, 250, 249, 248, 247, 246, 245, 244, 243, 242,
+ 241, 240, 239, 237, 236, 235, 234, 233, 231, 230,
+ 229, 228, 227, 226, 225, 224, 223, 222, 221, 220,
+ 219, 218, 217, 216, 215, 212, 211, 208, 207, 206,
+ 205, 204, 203, 202, 201, 200, 199, 197, 196, 195,
+
+ 194, 193, 192, 191, 190, 189, 188, 187, 186, 185,
+ 184, 183, 182, 181, 180, 176, 175, 174, 167, 166,
+ 165, 164, 163, 162, 161, 160, 159, 158, 157, 156,
+ 154, 153, 152, 151, 150, 149, 148, 147, 146, 145,
+ 144, 143, 142, 141, 140, 136, 135, 134, 132, 130,
+ 122, 121, 120, 118, 117, 115, 114, 113, 112, 111,
+ 110, 109, 108, 106, 105, 104, 103, 102, 101, 99,
+ 96, 92, 87, 86, 78, 77, 64, 62, 60, 58,
+ 57, 56, 53, 52, 47, 43, 41, 39, 38, 24,
+ 14, 11, 439, 439, 439, 439, 439, 439, 439, 439,
+
+ 439, 439, 439, 439, 439, 439, 439, 439, 439, 439,
+ 439, 439, 439, 439, 439, 439, 439, 439, 439, 439,
+ 439, 439, 439, 439, 439, 439, 439, 439, 439, 439,
+ 439, 439, 439, 439, 439, 439, 439, 439, 439, 439,
+ 439, 439, 439, 439, 439, 439, 439, 439, 439, 439,
+ 439, 439, 439, 439, 439, 439, 439
} ;
static yy_state_type yy_last_accepting_state;
@@ -1081,15 +1081,15 @@ static char *yy_last_accepting_cpos;
extern int yy_flex_debug;
int yy_flex_debug = 1;
-static const flex_int16_t yy_rule_linenum[69] =
+static const flex_int16_t yy_rule_linenum[70] =
{ 0,
137, 139, 141, 146, 147, 152, 153, 154, 166, 169,
174, 180, 189, 200, 211, 220, 229, 238, 248, 258,
268, 285, 302, 311, 320, 330, 342, 352, 363, 372,
- 382, 392, 402, 411, 420, 429, 438, 447, 456, 465,
- 474, 483, 492, 501, 510, 519, 528, 541, 550, 559,
- 660, 676, 725, 733, 748, 749, 750, 751, 752, 753,
- 755, 773, 786, 791, 795, 797, 799, 801
+ 382, 392, 402, 412, 421, 430, 439, 448, 457, 466,
+ 475, 484, 493, 502, 511, 520, 529, 538, 551, 560,
+ 569, 670, 686, 735, 743, 758, 759, 760, 761, 762,
+ 763, 765, 783, 796, 801, 805, 807, 809, 811
} ;
/* The intent behind this definition is that it'll catch
@@ -1101,7 +1101,7 @@ static const flex_int16_t yy_rule_linenum[69] =
#define YY_RESTORE_YY_MORE_OFFSET
char *yytext;
#line 1 "d2_lexer.ll"
-/* Copyright (C) 2017-2023 Internet Systems Consortium, Inc. ("ISC")
+/* Copyright (C) 2017-2024 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
@@ -1518,13 +1518,13 @@ yy_match:
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 >= 434 )
+ if ( yy_current_state >= 440 )
yy_c = yy_meta[yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
++yy_cp;
}
- while ( yy_current_state != 433 );
+ while ( yy_current_state != 439 );
yy_cp = (yy_last_accepting_cpos);
yy_current_state = (yy_last_accepting_state);
@@ -1543,13 +1543,13 @@ do_action: /* This label is used only to access EOF actions. */
{
if ( yy_act == 0 )
fprintf( stderr, "--scanner backing up\n" );
- else if ( yy_act < 69 )
+ else if ( yy_act < 70 )
fprintf( stderr, "--accepting rule at line %ld (\"%s\")\n",
(long)yy_rule_linenum[yy_act], yytext );
- else if ( yy_act == 69 )
+ else if ( yy_act == 70 )
fprintf( stderr, "--accepting default rule (\"%s\")\n",
yytext );
- else if ( yy_act == 70 )
+ else if ( yy_act == 71 )
fprintf( stderr, "--(end of buffer or a NUL)\n" );
else
fprintf( stderr, "--EOF (start condition %d)\n", YY_START );
@@ -1942,6 +1942,19 @@ YY_RULE_SETUP
#line 402 "d2_lexer.ll"
{
switch(driver.ctx_) {
+ case isc::d2::D2ParserContext::TSIG_KEY:
+ case isc::d2::D2ParserContext::TSIG_KEYS:
+ return isc::d2::D2Parser::make_SECRET_FILE(driver.loc_);
+ default:
+ return isc::d2::D2Parser::make_STRING("secret-file", driver.loc_);
+ }
+}
+ YY_BREAK
+case 34:
+YY_RULE_SETUP
+#line 412 "d2_lexer.ll"
+{
+ switch(driver.ctx_) {
case isc::d2::D2ParserContext::DHCPDDNS:
return isc::d2::D2Parser::make_CONTROL_SOCKET(driver.loc_);
default:
@@ -1949,9 +1962,9 @@ YY_RULE_SETUP
}
}
YY_BREAK
-case 34:
+case 35:
YY_RULE_SETUP
-#line 411 "d2_lexer.ll"
+#line 421 "d2_lexer.ll"
{
switch(driver.ctx_) {
case isc::d2::D2ParserContext::CONTROL_SOCKET:
@@ -1961,9 +1974,9 @@ YY_RULE_SETUP
}
}
YY_BREAK
-case 35:
+case 36:
YY_RULE_SETUP
-#line 420 "d2_lexer.ll"
+#line 430 "d2_lexer.ll"
{
switch(driver.ctx_) {
case isc::d2::D2ParserContext::CONTROL_SOCKET:
@@ -1973,9 +1986,9 @@ YY_RULE_SETUP
}
}
YY_BREAK
-case 36:
+case 37:
YY_RULE_SETUP
-#line 429 "d2_lexer.ll"
+#line 439 "d2_lexer.ll"
{
switch(driver.ctx_) {
case isc::d2::D2ParserContext::DHCPDDNS:
@@ -1985,9 +1998,9 @@ YY_RULE_SETUP
}
}
YY_BREAK
-case 37:
+case 38:
YY_RULE_SETUP
-#line 438 "d2_lexer.ll"
+#line 448 "d2_lexer.ll"
{
switch(driver.ctx_) {
case isc::d2::D2ParserContext::HOOKS_LIBRARIES:
@@ -1997,9 +2010,9 @@ YY_RULE_SETUP
}
}
YY_BREAK
-case 38:
+case 39:
YY_RULE_SETUP
-#line 447 "d2_lexer.ll"
+#line 457 "d2_lexer.ll"
{
switch(driver.ctx_) {
case isc::d2::D2ParserContext::HOOKS_LIBRARIES:
@@ -2009,9 +2022,9 @@ YY_RULE_SETUP
}
}
YY_BREAK
-case 39:
+case 40:
YY_RULE_SETUP
-#line 456 "d2_lexer.ll"
+#line 466 "d2_lexer.ll"
{
switch(driver.ctx_) {
case isc::d2::D2ParserContext::DHCPDDNS:
@@ -2021,9 +2034,9 @@ YY_RULE_SETUP
}
}
YY_BREAK
-case 40:
+case 41:
YY_RULE_SETUP
-#line 465 "d2_lexer.ll"
+#line 475 "d2_lexer.ll"
{
switch(driver.ctx_) {
case isc::d2::D2ParserContext::LOGGERS:
@@ -2033,9 +2046,9 @@ YY_RULE_SETUP
}
}
YY_BREAK
-case 41:
+case 42:
YY_RULE_SETUP
-#line 474 "d2_lexer.ll"
+#line 484 "d2_lexer.ll"
{
switch(driver.ctx_) {
case isc::d2::D2ParserContext::LOGGERS:
@@ -2045,9 +2058,9 @@ YY_RULE_SETUP
}
}
YY_BREAK
-case 42:
+case 43:
YY_RULE_SETUP
-#line 483 "d2_lexer.ll"
+#line 493 "d2_lexer.ll"
{
switch(driver.ctx_) {
case isc::d2::D2ParserContext::OUTPUT_OPTIONS:
@@ -2057,9 +2070,9 @@ YY_RULE_SETUP
}
}
YY_BREAK
-case 43:
+case 44:
YY_RULE_SETUP
-#line 492 "d2_lexer.ll"
+#line 502 "d2_lexer.ll"
{
switch(driver.ctx_) {
case isc::d2::D2ParserContext::OUTPUT_OPTIONS:
@@ -2069,9 +2082,9 @@ YY_RULE_SETUP
}
}
YY_BREAK
-case 44:
+case 45:
YY_RULE_SETUP
-#line 501 "d2_lexer.ll"
+#line 511 "d2_lexer.ll"
{
switch(driver.ctx_) {
case isc::d2::D2ParserContext::OUTPUT_OPTIONS:
@@ -2081,9 +2094,9 @@ YY_RULE_SETUP
}
}
YY_BREAK
-case 45:
+case 46:
YY_RULE_SETUP
-#line 510 "d2_lexer.ll"
+#line 520 "d2_lexer.ll"
{
switch(driver.ctx_) {
case isc::d2::D2ParserContext::OUTPUT_OPTIONS:
@@ -2093,9 +2106,9 @@ YY_RULE_SETUP
}
}
YY_BREAK
-case 46:
+case 47:
YY_RULE_SETUP
-#line 519 "d2_lexer.ll"
+#line 529 "d2_lexer.ll"
{
switch(driver.ctx_) {
case isc::d2::D2ParserContext::OUTPUT_OPTIONS:
@@ -2105,9 +2118,9 @@ YY_RULE_SETUP
}
}
YY_BREAK
-case 47:
+case 48:
YY_RULE_SETUP
-#line 528 "d2_lexer.ll"
+#line 538 "d2_lexer.ll"
{
switch(driver.ctx_) {
case isc::d2::D2ParserContext::LOGGERS:
@@ -2121,9 +2134,9 @@ YY_RULE_SETUP
}
}
YY_BREAK
-case 48:
+case 49:
YY_RULE_SETUP
-#line 541 "d2_lexer.ll"
+#line 551 "d2_lexer.ll"
{
switch(driver.ctx_) {
case isc::d2::D2ParserContext::LOGGERS:
@@ -2133,9 +2146,9 @@ YY_RULE_SETUP
}
}
YY_BREAK
-case 49:
+case 50:
YY_RULE_SETUP
-#line 550 "d2_lexer.ll"
+#line 560 "d2_lexer.ll"
{
switch(driver.ctx_) {
case isc::d2::D2ParserContext::LOGGERS:
@@ -2145,9 +2158,9 @@ YY_RULE_SETUP
}
}
YY_BREAK
-case 50:
+case 51:
YY_RULE_SETUP
-#line 559 "d2_lexer.ll"
+#line 569 "d2_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.
@@ -2249,10 +2262,10 @@ YY_RULE_SETUP
return isc::d2::D2Parser::make_STRING(decoded, driver.loc_);
}
YY_BREAK
-case 51:
-/* rule 51 can match eol */
+case 52:
+/* rule 52 can match eol */
YY_RULE_SETUP
-#line 660 "d2_lexer.ll"
+#line 670 "d2_lexer.ll"
{
/* Bad string with a forbidden control character inside */
std::string raw(yytext+1);
@@ -2269,10 +2282,10 @@ YY_RULE_SETUP
pos + 1);
}
YY_BREAK
-case 52:
-/* rule 52 can match eol */
+case 53:
+/* rule 53 can match eol */
YY_RULE_SETUP
-#line 676 "d2_lexer.ll"
+#line 686 "d2_lexer.ll"
{
/* Bad string with a bad escape inside */
std::string raw(yytext+1);
@@ -2322,9 +2335,9 @@ YY_RULE_SETUP
pos);
}
YY_BREAK
-case 53:
+case 54:
YY_RULE_SETUP
-#line 725 "d2_lexer.ll"
+#line 735 "d2_lexer.ll"
{
/* Bad string with an open escape at the end */
std::string raw(yytext+1);
@@ -2333,9 +2346,9 @@ YY_RULE_SETUP
raw.size() + 1);
}
YY_BREAK
-case 54:
+case 55:
YY_RULE_SETUP
-#line 733 "d2_lexer.ll"
+#line 743 "d2_lexer.ll"
{
/* Bad string with an open unicode escape at the end */
std::string raw(yytext+1);
@@ -2351,39 +2364,39 @@ YY_RULE_SETUP
pos + 1);
}
YY_BREAK
-case 55:
+case 56:
YY_RULE_SETUP
-#line 748 "d2_lexer.ll"
+#line 758 "d2_lexer.ll"
{ return isc::d2::D2Parser::make_LSQUARE_BRACKET(driver.loc_); }
YY_BREAK
-case 56:
+case 57:
YY_RULE_SETUP
-#line 749 "d2_lexer.ll"
+#line 759 "d2_lexer.ll"
{ return isc::d2::D2Parser::make_RSQUARE_BRACKET(driver.loc_); }
YY_BREAK
-case 57:
+case 58:
YY_RULE_SETUP
-#line 750 "d2_lexer.ll"
+#line 760 "d2_lexer.ll"
{ return isc::d2::D2Parser::make_LCURLY_BRACKET(driver.loc_); }
YY_BREAK
-case 58:
+case 59:
YY_RULE_SETUP
-#line 751 "d2_lexer.ll"
+#line 761 "d2_lexer.ll"
{ return isc::d2::D2Parser::make_RCURLY_BRACKET(driver.loc_); }
YY_BREAK
-case 59:
+case 60:
YY_RULE_SETUP
-#line 752 "d2_lexer.ll"
+#line 762 "d2_lexer.ll"
{ return isc::d2::D2Parser::make_COMMA(driver.loc_); }
YY_BREAK
-case 60:
+case 61:
YY_RULE_SETUP
-#line 753 "d2_lexer.ll"
+#line 763 "d2_lexer.ll"
{ return isc::d2::D2Parser::make_COLON(driver.loc_); }
YY_BREAK
-case 61:
+case 62:
YY_RULE_SETUP
-#line 755 "d2_lexer.ll"
+#line 765 "d2_lexer.ll"
{
/* An integer was found. */
std::string tmp(yytext);
@@ -2402,9 +2415,9 @@ YY_RULE_SETUP
return isc::d2::D2Parser::make_INTEGER(integer, driver.loc_);
}
YY_BREAK
-case 62:
+case 63:
YY_RULE_SETUP
-#line 773 "d2_lexer.ll"
+#line 783 "d2_lexer.ll"
{
/* A floating point was found. */
std::string tmp(yytext);
@@ -2418,43 +2431,43 @@ YY_RULE_SETUP
return isc::d2::D2Parser::make_FLOAT(fp, driver.loc_);
}
YY_BREAK
-case 63:
+case 64:
YY_RULE_SETUP
-#line 786 "d2_lexer.ll"
+#line 796 "d2_lexer.ll"
{
string tmp(yytext);
return isc::d2::D2Parser::make_BOOLEAN(tmp == "true", driver.loc_);
}
YY_BREAK
-case 64:
+case 65:
YY_RULE_SETUP
-#line 791 "d2_lexer.ll"
+#line 801 "d2_lexer.ll"
{
return isc::d2::D2Parser::make_NULL_TYPE(driver.loc_);
}
YY_BREAK
-case 65:
+case 66:
YY_RULE_SETUP
-#line 795 "d2_lexer.ll"
+#line 805 "d2_lexer.ll"
driver.error (driver.loc_, "JSON true reserved keyword is lower case only");
YY_BREAK
-case 66:
+case 67:
YY_RULE_SETUP
-#line 797 "d2_lexer.ll"
+#line 807 "d2_lexer.ll"
driver.error (driver.loc_, "JSON false reserved keyword is lower case only");
YY_BREAK
-case 67:
+case 68:
YY_RULE_SETUP
-#line 799 "d2_lexer.ll"
+#line 809 "d2_lexer.ll"
driver.error (driver.loc_, "JSON null reserved keyword is lower case only");
YY_BREAK
-case 68:
+case 69:
YY_RULE_SETUP
-#line 801 "d2_lexer.ll"
+#line 811 "d2_lexer.ll"
driver.error (driver.loc_, "Invalid character: " + std::string(yytext));
YY_BREAK
case YY_STATE_EOF(INITIAL):
-#line 803 "d2_lexer.ll"
+#line 813 "d2_lexer.ll"
{
if (driver.states_.empty()) {
return isc::d2::D2Parser::make_END(driver.loc_);
@@ -2478,12 +2491,12 @@ case YY_STATE_EOF(INITIAL):
BEGIN(DIR_EXIT);
}
YY_BREAK
-case 69:
+case 70:
YY_RULE_SETUP
-#line 826 "d2_lexer.ll"
+#line 836 "d2_lexer.ll"
ECHO;
YY_BREAK
-#line 2486 "d2_lexer.cc"
+#line 2499 "d2_lexer.cc"
case YY_END_OF_BUFFER:
{
@@ -2802,7 +2815,7 @@ static int yy_get_next_buffer (void)
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 >= 434 )
+ if ( yy_current_state >= 440 )
yy_c = yy_meta[yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
@@ -2835,11 +2848,11 @@ static int yy_get_next_buffer (void)
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 >= 434 )
+ if ( yy_current_state >= 440 )
yy_c = yy_meta[yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
- yy_is_jam = (yy_current_state == 433);
+ yy_is_jam = (yy_current_state == 439);
return yy_is_jam ? 0 : yy_current_state;
}
@@ -3588,7 +3601,7 @@ void yyfree (void * ptr )
/* %ok-for-header */
-#line 826 "d2_lexer.ll"
+#line 836 "d2_lexer.ll"
using namespace isc::dhcp;
diff --git a/src/bin/d2/d2_parser.cc b/src/bin/d2/d2_parser.cc
index 91ba8048fe..91d2c6bb8f 100644
--- a/src/bin/d2/d2_parser.cc
+++ b/src/bin/d2/d2_parser.cc
@@ -383,43 +383,43 @@ namespace isc { namespace d2 {
switch (yykind)
{
case symbol_kind::S_STRING: // "constant string"
-#line 121 "d2_parser.yy"
+#line 122 "d2_parser.yy"
{ yyoutput << yysym.value.template as < std::string > (); }
#line 389 "d2_parser.cc"
break;
case symbol_kind::S_INTEGER: // "integer"
-#line 121 "d2_parser.yy"
+#line 122 "d2_parser.yy"
{ yyoutput << yysym.value.template as < int64_t > (); }
#line 395 "d2_parser.cc"
break;
case symbol_kind::S_FLOAT: // "floating point"
-#line 121 "d2_parser.yy"
+#line 122 "d2_parser.yy"
{ yyoutput << yysym.value.template as < double > (); }
#line 401 "d2_parser.cc"
break;
case symbol_kind::S_BOOLEAN: // "boolean"
-#line 121 "d2_parser.yy"
+#line 122 "d2_parser.yy"
{ yyoutput << yysym.value.template as < bool > (); }
#line 407 "d2_parser.cc"
break;
case symbol_kind::S_value: // value
-#line 121 "d2_parser.yy"
+#line 122 "d2_parser.yy"
{ yyoutput << yysym.value.template as < ElementPtr > (); }
#line 413 "d2_parser.cc"
break;
case symbol_kind::S_map_value: // map_value
-#line 121 "d2_parser.yy"
+#line 122 "d2_parser.yy"
{ yyoutput << yysym.value.template as < ElementPtr > (); }
#line 419 "d2_parser.cc"
break;
case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value
-#line 121 "d2_parser.yy"
+#line 122 "d2_parser.yy"
{ yyoutput << yysym.value.template as < ElementPtr > (); }
#line 425 "d2_parser.cc"
break;
@@ -694,109 +694,109 @@ namespace isc { namespace d2 {
switch (yyn)
{
case 2: // $@1: %empty
-#line 130 "d2_parser.yy"
+#line 131 "d2_parser.yy"
{ ctx.ctx_ = ctx.NO_KEYWORD; }
#line 700 "d2_parser.cc"
break;
case 4: // $@2: %empty
-#line 131 "d2_parser.yy"
+#line 132 "d2_parser.yy"
{ ctx.ctx_ = ctx.CONFIG; }
#line 706 "d2_parser.cc"
break;
case 6: // $@3: %empty
-#line 132 "d2_parser.yy"
+#line 133 "d2_parser.yy"
{ ctx.ctx_ = ctx.DHCPDDNS; }
#line 712 "d2_parser.cc"
break;
case 8: // $@4: %empty
-#line 133 "d2_parser.yy"
+#line 134 "d2_parser.yy"
{ ctx.ctx_ = ctx.TSIG_KEY; }
#line 718 "d2_parser.cc"
break;
case 10: // $@5: %empty
-#line 134 "d2_parser.yy"
+#line 135 "d2_parser.yy"
{ ctx.ctx_ = ctx.TSIG_KEYS; }
#line 724 "d2_parser.cc"
break;
case 12: // $@6: %empty
-#line 135 "d2_parser.yy"
+#line 136 "d2_parser.yy"
{ ctx.ctx_ = ctx.DDNS_DOMAIN; }
#line 730 "d2_parser.cc"
break;
case 14: // $@7: %empty
-#line 136 "d2_parser.yy"
+#line 137 "d2_parser.yy"
{ ctx.ctx_ = ctx.DDNS_DOMAINS; }
#line 736 "d2_parser.cc"
break;
case 16: // $@8: %empty
-#line 137 "d2_parser.yy"
+#line 138 "d2_parser.yy"
{ ctx.ctx_ = ctx.DNS_SERVERS; }
#line 742 "d2_parser.cc"
break;
case 18: // $@9: %empty
-#line 138 "d2_parser.yy"
+#line 139 "d2_parser.yy"
{ ctx.ctx_ = ctx.DNS_SERVERS; }
#line 748 "d2_parser.cc"
break;
case 20: // $@10: %empty
-#line 139 "d2_parser.yy"
+#line 140 "d2_parser.yy"
{ ctx.ctx_ = ctx.HOOKS_LIBRARIES; }
#line 754 "d2_parser.cc"
break;
case 22: // value: "integer"
-#line 147 "d2_parser.yy"
+#line 148 "d2_parser.yy"
{ yylhs.value.as < ElementPtr > () = ElementPtr(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); }
#line 760 "d2_parser.cc"
break;
case 23: // value: "floating point"
-#line 148 "d2_parser.yy"
+#line 149 "d2_parser.yy"
{ yylhs.value.as < ElementPtr > () = ElementPtr(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location))); }
#line 766 "d2_parser.cc"
break;
case 24: // value: "boolean"
-#line 149 "d2_parser.yy"
+#line 150 "d2_parser.yy"
{ yylhs.value.as < ElementPtr > () = ElementPtr(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); }
#line 772 "d2_parser.cc"
break;
case 25: // value: "constant string"
-#line 150 "d2_parser.yy"
+#line 151 "d2_parser.yy"
{ yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); }
#line 778 "d2_parser.cc"
break;
case 26: // value: "null"
-#line 151 "d2_parser.yy"
+#line 152 "d2_parser.yy"
{ yylhs.value.as < ElementPtr > () = ElementPtr(new NullElement(ctx.loc2pos(yystack_[0].location))); }
#line 784 "d2_parser.cc"
break;
case 27: // value: map2
-#line 152 "d2_parser.yy"
+#line 153 "d2_parser.yy"
{ yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); }
#line 790 "d2_parser.cc"
break;
case 28: // value: list_generic
-#line 153 "d2_parser.yy"
+#line 154 "d2_parser.yy"
{ yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); }
#line 796 "d2_parser.cc"
break;
case 29: // sub_json: value
-#line 156 "d2_parser.yy"
+#line 157 "d2_parser.yy"
{
// Push back the JSON value on the stack
ctx.stack_.push_back(yystack_[0].value.as < ElementPtr > ());
@@ -805,7 +805,7 @@ namespace isc { namespace d2 {
break;
case 30: // $@11: %empty
-#line 161 "d2_parser.yy"
+#line 162 "d2_parser.yy"
{
// This code is executed when we're about to start parsing
// the content of the map
@@ -816,7 +816,7 @@ namespace isc { namespace d2 {
break;
case 31: // map2: "{" $@11 map_content "}"
-#line 166 "d2_parser.yy"
+#line 167 "d2_parser.yy"
{
// map parsing completed. If we ever want to do any wrap up
// (maybe some sanity checking), this would be the best place
@@ -826,13 +826,13 @@ namespace isc { namespace d2 {
break;
case 32: // map_value: map2
-#line 172 "d2_parser.yy"
+#line 173 "d2_parser.yy"
{ yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); }
#line 832 "d2_parser.cc"
break;
case 35: // not_empty_map: "constant string" ":" value
-#line 179 "d2_parser.yy"
+#line 180 "d2_parser.yy"
{
// map containing a single entry
ctx.unique(yystack_[2].value.as < std::string > (), ctx.loc2pos(yystack_[2].location));
@@ -842,7 +842,7 @@ namespace isc { namespace d2 {
break;
case 36: // not_empty_map: not_empty_map "," "constant string" ":" value
-#line 184 "d2_parser.yy"
+#line 185 "d2_parser.yy"
{
// map consisting of a shorter map followed by
// comma and string:value
@@ -853,7 +853,7 @@ namespace isc { namespace d2 {
break;
case 37: // not_empty_map: not_empty_map ","
-#line 190 "d2_parser.yy"
+#line 191 "d2_parser.yy"
{
ctx.warnAboutExtraCommas(yystack_[0].location);
}
@@ -861,7 +861,7 @@ namespace isc { namespace d2 {
break;
case 38: // $@12: %empty
-#line 195 "d2_parser.yy"
+#line 196 "d2_parser.yy"
{
ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.push_back(l);
@@ -870,7 +870,7 @@ namespace isc { namespace d2 {
break;
case 39: // list_generic: "[" $@12 list_content "]"
-#line 198 "d2_parser.yy"
+#line 199 "d2_parser.yy"
{
// list parsing complete. Put any sanity checking here
}
@@ -878,7 +878,7 @@ namespace isc { namespace d2 {
break;
case 42: // not_empty_list: value
-#line 206 "d2_parser.yy"
+#line 207 "d2_parser.yy"
{
// List consisting of a single element.
ctx.stack_.back()->add(yystack_[0].value.as < ElementPtr > ());
@@ -887,7 +887,7 @@ namespace isc { namespace d2 {
break;
case 43: // not_empty_list: not_empty_list "," value
-#line 210 "d2_parser.yy"
+#line 211 "d2_parser.yy"
{
// List ending with , and a value.
ctx.stack_.back()->add(yystack_[0].value.as < ElementPtr > ());
@@ -896,7 +896,7 @@ namespace isc { namespace d2 {
break;
case 44: // not_empty_list: not_empty_list ","
-#line 214 "d2_parser.yy"
+#line 215 "d2_parser.yy"
{
ctx.warnAboutExtraCommas(yystack_[0].location);
}
@@ -904,7 +904,7 @@ namespace isc { namespace d2 {
break;
case 45: // unknown_map_entry: "constant string" ":"
-#line 224 "d2_parser.yy"
+#line 225 "d2_parser.yy"
{
const std::string& where = ctx.contextName();
const std::string& keyword = yystack_[1].value.as < std::string > ();
@@ -915,7 +915,7 @@ namespace isc { namespace d2 {
break;
case 46: // $@13: %empty
-#line 233 "d2_parser.yy"
+#line 234 "d2_parser.yy"
{
// This code is executed when we're about to start parsing
// the content of the map
@@ -926,7 +926,7 @@ namespace isc { namespace d2 {
break;
case 47: // syntax_map: "{" $@13 global_object "}"
-#line 238 "d2_parser.yy"
+#line 239 "d2_parser.yy"
{
// map parsing completed. If we ever want to do any wrap up
// (maybe some sanity checking), this would be the best place
@@ -936,7 +936,7 @@ namespace isc { namespace d2 {
break;
case 48: // $@14: %empty
-#line 246 "d2_parser.yy"
+#line 247 "d2_parser.yy"
{
ctx.unique("DhcpDdns", ctx.loc2pos(yystack_[0].location));
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
@@ -948,7 +948,7 @@ namespace isc { namespace d2 {
break;
case 49: // global_object: "DhcpDdns" $@14 ":" "{" dhcpddns_params "}"
-#line 252 "d2_parser.yy"
+#line 253 "d2_parser.yy"
{
ctx.stack_.pop_back();
ctx.leave();
@@ -957,7 +957,7 @@ namespace isc { namespace d2 {
break;
case 51: // global_object_comma: global_object ","
-#line 259 "d2_parser.yy"
+#line 260 "d2_parser.yy"
{
ctx.warnAboutExtraCommas(yystack_[0].location);
}
@@ -965,7 +965,7 @@ namespace isc { namespace d2 {
break;
case 52: // $@15: %empty
-#line 263 "d2_parser.yy"
+#line 264 "d2_parser.yy"
{
// Parse the dhcpddns map
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
@@ -975,7 +975,7 @@ namespace isc { namespace d2 {
break;
case 53: // sub_dhcpddns: "{" $@15 dhcpddns_params "}"
-#line 267 "d2_parser.yy"
+#line 268 "d2_parser.yy"
{
// parsing completed
}
@@ -983,7 +983,7 @@ namespace isc { namespace d2 {
break;
case 56: // dhcpddns_params: dhcpddns_params ","
-#line 273 "d2_parser.yy"
+#line 274 "d2_parser.yy"
{
ctx.warnAboutExtraCommas(yystack_[0].location);
}
@@ -991,7 +991,7 @@ namespace isc { namespace d2 {
break;
case 71: // $@16: %empty
-#line 295 "d2_parser.yy"
+#line 296 "d2_parser.yy"
{
ctx.unique("ip-address", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
@@ -1000,7 +1000,7 @@ namespace isc { namespace d2 {
break;
case 72: // ip_address: "ip-address" $@16 ":" "constant string"
-#line 298 "d2_parser.yy"
+#line 299 "d2_parser.yy"
{
ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("ip-address", s);
@@ -1010,7 +1010,7 @@ namespace isc { namespace d2 {
break;
case 73: // port: "port" ":" "integer"
-#line 304 "d2_parser.yy"
+#line 305 "d2_parser.yy"
{
ctx.unique("port", ctx.loc2pos(yystack_[2].location));
if (yystack_[0].value.as < int64_t > () <= 0 || yystack_[0].value.as < int64_t > () >= 65536 ) {
@@ -1023,7 +1023,7 @@ namespace isc { namespace d2 {
break;
case 74: // dns_server_timeout: "dns-server-timeout" ":" "integer"
-#line 313 "d2_parser.yy"
+#line 314 "d2_parser.yy"
{
ctx.unique("dns-server-timeout", ctx.loc2pos(yystack_[2].location));
if (yystack_[0].value.as < int64_t > () <= 0) {
@@ -1037,7 +1037,7 @@ namespace isc { namespace d2 {
break;
case 75: // $@17: %empty
-#line 323 "d2_parser.yy"
+#line 324 "d2_parser.yy"
{
ctx.unique("ncr-protocol", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NCR_PROTOCOL);
@@ -1046,7 +1046,7 @@ namespace isc { namespace d2 {
break;
case 76: // ncr_protocol: "ncr-protocol" $@17 ":" ncr_protocol_value
-#line 326 "d2_parser.yy"
+#line 327 "d2_parser.yy"
{
ctx.stack_.back()->set("ncr-protocol", yystack_[0].value.as < ElementPtr > ());
ctx.leave();
@@ -1055,19 +1055,19 @@ namespace isc { namespace d2 {
break;
case 77: // ncr_protocol_value: "UDP"
-#line 332 "d2_parser.yy"
+#line 333 "d2_parser.yy"
{ yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("UDP", ctx.loc2pos(yystack_[0].location))); }
#line 1061 "d2_parser.cc"
break;
case 78: // ncr_protocol_value: "TCP"
-#line 333 "d2_parser.yy"
+#line 334 "d2_parser.yy"
{ yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("TCP", ctx.loc2pos(yystack_[0].location))); }
#line 1067 "d2_parser.cc"
break;
case 79: // $@18: %empty
-#line 336 "d2_parser.yy"
+#line 337 "d2_parser.yy"
{
ctx.unique("ncr-format", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NCR_FORMAT);
@@ -1076,7 +1076,7 @@ namespace isc { namespace d2 {
break;
case 80: // ncr_format: "ncr-format" $@18 ":" "JSON"
-#line 339 "d2_parser.yy"
+#line 340 "d2_parser.yy"
{
ElementPtr json(new StringElement("JSON", ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("ncr-format", json);
@@ -1086,7 +1086,7 @@ namespace isc { namespace d2 {
break;
case 81: // $@19: %empty
-#line 345 "d2_parser.yy"
+#line 346 "d2_parser.yy"
{
ctx.enter(ctx.NO_KEYWORD);
}
@@ -1094,7 +1094,7 @@ namespace isc { namespace d2 {
break;
case 82: // user_context: "user-context" $@19 ":" map_value
-#line 347 "d2_parser.yy"
+#line 348 "d2_parser.yy"
{
ElementPtr parent = ctx.stack_.back();
ElementPtr user_context = yystack_[0].value.as < ElementPtr > ();
@@ -1121,7 +1121,7 @@ namespace isc { namespace d2 {
break;
case 83: // $@20: %empty
-#line 370 "d2_parser.yy"
+#line 371 "d2_parser.yy"
{
ctx.enter(ctx.NO_KEYWORD);
}
@@ -1129,7 +1129,7 @@ namespace isc { namespace d2 {
break;
case 84: // comment: "comment" $@20 ":" "constant string"
-#line 372 "d2_parser.yy"
+#line 373 "d2_parser.yy"
{
ElementPtr parent = ctx.stack_.back();
ElementPtr user_context(new MapElement(ctx.loc2pos(yystack_[3].location)));
@@ -1158,7 +1158,7 @@ namespace isc { namespace d2 {
break;
case 85: // $@21: %empty
-#line 397 "d2_parser.yy"
+#line 398 "d2_parser.yy"
{
ctx.unique("forward-ddns", ctx.loc2pos(yystack_[0].location));
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
@@ -1170,7 +1170,7 @@ namespace isc { namespace d2 {
break;
case 86: // forward_ddns: "forward-ddns" $@21 ":" "{" ddns_mgr_params "}"
-#line 403 "d2_parser.yy"
+#line 404 "d2_parser.yy"
{
ctx.stack_.pop_back();
ctx.leave();
@@ -1179,7 +1179,7 @@ namespace isc { namespace d2 {
break;
case 87: // $@22: %empty
-#line 408 "d2_parser.yy"
+#line 409 "d2_parser.yy"
{
ctx.unique("reverse-ddns", ctx.loc2pos(yystack_[0].location));
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
@@ -1191,7 +1191,7 @@ namespace isc { namespace d2 {
break;
case 88: // reverse_ddns: "reverse-ddns" $@22 ":" "{" ddns_mgr_params "}"
-#line 414 "d2_parser.yy"
+#line 415 "d2_parser.yy"
{
ctx.stack_.pop_back();
ctx.leave();
@@ -1200,7 +1200,7 @@ namespace isc { namespace d2 {
break;
case 93: // not_empty_ddns_mgr_params: ddns_mgr_params ","
-#line 425 "d2_parser.yy"
+#line 426 "d2_parser.yy"
{
ctx.warnAboutExtraCommas(yystack_[0].location);
}
@@ -1208,7 +1208,7 @@ namespace isc { namespace d2 {
break;
case 96: // $@23: %empty
-#line 436 "d2_parser.yy"
+#line 437 "d2_parser.yy"
{
ctx.unique("ddns-domains", ctx.loc2pos(yystack_[0].location));
ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
@@ -1220,7 +1220,7 @@ namespace isc { namespace d2 {
break;
case 97: // ddns_domains: "ddns-domains" $@23 ":" "[" ddns_domain_list "]"
-#line 442 "d2_parser.yy"
+#line 443 "d2_parser.yy"
{
ctx.stack_.pop_back();
ctx.leave();
@@ -1229,7 +1229,7 @@ namespace isc { namespace d2 {
break;
case 98: // $@24: %empty
-#line 447 "d2_parser.yy"
+#line 448 "d2_parser.yy"
{
ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.push_back(l);
@@ -1238,7 +1238,7 @@ namespace isc { namespace d2 {
break;
case 99: // sub_ddns_domains: "[" $@24 ddns_domain_list "]"
-#line 450 "d2_parser.yy"
+#line 451 "d2_parser.yy"
{
// parsing completed
}
@@ -1246,7 +1246,7 @@ namespace isc { namespace d2 {
break;
case 104: // not_empty_ddns_domain_list: not_empty_ddns_domain_list ","
-#line 460 "d2_parser.yy"
+#line 461 "d2_parser.yy"
{
ctx.warnAboutExtraCommas(yystack_[0].location);
}
@@ -1254,7 +1254,7 @@ namespace isc { namespace d2 {
break;
case 105: // $@25: %empty
-#line 465 "d2_parser.yy"
+#line 466 "d2_parser.yy"
{
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(m);
@@ -1264,7 +1264,7 @@ namespace isc { namespace d2 {
break;
case 106: // ddns_domain: "{" $@25 ddns_domain_params "}"
-#line 469 "d2_parser.yy"
+#line 470 "d2_parser.yy"
{
ctx.stack_.pop_back();
}
@@ -1272,7 +1272,7 @@ namespace isc { namespace d2 {
break;
case 107: // $@26: %empty
-#line 473 "d2_parser.yy"
+#line 474 "d2_parser.yy"
{
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.push_back(m);
@@ -1281,7 +1281,7 @@ namespace isc { namespace d2 {
break;
case 108: // sub_ddns_domain: "{" $@26 ddns_domain_params "}"
-#line 476 "d2_parser.yy"
+#line 477 "d2_parser.yy"
{
// parsing completed
}
@@ -1289,7 +1289,7 @@ namespace isc { namespace d2 {
break;
case 111: // ddns_domain_params: ddns_domain_params ","
-#line 482 "d2_parser.yy"
+#line 483 "d2_parser.yy"
{
ctx.warnAboutExtraCommas(yystack_[0].location);
}
@@ -1297,7 +1297,7 @@ namespace isc { namespace d2 {
break;
case 118: // $@27: %empty
-#line 496 "d2_parser.yy"
+#line 497 "d2_parser.yy"
{
ctx.unique("name", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
@@ -1306,7 +1306,7 @@ namespace isc { namespace d2 {
break;
case 119: // ddns_domain_name: "name" $@27 ":" "constant string"
-#line 499 "d2_parser.yy"
+#line 500 "d2_parser.yy"
{
if (yystack_[0].value.as < std::string > () == "") {
error(yystack_[1].location, "Ddns domain name cannot be blank");
@@ -1320,7 +1320,7 @@ namespace isc { namespace d2 {
break;
case 120: // $@28: %empty
-#line 509 "d2_parser.yy"
+#line 510 "d2_parser.yy"
{
ctx.unique("key-name", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
@@ -1329,7 +1329,7 @@ namespace isc { namespace d2 {
break;
case 121: // ddns_key_name: "key-name" $@28 ":" "constant string"
-#line 512 "d2_parser.yy"
+#line 513 "d2_parser.yy"
{
ElementPtr elem(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)));
@@ -1340,7 +1340,7 @@ namespace isc { namespace d2 {
break;
case 122: // $@29: %empty
-#line 522 "d2_parser.yy"
+#line 523 "d2_parser.yy"
{
ctx.unique("dns-servers", ctx.loc2pos(yystack_[0].location));
ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
@@ -1352,7 +1352,7 @@ namespace isc { namespace d2 {
break;
case 123: // dns_servers: "dns-servers" $@29 ":" "[" dns_server_list "]"
-#line 528 "d2_parser.yy"
+#line 529 "d2_parser.yy"
{
ctx.stack_.pop_back();
ctx.leave();
@@ -1361,7 +1361,7 @@ namespace isc { namespace d2 {
break;
case 124: // $@30: %empty
-#line 533 "d2_parser.yy"
+#line 534 "d2_parser.yy"
{
ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.push_back(l);
@@ -1370,7 +1370,7 @@ namespace isc { namespace d2 {
break;
case 125: // sub_dns_servers: "[" $@30 dns_server_list "]"
-#line 536 "d2_parser.yy"
+#line 537 "d2_parser.yy"
{
// parsing completed
}
@@ -1378,7 +1378,7 @@ namespace isc { namespace d2 {
break;
case 128: // dns_server_list: dns_server_list ","
-#line 542 "d2_parser.yy"
+#line 543 "d2_parser.yy"
{
ctx.warnAboutExtraCommas(yystack_[0].location);
}
@@ -1386,7 +1386,7 @@ namespace isc { namespace d2 {
break;
case 129: // $@31: %empty
-#line 547 "d2_parser.yy"
+#line 548 "d2_parser.yy"
{
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(m);
@@ -1396,7 +1396,7 @@ namespace isc { namespace d2 {
break;
case 130: // dns_server: "{" $@31 dns_server_params "}"
-#line 551 "d2_parser.yy"
+#line 552 "d2_parser.yy"
{
ctx.stack_.pop_back();
}
@@ -1404,7 +1404,7 @@ namespace isc { namespace d2 {
break;
case 131: // $@32: %empty
-#line 555 "d2_parser.yy"
+#line 556 "d2_parser.yy"
{
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.push_back(m);
@@ -1413,7 +1413,7 @@ namespace isc { namespace d2 {
break;
case 132: // sub_dns_server: "{" $@32 dns_server_params "}"
-#line 558 "d2_parser.yy"
+#line 559 "d2_parser.yy"
{
// parsing completed
}
@@ -1421,7 +1421,7 @@ namespace isc { namespace d2 {
break;
case 135: // dns_server_params: dns_server_params ","
-#line 564 "d2_parser.yy"
+#line 565 "d2_parser.yy"
{
ctx.warnAboutExtraCommas(yystack_[0].location);
}
@@ -1429,7 +1429,7 @@ namespace isc { namespace d2 {
break;
case 143: // $@33: %empty
-#line 578 "d2_parser.yy"
+#line 579 "d2_parser.yy"
{
ctx.unique("hostname", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
@@ -1438,7 +1438,7 @@ namespace isc { namespace d2 {
break;
case 144: // dns_server_hostname: "hostname" $@33 ":" "constant string"
-#line 581 "d2_parser.yy"
+#line 582 "d2_parser.yy"
{
if (yystack_[0].value.as < std::string > () != "") {
error(yystack_[1].location, "hostname is not yet supported");
@@ -1452,7 +1452,7 @@ namespace isc { namespace d2 {
break;
case 145: // $@34: %empty
-#line 591 "d2_parser.yy"
+#line 592 "d2_parser.yy"
{
ctx.unique("ip-address", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
@@ -1461,7 +1461,7 @@ namespace isc { namespace d2 {
break;
case 146: // dns_server_ip_address: "ip-address" $@34 ":" "constant string"
-#line 594 "d2_parser.yy"
+#line 595 "d2_parser.yy"
{
ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("ip-address", s);
@@ -1471,7 +1471,7 @@ namespace isc { namespace d2 {
break;
case 147: // dns_server_port: "port" ":" "integer"
-#line 600 "d2_parser.yy"
+#line 601 "d2_parser.yy"
{
ctx.unique("port", ctx.loc2pos(yystack_[2].location));
if (yystack_[0].value.as < int64_t > () <= 0 || yystack_[0].value.as < int64_t > () >= 65536 ) {
@@ -1484,7 +1484,7 @@ namespace isc { namespace d2 {
break;
case 148: // $@35: %empty
-#line 615 "d2_parser.yy"
+#line 616 "d2_parser.yy"
{
ctx.unique("tsig-keys", ctx.loc2pos(yystack_[0].location));
ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
@@ -1496,7 +1496,7 @@ namespace isc { namespace d2 {
break;
case 149: // tsig_keys: "tsig-keys" $@35 ":" "[" tsig_keys_list "]"
-#line 621 "d2_parser.yy"
+#line 622 "d2_parser.yy"
{
ctx.stack_.pop_back();
ctx.leave();
@@ -1505,7 +1505,7 @@ namespace isc { namespace d2 {
break;
case 150: // $@36: %empty
-#line 626 "d2_parser.yy"
+#line 627 "d2_parser.yy"
{
ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.push_back(l);
@@ -1514,7 +1514,7 @@ namespace isc { namespace d2 {
break;
case 151: // sub_tsig_keys: "[" $@36 tsig_keys_list "]"
-#line 629 "d2_parser.yy"
+#line 630 "d2_parser.yy"
{
// parsing completed
}
@@ -1522,7 +1522,7 @@ namespace isc { namespace d2 {
break;
case 156: // not_empty_tsig_keys_list: not_empty_tsig_keys_list ","
-#line 639 "d2_parser.yy"
+#line 640 "d2_parser.yy"
{
ctx.warnAboutExtraCommas(yystack_[0].location);
}
@@ -1530,7 +1530,7 @@ namespace isc { namespace d2 {
break;
case 157: // $@37: %empty
-#line 644 "d2_parser.yy"
+#line 645 "d2_parser.yy"
{
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(m);
@@ -1540,7 +1540,7 @@ namespace isc { namespace d2 {
break;
case 158: // tsig_key: "{" $@37 tsig_key_params "}"
-#line 648 "d2_parser.yy"
+#line 649 "d2_parser.yy"
{
ctx.stack_.pop_back();
}
@@ -1548,7 +1548,7 @@ namespace isc { namespace d2 {
break;
case 159: // $@38: %empty
-#line 652 "d2_parser.yy"
+#line 653 "d2_parser.yy"
{
// Parse tsig key list entry map
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
@@ -1558,7 +1558,7 @@ namespace isc { namespace d2 {
break;
case 160: // sub_tsig_key: "{" $@38 tsig_key_params "}"
-#line 656 "d2_parser.yy"
+#line 657 "d2_parser.yy"
{
// parsing completed
}
@@ -1566,15 +1566,15 @@ namespace isc { namespace d2 {
break;
case 163: // tsig_key_params: tsig_key_params ","
-#line 663 "d2_parser.yy"
+#line 664 "d2_parser.yy"
{
ctx.warnAboutExtraCommas(yystack_[0].location);
}
#line 1574 "d2_parser.cc"
break;
- case 171: // $@39: %empty
-#line 677 "d2_parser.yy"
+ case 172: // $@39: %empty
+#line 679 "d2_parser.yy"
{
ctx.unique("name", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
@@ -1582,8 +1582,8 @@ namespace isc { namespace d2 {
#line 1583 "d2_parser.cc"
break;
- case 172: // tsig_key_name: "name" $@39 ":" "constant string"
-#line 680 "d2_parser.yy"
+ case 173: // tsig_key_name: "name" $@39 ":" "constant string"
+#line 682 "d2_parser.yy"
{
if (yystack_[0].value.as < std::string > () == "") {
error(yystack_[1].location, "TSIG key name cannot be blank");
@@ -1596,8 +1596,8 @@ namespace isc { namespace d2 {
#line 1597 "d2_parser.cc"
break;
- case 173: // $@40: %empty
-#line 690 "d2_parser.yy"
+ case 174: // $@40: %empty
+#line 692 "d2_parser.yy"
{
ctx.unique("algorithm", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
@@ -1605,8 +1605,8 @@ namespace isc { namespace d2 {
#line 1606 "d2_parser.cc"
break;
- case 174: // tsig_key_algorithm: "algorithm" $@40 ":" "constant string"
-#line 693 "d2_parser.yy"
+ case 175: // tsig_key_algorithm: "algorithm" $@40 ":" "constant string"
+#line 695 "d2_parser.yy"
{
if (yystack_[0].value.as < std::string > () == "") {
error(yystack_[1].location, "TSIG key algorithm cannot be blank");
@@ -1618,8 +1618,8 @@ namespace isc { namespace d2 {
#line 1619 "d2_parser.cc"
break;
- case 175: // tsig_key_digest_bits: "digest-bits" ":" "integer"
-#line 702 "d2_parser.yy"
+ case 176: // tsig_key_digest_bits: "digest-bits" ":" "integer"
+#line 704 "d2_parser.yy"
{
ctx.unique("digest-bits", ctx.loc2pos(yystack_[2].location));
if (yystack_[0].value.as < int64_t > () < 0 || (yystack_[0].value.as < int64_t > () > 0 && (yystack_[0].value.as < int64_t > () % 8 != 0))) {
@@ -1631,17 +1631,18 @@ namespace isc { namespace d2 {
#line 1632 "d2_parser.cc"
break;
- case 176: // $@41: %empty
-#line 711 "d2_parser.yy"
+ case 177: // $@41: %empty
+#line 713 "d2_parser.yy"
{
ctx.unique("secret", ctx.loc2pos(yystack_[0].location));
+ ctx.unique("secret-file", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1641 "d2_parser.cc"
+#line 1642 "d2_parser.cc"
break;
- case 177: // tsig_key_secret: "secret" $@41 ":" "constant string"
-#line 714 "d2_parser.yy"
+ case 178: // tsig_key_secret: "secret" $@41 ":" "constant string"
+#line 717 "d2_parser.yy"
{
if (yystack_[0].value.as < std::string > () == "") {
error(yystack_[1].location, "TSIG key secret cannot be blank");
@@ -1650,11 +1651,34 @@ namespace isc { namespace d2 {
ctx.stack_.back()->set("secret", elem);
ctx.leave();
}
-#line 1654 "d2_parser.cc"
+#line 1655 "d2_parser.cc"
break;
- case 178: // $@42: %empty
-#line 728 "d2_parser.yy"
+ case 179: // $@42: %empty
+#line 726 "d2_parser.yy"
+ {
+ ctx.unique("secret", ctx.loc2pos(yystack_[0].location));
+ ctx.unique("secret-file", ctx.loc2pos(yystack_[0].location));
+ ctx.enter(ctx.NO_KEYWORD);
+}
+#line 1665 "d2_parser.cc"
+ break;
+
+ case 180: // tsig_key_secret_file: "secret-file" $@42 ":" "constant string"
+#line 730 "d2_parser.yy"
+ {
+ if (yystack_[0].value.as < std::string > () == "") {
+ error(yystack_[1].location, "TSIG key secret file name cannot be blank");
+ }
+ ElementPtr elem(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ctx.stack_.back()->set("secret-file", elem);
+ ctx.leave();
+}
+#line 1678 "d2_parser.cc"
+ break;
+
+ case 181: // $@43: %empty
+#line 744 "d2_parser.yy"
{
ctx.unique("control-socket", ctx.loc2pos(yystack_[0].location));
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
@@ -1662,66 +1686,66 @@ namespace isc { namespace d2 {
ctx.stack_.push_back(m);
ctx.enter(ctx.CONTROL_SOCKET);
}
-#line 1666 "d2_parser.cc"
+#line 1690 "d2_parser.cc"
break;
- case 179: // control_socket: "control-socket" $@42 ":" "{" control_socket_params "}"
-#line 734 "d2_parser.yy"
+ case 182: // control_socket: "control-socket" $@43 ":" "{" control_socket_params "}"
+#line 750 "d2_parser.yy"
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 1675 "d2_parser.cc"
+#line 1699 "d2_parser.cc"
break;
- case 182: // control_socket_params: control_socket_params ","
-#line 741 "d2_parser.yy"
+ case 185: // control_socket_params: control_socket_params ","
+#line 757 "d2_parser.yy"
{
ctx.warnAboutExtraCommas(yystack_[0].location);
}
-#line 1683 "d2_parser.cc"
+#line 1707 "d2_parser.cc"
break;
- case 188: // $@43: %empty
-#line 753 "d2_parser.yy"
+ case 191: // $@44: %empty
+#line 769 "d2_parser.yy"
{
ctx.unique("socket-type", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1692 "d2_parser.cc"
+#line 1716 "d2_parser.cc"
break;
- case 189: // control_socket_type: "socket-type" $@43 ":" "constant string"
-#line 756 "d2_parser.yy"
+ case 192: // control_socket_type: "socket-type" $@44 ":" "constant string"
+#line 772 "d2_parser.yy"
{
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 1702 "d2_parser.cc"
+#line 1726 "d2_parser.cc"
break;
- case 190: // $@44: %empty
-#line 762 "d2_parser.yy"
+ case 193: // $@45: %empty
+#line 778 "d2_parser.yy"
{
ctx.unique("socket-name", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1711 "d2_parser.cc"
+#line 1735 "d2_parser.cc"
break;
- case 191: // control_socket_name: "socket-name" $@44 ":" "constant string"
-#line 765 "d2_parser.yy"
+ case 194: // control_socket_name: "socket-name" $@45 ":" "constant string"
+#line 781 "d2_parser.yy"
{
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 1721 "d2_parser.cc"
+#line 1745 "d2_parser.cc"
break;
- case 192: // $@45: %empty
-#line 773 "d2_parser.yy"
+ case 195: // $@46: %empty
+#line 789 "d2_parser.yy"
{
ctx.unique("hooks-libraries", ctx.loc2pos(yystack_[0].location));
ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
@@ -1729,113 +1753,113 @@ namespace isc { namespace d2 {
ctx.stack_.push_back(l);
ctx.enter(ctx.HOOKS_LIBRARIES);
}
-#line 1733 "d2_parser.cc"
+#line 1757 "d2_parser.cc"
break;
- case 193: // hooks_libraries: "hooks-libraries" $@45 ":" "[" hooks_libraries_list "]"
-#line 779 "d2_parser.yy"
+ case 196: // hooks_libraries: "hooks-libraries" $@46 ":" "[" hooks_libraries_list "]"
+#line 795 "d2_parser.yy"
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 1742 "d2_parser.cc"
+#line 1766 "d2_parser.cc"
break;
- case 198: // not_empty_hooks_libraries_list: not_empty_hooks_libraries_list ","
-#line 790 "d2_parser.yy"
+ case 201: // not_empty_hooks_libraries_list: not_empty_hooks_libraries_list ","
+#line 806 "d2_parser.yy"
{
ctx.warnAboutExtraCommas(yystack_[0].location);
}
-#line 1750 "d2_parser.cc"
+#line 1774 "d2_parser.cc"
break;
- case 199: // $@46: %empty
-#line 795 "d2_parser.yy"
+ case 202: // $@47: %empty
+#line 811 "d2_parser.yy"
{
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(m);
ctx.stack_.push_back(m);
}
-#line 1760 "d2_parser.cc"
+#line 1784 "d2_parser.cc"
break;
- case 200: // hooks_library: "{" $@46 hooks_params "}"
-#line 799 "d2_parser.yy"
+ case 203: // hooks_library: "{" $@47 hooks_params "}"
+#line 815 "d2_parser.yy"
{
// The library hooks parameter is required
ctx.require("library", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
ctx.stack_.pop_back();
}
-#line 1770 "d2_parser.cc"
+#line 1794 "d2_parser.cc"
break;
- case 201: // $@47: %empty
-#line 805 "d2_parser.yy"
+ case 204: // $@48: %empty
+#line 821 "d2_parser.yy"
{
// Parse the hooks-libraries list entry map
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.push_back(m);
}
-#line 1780 "d2_parser.cc"
+#line 1804 "d2_parser.cc"
break;
- case 202: // sub_hooks_library: "{" $@47 hooks_params "}"
-#line 809 "d2_parser.yy"
+ case 205: // sub_hooks_library: "{" $@48 hooks_params "}"
+#line 825 "d2_parser.yy"
{
// The library hooks parameter is required
ctx.require("library", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
// parsing completed
}
-#line 1790 "d2_parser.cc"
+#line 1814 "d2_parser.cc"
break;
- case 205: // hooks_params: hooks_params ","
-#line 817 "d2_parser.yy"
+ case 208: // hooks_params: hooks_params ","
+#line 833 "d2_parser.yy"
{
ctx.warnAboutExtraCommas(yystack_[0].location);
}
-#line 1798 "d2_parser.cc"
+#line 1822 "d2_parser.cc"
break;
- case 209: // $@48: %empty
-#line 827 "d2_parser.yy"
+ case 212: // $@49: %empty
+#line 843 "d2_parser.yy"
{
ctx.unique("library", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1807 "d2_parser.cc"
+#line 1831 "d2_parser.cc"
break;
- case 210: // library: "library" $@48 ":" "constant string"
-#line 830 "d2_parser.yy"
+ case 213: // library: "library" $@49 ":" "constant string"
+#line 846 "d2_parser.yy"
{
ElementPtr lib(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("library", lib);
ctx.leave();
}
-#line 1817 "d2_parser.cc"
+#line 1841 "d2_parser.cc"
break;
- case 211: // $@49: %empty
-#line 836 "d2_parser.yy"
+ case 214: // $@50: %empty
+#line 852 "d2_parser.yy"
{
ctx.unique("parameters", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1826 "d2_parser.cc"
+#line 1850 "d2_parser.cc"
break;
- case 212: // parameters: "parameters" $@49 ":" map_value
-#line 839 "d2_parser.yy"
+ case 215: // parameters: "parameters" $@50 ":" map_value
+#line 855 "d2_parser.yy"
{
ctx.stack_.back()->set("parameters", yystack_[0].value.as < ElementPtr > ());
ctx.leave();
}
-#line 1835 "d2_parser.cc"
+#line 1859 "d2_parser.cc"
break;
- case 213: // $@50: %empty
-#line 846 "d2_parser.yy"
+ case 216: // $@51: %empty
+#line 862 "d2_parser.yy"
{
ctx.unique("loggers", ctx.loc2pos(yystack_[0].location));
ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
@@ -1843,102 +1867,102 @@ namespace isc { namespace d2 {
ctx.stack_.push_back(l);
ctx.enter(ctx.LOGGERS);
}
-#line 1847 "d2_parser.cc"
+#line 1871 "d2_parser.cc"
break;
- case 214: // loggers: "loggers" $@50 ":" "[" loggers_entries "]"
-#line 852 "d2_parser.yy"
+ case 217: // loggers: "loggers" $@51 ":" "[" loggers_entries "]"
+#line 868 "d2_parser.yy"
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 1856 "d2_parser.cc"
+#line 1880 "d2_parser.cc"
break;
- case 217: // loggers_entries: loggers_entries ","
-#line 861 "d2_parser.yy"
+ case 220: // loggers_entries: loggers_entries ","
+#line 877 "d2_parser.yy"
{
ctx.warnAboutExtraCommas(yystack_[0].location);
}
-#line 1864 "d2_parser.cc"
+#line 1888 "d2_parser.cc"
break;
- case 218: // $@51: %empty
-#line 867 "d2_parser.yy"
+ case 221: // $@52: %empty
+#line 883 "d2_parser.yy"
{
ElementPtr l(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(l);
ctx.stack_.push_back(l);
}
-#line 1874 "d2_parser.cc"
+#line 1898 "d2_parser.cc"
break;
- case 219: // logger_entry: "{" $@51 logger_params "}"
-#line 871 "d2_parser.yy"
+ case 222: // logger_entry: "{" $@52 logger_params "}"
+#line 887 "d2_parser.yy"
{
ctx.stack_.pop_back();
}
-#line 1882 "d2_parser.cc"
+#line 1906 "d2_parser.cc"
break;
- case 222: // logger_params: logger_params ","
-#line 877 "d2_parser.yy"
+ case 225: // logger_params: logger_params ","
+#line 893 "d2_parser.yy"
{
ctx.warnAboutExtraCommas(yystack_[0].location);
}
-#line 1890 "d2_parser.cc"
+#line 1914 "d2_parser.cc"
break;
- case 230: // $@52: %empty
-#line 891 "d2_parser.yy"
+ case 233: // $@53: %empty
+#line 907 "d2_parser.yy"
{
ctx.unique("name", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1899 "d2_parser.cc"
+#line 1923 "d2_parser.cc"
break;
- case 231: // name: "name" $@52 ":" "constant string"
-#line 894 "d2_parser.yy"
+ case 234: // name: "name" $@53 ":" "constant string"
+#line 910 "d2_parser.yy"
{
ElementPtr name(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("name", name);
ctx.leave();
}
-#line 1909 "d2_parser.cc"
+#line 1933 "d2_parser.cc"
break;
- case 232: // debuglevel: "debuglevel" ":" "integer"
-#line 900 "d2_parser.yy"
+ case 235: // debuglevel: "debuglevel" ":" "integer"
+#line 916 "d2_parser.yy"
{
ctx.unique("debuglevel", ctx.loc2pos(yystack_[2].location));
ElementPtr dl(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("debuglevel", dl);
}
-#line 1919 "d2_parser.cc"
+#line 1943 "d2_parser.cc"
break;
- case 233: // $@53: %empty
-#line 906 "d2_parser.yy"
+ case 236: // $@54: %empty
+#line 922 "d2_parser.yy"
{
ctx.unique("severity", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1928 "d2_parser.cc"
+#line 1952 "d2_parser.cc"
break;
- case 234: // severity: "severity" $@53 ":" "constant string"
-#line 909 "d2_parser.yy"
+ case 237: // severity: "severity" $@54 ":" "constant string"
+#line 925 "d2_parser.yy"
{
ElementPtr sev(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("severity", sev);
ctx.leave();
}
-#line 1938 "d2_parser.cc"
+#line 1962 "d2_parser.cc"
break;
- case 235: // $@54: %empty
-#line 915 "d2_parser.yy"
+ case 238: // $@55: %empty
+#line 931 "d2_parser.yy"
{
ctx.unique("output-options", ctx.loc2pos(yystack_[0].location));
ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
@@ -1946,122 +1970,122 @@ namespace isc { namespace d2 {
ctx.stack_.push_back(l);
ctx.enter(ctx.OUTPUT_OPTIONS);
}
-#line 1950 "d2_parser.cc"
+#line 1974 "d2_parser.cc"
break;
- case 236: // output_options_list: "output-options" $@54 ":" "[" output_options_list_content "]"
-#line 921 "d2_parser.yy"
+ case 239: // output_options_list: "output-options" $@55 ":" "[" output_options_list_content "]"
+#line 937 "d2_parser.yy"
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 1959 "d2_parser.cc"
+#line 1983 "d2_parser.cc"
break;
- case 239: // output_options_list_content: output_options_list_content ","
-#line 928 "d2_parser.yy"
+ case 242: // output_options_list_content: output_options_list_content ","
+#line 944 "d2_parser.yy"
{
ctx.warnAboutExtraCommas(yystack_[0].location);
}
-#line 1967 "d2_parser.cc"
+#line 1991 "d2_parser.cc"
break;
- case 240: // $@55: %empty
-#line 933 "d2_parser.yy"
+ case 243: // $@56: %empty
+#line 949 "d2_parser.yy"
{
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(m);
ctx.stack_.push_back(m);
}
-#line 1977 "d2_parser.cc"
+#line 2001 "d2_parser.cc"
break;
- case 241: // output_entry: "{" $@55 output_params_list "}"
-#line 937 "d2_parser.yy"
+ case 244: // output_entry: "{" $@56 output_params_list "}"
+#line 953 "d2_parser.yy"
{
ctx.stack_.pop_back();
}
-#line 1985 "d2_parser.cc"
+#line 2009 "d2_parser.cc"
break;
- case 244: // output_params_list: output_params_list ","
-#line 943 "d2_parser.yy"
+ case 247: // output_params_list: output_params_list ","
+#line 959 "d2_parser.yy"
{
ctx.warnAboutExtraCommas(yystack_[0].location);
}
-#line 1993 "d2_parser.cc"
+#line 2017 "d2_parser.cc"
break;
- case 250: // $@56: %empty
-#line 955 "d2_parser.yy"
+ case 253: // $@57: %empty
+#line 971 "d2_parser.yy"
{
ctx.unique("output", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2002 "d2_parser.cc"
+#line 2026 "d2_parser.cc"
break;
- case 251: // output: "output" $@56 ":" "constant string"
-#line 958 "d2_parser.yy"
+ case 254: // output: "output" $@57 ":" "constant string"
+#line 974 "d2_parser.yy"
{
ElementPtr sev(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("output", sev);
ctx.leave();
}
-#line 2012 "d2_parser.cc"
+#line 2036 "d2_parser.cc"
break;
- case 252: // flush: "flush" ":" "boolean"
-#line 964 "d2_parser.yy"
+ case 255: // flush: "flush" ":" "boolean"
+#line 980 "d2_parser.yy"
{
ctx.unique("flush", ctx.loc2pos(yystack_[2].location));
ElementPtr flush(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("flush", flush);
}
-#line 2022 "d2_parser.cc"
+#line 2046 "d2_parser.cc"
break;
- case 253: // maxsize: "maxsize" ":" "integer"
-#line 970 "d2_parser.yy"
+ case 256: // maxsize: "maxsize" ":" "integer"
+#line 986 "d2_parser.yy"
{
ctx.unique("maxsize", ctx.loc2pos(yystack_[2].location));
ElementPtr maxsize(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("maxsize", maxsize);
}
-#line 2032 "d2_parser.cc"
+#line 2056 "d2_parser.cc"
break;
- case 254: // maxver: "maxver" ":" "integer"
-#line 976 "d2_parser.yy"
+ case 257: // maxver: "maxver" ":" "integer"
+#line 992 "d2_parser.yy"
{
ctx.unique("maxver", ctx.loc2pos(yystack_[2].location));
ElementPtr maxver(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("maxver", maxver);
}
-#line 2042 "d2_parser.cc"
+#line 2066 "d2_parser.cc"
break;
- case 255: // $@57: %empty
-#line 982 "d2_parser.yy"
+ case 258: // $@58: %empty
+#line 998 "d2_parser.yy"
{
ctx.unique("pattern", ctx.loc2pos(yystack_[0].location));
ctx.enter(ctx.NO_KEYWORD);
}
-#line 2051 "d2_parser.cc"
+#line 2075 "d2_parser.cc"
break;
- case 256: // pattern: "pattern" $@57 ":" "constant string"
-#line 985 "d2_parser.yy"
+ case 259: // pattern: "pattern" $@58 ":" "constant string"
+#line 1001 "d2_parser.yy"
{
ElementPtr sev(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("pattern", sev);
ctx.leave();
}
-#line 2061 "d2_parser.cc"
+#line 2085 "d2_parser.cc"
break;
-#line 2065 "d2_parser.cc"
+#line 2089 "d2_parser.cc"
default:
break;
@@ -2413,53 +2437,54 @@ namespace isc { namespace d2 {
}
- const short D2Parser::yypact_ninf_ = -212;
+ const short D2Parser::yypact_ninf_ = -215;
const signed char D2Parser::yytable_ninf_ = -1;
const short
D2Parser::yypact_[] =
{
- 49, -212, -212, -212, -212, -212, -212, -212, -212, -212,
- -212, 10, 8, 24, 30, 42, 48, 64, 128, 74,
- 136, 127, -212, -212, -212, -212, -212, -212, -212, -212,
- -212, -212, -212, -212, -212, -212, -212, -212, -212, -212,
- -212, -212, -212, -212, -212, -212, -212, -212, -212, -212,
- -212, -212, 8, -22, 33, 7, 31, 146, 38, 156,
- 28, 160, 37, -212, 137, 163, 166, 164, 168, -212,
- 22, -212, -212, 169, 170, -212, -212, -212, -212, -212,
- -212, -212, -212, -212, -212, 171, -212, 76, -212, -212,
- -212, -212, -212, -212, -212, -212, -212, -212, -212, -212,
- -212, -212, -212, 172, -212, -212, -212, -212, -212, 79,
- -212, -212, -212, -212, -212, -212, 173, 174, -212, -212,
- -212, -212, -212, -212, -212, 103, -212, -212, -212, -212,
- -212, 175, 177, -212, -212, 178, -212, -212, -212, -212,
- -212, 104, -212, -212, -212, -212, -212, 77, -212, -212,
- -212, -212, 105, -212, -212, -212, -212, 8, 8, -212,
- 121, 179, -212, -212, 180, 130, 131, 181, 182, 183,
- 186, 187, 188, 189, 190, 191, 192, -212, 7, -212,
- 193, 140, 195, 196, 31, -212, 31, -212, 146, 197,
- 198, 201, 38, -212, 38, -212, 156, 205, 154, 206,
- 28, -212, 28, 160, -212, 207, 209, -13, -212, -212,
- -212, 210, 208, 162, -212, -212, 153, 199, 213, 165,
- 214, 216, 211, 217, 220, 221, -212, 176, -212, 184,
- 185, -212, 106, -212, 203, 222, 204, -212, 107, -212,
- 215, -212, 218, -212, 115, -212, 219, 213, -212, 8,
- 7, -212, -212, -212, -212, -212, -212, -212, -212, -15,
- -15, 146, 13, 223, 224, -212, -212, -212, -212, -212,
- 160, -212, -212, -212, -212, -212, -212, -212, -212, 116,
- -212, -212, 117, -212, -212, -212, 118, 226, -212, -212,
- -212, -212, -212, 119, -212, -212, -212, -212, 228, 225,
- -212, -212, 129, -212, 158, -212, 231, -15, -212, -212,
- -212, 232, 233, 13, -212, 37, -212, 223, 36, 224,
- -212, -212, 234, -212, 227, 229, -212, 149, -212, -212,
- -212, 236, -212, -212, -212, -212, 151, -212, -212, -212,
- -212, -212, -212, 156, -212, -212, -212, 239, 240, 194,
- 241, 36, -212, 242, 230, 244, -212, 235, -212, -212,
- -212, 243, -212, -212, 159, -212, 46, 243, -212, -212,
- 249, 250, 251, -212, 152, -212, -212, -212, -212, -212,
- -212, -212, 252, 237, 212, 245, 260, 46, -212, 247,
- -212, -212, -212, 248, -212, -212, -212
+ 53, -215, -215, -215, -215, -215, -215, -215, -215, -215,
+ -215, 10, 8, 1, 16, 18, 27, 33, 42, 57,
+ 44, 65, -215, -215, -215, -215, -215, -215, -215, -215,
+ -215, -215, -215, -215, -215, -215, -215, -215, -215, -215,
+ -215, -215, -215, -215, -215, -215, -215, -215, -215, -215,
+ -215, -215, 8, 23, 77, 7, 32, 82, 59, 105,
+ 24, 106, 22, -215, 123, 111, 133, 128, 141, -215,
+ 30, -215, -215, 142, 164, -215, -215, -215, -215, -215,
+ -215, -215, -215, -215, -215, 174, -215, 38, -215, -215,
+ -215, -215, -215, -215, -215, -215, -215, -215, -215, -215,
+ -215, -215, -215, 175, -215, -215, -215, -215, -215, -215,
+ 67, -215, -215, -215, -215, -215, -215, -215, 150, 177,
+ -215, -215, -215, -215, -215, -215, -215, 85, -215, -215,
+ -215, -215, -215, 176, 178, -215, -215, 179, -215, -215,
+ -215, -215, -215, 108, -215, -215, -215, -215, -215, 132,
+ -215, -215, -215, -215, 112, -215, -215, -215, -215, 8,
+ 8, -215, 109, 180, -215, -215, 181, 127, 129, 183,
+ 185, 186, 187, 188, 189, 190, 191, 192, 193, -215,
+ 7, -215, 194, 140, 196, 197, 198, 32, -215, 32,
+ -215, 82, 199, 200, 201, 59, -215, 59, -215, 105,
+ 202, 156, 205, 24, -215, 24, 106, -215, 209, 210,
+ -6, -215, -215, -215, 212, 211, 159, -215, -215, 40,
+ 203, 213, 165, 217, 218, 214, 219, 222, 223, -215,
+ 172, -215, 173, 182, 184, -215, 118, -215, 195, 224,
+ 207, -215, 119, -215, 208, -215, 215, -215, 120, -215,
+ 220, 213, -215, 8, 7, -215, -215, -215, -215, -215,
+ -215, -215, -215, -1, -1, 82, 66, 225, 226, -215,
+ -215, -215, -215, -215, -215, 106, -215, -215, -215, -215,
+ -215, -215, -215, -215, 122, -215, -215, 152, -215, -215,
+ -215, 154, 228, -215, -215, -215, -215, -215, 155, -215,
+ -215, -215, -215, 229, 233, -215, -215, 169, -215, 170,
+ -215, 234, -1, -215, -215, -215, 235, 237, 66, -215,
+ 22, -215, 225, 34, 226, -215, -215, 232, -215, 227,
+ 230, -215, 161, -215, -215, -215, 239, -215, -215, -215,
+ -215, 162, -215, -215, -215, -215, -215, -215, 105, -215,
+ -215, -215, 240, 241, 216, 242, 34, -215, 243, 231,
+ 245, -215, 236, -215, -215, -215, 244, -215, -215, 171,
+ -215, 50, 244, -215, -215, 248, 250, 251, -215, 163,
+ -215, -215, -215, -215, -215, -215, -215, 253, 221, 238,
+ 246, 254, 50, -215, 249, -215, -215, -215, 252, -215,
+ -215, -215
};
const short
@@ -2470,231 +2495,235 @@ namespace isc { namespace d2 {
0, 0, 1, 38, 30, 26, 25, 22, 23, 24,
29, 3, 27, 28, 46, 5, 52, 7, 159, 9,
150, 11, 107, 13, 98, 15, 131, 17, 124, 19,
- 201, 21, 40, 33, 0, 0, 0, 152, 0, 100,
+ 204, 21, 40, 33, 0, 0, 0, 152, 0, 100,
0, 0, 0, 42, 0, 41, 0, 0, 34, 48,
0, 50, 71, 0, 0, 75, 79, 81, 83, 85,
- 87, 148, 178, 192, 213, 0, 70, 0, 54, 57,
+ 87, 148, 181, 195, 216, 0, 70, 0, 54, 57,
58, 59, 60, 61, 68, 69, 62, 63, 64, 65,
- 66, 67, 173, 0, 176, 171, 170, 168, 169, 0,
- 161, 164, 165, 166, 167, 157, 0, 153, 154, 120,
- 122, 118, 117, 115, 116, 0, 109, 112, 113, 114,
- 105, 0, 101, 102, 145, 0, 143, 142, 140, 141,
- 139, 0, 133, 136, 137, 138, 129, 0, 126, 209,
- 211, 206, 0, 203, 207, 208, 39, 44, 0, 31,
- 37, 0, 51, 47, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 45, 56, 53,
- 0, 0, 0, 0, 163, 160, 0, 151, 156, 0,
- 0, 0, 111, 108, 0, 99, 104, 0, 0, 0,
- 135, 132, 0, 128, 125, 0, 0, 205, 202, 43,
- 35, 0, 0, 0, 73, 74, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 55, 0, 175, 0,
- 0, 162, 0, 155, 0, 0, 0, 110, 0, 103,
- 0, 147, 0, 134, 0, 127, 0, 0, 204, 0,
- 0, 72, 77, 78, 76, 80, 32, 82, 84, 89,
- 89, 152, 0, 194, 0, 174, 177, 172, 158, 121,
- 0, 119, 106, 146, 144, 130, 210, 212, 36, 0,
- 96, 95, 0, 90, 91, 94, 0, 0, 188, 190,
- 187, 185, 186, 0, 180, 183, 184, 199, 0, 195,
- 196, 218, 0, 215, 0, 49, 0, 93, 86, 88,
- 149, 0, 0, 182, 179, 0, 193, 198, 0, 217,
- 214, 123, 0, 92, 0, 0, 181, 0, 197, 230,
- 235, 0, 233, 229, 227, 228, 0, 220, 223, 225,
- 226, 224, 216, 100, 189, 191, 200, 0, 0, 0,
- 0, 222, 219, 0, 0, 0, 232, 0, 221, 97,
- 231, 0, 234, 240, 0, 237, 0, 239, 236, 250,
- 0, 0, 0, 255, 0, 242, 245, 246, 247, 248,
- 249, 238, 0, 0, 0, 0, 0, 244, 241, 0,
- 252, 253, 254, 0, 243, 251, 256
+ 66, 67, 174, 0, 177, 179, 172, 171, 169, 170,
+ 0, 161, 164, 165, 166, 167, 168, 157, 0, 153,
+ 154, 120, 122, 118, 117, 115, 116, 0, 109, 112,
+ 113, 114, 105, 0, 101, 102, 145, 0, 143, 142,
+ 140, 141, 139, 0, 133, 136, 137, 138, 129, 0,
+ 126, 212, 214, 209, 0, 206, 210, 211, 39, 44,
+ 0, 31, 37, 0, 51, 47, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 45,
+ 56, 53, 0, 0, 0, 0, 0, 163, 160, 0,
+ 151, 156, 0, 0, 0, 111, 108, 0, 99, 104,
+ 0, 0, 0, 135, 132, 0, 128, 125, 0, 0,
+ 208, 205, 43, 35, 0, 0, 0, 73, 74, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 55,
+ 0, 176, 0, 0, 0, 162, 0, 155, 0, 0,
+ 0, 110, 0, 103, 0, 147, 0, 134, 0, 127,
+ 0, 0, 207, 0, 0, 72, 77, 78, 76, 80,
+ 32, 82, 84, 89, 89, 152, 0, 197, 0, 175,
+ 178, 180, 173, 158, 121, 0, 119, 106, 146, 144,
+ 130, 213, 215, 36, 0, 96, 95, 0, 90, 91,
+ 94, 0, 0, 191, 193, 190, 188, 189, 0, 183,
+ 186, 187, 202, 0, 198, 199, 221, 0, 218, 0,
+ 49, 0, 93, 86, 88, 149, 0, 0, 185, 182,
+ 0, 196, 201, 0, 220, 217, 123, 0, 92, 0,
+ 0, 184, 0, 200, 233, 238, 0, 236, 232, 230,
+ 231, 0, 223, 226, 228, 229, 227, 219, 100, 192,
+ 194, 203, 0, 0, 0, 0, 225, 222, 0, 0,
+ 0, 235, 0, 224, 97, 234, 0, 237, 243, 0,
+ 240, 0, 242, 239, 253, 0, 0, 0, 258, 0,
+ 245, 248, 249, 250, 251, 252, 241, 0, 0, 0,
+ 0, 0, 247, 244, 0, 255, 256, 257, 0, 246,
+ 254, 259
};
const short
D2Parser::yypgoto_[] =
{
- -212, -212, -212, -212, -212, -212, -212, -212, -212, -212,
- -212, -212, -41, -212, -211, -212, -18, -212, -212, -212,
- -212, -212, -212, -56, -212, -212, -212, -212, -212, -212,
- -212, -12, 68, -212, -212, -212, -212, -212, -212, -212,
- -212, -212, -55, -212, -44, -212, -212, -212, -212, -212,
- 5, -212, -60, -212, -212, -212, -212, -77, -212, 71,
- -212, -212, -212, 83, 81, -212, -212, -51, -212, -212,
- -212, -212, -212, -2, 75, -212, -212, -212, 69, 80,
- -212, -212, -212, -212, -212, -212, -212, -212, -212, 18,
- -212, 93, -212, -212, -212, 96, 99, -212, -212, -212,
- -212, -212, -212, -212, -212, -212, -212, -28, -212, -212,
- -212, -212, -212, -212, -212, -212, -29, -212, -212, -212,
- -26, 84, -212, -212, -212, -212, -212, -212, -212, -25,
- -212, -212, -61, -212, -212, -212, -212, -212, -212, -212,
- -212, -74, -212, -212, -89, -212, -212, -212, -212, -212,
- -212, -212
+ -215, -215, -215, -215, -215, -215, -215, -215, -215, -215,
+ -215, -215, -41, -215, -214, -215, -4, -215, -215, -215,
+ -215, -215, -215, -56, -215, -215, -215, -215, -215, -215,
+ -215, 5, 68, -215, -215, -215, -215, -215, -215, -215,
+ -215, -215, -55, -215, -44, -215, -215, -215, -215, -215,
+ -3, -215, -52, -215, -215, -215, -215, -79, -215, 71,
+ -215, -215, -215, 74, 81, -215, -215, -51, -215, -215,
+ -215, -215, -215, 2, 75, -215, -215, -215, 78, 69,
+ -215, -215, -215, -215, -215, -215, -215, -215, -215, 15,
+ -215, 93, -215, -215, -215, 97, 100, -215, -215, -215,
+ -215, -215, -215, -215, -215, -215, -215, -215, -215, -28,
+ -215, -215, -215, -215, -215, -215, -215, -215, -31, -215,
+ -215, -215, -27, 86, -215, -215, -215, -215, -215, -215,
+ -215, -32, -215, -215, -61, -215, -215, -215, -215, -215,
+ -215, -215, -215, -74, -215, -215, -93, -215, -215, -215,
+ -215, -215, -215, -215
};
const short
D2Parser::yydefgoto_[] =
{
0, 11, 12, 13, 14, 15, 16, 17, 18, 19,
- 20, 21, 30, 31, 32, 53, 257, 67, 68, 33,
- 52, 64, 65, 86, 35, 54, 70, 161, 71, 37,
- 55, 87, 88, 89, 164, 90, 91, 92, 167, 254,
- 93, 168, 94, 169, 95, 170, 96, 171, 97, 172,
- 282, 283, 284, 285, 306, 45, 59, 131, 132, 133,
- 194, 43, 58, 125, 126, 127, 191, 128, 189, 129,
- 190, 49, 61, 147, 148, 202, 47, 60, 141, 142,
- 143, 199, 144, 197, 145, 98, 173, 41, 57, 116,
- 117, 118, 186, 39, 56, 109, 110, 111, 183, 112,
- 180, 113, 114, 182, 99, 174, 293, 294, 295, 311,
- 296, 312, 100, 175, 298, 299, 300, 315, 51, 62,
- 152, 153, 154, 205, 155, 206, 101, 176, 302, 303,
- 318, 336, 337, 338, 347, 339, 340, 350, 341, 348,
- 364, 365, 366, 374, 375, 376, 382, 377, 378, 379,
- 380, 386
+ 20, 21, 30, 31, 32, 53, 261, 67, 68, 33,
+ 52, 64, 65, 86, 35, 54, 70, 163, 71, 37,
+ 55, 87, 88, 89, 166, 90, 91, 92, 169, 258,
+ 93, 170, 94, 171, 95, 172, 96, 173, 97, 174,
+ 287, 288, 289, 290, 311, 45, 59, 133, 134, 135,
+ 197, 43, 58, 127, 128, 129, 194, 130, 192, 131,
+ 193, 49, 61, 149, 150, 205, 47, 60, 143, 144,
+ 145, 202, 146, 200, 147, 98, 175, 41, 57, 118,
+ 119, 120, 189, 39, 56, 110, 111, 112, 186, 113,
+ 182, 114, 115, 184, 116, 185, 99, 176, 298, 299,
+ 300, 316, 301, 317, 100, 177, 303, 304, 305, 320,
+ 51, 62, 154, 155, 156, 208, 157, 209, 101, 178,
+ 307, 308, 323, 341, 342, 343, 352, 344, 345, 355,
+ 346, 353, 369, 370, 371, 379, 380, 381, 387, 382,
+ 383, 384, 385, 391
};
const short
D2Parser::yytable_[] =
{
- 106, 107, 122, 123, 137, 138, 151, 256, 280, 140,
- 22, 63, 108, 23, 124, 24, 139, 25, 72, 73,
- 74, 75, 149, 150, 76, 162, 77, 78, 79, 80,
- 163, 34, 77, 78, 81, 66, 256, 36, 82, 134,
- 135, 83, 85, 69, 84, 288, 289, 77, 78, 38,
- 77, 78, 119, 40, 136, 77, 78, 77, 78, 102,
- 103, 104, 119, 120, 85, 26, 27, 28, 29, 105,
- 85, 42, 149, 150, 329, 330, 121, 331, 332, 178,
- 203, 46, 184, 204, 179, 85, 369, 185, 85, 370,
- 371, 372, 373, 85, 85, 85, 1, 2, 3, 4,
- 5, 6, 7, 8, 9, 10, 192, 200, 207, 184,
- 192, 193, 201, 208, 268, 272, 209, 210, 200, 178,
- 307, 307, 313, 275, 305, 308, 309, 314, 106, 107,
- 106, 107, 319, 44, 50, 320, 122, 123, 122, 123,
- 108, 48, 108, 156, 137, 138, 137, 138, 124, 140,
- 124, 140, 207, 115, 351, 387, 139, 346, 139, 352,
- 388, 203, 367, 130, 321, 368, 157, 146, 252, 253,
- 158, 160, 159, 165, 166, 177, 181, 188, 211, 187,
- 196, 195, 198, 212, 213, 216, 217, 218, 214, 215,
- 219, 220, 221, 222, 223, 224, 225, 227, 228, 229,
- 230, 234, 235, 281, 281, 236, 290, 291, 278, 240,
- 242, 246, 241, 247, 249, 250, 261, 255, 292, 251,
- 24, 259, 258, 260, 262, 263, 264, 270, 317, 277,
- 297, 301, 310, 265, 316, 322, 324, 325, 279, 343,
- 349, 266, 267, 354, 355, 357, 226, 323, 359, 361,
- 363, 281, 356, 383, 384, 385, 389, 290, 291, 151,
- 269, 271, 333, 334, 393, 286, 353, 239, 304, 292,
- 391, 244, 273, 237, 335, 274, 276, 238, 245, 287,
- 243, 233, 232, 231, 344, 326, 345, 360, 328, 327,
- 358, 248, 362, 381, 342, 333, 334, 390, 394, 0,
- 0, 0, 0, 392, 395, 396, 0, 335
+ 107, 108, 124, 125, 139, 140, 153, 260, 34, 142,
+ 22, 63, 109, 23, 126, 24, 141, 25, 72, 73,
+ 74, 75, 285, 36, 76, 38, 77, 78, 79, 80,
+ 151, 152, 40, 164, 81, 136, 137, 260, 165, 82,
+ 42, 180, 83, 77, 78, 84, 181, 44, 121, 48,
+ 138, 77, 78, 77, 78, 256, 257, 85, 151, 152,
+ 102, 103, 104, 105, 46, 85, 26, 27, 28, 29,
+ 187, 106, 50, 334, 335, 188, 336, 337, 77, 78,
+ 85, 66, 85, 121, 122, 77, 78, 69, 195, 117,
+ 85, 374, 85, 196, 375, 376, 377, 378, 123, 293,
+ 294, 1, 2, 3, 4, 5, 6, 7, 8, 9,
+ 10, 203, 132, 148, 159, 210, 204, 85, 212, 213,
+ 211, 187, 195, 203, 85, 180, 273, 277, 280, 158,
+ 310, 107, 108, 107, 108, 206, 161, 160, 207, 124,
+ 125, 124, 125, 109, 162, 109, 167, 139, 140, 139,
+ 140, 126, 142, 126, 142, 312, 190, 312, 318, 141,
+ 313, 141, 314, 319, 210, 356, 392, 214, 168, 351,
+ 357, 393, 324, 206, 372, 325, 326, 373, 179, 183,
+ 191, 199, 198, 201, 215, 216, 217, 219, 218, 220,
+ 221, 222, 223, 224, 225, 226, 227, 228, 230, 231,
+ 232, 233, 234, 238, 239, 240, 244, 286, 286, 246,
+ 295, 296, 283, 250, 251, 245, 253, 255, 254, 265,
+ 24, 259, 297, 262, 263, 264, 266, 267, 268, 275,
+ 269, 270, 302, 306, 315, 321, 322, 348, 327, 329,
+ 271, 330, 272, 354, 359, 360, 362, 282, 229, 364,
+ 366, 368, 388, 274, 389, 390, 286, 394, 398, 284,
+ 328, 291, 295, 296, 153, 276, 278, 338, 339, 358,
+ 243, 242, 247, 279, 297, 361, 241, 309, 281, 340,
+ 292, 249, 395, 248, 237, 349, 236, 235, 350, 365,
+ 331, 333, 347, 332, 367, 363, 252, 396, 386, 399,
+ 338, 339, 0, 0, 0, 397, 0, 400, 0, 0,
+ 401, 0, 340
};
const short
D2Parser::yycheck_[] =
{
- 56, 56, 58, 58, 60, 60, 62, 218, 23, 60,
+ 56, 56, 58, 58, 60, 60, 62, 221, 7, 60,
0, 52, 56, 5, 58, 7, 60, 9, 11, 12,
- 13, 14, 35, 36, 17, 3, 19, 20, 21, 22,
- 8, 7, 19, 20, 27, 57, 247, 7, 31, 11,
- 12, 34, 57, 10, 37, 32, 33, 19, 20, 7,
- 19, 20, 24, 5, 26, 19, 20, 19, 20, 28,
- 29, 30, 24, 25, 57, 57, 58, 59, 60, 38,
- 57, 7, 35, 36, 38, 39, 38, 41, 42, 3,
- 3, 7, 3, 6, 8, 57, 40, 8, 57, 43,
- 44, 45, 46, 57, 57, 57, 47, 48, 49, 50,
- 51, 52, 53, 54, 55, 56, 3, 3, 3, 3,
- 3, 8, 8, 8, 8, 8, 157, 158, 3, 3,
- 3, 3, 3, 8, 8, 8, 8, 8, 184, 184,
- 186, 186, 3, 5, 7, 6, 192, 192, 194, 194,
- 184, 5, 186, 6, 200, 200, 202, 202, 192, 200,
- 194, 202, 3, 7, 3, 3, 200, 8, 202, 8,
- 8, 3, 3, 7, 6, 6, 3, 7, 15, 16,
- 4, 3, 8, 4, 4, 4, 4, 3, 57, 6,
- 3, 6, 4, 4, 4, 4, 4, 4, 58, 58,
- 4, 4, 4, 4, 4, 4, 4, 4, 58, 4,
- 4, 4, 4, 259, 260, 4, 262, 262, 249, 4,
- 4, 4, 58, 4, 4, 7, 5, 18, 262, 57,
- 7, 7, 57, 7, 7, 5, 5, 5, 3, 247,
- 7, 7, 6, 57, 6, 4, 4, 4, 250, 5,
- 4, 57, 57, 4, 4, 4, 178, 307, 6, 5,
- 7, 307, 58, 4, 4, 4, 4, 313, 313, 315,
- 57, 57, 318, 318, 4, 260, 343, 196, 270, 313,
- 58, 202, 57, 192, 318, 57, 57, 194, 203, 261,
- 200, 188, 186, 184, 57, 313, 57, 57, 317, 315,
- 351, 207, 57, 367, 319, 351, 351, 60, 387, -1,
- -1, -1, -1, 58, 57, 57, -1, 351
+ 13, 14, 23, 7, 17, 7, 19, 20, 21, 22,
+ 36, 37, 5, 3, 27, 11, 12, 251, 8, 32,
+ 7, 3, 35, 19, 20, 38, 8, 5, 24, 5,
+ 26, 19, 20, 19, 20, 15, 16, 58, 36, 37,
+ 28, 29, 30, 31, 7, 58, 58, 59, 60, 61,
+ 3, 39, 7, 39, 40, 8, 42, 43, 19, 20,
+ 58, 58, 58, 24, 25, 19, 20, 10, 3, 7,
+ 58, 41, 58, 8, 44, 45, 46, 47, 39, 33,
+ 34, 48, 49, 50, 51, 52, 53, 54, 55, 56,
+ 57, 3, 7, 7, 3, 3, 8, 58, 159, 160,
+ 8, 3, 3, 3, 58, 3, 8, 8, 8, 6,
+ 8, 187, 187, 189, 189, 3, 8, 4, 6, 195,
+ 195, 197, 197, 187, 3, 189, 4, 203, 203, 205,
+ 205, 195, 203, 197, 205, 3, 6, 3, 3, 203,
+ 8, 205, 8, 8, 3, 3, 3, 58, 4, 8,
+ 8, 8, 3, 3, 3, 6, 6, 6, 4, 4,
+ 3, 3, 6, 4, 4, 4, 59, 4, 59, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 59,
+ 4, 4, 4, 4, 4, 4, 4, 263, 264, 4,
+ 266, 266, 253, 4, 4, 59, 4, 58, 7, 5,
+ 7, 18, 266, 58, 7, 7, 7, 5, 5, 5,
+ 58, 58, 7, 7, 6, 6, 3, 5, 4, 4,
+ 58, 4, 58, 4, 4, 4, 4, 251, 180, 6,
+ 5, 7, 4, 58, 4, 4, 312, 4, 4, 254,
+ 312, 264, 318, 318, 320, 58, 58, 323, 323, 348,
+ 199, 197, 203, 58, 318, 59, 195, 275, 58, 323,
+ 265, 206, 61, 205, 191, 58, 189, 187, 58, 58,
+ 318, 322, 324, 320, 58, 356, 210, 59, 372, 392,
+ 356, 356, -1, -1, -1, 59, -1, 58, -1, -1,
+ 58, -1, 356
};
const unsigned char
D2Parser::yystos_[] =
{
- 0, 47, 48, 49, 50, 51, 52, 53, 54, 55,
- 56, 62, 63, 64, 65, 66, 67, 68, 69, 70,
- 71, 72, 0, 5, 7, 9, 57, 58, 59, 60,
- 73, 74, 75, 80, 7, 85, 7, 90, 7, 154,
- 5, 148, 7, 122, 5, 116, 7, 137, 5, 132,
- 7, 179, 81, 76, 86, 91, 155, 149, 123, 117,
- 138, 133, 180, 73, 82, 83, 57, 78, 79, 10,
- 87, 89, 11, 12, 13, 14, 17, 19, 20, 21,
- 22, 27, 31, 34, 37, 57, 84, 92, 93, 94,
- 96, 97, 98, 101, 103, 105, 107, 109, 146, 165,
- 173, 187, 28, 29, 30, 38, 84, 103, 105, 156,
- 157, 158, 160, 162, 163, 7, 150, 151, 152, 24,
- 25, 38, 84, 103, 105, 124, 125, 126, 128, 130,
- 7, 118, 119, 120, 11, 12, 26, 84, 103, 105,
- 128, 139, 140, 141, 143, 145, 7, 134, 135, 35,
- 36, 84, 181, 182, 183, 185, 6, 3, 4, 8,
- 3, 88, 3, 8, 95, 4, 4, 99, 102, 104,
- 106, 108, 110, 147, 166, 174, 188, 4, 3, 8,
- 161, 4, 164, 159, 3, 8, 153, 6, 3, 129,
- 131, 127, 3, 8, 121, 6, 3, 144, 4, 142,
- 3, 8, 136, 3, 6, 184, 186, 3, 8, 73,
- 73, 57, 4, 4, 58, 58, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 93, 4, 58, 4,
- 4, 157, 156, 152, 4, 4, 4, 125, 124, 120,
- 4, 58, 4, 140, 139, 135, 4, 4, 182, 4,
- 7, 57, 15, 16, 100, 18, 75, 77, 57, 7,
- 7, 5, 7, 5, 5, 57, 57, 57, 8, 57,
- 5, 57, 8, 57, 57, 8, 57, 77, 73, 92,
- 23, 84, 111, 112, 113, 114, 111, 150, 32, 33,
- 84, 103, 105, 167, 168, 169, 171, 7, 175, 176,
- 177, 7, 189, 190, 134, 8, 115, 3, 8, 8,
- 6, 170, 172, 3, 8, 178, 6, 3, 191, 3,
- 6, 6, 4, 113, 4, 4, 168, 181, 177, 38,
- 39, 41, 42, 84, 103, 105, 192, 193, 194, 196,
- 197, 199, 190, 5, 57, 57, 8, 195, 200, 4,
- 198, 3, 8, 118, 4, 4, 58, 4, 193, 6,
- 57, 5, 57, 7, 201, 202, 203, 3, 6, 40,
- 43, 44, 45, 46, 204, 205, 206, 208, 209, 210,
- 211, 202, 207, 4, 4, 4, 212, 3, 8, 4,
- 60, 58, 58, 4, 205, 57, 57
+ 0, 48, 49, 50, 51, 52, 53, 54, 55, 56,
+ 57, 63, 64, 65, 66, 67, 68, 69, 70, 71,
+ 72, 73, 0, 5, 7, 9, 58, 59, 60, 61,
+ 74, 75, 76, 81, 7, 86, 7, 91, 7, 155,
+ 5, 149, 7, 123, 5, 117, 7, 138, 5, 133,
+ 7, 182, 82, 77, 87, 92, 156, 150, 124, 118,
+ 139, 134, 183, 74, 83, 84, 58, 79, 80, 10,
+ 88, 90, 11, 12, 13, 14, 17, 19, 20, 21,
+ 22, 27, 32, 35, 38, 58, 85, 93, 94, 95,
+ 97, 98, 99, 102, 104, 106, 108, 110, 147, 168,
+ 176, 190, 28, 29, 30, 31, 39, 85, 104, 106,
+ 157, 158, 159, 161, 163, 164, 166, 7, 151, 152,
+ 153, 24, 25, 39, 85, 104, 106, 125, 126, 127,
+ 129, 131, 7, 119, 120, 121, 11, 12, 26, 85,
+ 104, 106, 129, 140, 141, 142, 144, 146, 7, 135,
+ 136, 36, 37, 85, 184, 185, 186, 188, 6, 3,
+ 4, 8, 3, 89, 3, 8, 96, 4, 4, 100,
+ 103, 105, 107, 109, 111, 148, 169, 177, 191, 4,
+ 3, 8, 162, 4, 165, 167, 160, 3, 8, 154,
+ 6, 3, 130, 132, 128, 3, 8, 122, 6, 3,
+ 145, 4, 143, 3, 8, 137, 3, 6, 187, 189,
+ 3, 8, 74, 74, 58, 4, 4, 59, 59, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 94,
+ 4, 59, 4, 4, 4, 158, 157, 153, 4, 4,
+ 4, 126, 125, 121, 4, 59, 4, 141, 140, 136,
+ 4, 4, 185, 4, 7, 58, 15, 16, 101, 18,
+ 76, 78, 58, 7, 7, 5, 7, 5, 5, 58,
+ 58, 58, 58, 8, 58, 5, 58, 8, 58, 58,
+ 8, 58, 78, 74, 93, 23, 85, 112, 113, 114,
+ 115, 112, 151, 33, 34, 85, 104, 106, 170, 171,
+ 172, 174, 7, 178, 179, 180, 7, 192, 193, 135,
+ 8, 116, 3, 8, 8, 6, 173, 175, 3, 8,
+ 181, 6, 3, 194, 3, 6, 6, 4, 114, 4,
+ 4, 171, 184, 180, 39, 40, 42, 43, 85, 104,
+ 106, 195, 196, 197, 199, 200, 202, 193, 5, 58,
+ 58, 8, 198, 203, 4, 201, 3, 8, 119, 4,
+ 4, 59, 4, 196, 6, 58, 5, 58, 7, 204,
+ 205, 206, 3, 6, 41, 44, 45, 46, 47, 207,
+ 208, 209, 211, 212, 213, 214, 205, 210, 4, 4,
+ 4, 215, 3, 8, 4, 61, 59, 59, 4, 208,
+ 58, 58
};
const unsigned char
D2Parser::yyr1_[] =
{
- 0, 61, 63, 62, 64, 62, 65, 62, 66, 62,
- 67, 62, 68, 62, 69, 62, 70, 62, 71, 62,
- 72, 62, 73, 73, 73, 73, 73, 73, 73, 74,
- 76, 75, 77, 78, 78, 79, 79, 79, 81, 80,
- 82, 82, 83, 83, 83, 84, 86, 85, 88, 87,
- 87, 89, 91, 90, 92, 92, 92, 93, 93, 93,
- 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
- 93, 95, 94, 96, 97, 99, 98, 100, 100, 102,
- 101, 104, 103, 106, 105, 108, 107, 110, 109, 111,
- 111, 112, 112, 112, 113, 113, 115, 114, 117, 116,
- 118, 118, 119, 119, 119, 121, 120, 123, 122, 124,
- 124, 124, 125, 125, 125, 125, 125, 125, 127, 126,
- 129, 128, 131, 130, 133, 132, 134, 134, 134, 136,
- 135, 138, 137, 139, 139, 139, 140, 140, 140, 140,
- 140, 140, 140, 142, 141, 144, 143, 145, 147, 146,
- 149, 148, 150, 150, 151, 151, 151, 153, 152, 155,
- 154, 156, 156, 156, 157, 157, 157, 157, 157, 157,
- 157, 159, 158, 161, 160, 162, 164, 163, 166, 165,
- 167, 167, 167, 168, 168, 168, 168, 168, 170, 169,
- 172, 171, 174, 173, 175, 175, 176, 176, 176, 178,
- 177, 180, 179, 181, 181, 181, 181, 182, 182, 184,
- 183, 186, 185, 188, 187, 189, 189, 189, 191, 190,
- 192, 192, 192, 193, 193, 193, 193, 193, 193, 193,
- 195, 194, 196, 198, 197, 200, 199, 201, 201, 201,
- 203, 202, 204, 204, 204, 205, 205, 205, 205, 205,
- 207, 206, 208, 209, 210, 212, 211
+ 0, 62, 64, 63, 65, 63, 66, 63, 67, 63,
+ 68, 63, 69, 63, 70, 63, 71, 63, 72, 63,
+ 73, 63, 74, 74, 74, 74, 74, 74, 74, 75,
+ 77, 76, 78, 79, 79, 80, 80, 80, 82, 81,
+ 83, 83, 84, 84, 84, 85, 87, 86, 89, 88,
+ 88, 90, 92, 91, 93, 93, 93, 94, 94, 94,
+ 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
+ 94, 96, 95, 97, 98, 100, 99, 101, 101, 103,
+ 102, 105, 104, 107, 106, 109, 108, 111, 110, 112,
+ 112, 113, 113, 113, 114, 114, 116, 115, 118, 117,
+ 119, 119, 120, 120, 120, 122, 121, 124, 123, 125,
+ 125, 125, 126, 126, 126, 126, 126, 126, 128, 127,
+ 130, 129, 132, 131, 134, 133, 135, 135, 135, 137,
+ 136, 139, 138, 140, 140, 140, 141, 141, 141, 141,
+ 141, 141, 141, 143, 142, 145, 144, 146, 148, 147,
+ 150, 149, 151, 151, 152, 152, 152, 154, 153, 156,
+ 155, 157, 157, 157, 158, 158, 158, 158, 158, 158,
+ 158, 158, 160, 159, 162, 161, 163, 165, 164, 167,
+ 166, 169, 168, 170, 170, 170, 171, 171, 171, 171,
+ 171, 173, 172, 175, 174, 177, 176, 178, 178, 179,
+ 179, 179, 181, 180, 183, 182, 184, 184, 184, 184,
+ 185, 185, 187, 186, 189, 188, 191, 190, 192, 192,
+ 192, 194, 193, 195, 195, 195, 196, 196, 196, 196,
+ 196, 196, 196, 198, 197, 199, 201, 200, 203, 202,
+ 204, 204, 204, 206, 205, 207, 207, 207, 208, 208,
+ 208, 208, 208, 210, 209, 211, 212, 213, 215, 214
};
const signed char
@@ -2717,15 +2746,15 @@ namespace isc { namespace d2 {
1, 1, 1, 0, 4, 0, 4, 3, 0, 6,
0, 4, 0, 1, 1, 3, 2, 0, 4, 0,
4, 1, 3, 2, 1, 1, 1, 1, 1, 1,
- 1, 0, 4, 0, 4, 3, 0, 4, 0, 6,
- 1, 3, 2, 1, 1, 1, 1, 1, 0, 4,
- 0, 4, 0, 6, 0, 1, 1, 3, 2, 0,
- 4, 0, 4, 1, 3, 2, 1, 1, 1, 0,
- 4, 0, 4, 0, 6, 1, 3, 2, 0, 4,
- 1, 3, 2, 1, 1, 1, 1, 1, 1, 1,
- 0, 4, 3, 0, 4, 0, 6, 1, 3, 2,
- 0, 4, 1, 3, 2, 1, 1, 1, 1, 1,
- 0, 4, 3, 3, 3, 0, 4
+ 1, 1, 0, 4, 0, 4, 3, 0, 4, 0,
+ 4, 0, 6, 1, 3, 2, 1, 1, 1, 1,
+ 1, 0, 4, 0, 4, 0, 6, 0, 1, 1,
+ 3, 2, 0, 4, 0, 4, 1, 3, 2, 1,
+ 1, 1, 0, 4, 0, 4, 0, 6, 1, 3,
+ 2, 0, 4, 1, 3, 2, 1, 1, 1, 1,
+ 1, 1, 1, 0, 4, 3, 0, 4, 0, 6,
+ 1, 3, 2, 0, 4, 1, 3, 2, 1, 1,
+ 1, 1, 1, 0, 4, 3, 3, 3, 0, 4
};
@@ -2742,11 +2771,11 @@ namespace isc { namespace d2 {
"\"user-context\"", "\"comment\"", "\"forward-ddns\"",
"\"reverse-ddns\"", "\"ddns-domains\"", "\"key-name\"",
"\"dns-servers\"", "\"hostname\"", "\"tsig-keys\"", "\"algorithm\"",
- "\"digest-bits\"", "\"secret\"", "\"control-socket\"", "\"socket-type\"",
- "\"socket-name\"", "\"hooks-libraries\"", "\"library\"",
- "\"parameters\"", "\"loggers\"", "\"name\"", "\"output-options\"",
- "\"output\"", "\"debuglevel\"", "\"severity\"", "\"flush\"",
- "\"maxsize\"", "\"maxver\"", "\"pattern\"", "TOPLEVEL_JSON",
+ "\"digest-bits\"", "\"secret\"", "\"secret-file\"", "\"control-socket\"",
+ "\"socket-type\"", "\"socket-name\"", "\"hooks-libraries\"",
+ "\"library\"", "\"parameters\"", "\"loggers\"", "\"name\"",
+ "\"output-options\"", "\"output\"", "\"debuglevel\"", "\"severity\"",
+ "\"flush\"", "\"maxsize\"", "\"maxver\"", "\"pattern\"", "TOPLEVEL_JSON",
"TOPLEVEL_DHCPDDNS", "SUB_DHCPDDNS", "SUB_TSIG_KEY", "SUB_TSIG_KEYS",
"SUB_DDNS_DOMAIN", "SUB_DDNS_DOMAINS", "SUB_DNS_SERVER",
"SUB_DNS_SERVERS", "SUB_HOOKS_LIBRARY", "\"constant string\"",
@@ -2772,18 +2801,18 @@ namespace isc { namespace d2 {
"tsig_keys_list", "not_empty_tsig_keys_list", "tsig_key", "$@37",
"sub_tsig_key", "$@38", "tsig_key_params", "tsig_key_param",
"tsig_key_name", "$@39", "tsig_key_algorithm", "$@40",
- "tsig_key_digest_bits", "tsig_key_secret", "$@41", "control_socket",
- "$@42", "control_socket_params", "control_socket_param",
- "control_socket_type", "$@43", "control_socket_name", "$@44",
- "hooks_libraries", "$@45", "hooks_libraries_list",
- "not_empty_hooks_libraries_list", "hooks_library", "$@46",
- "sub_hooks_library", "$@47", "hooks_params", "hooks_param", "library",
- "$@48", "parameters", "$@49", "loggers", "$@50", "loggers_entries",
- "logger_entry", "$@51", "logger_params", "logger_param", "name", "$@52",
- "debuglevel", "severity", "$@53", "output_options_list", "$@54",
- "output_options_list_content", "output_entry", "$@55",
- "output_params_list", "output_params", "output", "$@56", "flush",
- "maxsize", "maxver", "pattern", "$@57", YY_NULLPTR
+ "tsig_key_digest_bits", "tsig_key_secret", "$@41",
+ "tsig_key_secret_file", "$@42", "control_socket", "$@43",
+ "control_socket_params", "control_socket_param", "control_socket_type",
+ "$@44", "control_socket_name", "$@45", "hooks_libraries", "$@46",
+ "hooks_libraries_list", "not_empty_hooks_libraries_list",
+ "hooks_library", "$@47", "sub_hooks_library", "$@48", "hooks_params",
+ "hooks_param", "library", "$@49", "parameters", "$@50", "loggers",
+ "$@51", "loggers_entries", "logger_entry", "$@52", "logger_params",
+ "logger_param", "name", "$@53", "debuglevel", "severity", "$@54",
+ "output_options_list", "$@55", "output_options_list_content",
+ "output_entry", "$@56", "output_params_list", "output_params", "output",
+ "$@57", "flush", "maxsize", "maxver", "pattern", "$@58", YY_NULLPTR
};
#endif
@@ -2792,32 +2821,32 @@ namespace isc { namespace d2 {
const short
D2Parser::yyrline_[] =
{
- 0, 130, 130, 130, 131, 131, 132, 132, 133, 133,
- 134, 134, 135, 135, 136, 136, 137, 137, 138, 138,
- 139, 139, 147, 148, 149, 150, 151, 152, 153, 156,
- 161, 161, 172, 175, 176, 179, 184, 190, 195, 195,
- 202, 203, 206, 210, 214, 224, 233, 233, 246, 246,
- 256, 259, 263, 263, 271, 272, 273, 279, 280, 281,
- 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
- 292, 295, 295, 304, 313, 323, 323, 332, 333, 336,
- 336, 345, 345, 370, 370, 397, 397, 408, 408, 419,
- 420, 423, 424, 425, 430, 431, 436, 436, 447, 447,
- 454, 455, 458, 459, 460, 465, 465, 473, 473, 480,
- 481, 482, 487, 488, 489, 490, 491, 492, 496, 496,
- 509, 509, 522, 522, 533, 533, 540, 541, 542, 547,
- 547, 555, 555, 562, 563, 564, 569, 570, 571, 572,
- 573, 574, 575, 578, 578, 591, 591, 600, 615, 615,
- 626, 626, 633, 634, 637, 638, 639, 644, 644, 652,
- 652, 661, 662, 663, 668, 669, 670, 671, 672, 673,
- 674, 677, 677, 690, 690, 702, 711, 711, 728, 728,
- 739, 740, 741, 746, 747, 748, 749, 750, 753, 753,
- 762, 762, 773, 773, 784, 785, 788, 789, 790, 795,
- 795, 805, 805, 815, 816, 817, 820, 823, 824, 827,
- 827, 836, 836, 846, 846, 859, 860, 861, 867, 867,
- 875, 876, 877, 882, 883, 884, 885, 886, 887, 888,
- 891, 891, 900, 906, 906, 915, 915, 926, 927, 928,
- 933, 933, 941, 942, 943, 948, 949, 950, 951, 952,
- 955, 955, 964, 970, 976, 982, 982
+ 0, 131, 131, 131, 132, 132, 133, 133, 134, 134,
+ 135, 135, 136, 136, 137, 137, 138, 138, 139, 139,
+ 140, 140, 148, 149, 150, 151, 152, 153, 154, 157,
+ 162, 162, 173, 176, 177, 180, 185, 191, 196, 196,
+ 203, 204, 207, 211, 215, 225, 234, 234, 247, 247,
+ 257, 260, 264, 264, 272, 273, 274, 280, 281, 282,
+ 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
+ 293, 296, 296, 305, 314, 324, 324, 333, 334, 337,
+ 337, 346, 346, 371, 371, 398, 398, 409, 409, 420,
+ 421, 424, 425, 426, 431, 432, 437, 437, 448, 448,
+ 455, 456, 459, 460, 461, 466, 466, 474, 474, 481,
+ 482, 483, 488, 489, 490, 491, 492, 493, 497, 497,
+ 510, 510, 523, 523, 534, 534, 541, 542, 543, 548,
+ 548, 556, 556, 563, 564, 565, 570, 571, 572, 573,
+ 574, 575, 576, 579, 579, 592, 592, 601, 616, 616,
+ 627, 627, 634, 635, 638, 639, 640, 645, 645, 653,
+ 653, 662, 663, 664, 669, 670, 671, 672, 673, 674,
+ 675, 676, 679, 679, 692, 692, 704, 713, 713, 726,
+ 726, 744, 744, 755, 756, 757, 762, 763, 764, 765,
+ 766, 769, 769, 778, 778, 789, 789, 800, 801, 804,
+ 805, 806, 811, 811, 821, 821, 831, 832, 833, 836,
+ 839, 840, 843, 843, 852, 852, 862, 862, 875, 876,
+ 877, 883, 883, 891, 892, 893, 898, 899, 900, 901,
+ 902, 903, 904, 907, 907, 916, 922, 922, 931, 931,
+ 942, 943, 944, 949, 949, 957, 958, 959, 964, 965,
+ 966, 967, 968, 971, 971, 980, 986, 992, 998, 998
};
void
@@ -2850,9 +2879,9 @@ namespace isc { namespace d2 {
#line 14 "d2_parser.yy"
} } // isc::d2
-#line 2854 "d2_parser.cc"
+#line 2883 "d2_parser.cc"
-#line 991 "d2_parser.yy"
+#line 1007 "d2_parser.yy"
void
diff --git a/src/bin/d2/d2_parser.h b/src/bin/d2/d2_parser.h
index c729ccd8f5..f9eaf8f23a 100644
--- a/src/bin/d2/d2_parser.h
+++ b/src/bin/d2/d2_parser.h
@@ -521,36 +521,37 @@ namespace isc { namespace d2 {
TOKEN_ALGORITHM = 283, // "algorithm"
TOKEN_DIGEST_BITS = 284, // "digest-bits"
TOKEN_SECRET = 285, // "secret"
- TOKEN_CONTROL_SOCKET = 286, // "control-socket"
- TOKEN_SOCKET_TYPE = 287, // "socket-type"
- TOKEN_SOCKET_NAME = 288, // "socket-name"
- TOKEN_HOOKS_LIBRARIES = 289, // "hooks-libraries"
- TOKEN_LIBRARY = 290, // "library"
- TOKEN_PARAMETERS = 291, // "parameters"
- TOKEN_LOGGERS = 292, // "loggers"
- TOKEN_NAME = 293, // "name"
- TOKEN_OUTPUT_OPTIONS = 294, // "output-options"
- TOKEN_OUTPUT = 295, // "output"
- TOKEN_DEBUGLEVEL = 296, // "debuglevel"
- TOKEN_SEVERITY = 297, // "severity"
- TOKEN_FLUSH = 298, // "flush"
- TOKEN_MAXSIZE = 299, // "maxsize"
- TOKEN_MAXVER = 300, // "maxver"
- TOKEN_PATTERN = 301, // "pattern"
- TOKEN_TOPLEVEL_JSON = 302, // TOPLEVEL_JSON
- TOKEN_TOPLEVEL_DHCPDDNS = 303, // TOPLEVEL_DHCPDDNS
- TOKEN_SUB_DHCPDDNS = 304, // SUB_DHCPDDNS
- TOKEN_SUB_TSIG_KEY = 305, // SUB_TSIG_KEY
- TOKEN_SUB_TSIG_KEYS = 306, // SUB_TSIG_KEYS
- TOKEN_SUB_DDNS_DOMAIN = 307, // SUB_DDNS_DOMAIN
- TOKEN_SUB_DDNS_DOMAINS = 308, // SUB_DDNS_DOMAINS
- TOKEN_SUB_DNS_SERVER = 309, // SUB_DNS_SERVER
- TOKEN_SUB_DNS_SERVERS = 310, // SUB_DNS_SERVERS
- TOKEN_SUB_HOOKS_LIBRARY = 311, // SUB_HOOKS_LIBRARY
- TOKEN_STRING = 312, // "constant string"
- TOKEN_INTEGER = 313, // "integer"
- TOKEN_FLOAT = 314, // "floating point"
- TOKEN_BOOLEAN = 315 // "boolean"
+ TOKEN_SECRET_FILE = 286, // "secret-file"
+ TOKEN_CONTROL_SOCKET = 287, // "control-socket"
+ TOKEN_SOCKET_TYPE = 288, // "socket-type"
+ TOKEN_SOCKET_NAME = 289, // "socket-name"
+ TOKEN_HOOKS_LIBRARIES = 290, // "hooks-libraries"
+ TOKEN_LIBRARY = 291, // "library"
+ TOKEN_PARAMETERS = 292, // "parameters"
+ TOKEN_LOGGERS = 293, // "loggers"
+ TOKEN_NAME = 294, // "name"
+ TOKEN_OUTPUT_OPTIONS = 295, // "output-options"
+ TOKEN_OUTPUT = 296, // "output"
+ TOKEN_DEBUGLEVEL = 297, // "debuglevel"
+ TOKEN_SEVERITY = 298, // "severity"
+ TOKEN_FLUSH = 299, // "flush"
+ TOKEN_MAXSIZE = 300, // "maxsize"
+ TOKEN_MAXVER = 301, // "maxver"
+ TOKEN_PATTERN = 302, // "pattern"
+ TOKEN_TOPLEVEL_JSON = 303, // TOPLEVEL_JSON
+ TOKEN_TOPLEVEL_DHCPDDNS = 304, // TOPLEVEL_DHCPDDNS
+ TOKEN_SUB_DHCPDDNS = 305, // SUB_DHCPDDNS
+ TOKEN_SUB_TSIG_KEY = 306, // SUB_TSIG_KEY
+ TOKEN_SUB_TSIG_KEYS = 307, // SUB_TSIG_KEYS
+ TOKEN_SUB_DDNS_DOMAIN = 308, // SUB_DDNS_DOMAIN
+ TOKEN_SUB_DDNS_DOMAINS = 309, // SUB_DDNS_DOMAINS
+ TOKEN_SUB_DNS_SERVER = 310, // SUB_DNS_SERVER
+ TOKEN_SUB_DNS_SERVERS = 311, // SUB_DNS_SERVERS
+ TOKEN_SUB_HOOKS_LIBRARY = 312, // SUB_HOOKS_LIBRARY
+ TOKEN_STRING = 313, // "constant string"
+ TOKEN_INTEGER = 314, // "integer"
+ TOKEN_FLOAT = 315, // "floating point"
+ TOKEN_BOOLEAN = 316 // "boolean"
};
/// Backward compatibility alias (Bison 3.6).
typedef token_kind_type yytokentype;
@@ -567,7 +568,7 @@ namespace isc { namespace d2 {
{
enum symbol_kind_type
{
- YYNTOKENS = 61, ///< Number of tokens.
+ YYNTOKENS = 62, ///< Number of tokens.
S_YYEMPTY = -2,
S_YYEOF = 0, // "end of file"
S_YYerror = 1, // error
@@ -600,188 +601,191 @@ namespace isc { namespace d2 {
S_ALGORITHM = 28, // "algorithm"
S_DIGEST_BITS = 29, // "digest-bits"
S_SECRET = 30, // "secret"
- S_CONTROL_SOCKET = 31, // "control-socket"
- S_SOCKET_TYPE = 32, // "socket-type"
- S_SOCKET_NAME = 33, // "socket-name"
- S_HOOKS_LIBRARIES = 34, // "hooks-libraries"
- S_LIBRARY = 35, // "library"
- S_PARAMETERS = 36, // "parameters"
- S_LOGGERS = 37, // "loggers"
- S_NAME = 38, // "name"
- S_OUTPUT_OPTIONS = 39, // "output-options"
- S_OUTPUT = 40, // "output"
- S_DEBUGLEVEL = 41, // "debuglevel"
- S_SEVERITY = 42, // "severity"
- S_FLUSH = 43, // "flush"
- S_MAXSIZE = 44, // "maxsize"
- S_MAXVER = 45, // "maxver"
- S_PATTERN = 46, // "pattern"
- S_TOPLEVEL_JSON = 47, // TOPLEVEL_JSON
- S_TOPLEVEL_DHCPDDNS = 48, // TOPLEVEL_DHCPDDNS
- S_SUB_DHCPDDNS = 49, // SUB_DHCPDDNS
- S_SUB_TSIG_KEY = 50, // SUB_TSIG_KEY
- S_SUB_TSIG_KEYS = 51, // SUB_TSIG_KEYS
- S_SUB_DDNS_DOMAIN = 52, // SUB_DDNS_DOMAIN
- S_SUB_DDNS_DOMAINS = 53, // SUB_DDNS_DOMAINS
- S_SUB_DNS_SERVER = 54, // SUB_DNS_SERVER
- S_SUB_DNS_SERVERS = 55, // SUB_DNS_SERVERS
- S_SUB_HOOKS_LIBRARY = 56, // SUB_HOOKS_LIBRARY
- S_STRING = 57, // "constant string"
- S_INTEGER = 58, // "integer"
- S_FLOAT = 59, // "floating point"
- S_BOOLEAN = 60, // "boolean"
- S_YYACCEPT = 61, // $accept
- S_start = 62, // start
- S_63_1 = 63, // $@1
- S_64_2 = 64, // $@2
- S_65_3 = 65, // $@3
- S_66_4 = 66, // $@4
- S_67_5 = 67, // $@5
- S_68_6 = 68, // $@6
- S_69_7 = 69, // $@7
- S_70_8 = 70, // $@8
- S_71_9 = 71, // $@9
- S_72_10 = 72, // $@10
- S_value = 73, // value
- S_sub_json = 74, // sub_json
- S_map2 = 75, // map2
- S_76_11 = 76, // $@11
- S_map_value = 77, // map_value
- S_map_content = 78, // map_content
- S_not_empty_map = 79, // not_empty_map
- S_list_generic = 80, // list_generic
- S_81_12 = 81, // $@12
- S_list_content = 82, // list_content
- S_not_empty_list = 83, // not_empty_list
- S_unknown_map_entry = 84, // unknown_map_entry
- S_syntax_map = 85, // syntax_map
- S_86_13 = 86, // $@13
- S_global_object = 87, // global_object
- S_88_14 = 88, // $@14
- S_global_object_comma = 89, // global_object_comma
- S_sub_dhcpddns = 90, // sub_dhcpddns
- S_91_15 = 91, // $@15
- S_dhcpddns_params = 92, // dhcpddns_params
- S_dhcpddns_param = 93, // dhcpddns_param
- S_ip_address = 94, // ip_address
- S_95_16 = 95, // $@16
- S_port = 96, // port
- S_dns_server_timeout = 97, // dns_server_timeout
- S_ncr_protocol = 98, // ncr_protocol
- S_99_17 = 99, // $@17
- S_ncr_protocol_value = 100, // ncr_protocol_value
- S_ncr_format = 101, // ncr_format
- S_102_18 = 102, // $@18
- S_user_context = 103, // user_context
- S_104_19 = 104, // $@19
- S_comment = 105, // comment
- S_106_20 = 106, // $@20
- S_forward_ddns = 107, // forward_ddns
- S_108_21 = 108, // $@21
- S_reverse_ddns = 109, // reverse_ddns
- S_110_22 = 110, // $@22
- S_ddns_mgr_params = 111, // ddns_mgr_params
- S_not_empty_ddns_mgr_params = 112, // not_empty_ddns_mgr_params
- S_ddns_mgr_param = 113, // ddns_mgr_param
- S_ddns_domains = 114, // ddns_domains
- S_115_23 = 115, // $@23
- S_sub_ddns_domains = 116, // sub_ddns_domains
- S_117_24 = 117, // $@24
- S_ddns_domain_list = 118, // ddns_domain_list
- S_not_empty_ddns_domain_list = 119, // not_empty_ddns_domain_list
- S_ddns_domain = 120, // ddns_domain
- S_121_25 = 121, // $@25
- S_sub_ddns_domain = 122, // sub_ddns_domain
- S_123_26 = 123, // $@26
- S_ddns_domain_params = 124, // ddns_domain_params
- S_ddns_domain_param = 125, // ddns_domain_param
- S_ddns_domain_name = 126, // ddns_domain_name
- S_127_27 = 127, // $@27
- S_ddns_key_name = 128, // ddns_key_name
- S_129_28 = 129, // $@28
- S_dns_servers = 130, // dns_servers
- S_131_29 = 131, // $@29
- S_sub_dns_servers = 132, // sub_dns_servers
- S_133_30 = 133, // $@30
- S_dns_server_list = 134, // dns_server_list
- S_dns_server = 135, // dns_server
- S_136_31 = 136, // $@31
- S_sub_dns_server = 137, // sub_dns_server
- S_138_32 = 138, // $@32
- S_dns_server_params = 139, // dns_server_params
- S_dns_server_param = 140, // dns_server_param
- S_dns_server_hostname = 141, // dns_server_hostname
- S_142_33 = 142, // $@33
- S_dns_server_ip_address = 143, // dns_server_ip_address
- S_144_34 = 144, // $@34
- S_dns_server_port = 145, // dns_server_port
- S_tsig_keys = 146, // tsig_keys
- S_147_35 = 147, // $@35
- S_sub_tsig_keys = 148, // sub_tsig_keys
- S_149_36 = 149, // $@36
- S_tsig_keys_list = 150, // tsig_keys_list
- S_not_empty_tsig_keys_list = 151, // not_empty_tsig_keys_list
- S_tsig_key = 152, // tsig_key
- S_153_37 = 153, // $@37
- S_sub_tsig_key = 154, // sub_tsig_key
- S_155_38 = 155, // $@38
- S_tsig_key_params = 156, // tsig_key_params
- S_tsig_key_param = 157, // tsig_key_param
- S_tsig_key_name = 158, // tsig_key_name
- S_159_39 = 159, // $@39
- S_tsig_key_algorithm = 160, // tsig_key_algorithm
- S_161_40 = 161, // $@40
- S_tsig_key_digest_bits = 162, // tsig_key_digest_bits
- S_tsig_key_secret = 163, // tsig_key_secret
- S_164_41 = 164, // $@41
- S_control_socket = 165, // control_socket
- S_166_42 = 166, // $@42
- S_control_socket_params = 167, // control_socket_params
- S_control_socket_param = 168, // control_socket_param
- S_control_socket_type = 169, // control_socket_type
- S_170_43 = 170, // $@43
- S_control_socket_name = 171, // control_socket_name
- S_172_44 = 172, // $@44
- S_hooks_libraries = 173, // hooks_libraries
- S_174_45 = 174, // $@45
- S_hooks_libraries_list = 175, // hooks_libraries_list
- S_not_empty_hooks_libraries_list = 176, // not_empty_hooks_libraries_list
- S_hooks_library = 177, // hooks_library
- S_178_46 = 178, // $@46
- S_sub_hooks_library = 179, // sub_hooks_library
- S_180_47 = 180, // $@47
- S_hooks_params = 181, // hooks_params
- S_hooks_param = 182, // hooks_param
- S_library = 183, // library
- S_184_48 = 184, // $@48
- S_parameters = 185, // parameters
- S_186_49 = 186, // $@49
- S_loggers = 187, // loggers
- S_188_50 = 188, // $@50
- S_loggers_entries = 189, // loggers_entries
- S_logger_entry = 190, // logger_entry
+ S_SECRET_FILE = 31, // "secret-file"
+ S_CONTROL_SOCKET = 32, // "control-socket"
+ S_SOCKET_TYPE = 33, // "socket-type"
+ S_SOCKET_NAME = 34, // "socket-name"
+ S_HOOKS_LIBRARIES = 35, // "hooks-libraries"
+ S_LIBRARY = 36, // "library"
+ S_PARAMETERS = 37, // "parameters"
+ S_LOGGERS = 38, // "loggers"
+ S_NAME = 39, // "name"
+ S_OUTPUT_OPTIONS = 40, // "output-options"
+ S_OUTPUT = 41, // "output"
+ S_DEBUGLEVEL = 42, // "debuglevel"
+ S_SEVERITY = 43, // "severity"
+ S_FLUSH = 44, // "flush"
+ S_MAXSIZE = 45, // "maxsize"
+ S_MAXVER = 46, // "maxver"
+ S_PATTERN = 47, // "pattern"
+ S_TOPLEVEL_JSON = 48, // TOPLEVEL_JSON
+ S_TOPLEVEL_DHCPDDNS = 49, // TOPLEVEL_DHCPDDNS
+ S_SUB_DHCPDDNS = 50, // SUB_DHCPDDNS
+ S_SUB_TSIG_KEY = 51, // SUB_TSIG_KEY
+ S_SUB_TSIG_KEYS = 52, // SUB_TSIG_KEYS
+ S_SUB_DDNS_DOMAIN = 53, // SUB_DDNS_DOMAIN
+ S_SUB_DDNS_DOMAINS = 54, // SUB_DDNS_DOMAINS
+ S_SUB_DNS_SERVER = 55, // SUB_DNS_SERVER
+ S_SUB_DNS_SERVERS = 56, // SUB_DNS_SERVERS
+ S_SUB_HOOKS_LIBRARY = 57, // SUB_HOOKS_LIBRARY
+ S_STRING = 58, // "constant string"
+ S_INTEGER = 59, // "integer"
+ S_FLOAT = 60, // "floating point"
+ S_BOOLEAN = 61, // "boolean"
+ S_YYACCEPT = 62, // $accept
+ S_start = 63, // start
+ S_64_1 = 64, // $@1
+ S_65_2 = 65, // $@2
+ S_66_3 = 66, // $@3
+ S_67_4 = 67, // $@4
+ S_68_5 = 68, // $@5
+ S_69_6 = 69, // $@6
+ S_70_7 = 70, // $@7
+ S_71_8 = 71, // $@8
+ S_72_9 = 72, // $@9
+ S_73_10 = 73, // $@10
+ S_value = 74, // value
+ S_sub_json = 75, // sub_json
+ S_map2 = 76, // map2
+ S_77_11 = 77, // $@11
+ S_map_value = 78, // map_value
+ S_map_content = 79, // map_content
+ S_not_empty_map = 80, // not_empty_map
+ S_list_generic = 81, // list_generic
+ S_82_12 = 82, // $@12
+ S_list_content = 83, // list_content
+ S_not_empty_list = 84, // not_empty_list
+ S_unknown_map_entry = 85, // unknown_map_entry
+ S_syntax_map = 86, // syntax_map
+ S_87_13 = 87, // $@13
+ S_global_object = 88, // global_object
+ S_89_14 = 89, // $@14
+ S_global_object_comma = 90, // global_object_comma
+ S_sub_dhcpddns = 91, // sub_dhcpddns
+ S_92_15 = 92, // $@15
+ S_dhcpddns_params = 93, // dhcpddns_params
+ S_dhcpddns_param = 94, // dhcpddns_param
+ S_ip_address = 95, // ip_address
+ S_96_16 = 96, // $@16
+ S_port = 97, // port
+ S_dns_server_timeout = 98, // dns_server_timeout
+ S_ncr_protocol = 99, // ncr_protocol
+ S_100_17 = 100, // $@17
+ S_ncr_protocol_value = 101, // ncr_protocol_value
+ S_ncr_format = 102, // ncr_format
+ S_103_18 = 103, // $@18
+ S_user_context = 104, // user_context
+ S_105_19 = 105, // $@19
+ S_comment = 106, // comment
+ S_107_20 = 107, // $@20
+ S_forward_ddns = 108, // forward_ddns
+ S_109_21 = 109, // $@21
+ S_reverse_ddns = 110, // reverse_ddns
+ S_111_22 = 111, // $@22
+ S_ddns_mgr_params = 112, // ddns_mgr_params
+ S_not_empty_ddns_mgr_params = 113, // not_empty_ddns_mgr_params
+ S_ddns_mgr_param = 114, // ddns_mgr_param
+ S_ddns_domains = 115, // ddns_domains
+ S_116_23 = 116, // $@23
+ S_sub_ddns_domains = 117, // sub_ddns_domains
+ S_118_24 = 118, // $@24
+ S_ddns_domain_list = 119, // ddns_domain_list
+ S_not_empty_ddns_domain_list = 120, // not_empty_ddns_domain_list
+ S_ddns_domain = 121, // ddns_domain
+ S_122_25 = 122, // $@25
+ S_sub_ddns_domain = 123, // sub_ddns_domain
+ S_124_26 = 124, // $@26
+ S_ddns_domain_params = 125, // ddns_domain_params
+ S_ddns_domain_param = 126, // ddns_domain_param
+ S_ddns_domain_name = 127, // ddns_domain_name
+ S_128_27 = 128, // $@27
+ S_ddns_key_name = 129, // ddns_key_name
+ S_130_28 = 130, // $@28
+ S_dns_servers = 131, // dns_servers
+ S_132_29 = 132, // $@29
+ S_sub_dns_servers = 133, // sub_dns_servers
+ S_134_30 = 134, // $@30
+ S_dns_server_list = 135, // dns_server_list
+ S_dns_server = 136, // dns_server
+ S_137_31 = 137, // $@31
+ S_sub_dns_server = 138, // sub_dns_server
+ S_139_32 = 139, // $@32
+ S_dns_server_params = 140, // dns_server_params
+ S_dns_server_param = 141, // dns_server_param
+ S_dns_server_hostname = 142, // dns_server_hostname
+ S_143_33 = 143, // $@33
+ S_dns_server_ip_address = 144, // dns_server_ip_address
+ S_145_34 = 145, // $@34
+ S_dns_server_port = 146, // dns_server_port
+ S_tsig_keys = 147, // tsig_keys
+ S_148_35 = 148, // $@35
+ S_sub_tsig_keys = 149, // sub_tsig_keys
+ S_150_36 = 150, // $@36
+ S_tsig_keys_list = 151, // tsig_keys_list
+ S_not_empty_tsig_keys_list = 152, // not_empty_tsig_keys_list
+ S_tsig_key = 153, // tsig_key
+ S_154_37 = 154, // $@37
+ S_sub_tsig_key = 155, // sub_tsig_key
+ S_156_38 = 156, // $@38
+ S_tsig_key_params = 157, // tsig_key_params
+ S_tsig_key_param = 158, // tsig_key_param
+ S_tsig_key_name = 159, // tsig_key_name
+ S_160_39 = 160, // $@39
+ S_tsig_key_algorithm = 161, // tsig_key_algorithm
+ S_162_40 = 162, // $@40
+ S_tsig_key_digest_bits = 163, // tsig_key_digest_bits
+ S_tsig_key_secret = 164, // tsig_key_secret
+ S_165_41 = 165, // $@41
+ S_tsig_key_secret_file = 166, // tsig_key_secret_file
+ S_167_42 = 167, // $@42
+ S_control_socket = 168, // control_socket
+ S_169_43 = 169, // $@43
+ S_control_socket_params = 170, // control_socket_params
+ S_control_socket_param = 171, // control_socket_param
+ S_control_socket_type = 172, // control_socket_type
+ S_173_44 = 173, // $@44
+ S_control_socket_name = 174, // control_socket_name
+ S_175_45 = 175, // $@45
+ S_hooks_libraries = 176, // hooks_libraries
+ S_177_46 = 177, // $@46
+ S_hooks_libraries_list = 178, // hooks_libraries_list
+ S_not_empty_hooks_libraries_list = 179, // not_empty_hooks_libraries_list
+ S_hooks_library = 180, // hooks_library
+ S_181_47 = 181, // $@47
+ S_sub_hooks_library = 182, // sub_hooks_library
+ S_183_48 = 183, // $@48
+ S_hooks_params = 184, // hooks_params
+ S_hooks_param = 185, // hooks_param
+ S_library = 186, // library
+ S_187_49 = 187, // $@49
+ S_parameters = 188, // parameters
+ S_189_50 = 189, // $@50
+ S_loggers = 190, // loggers
S_191_51 = 191, // $@51
- S_logger_params = 192, // logger_params
- S_logger_param = 193, // logger_param
- S_name = 194, // name
- S_195_52 = 195, // $@52
- S_debuglevel = 196, // debuglevel
- S_severity = 197, // severity
+ S_loggers_entries = 192, // loggers_entries
+ S_logger_entry = 193, // logger_entry
+ S_194_52 = 194, // $@52
+ S_logger_params = 195, // logger_params
+ S_logger_param = 196, // logger_param
+ S_name = 197, // name
S_198_53 = 198, // $@53
- S_output_options_list = 199, // output_options_list
- S_200_54 = 200, // $@54
- S_output_options_list_content = 201, // output_options_list_content
- S_output_entry = 202, // output_entry
+ S_debuglevel = 199, // debuglevel
+ S_severity = 200, // severity
+ S_201_54 = 201, // $@54
+ S_output_options_list = 202, // output_options_list
S_203_55 = 203, // $@55
- S_output_params_list = 204, // output_params_list
- S_output_params = 205, // output_params
- S_output = 206, // output
- S_207_56 = 207, // $@56
- S_flush = 208, // flush
- S_maxsize = 209, // maxsize
- S_maxver = 210, // maxver
- S_pattern = 211, // pattern
- S_212_57 = 212 // $@57
+ S_output_options_list_content = 204, // output_options_list_content
+ S_output_entry = 205, // output_entry
+ S_206_56 = 206, // $@56
+ S_output_params_list = 207, // output_params_list
+ S_output_params = 208, // output_params
+ S_output = 209, // output
+ S_210_57 = 210, // $@57
+ S_flush = 211, // flush
+ S_maxsize = 212, // maxsize
+ S_maxver = 213, // maxver
+ S_pattern = 214, // pattern
+ S_215_58 = 215 // $@58
};
};
@@ -1644,6 +1648,21 @@ switch (yykind)
#if 201103L <= YY_CPLUSPLUS
static
symbol_type
+ make_SECRET_FILE (location_type l)
+ {
+ return symbol_type (token::TOKEN_SECRET_FILE, std::move (l));
+ }
+#else
+ static
+ symbol_type
+ make_SECRET_FILE (const location_type& l)
+ {
+ return symbol_type (token::TOKEN_SECRET_FILE, 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));
@@ -2421,8 +2440,8 @@ switch (yykind)
/// Constants.
enum
{
- yylast_ = 307, ///< Last index in yytable_.
- yynnts_ = 152, ///< Number of nonterminal symbols.
+ yylast_ = 312, ///< Last index in yytable_.
+ yynnts_ = 154, ///< Number of nonterminal symbols.
yyfinal_ = 22 ///< Termination state number.
};
@@ -2473,10 +2492,10 @@ switch (yykind)
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
+ 55, 56, 57, 58, 59, 60, 61
};
// Last valid token kind.
- const int code_max = 315;
+ const int code_max = 316;
if (t <= 0)
return symbol_kind::S_YYEOF;
@@ -2637,7 +2656,7 @@ switch (yykind)
#line 14 "d2_parser.yy"
} } // isc::d2
-#line 2641 "d2_parser.h"
+#line 2660 "d2_parser.h"
diff --git a/src/bin/d2/location.hh b/src/bin/d2/location.hh
index 4145366614..231f11fb62 100644
--- a/src/bin/d2/location.hh
+++ b/src/bin/d2/location.hh
@@ -1,3 +1,4 @@
+// Generated 202403270930
// A Bison parser, made by GNU Bison 3.8.2.
// Locations for Bison parsers in C++