From a3bd7af4d9c8889121e52ec6496a6ae588b80fef Mon Sep 17 00:00:00 2001 From: Francis Dupont Date: Sun, 3 Dec 2017 12:45:12 +0000 Subject: [PATCH] [trac5351] regen flex/bison --- src/bin/dhcp4/dhcp4_lexer.cc | 366 +++-- src/bin/dhcp4/dhcp4_parser.cc | 2406 ++++++++++++++++---------------- src/bin/dhcp4/dhcp4_parser.h | 131 +- src/bin/dhcp4/location.hh | 2 +- src/bin/dhcp4/position.hh | 2 +- src/bin/dhcp4/stack.hh | 2 +- src/bin/dhcp6/dhcp6_lexer.cc | 374 +++-- src/bin/dhcp6/dhcp6_parser.cc | 2412 +++++++++++++++++---------------- src/bin/dhcp6/dhcp6_parser.h | 121 +- src/bin/dhcp6/location.hh | 2 +- src/bin/dhcp6/position.hh | 2 +- src/bin/dhcp6/stack.hh | 2 +- 12 files changed, 2948 insertions(+), 2874 deletions(-) diff --git a/src/bin/dhcp4/dhcp4_lexer.cc b/src/bin/dhcp4/dhcp4_lexer.cc index 457bc57748..1cee63d7ee 100644 --- a/src/bin/dhcp4/dhcp4_lexer.cc +++ b/src/bin/dhcp4/dhcp4_lexer.cc @@ -1583,23 +1583,23 @@ int yy_flex_debug = 1; static const flex_int16_t yy_rule_linenum[159] = { 0, - 143, 145, 147, 152, 153, 158, 159, 160, 172, 175, - 180, 187, 196, 205, 214, 223, 233, 242, 251, 260, - 269, 278, 287, 296, 305, 316, 325, 334, 343, 352, - 362, 372, 382, 392, 402, 412, 422, 432, 442, 453, - 464, 475, 484, 494, 503, 513, 528, 544, 553, 562, - 571, 580, 602, 624, 633, 643, 652, 661, 670, 680, - 689, 698, 707, 716, 726, 735, 744, 753, 762, 771, - 780, 789, 798, 807, 816, 826, 837, 847, 856, 866, - 876, 886, 896, 906, 915, 925, 934, 943, 952, 961, - 971, 981, 991, 1000, 1009, 1018, 1027, 1036, 1045, 1054, + 145, 147, 149, 154, 155, 160, 161, 162, 174, 177, + 182, 189, 198, 207, 216, 225, 235, 244, 253, 262, + 271, 280, 289, 298, 307, 318, 327, 336, 345, 354, + 364, 374, 384, 394, 404, 414, 424, 434, 444, 455, + 466, 477, 486, 496, 505, 515, 530, 546, 555, 564, + 573, 582, 602, 622, 631, 641, 650, 659, 668, 678, + 687, 696, 705, 714, 724, 733, 742, 751, 760, 769, + 778, 787, 796, 805, 814, 824, 835, 845, 854, 864, + 874, 884, 894, 904, 913, 923, 932, 941, 950, 959, + 969, 979, 989, 998, 1007, 1016, 1025, 1034, 1043, 1052, - 1063, 1072, 1081, 1090, 1099, 1108, 1117, 1126, 1135, 1144, - 1153, 1162, 1171, 1180, 1189, 1198, 1207, 1216, 1225, 1234, - 1243, 1253, 1263, 1273, 1283, 1293, 1303, 1313, 1323, 1333, - 1342, 1351, 1360, 1369, 1378, 1387, 1396, 1407, 1420, 1433, - 1448, 1546, 1551, 1556, 1561, 1562, 1563, 1564, 1565, 1566, - 1568, 1586, 1599, 1604, 1608, 1610, 1612, 1614 + 1061, 1070, 1079, 1088, 1097, 1106, 1115, 1124, 1133, 1142, + 1151, 1160, 1169, 1178, 1187, 1196, 1205, 1214, 1223, 1232, + 1241, 1251, 1261, 1271, 1281, 1291, 1301, 1311, 1321, 1331, + 1340, 1349, 1358, 1367, 1376, 1385, 1394, 1405, 1418, 1431, + 1446, 1544, 1549, 1554, 1559, 1560, 1561, 1562, 1563, 1564, + 1566, 1584, 1597, 1602, 1606, 1608, 1610, 1612 } ; /* The intent behind this definition is that it'll catch @@ -2001,11 +2001,13 @@ YY_DECL return isc::dhcp::Dhcp4Parser::make_SUB_HOOKS_LIBRARY(driver.loc_); case Parser4Context::PARSER_DHCP_DDNS: return isc::dhcp::Dhcp4Parser::make_SUB_DHCP_DDNS(driver.loc_); + case Parser4Context::PARSER_LOGGING: + return isc::dhcp::Dhcp4Parser::make_SUB_LOGGING(driver.loc_); } } -#line 2008 "dhcp4_lexer.cc" +#line 2010 "dhcp4_lexer.cc" while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { @@ -2083,17 +2085,17 @@ do_action: /* This label is used only to access EOF actions. */ case 1: YY_RULE_SETUP -#line 143 "dhcp4_lexer.ll" +#line 145 "dhcp4_lexer.ll" ; YY_BREAK case 2: YY_RULE_SETUP -#line 145 "dhcp4_lexer.ll" +#line 147 "dhcp4_lexer.ll" ; YY_BREAK case 3: YY_RULE_SETUP -#line 147 "dhcp4_lexer.ll" +#line 149 "dhcp4_lexer.ll" { BEGIN(COMMENT); comment_start_line = driver.loc_.end.line;; @@ -2101,33 +2103,33 @@ YY_RULE_SETUP YY_BREAK case 4: YY_RULE_SETUP -#line 152 "dhcp4_lexer.ll" +#line 154 "dhcp4_lexer.ll" BEGIN(INITIAL); YY_BREAK case 5: YY_RULE_SETUP -#line 153 "dhcp4_lexer.ll" +#line 155 "dhcp4_lexer.ll" ; YY_BREAK case YY_STATE_EOF(COMMENT): -#line 154 "dhcp4_lexer.ll" +#line 156 "dhcp4_lexer.ll" { isc_throw(Dhcp4ParseError, "Comment not closed. (/* in line " << comment_start_line); } YY_BREAK case 6: YY_RULE_SETUP -#line 158 "dhcp4_lexer.ll" +#line 160 "dhcp4_lexer.ll" BEGIN(DIR_ENTER); YY_BREAK case 7: YY_RULE_SETUP -#line 159 "dhcp4_lexer.ll" +#line 161 "dhcp4_lexer.ll" BEGIN(DIR_INCLUDE); YY_BREAK case 8: YY_RULE_SETUP -#line 160 "dhcp4_lexer.ll" +#line 162 "dhcp4_lexer.ll" { /* Include directive. */ @@ -2141,19 +2143,19 @@ YY_RULE_SETUP case YY_STATE_EOF(DIR_ENTER): case YY_STATE_EOF(DIR_INCLUDE): case YY_STATE_EOF(DIR_EXIT): -#line 169 "dhcp4_lexer.ll" +#line 171 "dhcp4_lexer.ll" { isc_throw(Dhcp4ParseError, "Directive not closed."); } YY_BREAK case 9: YY_RULE_SETUP -#line 172 "dhcp4_lexer.ll" +#line 174 "dhcp4_lexer.ll" BEGIN(INITIAL); YY_BREAK case 10: YY_RULE_SETUP -#line 175 "dhcp4_lexer.ll" +#line 177 "dhcp4_lexer.ll" { /* Ok, we found a with space. Let's ignore it and update loc variable. */ driver.loc_.step(); @@ -2162,7 +2164,7 @@ YY_RULE_SETUP case 11: /* rule 11 can match eol */ YY_RULE_SETUP -#line 180 "dhcp4_lexer.ll" +#line 182 "dhcp4_lexer.ll" { /* Newline found. Let's update the location and continue. */ driver.loc_.lines(yyleng); @@ -2171,7 +2173,7 @@ YY_RULE_SETUP YY_BREAK case 12: YY_RULE_SETUP -#line 187 "dhcp4_lexer.ll" +#line 189 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::CONFIG: @@ -2183,7 +2185,7 @@ YY_RULE_SETUP YY_BREAK case 13: YY_RULE_SETUP -#line 196 "dhcp4_lexer.ll" +#line 198 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -2195,7 +2197,7 @@ YY_RULE_SETUP YY_BREAK case 14: YY_RULE_SETUP -#line 205 "dhcp4_lexer.ll" +#line 207 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::INTERFACES_CONFIG: @@ -2207,7 +2209,7 @@ YY_RULE_SETUP YY_BREAK case 15: YY_RULE_SETUP -#line 214 "dhcp4_lexer.ll" +#line 216 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_SOCKET_TYPE: @@ -2219,7 +2221,7 @@ YY_RULE_SETUP YY_BREAK case 16: YY_RULE_SETUP -#line 223 "dhcp4_lexer.ll" +#line 225 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_SOCKET_TYPE: @@ -2232,7 +2234,7 @@ YY_RULE_SETUP YY_BREAK case 17: YY_RULE_SETUP -#line 233 "dhcp4_lexer.ll" +#line 235 "dhcp4_lexer.ll" { switch(driver.ctx_) { case Parser4Context::INTERFACES_CONFIG: @@ -2244,7 +2246,7 @@ YY_RULE_SETUP YY_BREAK case 18: YY_RULE_SETUP -#line 242 "dhcp4_lexer.ll" +#line 244 "dhcp4_lexer.ll" { switch(driver.ctx_) { case Parser4Context::OUTBOUND_INTERFACE: @@ -2256,7 +2258,7 @@ YY_RULE_SETUP YY_BREAK case 19: YY_RULE_SETUP -#line 251 "dhcp4_lexer.ll" +#line 253 "dhcp4_lexer.ll" { switch(driver.ctx_) { case Parser4Context::OUTBOUND_INTERFACE: @@ -2268,7 +2270,7 @@ YY_RULE_SETUP YY_BREAK case 20: YY_RULE_SETUP -#line 260 "dhcp4_lexer.ll" +#line 262 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::INTERFACES_CONFIG: @@ -2280,7 +2282,7 @@ YY_RULE_SETUP YY_BREAK case 21: YY_RULE_SETUP -#line 269 "dhcp4_lexer.ll" +#line 271 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::INTERFACES_CONFIG: @@ -2292,7 +2294,7 @@ YY_RULE_SETUP YY_BREAK case 22: YY_RULE_SETUP -#line 278 "dhcp4_lexer.ll" +#line 280 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -2304,7 +2306,7 @@ YY_RULE_SETUP YY_BREAK case 23: YY_RULE_SETUP -#line 287 "dhcp4_lexer.ll" +#line 289 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -2316,7 +2318,7 @@ YY_RULE_SETUP YY_BREAK case 24: YY_RULE_SETUP -#line 296 "dhcp4_lexer.ll" +#line 298 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::HOSTS_DATABASE: @@ -2328,7 +2330,7 @@ YY_RULE_SETUP YY_BREAK case 25: YY_RULE_SETUP -#line 305 "dhcp4_lexer.ll" +#line 307 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::LEASE_DATABASE: @@ -2342,7 +2344,7 @@ YY_RULE_SETUP YY_BREAK case 26: YY_RULE_SETUP -#line 316 "dhcp4_lexer.ll" +#line 318 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DATABASE_TYPE: @@ -2354,7 +2356,7 @@ YY_RULE_SETUP YY_BREAK case 27: YY_RULE_SETUP -#line 325 "dhcp4_lexer.ll" +#line 327 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DATABASE_TYPE: @@ -2366,7 +2368,7 @@ YY_RULE_SETUP YY_BREAK case 28: YY_RULE_SETUP -#line 334 "dhcp4_lexer.ll" +#line 336 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DATABASE_TYPE: @@ -2378,7 +2380,7 @@ YY_RULE_SETUP YY_BREAK case 29: YY_RULE_SETUP -#line 343 "dhcp4_lexer.ll" +#line 345 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DATABASE_TYPE: @@ -2390,7 +2392,7 @@ YY_RULE_SETUP YY_BREAK case 30: YY_RULE_SETUP -#line 352 "dhcp4_lexer.ll" +#line 354 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::LEASE_DATABASE: @@ -2403,7 +2405,7 @@ YY_RULE_SETUP YY_BREAK case 31: YY_RULE_SETUP -#line 362 "dhcp4_lexer.ll" +#line 364 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::LEASE_DATABASE: @@ -2416,7 +2418,7 @@ YY_RULE_SETUP YY_BREAK case 32: YY_RULE_SETUP -#line 372 "dhcp4_lexer.ll" +#line 374 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::LEASE_DATABASE: @@ -2429,7 +2431,7 @@ YY_RULE_SETUP YY_BREAK case 33: YY_RULE_SETUP -#line 382 "dhcp4_lexer.ll" +#line 384 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::LEASE_DATABASE: @@ -2442,7 +2444,7 @@ YY_RULE_SETUP YY_BREAK case 34: YY_RULE_SETUP -#line 392 "dhcp4_lexer.ll" +#line 394 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::LEASE_DATABASE: @@ -2455,7 +2457,7 @@ YY_RULE_SETUP YY_BREAK case 35: YY_RULE_SETUP -#line 402 "dhcp4_lexer.ll" +#line 404 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::LEASE_DATABASE: @@ -2468,7 +2470,7 @@ YY_RULE_SETUP YY_BREAK case 36: YY_RULE_SETUP -#line 412 "dhcp4_lexer.ll" +#line 414 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::LEASE_DATABASE: @@ -2481,7 +2483,7 @@ YY_RULE_SETUP YY_BREAK case 37: YY_RULE_SETUP -#line 422 "dhcp4_lexer.ll" +#line 424 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::LEASE_DATABASE: @@ -2494,7 +2496,7 @@ YY_RULE_SETUP YY_BREAK case 38: YY_RULE_SETUP -#line 432 "dhcp4_lexer.ll" +#line 434 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::LEASE_DATABASE: @@ -2507,7 +2509,7 @@ YY_RULE_SETUP YY_BREAK case 39: YY_RULE_SETUP -#line 442 "dhcp4_lexer.ll" +#line 444 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -2521,7 +2523,7 @@ YY_RULE_SETUP YY_BREAK case 40: YY_RULE_SETUP -#line 453 "dhcp4_lexer.ll" +#line 455 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -2535,7 +2537,7 @@ YY_RULE_SETUP YY_BREAK case 41: YY_RULE_SETUP -#line 464 "dhcp4_lexer.ll" +#line 466 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -2549,7 +2551,7 @@ YY_RULE_SETUP YY_BREAK case 42: YY_RULE_SETUP -#line 475 "dhcp4_lexer.ll" +#line 477 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -2561,7 +2563,7 @@ YY_RULE_SETUP YY_BREAK case 43: YY_RULE_SETUP -#line 484 "dhcp4_lexer.ll" +#line 486 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -2574,7 +2576,7 @@ YY_RULE_SETUP YY_BREAK case 44: YY_RULE_SETUP -#line 494 "dhcp4_lexer.ll" +#line 496 "dhcp4_lexer.ll" { switch (driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -2586,7 +2588,7 @@ YY_RULE_SETUP YY_BREAK case 45: YY_RULE_SETUP -#line 503 "dhcp4_lexer.ll" +#line 505 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -2599,7 +2601,7 @@ YY_RULE_SETUP YY_BREAK case 46: YY_RULE_SETUP -#line 513 "dhcp4_lexer.ll" +#line 515 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -2617,7 +2619,7 @@ YY_RULE_SETUP YY_BREAK case 47: YY_RULE_SETUP -#line 528 "dhcp4_lexer.ll" +#line 530 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::LEASE_DATABASE: @@ -2636,7 +2638,7 @@ YY_RULE_SETUP YY_BREAK case 48: YY_RULE_SETUP -#line 544 "dhcp4_lexer.ll" +#line 546 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::OPTION_DATA: @@ -2648,7 +2650,7 @@ YY_RULE_SETUP YY_BREAK case 49: YY_RULE_SETUP -#line 553 "dhcp4_lexer.ll" +#line 555 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::OPTION_DATA: @@ -2660,7 +2662,7 @@ YY_RULE_SETUP YY_BREAK case 50: YY_RULE_SETUP -#line 562 "dhcp4_lexer.ll" +#line 564 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::SUBNET4: @@ -2672,7 +2674,7 @@ YY_RULE_SETUP YY_BREAK case 51: YY_RULE_SETUP -#line 571 "dhcp4_lexer.ll" +#line 573 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::POOLS: @@ -2684,13 +2686,11 @@ YY_RULE_SETUP YY_BREAK case 52: YY_RULE_SETUP -#line 580 "dhcp4_lexer.ll" +#line 582 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: case isc::dhcp::Parser4Context::INTERFACES_CONFIG: - case isc::dhcp::Parser4Context::LEASE_DATABASE: - case isc::dhcp::Parser4Context::HOSTS_DATABASE: case isc::dhcp::Parser4Context::SUBNET4: case isc::dhcp::Parser4Context::POOLS: case isc::dhcp::Parser4Context::SHARED_NETWORK: @@ -2714,8 +2714,6 @@ YY_RULE_SETUP switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: case isc::dhcp::Parser4Context::INTERFACES_CONFIG: - case isc::dhcp::Parser4Context::LEASE_DATABASE: - case isc::dhcp::Parser4Context::HOSTS_DATABASE: case isc::dhcp::Parser4Context::SUBNET4: case isc::dhcp::Parser4Context::POOLS: case isc::dhcp::Parser4Context::SHARED_NETWORK: @@ -2734,7 +2732,7 @@ YY_RULE_SETUP YY_BREAK case 54: YY_RULE_SETUP -#line 624 "dhcp4_lexer.ll" +#line 622 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::SUBNET4: @@ -2746,7 +2744,7 @@ YY_RULE_SETUP YY_BREAK case 55: YY_RULE_SETUP -#line 633 "dhcp4_lexer.ll" +#line 631 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::SUBNET4: @@ -2759,7 +2757,7 @@ YY_RULE_SETUP YY_BREAK case 56: YY_RULE_SETUP -#line 643 "dhcp4_lexer.ll" +#line 641 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::SUBNET4: @@ -2771,7 +2769,7 @@ YY_RULE_SETUP YY_BREAK case 57: YY_RULE_SETUP -#line 652 "dhcp4_lexer.ll" +#line 650 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::SUBNET4: @@ -2783,7 +2781,7 @@ YY_RULE_SETUP YY_BREAK case 58: YY_RULE_SETUP -#line 661 "dhcp4_lexer.ll" +#line 659 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::SUBNET4: @@ -2795,7 +2793,7 @@ YY_RULE_SETUP YY_BREAK case 59: YY_RULE_SETUP -#line 670 "dhcp4_lexer.ll" +#line 668 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::SUBNET4: @@ -2808,7 +2806,7 @@ YY_RULE_SETUP YY_BREAK case 60: YY_RULE_SETUP -#line 680 "dhcp4_lexer.ll" +#line 678 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::RESERVATION_MODE: @@ -2820,7 +2818,7 @@ YY_RULE_SETUP YY_BREAK case 61: YY_RULE_SETUP -#line 689 "dhcp4_lexer.ll" +#line 687 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::RESERVATION_MODE: @@ -2832,7 +2830,7 @@ YY_RULE_SETUP YY_BREAK case 62: YY_RULE_SETUP -#line 698 "dhcp4_lexer.ll" +#line 696 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::RESERVATION_MODE: @@ -2844,7 +2842,7 @@ YY_RULE_SETUP YY_BREAK case 63: YY_RULE_SETUP -#line 707 "dhcp4_lexer.ll" +#line 705 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::RESERVATION_MODE: @@ -2856,7 +2854,7 @@ YY_RULE_SETUP YY_BREAK case 64: YY_RULE_SETUP -#line 716 "dhcp4_lexer.ll" +#line 714 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::OPTION_DEF: @@ -2869,7 +2867,7 @@ YY_RULE_SETUP YY_BREAK case 65: YY_RULE_SETUP -#line 726 "dhcp4_lexer.ll" +#line 724 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -2881,7 +2879,7 @@ YY_RULE_SETUP YY_BREAK case 66: YY_RULE_SETUP -#line 735 "dhcp4_lexer.ll" +#line 733 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::CONFIG: @@ -2893,7 +2891,7 @@ YY_RULE_SETUP YY_BREAK case 67: YY_RULE_SETUP -#line 744 "dhcp4_lexer.ll" +#line 742 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::LOGGING: @@ -2905,7 +2903,7 @@ YY_RULE_SETUP YY_BREAK case 68: YY_RULE_SETUP -#line 753 "dhcp4_lexer.ll" +#line 751 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::LOGGERS: @@ -2917,7 +2915,7 @@ YY_RULE_SETUP YY_BREAK case 69: YY_RULE_SETUP -#line 762 "dhcp4_lexer.ll" +#line 760 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::OUTPUT_OPTIONS: @@ -2929,7 +2927,7 @@ YY_RULE_SETUP YY_BREAK case 70: YY_RULE_SETUP -#line 771 "dhcp4_lexer.ll" +#line 769 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::LOGGERS: @@ -2941,7 +2939,7 @@ YY_RULE_SETUP YY_BREAK case 71: YY_RULE_SETUP -#line 780 "dhcp4_lexer.ll" +#line 778 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::OUTPUT_OPTIONS: @@ -2953,7 +2951,7 @@ YY_RULE_SETUP YY_BREAK case 72: YY_RULE_SETUP -#line 789 "dhcp4_lexer.ll" +#line 787 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::OUTPUT_OPTIONS: @@ -2965,7 +2963,7 @@ YY_RULE_SETUP YY_BREAK case 73: YY_RULE_SETUP -#line 798 "dhcp4_lexer.ll" +#line 796 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::OUTPUT_OPTIONS: @@ -2977,7 +2975,7 @@ YY_RULE_SETUP YY_BREAK case 74: YY_RULE_SETUP -#line 807 "dhcp4_lexer.ll" +#line 805 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::LOGGERS: @@ -2989,7 +2987,7 @@ YY_RULE_SETUP YY_BREAK case 75: YY_RULE_SETUP -#line 816 "dhcp4_lexer.ll" +#line 814 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -3002,7 +3000,7 @@ YY_RULE_SETUP YY_BREAK case 76: YY_RULE_SETUP -#line 826 "dhcp4_lexer.ll" +#line 824 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::SUBNET4: @@ -3016,7 +3014,7 @@ YY_RULE_SETUP YY_BREAK case 77: YY_RULE_SETUP -#line 837 "dhcp4_lexer.ll" +#line 835 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::CLIENT_CLASSES: @@ -3029,7 +3027,7 @@ YY_RULE_SETUP YY_BREAK case 78: YY_RULE_SETUP -#line 847 "dhcp4_lexer.ll" +#line 845 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::SUBNET4: @@ -3041,7 +3039,7 @@ YY_RULE_SETUP YY_BREAK case 79: YY_RULE_SETUP -#line 856 "dhcp4_lexer.ll" +#line 854 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS: @@ -3054,7 +3052,7 @@ YY_RULE_SETUP YY_BREAK case 80: YY_RULE_SETUP -#line 866 "dhcp4_lexer.ll" +#line 864 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS: @@ -3067,7 +3065,7 @@ YY_RULE_SETUP YY_BREAK case 81: YY_RULE_SETUP -#line 876 "dhcp4_lexer.ll" +#line 874 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS: @@ -3080,7 +3078,7 @@ YY_RULE_SETUP YY_BREAK case 82: YY_RULE_SETUP -#line 886 "dhcp4_lexer.ll" +#line 884 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS: @@ -3093,7 +3091,7 @@ YY_RULE_SETUP YY_BREAK case 83: YY_RULE_SETUP -#line 896 "dhcp4_lexer.ll" +#line 894 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS: @@ -3106,7 +3104,7 @@ YY_RULE_SETUP YY_BREAK case 84: YY_RULE_SETUP -#line 906 "dhcp4_lexer.ll" +#line 904 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::RESERVATIONS: @@ -3118,7 +3116,7 @@ YY_RULE_SETUP YY_BREAK case 85: YY_RULE_SETUP -#line 915 "dhcp4_lexer.ll" +#line 913 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::OPTION_DEF: @@ -3131,7 +3129,7 @@ YY_RULE_SETUP YY_BREAK case 86: YY_RULE_SETUP -#line 925 "dhcp4_lexer.ll" +#line 923 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::OPTION_DATA: @@ -3143,7 +3141,7 @@ YY_RULE_SETUP YY_BREAK case 87: YY_RULE_SETUP -#line 934 "dhcp4_lexer.ll" +#line 932 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::OPTION_DEF: @@ -3155,7 +3153,7 @@ YY_RULE_SETUP YY_BREAK case 88: YY_RULE_SETUP -#line 943 "dhcp4_lexer.ll" +#line 941 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::OPTION_DEF: @@ -3167,7 +3165,7 @@ YY_RULE_SETUP YY_BREAK case 89: YY_RULE_SETUP -#line 952 "dhcp4_lexer.ll" +#line 950 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::OPTION_DEF: @@ -3179,7 +3177,7 @@ YY_RULE_SETUP YY_BREAK case 90: YY_RULE_SETUP -#line 961 "dhcp4_lexer.ll" +#line 959 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::SUBNET4: @@ -3192,7 +3190,7 @@ YY_RULE_SETUP YY_BREAK case 91: YY_RULE_SETUP -#line 971 "dhcp4_lexer.ll" +#line 969 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::RELAY: @@ -3205,7 +3203,7 @@ YY_RULE_SETUP YY_BREAK case 92: YY_RULE_SETUP -#line 981 "dhcp4_lexer.ll" +#line 979 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -3217,7 +3215,7 @@ YY_RULE_SETUP YY_BREAK case 93: YY_RULE_SETUP -#line 991 "dhcp4_lexer.ll" +#line 989 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::HOOKS_LIBRARIES: @@ -3229,7 +3227,7 @@ YY_RULE_SETUP YY_BREAK case 94: YY_RULE_SETUP -#line 1000 "dhcp4_lexer.ll" +#line 998 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::HOOKS_LIBRARIES: @@ -3241,7 +3239,7 @@ YY_RULE_SETUP YY_BREAK case 95: YY_RULE_SETUP -#line 1009 "dhcp4_lexer.ll" +#line 1007 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -3253,7 +3251,7 @@ YY_RULE_SETUP YY_BREAK case 96: YY_RULE_SETUP -#line 1018 "dhcp4_lexer.ll" +#line 1016 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING: @@ -3265,7 +3263,7 @@ YY_RULE_SETUP YY_BREAK case 97: YY_RULE_SETUP -#line 1027 "dhcp4_lexer.ll" +#line 1025 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING: @@ -3277,7 +3275,7 @@ YY_RULE_SETUP YY_BREAK case 98: YY_RULE_SETUP -#line 1036 "dhcp4_lexer.ll" +#line 1034 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING: @@ -3289,7 +3287,7 @@ YY_RULE_SETUP YY_BREAK case 99: YY_RULE_SETUP -#line 1045 "dhcp4_lexer.ll" +#line 1043 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING: @@ -3301,7 +3299,7 @@ YY_RULE_SETUP YY_BREAK case 100: YY_RULE_SETUP -#line 1054 "dhcp4_lexer.ll" +#line 1052 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING: @@ -3313,7 +3311,7 @@ YY_RULE_SETUP YY_BREAK case 101: YY_RULE_SETUP -#line 1063 "dhcp4_lexer.ll" +#line 1061 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING: @@ -3325,7 +3323,7 @@ YY_RULE_SETUP YY_BREAK case 102: YY_RULE_SETUP -#line 1072 "dhcp4_lexer.ll" +#line 1070 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -3337,7 +3335,7 @@ YY_RULE_SETUP YY_BREAK case 103: YY_RULE_SETUP -#line 1081 "dhcp4_lexer.ll" +#line 1079 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -3349,7 +3347,7 @@ YY_RULE_SETUP YY_BREAK case 104: YY_RULE_SETUP -#line 1090 "dhcp4_lexer.ll" +#line 1088 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::CONTROL_SOCKET: @@ -3361,7 +3359,7 @@ YY_RULE_SETUP YY_BREAK case 105: YY_RULE_SETUP -#line 1099 "dhcp4_lexer.ll" +#line 1097 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::CONTROL_SOCKET: @@ -3373,7 +3371,7 @@ YY_RULE_SETUP YY_BREAK case 106: YY_RULE_SETUP -#line 1108 "dhcp4_lexer.ll" +#line 1106 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -3385,7 +3383,7 @@ YY_RULE_SETUP YY_BREAK case 107: YY_RULE_SETUP -#line 1117 "dhcp4_lexer.ll" +#line 1115 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_DDNS: @@ -3397,7 +3395,7 @@ YY_RULE_SETUP YY_BREAK case 108: YY_RULE_SETUP -#line 1126 "dhcp4_lexer.ll" +#line 1124 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_DDNS: @@ -3409,7 +3407,7 @@ YY_RULE_SETUP YY_BREAK case 109: YY_RULE_SETUP -#line 1135 "dhcp4_lexer.ll" +#line 1133 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_DDNS: @@ -3421,7 +3419,7 @@ YY_RULE_SETUP YY_BREAK case 110: YY_RULE_SETUP -#line 1144 "dhcp4_lexer.ll" +#line 1142 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_DDNS: @@ -3433,7 +3431,7 @@ YY_RULE_SETUP YY_BREAK case 111: YY_RULE_SETUP -#line 1153 "dhcp4_lexer.ll" +#line 1151 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_DDNS: @@ -3445,7 +3443,7 @@ YY_RULE_SETUP YY_BREAK case 112: YY_RULE_SETUP -#line 1162 "dhcp4_lexer.ll" +#line 1160 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_DDNS: @@ -3457,7 +3455,7 @@ YY_RULE_SETUP YY_BREAK case 113: YY_RULE_SETUP -#line 1171 "dhcp4_lexer.ll" +#line 1169 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_DDNS: @@ -3469,7 +3467,7 @@ YY_RULE_SETUP YY_BREAK case 114: YY_RULE_SETUP -#line 1180 "dhcp4_lexer.ll" +#line 1178 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_DDNS: @@ -3481,7 +3479,7 @@ YY_RULE_SETUP YY_BREAK case 115: YY_RULE_SETUP -#line 1189 "dhcp4_lexer.ll" +#line 1187 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_DDNS: @@ -3493,7 +3491,7 @@ YY_RULE_SETUP YY_BREAK case 116: YY_RULE_SETUP -#line 1198 "dhcp4_lexer.ll" +#line 1196 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_DDNS: @@ -3505,7 +3503,7 @@ YY_RULE_SETUP YY_BREAK case 117: YY_RULE_SETUP -#line 1207 "dhcp4_lexer.ll" +#line 1205 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_DDNS: @@ -3517,7 +3515,7 @@ YY_RULE_SETUP YY_BREAK case 118: YY_RULE_SETUP -#line 1216 "dhcp4_lexer.ll" +#line 1214 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_DDNS: @@ -3529,7 +3527,7 @@ YY_RULE_SETUP YY_BREAK case 119: YY_RULE_SETUP -#line 1225 "dhcp4_lexer.ll" +#line 1223 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_DDNS: @@ -3541,7 +3539,7 @@ YY_RULE_SETUP YY_BREAK case 120: YY_RULE_SETUP -#line 1234 "dhcp4_lexer.ll" +#line 1232 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_DDNS: @@ -3553,7 +3551,7 @@ YY_RULE_SETUP YY_BREAK case 121: YY_RULE_SETUP -#line 1243 "dhcp4_lexer.ll" +#line 1241 "dhcp4_lexer.ll" { /* dhcp-ddns value keywords are case insensitive */ if (driver.ctx_ == isc::dhcp::Parser4Context::NCR_PROTOCOL) { @@ -3566,7 +3564,7 @@ YY_RULE_SETUP YY_BREAK case 122: YY_RULE_SETUP -#line 1253 "dhcp4_lexer.ll" +#line 1251 "dhcp4_lexer.ll" { /* dhcp-ddns value keywords are case insensitive */ if (driver.ctx_ == isc::dhcp::Parser4Context::NCR_PROTOCOL) { @@ -3579,7 +3577,7 @@ YY_RULE_SETUP YY_BREAK case 123: YY_RULE_SETUP -#line 1263 "dhcp4_lexer.ll" +#line 1261 "dhcp4_lexer.ll" { /* dhcp-ddns value keywords are case insensitive */ if (driver.ctx_ == isc::dhcp::Parser4Context::NCR_FORMAT) { @@ -3592,7 +3590,7 @@ YY_RULE_SETUP YY_BREAK case 124: YY_RULE_SETUP -#line 1273 "dhcp4_lexer.ll" +#line 1271 "dhcp4_lexer.ll" { /* dhcp-ddns value keywords are case insensitive */ if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) { @@ -3605,7 +3603,7 @@ YY_RULE_SETUP YY_BREAK case 125: YY_RULE_SETUP -#line 1283 "dhcp4_lexer.ll" +#line 1281 "dhcp4_lexer.ll" { /* dhcp-ddns value keywords are case insensitive */ if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) { @@ -3618,7 +3616,7 @@ YY_RULE_SETUP YY_BREAK case 126: YY_RULE_SETUP -#line 1293 "dhcp4_lexer.ll" +#line 1291 "dhcp4_lexer.ll" { /* dhcp-ddns value keywords are case insensitive */ if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) { @@ -3631,7 +3629,7 @@ YY_RULE_SETUP YY_BREAK case 127: YY_RULE_SETUP -#line 1303 "dhcp4_lexer.ll" +#line 1301 "dhcp4_lexer.ll" { /* dhcp-ddns value keywords are case insensitive */ if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) { @@ -3644,7 +3642,7 @@ YY_RULE_SETUP YY_BREAK case 128: YY_RULE_SETUP -#line 1313 "dhcp4_lexer.ll" +#line 1311 "dhcp4_lexer.ll" { /* dhcp-ddns value keywords are case insensitive */ if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) { @@ -3657,7 +3655,7 @@ YY_RULE_SETUP YY_BREAK case 129: YY_RULE_SETUP -#line 1323 "dhcp4_lexer.ll" +#line 1321 "dhcp4_lexer.ll" { /* dhcp-ddns value keywords are case insensitive */ if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) { @@ -3670,7 +3668,7 @@ YY_RULE_SETUP YY_BREAK case 130: YY_RULE_SETUP -#line 1333 "dhcp4_lexer.ll" +#line 1331 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::CONFIG: @@ -3682,7 +3680,7 @@ YY_RULE_SETUP YY_BREAK case 131: YY_RULE_SETUP -#line 1342 "dhcp4_lexer.ll" +#line 1340 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::CONFIG: @@ -3694,7 +3692,7 @@ YY_RULE_SETUP YY_BREAK case 132: YY_RULE_SETUP -#line 1351 "dhcp4_lexer.ll" +#line 1349 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::CONFIG: @@ -3706,7 +3704,7 @@ YY_RULE_SETUP YY_BREAK case 133: YY_RULE_SETUP -#line 1360 "dhcp4_lexer.ll" +#line 1358 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::SUBNET4: @@ -3718,7 +3716,7 @@ YY_RULE_SETUP YY_BREAK case 134: YY_RULE_SETUP -#line 1369 "dhcp4_lexer.ll" +#line 1367 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::SUBNET4: @@ -3730,7 +3728,7 @@ YY_RULE_SETUP YY_BREAK case 135: YY_RULE_SETUP -#line 1378 "dhcp4_lexer.ll" +#line 1376 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::SUBNET4: @@ -3742,7 +3740,7 @@ YY_RULE_SETUP YY_BREAK case 136: YY_RULE_SETUP -#line 1387 "dhcp4_lexer.ll" +#line 1385 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -3754,7 +3752,7 @@ YY_RULE_SETUP YY_BREAK case 137: YY_RULE_SETUP -#line 1396 "dhcp4_lexer.ll" +#line 1394 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -3768,7 +3766,7 @@ YY_RULE_SETUP YY_BREAK case 138: YY_RULE_SETUP -#line 1407 "dhcp4_lexer.ll" +#line 1405 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -3784,7 +3782,7 @@ YY_RULE_SETUP YY_BREAK case 139: YY_RULE_SETUP -#line 1420 "dhcp4_lexer.ll" +#line 1418 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -3800,7 +3798,7 @@ YY_RULE_SETUP YY_BREAK case 140: YY_RULE_SETUP -#line 1433 "dhcp4_lexer.ll" +#line 1431 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -3816,7 +3814,7 @@ YY_RULE_SETUP YY_BREAK case 141: YY_RULE_SETUP -#line 1448 "dhcp4_lexer.ll" +#line 1446 "dhcp4_lexer.ll" { /* A string has been matched. It contains the actual string and single quotes. We need to get those quotes out of the way and just use its content, e.g. @@ -3918,7 +3916,7 @@ YY_RULE_SETUP case 142: /* rule 142 can match eol */ YY_RULE_SETUP -#line 1546 "dhcp4_lexer.ll" +#line 1544 "dhcp4_lexer.ll" { /* Bad string with a forbidden control character inside */ driver.error(driver.loc_, "Invalid control in " + std::string(yytext)); @@ -3927,7 +3925,7 @@ YY_RULE_SETUP case 143: /* rule 143 can match eol */ YY_RULE_SETUP -#line 1551 "dhcp4_lexer.ll" +#line 1549 "dhcp4_lexer.ll" { /* Bad string with a bad escape inside */ driver.error(driver.loc_, "Bad escape in " + std::string(yytext)); @@ -3935,7 +3933,7 @@ YY_RULE_SETUP YY_BREAK case 144: YY_RULE_SETUP -#line 1556 "dhcp4_lexer.ll" +#line 1554 "dhcp4_lexer.ll" { /* Bad string with an open escape at the end */ driver.error(driver.loc_, "Overflow escape in " + std::string(yytext)); @@ -3943,37 +3941,37 @@ YY_RULE_SETUP YY_BREAK case 145: YY_RULE_SETUP -#line 1561 "dhcp4_lexer.ll" +#line 1559 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_LSQUARE_BRACKET(driver.loc_); } YY_BREAK case 146: YY_RULE_SETUP -#line 1562 "dhcp4_lexer.ll" +#line 1560 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_RSQUARE_BRACKET(driver.loc_); } YY_BREAK case 147: YY_RULE_SETUP -#line 1563 "dhcp4_lexer.ll" +#line 1561 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_LCURLY_BRACKET(driver.loc_); } YY_BREAK case 148: YY_RULE_SETUP -#line 1564 "dhcp4_lexer.ll" +#line 1562 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_RCURLY_BRACKET(driver.loc_); } YY_BREAK case 149: YY_RULE_SETUP -#line 1565 "dhcp4_lexer.ll" +#line 1563 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_COMMA(driver.loc_); } YY_BREAK case 150: YY_RULE_SETUP -#line 1566 "dhcp4_lexer.ll" +#line 1564 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_COLON(driver.loc_); } YY_BREAK case 151: YY_RULE_SETUP -#line 1568 "dhcp4_lexer.ll" +#line 1566 "dhcp4_lexer.ll" { /* An integer was found. */ std::string tmp(yytext); @@ -3994,7 +3992,7 @@ YY_RULE_SETUP YY_BREAK case 152: YY_RULE_SETUP -#line 1586 "dhcp4_lexer.ll" +#line 1584 "dhcp4_lexer.ll" { /* A floating point was found. */ std::string tmp(yytext); @@ -4010,7 +4008,7 @@ YY_RULE_SETUP YY_BREAK case 153: YY_RULE_SETUP -#line 1599 "dhcp4_lexer.ll" +#line 1597 "dhcp4_lexer.ll" { string tmp(yytext); return isc::dhcp::Dhcp4Parser::make_BOOLEAN(tmp == "true", driver.loc_); @@ -4018,33 +4016,33 @@ YY_RULE_SETUP YY_BREAK case 154: YY_RULE_SETUP -#line 1604 "dhcp4_lexer.ll" +#line 1602 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_NULL_TYPE(driver.loc_); } YY_BREAK case 155: YY_RULE_SETUP -#line 1608 "dhcp4_lexer.ll" +#line 1606 "dhcp4_lexer.ll" driver.error (driver.loc_, "JSON true reserved keyword is lower case only"); YY_BREAK case 156: YY_RULE_SETUP -#line 1610 "dhcp4_lexer.ll" +#line 1608 "dhcp4_lexer.ll" driver.error (driver.loc_, "JSON false reserved keyword is lower case only"); YY_BREAK case 157: YY_RULE_SETUP -#line 1612 "dhcp4_lexer.ll" +#line 1610 "dhcp4_lexer.ll" driver.error (driver.loc_, "JSON null reserved keyword is lower case only"); YY_BREAK case 158: YY_RULE_SETUP -#line 1614 "dhcp4_lexer.ll" +#line 1612 "dhcp4_lexer.ll" driver.error (driver.loc_, "Invalid character: " + std::string(yytext)); YY_BREAK case YY_STATE_EOF(INITIAL): -#line 1616 "dhcp4_lexer.ll" +#line 1614 "dhcp4_lexer.ll" { if (driver.states_.empty()) { return isc::dhcp::Dhcp4Parser::make_END(driver.loc_); @@ -4070,10 +4068,10 @@ case YY_STATE_EOF(INITIAL): YY_BREAK case 159: YY_RULE_SETUP -#line 1639 "dhcp4_lexer.ll" +#line 1637 "dhcp4_lexer.ll" ECHO; YY_BREAK -#line 4076 "dhcp4_lexer.cc" +#line 4074 "dhcp4_lexer.cc" case YY_END_OF_BUFFER: { @@ -5178,7 +5176,7 @@ void yyfree (void * ptr ) /* %ok-for-header */ -#line 1639 "dhcp4_lexer.ll" +#line 1637 "dhcp4_lexer.ll" using namespace isc::dhcp; diff --git a/src/bin/dhcp4/dhcp4_parser.cc b/src/bin/dhcp4/dhcp4_parser.cc index 003aec56b2..ba0bda0fb6 100644 --- a/src/bin/dhcp4/dhcp4_parser.cc +++ b/src/bin/dhcp4/dhcp4_parser.cc @@ -253,30 +253,30 @@ namespace isc { namespace dhcp { { switch (that.type_get ()) { - case 165: // value - case 169: // map_value - case 207: // socket_type - case 210: // outbound_interface_value - case 220: // db_type - case 297: // hr_mode - case 445: // ncr_protocol_value - case 453: // replace_client_name_value + case 167: // value + case 171: // map_value + case 209: // socket_type + case 212: // outbound_interface_value + case 222: // db_type + case 299: // hr_mode + case 447: // ncr_protocol_value + case 455: // replace_client_name_value value.move< ElementPtr > (that.value); break; - case 150: // "boolean" + case 151: // "boolean" value.move< bool > (that.value); break; - case 149: // "floating point" + case 150: // "floating point" value.move< double > (that.value); break; - case 148: // "integer" + case 149: // "integer" value.move< int64_t > (that.value); break; - case 147: // "constant string" + case 148: // "constant string" value.move< std::string > (that.value); break; @@ -295,30 +295,30 @@ namespace isc { namespace dhcp { state = that.state; switch (that.type_get ()) { - case 165: // value - case 169: // map_value - case 207: // socket_type - case 210: // outbound_interface_value - case 220: // db_type - case 297: // hr_mode - case 445: // ncr_protocol_value - case 453: // replace_client_name_value + case 167: // value + case 171: // map_value + case 209: // socket_type + case 212: // outbound_interface_value + case 222: // db_type + case 299: // hr_mode + case 447: // ncr_protocol_value + case 455: // replace_client_name_value value.copy< ElementPtr > (that.value); break; - case 150: // "boolean" + case 151: // "boolean" value.copy< bool > (that.value); break; - case 149: // "floating point" + case 150: // "floating point" value.copy< double > (that.value); break; - case 148: // "integer" + case 149: // "integer" value.copy< int64_t > (that.value); break; - case 147: // "constant string" + case 148: // "constant string" value.copy< std::string > (that.value); break; @@ -358,86 +358,86 @@ namespace isc { namespace dhcp { << yysym.location << ": "; switch (yytype) { - case 147: // "constant string" + case 148: // "constant string" -#line 225 "dhcp4_parser.yy" // lalr1.cc:636 +#line 226 "dhcp4_parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< std::string > (); } #line 366 "dhcp4_parser.cc" // lalr1.cc:636 break; - case 148: // "integer" + case 149: // "integer" -#line 225 "dhcp4_parser.yy" // lalr1.cc:636 +#line 226 "dhcp4_parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< int64_t > (); } #line 373 "dhcp4_parser.cc" // lalr1.cc:636 break; - case 149: // "floating point" + case 150: // "floating point" -#line 225 "dhcp4_parser.yy" // lalr1.cc:636 +#line 226 "dhcp4_parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< double > (); } #line 380 "dhcp4_parser.cc" // lalr1.cc:636 break; - case 150: // "boolean" + case 151: // "boolean" -#line 225 "dhcp4_parser.yy" // lalr1.cc:636 +#line 226 "dhcp4_parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< bool > (); } #line 387 "dhcp4_parser.cc" // lalr1.cc:636 break; - case 165: // value + case 167: // value -#line 225 "dhcp4_parser.yy" // lalr1.cc:636 +#line 226 "dhcp4_parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< ElementPtr > (); } #line 394 "dhcp4_parser.cc" // lalr1.cc:636 break; - case 169: // map_value + case 171: // map_value -#line 225 "dhcp4_parser.yy" // lalr1.cc:636 +#line 226 "dhcp4_parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< ElementPtr > (); } #line 401 "dhcp4_parser.cc" // lalr1.cc:636 break; - case 207: // socket_type + case 209: // socket_type -#line 225 "dhcp4_parser.yy" // lalr1.cc:636 +#line 226 "dhcp4_parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< ElementPtr > (); } #line 408 "dhcp4_parser.cc" // lalr1.cc:636 break; - case 210: // outbound_interface_value + case 212: // outbound_interface_value -#line 225 "dhcp4_parser.yy" // lalr1.cc:636 +#line 226 "dhcp4_parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< ElementPtr > (); } #line 415 "dhcp4_parser.cc" // lalr1.cc:636 break; - case 220: // db_type + case 222: // db_type -#line 225 "dhcp4_parser.yy" // lalr1.cc:636 +#line 226 "dhcp4_parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< ElementPtr > (); } #line 422 "dhcp4_parser.cc" // lalr1.cc:636 break; - case 297: // hr_mode + case 299: // hr_mode -#line 225 "dhcp4_parser.yy" // lalr1.cc:636 +#line 226 "dhcp4_parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< ElementPtr > (); } #line 429 "dhcp4_parser.cc" // lalr1.cc:636 break; - case 445: // ncr_protocol_value + case 447: // ncr_protocol_value -#line 225 "dhcp4_parser.yy" // lalr1.cc:636 +#line 226 "dhcp4_parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< ElementPtr > (); } #line 436 "dhcp4_parser.cc" // lalr1.cc:636 break; - case 453: // replace_client_name_value + case 455: // replace_client_name_value -#line 225 "dhcp4_parser.yy" // lalr1.cc:636 +#line 226 "dhcp4_parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< ElementPtr > (); } #line 443 "dhcp4_parser.cc" // lalr1.cc:636 break; @@ -639,30 +639,30 @@ namespace isc { namespace dhcp { when using variants. */ switch (yyr1_[yyn]) { - case 165: // value - case 169: // map_value - case 207: // socket_type - case 210: // outbound_interface_value - case 220: // db_type - case 297: // hr_mode - case 445: // ncr_protocol_value - case 453: // replace_client_name_value + case 167: // value + case 171: // map_value + case 209: // socket_type + case 212: // outbound_interface_value + case 222: // db_type + case 299: // hr_mode + case 447: // ncr_protocol_value + case 455: // replace_client_name_value yylhs.value.build< ElementPtr > (); break; - case 150: // "boolean" + case 151: // "boolean" yylhs.value.build< bool > (); break; - case 149: // "floating point" + case 150: // "floating point" yylhs.value.build< double > (); break; - case 148: // "integer" + case 149: // "integer" yylhs.value.build< int64_t > (); break; - case 147: // "constant string" + case 148: // "constant string" yylhs.value.build< std::string > (); break; @@ -684,268 +684,274 @@ namespace isc { namespace dhcp { switch (yyn) { case 2: -#line 234 "dhcp4_parser.yy" // lalr1.cc:859 +#line 235 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.ctx_ = ctx.NO_KEYWORD; } #line 690 "dhcp4_parser.cc" // lalr1.cc:859 break; case 4: -#line 235 "dhcp4_parser.yy" // lalr1.cc:859 +#line 236 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.ctx_ = ctx.CONFIG; } #line 696 "dhcp4_parser.cc" // lalr1.cc:859 break; case 6: -#line 236 "dhcp4_parser.yy" // lalr1.cc:859 +#line 237 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.ctx_ = ctx.DHCP4; } #line 702 "dhcp4_parser.cc" // lalr1.cc:859 break; case 8: -#line 237 "dhcp4_parser.yy" // lalr1.cc:859 +#line 238 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.ctx_ = ctx.INTERFACES_CONFIG; } #line 708 "dhcp4_parser.cc" // lalr1.cc:859 break; case 10: -#line 238 "dhcp4_parser.yy" // lalr1.cc:859 +#line 239 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.ctx_ = ctx.SUBNET4; } #line 714 "dhcp4_parser.cc" // lalr1.cc:859 break; case 12: -#line 239 "dhcp4_parser.yy" // lalr1.cc:859 +#line 240 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.ctx_ = ctx.POOLS; } #line 720 "dhcp4_parser.cc" // lalr1.cc:859 break; case 14: -#line 240 "dhcp4_parser.yy" // lalr1.cc:859 +#line 241 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.ctx_ = ctx.RESERVATIONS; } #line 726 "dhcp4_parser.cc" // lalr1.cc:859 break; case 16: -#line 241 "dhcp4_parser.yy" // lalr1.cc:859 +#line 242 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.ctx_ = ctx.DHCP4; } #line 732 "dhcp4_parser.cc" // lalr1.cc:859 break; case 18: -#line 242 "dhcp4_parser.yy" // lalr1.cc:859 +#line 243 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.ctx_ = ctx.OPTION_DEF; } #line 738 "dhcp4_parser.cc" // lalr1.cc:859 break; case 20: -#line 243 "dhcp4_parser.yy" // lalr1.cc:859 +#line 244 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.ctx_ = ctx.OPTION_DATA; } #line 744 "dhcp4_parser.cc" // lalr1.cc:859 break; case 22: -#line 244 "dhcp4_parser.yy" // lalr1.cc:859 +#line 245 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.ctx_ = ctx.HOOKS_LIBRARIES; } #line 750 "dhcp4_parser.cc" // lalr1.cc:859 break; case 24: -#line 245 "dhcp4_parser.yy" // lalr1.cc:859 +#line 246 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.ctx_ = ctx.DHCP_DDNS; } #line 756 "dhcp4_parser.cc" // lalr1.cc:859 break; case 26: -#line 253 "dhcp4_parser.yy" // lalr1.cc:859 - { yylhs.value.as< ElementPtr > () = ElementPtr(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); } +#line 247 "dhcp4_parser.yy" // lalr1.cc:859 + { ctx.ctx_ = ctx.LOGGING; } #line 762 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 27: -#line 254 "dhcp4_parser.yy" // lalr1.cc:859 - { yylhs.value.as< ElementPtr > () = ElementPtr(new DoubleElement(yystack_[0].value.as< double > (), ctx.loc2pos(yystack_[0].location))); } -#line 768 "dhcp4_parser.cc" // lalr1.cc:859 - break; - case 28: #line 255 "dhcp4_parser.yy" // lalr1.cc:859 - { yylhs.value.as< ElementPtr > () = ElementPtr(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); } -#line 774 "dhcp4_parser.cc" // lalr1.cc:859 + { yylhs.value.as< ElementPtr > () = ElementPtr(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); } +#line 768 "dhcp4_parser.cc" // lalr1.cc:859 break; case 29: #line 256 "dhcp4_parser.yy" // lalr1.cc:859 - { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); } -#line 780 "dhcp4_parser.cc" // lalr1.cc:859 + { yylhs.value.as< ElementPtr > () = ElementPtr(new DoubleElement(yystack_[0].value.as< double > (), ctx.loc2pos(yystack_[0].location))); } +#line 774 "dhcp4_parser.cc" // lalr1.cc:859 break; case 30: #line 257 "dhcp4_parser.yy" // lalr1.cc:859 - { yylhs.value.as< ElementPtr > () = ElementPtr(new NullElement(ctx.loc2pos(yystack_[0].location))); } -#line 786 "dhcp4_parser.cc" // lalr1.cc:859 + { yylhs.value.as< ElementPtr > () = ElementPtr(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); } +#line 780 "dhcp4_parser.cc" // lalr1.cc:859 break; case 31: #line 258 "dhcp4_parser.yy" // lalr1.cc:859 - { yylhs.value.as< ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); } -#line 792 "dhcp4_parser.cc" // lalr1.cc:859 + { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); } +#line 786 "dhcp4_parser.cc" // lalr1.cc:859 break; case 32: #line 259 "dhcp4_parser.yy" // lalr1.cc:859 + { yylhs.value.as< ElementPtr > () = ElementPtr(new NullElement(ctx.loc2pos(yystack_[0].location))); } +#line 792 "dhcp4_parser.cc" // lalr1.cc:859 + break; + + case 33: +#line 260 "dhcp4_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); } #line 798 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 33: -#line 262 "dhcp4_parser.yy" // lalr1.cc:859 + case 34: +#line 261 "dhcp4_parser.yy" // lalr1.cc:859 + { yylhs.value.as< ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); } +#line 804 "dhcp4_parser.cc" // lalr1.cc:859 + break; + + case 35: +#line 264 "dhcp4_parser.yy" // lalr1.cc:859 { // Push back the JSON value on the stack ctx.stack_.push_back(yystack_[0].value.as< ElementPtr > ()); } -#line 807 "dhcp4_parser.cc" // lalr1.cc:859 +#line 813 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 34: -#line 267 "dhcp4_parser.yy" // lalr1.cc:859 + case 36: +#line 269 "dhcp4_parser.yy" // lalr1.cc:859 { // This code is executed when we're about to start parsing // the content of the map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 818 "dhcp4_parser.cc" // lalr1.cc:859 +#line 824 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 35: -#line 272 "dhcp4_parser.yy" // lalr1.cc:859 + case 37: +#line 274 "dhcp4_parser.yy" // lalr1.cc:859 { // map parsing completed. If we ever want to do any wrap up // (maybe some sanity checking), this would be the best place // for it. } -#line 828 "dhcp4_parser.cc" // lalr1.cc:859 - break; - - case 36: -#line 278 "dhcp4_parser.yy" // lalr1.cc:859 - { yylhs.value.as< ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); } #line 834 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 39: -#line 285 "dhcp4_parser.yy" // lalr1.cc:859 + case 38: +#line 280 "dhcp4_parser.yy" // lalr1.cc:859 + { yylhs.value.as< ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); } +#line 840 "dhcp4_parser.cc" // lalr1.cc:859 + break; + + case 41: +#line 287 "dhcp4_parser.yy" // lalr1.cc:859 { // map containing a single entry ctx.stack_.back()->set(yystack_[2].value.as< std::string > (), yystack_[0].value.as< ElementPtr > ()); } -#line 843 "dhcp4_parser.cc" // lalr1.cc:859 +#line 849 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 40: -#line 289 "dhcp4_parser.yy" // lalr1.cc:859 + case 42: +#line 291 "dhcp4_parser.yy" // lalr1.cc:859 { // map consisting of a shorter map followed by // comma and string:value ctx.stack_.back()->set(yystack_[2].value.as< std::string > (), yystack_[0].value.as< ElementPtr > ()); } -#line 853 "dhcp4_parser.cc" // lalr1.cc:859 +#line 859 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 41: -#line 296 "dhcp4_parser.yy" // lalr1.cc:859 + case 43: +#line 298 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(l); } -#line 862 "dhcp4_parser.cc" // lalr1.cc:859 +#line 868 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 42: -#line 299 "dhcp4_parser.yy" // lalr1.cc:859 + case 44: +#line 301 "dhcp4_parser.yy" // lalr1.cc:859 { // list parsing complete. Put any sanity checking here } -#line 870 "dhcp4_parser.cc" // lalr1.cc:859 +#line 876 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 45: -#line 307 "dhcp4_parser.yy" // lalr1.cc:859 + case 47: +#line 309 "dhcp4_parser.yy" // lalr1.cc:859 { // List consisting of a single element. ctx.stack_.back()->add(yystack_[0].value.as< ElementPtr > ()); } -#line 879 "dhcp4_parser.cc" // lalr1.cc:859 +#line 885 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 46: -#line 311 "dhcp4_parser.yy" // lalr1.cc:859 + case 48: +#line 313 "dhcp4_parser.yy" // lalr1.cc:859 { // List ending with , and a value. ctx.stack_.back()->add(yystack_[0].value.as< ElementPtr > ()); } -#line 888 "dhcp4_parser.cc" // lalr1.cc:859 +#line 894 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 47: -#line 318 "dhcp4_parser.yy" // lalr1.cc:859 + case 49: +#line 320 "dhcp4_parser.yy" // lalr1.cc:859 { // List parsing about to start } -#line 896 "dhcp4_parser.cc" // lalr1.cc:859 +#line 902 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 48: -#line 320 "dhcp4_parser.yy" // lalr1.cc:859 + case 50: +#line 322 "dhcp4_parser.yy" // lalr1.cc:859 { // list parsing complete. Put any sanity checking here //ctx.stack_.pop_back(); } -#line 905 "dhcp4_parser.cc" // lalr1.cc:859 - break; - - case 51: -#line 329 "dhcp4_parser.yy" // lalr1.cc:859 - { - ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); - ctx.stack_.back()->add(s); - } -#line 914 "dhcp4_parser.cc" // lalr1.cc:859 - break; - - case 52: -#line 333 "dhcp4_parser.yy" // lalr1.cc:859 - { - ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); - ctx.stack_.back()->add(s); - } -#line 923 "dhcp4_parser.cc" // lalr1.cc:859 +#line 911 "dhcp4_parser.cc" // lalr1.cc:859 break; case 53: -#line 344 "dhcp4_parser.yy" // lalr1.cc:859 +#line 331 "dhcp4_parser.yy" // lalr1.cc:859 + { + ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); + ctx.stack_.back()->add(s); + } +#line 920 "dhcp4_parser.cc" // lalr1.cc:859 + break; + + case 54: +#line 335 "dhcp4_parser.yy" // lalr1.cc:859 + { + ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); + ctx.stack_.back()->add(s); + } +#line 929 "dhcp4_parser.cc" // lalr1.cc:859 + break; + + case 55: +#line 346 "dhcp4_parser.yy" // lalr1.cc:859 { const std::string& where = ctx.contextName(); const std::string& keyword = yystack_[1].value.as< std::string > (); error(yystack_[1].location, "got unexpected keyword \"" + keyword + "\" in " + where + " map."); } -#line 934 "dhcp4_parser.cc" // lalr1.cc:859 +#line 940 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 54: -#line 354 "dhcp4_parser.yy" // lalr1.cc:859 + case 56: +#line 356 "dhcp4_parser.yy" // lalr1.cc:859 { // This code is executed when we're about to start parsing // the content of the map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 945 "dhcp4_parser.cc" // lalr1.cc:859 +#line 951 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 55: -#line 359 "dhcp4_parser.yy" // lalr1.cc:859 + case 57: +#line 361 "dhcp4_parser.yy" // lalr1.cc:859 { // map parsing completed. If we ever want to do any wrap up // (maybe some sanity checking), this would be the best place @@ -954,11 +960,11 @@ namespace isc { namespace dhcp { // Dhcp4 is required ctx.require("Dhcp4", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); } -#line 958 "dhcp4_parser.cc" // lalr1.cc:859 +#line 964 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 64: -#line 383 "dhcp4_parser.yy" // lalr1.cc:859 + case 66: +#line 385 "dhcp4_parser.yy" // lalr1.cc:859 { // This code is executed when we're about to start parsing // the content of the map @@ -967,265 +973,265 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(m); ctx.enter(ctx.DHCP4); } -#line 971 "dhcp4_parser.cc" // lalr1.cc:859 +#line 977 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 65: -#line 390 "dhcp4_parser.yy" // lalr1.cc:859 + case 67: +#line 392 "dhcp4_parser.yy" // lalr1.cc:859 { // No global parameter is required ctx.stack_.pop_back(); ctx.leave(); } -#line 981 "dhcp4_parser.cc" // lalr1.cc:859 +#line 987 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 66: -#line 398 "dhcp4_parser.yy" // lalr1.cc:859 + case 68: +#line 400 "dhcp4_parser.yy" // lalr1.cc:859 { // Parse the Dhcp4 map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 991 "dhcp4_parser.cc" // lalr1.cc:859 +#line 997 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 67: -#line 402 "dhcp4_parser.yy" // lalr1.cc:859 + case 69: +#line 404 "dhcp4_parser.yy" // lalr1.cc:859 { // No global parameter is required // parsing completed } -#line 1000 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1006 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 96: -#line 441 "dhcp4_parser.yy" // lalr1.cc:859 + case 98: +#line 443 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("valid-lifetime", prf); } -#line 1009 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1015 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 97: -#line 446 "dhcp4_parser.yy" // lalr1.cc:859 + case 99: +#line 448 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("renew-timer", prf); } -#line 1018 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1024 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 98: -#line 451 "dhcp4_parser.yy" // lalr1.cc:859 + case 100: +#line 453 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("rebind-timer", prf); } -#line 1027 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1033 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 99: -#line 456 "dhcp4_parser.yy" // lalr1.cc:859 + case 101: +#line 458 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr dpp(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("decline-probation-period", dpp); } -#line 1036 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1042 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 100: -#line 461 "dhcp4_parser.yy" // lalr1.cc:859 + case 102: +#line 463 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr echo(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("echo-client-id", echo); } -#line 1045 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1051 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 101: -#line 466 "dhcp4_parser.yy" // lalr1.cc:859 + case 103: +#line 468 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr match(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("match-client-id", match); } -#line 1054 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1060 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 102: -#line 472 "dhcp4_parser.yy" // lalr1.cc:859 + case 104: +#line 474 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("interfaces-config", i); ctx.stack_.push_back(i); ctx.enter(ctx.INTERFACES_CONFIG); } -#line 1065 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1071 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 103: -#line 477 "dhcp4_parser.yy" // lalr1.cc:859 + case 105: +#line 479 "dhcp4_parser.yy" // lalr1.cc:859 { // No interfaces config param is required ctx.stack_.pop_back(); ctx.leave(); } -#line 1075 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1081 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 113: -#line 496 "dhcp4_parser.yy" // lalr1.cc:859 + case 115: +#line 498 "dhcp4_parser.yy" // lalr1.cc:859 { // Parse the interfaces-config map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 1085 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1091 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 114: -#line 500 "dhcp4_parser.yy" // lalr1.cc:859 + case 116: +#line 502 "dhcp4_parser.yy" // lalr1.cc:859 { // No interfaces config param is required // parsing completed } -#line 1094 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1100 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 115: -#line 505 "dhcp4_parser.yy" // lalr1.cc:859 + case 117: +#line 507 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("interfaces", l); ctx.stack_.push_back(l); ctx.enter(ctx.NO_KEYWORD); } -#line 1105 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1111 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 116: -#line 510 "dhcp4_parser.yy" // lalr1.cc:859 + case 118: +#line 512 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); ctx.leave(); } -#line 1114 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1120 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 117: -#line 515 "dhcp4_parser.yy" // lalr1.cc:859 + case 119: +#line 517 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.DHCP_SOCKET_TYPE); } -#line 1122 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1128 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 118: -#line 517 "dhcp4_parser.yy" // lalr1.cc:859 + case 120: +#line 519 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.stack_.back()->set("dhcp-socket-type", yystack_[0].value.as< ElementPtr > ()); ctx.leave(); } -#line 1131 "dhcp4_parser.cc" // lalr1.cc:859 - break; - - case 119: -#line 522 "dhcp4_parser.yy" // lalr1.cc:859 - { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("raw", ctx.loc2pos(yystack_[0].location))); } #line 1137 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 120: -#line 523 "dhcp4_parser.yy" // lalr1.cc:859 - { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("udp", ctx.loc2pos(yystack_[0].location))); } + case 121: +#line 524 "dhcp4_parser.yy" // lalr1.cc:859 + { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("raw", ctx.loc2pos(yystack_[0].location))); } #line 1143 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 121: -#line 526 "dhcp4_parser.yy" // lalr1.cc:859 + case 122: +#line 525 "dhcp4_parser.yy" // lalr1.cc:859 + { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("udp", ctx.loc2pos(yystack_[0].location))); } +#line 1149 "dhcp4_parser.cc" // lalr1.cc:859 + break; + + case 123: +#line 528 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.OUTBOUND_INTERFACE); } -#line 1151 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1157 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 122: -#line 528 "dhcp4_parser.yy" // lalr1.cc:859 + case 124: +#line 530 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.stack_.back()->set("outbound-interface", yystack_[0].value.as< ElementPtr > ()); ctx.leave(); } -#line 1160 "dhcp4_parser.cc" // lalr1.cc:859 - break; - - case 123: -#line 533 "dhcp4_parser.yy" // lalr1.cc:859 - { - yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("same-as-inbound", ctx.loc2pos(yystack_[0].location))); -} -#line 1168 "dhcp4_parser.cc" // lalr1.cc:859 - break; - - case 124: -#line 535 "dhcp4_parser.yy" // lalr1.cc:859 - { - yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("use-routing", ctx.loc2pos(yystack_[0].location))); - } -#line 1176 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1166 "dhcp4_parser.cc" // lalr1.cc:859 break; case 125: -#line 539 "dhcp4_parser.yy" // lalr1.cc:859 +#line 535 "dhcp4_parser.yy" // lalr1.cc:859 + { + yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("same-as-inbound", ctx.loc2pos(yystack_[0].location))); +} +#line 1174 "dhcp4_parser.cc" // lalr1.cc:859 + break; + + case 126: +#line 537 "dhcp4_parser.yy" // lalr1.cc:859 + { + yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("use-routing", ctx.loc2pos(yystack_[0].location))); + } +#line 1182 "dhcp4_parser.cc" // lalr1.cc:859 + break; + + case 127: +#line 541 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("re-detect", b); } -#line 1185 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1191 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 126: -#line 545 "dhcp4_parser.yy" // lalr1.cc:859 + case 128: +#line 547 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("lease-database", i); ctx.stack_.push_back(i); ctx.enter(ctx.LEASE_DATABASE); } -#line 1196 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1202 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 127: -#line 550 "dhcp4_parser.yy" // lalr1.cc:859 + case 129: +#line 552 "dhcp4_parser.yy" // lalr1.cc:859 { // The type parameter is required ctx.require("type", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); ctx.leave(); } -#line 1207 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1213 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 128: -#line 557 "dhcp4_parser.yy" // lalr1.cc:859 + case 130: +#line 559 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hosts-database", i); ctx.stack_.push_back(i); ctx.enter(ctx.HOSTS_DATABASE); } -#line 1218 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1224 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 129: -#line 562 "dhcp4_parser.yy" // lalr1.cc:859 + case 131: +#line 564 "dhcp4_parser.yy" // lalr1.cc:859 { // The type parameter is required ctx.require("type", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); ctx.leave(); } -#line 1229 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1235 "dhcp4_parser.cc" // lalr1.cc:859 break; case 147: @@ -1233,7 +1239,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.DATABASE_TYPE); } -#line 1237 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1243 "dhcp4_parser.cc" // lalr1.cc:859 break; case 148: @@ -1242,31 +1248,31 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("type", yystack_[0].value.as< ElementPtr > ()); ctx.leave(); } -#line 1246 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1252 "dhcp4_parser.cc" // lalr1.cc:859 break; case 149: #line 597 "dhcp4_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("memfile", ctx.loc2pos(yystack_[0].location))); } -#line 1252 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1258 "dhcp4_parser.cc" // lalr1.cc:859 break; case 150: #line 598 "dhcp4_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("mysql", ctx.loc2pos(yystack_[0].location))); } -#line 1258 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1264 "dhcp4_parser.cc" // lalr1.cc:859 break; case 151: #line 599 "dhcp4_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("postgresql", ctx.loc2pos(yystack_[0].location))); } -#line 1264 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1270 "dhcp4_parser.cc" // lalr1.cc:859 break; case 152: #line 600 "dhcp4_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("cql", ctx.loc2pos(yystack_[0].location))); } -#line 1270 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1276 "dhcp4_parser.cc" // lalr1.cc:859 break; case 153: @@ -1274,7 +1280,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NO_KEYWORD); } -#line 1278 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1284 "dhcp4_parser.cc" // lalr1.cc:859 break; case 154: @@ -1284,7 +1290,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("user", user); ctx.leave(); } -#line 1288 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1294 "dhcp4_parser.cc" // lalr1.cc:859 break; case 155: @@ -1292,7 +1298,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NO_KEYWORD); } -#line 1296 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1302 "dhcp4_parser.cc" // lalr1.cc:859 break; case 156: @@ -1302,7 +1308,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("password", pwd); ctx.leave(); } -#line 1306 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1312 "dhcp4_parser.cc" // lalr1.cc:859 break; case 157: @@ -1310,7 +1316,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NO_KEYWORD); } -#line 1314 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1320 "dhcp4_parser.cc" // lalr1.cc:859 break; case 158: @@ -1320,7 +1326,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("host", h); ctx.leave(); } -#line 1324 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1330 "dhcp4_parser.cc" // lalr1.cc:859 break; case 159: @@ -1329,7 +1335,7 @@ namespace isc { namespace dhcp { ElementPtr p(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("port", p); } -#line 1333 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1339 "dhcp4_parser.cc" // lalr1.cc:859 break; case 160: @@ -1337,7 +1343,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NO_KEYWORD); } -#line 1341 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1347 "dhcp4_parser.cc" // lalr1.cc:859 break; case 161: @@ -1347,7 +1353,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("name", name); ctx.leave(); } -#line 1351 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1357 "dhcp4_parser.cc" // lalr1.cc:859 break; case 162: @@ -1356,7 +1362,7 @@ namespace isc { namespace dhcp { ElementPtr n(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("persist", n); } -#line 1360 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1366 "dhcp4_parser.cc" // lalr1.cc:859 break; case 163: @@ -1365,7 +1371,7 @@ namespace isc { namespace dhcp { ElementPtr n(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("lfc-interval", n); } -#line 1369 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1375 "dhcp4_parser.cc" // lalr1.cc:859 break; case 164: @@ -1374,7 +1380,7 @@ namespace isc { namespace dhcp { ElementPtr n(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("readonly", n); } -#line 1378 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1384 "dhcp4_parser.cc" // lalr1.cc:859 break; case 165: @@ -1383,7 +1389,7 @@ namespace isc { namespace dhcp { ElementPtr n(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("connect-timeout", n); } -#line 1387 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1393 "dhcp4_parser.cc" // lalr1.cc:859 break; case 166: @@ -1391,7 +1397,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NO_KEYWORD); } -#line 1395 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1401 "dhcp4_parser.cc" // lalr1.cc:859 break; case 167: @@ -1401,7 +1407,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("contact-points", cp); ctx.leave(); } -#line 1405 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1411 "dhcp4_parser.cc" // lalr1.cc:859 break; case 168: @@ -1409,7 +1415,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NO_KEYWORD); } -#line 1413 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1419 "dhcp4_parser.cc" // lalr1.cc:859 break; case 169: @@ -1419,7 +1425,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("keyspace", ks); ctx.leave(); } -#line 1423 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1429 "dhcp4_parser.cc" // lalr1.cc:859 break; case 170: @@ -1430,7 +1436,7 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.HOST_RESERVATION_IDENTIFIERS); } -#line 1434 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1440 "dhcp4_parser.cc" // lalr1.cc:859 break; case 171: @@ -1439,7 +1445,7 @@ namespace isc { namespace dhcp { ctx.stack_.pop_back(); ctx.leave(); } -#line 1443 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1449 "dhcp4_parser.cc" // lalr1.cc:859 break; case 179: @@ -1448,7 +1454,7 @@ namespace isc { namespace dhcp { ElementPtr duid(new StringElement("duid", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(duid); } -#line 1452 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1458 "dhcp4_parser.cc" // lalr1.cc:859 break; case 180: @@ -1457,7 +1463,7 @@ namespace isc { namespace dhcp { ElementPtr hwaddr(new StringElement("hw-address", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(hwaddr); } -#line 1461 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1467 "dhcp4_parser.cc" // lalr1.cc:859 break; case 181: @@ -1466,7 +1472,7 @@ namespace isc { namespace dhcp { ElementPtr circuit(new StringElement("circuit-id", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(circuit); } -#line 1470 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1476 "dhcp4_parser.cc" // lalr1.cc:859 break; case 182: @@ -1475,7 +1481,7 @@ namespace isc { namespace dhcp { ElementPtr client(new StringElement("client-id", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(client); } -#line 1479 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1485 "dhcp4_parser.cc" // lalr1.cc:859 break; case 183: @@ -1484,7 +1490,7 @@ namespace isc { namespace dhcp { ElementPtr flex_id(new StringElement("flex-id", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(flex_id); } -#line 1488 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1494 "dhcp4_parser.cc" // lalr1.cc:859 break; case 184: @@ -1495,7 +1501,7 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.HOOKS_LIBRARIES); } -#line 1499 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1505 "dhcp4_parser.cc" // lalr1.cc:859 break; case 185: @@ -1504,7 +1510,7 @@ namespace isc { namespace dhcp { ctx.stack_.pop_back(); ctx.leave(); } -#line 1508 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1514 "dhcp4_parser.cc" // lalr1.cc:859 break; case 190: @@ -1514,7 +1520,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 1518 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1524 "dhcp4_parser.cc" // lalr1.cc:859 break; case 191: @@ -1524,7 +1530,7 @@ namespace isc { namespace dhcp { ctx.require("library", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 1528 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1534 "dhcp4_parser.cc" // lalr1.cc:859 break; case 192: @@ -1534,7 +1540,7 @@ namespace isc { namespace dhcp { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 1538 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1544 "dhcp4_parser.cc" // lalr1.cc:859 break; case 193: @@ -1544,7 +1550,7 @@ namespace isc { namespace dhcp { ctx.require("library", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); // parsing completed } -#line 1548 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1554 "dhcp4_parser.cc" // lalr1.cc:859 break; case 199: @@ -1552,7 +1558,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NO_KEYWORD); } -#line 1556 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1562 "dhcp4_parser.cc" // lalr1.cc:859 break; case 200: @@ -1562,7 +1568,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("library", lib); ctx.leave(); } -#line 1566 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1572 "dhcp4_parser.cc" // lalr1.cc:859 break; case 201: @@ -1570,7 +1576,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NO_KEYWORD); } -#line 1574 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1580 "dhcp4_parser.cc" // lalr1.cc:859 break; case 202: @@ -1579,7 +1585,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("parameters", yystack_[0].value.as< ElementPtr > ()); ctx.leave(); } -#line 1583 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1589 "dhcp4_parser.cc" // lalr1.cc:859 break; case 203: @@ -1590,7 +1596,7 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(m); ctx.enter(ctx.EXPIRED_LEASES_PROCESSING); } -#line 1594 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1600 "dhcp4_parser.cc" // lalr1.cc:859 break; case 204: @@ -1600,7 +1606,7 @@ namespace isc { namespace dhcp { ctx.stack_.pop_back(); ctx.leave(); } -#line 1604 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1610 "dhcp4_parser.cc" // lalr1.cc:859 break; case 213: @@ -1609,7 +1615,7 @@ namespace isc { namespace dhcp { ElementPtr value(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("reclaim-timer-wait-time", value); } -#line 1613 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1619 "dhcp4_parser.cc" // lalr1.cc:859 break; case 214: @@ -1618,7 +1624,7 @@ namespace isc { namespace dhcp { ElementPtr value(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("flush-reclaimed-timer-wait-time", value); } -#line 1622 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1628 "dhcp4_parser.cc" // lalr1.cc:859 break; case 215: @@ -1627,7 +1633,7 @@ namespace isc { namespace dhcp { ElementPtr value(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hold-reclaimed-time", value); } -#line 1631 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1637 "dhcp4_parser.cc" // lalr1.cc:859 break; case 216: @@ -1636,7 +1642,7 @@ namespace isc { namespace dhcp { ElementPtr value(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("max-reclaim-leases", value); } -#line 1640 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1646 "dhcp4_parser.cc" // lalr1.cc:859 break; case 217: @@ -1645,7 +1651,7 @@ namespace isc { namespace dhcp { ElementPtr value(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("max-reclaim-time", value); } -#line 1649 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1655 "dhcp4_parser.cc" // lalr1.cc:859 break; case 218: @@ -1654,7 +1660,7 @@ namespace isc { namespace dhcp { ElementPtr value(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("unwarned-reclaim-cycles", value); } -#line 1658 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1664 "dhcp4_parser.cc" // lalr1.cc:859 break; case 219: @@ -1665,7 +1671,7 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.SUBNET4); } -#line 1669 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1675 "dhcp4_parser.cc" // lalr1.cc:859 break; case 220: @@ -1674,7 +1680,7 @@ namespace isc { namespace dhcp { ctx.stack_.pop_back(); ctx.leave(); } -#line 1678 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1684 "dhcp4_parser.cc" // lalr1.cc:859 break; case 225: @@ -1684,7 +1690,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 1688 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1694 "dhcp4_parser.cc" // lalr1.cc:859 break; case 226: @@ -1710,7 +1716,7 @@ namespace isc { namespace dhcp { ctx.require("subnet", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 1714 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1720 "dhcp4_parser.cc" // lalr1.cc:859 break; case 227: @@ -1720,7 +1726,7 @@ namespace isc { namespace dhcp { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 1724 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1730 "dhcp4_parser.cc" // lalr1.cc:859 break; case 228: @@ -1730,7 +1736,7 @@ namespace isc { namespace dhcp { ctx.require("subnet", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); // parsing completed } -#line 1734 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1740 "dhcp4_parser.cc" // lalr1.cc:859 break; case 255: @@ -1738,7 +1744,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NO_KEYWORD); } -#line 1742 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1748 "dhcp4_parser.cc" // lalr1.cc:859 break; case 256: @@ -1748,7 +1754,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("subnet", subnet); ctx.leave(); } -#line 1752 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1758 "dhcp4_parser.cc" // lalr1.cc:859 break; case 257: @@ -1756,7 +1762,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NO_KEYWORD); } -#line 1760 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1766 "dhcp4_parser.cc" // lalr1.cc:859 break; case 258: @@ -1766,7 +1772,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("4o6-interface", iface); ctx.leave(); } -#line 1770 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1776 "dhcp4_parser.cc" // lalr1.cc:859 break; case 259: @@ -1774,7 +1780,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NO_KEYWORD); } -#line 1778 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1784 "dhcp4_parser.cc" // lalr1.cc:859 break; case 260: @@ -1784,7 +1790,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("4o6-interface-id", iface); ctx.leave(); } -#line 1788 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1794 "dhcp4_parser.cc" // lalr1.cc:859 break; case 261: @@ -1792,7 +1798,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NO_KEYWORD); } -#line 1796 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1802 "dhcp4_parser.cc" // lalr1.cc:859 break; case 262: @@ -1802,7 +1808,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("4o6-subnet", iface); ctx.leave(); } -#line 1806 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1812 "dhcp4_parser.cc" // lalr1.cc:859 break; case 263: @@ -1810,7 +1816,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NO_KEYWORD); } -#line 1814 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1820 "dhcp4_parser.cc" // lalr1.cc:859 break; case 264: @@ -1820,7 +1826,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("interface", iface); ctx.leave(); } -#line 1824 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1830 "dhcp4_parser.cc" // lalr1.cc:859 break; case 265: @@ -1828,7 +1834,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NO_KEYWORD); } -#line 1832 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1838 "dhcp4_parser.cc" // lalr1.cc:859 break; case 266: @@ -1838,7 +1844,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("interface-id", iface); ctx.leave(); } -#line 1842 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1848 "dhcp4_parser.cc" // lalr1.cc:859 break; case 267: @@ -1846,7 +1852,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.CLIENT_CLASS); } -#line 1850 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1856 "dhcp4_parser.cc" // lalr1.cc:859 break; case 268: @@ -1856,7 +1862,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("client-class", cls); ctx.leave(); } -#line 1860 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1866 "dhcp4_parser.cc" // lalr1.cc:859 break; case 269: @@ -1864,7 +1870,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.RESERVATION_MODE); } -#line 1868 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1874 "dhcp4_parser.cc" // lalr1.cc:859 break; case 270: @@ -1873,25 +1879,25 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("reservation-mode", yystack_[0].value.as< ElementPtr > ()); ctx.leave(); } -#line 1877 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1883 "dhcp4_parser.cc" // lalr1.cc:859 break; case 271: #line 998 "dhcp4_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("disabled", ctx.loc2pos(yystack_[0].location))); } -#line 1883 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1889 "dhcp4_parser.cc" // lalr1.cc:859 break; case 272: #line 999 "dhcp4_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("out-of-pool", ctx.loc2pos(yystack_[0].location))); } -#line 1889 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1895 "dhcp4_parser.cc" // lalr1.cc:859 break; case 273: #line 1000 "dhcp4_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("all", ctx.loc2pos(yystack_[0].location))); } -#line 1895 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1901 "dhcp4_parser.cc" // lalr1.cc:859 break; case 274: @@ -1900,7 +1906,7 @@ namespace isc { namespace dhcp { ElementPtr id(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("id", id); } -#line 1904 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1910 "dhcp4_parser.cc" // lalr1.cc:859 break; case 275: @@ -1909,7 +1915,7 @@ namespace isc { namespace dhcp { ElementPtr rc(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("rapid-commit", rc); } -#line 1913 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1919 "dhcp4_parser.cc" // lalr1.cc:859 break; case 276: @@ -1920,7 +1926,7 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.SHARED_NETWORK); } -#line 1924 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1930 "dhcp4_parser.cc" // lalr1.cc:859 break; case 277: @@ -1929,7 +1935,7 @@ namespace isc { namespace dhcp { ctx.stack_.pop_back(); ctx.leave(); } -#line 1933 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1939 "dhcp4_parser.cc" // lalr1.cc:859 break; case 282: @@ -1939,7 +1945,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 1943 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1949 "dhcp4_parser.cc" // lalr1.cc:859 break; case 283: @@ -1947,7 +1953,7 @@ namespace isc { namespace dhcp { { ctx.stack_.pop_back(); } -#line 1951 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1957 "dhcp4_parser.cc" // lalr1.cc:859 break; case 303: @@ -1958,7 +1964,7 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.OPTION_DEF); } -#line 1962 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1968 "dhcp4_parser.cc" // lalr1.cc:859 break; case 304: @@ -1967,7 +1973,7 @@ namespace isc { namespace dhcp { ctx.stack_.pop_back(); ctx.leave(); } -#line 1971 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1977 "dhcp4_parser.cc" // lalr1.cc:859 break; case 305: @@ -1976,7 +1982,7 @@ namespace isc { namespace dhcp { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 1980 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1986 "dhcp4_parser.cc" // lalr1.cc:859 break; case 306: @@ -1984,7 +1990,7 @@ namespace isc { namespace dhcp { { // parsing completed } -#line 1988 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1994 "dhcp4_parser.cc" // lalr1.cc:859 break; case 311: @@ -1994,7 +2000,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 1998 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2004 "dhcp4_parser.cc" // lalr1.cc:859 break; case 312: @@ -2006,7 +2012,7 @@ namespace isc { namespace dhcp { ctx.require("type", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 2010 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2016 "dhcp4_parser.cc" // lalr1.cc:859 break; case 313: @@ -2016,7 +2022,7 @@ namespace isc { namespace dhcp { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 2020 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2026 "dhcp4_parser.cc" // lalr1.cc:859 break; case 314: @@ -2028,7 +2034,7 @@ namespace isc { namespace dhcp { ctx.require("type", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); // parsing completed } -#line 2032 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2038 "dhcp4_parser.cc" // lalr1.cc:859 break; case 330: @@ -2037,7 +2043,7 @@ namespace isc { namespace dhcp { ElementPtr code(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("code", code); } -#line 2041 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2047 "dhcp4_parser.cc" // lalr1.cc:859 break; case 332: @@ -2045,7 +2051,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NO_KEYWORD); } -#line 2049 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2055 "dhcp4_parser.cc" // lalr1.cc:859 break; case 333: @@ -2055,7 +2061,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("type", prf); ctx.leave(); } -#line 2059 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2065 "dhcp4_parser.cc" // lalr1.cc:859 break; case 334: @@ -2063,7 +2069,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NO_KEYWORD); } -#line 2067 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2073 "dhcp4_parser.cc" // lalr1.cc:859 break; case 335: @@ -2073,7 +2079,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("record-types", rtypes); ctx.leave(); } -#line 2077 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2083 "dhcp4_parser.cc" // lalr1.cc:859 break; case 336: @@ -2081,7 +2087,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NO_KEYWORD); } -#line 2085 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2091 "dhcp4_parser.cc" // lalr1.cc:859 break; case 337: @@ -2091,7 +2097,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("space", space); ctx.leave(); } -#line 2095 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2101 "dhcp4_parser.cc" // lalr1.cc:859 break; case 339: @@ -2099,7 +2105,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NO_KEYWORD); } -#line 2103 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2109 "dhcp4_parser.cc" // lalr1.cc:859 break; case 340: @@ -2109,7 +2115,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("encapsulate", encap); ctx.leave(); } -#line 2113 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2119 "dhcp4_parser.cc" // lalr1.cc:859 break; case 341: @@ -2118,7 +2124,7 @@ namespace isc { namespace dhcp { ElementPtr array(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("array", array); } -#line 2122 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2128 "dhcp4_parser.cc" // lalr1.cc:859 break; case 342: @@ -2129,7 +2135,7 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.OPTION_DATA); } -#line 2133 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2139 "dhcp4_parser.cc" // lalr1.cc:859 break; case 343: @@ -2138,7 +2144,7 @@ namespace isc { namespace dhcp { ctx.stack_.pop_back(); ctx.leave(); } -#line 2142 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2148 "dhcp4_parser.cc" // lalr1.cc:859 break; case 348: @@ -2148,7 +2154,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 2152 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2158 "dhcp4_parser.cc" // lalr1.cc:859 break; case 349: @@ -2157,7 +2163,7 @@ namespace isc { namespace dhcp { /// @todo: the code or name parameters are required. ctx.stack_.pop_back(); } -#line 2161 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2167 "dhcp4_parser.cc" // lalr1.cc:859 break; case 350: @@ -2167,7 +2173,7 @@ namespace isc { namespace dhcp { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 2171 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2177 "dhcp4_parser.cc" // lalr1.cc:859 break; case 351: @@ -2176,7 +2182,7 @@ namespace isc { namespace dhcp { /// @todo: the code or name parameters are required. // parsing completed } -#line 2180 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2186 "dhcp4_parser.cc" // lalr1.cc:859 break; case 366: @@ -2184,7 +2190,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NO_KEYWORD); } -#line 2188 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2194 "dhcp4_parser.cc" // lalr1.cc:859 break; case 367: @@ -2194,7 +2200,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("data", data); ctx.leave(); } -#line 2198 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2204 "dhcp4_parser.cc" // lalr1.cc:859 break; case 370: @@ -2203,7 +2209,7 @@ namespace isc { namespace dhcp { ElementPtr space(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("csv-format", space); } -#line 2207 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2213 "dhcp4_parser.cc" // lalr1.cc:859 break; case 371: @@ -2212,7 +2218,7 @@ namespace isc { namespace dhcp { ElementPtr persist(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("always-send", persist); } -#line 2216 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2222 "dhcp4_parser.cc" // lalr1.cc:859 break; case 372: @@ -2223,7 +2229,7 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.POOLS); } -#line 2227 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2233 "dhcp4_parser.cc" // lalr1.cc:859 break; case 373: @@ -2232,7 +2238,7 @@ namespace isc { namespace dhcp { ctx.stack_.pop_back(); ctx.leave(); } -#line 2236 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2242 "dhcp4_parser.cc" // lalr1.cc:859 break; case 378: @@ -2242,7 +2248,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 2246 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2252 "dhcp4_parser.cc" // lalr1.cc:859 break; case 379: @@ -2252,7 +2258,7 @@ namespace isc { namespace dhcp { ctx.require("pool", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 2256 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2262 "dhcp4_parser.cc" // lalr1.cc:859 break; case 380: @@ -2262,7 +2268,7 @@ namespace isc { namespace dhcp { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 2266 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2272 "dhcp4_parser.cc" // lalr1.cc:859 break; case 381: @@ -2272,7 +2278,7 @@ namespace isc { namespace dhcp { ctx.require("pool", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); // parsing completed } -#line 2276 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2282 "dhcp4_parser.cc" // lalr1.cc:859 break; case 389: @@ -2280,7 +2286,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NO_KEYWORD); } -#line 2284 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2290 "dhcp4_parser.cc" // lalr1.cc:859 break; case 390: @@ -2290,7 +2296,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("pool", pool); ctx.leave(); } -#line 2294 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2300 "dhcp4_parser.cc" // lalr1.cc:859 break; case 391: @@ -2298,7 +2304,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NO_KEYWORD); } -#line 2302 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2308 "dhcp4_parser.cc" // lalr1.cc:859 break; case 392: @@ -2307,7 +2313,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->combine_set("user-context", yystack_[0].value.as< ElementPtr > ()); ctx.leave(); } -#line 2311 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2317 "dhcp4_parser.cc" // lalr1.cc:859 break; case 393: @@ -2315,7 +2321,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NO_KEYWORD); } -#line 2319 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2325 "dhcp4_parser.cc" // lalr1.cc:859 break; case 394: @@ -2326,7 +2332,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->combine_set("user-context", e); ctx.leave(); } -#line 2330 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2336 "dhcp4_parser.cc" // lalr1.cc:859 break; case 395: @@ -2337,7 +2343,7 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.RESERVATIONS); } -#line 2341 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2347 "dhcp4_parser.cc" // lalr1.cc:859 break; case 396: @@ -2346,7 +2352,7 @@ namespace isc { namespace dhcp { ctx.stack_.pop_back(); ctx.leave(); } -#line 2350 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2356 "dhcp4_parser.cc" // lalr1.cc:859 break; case 401: @@ -2356,7 +2362,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 2360 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2366 "dhcp4_parser.cc" // lalr1.cc:859 break; case 402: @@ -2365,7 +2371,7 @@ namespace isc { namespace dhcp { /// @todo: an identifier parameter is required. ctx.stack_.pop_back(); } -#line 2369 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2375 "dhcp4_parser.cc" // lalr1.cc:859 break; case 403: @@ -2375,7 +2381,7 @@ namespace isc { namespace dhcp { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 2379 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2385 "dhcp4_parser.cc" // lalr1.cc:859 break; case 404: @@ -2384,7 +2390,7 @@ namespace isc { namespace dhcp { /// @todo: an identifier parameter is required. // parsing completed } -#line 2388 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2394 "dhcp4_parser.cc" // lalr1.cc:859 break; case 424: @@ -2392,7 +2398,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NO_KEYWORD); } -#line 2396 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2402 "dhcp4_parser.cc" // lalr1.cc:859 break; case 425: @@ -2402,7 +2408,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("next-server", next_server); ctx.leave(); } -#line 2406 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2412 "dhcp4_parser.cc" // lalr1.cc:859 break; case 426: @@ -2410,7 +2416,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NO_KEYWORD); } -#line 2414 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2420 "dhcp4_parser.cc" // lalr1.cc:859 break; case 427: @@ -2420,7 +2426,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("server-hostname", srv); ctx.leave(); } -#line 2424 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2430 "dhcp4_parser.cc" // lalr1.cc:859 break; case 428: @@ -2428,7 +2434,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NO_KEYWORD); } -#line 2432 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2438 "dhcp4_parser.cc" // lalr1.cc:859 break; case 429: @@ -2438,7 +2444,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("boot-file-name", bootfile); ctx.leave(); } -#line 2442 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2448 "dhcp4_parser.cc" // lalr1.cc:859 break; case 430: @@ -2446,7 +2452,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NO_KEYWORD); } -#line 2450 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2456 "dhcp4_parser.cc" // lalr1.cc:859 break; case 431: @@ -2456,7 +2462,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("ip-address", addr); ctx.leave(); } -#line 2460 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2466 "dhcp4_parser.cc" // lalr1.cc:859 break; case 432: @@ -2464,7 +2470,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NO_KEYWORD); } -#line 2468 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2474 "dhcp4_parser.cc" // lalr1.cc:859 break; case 433: @@ -2474,7 +2480,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("duid", d); ctx.leave(); } -#line 2478 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2484 "dhcp4_parser.cc" // lalr1.cc:859 break; case 434: @@ -2482,7 +2488,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NO_KEYWORD); } -#line 2486 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2492 "dhcp4_parser.cc" // lalr1.cc:859 break; case 435: @@ -2492,7 +2498,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("hw-address", hw); ctx.leave(); } -#line 2496 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2502 "dhcp4_parser.cc" // lalr1.cc:859 break; case 436: @@ -2500,7 +2506,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NO_KEYWORD); } -#line 2504 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2510 "dhcp4_parser.cc" // lalr1.cc:859 break; case 437: @@ -2510,7 +2516,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("client-id", hw); ctx.leave(); } -#line 2514 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2520 "dhcp4_parser.cc" // lalr1.cc:859 break; case 438: @@ -2518,7 +2524,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NO_KEYWORD); } -#line 2522 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2528 "dhcp4_parser.cc" // lalr1.cc:859 break; case 439: @@ -2528,7 +2534,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("circuit-id", hw); ctx.leave(); } -#line 2532 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2538 "dhcp4_parser.cc" // lalr1.cc:859 break; case 440: @@ -2536,7 +2542,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NO_KEYWORD); } -#line 2540 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2546 "dhcp4_parser.cc" // lalr1.cc:859 break; case 441: @@ -2546,7 +2552,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("flex-id", hw); ctx.leave(); } -#line 2550 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2556 "dhcp4_parser.cc" // lalr1.cc:859 break; case 442: @@ -2554,7 +2560,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NO_KEYWORD); } -#line 2558 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2564 "dhcp4_parser.cc" // lalr1.cc:859 break; case 443: @@ -2564,7 +2570,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("hostname", host); ctx.leave(); } -#line 2568 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2574 "dhcp4_parser.cc" // lalr1.cc:859 break; case 444: @@ -2575,7 +2581,7 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(c); ctx.enter(ctx.NO_KEYWORD); } -#line 2579 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2585 "dhcp4_parser.cc" // lalr1.cc:859 break; case 445: @@ -2584,7 +2590,7 @@ namespace isc { namespace dhcp { ctx.stack_.pop_back(); ctx.leave(); } -#line 2588 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2594 "dhcp4_parser.cc" // lalr1.cc:859 break; case 446: @@ -2595,7 +2601,7 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(m); ctx.enter(ctx.RELAY); } -#line 2599 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2605 "dhcp4_parser.cc" // lalr1.cc:859 break; case 447: @@ -2604,7 +2610,7 @@ namespace isc { namespace dhcp { ctx.stack_.pop_back(); ctx.leave(); } -#line 2608 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2614 "dhcp4_parser.cc" // lalr1.cc:859 break; case 448: @@ -2612,7 +2618,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NO_KEYWORD); } -#line 2616 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2622 "dhcp4_parser.cc" // lalr1.cc:859 break; case 449: @@ -2622,7 +2628,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("ip-address", ip); ctx.leave(); } -#line 2626 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2632 "dhcp4_parser.cc" // lalr1.cc:859 break; case 450: @@ -2633,7 +2639,7 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.CLIENT_CLASSES); } -#line 2637 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2643 "dhcp4_parser.cc" // lalr1.cc:859 break; case 451: @@ -2642,7 +2648,7 @@ namespace isc { namespace dhcp { ctx.stack_.pop_back(); ctx.leave(); } -#line 2646 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2652 "dhcp4_parser.cc" // lalr1.cc:859 break; case 454: @@ -2652,7 +2658,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 2656 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2662 "dhcp4_parser.cc" // lalr1.cc:859 break; case 455: @@ -2662,7 +2668,7 @@ namespace isc { namespace dhcp { ctx.require("name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 2666 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2672 "dhcp4_parser.cc" // lalr1.cc:859 break; case 471: @@ -2670,7 +2676,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NO_KEYWORD); } -#line 2674 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2680 "dhcp4_parser.cc" // lalr1.cc:859 break; case 472: @@ -2680,7 +2686,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("test", test); ctx.leave(); } -#line 2684 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2690 "dhcp4_parser.cc" // lalr1.cc:859 break; case 473: @@ -2689,7 +2695,7 @@ namespace isc { namespace dhcp { ElementPtr time(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("dhcp4o6-port", time); } -#line 2693 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2699 "dhcp4_parser.cc" // lalr1.cc:859 break; case 474: @@ -2700,7 +2706,7 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(m); ctx.enter(ctx.CONTROL_SOCKET); } -#line 2704 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2710 "dhcp4_parser.cc" // lalr1.cc:859 break; case 475: @@ -2709,7 +2715,7 @@ namespace isc { namespace dhcp { ctx.stack_.pop_back(); ctx.leave(); } -#line 2713 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2719 "dhcp4_parser.cc" // lalr1.cc:859 break; case 483: @@ -2717,7 +2723,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NO_KEYWORD); } -#line 2721 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2727 "dhcp4_parser.cc" // lalr1.cc:859 break; case 484: @@ -2727,7 +2733,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("socket-type", stype); ctx.leave(); } -#line 2731 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2737 "dhcp4_parser.cc" // lalr1.cc:859 break; case 485: @@ -2735,7 +2741,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NO_KEYWORD); } -#line 2739 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2745 "dhcp4_parser.cc" // lalr1.cc:859 break; case 486: @@ -2745,7 +2751,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("socket-name", name); ctx.leave(); } -#line 2749 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2755 "dhcp4_parser.cc" // lalr1.cc:859 break; case 488: @@ -2753,7 +2759,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NO_KEYWORD); } -#line 2757 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2763 "dhcp4_parser.cc" // lalr1.cc:859 break; case 489: @@ -2762,7 +2768,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->combine_set("comment", yystack_[0].value.as< ElementPtr > ()); ctx.leave(); } -#line 2766 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2772 "dhcp4_parser.cc" // lalr1.cc:859 break; case 490: @@ -2773,7 +2779,7 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(m); ctx.enter(ctx.DHCP_DDNS); } -#line 2777 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2783 "dhcp4_parser.cc" // lalr1.cc:859 break; case 491: @@ -2784,7 +2790,7 @@ namespace isc { namespace dhcp { ctx.stack_.pop_back(); ctx.leave(); } -#line 2788 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2794 "dhcp4_parser.cc" // lalr1.cc:859 break; case 492: @@ -2794,7 +2800,7 @@ namespace isc { namespace dhcp { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 2798 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2804 "dhcp4_parser.cc" // lalr1.cc:859 break; case 493: @@ -2804,7 +2810,7 @@ namespace isc { namespace dhcp { ctx.require("enable-updates", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); // parsing completed } -#line 2808 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2814 "dhcp4_parser.cc" // lalr1.cc:859 break; case 513: @@ -2813,7 +2819,7 @@ namespace isc { namespace dhcp { ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("enable-updates", b); } -#line 2817 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2823 "dhcp4_parser.cc" // lalr1.cc:859 break; case 514: @@ -2821,7 +2827,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NO_KEYWORD); } -#line 2825 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2831 "dhcp4_parser.cc" // lalr1.cc:859 break; case 515: @@ -2831,7 +2837,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("qualifying-suffix", s); ctx.leave(); } -#line 2835 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2841 "dhcp4_parser.cc" // lalr1.cc:859 break; case 516: @@ -2839,7 +2845,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NO_KEYWORD); } -#line 2843 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2849 "dhcp4_parser.cc" // lalr1.cc:859 break; case 517: @@ -2849,7 +2855,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("server-ip", s); ctx.leave(); } -#line 2853 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2859 "dhcp4_parser.cc" // lalr1.cc:859 break; case 518: @@ -2858,7 +2864,7 @@ namespace isc { namespace dhcp { ElementPtr i(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("server-port", i); } -#line 2862 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2868 "dhcp4_parser.cc" // lalr1.cc:859 break; case 519: @@ -2866,7 +2872,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NO_KEYWORD); } -#line 2870 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2876 "dhcp4_parser.cc" // lalr1.cc:859 break; case 520: @@ -2876,7 +2882,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("sender-ip", s); ctx.leave(); } -#line 2880 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2886 "dhcp4_parser.cc" // lalr1.cc:859 break; case 521: @@ -2885,7 +2891,7 @@ namespace isc { namespace dhcp { ElementPtr i(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("sender-port", i); } -#line 2889 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2895 "dhcp4_parser.cc" // lalr1.cc:859 break; case 522: @@ -2894,7 +2900,7 @@ namespace isc { namespace dhcp { ElementPtr i(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("max-queue-size", i); } -#line 2898 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2904 "dhcp4_parser.cc" // lalr1.cc:859 break; case 523: @@ -2902,7 +2908,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NCR_PROTOCOL); } -#line 2906 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2912 "dhcp4_parser.cc" // lalr1.cc:859 break; case 524: @@ -2911,19 +2917,19 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("ncr-protocol", yystack_[0].value.as< ElementPtr > ()); ctx.leave(); } -#line 2915 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2921 "dhcp4_parser.cc" // lalr1.cc:859 break; case 525: #line 1765 "dhcp4_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("UDP", ctx.loc2pos(yystack_[0].location))); } -#line 2921 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2927 "dhcp4_parser.cc" // lalr1.cc:859 break; case 526: #line 1766 "dhcp4_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("TCP", ctx.loc2pos(yystack_[0].location))); } -#line 2927 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2933 "dhcp4_parser.cc" // lalr1.cc:859 break; case 527: @@ -2931,7 +2937,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NCR_FORMAT); } -#line 2935 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2941 "dhcp4_parser.cc" // lalr1.cc:859 break; case 528: @@ -2941,7 +2947,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("ncr-format", json); ctx.leave(); } -#line 2945 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2951 "dhcp4_parser.cc" // lalr1.cc:859 break; case 529: @@ -2950,7 +2956,7 @@ namespace isc { namespace dhcp { ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("always-include-fqdn", b); } -#line 2954 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2960 "dhcp4_parser.cc" // lalr1.cc:859 break; case 530: @@ -2959,7 +2965,7 @@ namespace isc { namespace dhcp { ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("override-no-update", b); } -#line 2963 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2969 "dhcp4_parser.cc" // lalr1.cc:859 break; case 531: @@ -2968,7 +2974,7 @@ namespace isc { namespace dhcp { ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("override-client-update", b); } -#line 2972 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2978 "dhcp4_parser.cc" // lalr1.cc:859 break; case 532: @@ -2976,7 +2982,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.REPLACE_CLIENT_NAME); } -#line 2980 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2986 "dhcp4_parser.cc" // lalr1.cc:859 break; case 533: @@ -2985,7 +2991,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("replace-client-name", yystack_[0].value.as< ElementPtr > ()); ctx.leave(); } -#line 2989 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2995 "dhcp4_parser.cc" // lalr1.cc:859 break; case 534: @@ -2993,7 +2999,7 @@ namespace isc { namespace dhcp { { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("when-present", ctx.loc2pos(yystack_[0].location))); } -#line 2997 "dhcp4_parser.cc" // lalr1.cc:859 +#line 3003 "dhcp4_parser.cc" // lalr1.cc:859 break; case 535: @@ -3001,7 +3007,7 @@ namespace isc { namespace dhcp { { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("never", ctx.loc2pos(yystack_[0].location))); } -#line 3005 "dhcp4_parser.cc" // lalr1.cc:859 +#line 3011 "dhcp4_parser.cc" // lalr1.cc:859 break; case 536: @@ -3009,7 +3015,7 @@ namespace isc { namespace dhcp { { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("always", ctx.loc2pos(yystack_[0].location))); } -#line 3013 "dhcp4_parser.cc" // lalr1.cc:859 +#line 3019 "dhcp4_parser.cc" // lalr1.cc:859 break; case 537: @@ -3017,7 +3023,7 @@ namespace isc { namespace dhcp { { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("when-not-present", ctx.loc2pos(yystack_[0].location))); } -#line 3021 "dhcp4_parser.cc" // lalr1.cc:859 +#line 3027 "dhcp4_parser.cc" // lalr1.cc:859 break; case 538: @@ -3026,7 +3032,7 @@ namespace isc { namespace dhcp { error(yystack_[0].location, "boolean values for the replace-client-name are " "no longer supported"); } -#line 3030 "dhcp4_parser.cc" // lalr1.cc:859 +#line 3036 "dhcp4_parser.cc" // lalr1.cc:859 break; case 539: @@ -3034,7 +3040,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NO_KEYWORD); } -#line 3038 "dhcp4_parser.cc" // lalr1.cc:859 +#line 3044 "dhcp4_parser.cc" // lalr1.cc:859 break; case 540: @@ -3044,7 +3050,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("generated-prefix", s); ctx.leave(); } -#line 3048 "dhcp4_parser.cc" // lalr1.cc:859 +#line 3054 "dhcp4_parser.cc" // lalr1.cc:859 break; case 541: @@ -3052,7 +3058,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NO_KEYWORD); } -#line 3056 "dhcp4_parser.cc" // lalr1.cc:859 +#line 3062 "dhcp4_parser.cc" // lalr1.cc:859 break; case 542: @@ -3061,7 +3067,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("Dhcp6", yystack_[0].value.as< ElementPtr > ()); ctx.leave(); } -#line 3065 "dhcp4_parser.cc" // lalr1.cc:859 +#line 3071 "dhcp4_parser.cc" // lalr1.cc:859 break; case 543: @@ -3069,7 +3075,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NO_KEYWORD); } -#line 3073 "dhcp4_parser.cc" // lalr1.cc:859 +#line 3079 "dhcp4_parser.cc" // lalr1.cc:859 break; case 544: @@ -3078,7 +3084,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("DhcpDdns", yystack_[0].value.as< ElementPtr > ()); ctx.leave(); } -#line 3082 "dhcp4_parser.cc" // lalr1.cc:859 +#line 3088 "dhcp4_parser.cc" // lalr1.cc:859 break; case 545: @@ -3086,7 +3092,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NO_KEYWORD); } -#line 3090 "dhcp4_parser.cc" // lalr1.cc:859 +#line 3096 "dhcp4_parser.cc" // lalr1.cc:859 break; case 546: @@ -3095,7 +3101,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("Control-agent", yystack_[0].value.as< ElementPtr > ()); ctx.leave(); } -#line 3099 "dhcp4_parser.cc" // lalr1.cc:859 +#line 3105 "dhcp4_parser.cc" // lalr1.cc:859 break; case 547: @@ -3106,7 +3112,7 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(m); ctx.enter(ctx.LOGGING); } -#line 3110 "dhcp4_parser.cc" // lalr1.cc:859 +#line 3116 "dhcp4_parser.cc" // lalr1.cc:859 break; case 548: @@ -3115,159 +3121,177 @@ namespace isc { namespace dhcp { ctx.stack_.pop_back(); ctx.leave(); } -#line 3119 "dhcp4_parser.cc" // lalr1.cc:859 +#line 3125 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 552: -#line 1876 "dhcp4_parser.yy" // lalr1.cc:859 + case 549: +#line 1864 "dhcp4_parser.yy" // lalr1.cc:859 + { + // Parse the Logging map + ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); + ctx.stack_.push_back(m); +} +#line 3135 "dhcp4_parser.cc" // lalr1.cc:859 + break; + + case 550: +#line 1868 "dhcp4_parser.yy" // lalr1.cc:859 + { + // parsing completed +} +#line 3143 "dhcp4_parser.cc" // lalr1.cc:859 + break; + + case 554: +#line 1884 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("loggers", l); ctx.stack_.push_back(l); ctx.enter(ctx.LOGGERS); } -#line 3130 "dhcp4_parser.cc" // lalr1.cc:859 +#line 3154 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 553: -#line 1881 "dhcp4_parser.yy" // lalr1.cc:859 + case 555: +#line 1889 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); ctx.leave(); } -#line 3139 "dhcp4_parser.cc" // lalr1.cc:859 +#line 3163 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 556: -#line 1893 "dhcp4_parser.yy" // lalr1.cc:859 + case 558: +#line 1901 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr l(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(l); ctx.stack_.push_back(l); } -#line 3149 "dhcp4_parser.cc" // lalr1.cc:859 +#line 3173 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 557: -#line 1897 "dhcp4_parser.yy" // lalr1.cc:859 + case 559: +#line 1905 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); } -#line 3157 "dhcp4_parser.cc" // lalr1.cc:859 +#line 3181 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 567: -#line 1914 "dhcp4_parser.yy" // lalr1.cc:859 + case 569: +#line 1922 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr dl(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("debuglevel", dl); } -#line 3166 "dhcp4_parser.cc" // lalr1.cc:859 +#line 3190 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 568: -#line 1919 "dhcp4_parser.yy" // lalr1.cc:859 + case 570: +#line 1927 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } -#line 3174 "dhcp4_parser.cc" // lalr1.cc:859 +#line 3198 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 569: -#line 1921 "dhcp4_parser.yy" // lalr1.cc:859 + case 571: +#line 1929 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr sev(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("severity", sev); ctx.leave(); } -#line 3184 "dhcp4_parser.cc" // lalr1.cc:859 +#line 3208 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 570: -#line 1927 "dhcp4_parser.yy" // lalr1.cc:859 + case 572: +#line 1935 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("output_options", l); ctx.stack_.push_back(l); ctx.enter(ctx.OUTPUT_OPTIONS); } -#line 3195 "dhcp4_parser.cc" // lalr1.cc:859 +#line 3219 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 571: -#line 1932 "dhcp4_parser.yy" // lalr1.cc:859 + case 573: +#line 1940 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); ctx.leave(); } -#line 3204 "dhcp4_parser.cc" // lalr1.cc:859 +#line 3228 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 574: -#line 1941 "dhcp4_parser.yy" // lalr1.cc:859 + case 576: +#line 1949 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 3214 "dhcp4_parser.cc" // lalr1.cc:859 +#line 3238 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 575: -#line 1945 "dhcp4_parser.yy" // lalr1.cc:859 + case 577: +#line 1953 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); } -#line 3222 "dhcp4_parser.cc" // lalr1.cc:859 - break; - - case 582: -#line 1959 "dhcp4_parser.yy" // lalr1.cc:859 - { - ctx.enter(ctx.NO_KEYWORD); -} -#line 3230 "dhcp4_parser.cc" // lalr1.cc:859 - break; - - case 583: -#line 1961 "dhcp4_parser.yy" // lalr1.cc:859 - { - ElementPtr sev(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); - ctx.stack_.back()->set("output", sev); - ctx.leave(); -} -#line 3240 "dhcp4_parser.cc" // lalr1.cc:859 +#line 3246 "dhcp4_parser.cc" // lalr1.cc:859 break; case 584: #line 1967 "dhcp4_parser.yy" // lalr1.cc:859 { - ElementPtr flush(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); - ctx.stack_.back()->set("flush", flush); + ctx.enter(ctx.NO_KEYWORD); } -#line 3249 "dhcp4_parser.cc" // lalr1.cc:859 +#line 3254 "dhcp4_parser.cc" // lalr1.cc:859 break; case 585: -#line 1972 "dhcp4_parser.yy" // lalr1.cc:859 +#line 1969 "dhcp4_parser.yy" // lalr1.cc:859 + { + ElementPtr sev(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); + ctx.stack_.back()->set("output", sev); + ctx.leave(); +} +#line 3264 "dhcp4_parser.cc" // lalr1.cc:859 + break; + + case 586: +#line 1975 "dhcp4_parser.yy" // lalr1.cc:859 + { + ElementPtr flush(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); + ctx.stack_.back()->set("flush", flush); +} +#line 3273 "dhcp4_parser.cc" // lalr1.cc:859 + break; + + case 587: +#line 1980 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr maxsize(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("maxsize", maxsize); } -#line 3258 "dhcp4_parser.cc" // lalr1.cc:859 +#line 3282 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 586: -#line 1977 "dhcp4_parser.yy" // lalr1.cc:859 + case 588: +#line 1985 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr maxver(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("maxver", maxver); } -#line 3267 "dhcp4_parser.cc" // lalr1.cc:859 +#line 3291 "dhcp4_parser.cc" // lalr1.cc:859 break; -#line 3271 "dhcp4_parser.cc" // lalr1.cc:859 +#line 3295 "dhcp4_parser.cc" // lalr1.cc:859 default: break; } @@ -3522,176 +3546,177 @@ namespace isc { namespace dhcp { } - const short int Dhcp4Parser::yypact_ninf_ = -721; + const short int Dhcp4Parser::yypact_ninf_ = -745; const signed char Dhcp4Parser::yytable_ninf_ = -1; const short int Dhcp4Parser::yypact_[] = { - 315, -721, -721, -721, -721, -721, -721, -721, -721, -721, - -721, -721, -721, 38, 12, 33, 41, 44, 52, 56, - 58, 60, 62, 64, 75, 84, -721, -721, -721, -721, - -721, -721, -721, -721, -721, -721, -721, -721, -721, -721, - -721, -721, -721, -721, -721, -721, -721, -721, -721, -721, - -721, -721, -721, -721, -721, -721, -721, -721, -721, -721, - 12, -86, 10, 161, 74, 32, 165, 348, 82, 61, - 191, -17, 333, -721, 89, 111, 137, 143, 155, -721, - -721, -721, -721, -721, 188, -721, 23, -721, -721, -721, - -721, -721, -721, -721, 205, 209, -721, -721, -721, -721, - -721, 220, 223, 227, 237, -721, -721, -721, -721, -721, - -721, -721, -721, -721, -721, 238, -721, -721, -721, 54, - -721, -721, -721, -721, -721, -721, -721, -721, -721, -721, - -721, -721, -721, -721, -721, -721, -721, -721, -721, -721, - -721, -721, -721, -721, -721, -721, -721, -721, -721, 246, - -721, 81, -721, -721, -721, -721, -721, -721, -721, -721, - -721, -721, -721, -721, -721, -721, -721, 257, 264, -721, - -721, -721, -721, -721, -721, -721, -721, -721, 109, -721, - -721, -721, -721, -721, -721, -721, -721, -721, -721, -721, - -721, -721, -721, -721, -721, -721, -721, -721, -721, -721, - -721, -721, 132, -721, -721, -721, -721, -721, -721, -721, - -721, -721, -721, -721, -721, -721, -721, -721, -721, 186, - 255, -721, -721, -721, -721, -721, -721, -721, -721, -721, - -721, -721, -721, 303, -721, -721, 268, -721, -721, -721, - 314, -721, -721, 313, 327, -721, -721, -721, -721, -721, - -721, -721, -721, -721, -721, -721, -721, -721, 328, 330, - -721, -721, -721, -721, 335, 341, -721, -721, -721, -721, - -721, -721, -721, -721, -721, -721, -721, -721, 230, -721, - -721, -721, 346, -721, -721, 349, -721, 352, 361, -721, - -721, 362, 363, 369, -721, -721, -721, -721, -721, 231, - -721, -721, -721, -721, -721, -721, -721, -721, -721, -721, - -721, -721, -721, -721, -721, -721, 12, 12, -721, 229, - 373, 379, 396, 397, 398, -721, 10, -721, 403, 258, - 259, 406, 407, 410, 411, 412, 204, 239, 269, 270, - 415, 416, 417, 418, 419, 422, 423, 430, 458, 459, - 316, 461, 462, 161, -721, 463, 464, 465, 320, 74, - -721, 124, 467, 468, 469, 470, 471, 474, 477, 334, - 336, 481, 483, 484, 485, 32, -721, 486, 165, -721, - 487, 489, 490, 494, 496, 498, 501, 502, -721, 348, - -721, 503, 506, 364, 507, 510, 511, 368, -721, 61, - 515, 370, 374, -721, 191, 518, 519, -12, -721, 377, - 525, 526, 384, 527, 385, 386, 531, 532, 387, 388, - 391, 538, 539, 333, -721, -721, -721, 540, 541, 542, - 12, 12, 12, -721, 544, -721, -721, 399, 400, 405, - 546, 547, -721, -721, -721, -721, 550, 551, 552, 553, - 554, 12, 555, 557, 559, 558, -721, 560, 561, -721, - 565, 90, 151, -721, -721, -721, -721, -721, -721, -721, - -721, -721, -721, -721, -721, 537, 556, -721, -721, -721, - 424, 425, 427, 570, 429, 431, 432, -721, -721, 50, - 433, 572, 574, -721, 435, -721, 565, 436, 437, 438, - 439, 440, 441, 442, -721, 443, 444, -721, 445, 446, - 447, -721, -721, 448, -721, -721, -721, 449, 12, -721, - -721, 450, 451, -721, 452, -721, -721, 17, 482, -721, - -721, -721, 45, 454, -721, 12, 161, 478, -721, -721, - -721, 74, -721, -721, -721, 242, 242, 596, 597, 598, - 599, -721, -721, -721, 117, 7, 600, 192, 202, 333, - -721, -721, -721, -721, -721, -721, -721, -721, 562, -721, - 124, -721, -721, -721, 601, -721, -721, -721, -721, -721, - -721, -721, -721, 602, 523, -721, -721, -721, -721, -721, - -721, -721, -721, -721, -721, -721, -721, -721, -721, -721, - -721, -721, -721, -721, -721, -721, -721, -721, -721, -721, - -721, -721, -721, -721, -721, -721, -721, 232, -721, 254, - -721, -721, 262, -721, -721, -721, -721, 607, 608, 609, - 610, 611, -721, -721, -721, 290, -721, -721, -721, -721, - -721, -721, -721, -721, -721, -721, -721, -721, -721, -721, - -721, 292, -721, 612, 613, -721, -721, 614, 616, -721, - -721, 615, 619, -721, -721, 617, 621, -721, -721, -721, - -721, -721, -721, 167, -721, -721, -721, -721, -721, -721, - -721, 174, -721, 620, 622, -721, 623, 624, 625, 626, - 627, 628, 293, -721, -721, -721, -721, -721, -721, -721, - -721, -721, -721, -721, -721, 302, -721, -721, -721, -721, - -721, 306, 488, 491, -721, -721, 630, 631, -721, -721, - 633, 634, -721, -721, 632, -721, 629, 478, -721, -721, - 637, 638, 639, 640, 497, 499, 500, 504, 505, 642, - 643, 242, -721, -721, 32, -721, 596, 61, -721, 597, - 191, -721, 598, 85, -721, 599, 117, -721, 7, -721, - -17, -721, 600, 508, 509, 512, 513, 514, 516, 192, - -721, 646, 647, 648, 202, -721, -721, -721, 649, 655, - -721, 165, -721, 601, 348, -721, 602, 659, -721, 654, - -721, 365, 520, 521, 522, -721, -721, -721, -721, -721, - 524, 528, -721, 312, -721, 657, -721, 658, -721, -721, - -721, -721, -721, -721, -721, -721, -721, -721, -721, 321, - -721, -721, -721, -721, -721, -721, -721, -721, -721, -721, - -721, 343, -721, -721, -721, -721, -721, -721, -721, -721, - 12, 529, 530, -721, -721, 533, 372, -721, 662, -721, - 536, 666, -721, -721, -721, -721, -721, -721, -721, -721, - -721, -721, -721, -721, -721, 85, -721, -721, -721, -721, - -721, -721, -721, -721, -721, -721, 190, -721, -721, 126, - 666, -721, -721, 670, -721, -721, -721, -721, -721, 382, - -721, -721, -721, -721, -721, 674, 545, 683, 126, -721, - 684, -721, 543, -721, 689, -721, -721, 217, -721, 88, - 689, -721, -721, 696, 703, 706, 383, -721, -721, -721, - -721, -721, -721, 709, 566, 567, 569, 88, -721, 571, - -721, -721, -721, -721, -721 + 305, -745, -745, -745, -745, -745, -745, -745, -745, -745, + -745, -745, -745, -745, 16, 36, 47, 61, 79, 82, + 106, 117, 132, 159, 182, 184, 188, 195, -745, -745, + -745, -745, -745, -745, -745, -745, -745, -745, -745, -745, + -745, -745, -745, -745, -745, -745, -745, -745, -745, -745, + -745, -745, -745, -745, -745, -745, -745, -745, -745, -745, + -745, -745, -745, -745, 36, 20, 9, 183, 72, 52, + 14, 213, 142, 356, -4, -8, 323, 86, -745, 224, + 229, 234, 238, 247, -745, -745, -745, -745, -745, 259, + -745, 55, -745, -745, -745, -745, -745, -745, -745, 266, + 269, -745, -745, -745, -745, -745, 286, 287, 295, 299, + -745, -745, -745, -745, -745, -745, -745, -745, -745, -745, + 303, -745, -745, -745, 63, -745, -745, -745, -745, -745, + -745, -745, -745, -745, -745, -745, -745, -745, -745, -745, + -745, -745, -745, -745, -745, -745, -745, -745, -745, -745, + -745, -745, -745, -745, 309, -745, 84, -745, -745, -745, + -745, -745, -745, -745, -745, -745, -745, -745, -745, -745, + -745, -745, 313, 315, -745, -745, -745, -745, -745, -745, + -745, -745, -745, 90, -745, -745, -745, -745, -745, -745, + -745, -745, -745, -745, -745, -745, -745, -745, -745, -745, + -745, -745, -745, -745, -745, -745, -745, 94, -745, -745, + -745, -745, -745, -745, -745, -745, -745, -745, -745, -745, + -745, -745, -745, -745, 253, 277, -745, -745, -745, -745, + -745, -745, -745, -745, -745, -745, -745, -745, 301, -745, + -745, 325, -745, -745, -745, 342, -745, -745, 319, 341, + -745, -745, -745, -745, -745, -745, -745, -745, -745, -745, + -745, -745, -745, 345, 350, -745, -745, -745, -745, 347, + 362, -745, -745, -745, -745, -745, -745, -745, -745, -745, + -745, -745, -745, 125, -745, -745, -745, 365, -745, -745, + 371, -745, 372, 374, -745, -745, 376, 377, 385, -745, + -745, -745, -745, -745, 185, -745, -745, -745, -745, -745, + -745, -745, -745, -745, -745, -745, -745, -745, -745, -745, + -745, 208, -745, -745, -745, 36, 36, -745, 242, 391, + 393, 402, 403, 405, -745, 9, -745, 408, 267, 268, + 413, 418, 419, 420, 421, 304, 306, 307, 310, 450, + 453, 454, 456, 457, 458, 459, 460, 461, 462, 318, + 464, 465, 183, -745, 466, 468, 469, 324, 72, -745, + 191, 470, 472, 473, 474, 475, 477, 478, 334, 333, + 481, 482, 483, 484, 52, -745, 486, 14, -745, 487, + 488, 491, 492, 496, 497, 498, 499, -745, 213, -745, + 501, 504, 361, 507, 508, 509, 363, -745, 356, 511, + 366, 368, -745, -4, 512, 516, -43, -745, 373, 519, + 524, 380, 526, 382, 383, 529, 530, 384, 386, 389, + 532, 537, 323, -745, 538, 86, -745, -745, -745, 539, + 540, 541, 36, 36, 36, -745, 542, -745, -745, 396, + 397, 398, 544, 545, -745, -745, -745, -745, 548, 549, + 550, 551, 552, 36, 553, 555, 556, 557, -745, 558, + 559, -745, 562, 166, 135, -745, -745, -745, -745, -745, + -745, -745, -745, -745, -745, -745, -745, 554, 560, -745, + -745, -745, 409, 423, 424, 563, 425, 426, 427, -745, + -745, 285, 428, 564, 571, -745, 431, -745, 562, 432, + 433, 435, 436, 438, 439, 440, -745, 441, 442, -745, + 443, 444, 445, -745, -745, 446, -745, -745, -745, 447, + 36, -745, -745, 448, 449, -745, 451, -745, -745, -9, + 480, -745, -745, -745, 102, 452, -745, 596, -745, 36, + 183, 86, -745, -745, -745, 72, -745, -745, -745, 138, + 138, 595, 597, 598, 599, -745, -745, -745, 116, 37, + 600, 308, 118, 323, -745, -745, -745, -745, -745, -745, + -745, -745, 604, -745, 191, -745, -745, -745, 602, -745, + -745, -745, -745, -745, -745, -745, -745, 603, 525, -745, + -745, -745, -745, -745, -745, -745, -745, -745, -745, -745, + -745, -745, -745, -745, -745, -745, -745, -745, -745, -745, + -745, -745, -745, -745, -745, -745, -745, -745, -745, -745, + 606, -745, 237, 246, 254, -745, -745, -745, -745, 607, + 610, 611, 612, 613, -745, -745, -745, 257, -745, -745, + -745, -745, -745, -745, -745, -745, -745, -745, -745, -745, + -745, 264, -745, 614, 615, -745, -745, 616, 618, -745, + -745, 617, 621, -745, -745, 619, 623, -745, -745, -745, + -745, -745, -745, 26, -745, -745, -745, -745, -745, -745, + -745, 77, -745, 622, 624, -745, 625, 626, 627, 628, + 629, 630, 276, -745, -745, -745, -745, -745, -745, -745, + -745, -745, -745, -745, -745, 280, -745, -745, -745, -745, + -745, 284, 455, 471, -745, -745, 631, 632, -745, -745, + 633, 635, -745, -745, 634, -745, 143, -745, -745, -745, + -745, 636, 637, 639, 640, 500, 485, 502, 494, 503, + 642, 643, 138, -745, -745, 52, -745, 595, 356, -745, + 597, -4, -745, 598, 83, -745, 599, 116, -745, 37, + -745, -8, -745, 600, 505, 506, 510, 513, 514, 515, + 308, -745, 644, 646, 649, 118, -745, -745, -745, 650, + 654, -745, 14, -745, 602, 213, -745, 603, 656, -745, + 187, 606, -745, 81, 517, 518, 520, -745, -745, -745, + -745, -745, 521, 522, -745, 298, -745, 653, -745, 659, + -745, -745, -745, -745, -745, -745, -745, -745, -745, -745, + -745, 302, -745, -745, -745, -745, -745, -745, -745, -745, + -745, -745, -745, 317, -745, -745, -745, -745, -745, -745, + -745, -745, 36, 523, 527, -745, -745, 528, 320, -745, + 664, -745, 531, -745, 669, -745, -745, -745, -745, -745, + 337, -745, -745, -745, -745, -745, -745, -745, -745, -745, + -745, -745, -745, -745, -745, -745, -745, -745, -745, 83, + -745, -745, -745, -745, -745, -745, -745, -745, -745, 670, + 533, 673, 187, -745, -745, 675, -745, 535, -745, 651, + -745, -745, 161, -745, 29, 651, -745, -745, 674, 677, + 680, 340, -745, -745, -745, -745, -745, -745, 681, 543, + 565, 567, 29, -745, 569, -745, -745, -745, -745, -745 }; const unsigned short int Dhcp4Parser::yydefact_[] = { 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, - 20, 22, 24, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1, 41, 34, 30, - 29, 26, 27, 28, 33, 3, 31, 32, 54, 5, - 66, 7, 113, 9, 227, 11, 380, 13, 403, 15, - 305, 17, 313, 19, 350, 21, 192, 23, 492, 25, - 43, 37, 0, 0, 0, 0, 0, 405, 0, 315, - 352, 0, 0, 45, 0, 44, 0, 0, 38, 64, - 547, 541, 543, 545, 0, 63, 0, 56, 58, 60, - 61, 62, 59, 102, 0, 0, 424, 426, 428, 126, - 128, 0, 0, 0, 0, 219, 303, 342, 276, 391, - 393, 170, 450, 184, 203, 0, 474, 490, 95, 0, - 68, 70, 71, 72, 73, 88, 89, 76, 77, 78, - 79, 83, 84, 74, 75, 81, 82, 93, 94, 90, - 91, 92, 80, 85, 86, 87, 115, 117, 121, 0, - 112, 0, 104, 106, 107, 108, 109, 110, 111, 454, - 257, 259, 261, 372, 255, 263, 265, 0, 0, 269, - 267, 395, 446, 254, 231, 232, 233, 245, 0, 229, - 236, 249, 250, 251, 237, 238, 241, 243, 239, 240, - 234, 235, 252, 253, 242, 246, 247, 248, 244, 389, - 388, 385, 0, 382, 384, 386, 387, 444, 432, 434, - 438, 436, 442, 440, 430, 423, 417, 421, 422, 0, - 406, 407, 418, 419, 420, 414, 409, 415, 411, 412, - 413, 416, 410, 0, 332, 160, 0, 336, 334, 339, - 0, 328, 329, 0, 316, 317, 319, 331, 320, 321, - 322, 338, 323, 324, 325, 326, 327, 366, 0, 0, - 364, 365, 368, 369, 0, 353, 354, 356, 357, 358, - 359, 360, 361, 362, 363, 199, 201, 196, 0, 194, - 197, 198, 0, 514, 516, 0, 519, 0, 0, 523, - 527, 0, 0, 0, 532, 539, 512, 510, 511, 0, - 494, 496, 497, 498, 499, 500, 501, 502, 503, 504, - 505, 506, 507, 508, 509, 42, 0, 0, 35, 0, - 0, 0, 0, 0, 0, 53, 0, 55, 0, 0, + 20, 22, 24, 26, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 43, + 36, 32, 31, 28, 29, 30, 35, 3, 33, 34, + 56, 5, 68, 7, 115, 9, 227, 11, 380, 13, + 403, 15, 305, 17, 313, 19, 350, 21, 192, 23, + 492, 25, 549, 27, 45, 39, 0, 0, 0, 0, + 0, 405, 0, 315, 352, 0, 0, 0, 47, 0, + 46, 0, 0, 40, 66, 547, 541, 543, 545, 0, + 65, 0, 58, 60, 62, 63, 64, 61, 104, 0, + 0, 424, 426, 428, 128, 130, 0, 0, 0, 0, + 219, 303, 342, 276, 391, 393, 170, 450, 184, 203, + 0, 474, 490, 97, 0, 70, 72, 73, 74, 75, + 90, 91, 78, 79, 80, 81, 85, 86, 76, 77, + 83, 84, 95, 96, 92, 93, 94, 82, 87, 88, + 89, 117, 119, 123, 0, 114, 0, 106, 108, 109, + 110, 111, 112, 113, 454, 257, 259, 261, 372, 255, + 263, 265, 0, 0, 269, 267, 395, 446, 254, 231, + 232, 233, 245, 0, 229, 236, 249, 250, 251, 237, + 238, 241, 243, 239, 240, 234, 235, 252, 253, 242, + 246, 247, 248, 244, 389, 388, 385, 0, 382, 384, + 386, 387, 444, 432, 434, 438, 436, 442, 440, 430, + 423, 417, 421, 422, 0, 406, 407, 418, 419, 420, + 414, 409, 415, 411, 412, 413, 416, 410, 0, 332, + 160, 0, 336, 334, 339, 0, 328, 329, 0, 316, + 317, 319, 331, 320, 321, 322, 338, 323, 324, 325, + 326, 327, 366, 0, 0, 364, 365, 368, 369, 0, + 353, 354, 356, 357, 358, 359, 360, 361, 362, 363, + 199, 201, 196, 0, 194, 197, 198, 0, 514, 516, + 0, 519, 0, 0, 523, 527, 0, 0, 0, 532, + 539, 512, 510, 511, 0, 494, 496, 497, 498, 499, + 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, + 554, 0, 551, 553, 44, 0, 0, 37, 0, 0, + 0, 0, 0, 0, 55, 0, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 67, 0, 0, 0, 0, 0, - 114, 456, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 228, 0, 0, 381, - 0, 0, 0, 0, 0, 0, 0, 0, 404, 0, - 306, 0, 0, 0, 0, 0, 0, 0, 314, 0, - 0, 0, 0, 351, 0, 0, 0, 0, 193, 0, + 0, 0, 0, 69, 0, 0, 0, 0, 0, 116, + 456, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 228, 0, 0, 381, 0, + 0, 0, 0, 0, 0, 0, 0, 404, 0, 306, + 0, 0, 0, 0, 0, 0, 0, 314, 0, 0, + 0, 0, 351, 0, 0, 0, 0, 193, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 493, 46, 39, 0, 0, 0, - 0, 0, 0, 57, 0, 100, 101, 0, 0, 0, - 0, 0, 96, 97, 98, 99, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 473, 0, 0, 69, - 0, 0, 0, 125, 105, 471, 469, 470, 462, 463, - 467, 468, 464, 465, 466, 0, 457, 458, 460, 461, - 0, 0, 0, 0, 0, 0, 0, 274, 275, 0, - 0, 0, 0, 230, 0, 383, 0, 0, 0, 0, - 0, 0, 0, 0, 408, 0, 0, 330, 0, 0, - 0, 341, 318, 0, 370, 371, 355, 0, 0, 195, - 513, 0, 0, 518, 0, 521, 522, 0, 0, 529, - 530, 531, 0, 0, 495, 0, 0, 0, 542, 544, - 546, 0, 425, 427, 429, 0, 0, 221, 307, 344, - 278, 36, 392, 394, 0, 0, 186, 0, 0, 0, - 47, 116, 119, 120, 118, 123, 124, 122, 0, 455, - 0, 258, 260, 262, 374, 256, 264, 266, 271, 272, - 273, 270, 268, 397, 0, 390, 445, 433, 435, 439, - 437, 443, 441, 431, 333, 161, 337, 335, 340, 367, - 200, 202, 515, 517, 520, 525, 526, 524, 528, 534, - 535, 536, 537, 538, 533, 540, 40, 0, 552, 0, - 549, 551, 0, 147, 153, 155, 157, 0, 0, 0, - 0, 0, 166, 168, 146, 0, 130, 132, 133, 134, + 0, 0, 0, 493, 0, 0, 550, 48, 41, 0, + 0, 0, 0, 0, 0, 59, 0, 102, 103, 0, + 0, 0, 0, 0, 98, 99, 100, 101, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 473, 0, + 0, 71, 0, 0, 0, 127, 107, 471, 469, 470, + 462, 463, 467, 468, 464, 465, 466, 0, 457, 458, + 460, 461, 0, 0, 0, 0, 0, 0, 0, 274, + 275, 0, 0, 0, 0, 230, 0, 383, 0, 0, + 0, 0, 0, 0, 0, 0, 408, 0, 0, 330, + 0, 0, 0, 341, 318, 0, 370, 371, 355, 0, + 0, 195, 513, 0, 0, 518, 0, 521, 522, 0, + 0, 529, 530, 531, 0, 0, 495, 0, 552, 0, + 0, 0, 542, 544, 546, 0, 425, 427, 429, 0, + 0, 221, 307, 344, 278, 38, 392, 394, 0, 0, + 186, 0, 0, 0, 49, 118, 121, 122, 120, 125, + 126, 124, 0, 455, 0, 258, 260, 262, 374, 256, + 264, 266, 271, 272, 273, 270, 268, 397, 0, 390, + 445, 433, 435, 439, 437, 443, 441, 431, 333, 161, + 337, 335, 340, 367, 200, 202, 515, 517, 520, 525, + 526, 524, 528, 534, 535, 536, 537, 538, 533, 540, + 0, 42, 0, 0, 0, 147, 153, 155, 157, 0, + 0, 0, 0, 0, 166, 168, 146, 0, 132, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 0, 225, 0, 222, 223, 311, 0, 308, 309, 348, 0, 345, 346, 282, 0, 279, 280, 179, 180, @@ -3699,456 +3724,459 @@ namespace isc { namespace dhcp { 452, 0, 190, 0, 187, 188, 0, 0, 0, 0, 0, 0, 0, 205, 207, 208, 209, 210, 211, 212, 488, 483, 485, 482, 487, 0, 476, 478, 479, 480, - 481, 0, 49, 0, 459, 378, 0, 375, 376, 401, - 0, 398, 399, 448, 0, 65, 0, 0, 548, 103, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 127, 129, 0, 220, 0, 315, 304, 0, - 352, 343, 0, 0, 277, 0, 0, 171, 0, 451, - 0, 185, 0, 0, 0, 0, 0, 0, 0, 0, - 204, 0, 0, 0, 0, 475, 491, 51, 0, 50, - 472, 0, 373, 0, 405, 396, 0, 0, 447, 0, - 550, 0, 0, 0, 0, 159, 162, 163, 164, 165, - 0, 0, 131, 0, 224, 0, 310, 0, 347, 302, - 299, 289, 290, 292, 286, 287, 288, 298, 297, 0, - 284, 291, 300, 301, 293, 294, 295, 296, 281, 173, - 453, 0, 189, 213, 214, 215, 216, 217, 218, 206, - 0, 0, 0, 477, 48, 0, 0, 377, 0, 400, - 0, 0, 149, 150, 151, 152, 148, 154, 156, 158, - 167, 169, 226, 312, 349, 0, 283, 191, 489, 484, - 486, 52, 379, 402, 449, 556, 0, 554, 285, 0, - 0, 553, 570, 0, 568, 566, 560, 564, 565, 0, - 558, 562, 563, 561, 555, 0, 0, 0, 0, 557, - 0, 567, 0, 559, 0, 569, 574, 0, 572, 0, - 0, 571, 582, 0, 0, 0, 0, 576, 578, 579, - 580, 581, 573, 0, 0, 0, 0, 0, 575, 0, - 584, 585, 586, 577, 583 + 481, 0, 51, 0, 459, 378, 0, 375, 376, 401, + 0, 398, 399, 448, 0, 558, 0, 556, 67, 548, + 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 129, 131, 0, 220, 0, 315, 304, + 0, 352, 343, 0, 0, 277, 0, 0, 171, 0, + 451, 0, 185, 0, 0, 0, 0, 0, 0, 0, + 0, 204, 0, 0, 0, 0, 475, 491, 53, 0, + 52, 472, 0, 373, 0, 405, 396, 0, 0, 447, + 0, 0, 555, 0, 0, 0, 0, 159, 162, 163, + 164, 165, 0, 0, 133, 0, 224, 0, 310, 0, + 347, 302, 299, 289, 290, 292, 286, 287, 288, 298, + 297, 0, 284, 291, 300, 301, 293, 294, 295, 296, + 281, 173, 453, 0, 189, 213, 214, 215, 216, 217, + 218, 206, 0, 0, 0, 477, 50, 0, 0, 377, + 0, 400, 0, 572, 0, 570, 568, 562, 566, 567, + 0, 560, 564, 565, 563, 557, 149, 150, 151, 152, + 148, 154, 156, 158, 167, 169, 226, 312, 349, 0, + 283, 191, 489, 484, 486, 54, 379, 402, 449, 0, + 0, 0, 0, 559, 285, 0, 569, 0, 561, 0, + 571, 576, 0, 574, 0, 0, 573, 584, 0, 0, + 0, 0, 578, 580, 581, 582, 583, 575, 0, 0, + 0, 0, 0, 577, 0, 586, 587, 588, 579, 585 }; const short int Dhcp4Parser::yypgoto_[] = { - -721, -721, -721, -721, -721, -721, -721, -721, -721, -721, - -721, -721, -721, -721, -26, -721, 275, -721, -721, -721, - -721, -721, -721, -721, -721, 121, -721, -721, -721, -62, - -721, -721, -721, 394, -721, -721, -721, -721, 193, 375, - -52, -50, -49, -721, -721, -47, -721, -721, 185, 376, - -721, -721, -721, -721, -721, -721, -721, -721, -721, -721, - -721, -721, -721, -721, -721, 194, -10, -721, -721, -721, - -721, -721, -721, -721, -721, -721, -721, -69, -721, -721, - -721, -721, -721, -721, -721, -721, -721, -721, -721, -721, - -22, -721, -721, -721, -721, -721, -721, -721, -721, -721, - -24, -721, -721, -721, -19, 329, -721, -721, -721, -721, - -721, -721, -721, -25, -721, -721, -721, -721, -721, -721, - -720, -721, -721, -721, 2, -721, -721, -721, 1, 378, - -721, -721, -721, -721, -721, -721, -721, -721, -712, -721, - -721, -721, -543, -721, -711, -721, -721, -721, -721, -721, - -721, -721, -721, -6, -721, -721, -115, -57, -721, -721, - -721, -721, -721, 6, -721, -721, -721, 11, -721, 358, - -721, -64, -721, -721, -721, -721, -721, -41, -721, -721, - -721, -721, -721, -30, -721, -721, -721, 8, -721, -721, - -721, 9, -721, 359, -721, -721, -721, -721, -721, -721, - -721, -721, -721, -721, -721, -21, -721, -721, -721, -16, - 389, -721, -721, -42, -721, -20, -721, -721, -721, -721, - -721, -18, -721, -721, -721, -15, -721, 381, -7, -721, - -1, -721, 3, -721, -721, -721, -721, -721, -721, -721, - -721, -721, -721, -721, -721, -721, -721, -721, -721, -721, - -710, -721, -721, -721, -721, -721, -721, -721, -721, -721, - 196, -721, -721, -721, -721, -721, -721, -721, -3, -721, - -721, -721, -721, -721, -721, -721, -721, -721, -721, -721, - 213, 350, -721, -721, -721, -721, -721, -721, -721, -721, - -721, -721, -721, -721, -721, -721, -721, -721, -721, -721, - -721, -721, -721, -721, -721, -721, -721, -721, -721, -721, - -721, -721, -721, -721, 47, -721, -721, -721, -105, -721, - -721, -122, -721, -721, -721, -721, -721, -721, -132, -721, - -721, -148, -721, -721, -721, -721, -721 + -745, -745, -745, -745, -745, -745, -745, -745, -745, -745, + -745, -745, -745, -745, -745, -50, -745, 226, -745, -745, + -745, -745, -745, -745, -745, -745, 192, -745, -745, -745, + -66, -745, -745, -745, 358, -745, -745, -745, -745, 141, + 349, -68, -58, -54, -745, -745, -51, -745, -745, 148, + 339, -745, -745, -745, -745, -745, -745, -745, -745, -745, + -745, -745, -745, -745, -745, -745, 162, -29, -745, -745, + -745, -745, -745, -745, -745, -745, -745, -745, -62, -745, + -745, -745, -745, -745, -745, -745, -745, -745, -745, -745, + -745, -42, -745, -745, -745, -745, -745, -745, -745, -745, + -745, -45, -745, -745, -745, -40, 316, -745, -745, -745, + -745, -745, -745, -745, -47, -745, -745, -745, -745, -745, + -745, -744, -745, -745, -745, -22, -745, -745, -745, -19, + 353, -745, -745, -745, -745, -745, -745, -745, -745, -738, + -745, -745, -745, -552, -745, -733, -745, -745, -745, -745, + -745, -745, -745, -745, -26, -745, -745, -147, -59, -745, + -745, -745, -745, -745, -17, -745, -745, -745, -13, -745, + 336, -745, -53, -745, -745, -745, -745, -745, -41, -745, + -745, -745, -745, -745, -14, -745, -745, -745, -16, -745, + -745, -745, -10, -745, 346, -745, -745, -745, -745, -745, + -745, -745, -745, -745, -745, -745, -39, -745, -745, -745, + -32, 381, -745, -745, -46, -745, -34, -745, -745, -745, + -745, -745, -33, -745, -745, -745, -28, -745, 354, -7, + -745, -2, -745, 1, -745, -745, -745, -745, -745, -745, + -745, -745, -745, -745, -745, -745, -745, -745, -745, -745, + -745, -726, -745, -745, -745, -745, -745, -745, -745, -745, + -745, 179, -745, -745, -745, -745, -745, -745, -745, -15, + -745, -745, -745, -745, -745, -745, -745, -745, -745, -745, + -745, 196, 343, -745, -745, -745, -745, -745, -745, -745, + -745, -745, -745, -745, -745, -745, -745, -745, -745, -745, + -745, -745, -745, -745, -745, -745, -745, -745, -745, -745, + -745, -745, -745, -745, -745, -745, 220, 338, -745, -745, + -745, -27, -745, -745, -130, -745, -745, -745, -745, -745, + -745, -139, -745, -745, -155, -745, -745, -745, -745, -745 }; const short int Dhcp4Parser::yydefgoto_[] = { - -1, 13, 14, 15, 16, 17, 18, 19, 20, 21, - 22, 23, 24, 25, 34, 35, 36, 61, 552, 77, - 78, 37, 60, 74, 75, 561, 712, 778, 779, 118, - 39, 62, 86, 87, 88, 320, 41, 63, 119, 120, - 121, 122, 123, 124, 125, 126, 127, 328, 151, 152, - 43, 64, 153, 355, 154, 356, 564, 155, 357, 567, - 156, 128, 334, 129, 335, 635, 636, 637, 730, 856, - 638, 731, 639, 732, 640, 733, 641, 242, 392, 643, - 644, 645, 646, 647, 739, 648, 740, 130, 346, 673, - 674, 675, 676, 677, 678, 679, 131, 348, 683, 684, - 685, 760, 57, 71, 278, 279, 280, 405, 281, 406, - 132, 349, 692, 693, 694, 695, 696, 697, 698, 699, - 133, 340, 653, 654, 655, 744, 45, 65, 178, 179, - 180, 366, 181, 362, 182, 363, 183, 364, 184, 367, - 185, 368, 186, 372, 187, 371, 581, 188, 189, 134, - 343, 665, 666, 667, 753, 819, 820, 135, 341, 51, - 68, 657, 658, 659, 747, 53, 69, 243, 244, 245, - 246, 247, 248, 249, 391, 250, 395, 251, 394, 252, - 253, 396, 254, 136, 342, 661, 662, 663, 750, 55, - 70, 264, 265, 266, 267, 268, 400, 269, 270, 271, - 272, 191, 365, 716, 717, 718, 781, 47, 66, 202, - 203, 204, 377, 137, 344, 138, 345, 194, 373, 720, - 721, 722, 784, 49, 67, 219, 220, 221, 139, 331, - 140, 332, 141, 333, 225, 387, 226, 381, 227, 382, - 228, 384, 229, 383, 230, 386, 231, 385, 232, 380, - 198, 374, 724, 787, 142, 347, 681, 361, 475, 476, - 477, 478, 479, 568, 143, 144, 351, 705, 706, 707, - 772, 708, 773, 709, 710, 771, 145, 352, 59, 72, - 299, 300, 301, 302, 410, 303, 411, 304, 305, 413, - 306, 307, 308, 416, 607, 309, 417, 310, 311, 312, - 313, 421, 614, 314, 422, 89, 322, 90, 323, 91, - 324, 92, 321, 619, 620, 621, 726, 876, 877, 879, - 889, 890, 891, 892, 897, 893, 895, 907, 908, 909, - 916, 917, 918, 923, 919, 920, 921 + -1, 14, 15, 16, 17, 18, 19, 20, 21, 22, + 23, 24, 25, 26, 27, 36, 37, 38, 65, 566, + 82, 83, 39, 64, 79, 80, 575, 722, 789, 790, + 123, 41, 66, 91, 92, 93, 329, 43, 67, 124, + 125, 126, 127, 128, 129, 130, 131, 132, 337, 156, + 157, 45, 68, 158, 364, 159, 365, 578, 160, 366, + 581, 161, 133, 343, 134, 344, 647, 648, 649, 741, + 880, 650, 742, 651, 743, 652, 744, 653, 247, 401, + 655, 656, 657, 658, 659, 750, 660, 751, 135, 355, + 683, 684, 685, 686, 687, 688, 689, 136, 357, 693, + 694, 695, 771, 59, 75, 283, 284, 285, 414, 286, + 415, 137, 358, 702, 703, 704, 705, 706, 707, 708, + 709, 138, 349, 663, 664, 665, 755, 47, 69, 183, + 184, 185, 375, 186, 371, 187, 372, 188, 373, 189, + 376, 190, 377, 191, 381, 192, 380, 595, 193, 194, + 139, 352, 675, 676, 677, 764, 831, 832, 140, 350, + 53, 72, 667, 668, 669, 758, 55, 73, 248, 249, + 250, 251, 252, 253, 254, 400, 255, 404, 256, 403, + 257, 258, 405, 259, 141, 351, 671, 672, 673, 761, + 57, 74, 269, 270, 271, 272, 273, 409, 274, 275, + 276, 277, 196, 374, 726, 727, 728, 792, 49, 70, + 207, 208, 209, 386, 142, 353, 143, 354, 199, 382, + 730, 731, 732, 795, 51, 71, 224, 225, 226, 144, + 340, 145, 341, 146, 342, 230, 396, 231, 390, 232, + 391, 233, 393, 234, 392, 235, 395, 236, 394, 237, + 389, 203, 383, 734, 798, 147, 356, 691, 370, 487, + 488, 489, 490, 491, 582, 148, 149, 360, 715, 716, + 717, 783, 718, 784, 719, 720, 782, 150, 361, 61, + 76, 304, 305, 306, 307, 419, 308, 420, 309, 310, + 422, 311, 312, 313, 425, 621, 314, 426, 315, 316, + 317, 318, 430, 628, 319, 431, 94, 331, 95, 332, + 96, 333, 97, 330, 63, 77, 321, 322, 323, 434, + 736, 737, 800, 870, 871, 872, 873, 901, 874, 899, + 912, 913, 914, 921, 922, 923, 928, 924, 925, 926 }; const unsigned short int Dhcp4Parser::yytable_[] = { - 85, 261, 150, 173, 200, 215, 262, 241, 260, 277, - 296, 233, 680, 174, 159, 175, 176, 27, 177, 28, - 79, 29, 157, 192, 205, 217, 326, 255, 273, 263, - 297, 327, 605, 815, 73, 190, 201, 216, 26, 159, - 38, 816, 818, 827, 158, 193, 206, 218, 40, 256, - 274, 42, 298, 95, 96, 97, 98, 353, 195, 44, - 222, 76, 354, 46, 196, 48, 223, 50, 197, 52, - 224, 54, 275, 276, 101, 102, 103, 275, 276, 160, - 161, 162, 56, 107, 359, 170, 146, 147, 234, 360, - 148, 58, 159, 149, 163, 315, 109, 110, 164, 165, - 166, 167, 168, 169, 562, 563, 95, 96, 97, 98, - 170, 171, 375, 235, 316, 236, 237, 376, 172, 238, - 239, 240, 578, 579, 580, 109, 110, 101, 102, 103, - 84, 105, 106, 80, 606, 378, 107, 235, 109, 110, - 379, 317, 81, 82, 83, 815, 96, 97, 98, 109, - 110, 318, 165, 816, 818, 827, 169, 84, 319, 30, - 31, 32, 33, 170, 609, 610, 611, 612, 565, 566, - 756, 172, 93, 757, 106, 107, 235, 758, 235, 84, - 759, 94, 95, 96, 97, 98, 99, 100, 109, 110, - 109, 110, 325, 880, 388, 613, 881, 668, 669, 670, - 671, 465, 672, 101, 102, 103, 104, 105, 84, 329, - 817, 106, 107, 330, 912, 830, 107, 913, 914, 915, - 910, 84, 108, 911, 336, 109, 110, 337, 199, 109, - 110, 338, 84, 407, 423, 353, 111, 112, 408, 424, - 725, 339, 350, 235, 257, 236, 237, 258, 259, 113, - 358, 882, 114, 883, 884, 109, 110, 727, 389, 115, - 116, 369, 728, 117, 85, 359, 109, 700, 370, 623, - 729, 84, 393, 84, 624, 625, 626, 627, 628, 629, - 630, 631, 632, 633, 686, 687, 688, 689, 690, 691, - 425, 426, 467, 741, 235, 741, 769, 150, 742, 466, - 743, 770, 701, 702, 468, 774, 109, 110, 84, 423, - 775, 390, 84, 173, 776, 375, 200, 157, 397, 470, - 862, 398, 817, 174, 865, 175, 176, 215, 177, 866, - 399, 469, 401, 192, 402, 261, 205, 241, 84, 158, - 262, 471, 260, 403, 404, 190, 407, 217, 201, 84, - 409, 867, 442, 412, 472, 193, 414, 255, 206, 216, - 473, 296, 273, 263, 474, 415, 418, 419, 195, 218, - 96, 97, 98, 420, 196, 378, 427, 428, 197, 256, - 872, 297, 222, 429, 274, 898, 927, 443, 223, 84, - 899, 928, 224, 852, 853, 854, 855, 109, 110, 107, - 430, 431, 432, 298, 538, 539, 540, 434, 435, 436, - 437, 438, 109, 110, 439, 440, 441, 444, 445, 446, - 447, 448, 449, 450, 207, 553, 451, 452, 208, 209, - 210, 211, 212, 213, 453, 214, 282, 283, 284, 285, - 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, + 90, 179, 155, 178, 205, 220, 619, 246, 265, 282, + 301, 180, 266, 238, 78, 181, 28, 690, 182, 84, + 827, 267, 162, 197, 210, 222, 828, 260, 278, 767, + 302, 830, 768, 268, 163, 198, 211, 223, 839, 261, + 279, 29, 303, 30, 164, 31, 280, 281, 240, 262, + 241, 242, 263, 264, 40, 195, 206, 221, 335, 164, + 114, 115, 200, 336, 227, 112, 362, 201, 42, 228, + 202, 363, 229, 100, 101, 102, 103, 204, 114, 115, + 769, 280, 281, 770, 151, 152, 44, 368, 153, 46, + 164, 154, 369, 384, 106, 107, 108, 387, 385, 165, + 166, 167, 388, 112, 100, 101, 102, 103, 620, 876, + 877, 878, 879, 48, 168, 175, 114, 115, 169, 170, + 171, 172, 173, 174, 50, 106, 107, 108, 416, 110, + 175, 176, 85, 417, 112, 240, 114, 115, 177, 52, + 89, 86, 87, 88, 89, 827, 801, 114, 115, 802, + 170, 828, 579, 580, 174, 917, 830, 89, 918, 919, + 920, 175, 89, 839, 915, 635, 54, 916, 81, 177, + 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, + 576, 577, 114, 710, 32, 33, 34, 35, 432, 56, + 240, 58, 111, 433, 98, 60, 678, 679, 680, 681, + 89, 682, 62, 99, 100, 101, 102, 103, 104, 105, + 320, 435, 829, 101, 102, 103, 436, 842, 711, 712, + 89, 623, 624, 625, 626, 106, 107, 108, 109, 110, + 324, 89, 325, 111, 112, 101, 102, 103, 326, 240, + 362, 111, 112, 240, 113, 738, 327, 114, 115, 435, + 328, 114, 115, 627, 739, 114, 115, 368, 116, 117, + 752, 397, 740, 334, 112, 753, 89, 752, 477, 90, + 338, 118, 754, 339, 119, 437, 438, 114, 115, 780, + 398, 120, 121, 785, 781, 122, 89, 432, 786, 212, + 345, 346, 787, 213, 214, 215, 216, 217, 218, 347, + 219, 384, 155, 348, 478, 889, 886, 359, 479, 399, + 890, 480, 863, 367, 864, 865, 179, 378, 178, 379, + 416, 205, 162, 387, 482, 891, 180, 407, 896, 402, + 181, 89, 220, 182, 163, 89, 483, 829, 197, 89, + 902, 210, 246, 932, 408, 903, 406, 265, 933, 410, + 198, 266, 222, 211, 411, 412, 481, 592, 593, 594, + 267, 89, 260, 484, 223, 413, 301, 278, 485, 418, + 195, 486, 268, 206, 261, 421, 423, 200, 424, 279, + 427, 428, 201, 239, 221, 202, 302, 114, 115, 429, + 439, 227, 552, 553, 554, 440, 228, 441, 303, 229, + 696, 697, 698, 699, 700, 701, 442, 443, 240, 444, + 241, 242, 446, 567, 243, 244, 245, 449, 447, 448, + 114, 115, 450, 451, 452, 453, 287, 288, 289, 290, + 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, - 11, 12, 454, 455, 456, 457, 458, 460, 461, 462, - 463, 480, 481, 482, 483, 484, 642, 642, 485, 150, - 84, 486, 487, 634, 634, 489, 488, 490, 491, 492, - 494, 496, 601, 497, 498, 84, 703, 296, 499, 157, - 500, 467, 501, 649, 649, 502, 503, 505, 466, 616, - 506, 508, 507, 468, 509, 510, 704, 297, 511, 513, - 514, 158, 517, 518, 515, 650, 650, 520, 470, 521, - 522, 524, 523, 525, 526, 527, 528, 529, 530, 298, - 469, 531, 532, 533, 535, 569, 542, 543, 536, 537, - 471, 541, 544, 545, 546, 547, 548, 549, 550, 570, - 554, 28, 555, 472, 556, 557, 713, 558, 559, 473, - 560, 571, 572, 474, 573, 574, 575, 583, 576, 577, - 582, 584, 585, 587, 588, 589, 590, 591, 592, 593, - 594, 595, 596, 597, 598, 599, 600, 602, 603, 604, - 608, 615, 618, 652, 656, 660, 664, 682, 715, 719, - 723, 734, 735, 736, 737, 738, 746, 586, 745, 749, - 748, 751, 752, 754, 755, 762, 761, 763, 764, 765, - 766, 767, 768, 789, 783, 777, 782, 786, 780, 785, - 788, 791, 792, 793, 794, 795, 800, 801, 797, 796, - 840, 841, 842, 799, 798, 844, 833, 834, 845, 851, - 835, 836, 837, 850, 838, 863, 864, 857, 858, 859, - 873, 860, 642, 875, 896, 861, 869, 870, 900, 634, - 871, 261, 173, 874, 814, 241, 262, 902, 260, 904, - 905, 809, 174, 901, 175, 176, 906, 177, 277, 649, - 924, 810, 192, 811, 812, 255, 813, 925, 273, 263, - 926, 822, 703, 929, 190, 931, 930, 932, 934, 200, - 433, 650, 215, 821, 193, 551, 622, 256, 459, 617, - 274, 802, 704, 823, 829, 464, 519, 195, 832, 205, - 651, 831, 217, 196, 839, 803, 824, 197, 804, 828, - 878, 201, 825, 493, 216, 806, 826, 512, 805, 807, - 808, 206, 847, 516, 218, 846, 714, 495, 849, 848, - 504, 843, 711, 534, 790, 894, 903, 222, 922, 933, - 0, 0, 0, 223, 0, 0, 0, 224, 0, 0, - 0, 0, 0, 0, 0, 0, 814, 0, 0, 0, - 0, 0, 0, 809, 0, 0, 0, 0, 0, 0, - 886, 0, 0, 810, 868, 811, 812, 885, 813, 0, - 0, 0, 0, 822, 0, 0, 0, 0, 0, 886, - 0, 0, 0, 0, 0, 821, 885, 887, 0, 0, - 0, 0, 0, 0, 0, 823, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 887, 0, 824, 888, - 0, 0, 0, 0, 825, 0, 0, 0, 826, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 888 + 11, 12, 13, 454, 458, 455, 456, 459, 460, 457, + 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, + 472, 89, 473, 474, 492, 475, 493, 494, 495, 496, + 615, 497, 498, 499, 500, 501, 502, 503, 504, 155, + 506, 508, 509, 646, 646, 510, 511, 654, 654, 631, + 512, 513, 514, 515, 89, 517, 713, 301, 518, 162, + 519, 520, 521, 522, 523, 525, 529, 526, 478, 527, + 530, 163, 479, 533, 532, 480, 714, 302, 534, 535, + 536, 537, 538, 539, 540, 541, 544, 542, 482, 303, + 543, 545, 547, 549, 556, 557, 558, 550, 551, 555, + 483, 559, 560, 561, 562, 563, 564, 585, 568, 30, + 569, 570, 583, 584, 571, 572, 573, 574, 588, 597, + 481, 586, 587, 589, 590, 591, 596, 484, 598, 599, + 601, 602, 485, 603, 604, 486, 605, 606, 607, 608, + 609, 610, 611, 612, 613, 614, 616, 617, 622, 618, + 629, 630, 662, 788, 666, 670, 674, 692, 723, 725, + 729, 745, 733, 735, 746, 747, 748, 749, 757, 791, + 756, 760, 759, 762, 763, 765, 766, 773, 772, 774, + 775, 776, 777, 778, 779, 794, 808, 793, 797, 796, + 803, 804, 799, 805, 806, 810, 812, 813, 852, 807, + 853, 809, 811, 854, 845, 846, 856, 857, 911, 847, + 862, 887, 848, 849, 850, 881, 882, 888, 883, 884, + 885, 893, 897, 900, 905, 894, 895, 907, 929, 898, + 909, 930, 906, 910, 931, 934, 646, 179, 565, 178, + 654, 632, 246, 445, 935, 265, 822, 180, 821, 266, + 600, 181, 826, 634, 182, 282, 823, 476, 267, 197, + 824, 471, 260, 825, 936, 278, 937, 939, 834, 713, + 268, 198, 661, 814, 261, 841, 205, 279, 844, 220, + 835, 843, 531, 851, 866, 816, 815, 505, 867, 714, + 840, 195, 904, 818, 524, 817, 210, 820, 200, 222, + 833, 819, 516, 201, 868, 859, 202, 836, 211, 528, + 858, 223, 837, 724, 861, 838, 869, 860, 507, 721, + 855, 633, 908, 548, 875, 546, 927, 938, 206, 0, + 0, 221, 0, 0, 0, 0, 0, 0, 227, 0, + 0, 0, 0, 228, 0, 0, 229, 0, 0, 0, + 0, 0, 892, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 822, 0, 821, 0, 0, 0, 826, 0, 0, + 0, 823, 0, 0, 0, 824, 866, 0, 825, 0, + 867, 0, 0, 834, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 835, 868, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 869, 0, + 0, 0, 0, 0, 0, 833, 0, 0, 0, 0, + 0, 0, 836, 0, 0, 0, 0, 837, 0, 0, + 838 }; const short int Dhcp4Parser::yycheck_[] = { - 62, 70, 64, 65, 66, 67, 70, 69, 70, 71, - 72, 68, 555, 65, 7, 65, 65, 5, 65, 7, - 10, 9, 64, 65, 66, 67, 3, 69, 70, 70, - 72, 8, 15, 753, 60, 65, 66, 67, 0, 7, - 7, 753, 753, 753, 64, 65, 66, 67, 7, 69, - 70, 7, 72, 21, 22, 23, 24, 3, 65, 7, - 67, 147, 8, 7, 65, 7, 67, 7, 65, 7, - 67, 7, 89, 90, 42, 43, 44, 89, 90, 47, - 48, 49, 7, 51, 3, 78, 12, 13, 27, 8, - 16, 7, 7, 19, 62, 6, 64, 65, 66, 67, - 68, 69, 70, 71, 14, 15, 21, 22, 23, 24, - 78, 79, 3, 52, 3, 54, 55, 8, 86, 58, - 59, 60, 72, 73, 74, 64, 65, 42, 43, 44, - 147, 46, 50, 123, 117, 3, 51, 52, 64, 65, - 8, 4, 132, 133, 134, 865, 22, 23, 24, 64, - 65, 8, 67, 865, 865, 865, 71, 147, 3, 147, - 148, 149, 150, 78, 119, 120, 121, 122, 17, 18, - 3, 86, 11, 6, 50, 51, 52, 3, 52, 147, - 6, 20, 21, 22, 23, 24, 25, 26, 64, 65, - 64, 65, 4, 3, 8, 150, 6, 80, 81, 82, - 83, 77, 85, 42, 43, 44, 45, 46, 147, 4, - 753, 50, 51, 4, 126, 758, 51, 129, 130, 131, - 3, 147, 61, 6, 4, 64, 65, 4, 63, 64, - 65, 4, 147, 3, 3, 3, 75, 76, 8, 8, - 8, 4, 4, 52, 53, 54, 55, 56, 57, 88, - 4, 125, 91, 127, 128, 64, 65, 3, 3, 98, - 99, 4, 8, 102, 326, 3, 64, 65, 4, 27, - 8, 147, 4, 147, 32, 33, 34, 35, 36, 37, - 38, 39, 40, 41, 92, 93, 94, 95, 96, 97, - 316, 317, 361, 3, 52, 3, 3, 359, 8, 361, - 8, 8, 100, 101, 361, 3, 64, 65, 147, 3, - 8, 8, 147, 375, 8, 3, 378, 359, 4, 361, - 8, 8, 865, 375, 3, 375, 375, 389, 375, 8, - 3, 361, 4, 375, 4, 404, 378, 399, 147, 359, - 404, 361, 404, 8, 3, 375, 3, 389, 378, 147, - 4, 8, 148, 4, 361, 375, 4, 399, 378, 389, - 361, 423, 404, 404, 361, 4, 4, 4, 375, 389, - 22, 23, 24, 4, 375, 3, 147, 4, 375, 399, - 8, 423, 389, 4, 404, 3, 3, 148, 389, 147, - 8, 8, 389, 28, 29, 30, 31, 64, 65, 51, - 4, 4, 4, 423, 430, 431, 432, 4, 150, 150, - 4, 4, 64, 65, 4, 4, 4, 148, 148, 4, - 4, 4, 4, 4, 76, 451, 4, 4, 80, 81, - 82, 83, 84, 85, 4, 87, 103, 104, 105, 106, + 66, 69, 68, 69, 70, 71, 15, 73, 74, 75, + 76, 69, 74, 72, 64, 69, 0, 569, 69, 10, + 764, 74, 68, 69, 70, 71, 764, 73, 74, 3, + 76, 764, 6, 74, 68, 69, 70, 71, 764, 73, + 74, 5, 76, 7, 7, 9, 89, 90, 52, 53, + 54, 55, 56, 57, 7, 69, 70, 71, 3, 7, + 64, 65, 69, 8, 71, 51, 3, 69, 7, 71, + 69, 8, 71, 21, 22, 23, 24, 63, 64, 65, + 3, 89, 90, 6, 12, 13, 7, 3, 16, 7, + 7, 19, 8, 3, 42, 43, 44, 3, 8, 47, + 48, 49, 8, 51, 21, 22, 23, 24, 117, 28, + 29, 30, 31, 7, 62, 78, 64, 65, 66, 67, + 68, 69, 70, 71, 7, 42, 43, 44, 3, 46, + 78, 79, 123, 8, 51, 52, 64, 65, 86, 7, + 148, 132, 133, 134, 148, 889, 3, 64, 65, 6, + 67, 889, 17, 18, 71, 126, 889, 148, 129, 130, + 131, 78, 148, 889, 3, 27, 7, 6, 148, 86, + 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, + 14, 15, 64, 65, 148, 149, 150, 151, 3, 7, + 52, 7, 50, 8, 11, 7, 80, 81, 82, 83, + 148, 85, 7, 20, 21, 22, 23, 24, 25, 26, + 124, 3, 764, 22, 23, 24, 8, 769, 100, 101, + 148, 119, 120, 121, 122, 42, 43, 44, 45, 46, + 6, 148, 3, 50, 51, 22, 23, 24, 4, 52, + 3, 50, 51, 52, 61, 8, 8, 64, 65, 3, + 3, 64, 65, 151, 8, 64, 65, 3, 75, 76, + 3, 8, 8, 4, 51, 8, 148, 3, 77, 335, + 4, 88, 8, 4, 91, 325, 326, 64, 65, 3, + 3, 98, 99, 3, 8, 102, 148, 3, 8, 76, + 4, 4, 8, 80, 81, 82, 83, 84, 85, 4, + 87, 3, 368, 4, 370, 3, 8, 4, 370, 8, + 8, 370, 125, 4, 127, 128, 384, 4, 384, 4, + 3, 387, 368, 3, 370, 8, 384, 8, 8, 4, + 384, 148, 398, 384, 368, 148, 370, 889, 384, 148, + 3, 387, 408, 3, 3, 8, 4, 413, 8, 4, + 384, 413, 398, 387, 4, 8, 370, 72, 73, 74, + 413, 148, 408, 370, 398, 3, 432, 413, 370, 4, + 384, 370, 413, 387, 408, 4, 4, 384, 4, 413, + 4, 4, 384, 27, 398, 384, 432, 64, 65, 4, + 148, 398, 442, 443, 444, 4, 398, 4, 432, 398, + 92, 93, 94, 95, 96, 97, 4, 4, 52, 4, + 54, 55, 4, 463, 58, 59, 60, 4, 151, 151, + 64, 65, 4, 4, 4, 4, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, - 145, 146, 4, 4, 148, 4, 4, 4, 4, 4, - 150, 4, 4, 4, 4, 4, 545, 546, 4, 541, - 147, 4, 148, 545, 546, 4, 150, 4, 4, 4, - 4, 4, 518, 4, 4, 147, 558, 559, 4, 541, - 4, 570, 4, 545, 546, 4, 4, 4, 570, 535, - 4, 4, 148, 570, 4, 4, 558, 559, 150, 4, - 150, 541, 4, 4, 150, 545, 546, 150, 570, 4, - 4, 4, 148, 148, 148, 4, 4, 150, 150, 559, - 570, 150, 4, 4, 4, 8, 147, 147, 7, 7, - 570, 7, 147, 7, 7, 5, 5, 5, 5, 3, - 5, 7, 5, 570, 5, 7, 4, 7, 7, 570, - 5, 147, 147, 570, 147, 5, 147, 5, 147, 147, - 147, 7, 147, 147, 147, 147, 147, 147, 147, 147, - 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, - 118, 147, 124, 7, 7, 7, 7, 7, 7, 7, - 87, 4, 4, 4, 4, 4, 3, 496, 6, 3, - 6, 6, 3, 6, 3, 3, 6, 4, 4, 4, - 4, 4, 4, 4, 3, 147, 6, 3, 147, 6, - 8, 4, 4, 4, 4, 148, 4, 4, 148, 150, - 4, 4, 4, 148, 150, 6, 148, 148, 3, 5, - 148, 148, 148, 4, 148, 8, 8, 147, 147, 147, - 8, 147, 741, 7, 4, 147, 147, 147, 4, 741, - 147, 750, 744, 147, 753, 747, 750, 4, 750, 5, - 147, 753, 744, 148, 744, 744, 7, 744, 760, 741, - 4, 753, 744, 753, 753, 747, 753, 4, 750, 750, - 4, 753, 774, 4, 744, 148, 150, 148, 147, 781, - 326, 741, 784, 753, 744, 450, 541, 747, 353, 536, - 750, 741, 774, 753, 756, 359, 407, 744, 762, 781, - 546, 760, 784, 744, 769, 744, 753, 744, 746, 755, - 865, 781, 753, 375, 784, 749, 753, 399, 747, 750, - 752, 781, 783, 404, 784, 781, 570, 378, 786, 784, - 389, 774, 559, 423, 727, 880, 898, 784, 910, 927, - -1, -1, -1, 784, -1, -1, -1, 784, -1, -1, - -1, -1, -1, -1, -1, -1, 865, -1, -1, -1, - -1, -1, -1, 865, -1, -1, -1, -1, -1, -1, - 879, -1, -1, 865, 840, 865, 865, 879, 865, -1, - -1, -1, -1, 865, -1, -1, -1, -1, -1, 898, - -1, -1, -1, -1, -1, 865, 898, 879, -1, -1, - -1, -1, -1, -1, -1, 865, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 898, -1, 865, 879, - -1, -1, -1, -1, 865, -1, -1, -1, 865, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 898 + 145, 146, 147, 149, 4, 149, 149, 4, 4, 149, + 4, 4, 4, 4, 4, 4, 4, 149, 4, 4, + 4, 148, 4, 4, 4, 151, 4, 4, 4, 4, + 530, 4, 4, 149, 151, 4, 4, 4, 4, 555, + 4, 4, 4, 559, 560, 4, 4, 559, 560, 549, + 4, 4, 4, 4, 148, 4, 572, 573, 4, 555, + 149, 4, 4, 4, 151, 4, 4, 151, 584, 151, + 4, 555, 584, 4, 151, 584, 572, 573, 4, 149, + 4, 149, 149, 4, 4, 151, 4, 151, 584, 573, + 151, 4, 4, 4, 148, 148, 148, 7, 7, 7, + 584, 7, 7, 5, 5, 5, 5, 148, 5, 7, + 5, 5, 8, 3, 7, 7, 7, 5, 5, 5, + 584, 148, 148, 148, 148, 148, 148, 584, 7, 148, + 148, 148, 584, 148, 148, 584, 148, 148, 148, 148, + 148, 148, 148, 148, 148, 148, 148, 148, 118, 148, + 148, 5, 7, 148, 7, 7, 7, 7, 4, 7, + 7, 4, 87, 7, 4, 4, 4, 4, 3, 148, + 6, 3, 6, 6, 3, 6, 3, 3, 6, 4, + 4, 4, 4, 4, 4, 3, 151, 6, 3, 6, + 4, 4, 8, 4, 4, 151, 4, 4, 4, 149, + 4, 149, 149, 4, 149, 149, 6, 3, 7, 149, + 4, 8, 149, 149, 149, 148, 148, 8, 148, 148, + 148, 148, 8, 4, 4, 148, 148, 4, 4, 148, + 5, 4, 149, 148, 4, 4, 752, 755, 462, 755, + 752, 550, 758, 335, 151, 761, 764, 755, 764, 761, + 508, 755, 764, 555, 755, 771, 764, 368, 761, 755, + 764, 362, 758, 764, 149, 761, 149, 148, 764, 785, + 761, 755, 560, 752, 758, 767, 792, 761, 773, 795, + 764, 771, 416, 780, 800, 757, 755, 384, 800, 785, + 766, 755, 889, 760, 408, 758, 792, 763, 755, 795, + 764, 761, 398, 755, 800, 794, 755, 764, 792, 413, + 792, 795, 764, 584, 797, 764, 800, 795, 387, 573, + 785, 551, 902, 435, 801, 432, 915, 932, 792, -1, + -1, 795, -1, -1, -1, -1, -1, -1, 795, -1, + -1, -1, -1, 795, -1, -1, 795, -1, -1, -1, + -1, -1, 852, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 889, -1, 889, -1, -1, -1, 889, -1, -1, + -1, 889, -1, -1, -1, 889, 902, -1, 889, -1, + 902, -1, -1, 889, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 889, 902, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 902, -1, + -1, -1, -1, -1, -1, 889, -1, -1, -1, -1, + -1, -1, 889, -1, -1, -1, -1, 889, -1, -1, + 889 }; const unsigned short int Dhcp4Parser::yystos_[] = { 0, 135, 136, 137, 138, 139, 140, 141, 142, 143, - 144, 145, 146, 152, 153, 154, 155, 156, 157, 158, - 159, 160, 161, 162, 163, 164, 0, 5, 7, 9, - 147, 148, 149, 150, 165, 166, 167, 172, 7, 181, - 7, 187, 7, 201, 7, 277, 7, 358, 7, 374, - 7, 310, 7, 316, 7, 340, 7, 253, 7, 429, - 173, 168, 182, 188, 202, 278, 359, 375, 311, 317, - 341, 254, 430, 165, 174, 175, 147, 170, 171, 10, - 123, 132, 133, 134, 147, 180, 183, 184, 185, 456, - 458, 460, 462, 11, 20, 21, 22, 23, 24, 25, - 26, 42, 43, 44, 45, 46, 50, 51, 61, 64, - 65, 75, 76, 88, 91, 98, 99, 102, 180, 189, - 190, 191, 192, 193, 194, 195, 196, 197, 212, 214, - 238, 247, 261, 271, 300, 308, 334, 364, 366, 379, - 381, 383, 405, 415, 416, 427, 12, 13, 16, 19, - 180, 199, 200, 203, 205, 208, 211, 364, 366, 7, - 47, 48, 49, 62, 66, 67, 68, 69, 70, 71, - 78, 79, 86, 180, 191, 192, 193, 196, 279, 280, - 281, 283, 285, 287, 289, 291, 293, 295, 298, 299, - 334, 352, 364, 366, 368, 379, 381, 383, 401, 63, - 180, 334, 360, 361, 362, 364, 366, 76, 80, 81, - 82, 83, 84, 85, 87, 180, 334, 364, 366, 376, - 377, 378, 379, 381, 383, 385, 387, 389, 391, 393, - 395, 397, 399, 308, 27, 52, 54, 55, 58, 59, - 60, 180, 228, 318, 319, 320, 321, 322, 323, 324, - 326, 328, 330, 331, 333, 364, 366, 53, 56, 57, - 180, 228, 322, 328, 342, 343, 344, 345, 346, 348, - 349, 350, 351, 364, 366, 89, 90, 180, 255, 256, - 257, 259, 103, 104, 105, 106, 107, 108, 109, 110, - 111, 112, 113, 114, 115, 116, 180, 364, 366, 431, - 432, 433, 434, 436, 438, 439, 441, 442, 443, 446, - 448, 449, 450, 451, 454, 6, 3, 4, 8, 3, - 186, 463, 457, 459, 461, 4, 3, 8, 198, 4, - 4, 380, 382, 384, 213, 215, 4, 4, 4, 4, - 272, 309, 335, 301, 365, 367, 239, 406, 248, 262, - 4, 417, 428, 3, 8, 204, 206, 209, 4, 3, - 8, 408, 284, 286, 288, 353, 282, 290, 292, 4, - 4, 296, 294, 369, 402, 3, 8, 363, 3, 8, - 400, 388, 390, 394, 392, 398, 396, 386, 8, 3, - 8, 325, 229, 4, 329, 327, 332, 4, 8, 3, - 347, 4, 4, 8, 3, 258, 260, 3, 8, 4, - 435, 437, 4, 440, 4, 4, 444, 447, 4, 4, - 4, 452, 455, 3, 8, 165, 165, 147, 4, 4, - 4, 4, 4, 184, 4, 150, 150, 4, 4, 4, - 4, 4, 148, 148, 148, 148, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 148, 4, 4, 190, - 4, 4, 4, 150, 200, 77, 180, 228, 308, 334, - 364, 366, 379, 381, 383, 409, 410, 411, 412, 413, - 4, 4, 4, 4, 4, 4, 4, 148, 150, 4, - 4, 4, 4, 280, 4, 361, 4, 4, 4, 4, - 4, 4, 4, 4, 378, 4, 4, 148, 4, 4, - 4, 150, 320, 4, 150, 150, 344, 4, 4, 256, - 150, 4, 4, 148, 4, 148, 148, 4, 4, 150, - 150, 150, 4, 4, 432, 4, 7, 7, 165, 165, - 165, 7, 147, 147, 147, 7, 7, 5, 5, 5, - 5, 167, 169, 165, 5, 5, 5, 7, 7, 7, - 5, 176, 14, 15, 207, 17, 18, 210, 414, 8, - 3, 147, 147, 147, 5, 147, 147, 147, 72, 73, - 74, 297, 147, 5, 7, 147, 176, 147, 147, 147, - 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, - 147, 165, 147, 147, 147, 15, 117, 445, 118, 119, - 120, 121, 122, 150, 453, 147, 165, 189, 124, 464, - 465, 466, 199, 27, 32, 33, 34, 35, 36, 37, - 38, 39, 40, 41, 180, 216, 217, 218, 221, 223, - 225, 227, 228, 230, 231, 232, 233, 234, 236, 364, - 366, 216, 7, 273, 274, 275, 7, 312, 313, 314, - 7, 336, 337, 338, 7, 302, 303, 304, 80, 81, - 82, 83, 85, 240, 241, 242, 243, 244, 245, 246, - 293, 407, 7, 249, 250, 251, 92, 93, 94, 95, - 96, 97, 263, 264, 265, 266, 267, 268, 269, 270, - 65, 100, 101, 180, 364, 418, 419, 420, 422, 424, - 425, 431, 177, 4, 411, 7, 354, 355, 356, 7, - 370, 371, 372, 87, 403, 8, 467, 3, 8, 8, - 219, 222, 224, 226, 4, 4, 4, 4, 4, 235, - 237, 3, 8, 8, 276, 6, 3, 315, 6, 3, - 339, 6, 3, 305, 6, 3, 3, 6, 3, 6, - 252, 6, 3, 4, 4, 4, 4, 4, 4, 3, - 8, 426, 421, 423, 3, 8, 8, 147, 178, 179, - 147, 357, 6, 3, 373, 6, 3, 404, 8, 4, - 465, 4, 4, 4, 4, 148, 150, 148, 150, 148, - 4, 4, 217, 279, 275, 318, 314, 342, 338, 180, - 191, 192, 193, 196, 228, 271, 289, 293, 295, 306, - 307, 334, 364, 366, 379, 381, 383, 401, 304, 241, - 293, 255, 251, 148, 148, 148, 148, 148, 148, 264, - 4, 4, 4, 419, 6, 3, 360, 356, 376, 372, - 4, 5, 28, 29, 30, 31, 220, 147, 147, 147, - 147, 147, 8, 8, 8, 3, 8, 8, 165, 147, - 147, 147, 8, 8, 147, 7, 468, 469, 307, 470, - 3, 6, 125, 127, 128, 180, 228, 364, 366, 471, - 472, 473, 474, 476, 469, 477, 4, 475, 3, 8, - 4, 148, 4, 472, 5, 147, 7, 478, 479, 480, - 3, 6, 126, 129, 130, 131, 481, 482, 483, 485, - 486, 487, 479, 484, 4, 4, 4, 3, 8, 4, - 150, 148, 148, 482, 147 + 144, 145, 146, 147, 153, 154, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, 165, 166, 0, 5, + 7, 9, 148, 149, 150, 151, 167, 168, 169, 174, + 7, 183, 7, 189, 7, 203, 7, 279, 7, 360, + 7, 376, 7, 312, 7, 318, 7, 342, 7, 255, + 7, 431, 7, 466, 175, 170, 184, 190, 204, 280, + 361, 377, 313, 319, 343, 256, 432, 467, 167, 176, + 177, 148, 172, 173, 10, 123, 132, 133, 134, 148, + 182, 185, 186, 187, 458, 460, 462, 464, 11, 20, + 21, 22, 23, 24, 25, 26, 42, 43, 44, 45, + 46, 50, 51, 61, 64, 65, 75, 76, 88, 91, + 98, 99, 102, 182, 191, 192, 193, 194, 195, 196, + 197, 198, 199, 214, 216, 240, 249, 263, 273, 302, + 310, 336, 366, 368, 381, 383, 385, 407, 417, 418, + 429, 12, 13, 16, 19, 182, 201, 202, 205, 207, + 210, 213, 366, 368, 7, 47, 48, 49, 62, 66, + 67, 68, 69, 70, 71, 78, 79, 86, 182, 193, + 194, 195, 198, 281, 282, 283, 285, 287, 289, 291, + 293, 295, 297, 300, 301, 336, 354, 366, 368, 370, + 381, 383, 385, 403, 63, 182, 336, 362, 363, 364, + 366, 368, 76, 80, 81, 82, 83, 84, 85, 87, + 182, 336, 366, 368, 378, 379, 380, 381, 383, 385, + 387, 389, 391, 393, 395, 397, 399, 401, 310, 27, + 52, 54, 55, 58, 59, 60, 182, 230, 320, 321, + 322, 323, 324, 325, 326, 328, 330, 332, 333, 335, + 366, 368, 53, 56, 57, 182, 230, 324, 330, 344, + 345, 346, 347, 348, 350, 351, 352, 353, 366, 368, + 89, 90, 182, 257, 258, 259, 261, 103, 104, 105, + 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, + 116, 182, 366, 368, 433, 434, 435, 436, 438, 440, + 441, 443, 444, 445, 448, 450, 451, 452, 453, 456, + 124, 468, 469, 470, 6, 3, 4, 8, 3, 188, + 465, 459, 461, 463, 4, 3, 8, 200, 4, 4, + 382, 384, 386, 215, 217, 4, 4, 4, 4, 274, + 311, 337, 303, 367, 369, 241, 408, 250, 264, 4, + 419, 430, 3, 8, 206, 208, 211, 4, 3, 8, + 410, 286, 288, 290, 355, 284, 292, 294, 4, 4, + 298, 296, 371, 404, 3, 8, 365, 3, 8, 402, + 390, 392, 396, 394, 400, 398, 388, 8, 3, 8, + 327, 231, 4, 331, 329, 334, 4, 8, 3, 349, + 4, 4, 8, 3, 260, 262, 3, 8, 4, 437, + 439, 4, 442, 4, 4, 446, 449, 4, 4, 4, + 454, 457, 3, 8, 471, 3, 8, 167, 167, 148, + 4, 4, 4, 4, 4, 186, 4, 151, 151, 4, + 4, 4, 4, 4, 149, 149, 149, 149, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 149, 4, + 4, 192, 4, 4, 4, 151, 202, 77, 182, 230, + 310, 336, 366, 368, 381, 383, 385, 411, 412, 413, + 414, 415, 4, 4, 4, 4, 4, 4, 4, 149, + 151, 4, 4, 4, 4, 282, 4, 363, 4, 4, + 4, 4, 4, 4, 4, 4, 380, 4, 4, 149, + 4, 4, 4, 151, 322, 4, 151, 151, 346, 4, + 4, 258, 151, 4, 4, 149, 4, 149, 149, 4, + 4, 151, 151, 151, 4, 4, 434, 4, 469, 4, + 7, 7, 167, 167, 167, 7, 148, 148, 148, 7, + 7, 5, 5, 5, 5, 169, 171, 167, 5, 5, + 5, 7, 7, 7, 5, 178, 14, 15, 209, 17, + 18, 212, 416, 8, 3, 148, 148, 148, 5, 148, + 148, 148, 72, 73, 74, 299, 148, 5, 7, 148, + 178, 148, 148, 148, 148, 148, 148, 148, 148, 148, + 148, 148, 148, 148, 148, 167, 148, 148, 148, 15, + 117, 447, 118, 119, 120, 121, 122, 151, 455, 148, + 5, 167, 191, 468, 201, 27, 32, 33, 34, 35, + 36, 37, 38, 39, 40, 41, 182, 218, 219, 220, + 223, 225, 227, 229, 230, 232, 233, 234, 235, 236, + 238, 218, 7, 275, 276, 277, 7, 314, 315, 316, + 7, 338, 339, 340, 7, 304, 305, 306, 80, 81, + 82, 83, 85, 242, 243, 244, 245, 246, 247, 248, + 295, 409, 7, 251, 252, 253, 92, 93, 94, 95, + 96, 97, 265, 266, 267, 268, 269, 270, 271, 272, + 65, 100, 101, 182, 366, 420, 421, 422, 424, 426, + 427, 433, 179, 4, 413, 7, 356, 357, 358, 7, + 372, 373, 374, 87, 405, 7, 472, 473, 8, 8, + 8, 221, 224, 226, 228, 4, 4, 4, 4, 4, + 237, 239, 3, 8, 8, 278, 6, 3, 317, 6, + 3, 341, 6, 3, 307, 6, 3, 3, 6, 3, + 6, 254, 6, 3, 4, 4, 4, 4, 4, 4, + 3, 8, 428, 423, 425, 3, 8, 8, 148, 180, + 181, 148, 359, 6, 3, 375, 6, 3, 406, 8, + 474, 3, 6, 4, 4, 4, 4, 149, 151, 149, + 151, 149, 4, 4, 219, 281, 277, 320, 316, 344, + 340, 182, 193, 194, 195, 198, 230, 273, 291, 295, + 297, 308, 309, 336, 366, 368, 381, 383, 385, 403, + 306, 243, 295, 257, 253, 149, 149, 149, 149, 149, + 149, 266, 4, 4, 4, 421, 6, 3, 362, 358, + 378, 374, 4, 125, 127, 128, 182, 230, 366, 368, + 475, 476, 477, 478, 480, 473, 28, 29, 30, 31, + 222, 148, 148, 148, 148, 148, 8, 8, 8, 3, + 8, 8, 167, 148, 148, 148, 8, 8, 148, 481, + 4, 479, 3, 8, 309, 4, 149, 4, 476, 5, + 148, 7, 482, 483, 484, 3, 6, 126, 129, 130, + 131, 485, 486, 487, 489, 490, 491, 483, 488, 4, + 4, 4, 3, 8, 4, 151, 149, 149, 486, 148 }; const unsigned short int Dhcp4Parser::yyr1_[] = { - 0, 151, 153, 152, 154, 152, 155, 152, 156, 152, - 157, 152, 158, 152, 159, 152, 160, 152, 161, 152, - 162, 152, 163, 152, 164, 152, 165, 165, 165, 165, - 165, 165, 165, 166, 168, 167, 169, 170, 170, 171, - 171, 173, 172, 174, 174, 175, 175, 177, 176, 178, - 178, 179, 179, 180, 182, 181, 183, 183, 184, 184, - 184, 184, 184, 184, 186, 185, 188, 187, 189, 189, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 191, 192, 193, 194, - 195, 196, 198, 197, 199, 199, 200, 200, 200, 200, - 200, 200, 200, 202, 201, 204, 203, 206, 205, 207, - 207, 209, 208, 210, 210, 211, 213, 212, 215, 214, - 216, 216, 217, 217, 217, 217, 217, 217, 217, 217, - 217, 217, 217, 217, 217, 217, 217, 219, 218, 220, - 220, 220, 220, 222, 221, 224, 223, 226, 225, 227, - 229, 228, 230, 231, 232, 233, 235, 234, 237, 236, - 239, 238, 240, 240, 241, 241, 241, 241, 241, 242, - 243, 244, 245, 246, 248, 247, 249, 249, 250, 250, - 252, 251, 254, 253, 255, 255, 255, 256, 256, 258, - 257, 260, 259, 262, 261, 263, 263, 264, 264, 264, - 264, 264, 264, 265, 266, 267, 268, 269, 270, 272, - 271, 273, 273, 274, 274, 276, 275, 278, 277, 279, - 279, 280, 280, 280, 280, 280, 280, 280, 280, 280, - 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, - 280, 280, 280, 280, 280, 282, 281, 284, 283, 286, - 285, 288, 287, 290, 289, 292, 291, 294, 293, 296, - 295, 297, 297, 297, 298, 299, 301, 300, 302, 302, - 303, 303, 305, 304, 306, 306, 307, 307, 307, 307, - 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, - 307, 307, 307, 309, 308, 311, 310, 312, 312, 313, - 313, 315, 314, 317, 316, 318, 318, 319, 319, 320, - 320, 320, 320, 320, 320, 320, 320, 320, 320, 321, - 322, 323, 325, 324, 327, 326, 329, 328, 330, 332, - 331, 333, 335, 334, 336, 336, 337, 337, 339, 338, - 341, 340, 342, 342, 343, 343, 344, 344, 344, 344, - 344, 344, 344, 344, 344, 345, 347, 346, 348, 349, - 350, 351, 353, 352, 354, 354, 355, 355, 357, 356, - 359, 358, 360, 360, 361, 361, 361, 361, 361, 363, - 362, 365, 364, 367, 366, 369, 368, 370, 370, 371, - 371, 373, 372, 375, 374, 376, 376, 377, 377, 378, - 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, - 378, 378, 378, 378, 380, 379, 382, 381, 384, 383, - 386, 385, 388, 387, 390, 389, 392, 391, 394, 393, - 396, 395, 398, 397, 400, 399, 402, 401, 404, 403, - 406, 405, 407, 407, 408, 293, 409, 409, 410, 410, - 411, 411, 411, 411, 411, 411, 411, 411, 411, 411, - 412, 414, 413, 415, 417, 416, 418, 418, 419, 419, - 419, 419, 419, 421, 420, 423, 422, 424, 426, 425, - 428, 427, 430, 429, 431, 431, 432, 432, 432, 432, - 432, 432, 432, 432, 432, 432, 432, 432, 432, 432, - 432, 432, 432, 433, 435, 434, 437, 436, 438, 440, - 439, 441, 442, 444, 443, 445, 445, 447, 446, 448, - 449, 450, 452, 451, 453, 453, 453, 453, 453, 455, - 454, 457, 456, 459, 458, 461, 460, 463, 462, 464, - 464, 465, 467, 466, 468, 468, 470, 469, 471, 471, - 472, 472, 472, 472, 472, 472, 472, 473, 475, 474, - 477, 476, 478, 478, 480, 479, 481, 481, 482, 482, - 482, 482, 484, 483, 485, 486, 487 + 0, 152, 154, 153, 155, 153, 156, 153, 157, 153, + 158, 153, 159, 153, 160, 153, 161, 153, 162, 153, + 163, 153, 164, 153, 165, 153, 166, 153, 167, 167, + 167, 167, 167, 167, 167, 168, 170, 169, 171, 172, + 172, 173, 173, 175, 174, 176, 176, 177, 177, 179, + 178, 180, 180, 181, 181, 182, 184, 183, 185, 185, + 186, 186, 186, 186, 186, 186, 188, 187, 190, 189, + 191, 191, 192, 192, 192, 192, 192, 192, 192, 192, + 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, + 192, 192, 192, 192, 192, 192, 192, 192, 193, 194, + 195, 196, 197, 198, 200, 199, 201, 201, 202, 202, + 202, 202, 202, 202, 202, 204, 203, 206, 205, 208, + 207, 209, 209, 211, 210, 212, 212, 213, 215, 214, + 217, 216, 218, 218, 219, 219, 219, 219, 219, 219, + 219, 219, 219, 219, 219, 219, 219, 221, 220, 222, + 222, 222, 222, 224, 223, 226, 225, 228, 227, 229, + 231, 230, 232, 233, 234, 235, 237, 236, 239, 238, + 241, 240, 242, 242, 243, 243, 243, 243, 243, 244, + 245, 246, 247, 248, 250, 249, 251, 251, 252, 252, + 254, 253, 256, 255, 257, 257, 257, 258, 258, 260, + 259, 262, 261, 264, 263, 265, 265, 266, 266, 266, + 266, 266, 266, 267, 268, 269, 270, 271, 272, 274, + 273, 275, 275, 276, 276, 278, 277, 280, 279, 281, + 281, 282, 282, 282, 282, 282, 282, 282, 282, 282, + 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, + 282, 282, 282, 282, 282, 284, 283, 286, 285, 288, + 287, 290, 289, 292, 291, 294, 293, 296, 295, 298, + 297, 299, 299, 299, 300, 301, 303, 302, 304, 304, + 305, 305, 307, 306, 308, 308, 309, 309, 309, 309, + 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, + 309, 309, 309, 311, 310, 313, 312, 314, 314, 315, + 315, 317, 316, 319, 318, 320, 320, 321, 321, 322, + 322, 322, 322, 322, 322, 322, 322, 322, 322, 323, + 324, 325, 327, 326, 329, 328, 331, 330, 332, 334, + 333, 335, 337, 336, 338, 338, 339, 339, 341, 340, + 343, 342, 344, 344, 345, 345, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 347, 349, 348, 350, 351, + 352, 353, 355, 354, 356, 356, 357, 357, 359, 358, + 361, 360, 362, 362, 363, 363, 363, 363, 363, 365, + 364, 367, 366, 369, 368, 371, 370, 372, 372, 373, + 373, 375, 374, 377, 376, 378, 378, 379, 379, 380, + 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, + 380, 380, 380, 380, 382, 381, 384, 383, 386, 385, + 388, 387, 390, 389, 392, 391, 394, 393, 396, 395, + 398, 397, 400, 399, 402, 401, 404, 403, 406, 405, + 408, 407, 409, 409, 410, 295, 411, 411, 412, 412, + 413, 413, 413, 413, 413, 413, 413, 413, 413, 413, + 414, 416, 415, 417, 419, 418, 420, 420, 421, 421, + 421, 421, 421, 423, 422, 425, 424, 426, 428, 427, + 430, 429, 432, 431, 433, 433, 434, 434, 434, 434, + 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, + 434, 434, 434, 435, 437, 436, 439, 438, 440, 442, + 441, 443, 444, 446, 445, 447, 447, 449, 448, 450, + 451, 452, 454, 453, 455, 455, 455, 455, 455, 457, + 456, 459, 458, 461, 460, 463, 462, 465, 464, 467, + 466, 468, 468, 469, 471, 470, 472, 472, 474, 473, + 475, 475, 476, 476, 476, 476, 476, 476, 476, 477, + 479, 478, 481, 480, 482, 482, 484, 483, 485, 485, + 486, 486, 486, 486, 488, 487, 489, 490, 491 }; const unsigned char @@ -4156,18 +4184,18 @@ namespace isc { namespace dhcp { { 0, 2, 0, 3, 0, 3, 0, 3, 0, 3, 0, 3, 0, 3, 0, 3, 0, 3, 0, 3, - 0, 3, 0, 3, 0, 3, 1, 1, 1, 1, - 1, 1, 1, 1, 0, 4, 1, 0, 1, 3, - 5, 0, 4, 0, 1, 1, 3, 0, 4, 0, - 1, 1, 3, 2, 0, 4, 1, 3, 1, 1, - 1, 1, 1, 1, 0, 6, 0, 4, 1, 3, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, - 3, 3, 0, 6, 1, 3, 1, 1, 1, 1, - 1, 1, 1, 0, 4, 0, 4, 0, 4, 1, - 1, 0, 4, 1, 1, 3, 0, 6, 0, 6, + 0, 3, 0, 3, 0, 3, 0, 3, 1, 1, + 1, 1, 1, 1, 1, 1, 0, 4, 1, 0, + 1, 3, 5, 0, 4, 0, 1, 1, 3, 0, + 4, 0, 1, 1, 3, 2, 0, 4, 1, 3, + 1, 1, 1, 1, 1, 1, 0, 6, 0, 4, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, + 3, 3, 3, 3, 0, 6, 1, 3, 1, 1, + 1, 1, 1, 1, 1, 0, 4, 0, 4, 0, + 4, 1, 1, 0, 4, 1, 1, 3, 0, 6, + 0, 6, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 4, 1, 1, 1, 1, 0, 4, 0, 4, 0, 4, 3, 0, 4, 3, 3, 3, 3, 0, 4, 0, 4, @@ -4208,11 +4236,11 @@ namespace isc { namespace dhcp { 1, 1, 1, 3, 0, 4, 0, 4, 3, 0, 4, 3, 3, 0, 4, 1, 1, 0, 4, 3, 3, 3, 0, 4, 1, 1, 1, 1, 1, 0, - 4, 0, 4, 0, 4, 0, 4, 0, 6, 1, - 3, 1, 0, 6, 1, 3, 0, 4, 1, 3, - 1, 1, 1, 1, 1, 1, 1, 3, 0, 4, - 0, 6, 1, 3, 0, 4, 1, 3, 1, 1, - 1, 1, 0, 4, 3, 3, 3 + 4, 0, 4, 0, 4, 0, 4, 0, 6, 0, + 4, 1, 3, 1, 0, 6, 1, 3, 0, 4, + 1, 3, 1, 1, 1, 1, 1, 1, 1, 3, + 0, 4, 0, 6, 1, 3, 0, 4, 1, 3, + 1, 1, 1, 1, 0, 4, 3, 3, 3 }; @@ -4263,109 +4291,109 @@ namespace isc { namespace dhcp { "\"DhcpDdns\"", "\"Control-agent\"", "TOPLEVEL_JSON", "TOPLEVEL_DHCP4", "SUB_DHCP4", "SUB_INTERFACES4", "SUB_SUBNET4", "SUB_POOL4", "SUB_RESERVATION", "SUB_OPTION_DEFS", "SUB_OPTION_DEF", - "SUB_OPTION_DATA", "SUB_HOOKS_LIBRARY", "SUB_DHCP_DDNS", + "SUB_OPTION_DATA", "SUB_HOOKS_LIBRARY", "SUB_DHCP_DDNS", "SUB_LOGGING", "\"constant string\"", "\"integer\"", "\"floating point\"", "\"boolean\"", "$accept", "start", "$@1", "$@2", "$@3", "$@4", "$@5", - "$@6", "$@7", "$@8", "$@9", "$@10", "$@11", "$@12", "value", "sub_json", - "map2", "$@13", "map_value", "map_content", "not_empty_map", - "list_generic", "$@14", "list_content", "not_empty_list", "list_strings", - "$@15", "list_strings_content", "not_empty_list_strings", - "unknown_map_entry", "syntax_map", "$@16", "global_objects", - "global_object", "dhcp4_object", "$@17", "sub_dhcp4", "$@18", + "$@6", "$@7", "$@8", "$@9", "$@10", "$@11", "$@12", "$@13", "value", + "sub_json", "map2", "$@14", "map_value", "map_content", "not_empty_map", + "list_generic", "$@15", "list_content", "not_empty_list", "list_strings", + "$@16", "list_strings_content", "not_empty_list_strings", + "unknown_map_entry", "syntax_map", "$@17", "global_objects", + "global_object", "dhcp4_object", "$@18", "sub_dhcp4", "$@19", "global_params", "global_param", "valid_lifetime", "renew_timer", "rebind_timer", "decline_probation_period", "echo_client_id", - "match_client_id", "interfaces_config", "$@19", + "match_client_id", "interfaces_config", "$@20", "interfaces_config_params", "interfaces_config_param", "sub_interfaces4", - "$@20", "interfaces_list", "$@21", "dhcp_socket_type", "$@22", - "socket_type", "outbound_interface", "$@23", "outbound_interface_value", - "re_detect", "lease_database", "$@24", "hosts_database", "$@25", - "database_map_params", "database_map_param", "database_type", "$@26", - "db_type", "user", "$@27", "password", "$@28", "host", "$@29", "port", - "name", "$@30", "persist", "lfc_interval", "readonly", "connect_timeout", - "contact_points", "$@31", "keyspace", "$@32", - "host_reservation_identifiers", "$@33", + "$@21", "interfaces_list", "$@22", "dhcp_socket_type", "$@23", + "socket_type", "outbound_interface", "$@24", "outbound_interface_value", + "re_detect", "lease_database", "$@25", "hosts_database", "$@26", + "database_map_params", "database_map_param", "database_type", "$@27", + "db_type", "user", "$@28", "password", "$@29", "host", "$@30", "port", + "name", "$@31", "persist", "lfc_interval", "readonly", "connect_timeout", + "contact_points", "$@32", "keyspace", "$@33", + "host_reservation_identifiers", "$@34", "host_reservation_identifiers_list", "host_reservation_identifier", "duid_id", "hw_address_id", "circuit_id", "client_id", "flex_id", - "hooks_libraries", "$@34", "hooks_libraries_list", - "not_empty_hooks_libraries_list", "hooks_library", "$@35", - "sub_hooks_library", "$@36", "hooks_params", "hooks_param", "library", - "$@37", "parameters", "$@38", "expired_leases_processing", "$@39", + "hooks_libraries", "$@35", "hooks_libraries_list", + "not_empty_hooks_libraries_list", "hooks_library", "$@36", + "sub_hooks_library", "$@37", "hooks_params", "hooks_param", "library", + "$@38", "parameters", "$@39", "expired_leases_processing", "$@40", "expired_leases_params", "expired_leases_param", "reclaim_timer_wait_time", "flush_reclaimed_timer_wait_time", "hold_reclaimed_time", "max_reclaim_leases", "max_reclaim_time", - "unwarned_reclaim_cycles", "subnet4_list", "$@40", - "subnet4_list_content", "not_empty_subnet4_list", "subnet4", "$@41", - "sub_subnet4", "$@42", "subnet4_params", "subnet4_param", "subnet", - "$@43", "subnet_4o6_interface", "$@44", "subnet_4o6_interface_id", - "$@45", "subnet_4o6_subnet", "$@46", "interface", "$@47", "interface_id", - "$@48", "client_class", "$@49", "reservation_mode", "$@50", "hr_mode", - "id", "rapid_commit", "shared_networks", "$@51", + "unwarned_reclaim_cycles", "subnet4_list", "$@41", + "subnet4_list_content", "not_empty_subnet4_list", "subnet4", "$@42", + "sub_subnet4", "$@43", "subnet4_params", "subnet4_param", "subnet", + "$@44", "subnet_4o6_interface", "$@45", "subnet_4o6_interface_id", + "$@46", "subnet_4o6_subnet", "$@47", "interface", "$@48", "interface_id", + "$@49", "client_class", "$@50", "reservation_mode", "$@51", "hr_mode", + "id", "rapid_commit", "shared_networks", "$@52", "shared_networks_content", "shared_networks_list", "shared_network", - "$@52", "shared_network_params", "shared_network_param", - "option_def_list", "$@53", "sub_option_def_list", "$@54", + "$@53", "shared_network_params", "shared_network_param", + "option_def_list", "$@54", "sub_option_def_list", "$@55", "option_def_list_content", "not_empty_option_def_list", - "option_def_entry", "$@55", "sub_option_def", "$@56", + "option_def_entry", "$@56", "sub_option_def", "$@57", "option_def_params", "not_empty_option_def_params", "option_def_param", - "option_def_name", "code", "option_def_code", "option_def_type", "$@57", - "option_def_record_types", "$@58", "space", "$@59", "option_def_space", - "option_def_encapsulate", "$@60", "option_def_array", "option_data_list", - "$@61", "option_data_list_content", "not_empty_option_data_list", - "option_data_entry", "$@62", "sub_option_data", "$@63", + "option_def_name", "code", "option_def_code", "option_def_type", "$@58", + "option_def_record_types", "$@59", "space", "$@60", "option_def_space", + "option_def_encapsulate", "$@61", "option_def_array", "option_data_list", + "$@62", "option_data_list_content", "not_empty_option_data_list", + "option_data_entry", "$@63", "sub_option_data", "$@64", "option_data_params", "not_empty_option_data_params", - "option_data_param", "option_data_name", "option_data_data", "$@64", + "option_data_param", "option_data_name", "option_data_data", "$@65", "option_data_code", "option_data_space", "option_data_csv_format", - "option_data_always_send", "pools_list", "$@65", "pools_list_content", - "not_empty_pools_list", "pool_list_entry", "$@66", "sub_pool4", "$@67", - "pool_params", "pool_param", "pool_entry", "$@68", "user_context", - "$@69", "comment", "$@70", "reservations", "$@71", "reservations_list", - "not_empty_reservations_list", "reservation", "$@72", "sub_reservation", - "$@73", "reservation_params", "not_empty_reservation_params", - "reservation_param", "next_server", "$@74", "server_hostname", "$@75", - "boot_file_name", "$@76", "ip_address", "$@77", "duid", "$@78", - "hw_address", "$@79", "client_id_value", "$@80", "circuit_id_value", - "$@81", "flex_id_value", "$@82", "hostname", "$@83", - "reservation_client_classes", "$@84", "relay", "$@85", "relay_map", - "$@86", "client_classes", "$@87", "client_classes_list", "$@88", + "option_data_always_send", "pools_list", "$@66", "pools_list_content", + "not_empty_pools_list", "pool_list_entry", "$@67", "sub_pool4", "$@68", + "pool_params", "pool_param", "pool_entry", "$@69", "user_context", + "$@70", "comment", "$@71", "reservations", "$@72", "reservations_list", + "not_empty_reservations_list", "reservation", "$@73", "sub_reservation", + "$@74", "reservation_params", "not_empty_reservation_params", + "reservation_param", "next_server", "$@75", "server_hostname", "$@76", + "boot_file_name", "$@77", "ip_address", "$@78", "duid", "$@79", + "hw_address", "$@80", "client_id_value", "$@81", "circuit_id_value", + "$@82", "flex_id_value", "$@83", "hostname", "$@84", + "reservation_client_classes", "$@85", "relay", "$@86", "relay_map", + "$@87", "client_classes", "$@88", "client_classes_list", "$@89", "client_class_params", "not_empty_client_class_params", - "client_class_param", "client_class_name", "client_class_test", "$@89", - "dhcp4o6_port", "control_socket", "$@90", "control_socket_params", - "control_socket_param", "control_socket_type", "$@91", - "control_socket_name", "$@92", "control_socket_user_context", - "control_socket_comment", "$@93", "dhcp_ddns", "$@94", "sub_dhcp_ddns", - "$@95", "dhcp_ddns_params", "dhcp_ddns_param", "enable_updates", - "qualifying_suffix", "$@96", "server_ip", "$@97", "server_port", - "sender_ip", "$@98", "sender_port", "max_queue_size", "ncr_protocol", - "$@99", "ncr_protocol_value", "ncr_format", "$@100", + "client_class_param", "client_class_name", "client_class_test", "$@90", + "dhcp4o6_port", "control_socket", "$@91", "control_socket_params", + "control_socket_param", "control_socket_type", "$@92", + "control_socket_name", "$@93", "control_socket_user_context", + "control_socket_comment", "$@94", "dhcp_ddns", "$@95", "sub_dhcp_ddns", + "$@96", "dhcp_ddns_params", "dhcp_ddns_param", "enable_updates", + "qualifying_suffix", "$@97", "server_ip", "$@98", "server_port", + "sender_ip", "$@99", "sender_port", "max_queue_size", "ncr_protocol", + "$@100", "ncr_protocol_value", "ncr_format", "$@101", "always_include_fqdn", "override_no_update", "override_client_update", - "replace_client_name", "$@101", "replace_client_name_value", - "generated_prefix", "$@102", "dhcp6_json_object", "$@103", - "dhcpddns_json_object", "$@104", "control_agent_json_object", "$@105", - "logging_object", "$@106", "logging_params", "logging_param", "loggers", - "$@107", "loggers_entries", "logger_entry", "$@108", "logger_params", - "logger_param", "debuglevel", "severity", "$@109", "output_options_list", - "$@110", "output_options_list_content", "output_entry", "$@111", - "output_params_list", "output_params", "output", "$@112", "flush", - "maxsize", "maxver", YY_NULLPTR + "replace_client_name", "$@102", "replace_client_name_value", + "generated_prefix", "$@103", "dhcp6_json_object", "$@104", + "dhcpddns_json_object", "$@105", "control_agent_json_object", "$@106", + "logging_object", "$@107", "sub_logging", "$@108", "logging_params", + "logging_param", "loggers", "$@109", "loggers_entries", "logger_entry", + "$@110", "logger_params", "logger_param", "debuglevel", "severity", + "$@111", "output_options_list", "$@112", "output_options_list_content", + "output_entry", "$@113", "output_params_list", "output_params", "output", + "$@114", "flush", "maxsize", "maxver", YY_NULLPTR }; #if PARSER4_DEBUG const unsigned short int Dhcp4Parser::yyrline_[] = { - 0, 234, 234, 234, 235, 235, 236, 236, 237, 237, - 238, 238, 239, 239, 240, 240, 241, 241, 242, 242, - 243, 243, 244, 244, 245, 245, 253, 254, 255, 256, - 257, 258, 259, 262, 267, 267, 278, 281, 282, 285, - 289, 296, 296, 303, 304, 307, 311, 318, 318, 325, - 326, 329, 333, 344, 354, 354, 370, 371, 375, 376, - 377, 378, 379, 380, 383, 383, 398, 398, 407, 408, - 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, + 0, 235, 235, 235, 236, 236, 237, 237, 238, 238, + 239, 239, 240, 240, 241, 241, 242, 242, 243, 243, + 244, 244, 245, 245, 246, 246, 247, 247, 255, 256, + 257, 258, 259, 260, 261, 264, 269, 269, 280, 283, + 284, 287, 291, 298, 298, 305, 306, 309, 313, 320, + 320, 327, 328, 331, 335, 346, 356, 356, 372, 373, + 377, 378, 379, 380, 381, 382, 385, 385, 400, 400, + 409, 410, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, - 433, 434, 435, 436, 437, 438, 441, 446, 451, 456, - 461, 466, 472, 472, 483, 484, 487, 488, 489, 490, - 491, 492, 493, 496, 496, 505, 505, 515, 515, 522, - 523, 526, 526, 533, 535, 539, 545, 545, 557, 557, - 569, 570, 573, 574, 575, 576, 577, 578, 579, 580, + 433, 434, 435, 436, 437, 438, 439, 440, 443, 448, + 453, 458, 463, 468, 474, 474, 485, 486, 489, 490, + 491, 492, 493, 494, 495, 498, 498, 507, 507, 517, + 517, 524, 525, 528, 528, 535, 537, 541, 547, 547, + 559, 559, 571, 572, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 590, 590, 597, 598, 599, 600, 603, 603, 611, 611, 619, 619, 627, 632, 632, 640, 645, 650, 655, 660, 660, 668, 668, @@ -4406,11 +4434,11 @@ namespace isc { namespace dhcp { 1708, 1709, 1710, 1713, 1718, 1718, 1726, 1726, 1734, 1739, 1739, 1747, 1752, 1757, 1757, 1765, 1766, 1769, 1769, 1777, 1782, 1787, 1792, 1792, 1800, 1803, 1806, 1809, 1812, 1818, - 1818, 1828, 1828, 1835, 1835, 1842, 1842, 1854, 1854, 1867, - 1868, 1872, 1876, 1876, 1888, 1889, 1893, 1893, 1901, 1902, - 1905, 1906, 1907, 1908, 1909, 1910, 1911, 1914, 1919, 1919, - 1927, 1927, 1937, 1938, 1941, 1941, 1949, 1950, 1953, 1954, - 1955, 1956, 1959, 1959, 1967, 1972, 1977 + 1818, 1828, 1828, 1835, 1835, 1842, 1842, 1854, 1854, 1864, + 1864, 1875, 1876, 1880, 1884, 1884, 1896, 1897, 1901, 1901, + 1909, 1910, 1913, 1914, 1915, 1916, 1917, 1918, 1919, 1922, + 1927, 1927, 1935, 1935, 1945, 1946, 1949, 1949, 1957, 1958, + 1961, 1962, 1963, 1964, 1967, 1967, 1975, 1980, 1985 }; // Print the state stack on the debug stream. @@ -4445,8 +4473,8 @@ namespace isc { namespace dhcp { #line 14 "dhcp4_parser.yy" // lalr1.cc:1167 } } // isc::dhcp -#line 4449 "dhcp4_parser.cc" // lalr1.cc:1167 -#line 1982 "dhcp4_parser.yy" // lalr1.cc:1168 +#line 4477 "dhcp4_parser.cc" // lalr1.cc:1167 +#line 1990 "dhcp4_parser.yy" // lalr1.cc:1168 void diff --git a/src/bin/dhcp4/dhcp4_parser.h b/src/bin/dhcp4/dhcp4_parser.h index acf35b8edf..b5e145ad47 100644 --- a/src/bin/dhcp4/dhcp4_parser.h +++ b/src/bin/dhcp4/dhcp4_parser.h @@ -492,10 +492,11 @@ namespace isc { namespace dhcp { TOKEN_SUB_OPTION_DATA = 399, TOKEN_SUB_HOOKS_LIBRARY = 400, TOKEN_SUB_DHCP_DDNS = 401, - TOKEN_STRING = 402, - TOKEN_INTEGER = 403, - TOKEN_FLOAT = 404, - TOKEN_BOOLEAN = 405 + TOKEN_SUB_LOGGING = 402, + TOKEN_STRING = 403, + TOKEN_INTEGER = 404, + TOKEN_FLOAT = 405, + TOKEN_BOOLEAN = 406 }; }; @@ -1190,6 +1191,10 @@ namespace isc { namespace dhcp { symbol_type make_SUB_DHCP_DDNS (const location_type& l); + static inline + symbol_type + make_SUB_LOGGING (const location_type& l); + static inline symbol_type make_STRING (const std::string& v, const location_type& l); @@ -1411,12 +1416,12 @@ namespace isc { namespace dhcp { enum { yyeof_ = 0, - yylast_ = 878, ///< Last index in yytable_. - yynnts_ = 337, ///< Number of nonterminal symbols. - yyfinal_ = 26, ///< Termination state number. + yylast_ = 890, ///< Last index in yytable_. + yynnts_ = 340, ///< Number of nonterminal symbols. + yyfinal_ = 28, ///< Termination state number. yyterror_ = 1, yyerrcode_ = 256, - yyntokens_ = 151 ///< Number of tokens. + yyntokens_ = 152 ///< Number of tokens. }; @@ -1473,9 +1478,9 @@ namespace isc { namespace dhcp { 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, - 145, 146, 147, 148, 149, 150 + 145, 146, 147, 148, 149, 150, 151 }; - const unsigned int user_token_number_max_ = 405; + const unsigned int user_token_number_max_ = 406; const token_number_type undef_token_ = 2; if (static_cast(t) <= yyeof_) @@ -1508,30 +1513,30 @@ namespace isc { namespace dhcp { { switch (other.type_get ()) { - case 165: // value - case 169: // map_value - case 207: // socket_type - case 210: // outbound_interface_value - case 220: // db_type - case 297: // hr_mode - case 445: // ncr_protocol_value - case 453: // replace_client_name_value + case 167: // value + case 171: // map_value + case 209: // socket_type + case 212: // outbound_interface_value + case 222: // db_type + case 299: // hr_mode + case 447: // ncr_protocol_value + case 455: // replace_client_name_value value.copy< ElementPtr > (other.value); break; - case 150: // "boolean" + case 151: // "boolean" value.copy< bool > (other.value); break; - case 149: // "floating point" + case 150: // "floating point" value.copy< double > (other.value); break; - case 148: // "integer" + case 149: // "integer" value.copy< int64_t > (other.value); break; - case 147: // "constant string" + case 148: // "constant string" value.copy< std::string > (other.value); break; @@ -1552,30 +1557,30 @@ namespace isc { namespace dhcp { (void) v; switch (this->type_get ()) { - case 165: // value - case 169: // map_value - case 207: // socket_type - case 210: // outbound_interface_value - case 220: // db_type - case 297: // hr_mode - case 445: // ncr_protocol_value - case 453: // replace_client_name_value + case 167: // value + case 171: // map_value + case 209: // socket_type + case 212: // outbound_interface_value + case 222: // db_type + case 299: // hr_mode + case 447: // ncr_protocol_value + case 455: // replace_client_name_value value.copy< ElementPtr > (v); break; - case 150: // "boolean" + case 151: // "boolean" value.copy< bool > (v); break; - case 149: // "floating point" + case 150: // "floating point" value.copy< double > (v); break; - case 148: // "integer" + case 149: // "integer" value.copy< int64_t > (v); break; - case 147: // "constant string" + case 148: // "constant string" value.copy< std::string > (v); break; @@ -1655,30 +1660,30 @@ namespace isc { namespace dhcp { // Type destructor. switch (yytype) { - case 165: // value - case 169: // map_value - case 207: // socket_type - case 210: // outbound_interface_value - case 220: // db_type - case 297: // hr_mode - case 445: // ncr_protocol_value - case 453: // replace_client_name_value + case 167: // value + case 171: // map_value + case 209: // socket_type + case 212: // outbound_interface_value + case 222: // db_type + case 299: // hr_mode + case 447: // ncr_protocol_value + case 455: // replace_client_name_value value.template destroy< ElementPtr > (); break; - case 150: // "boolean" + case 151: // "boolean" value.template destroy< bool > (); break; - case 149: // "floating point" + case 150: // "floating point" value.template destroy< double > (); break; - case 148: // "integer" + case 149: // "integer" value.template destroy< int64_t > (); break; - case 147: // "constant string" + case 148: // "constant string" value.template destroy< std::string > (); break; @@ -1705,30 +1710,30 @@ namespace isc { namespace dhcp { super_type::move(s); switch (this->type_get ()) { - case 165: // value - case 169: // map_value - case 207: // socket_type - case 210: // outbound_interface_value - case 220: // db_type - case 297: // hr_mode - case 445: // ncr_protocol_value - case 453: // replace_client_name_value + case 167: // value + case 171: // map_value + case 209: // socket_type + case 212: // outbound_interface_value + case 222: // db_type + case 299: // hr_mode + case 447: // ncr_protocol_value + case 455: // replace_client_name_value value.move< ElementPtr > (s.value); break; - case 150: // "boolean" + case 151: // "boolean" value.move< bool > (s.value); break; - case 149: // "floating point" + case 150: // "floating point" value.move< double > (s.value); break; - case 148: // "integer" + case 149: // "integer" value.move< int64_t > (s.value); break; - case 147: // "constant string" + case 148: // "constant string" value.move< std::string > (s.value); break; @@ -1802,7 +1807,7 @@ namespace isc { namespace dhcp { 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, - 405 + 405, 406 }; return static_cast (yytoken_number_[type]); } @@ -2677,6 +2682,12 @@ namespace isc { namespace dhcp { return symbol_type (token::TOKEN_SUB_DHCP_DDNS, l); } + Dhcp4Parser::symbol_type + Dhcp4Parser::make_SUB_LOGGING (const location_type& l) + { + return symbol_type (token::TOKEN_SUB_LOGGING, l); + } + Dhcp4Parser::symbol_type Dhcp4Parser::make_STRING (const std::string& v, const location_type& l) { @@ -2704,7 +2715,7 @@ namespace isc { namespace dhcp { #line 14 "dhcp4_parser.yy" // lalr1.cc:377 } } // isc::dhcp -#line 2708 "dhcp4_parser.h" // lalr1.cc:377 +#line 2719 "dhcp4_parser.h" // lalr1.cc:377 diff --git a/src/bin/dhcp4/location.hh b/src/bin/dhcp4/location.hh index 5241f9b2df..cc02c9ea5c 100644 --- a/src/bin/dhcp4/location.hh +++ b/src/bin/dhcp4/location.hh @@ -1,4 +1,4 @@ -// Generated 201712021537 +// Generated 201712031245 // A Bison parser, made by GNU Bison 3.0.4. // Locations for Bison parsers in C++ diff --git a/src/bin/dhcp4/position.hh b/src/bin/dhcp4/position.hh index 309506a23b..f504817da0 100644 --- a/src/bin/dhcp4/position.hh +++ b/src/bin/dhcp4/position.hh @@ -1,4 +1,4 @@ -// Generated 201712021537 +// Generated 201712031245 // A Bison parser, made by GNU Bison 3.0.4. // Positions for Bison parsers in C++ diff --git a/src/bin/dhcp4/stack.hh b/src/bin/dhcp4/stack.hh index 50f35a6df4..272644b889 100644 --- a/src/bin/dhcp4/stack.hh +++ b/src/bin/dhcp4/stack.hh @@ -1,4 +1,4 @@ -// Generated 201712021537 +// Generated 201712031245 // A Bison parser, made by GNU Bison 3.0.4. // Stack handling for Bison parsers in C++ diff --git a/src/bin/dhcp6/dhcp6_lexer.cc b/src/bin/dhcp6/dhcp6_lexer.cc index d70b7ba4d3..8b88f46c2a 100644 --- a/src/bin/dhcp6/dhcp6_lexer.cc +++ b/src/bin/dhcp6/dhcp6_lexer.cc @@ -1570,24 +1570,24 @@ int yy_flex_debug = 1; static const flex_int16_t yy_rule_linenum[162] = { 0, - 145, 147, 149, 154, 155, 160, 161, 162, 174, 177, - 182, 189, 198, 207, 216, 225, 234, 243, 252, 261, - 270, 279, 288, 297, 306, 315, 325, 335, 345, 355, - 365, 375, 385, 395, 405, 414, 423, 432, 441, 450, - 459, 468, 480, 489, 498, 507, 516, 526, 536, 546, - 556, 567, 577, 587, 597, 607, 618, 629, 640, 651, - 660, 670, 679, 688, 704, 720, 729, 738, 747, 756, - 765, 774, 783, 792, 801, 810, 834, 858, 867, 877, - 887, 896, 906, 916, 925, 934, 943, 952, 962, 971, - 980, 989, 998, 1007, 1016, 1025, 1034, 1043, 1053, 1062, + 147, 149, 151, 156, 157, 162, 163, 164, 176, 179, + 184, 191, 200, 209, 218, 227, 236, 245, 254, 263, + 272, 281, 290, 299, 308, 317, 327, 337, 347, 357, + 367, 377, 387, 397, 407, 416, 425, 434, 443, 452, + 461, 470, 482, 491, 500, 509, 518, 528, 538, 548, + 558, 569, 579, 589, 599, 609, 620, 631, 642, 653, + 662, 672, 681, 690, 706, 722, 731, 740, 749, 758, + 767, 776, 785, 794, 803, 812, 834, 856, 865, 875, + 885, 894, 904, 914, 923, 932, 941, 950, 960, 969, + 978, 987, 996, 1005, 1014, 1023, 1032, 1041, 1051, 1060, - 1071, 1081, 1092, 1102, 1111, 1120, 1129, 1140, 1150, 1159, - 1169, 1179, 1188, 1197, 1206, 1215, 1225, 1234, 1244, 1253, - 1262, 1271, 1280, 1289, 1298, 1307, 1316, 1325, 1334, 1343, - 1352, 1361, 1370, 1379, 1388, 1397, 1406, 1415, 1424, 1433, - 1442, 1451, 1460, 1470, 1568, 1573, 1578, 1583, 1584, 1585, - 1586, 1587, 1588, 1590, 1608, 1621, 1626, 1630, 1632, 1634, - 1636 + 1069, 1079, 1090, 1100, 1109, 1118, 1127, 1138, 1148, 1157, + 1167, 1177, 1186, 1195, 1204, 1213, 1223, 1232, 1242, 1251, + 1260, 1269, 1278, 1287, 1296, 1305, 1314, 1323, 1332, 1341, + 1350, 1359, 1368, 1377, 1386, 1395, 1404, 1413, 1422, 1431, + 1440, 1449, 1458, 1468, 1566, 1571, 1576, 1581, 1582, 1583, + 1584, 1585, 1586, 1588, 1606, 1619, 1624, 1628, 1630, 1632, + 1634 } ; /* The intent behind this definition is that it'll catch @@ -1991,11 +1991,13 @@ YY_DECL return isc::dhcp::Dhcp6Parser::make_SUB_HOOKS_LIBRARY(driver.loc_); case Parser6Context::PARSER_DHCP_DDNS: return isc::dhcp::Dhcp6Parser::make_SUB_DHCP_DDNS(driver.loc_); + case Parser6Context::PARSER_LOGGING: + return isc::dhcp::Dhcp6Parser::make_SUB_LOGGING(driver.loc_); } } -#line 1998 "dhcp6_lexer.cc" +#line 2000 "dhcp6_lexer.cc" while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { @@ -2073,17 +2075,17 @@ do_action: /* This label is used only to access EOF actions. */ case 1: YY_RULE_SETUP -#line 145 "dhcp6_lexer.ll" +#line 147 "dhcp6_lexer.ll" ; YY_BREAK case 2: YY_RULE_SETUP -#line 147 "dhcp6_lexer.ll" +#line 149 "dhcp6_lexer.ll" ; YY_BREAK case 3: YY_RULE_SETUP -#line 149 "dhcp6_lexer.ll" +#line 151 "dhcp6_lexer.ll" { BEGIN(COMMENT); comment_start_line = driver.loc_.end.line;; @@ -2091,33 +2093,33 @@ YY_RULE_SETUP YY_BREAK case 4: YY_RULE_SETUP -#line 154 "dhcp6_lexer.ll" +#line 156 "dhcp6_lexer.ll" BEGIN(INITIAL); YY_BREAK case 5: YY_RULE_SETUP -#line 155 "dhcp6_lexer.ll" +#line 157 "dhcp6_lexer.ll" ; YY_BREAK case YY_STATE_EOF(COMMENT): -#line 156 "dhcp6_lexer.ll" +#line 158 "dhcp6_lexer.ll" { isc_throw(Dhcp6ParseError, "Comment not closed. (/* in line " << comment_start_line); } YY_BREAK case 6: YY_RULE_SETUP -#line 160 "dhcp6_lexer.ll" +#line 162 "dhcp6_lexer.ll" BEGIN(DIR_ENTER); YY_BREAK case 7: YY_RULE_SETUP -#line 161 "dhcp6_lexer.ll" +#line 163 "dhcp6_lexer.ll" BEGIN(DIR_INCLUDE); YY_BREAK case 8: YY_RULE_SETUP -#line 162 "dhcp6_lexer.ll" +#line 164 "dhcp6_lexer.ll" { /* Include directive. */ @@ -2131,19 +2133,19 @@ YY_RULE_SETUP case YY_STATE_EOF(DIR_ENTER): case YY_STATE_EOF(DIR_INCLUDE): case YY_STATE_EOF(DIR_EXIT): -#line 171 "dhcp6_lexer.ll" +#line 173 "dhcp6_lexer.ll" { isc_throw(Dhcp6ParseError, "Directive not closed."); } YY_BREAK case 9: YY_RULE_SETUP -#line 174 "dhcp6_lexer.ll" +#line 176 "dhcp6_lexer.ll" BEGIN(INITIAL); YY_BREAK case 10: YY_RULE_SETUP -#line 177 "dhcp6_lexer.ll" +#line 179 "dhcp6_lexer.ll" { /* Ok, we found a with space. Let's ignore it and update loc variable. */ driver.loc_.step(); @@ -2152,7 +2154,7 @@ YY_RULE_SETUP case 11: /* rule 11 can match eol */ YY_RULE_SETUP -#line 182 "dhcp6_lexer.ll" +#line 184 "dhcp6_lexer.ll" { /* Newline found. Let's update the location and continue. */ driver.loc_.lines(yyleng); @@ -2161,7 +2163,7 @@ YY_RULE_SETUP YY_BREAK case 12: YY_RULE_SETUP -#line 189 "dhcp6_lexer.ll" +#line 191 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP_DDNS: @@ -2173,7 +2175,7 @@ YY_RULE_SETUP YY_BREAK case 13: YY_RULE_SETUP -#line 198 "dhcp6_lexer.ll" +#line 200 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP_DDNS: @@ -2185,7 +2187,7 @@ YY_RULE_SETUP YY_BREAK case 14: YY_RULE_SETUP -#line 207 "dhcp6_lexer.ll" +#line 209 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP_DDNS: @@ -2197,7 +2199,7 @@ YY_RULE_SETUP YY_BREAK case 15: YY_RULE_SETUP -#line 216 "dhcp6_lexer.ll" +#line 218 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP_DDNS: @@ -2209,7 +2211,7 @@ YY_RULE_SETUP YY_BREAK case 16: YY_RULE_SETUP -#line 225 "dhcp6_lexer.ll" +#line 227 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP_DDNS: @@ -2221,7 +2223,7 @@ YY_RULE_SETUP YY_BREAK case 17: YY_RULE_SETUP -#line 234 "dhcp6_lexer.ll" +#line 236 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP_DDNS: @@ -2233,7 +2235,7 @@ YY_RULE_SETUP YY_BREAK case 18: YY_RULE_SETUP -#line 243 "dhcp6_lexer.ll" +#line 245 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP_DDNS: @@ -2245,7 +2247,7 @@ YY_RULE_SETUP YY_BREAK case 19: YY_RULE_SETUP -#line 252 "dhcp6_lexer.ll" +#line 254 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP_DDNS: @@ -2257,7 +2259,7 @@ YY_RULE_SETUP YY_BREAK case 20: YY_RULE_SETUP -#line 261 "dhcp6_lexer.ll" +#line 263 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP_DDNS: @@ -2269,7 +2271,7 @@ YY_RULE_SETUP YY_BREAK case 21: YY_RULE_SETUP -#line 270 "dhcp6_lexer.ll" +#line 272 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP_DDNS: @@ -2281,7 +2283,7 @@ YY_RULE_SETUP YY_BREAK case 22: YY_RULE_SETUP -#line 279 "dhcp6_lexer.ll" +#line 281 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP_DDNS: @@ -2293,7 +2295,7 @@ YY_RULE_SETUP YY_BREAK case 23: YY_RULE_SETUP -#line 288 "dhcp6_lexer.ll" +#line 290 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP_DDNS: @@ -2305,7 +2307,7 @@ YY_RULE_SETUP YY_BREAK case 24: YY_RULE_SETUP -#line 297 "dhcp6_lexer.ll" +#line 299 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP_DDNS: @@ -2317,7 +2319,7 @@ YY_RULE_SETUP YY_BREAK case 25: YY_RULE_SETUP -#line 306 "dhcp6_lexer.ll" +#line 308 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP_DDNS: @@ -2329,7 +2331,7 @@ YY_RULE_SETUP YY_BREAK case 26: YY_RULE_SETUP -#line 315 "dhcp6_lexer.ll" +#line 317 "dhcp6_lexer.ll" { /* dhcp-ddns value keywords are case insensitive */ if (driver.ctx_ == isc::dhcp::Parser6Context::NCR_PROTOCOL) { @@ -2342,7 +2344,7 @@ YY_RULE_SETUP YY_BREAK case 27: YY_RULE_SETUP -#line 325 "dhcp6_lexer.ll" +#line 327 "dhcp6_lexer.ll" { /* dhcp-ddns value keywords are case insensitive */ if (driver.ctx_ == isc::dhcp::Parser6Context::NCR_PROTOCOL) { @@ -2355,7 +2357,7 @@ YY_RULE_SETUP YY_BREAK case 28: YY_RULE_SETUP -#line 335 "dhcp6_lexer.ll" +#line 337 "dhcp6_lexer.ll" { /* dhcp-ddns value keywords are case insensitive */ if (driver.ctx_ == isc::dhcp::Parser6Context::NCR_FORMAT) { @@ -2368,7 +2370,7 @@ YY_RULE_SETUP YY_BREAK case 29: YY_RULE_SETUP -#line 345 "dhcp6_lexer.ll" +#line 347 "dhcp6_lexer.ll" { /* dhcp-ddns value keywords are case insensitive */ if (driver.ctx_ == isc::dhcp::Parser6Context::REPLACE_CLIENT_NAME) { @@ -2381,7 +2383,7 @@ YY_RULE_SETUP YY_BREAK case 30: YY_RULE_SETUP -#line 355 "dhcp6_lexer.ll" +#line 357 "dhcp6_lexer.ll" { /* dhcp-ddns value keywords are case insensitive */ if (driver.ctx_ == isc::dhcp::Parser6Context::REPLACE_CLIENT_NAME) { @@ -2394,7 +2396,7 @@ YY_RULE_SETUP YY_BREAK case 31: YY_RULE_SETUP -#line 365 "dhcp6_lexer.ll" +#line 367 "dhcp6_lexer.ll" { /* dhcp-ddns value keywords are case insensitive */ if (driver.ctx_ == isc::dhcp::Parser6Context::REPLACE_CLIENT_NAME) { @@ -2407,7 +2409,7 @@ YY_RULE_SETUP YY_BREAK case 32: YY_RULE_SETUP -#line 375 "dhcp6_lexer.ll" +#line 377 "dhcp6_lexer.ll" { /* dhcp-ddns value keywords are case insensitive */ if (driver.ctx_ == isc::dhcp::Parser6Context::REPLACE_CLIENT_NAME) { @@ -2420,7 +2422,7 @@ YY_RULE_SETUP YY_BREAK case 33: YY_RULE_SETUP -#line 385 "dhcp6_lexer.ll" +#line 387 "dhcp6_lexer.ll" { /* dhcp-ddns value keywords are case insensitive */ if (driver.ctx_ == isc::dhcp::Parser6Context::REPLACE_CLIENT_NAME) { @@ -2433,7 +2435,7 @@ YY_RULE_SETUP YY_BREAK case 34: YY_RULE_SETUP -#line 395 "dhcp6_lexer.ll" +#line 397 "dhcp6_lexer.ll" { /* dhcp-ddns value keywords are case insensitive */ if (driver.ctx_ == isc::dhcp::Parser6Context::REPLACE_CLIENT_NAME) { @@ -2446,7 +2448,7 @@ YY_RULE_SETUP YY_BREAK case 35: YY_RULE_SETUP -#line 405 "dhcp6_lexer.ll" +#line 407 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::CONFIG: @@ -2458,7 +2460,7 @@ YY_RULE_SETUP YY_BREAK case 36: YY_RULE_SETUP -#line 414 "dhcp6_lexer.ll" +#line 416 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -2470,7 +2472,7 @@ YY_RULE_SETUP YY_BREAK case 37: YY_RULE_SETUP -#line 423 "dhcp6_lexer.ll" +#line 425 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::INTERFACES_CONFIG: @@ -2482,7 +2484,7 @@ YY_RULE_SETUP YY_BREAK case 38: YY_RULE_SETUP -#line 432 "dhcp6_lexer.ll" +#line 434 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::INTERFACES_CONFIG: @@ -2494,7 +2496,7 @@ YY_RULE_SETUP YY_BREAK case 39: YY_RULE_SETUP -#line 441 "dhcp6_lexer.ll" +#line 443 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -2506,7 +2508,7 @@ YY_RULE_SETUP YY_BREAK case 40: YY_RULE_SETUP -#line 450 "dhcp6_lexer.ll" +#line 452 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -2518,7 +2520,7 @@ YY_RULE_SETUP YY_BREAK case 41: YY_RULE_SETUP -#line 459 "dhcp6_lexer.ll" +#line 461 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::HOSTS_DATABASE: @@ -2530,7 +2532,7 @@ YY_RULE_SETUP YY_BREAK case 42: YY_RULE_SETUP -#line 468 "dhcp6_lexer.ll" +#line 470 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::LEASE_DATABASE: @@ -2545,7 +2547,7 @@ YY_RULE_SETUP YY_BREAK case 43: YY_RULE_SETUP -#line 480 "dhcp6_lexer.ll" +#line 482 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DATABASE_TYPE: @@ -2557,7 +2559,7 @@ YY_RULE_SETUP YY_BREAK case 44: YY_RULE_SETUP -#line 489 "dhcp6_lexer.ll" +#line 491 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DATABASE_TYPE: @@ -2569,7 +2571,7 @@ YY_RULE_SETUP YY_BREAK case 45: YY_RULE_SETUP -#line 498 "dhcp6_lexer.ll" +#line 500 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DATABASE_TYPE: @@ -2581,7 +2583,7 @@ YY_RULE_SETUP YY_BREAK case 46: YY_RULE_SETUP -#line 507 "dhcp6_lexer.ll" +#line 509 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DATABASE_TYPE: @@ -2593,7 +2595,7 @@ YY_RULE_SETUP YY_BREAK case 47: YY_RULE_SETUP -#line 516 "dhcp6_lexer.ll" +#line 518 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::LEASE_DATABASE: @@ -2606,7 +2608,7 @@ YY_RULE_SETUP YY_BREAK case 48: YY_RULE_SETUP -#line 526 "dhcp6_lexer.ll" +#line 528 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::LEASE_DATABASE: @@ -2619,7 +2621,7 @@ YY_RULE_SETUP YY_BREAK case 49: YY_RULE_SETUP -#line 536 "dhcp6_lexer.ll" +#line 538 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::LEASE_DATABASE: @@ -2632,7 +2634,7 @@ YY_RULE_SETUP YY_BREAK case 50: YY_RULE_SETUP -#line 546 "dhcp6_lexer.ll" +#line 548 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::LEASE_DATABASE: @@ -2645,7 +2647,7 @@ YY_RULE_SETUP YY_BREAK case 51: YY_RULE_SETUP -#line 556 "dhcp6_lexer.ll" +#line 558 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::LEASE_DATABASE: @@ -2659,7 +2661,7 @@ YY_RULE_SETUP YY_BREAK case 52: YY_RULE_SETUP -#line 567 "dhcp6_lexer.ll" +#line 569 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::LEASE_DATABASE: @@ -2672,7 +2674,7 @@ YY_RULE_SETUP YY_BREAK case 53: YY_RULE_SETUP -#line 577 "dhcp6_lexer.ll" +#line 579 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::LEASE_DATABASE: @@ -2685,7 +2687,7 @@ YY_RULE_SETUP YY_BREAK case 54: YY_RULE_SETUP -#line 587 "dhcp6_lexer.ll" +#line 589 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::LEASE_DATABASE: @@ -2698,7 +2700,7 @@ YY_RULE_SETUP YY_BREAK case 55: YY_RULE_SETUP -#line 597 "dhcp6_lexer.ll" +#line 599 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::LEASE_DATABASE: @@ -2711,7 +2713,7 @@ YY_RULE_SETUP YY_BREAK case 56: YY_RULE_SETUP -#line 607 "dhcp6_lexer.ll" +#line 609 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -2725,7 +2727,7 @@ YY_RULE_SETUP YY_BREAK case 57: YY_RULE_SETUP -#line 618 "dhcp6_lexer.ll" +#line 620 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -2739,7 +2741,7 @@ YY_RULE_SETUP YY_BREAK case 58: YY_RULE_SETUP -#line 629 "dhcp6_lexer.ll" +#line 631 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -2753,7 +2755,7 @@ YY_RULE_SETUP YY_BREAK case 59: YY_RULE_SETUP -#line 640 "dhcp6_lexer.ll" +#line 642 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -2767,7 +2769,7 @@ YY_RULE_SETUP YY_BREAK case 60: YY_RULE_SETUP -#line 651 "dhcp6_lexer.ll" +#line 653 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -2779,7 +2781,7 @@ YY_RULE_SETUP YY_BREAK case 61: YY_RULE_SETUP -#line 660 "dhcp6_lexer.ll" +#line 662 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -2792,7 +2794,7 @@ YY_RULE_SETUP YY_BREAK case 62: YY_RULE_SETUP -#line 670 "dhcp6_lexer.ll" +#line 672 "dhcp6_lexer.ll" { switch (driver.ctx_) { case Parser6Context::DHCP6: @@ -2804,7 +2806,7 @@ YY_RULE_SETUP YY_BREAK case 63: YY_RULE_SETUP -#line 679 "dhcp6_lexer.ll" +#line 681 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -2816,7 +2818,7 @@ YY_RULE_SETUP YY_BREAK case 64: YY_RULE_SETUP -#line 688 "dhcp6_lexer.ll" +#line 690 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -2835,7 +2837,7 @@ YY_RULE_SETUP YY_BREAK case 65: YY_RULE_SETUP -#line 704 "dhcp6_lexer.ll" +#line 706 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::LEASE_DATABASE: @@ -2854,7 +2856,7 @@ YY_RULE_SETUP YY_BREAK case 66: YY_RULE_SETUP -#line 720 "dhcp6_lexer.ll" +#line 722 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OPTION_DATA: @@ -2866,7 +2868,7 @@ YY_RULE_SETUP YY_BREAK case 67: YY_RULE_SETUP -#line 729 "dhcp6_lexer.ll" +#line 731 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OPTION_DATA: @@ -2878,7 +2880,7 @@ YY_RULE_SETUP YY_BREAK case 68: YY_RULE_SETUP -#line 738 "dhcp6_lexer.ll" +#line 740 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SUBNET6: @@ -2890,7 +2892,7 @@ YY_RULE_SETUP YY_BREAK case 69: YY_RULE_SETUP -#line 747 "dhcp6_lexer.ll" +#line 749 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SUBNET6: @@ -2902,7 +2904,7 @@ YY_RULE_SETUP YY_BREAK case 70: YY_RULE_SETUP -#line 756 "dhcp6_lexer.ll" +#line 758 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::PD_POOLS: @@ -2914,7 +2916,7 @@ YY_RULE_SETUP YY_BREAK case 71: YY_RULE_SETUP -#line 765 "dhcp6_lexer.ll" +#line 767 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::PD_POOLS: @@ -2926,7 +2928,7 @@ YY_RULE_SETUP YY_BREAK case 72: YY_RULE_SETUP -#line 774 "dhcp6_lexer.ll" +#line 776 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::PD_POOLS: @@ -2938,7 +2940,7 @@ YY_RULE_SETUP YY_BREAK case 73: YY_RULE_SETUP -#line 783 "dhcp6_lexer.ll" +#line 785 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::PD_POOLS: @@ -2950,7 +2952,7 @@ YY_RULE_SETUP YY_BREAK case 74: YY_RULE_SETUP -#line 792 "dhcp6_lexer.ll" +#line 794 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::PD_POOLS: @@ -2962,7 +2964,7 @@ YY_RULE_SETUP YY_BREAK case 75: YY_RULE_SETUP -#line 801 "dhcp6_lexer.ll" +#line 803 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::POOLS: @@ -2974,13 +2976,11 @@ YY_RULE_SETUP YY_BREAK case 76: YY_RULE_SETUP -#line 810 "dhcp6_lexer.ll" +#line 812 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: case isc::dhcp::Parser6Context::INTERFACES_CONFIG: - case isc::dhcp::Parser6Context::LEASE_DATABASE: - case isc::dhcp::Parser6Context::HOSTS_DATABASE: case isc::dhcp::Parser6Context::SUBNET6: case isc::dhcp::Parser6Context::SHARED_NETWORK: case isc::dhcp::Parser6Context::OPTION_DEF: @@ -3006,8 +3006,6 @@ YY_RULE_SETUP switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: case isc::dhcp::Parser6Context::INTERFACES_CONFIG: - case isc::dhcp::Parser6Context::LEASE_DATABASE: - case isc::dhcp::Parser6Context::HOSTS_DATABASE: case isc::dhcp::Parser6Context::SUBNET6: case isc::dhcp::Parser6Context::SHARED_NETWORK: case isc::dhcp::Parser6Context::OPTION_DEF: @@ -3028,7 +3026,7 @@ YY_RULE_SETUP YY_BREAK case 78: YY_RULE_SETUP -#line 858 "dhcp6_lexer.ll" +#line 856 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SUBNET6: @@ -3040,7 +3038,7 @@ YY_RULE_SETUP YY_BREAK case 79: YY_RULE_SETUP -#line 867 "dhcp6_lexer.ll" +#line 865 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SUBNET6: @@ -3053,7 +3051,7 @@ YY_RULE_SETUP YY_BREAK case 80: YY_RULE_SETUP -#line 877 "dhcp6_lexer.ll" +#line 875 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SUBNET6: @@ -3066,7 +3064,7 @@ YY_RULE_SETUP YY_BREAK case 81: YY_RULE_SETUP -#line 887 "dhcp6_lexer.ll" +#line 885 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SUBNET6: @@ -3078,7 +3076,7 @@ YY_RULE_SETUP YY_BREAK case 82: YY_RULE_SETUP -#line 896 "dhcp6_lexer.ll" +#line 894 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SUBNET6: @@ -3091,7 +3089,7 @@ YY_RULE_SETUP YY_BREAK case 83: YY_RULE_SETUP -#line 906 "dhcp6_lexer.ll" +#line 904 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SUBNET6: @@ -3104,7 +3102,7 @@ YY_RULE_SETUP YY_BREAK case 84: YY_RULE_SETUP -#line 916 "dhcp6_lexer.ll" +#line 914 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::RESERVATION_MODE: @@ -3116,7 +3114,7 @@ YY_RULE_SETUP YY_BREAK case 85: YY_RULE_SETUP -#line 925 "dhcp6_lexer.ll" +#line 923 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::RESERVATION_MODE: @@ -3128,7 +3126,7 @@ YY_RULE_SETUP YY_BREAK case 86: YY_RULE_SETUP -#line 934 "dhcp6_lexer.ll" +#line 932 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::RESERVATION_MODE: @@ -3140,7 +3138,7 @@ YY_RULE_SETUP YY_BREAK case 87: YY_RULE_SETUP -#line 943 "dhcp6_lexer.ll" +#line 941 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::RESERVATION_MODE: @@ -3152,7 +3150,7 @@ YY_RULE_SETUP YY_BREAK case 88: YY_RULE_SETUP -#line 952 "dhcp6_lexer.ll" +#line 950 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OPTION_DEF: @@ -3165,7 +3163,7 @@ YY_RULE_SETUP YY_BREAK case 89: YY_RULE_SETUP -#line 962 "dhcp6_lexer.ll" +#line 960 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -3177,7 +3175,7 @@ YY_RULE_SETUP YY_BREAK case 90: YY_RULE_SETUP -#line 971 "dhcp6_lexer.ll" +#line 969 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -3189,7 +3187,7 @@ YY_RULE_SETUP YY_BREAK case 91: YY_RULE_SETUP -#line 980 "dhcp6_lexer.ll" +#line 978 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -3201,7 +3199,7 @@ YY_RULE_SETUP YY_BREAK case 92: YY_RULE_SETUP -#line 989 "dhcp6_lexer.ll" +#line 987 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::CONFIG: @@ -3213,7 +3211,7 @@ YY_RULE_SETUP YY_BREAK case 93: YY_RULE_SETUP -#line 998 "dhcp6_lexer.ll" +#line 996 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::LOGGING: @@ -3225,7 +3223,7 @@ YY_RULE_SETUP YY_BREAK case 94: YY_RULE_SETUP -#line 1007 "dhcp6_lexer.ll" +#line 1005 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::LOGGERS: @@ -3237,7 +3235,7 @@ YY_RULE_SETUP YY_BREAK case 95: YY_RULE_SETUP -#line 1016 "dhcp6_lexer.ll" +#line 1014 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OUTPUT_OPTIONS: @@ -3249,7 +3247,7 @@ YY_RULE_SETUP YY_BREAK case 96: YY_RULE_SETUP -#line 1025 "dhcp6_lexer.ll" +#line 1023 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OUTPUT_OPTIONS: @@ -3261,7 +3259,7 @@ YY_RULE_SETUP YY_BREAK case 97: YY_RULE_SETUP -#line 1034 "dhcp6_lexer.ll" +#line 1032 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OUTPUT_OPTIONS: @@ -3273,7 +3271,7 @@ YY_RULE_SETUP YY_BREAK case 98: YY_RULE_SETUP -#line 1043 "dhcp6_lexer.ll" +#line 1041 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OUTPUT_OPTIONS: @@ -3285,7 +3283,7 @@ YY_RULE_SETUP YY_BREAK case 99: YY_RULE_SETUP -#line 1053 "dhcp6_lexer.ll" +#line 1051 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::LOGGERS: @@ -3297,7 +3295,7 @@ YY_RULE_SETUP YY_BREAK case 100: YY_RULE_SETUP -#line 1062 "dhcp6_lexer.ll" +#line 1060 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::LOGGERS: @@ -3309,7 +3307,7 @@ YY_RULE_SETUP YY_BREAK case 101: YY_RULE_SETUP -#line 1071 "dhcp6_lexer.ll" +#line 1069 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -3322,7 +3320,7 @@ YY_RULE_SETUP YY_BREAK case 102: YY_RULE_SETUP -#line 1081 "dhcp6_lexer.ll" +#line 1079 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SUBNET6: @@ -3336,7 +3334,7 @@ YY_RULE_SETUP YY_BREAK case 103: YY_RULE_SETUP -#line 1092 "dhcp6_lexer.ll" +#line 1090 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::CLIENT_CLASSES: @@ -3349,7 +3347,7 @@ YY_RULE_SETUP YY_BREAK case 104: YY_RULE_SETUP -#line 1102 "dhcp6_lexer.ll" +#line 1100 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SUBNET6: @@ -3361,7 +3359,7 @@ YY_RULE_SETUP YY_BREAK case 105: YY_RULE_SETUP -#line 1111 "dhcp6_lexer.ll" +#line 1109 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::RESERVATIONS: @@ -3373,7 +3371,7 @@ YY_RULE_SETUP YY_BREAK case 106: YY_RULE_SETUP -#line 1120 "dhcp6_lexer.ll" +#line 1118 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::RESERVATIONS: @@ -3385,7 +3383,7 @@ YY_RULE_SETUP YY_BREAK case 107: YY_RULE_SETUP -#line 1129 "dhcp6_lexer.ll" +#line 1127 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::MAC_SOURCES: @@ -3399,7 +3397,7 @@ YY_RULE_SETUP YY_BREAK case 108: YY_RULE_SETUP -#line 1140 "dhcp6_lexer.ll" +#line 1138 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::HOST_RESERVATION_IDENTIFIERS: @@ -3412,7 +3410,7 @@ YY_RULE_SETUP YY_BREAK case 109: YY_RULE_SETUP -#line 1150 "dhcp6_lexer.ll" +#line 1148 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::RESERVATIONS: @@ -3424,7 +3422,7 @@ YY_RULE_SETUP YY_BREAK case 110: YY_RULE_SETUP -#line 1159 "dhcp6_lexer.ll" +#line 1157 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::HOST_RESERVATION_IDENTIFIERS: @@ -3437,7 +3435,7 @@ YY_RULE_SETUP YY_BREAK case 111: YY_RULE_SETUP -#line 1169 "dhcp6_lexer.ll" +#line 1167 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OPTION_DEF: @@ -3450,7 +3448,7 @@ YY_RULE_SETUP YY_BREAK case 112: YY_RULE_SETUP -#line 1179 "dhcp6_lexer.ll" +#line 1177 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OPTION_DATA: @@ -3462,7 +3460,7 @@ YY_RULE_SETUP YY_BREAK case 113: YY_RULE_SETUP -#line 1188 "dhcp6_lexer.ll" +#line 1186 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OPTION_DEF: @@ -3474,7 +3472,7 @@ YY_RULE_SETUP YY_BREAK case 114: YY_RULE_SETUP -#line 1197 "dhcp6_lexer.ll" +#line 1195 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OPTION_DEF: @@ -3486,7 +3484,7 @@ YY_RULE_SETUP YY_BREAK case 115: YY_RULE_SETUP -#line 1206 "dhcp6_lexer.ll" +#line 1204 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OPTION_DEF: @@ -3498,7 +3496,7 @@ YY_RULE_SETUP YY_BREAK case 116: YY_RULE_SETUP -#line 1215 "dhcp6_lexer.ll" +#line 1213 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SUBNET6: @@ -3511,7 +3509,7 @@ YY_RULE_SETUP YY_BREAK case 117: YY_RULE_SETUP -#line 1225 "dhcp6_lexer.ll" +#line 1223 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::RELAY: @@ -3523,7 +3521,7 @@ YY_RULE_SETUP YY_BREAK case 118: YY_RULE_SETUP -#line 1234 "dhcp6_lexer.ll" +#line 1232 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -3535,7 +3533,7 @@ YY_RULE_SETUP YY_BREAK case 119: YY_RULE_SETUP -#line 1244 "dhcp6_lexer.ll" +#line 1242 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::HOOKS_LIBRARIES: @@ -3547,7 +3545,7 @@ YY_RULE_SETUP YY_BREAK case 120: YY_RULE_SETUP -#line 1253 "dhcp6_lexer.ll" +#line 1251 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::HOOKS_LIBRARIES: @@ -3559,7 +3557,7 @@ YY_RULE_SETUP YY_BREAK case 121: YY_RULE_SETUP -#line 1262 "dhcp6_lexer.ll" +#line 1260 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -3571,7 +3569,7 @@ YY_RULE_SETUP YY_BREAK case 122: YY_RULE_SETUP -#line 1271 "dhcp6_lexer.ll" +#line 1269 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DUID_TYPE: @@ -3583,7 +3581,7 @@ YY_RULE_SETUP YY_BREAK case 123: YY_RULE_SETUP -#line 1280 "dhcp6_lexer.ll" +#line 1278 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DUID_TYPE: @@ -3595,7 +3593,7 @@ YY_RULE_SETUP YY_BREAK case 124: YY_RULE_SETUP -#line 1289 "dhcp6_lexer.ll" +#line 1287 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DUID_TYPE: @@ -3607,7 +3605,7 @@ YY_RULE_SETUP YY_BREAK case 125: YY_RULE_SETUP -#line 1298 "dhcp6_lexer.ll" +#line 1296 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SERVER_ID: @@ -3619,7 +3617,7 @@ YY_RULE_SETUP YY_BREAK case 126: YY_RULE_SETUP -#line 1307 "dhcp6_lexer.ll" +#line 1305 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SERVER_ID: @@ -3631,7 +3629,7 @@ YY_RULE_SETUP YY_BREAK case 127: YY_RULE_SETUP -#line 1316 "dhcp6_lexer.ll" +#line 1314 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SERVER_ID: @@ -3643,7 +3641,7 @@ YY_RULE_SETUP YY_BREAK case 128: YY_RULE_SETUP -#line 1325 "dhcp6_lexer.ll" +#line 1323 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SERVER_ID: @@ -3655,7 +3653,7 @@ YY_RULE_SETUP YY_BREAK case 129: YY_RULE_SETUP -#line 1334 "dhcp6_lexer.ll" +#line 1332 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -3667,7 +3665,7 @@ YY_RULE_SETUP YY_BREAK case 130: YY_RULE_SETUP -#line 1343 "dhcp6_lexer.ll" +#line 1341 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING: @@ -3679,7 +3677,7 @@ YY_RULE_SETUP YY_BREAK case 131: YY_RULE_SETUP -#line 1352 "dhcp6_lexer.ll" +#line 1350 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING: @@ -3691,7 +3689,7 @@ YY_RULE_SETUP YY_BREAK case 132: YY_RULE_SETUP -#line 1361 "dhcp6_lexer.ll" +#line 1359 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING: @@ -3703,7 +3701,7 @@ YY_RULE_SETUP YY_BREAK case 133: YY_RULE_SETUP -#line 1370 "dhcp6_lexer.ll" +#line 1368 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING: @@ -3715,7 +3713,7 @@ YY_RULE_SETUP YY_BREAK case 134: YY_RULE_SETUP -#line 1379 "dhcp6_lexer.ll" +#line 1377 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING: @@ -3727,7 +3725,7 @@ YY_RULE_SETUP YY_BREAK case 135: YY_RULE_SETUP -#line 1388 "dhcp6_lexer.ll" +#line 1386 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING: @@ -3739,7 +3737,7 @@ YY_RULE_SETUP YY_BREAK case 136: YY_RULE_SETUP -#line 1397 "dhcp6_lexer.ll" +#line 1395 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -3751,7 +3749,7 @@ YY_RULE_SETUP YY_BREAK case 137: YY_RULE_SETUP -#line 1406 "dhcp6_lexer.ll" +#line 1404 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -3763,7 +3761,7 @@ YY_RULE_SETUP YY_BREAK case 138: YY_RULE_SETUP -#line 1415 "dhcp6_lexer.ll" +#line 1413 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::CONTROL_SOCKET: @@ -3775,7 +3773,7 @@ YY_RULE_SETUP YY_BREAK case 139: YY_RULE_SETUP -#line 1424 "dhcp6_lexer.ll" +#line 1422 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::CONTROL_SOCKET: @@ -3787,7 +3785,7 @@ YY_RULE_SETUP YY_BREAK case 140: YY_RULE_SETUP -#line 1433 "dhcp6_lexer.ll" +#line 1431 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -3799,7 +3797,7 @@ YY_RULE_SETUP YY_BREAK case 141: YY_RULE_SETUP -#line 1442 "dhcp6_lexer.ll" +#line 1440 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::CONFIG: @@ -3811,7 +3809,7 @@ YY_RULE_SETUP YY_BREAK case 142: YY_RULE_SETUP -#line 1451 "dhcp6_lexer.ll" +#line 1449 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::CONFIG: @@ -3823,7 +3821,7 @@ YY_RULE_SETUP YY_BREAK case 143: YY_RULE_SETUP -#line 1460 "dhcp6_lexer.ll" +#line 1458 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::CONFIG: @@ -3835,7 +3833,7 @@ YY_RULE_SETUP YY_BREAK case 144: YY_RULE_SETUP -#line 1470 "dhcp6_lexer.ll" +#line 1468 "dhcp6_lexer.ll" { /* A string has been matched. It contains the actual string and single quotes. We need to get those quotes out of the way and just use its content, e.g. @@ -3937,7 +3935,7 @@ YY_RULE_SETUP case 145: /* rule 145 can match eol */ YY_RULE_SETUP -#line 1568 "dhcp6_lexer.ll" +#line 1566 "dhcp6_lexer.ll" { /* Bad string with a forbidden control character inside */ driver.error(driver.loc_, "Invalid control in " + std::string(yytext)); @@ -3946,7 +3944,7 @@ YY_RULE_SETUP case 146: /* rule 146 can match eol */ YY_RULE_SETUP -#line 1573 "dhcp6_lexer.ll" +#line 1571 "dhcp6_lexer.ll" { /* Bad string with a bad escape inside */ driver.error(driver.loc_, "Bad escape in " + std::string(yytext)); @@ -3954,7 +3952,7 @@ YY_RULE_SETUP YY_BREAK case 147: YY_RULE_SETUP -#line 1578 "dhcp6_lexer.ll" +#line 1576 "dhcp6_lexer.ll" { /* Bad string with an open escape at the end */ driver.error(driver.loc_, "Overflow escape in " + std::string(yytext)); @@ -3962,37 +3960,37 @@ YY_RULE_SETUP YY_BREAK case 148: YY_RULE_SETUP -#line 1583 "dhcp6_lexer.ll" +#line 1581 "dhcp6_lexer.ll" { return isc::dhcp::Dhcp6Parser::make_LSQUARE_BRACKET(driver.loc_); } YY_BREAK case 149: YY_RULE_SETUP -#line 1584 "dhcp6_lexer.ll" +#line 1582 "dhcp6_lexer.ll" { return isc::dhcp::Dhcp6Parser::make_RSQUARE_BRACKET(driver.loc_); } YY_BREAK case 150: YY_RULE_SETUP -#line 1585 "dhcp6_lexer.ll" +#line 1583 "dhcp6_lexer.ll" { return isc::dhcp::Dhcp6Parser::make_LCURLY_BRACKET(driver.loc_); } YY_BREAK case 151: YY_RULE_SETUP -#line 1586 "dhcp6_lexer.ll" +#line 1584 "dhcp6_lexer.ll" { return isc::dhcp::Dhcp6Parser::make_RCURLY_BRACKET(driver.loc_); } YY_BREAK case 152: YY_RULE_SETUP -#line 1587 "dhcp6_lexer.ll" +#line 1585 "dhcp6_lexer.ll" { return isc::dhcp::Dhcp6Parser::make_COMMA(driver.loc_); } YY_BREAK case 153: YY_RULE_SETUP -#line 1588 "dhcp6_lexer.ll" +#line 1586 "dhcp6_lexer.ll" { return isc::dhcp::Dhcp6Parser::make_COLON(driver.loc_); } YY_BREAK case 154: YY_RULE_SETUP -#line 1590 "dhcp6_lexer.ll" +#line 1588 "dhcp6_lexer.ll" { /* An integer was found. */ std::string tmp(yytext); @@ -4013,7 +4011,7 @@ YY_RULE_SETUP YY_BREAK case 155: YY_RULE_SETUP -#line 1608 "dhcp6_lexer.ll" +#line 1606 "dhcp6_lexer.ll" { /* A floating point was found. */ std::string tmp(yytext); @@ -4029,7 +4027,7 @@ YY_RULE_SETUP YY_BREAK case 156: YY_RULE_SETUP -#line 1621 "dhcp6_lexer.ll" +#line 1619 "dhcp6_lexer.ll" { string tmp(yytext); return isc::dhcp::Dhcp6Parser::make_BOOLEAN(tmp == "true", driver.loc_); @@ -4037,33 +4035,33 @@ YY_RULE_SETUP YY_BREAK case 157: YY_RULE_SETUP -#line 1626 "dhcp6_lexer.ll" +#line 1624 "dhcp6_lexer.ll" { return isc::dhcp::Dhcp6Parser::make_NULL_TYPE(driver.loc_); } YY_BREAK case 158: YY_RULE_SETUP -#line 1630 "dhcp6_lexer.ll" +#line 1628 "dhcp6_lexer.ll" driver.error (driver.loc_, "JSON true reserved keyword is lower case only"); YY_BREAK case 159: YY_RULE_SETUP -#line 1632 "dhcp6_lexer.ll" +#line 1630 "dhcp6_lexer.ll" driver.error (driver.loc_, "JSON false reserved keyword is lower case only"); YY_BREAK case 160: YY_RULE_SETUP -#line 1634 "dhcp6_lexer.ll" +#line 1632 "dhcp6_lexer.ll" driver.error (driver.loc_, "JSON null reserved keyword is lower case only"); YY_BREAK case 161: YY_RULE_SETUP -#line 1636 "dhcp6_lexer.ll" +#line 1634 "dhcp6_lexer.ll" driver.error (driver.loc_, "Invalid character: " + std::string(yytext)); YY_BREAK case YY_STATE_EOF(INITIAL): -#line 1638 "dhcp6_lexer.ll" +#line 1636 "dhcp6_lexer.ll" { if (driver.states_.empty()) { return isc::dhcp::Dhcp6Parser::make_END(driver.loc_); @@ -4089,10 +4087,10 @@ case YY_STATE_EOF(INITIAL): YY_BREAK case 162: YY_RULE_SETUP -#line 1661 "dhcp6_lexer.ll" +#line 1659 "dhcp6_lexer.ll" ECHO; YY_BREAK -#line 4095 "dhcp6_lexer.cc" +#line 4093 "dhcp6_lexer.cc" case YY_END_OF_BUFFER: { @@ -5197,7 +5195,7 @@ void yyfree (void * ptr ) /* %ok-for-header */ -#line 1661 "dhcp6_lexer.ll" +#line 1659 "dhcp6_lexer.ll" using namespace isc::dhcp; diff --git a/src/bin/dhcp6/dhcp6_parser.cc b/src/bin/dhcp6/dhcp6_parser.cc index 74a013143f..911344debc 100644 --- a/src/bin/dhcp6/dhcp6_parser.cc +++ b/src/bin/dhcp6/dhcp6_parser.cc @@ -253,29 +253,29 @@ namespace isc { namespace dhcp { { switch (that.type_get ()) { - case 171: // value - case 175: // map_value - case 219: // db_type - case 295: // hr_mode - case 428: // duid_type - case 464: // ncr_protocol_value - case 472: // replace_client_name_value + case 173: // value + case 177: // map_value + case 221: // db_type + case 297: // hr_mode + case 430: // duid_type + case 466: // ncr_protocol_value + case 474: // replace_client_name_value value.move< ElementPtr > (that.value); break; - case 155: // "boolean" + case 156: // "boolean" value.move< bool > (that.value); break; - case 154: // "floating point" + case 155: // "floating point" value.move< double > (that.value); break; - case 153: // "integer" + case 154: // "integer" value.move< int64_t > (that.value); break; - case 152: // "constant string" + case 153: // "constant string" value.move< std::string > (that.value); break; @@ -294,29 +294,29 @@ namespace isc { namespace dhcp { state = that.state; switch (that.type_get ()) { - case 171: // value - case 175: // map_value - case 219: // db_type - case 295: // hr_mode - case 428: // duid_type - case 464: // ncr_protocol_value - case 472: // replace_client_name_value + case 173: // value + case 177: // map_value + case 221: // db_type + case 297: // hr_mode + case 430: // duid_type + case 466: // ncr_protocol_value + case 474: // replace_client_name_value value.copy< ElementPtr > (that.value); break; - case 155: // "boolean" + case 156: // "boolean" value.copy< bool > (that.value); break; - case 154: // "floating point" + case 155: // "floating point" value.copy< double > (that.value); break; - case 153: // "integer" + case 154: // "integer" value.copy< int64_t > (that.value); break; - case 152: // "constant string" + case 153: // "constant string" value.copy< std::string > (that.value); break; @@ -356,79 +356,79 @@ namespace isc { namespace dhcp { << yysym.location << ": "; switch (yytype) { - case 152: // "constant string" + case 153: // "constant string" -#line 228 "dhcp6_parser.yy" // lalr1.cc:636 +#line 229 "dhcp6_parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< std::string > (); } #line 364 "dhcp6_parser.cc" // lalr1.cc:636 break; - case 153: // "integer" + case 154: // "integer" -#line 228 "dhcp6_parser.yy" // lalr1.cc:636 +#line 229 "dhcp6_parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< int64_t > (); } #line 371 "dhcp6_parser.cc" // lalr1.cc:636 break; - case 154: // "floating point" + case 155: // "floating point" -#line 228 "dhcp6_parser.yy" // lalr1.cc:636 +#line 229 "dhcp6_parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< double > (); } #line 378 "dhcp6_parser.cc" // lalr1.cc:636 break; - case 155: // "boolean" + case 156: // "boolean" -#line 228 "dhcp6_parser.yy" // lalr1.cc:636 +#line 229 "dhcp6_parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< bool > (); } #line 385 "dhcp6_parser.cc" // lalr1.cc:636 break; - case 171: // value + case 173: // value -#line 228 "dhcp6_parser.yy" // lalr1.cc:636 +#line 229 "dhcp6_parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< ElementPtr > (); } #line 392 "dhcp6_parser.cc" // lalr1.cc:636 break; - case 175: // map_value + case 177: // map_value -#line 228 "dhcp6_parser.yy" // lalr1.cc:636 +#line 229 "dhcp6_parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< ElementPtr > (); } #line 399 "dhcp6_parser.cc" // lalr1.cc:636 break; - case 219: // db_type + case 221: // db_type -#line 228 "dhcp6_parser.yy" // lalr1.cc:636 +#line 229 "dhcp6_parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< ElementPtr > (); } #line 406 "dhcp6_parser.cc" // lalr1.cc:636 break; - case 295: // hr_mode + case 297: // hr_mode -#line 228 "dhcp6_parser.yy" // lalr1.cc:636 +#line 229 "dhcp6_parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< ElementPtr > (); } #line 413 "dhcp6_parser.cc" // lalr1.cc:636 break; - case 428: // duid_type + case 430: // duid_type -#line 228 "dhcp6_parser.yy" // lalr1.cc:636 +#line 229 "dhcp6_parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< ElementPtr > (); } #line 420 "dhcp6_parser.cc" // lalr1.cc:636 break; - case 464: // ncr_protocol_value + case 466: // ncr_protocol_value -#line 228 "dhcp6_parser.yy" // lalr1.cc:636 +#line 229 "dhcp6_parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< ElementPtr > (); } #line 427 "dhcp6_parser.cc" // lalr1.cc:636 break; - case 472: // replace_client_name_value + case 474: // replace_client_name_value -#line 228 "dhcp6_parser.yy" // lalr1.cc:636 +#line 229 "dhcp6_parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< ElementPtr > (); } #line 434 "dhcp6_parser.cc" // lalr1.cc:636 break; @@ -630,29 +630,29 @@ namespace isc { namespace dhcp { when using variants. */ switch (yyr1_[yyn]) { - case 171: // value - case 175: // map_value - case 219: // db_type - case 295: // hr_mode - case 428: // duid_type - case 464: // ncr_protocol_value - case 472: // replace_client_name_value + case 173: // value + case 177: // map_value + case 221: // db_type + case 297: // hr_mode + case 430: // duid_type + case 466: // ncr_protocol_value + case 474: // replace_client_name_value yylhs.value.build< ElementPtr > (); break; - case 155: // "boolean" + case 156: // "boolean" yylhs.value.build< bool > (); break; - case 154: // "floating point" + case 155: // "floating point" yylhs.value.build< double > (); break; - case 153: // "integer" + case 154: // "integer" yylhs.value.build< int64_t > (); break; - case 152: // "constant string" + case 153: // "constant string" yylhs.value.build< std::string > (); break; @@ -674,274 +674,280 @@ namespace isc { namespace dhcp { switch (yyn) { case 2: -#line 237 "dhcp6_parser.yy" // lalr1.cc:859 +#line 238 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.ctx_ = ctx.NO_KEYWORD; } #line 680 "dhcp6_parser.cc" // lalr1.cc:859 break; case 4: -#line 238 "dhcp6_parser.yy" // lalr1.cc:859 +#line 239 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.ctx_ = ctx.CONFIG; } #line 686 "dhcp6_parser.cc" // lalr1.cc:859 break; case 6: -#line 239 "dhcp6_parser.yy" // lalr1.cc:859 +#line 240 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.ctx_ = ctx.DHCP6; } #line 692 "dhcp6_parser.cc" // lalr1.cc:859 break; case 8: -#line 240 "dhcp6_parser.yy" // lalr1.cc:859 +#line 241 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.ctx_ = ctx.INTERFACES_CONFIG; } #line 698 "dhcp6_parser.cc" // lalr1.cc:859 break; case 10: -#line 241 "dhcp6_parser.yy" // lalr1.cc:859 +#line 242 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.ctx_ = ctx.SUBNET6; } #line 704 "dhcp6_parser.cc" // lalr1.cc:859 break; case 12: -#line 242 "dhcp6_parser.yy" // lalr1.cc:859 +#line 243 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.ctx_ = ctx.POOLS; } #line 710 "dhcp6_parser.cc" // lalr1.cc:859 break; case 14: -#line 243 "dhcp6_parser.yy" // lalr1.cc:859 +#line 244 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.ctx_ = ctx.PD_POOLS; } #line 716 "dhcp6_parser.cc" // lalr1.cc:859 break; case 16: -#line 244 "dhcp6_parser.yy" // lalr1.cc:859 +#line 245 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.ctx_ = ctx.RESERVATIONS; } #line 722 "dhcp6_parser.cc" // lalr1.cc:859 break; case 18: -#line 245 "dhcp6_parser.yy" // lalr1.cc:859 +#line 246 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.ctx_ = ctx.DHCP6; } #line 728 "dhcp6_parser.cc" // lalr1.cc:859 break; case 20: -#line 246 "dhcp6_parser.yy" // lalr1.cc:859 +#line 247 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.ctx_ = ctx.OPTION_DEF; } #line 734 "dhcp6_parser.cc" // lalr1.cc:859 break; case 22: -#line 247 "dhcp6_parser.yy" // lalr1.cc:859 +#line 248 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.ctx_ = ctx.OPTION_DATA; } #line 740 "dhcp6_parser.cc" // lalr1.cc:859 break; case 24: -#line 248 "dhcp6_parser.yy" // lalr1.cc:859 +#line 249 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.ctx_ = ctx.HOOKS_LIBRARIES; } #line 746 "dhcp6_parser.cc" // lalr1.cc:859 break; case 26: -#line 249 "dhcp6_parser.yy" // lalr1.cc:859 +#line 250 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.ctx_ = ctx.DHCP_DDNS; } #line 752 "dhcp6_parser.cc" // lalr1.cc:859 break; case 28: -#line 257 "dhcp6_parser.yy" // lalr1.cc:859 - { yylhs.value.as< ElementPtr > () = ElementPtr(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); } +#line 251 "dhcp6_parser.yy" // lalr1.cc:859 + { ctx.ctx_ = ctx.LOGGING; } #line 758 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 29: -#line 258 "dhcp6_parser.yy" // lalr1.cc:859 - { yylhs.value.as< ElementPtr > () = ElementPtr(new DoubleElement(yystack_[0].value.as< double > (), ctx.loc2pos(yystack_[0].location))); } -#line 764 "dhcp6_parser.cc" // lalr1.cc:859 - break; - case 30: #line 259 "dhcp6_parser.yy" // lalr1.cc:859 - { yylhs.value.as< ElementPtr > () = ElementPtr(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); } -#line 770 "dhcp6_parser.cc" // lalr1.cc:859 + { yylhs.value.as< ElementPtr > () = ElementPtr(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); } +#line 764 "dhcp6_parser.cc" // lalr1.cc:859 break; case 31: #line 260 "dhcp6_parser.yy" // lalr1.cc:859 - { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); } -#line 776 "dhcp6_parser.cc" // lalr1.cc:859 + { yylhs.value.as< ElementPtr > () = ElementPtr(new DoubleElement(yystack_[0].value.as< double > (), ctx.loc2pos(yystack_[0].location))); } +#line 770 "dhcp6_parser.cc" // lalr1.cc:859 break; case 32: #line 261 "dhcp6_parser.yy" // lalr1.cc:859 - { yylhs.value.as< ElementPtr > () = ElementPtr(new NullElement(ctx.loc2pos(yystack_[0].location))); } -#line 782 "dhcp6_parser.cc" // lalr1.cc:859 + { yylhs.value.as< ElementPtr > () = ElementPtr(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); } +#line 776 "dhcp6_parser.cc" // lalr1.cc:859 break; case 33: #line 262 "dhcp6_parser.yy" // lalr1.cc:859 - { yylhs.value.as< ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); } -#line 788 "dhcp6_parser.cc" // lalr1.cc:859 + { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); } +#line 782 "dhcp6_parser.cc" // lalr1.cc:859 break; case 34: #line 263 "dhcp6_parser.yy" // lalr1.cc:859 + { yylhs.value.as< ElementPtr > () = ElementPtr(new NullElement(ctx.loc2pos(yystack_[0].location))); } +#line 788 "dhcp6_parser.cc" // lalr1.cc:859 + break; + + case 35: +#line 264 "dhcp6_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); } #line 794 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 35: -#line 266 "dhcp6_parser.yy" // lalr1.cc:859 + case 36: +#line 265 "dhcp6_parser.yy" // lalr1.cc:859 + { yylhs.value.as< ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); } +#line 800 "dhcp6_parser.cc" // lalr1.cc:859 + break; + + case 37: +#line 268 "dhcp6_parser.yy" // lalr1.cc:859 { // Push back the JSON value on the stack ctx.stack_.push_back(yystack_[0].value.as< ElementPtr > ()); } -#line 803 "dhcp6_parser.cc" // lalr1.cc:859 +#line 809 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 36: -#line 271 "dhcp6_parser.yy" // lalr1.cc:859 + case 38: +#line 273 "dhcp6_parser.yy" // lalr1.cc:859 { // This code is executed when we're about to start parsing // the content of the map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 814 "dhcp6_parser.cc" // lalr1.cc:859 +#line 820 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 37: -#line 276 "dhcp6_parser.yy" // lalr1.cc:859 + case 39: +#line 278 "dhcp6_parser.yy" // lalr1.cc:859 { // map parsing completed. If we ever want to do any wrap up // (maybe some sanity checking), this would be the best place // for it. } -#line 824 "dhcp6_parser.cc" // lalr1.cc:859 - break; - - case 38: -#line 282 "dhcp6_parser.yy" // lalr1.cc:859 - { yylhs.value.as< ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); } #line 830 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 41: -#line 289 "dhcp6_parser.yy" // lalr1.cc:859 + case 40: +#line 284 "dhcp6_parser.yy" // lalr1.cc:859 + { yylhs.value.as< ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); } +#line 836 "dhcp6_parser.cc" // lalr1.cc:859 + break; + + case 43: +#line 291 "dhcp6_parser.yy" // lalr1.cc:859 { // map containing a single entry ctx.stack_.back()->set(yystack_[2].value.as< std::string > (), yystack_[0].value.as< ElementPtr > ()); } -#line 839 "dhcp6_parser.cc" // lalr1.cc:859 +#line 845 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 42: -#line 293 "dhcp6_parser.yy" // lalr1.cc:859 + case 44: +#line 295 "dhcp6_parser.yy" // lalr1.cc:859 { // map consisting of a shorter map followed by // comma and string:value ctx.stack_.back()->set(yystack_[2].value.as< std::string > (), yystack_[0].value.as< ElementPtr > ()); } -#line 849 "dhcp6_parser.cc" // lalr1.cc:859 +#line 855 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 43: -#line 300 "dhcp6_parser.yy" // lalr1.cc:859 + case 45: +#line 302 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(l); } -#line 858 "dhcp6_parser.cc" // lalr1.cc:859 +#line 864 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 44: -#line 303 "dhcp6_parser.yy" // lalr1.cc:859 + case 46: +#line 305 "dhcp6_parser.yy" // lalr1.cc:859 { // list parsing complete. Put any sanity checking here } -#line 866 "dhcp6_parser.cc" // lalr1.cc:859 +#line 872 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 47: -#line 311 "dhcp6_parser.yy" // lalr1.cc:859 + case 49: +#line 313 "dhcp6_parser.yy" // lalr1.cc:859 { // List consisting of a single element. ctx.stack_.back()->add(yystack_[0].value.as< ElementPtr > ()); } -#line 875 "dhcp6_parser.cc" // lalr1.cc:859 +#line 881 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 48: -#line 315 "dhcp6_parser.yy" // lalr1.cc:859 + case 50: +#line 317 "dhcp6_parser.yy" // lalr1.cc:859 { // List ending with , and a value. ctx.stack_.back()->add(yystack_[0].value.as< ElementPtr > ()); } -#line 884 "dhcp6_parser.cc" // lalr1.cc:859 +#line 890 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 49: -#line 322 "dhcp6_parser.yy" // lalr1.cc:859 + case 51: +#line 324 "dhcp6_parser.yy" // lalr1.cc:859 { // List parsing about to start } -#line 892 "dhcp6_parser.cc" // lalr1.cc:859 +#line 898 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 50: -#line 324 "dhcp6_parser.yy" // lalr1.cc:859 + case 52: +#line 326 "dhcp6_parser.yy" // lalr1.cc:859 { // list parsing complete. Put any sanity checking here //ctx.stack_.pop_back(); } -#line 901 "dhcp6_parser.cc" // lalr1.cc:859 - break; - - case 53: -#line 333 "dhcp6_parser.yy" // lalr1.cc:859 - { - ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); - ctx.stack_.back()->add(s); - } -#line 910 "dhcp6_parser.cc" // lalr1.cc:859 - break; - - case 54: -#line 337 "dhcp6_parser.yy" // lalr1.cc:859 - { - ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); - ctx.stack_.back()->add(s); - } -#line 919 "dhcp6_parser.cc" // lalr1.cc:859 +#line 907 "dhcp6_parser.cc" // lalr1.cc:859 break; case 55: -#line 348 "dhcp6_parser.yy" // lalr1.cc:859 +#line 335 "dhcp6_parser.yy" // lalr1.cc:859 + { + ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); + ctx.stack_.back()->add(s); + } +#line 916 "dhcp6_parser.cc" // lalr1.cc:859 + break; + + case 56: +#line 339 "dhcp6_parser.yy" // lalr1.cc:859 + { + ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); + ctx.stack_.back()->add(s); + } +#line 925 "dhcp6_parser.cc" // lalr1.cc:859 + break; + + case 57: +#line 350 "dhcp6_parser.yy" // lalr1.cc:859 { const std::string& where = ctx.contextName(); const std::string& keyword = yystack_[1].value.as< std::string > (); error(yystack_[1].location, "got unexpected keyword \"" + keyword + "\" in " + where + " map."); } -#line 930 "dhcp6_parser.cc" // lalr1.cc:859 +#line 936 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 56: -#line 358 "dhcp6_parser.yy" // lalr1.cc:859 + case 58: +#line 360 "dhcp6_parser.yy" // lalr1.cc:859 { // This code is executed when we're about to start parsing // the content of the map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 941 "dhcp6_parser.cc" // lalr1.cc:859 +#line 947 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 57: -#line 363 "dhcp6_parser.yy" // lalr1.cc:859 + case 59: +#line 365 "dhcp6_parser.yy" // lalr1.cc:859 { // map parsing completed. If we ever want to do any wrap up // (maybe some sanity checking), this would be the best place @@ -950,11 +956,11 @@ namespace isc { namespace dhcp { // Dhcp6 is required ctx.require("Dhcp6", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); } -#line 954 "dhcp6_parser.cc" // lalr1.cc:859 +#line 960 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 66: -#line 386 "dhcp6_parser.yy" // lalr1.cc:859 + case 68: +#line 388 "dhcp6_parser.yy" // lalr1.cc:859 { // This code is executed when we're about to start parsing // the content of the map @@ -963,194 +969,194 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(m); ctx.enter(ctx.DHCP6); } -#line 967 "dhcp6_parser.cc" // lalr1.cc:859 +#line 973 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 67: -#line 393 "dhcp6_parser.yy" // lalr1.cc:859 + case 69: +#line 395 "dhcp6_parser.yy" // lalr1.cc:859 { // No global parameter is required ctx.stack_.pop_back(); ctx.leave(); } -#line 977 "dhcp6_parser.cc" // lalr1.cc:859 +#line 983 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 68: -#line 401 "dhcp6_parser.yy" // lalr1.cc:859 + case 70: +#line 403 "dhcp6_parser.yy" // lalr1.cc:859 { // Parse the Dhcp6 map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 987 "dhcp6_parser.cc" // lalr1.cc:859 +#line 993 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 69: -#line 405 "dhcp6_parser.yy" // lalr1.cc:859 + case 71: +#line 407 "dhcp6_parser.yy" // lalr1.cc:859 { // No global parameter is required // parsing completed } -#line 996 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1002 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 97: -#line 443 "dhcp6_parser.yy" // lalr1.cc:859 + case 99: +#line 445 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("preferred-lifetime", prf); } -#line 1005 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1011 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 98: -#line 448 "dhcp6_parser.yy" // lalr1.cc:859 + case 100: +#line 450 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("valid-lifetime", prf); } -#line 1014 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1020 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 99: -#line 453 "dhcp6_parser.yy" // lalr1.cc:859 + case 101: +#line 455 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("renew-timer", prf); } -#line 1023 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1029 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 100: -#line 458 "dhcp6_parser.yy" // lalr1.cc:859 + case 102: +#line 460 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("rebind-timer", prf); } -#line 1032 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1038 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 101: -#line 463 "dhcp6_parser.yy" // lalr1.cc:859 + case 103: +#line 465 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr dpp(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("decline-probation-period", dpp); } -#line 1041 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1047 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 102: -#line 468 "dhcp6_parser.yy" // lalr1.cc:859 + case 104: +#line 470 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("interfaces-config", i); ctx.stack_.push_back(i); ctx.enter(ctx.INTERFACES_CONFIG); } -#line 1052 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1058 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 103: -#line 473 "dhcp6_parser.yy" // lalr1.cc:859 + case 105: +#line 475 "dhcp6_parser.yy" // lalr1.cc:859 { // No interfaces config param is required ctx.stack_.pop_back(); ctx.leave(); } -#line 1062 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1068 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 104: -#line 479 "dhcp6_parser.yy" // lalr1.cc:859 + case 106: +#line 481 "dhcp6_parser.yy" // lalr1.cc:859 { // Parse the interfaces-config map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 1072 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1078 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 105: -#line 483 "dhcp6_parser.yy" // lalr1.cc:859 + case 107: +#line 485 "dhcp6_parser.yy" // lalr1.cc:859 { // No interfaces config param is required // parsing completed } -#line 1081 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1087 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 113: -#line 499 "dhcp6_parser.yy" // lalr1.cc:859 + case 115: +#line 501 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("interfaces", l); ctx.stack_.push_back(l); ctx.enter(ctx.NO_KEYWORD); } -#line 1092 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1098 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 114: -#line 504 "dhcp6_parser.yy" // lalr1.cc:859 + case 116: +#line 506 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); ctx.leave(); } -#line 1101 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1107 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 115: -#line 509 "dhcp6_parser.yy" // lalr1.cc:859 + case 117: +#line 511 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("re-detect", b); } -#line 1110 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1116 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 116: -#line 515 "dhcp6_parser.yy" // lalr1.cc:859 + case 118: +#line 517 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("lease-database", i); ctx.stack_.push_back(i); ctx.enter(ctx.LEASE_DATABASE); } -#line 1121 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1127 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 117: -#line 520 "dhcp6_parser.yy" // lalr1.cc:859 + case 119: +#line 522 "dhcp6_parser.yy" // lalr1.cc:859 { // The type parameter is required ctx.require("type", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); ctx.leave(); } -#line 1132 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1138 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 118: -#line 527 "dhcp6_parser.yy" // lalr1.cc:859 + case 120: +#line 529 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hosts-database", i); ctx.stack_.push_back(i); ctx.enter(ctx.HOSTS_DATABASE); } -#line 1143 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1149 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 119: -#line 532 "dhcp6_parser.yy" // lalr1.cc:859 + case 121: +#line 534 "dhcp6_parser.yy" // lalr1.cc:859 { // The type parameter is required ctx.require("type", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); ctx.leave(); } -#line 1154 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1160 "dhcp6_parser.cc" // lalr1.cc:859 break; case 137: @@ -1158,7 +1164,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.DATABASE_TYPE); } -#line 1162 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1168 "dhcp6_parser.cc" // lalr1.cc:859 break; case 138: @@ -1167,31 +1173,31 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("type", yystack_[0].value.as< ElementPtr > ()); ctx.leave(); } -#line 1171 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1177 "dhcp6_parser.cc" // lalr1.cc:859 break; case 139: #line 567 "dhcp6_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("memfile", ctx.loc2pos(yystack_[0].location))); } -#line 1177 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1183 "dhcp6_parser.cc" // lalr1.cc:859 break; case 140: #line 568 "dhcp6_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("mysql", ctx.loc2pos(yystack_[0].location))); } -#line 1183 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1189 "dhcp6_parser.cc" // lalr1.cc:859 break; case 141: #line 569 "dhcp6_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("postgresql", ctx.loc2pos(yystack_[0].location))); } -#line 1189 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1195 "dhcp6_parser.cc" // lalr1.cc:859 break; case 142: #line 570 "dhcp6_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("cql", ctx.loc2pos(yystack_[0].location))); } -#line 1195 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1201 "dhcp6_parser.cc" // lalr1.cc:859 break; case 143: @@ -1199,7 +1205,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NO_KEYWORD); } -#line 1203 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1209 "dhcp6_parser.cc" // lalr1.cc:859 break; case 144: @@ -1209,7 +1215,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("user", user); ctx.leave(); } -#line 1213 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1219 "dhcp6_parser.cc" // lalr1.cc:859 break; case 145: @@ -1217,7 +1223,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NO_KEYWORD); } -#line 1221 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1227 "dhcp6_parser.cc" // lalr1.cc:859 break; case 146: @@ -1227,7 +1233,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("password", pwd); ctx.leave(); } -#line 1231 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1237 "dhcp6_parser.cc" // lalr1.cc:859 break; case 147: @@ -1235,7 +1241,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NO_KEYWORD); } -#line 1239 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1245 "dhcp6_parser.cc" // lalr1.cc:859 break; case 148: @@ -1245,7 +1251,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("host", h); ctx.leave(); } -#line 1249 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1255 "dhcp6_parser.cc" // lalr1.cc:859 break; case 149: @@ -1254,7 +1260,7 @@ namespace isc { namespace dhcp { ElementPtr p(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("port", p); } -#line 1258 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1264 "dhcp6_parser.cc" // lalr1.cc:859 break; case 150: @@ -1262,7 +1268,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NO_KEYWORD); } -#line 1266 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1272 "dhcp6_parser.cc" // lalr1.cc:859 break; case 151: @@ -1272,7 +1278,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("name", name); ctx.leave(); } -#line 1276 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1282 "dhcp6_parser.cc" // lalr1.cc:859 break; case 152: @@ -1281,7 +1287,7 @@ namespace isc { namespace dhcp { ElementPtr n(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("persist", n); } -#line 1285 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1291 "dhcp6_parser.cc" // lalr1.cc:859 break; case 153: @@ -1290,7 +1296,7 @@ namespace isc { namespace dhcp { ElementPtr n(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("lfc-interval", n); } -#line 1294 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1300 "dhcp6_parser.cc" // lalr1.cc:859 break; case 154: @@ -1299,7 +1305,7 @@ namespace isc { namespace dhcp { ElementPtr n(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("readonly", n); } -#line 1303 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1309 "dhcp6_parser.cc" // lalr1.cc:859 break; case 155: @@ -1308,7 +1314,7 @@ namespace isc { namespace dhcp { ElementPtr n(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("connect-timeout", n); } -#line 1312 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1318 "dhcp6_parser.cc" // lalr1.cc:859 break; case 156: @@ -1316,7 +1322,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NO_KEYWORD); } -#line 1320 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1326 "dhcp6_parser.cc" // lalr1.cc:859 break; case 157: @@ -1326,7 +1332,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("contact-points", cp); ctx.leave(); } -#line 1330 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1336 "dhcp6_parser.cc" // lalr1.cc:859 break; case 158: @@ -1334,7 +1340,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NO_KEYWORD); } -#line 1338 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1344 "dhcp6_parser.cc" // lalr1.cc:859 break; case 159: @@ -1344,7 +1350,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("keyspace", ks); ctx.leave(); } -#line 1348 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1354 "dhcp6_parser.cc" // lalr1.cc:859 break; case 160: @@ -1355,7 +1361,7 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.MAC_SOURCES); } -#line 1359 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1365 "dhcp6_parser.cc" // lalr1.cc:859 break; case 161: @@ -1364,7 +1370,7 @@ namespace isc { namespace dhcp { ctx.stack_.pop_back(); ctx.leave(); } -#line 1368 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1374 "dhcp6_parser.cc" // lalr1.cc:859 break; case 166: @@ -1373,7 +1379,7 @@ namespace isc { namespace dhcp { ElementPtr duid(new StringElement("duid", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(duid); } -#line 1377 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1383 "dhcp6_parser.cc" // lalr1.cc:859 break; case 167: @@ -1382,7 +1388,7 @@ namespace isc { namespace dhcp { ElementPtr duid(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(duid); } -#line 1386 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1392 "dhcp6_parser.cc" // lalr1.cc:859 break; case 168: @@ -1393,7 +1399,7 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.HOST_RESERVATION_IDENTIFIERS); } -#line 1397 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1403 "dhcp6_parser.cc" // lalr1.cc:859 break; case 169: @@ -1402,7 +1408,7 @@ namespace isc { namespace dhcp { ctx.stack_.pop_back(); ctx.leave(); } -#line 1406 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1412 "dhcp6_parser.cc" // lalr1.cc:859 break; case 175: @@ -1411,7 +1417,7 @@ namespace isc { namespace dhcp { ElementPtr hwaddr(new StringElement("hw-address", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(hwaddr); } -#line 1415 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1421 "dhcp6_parser.cc" // lalr1.cc:859 break; case 176: @@ -1420,7 +1426,7 @@ namespace isc { namespace dhcp { ElementPtr flex_id(new StringElement("flex-id", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(flex_id); } -#line 1424 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1430 "dhcp6_parser.cc" // lalr1.cc:859 break; case 177: @@ -1431,7 +1437,7 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.NO_KEYWORD); } -#line 1435 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1441 "dhcp6_parser.cc" // lalr1.cc:859 break; case 178: @@ -1440,7 +1446,7 @@ namespace isc { namespace dhcp { ctx.stack_.pop_back(); ctx.leave(); } -#line 1444 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1450 "dhcp6_parser.cc" // lalr1.cc:859 break; case 179: @@ -1451,7 +1457,7 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.HOOKS_LIBRARIES); } -#line 1455 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1461 "dhcp6_parser.cc" // lalr1.cc:859 break; case 180: @@ -1460,7 +1466,7 @@ namespace isc { namespace dhcp { ctx.stack_.pop_back(); ctx.leave(); } -#line 1464 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1470 "dhcp6_parser.cc" // lalr1.cc:859 break; case 185: @@ -1470,7 +1476,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 1474 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1480 "dhcp6_parser.cc" // lalr1.cc:859 break; case 186: @@ -1480,7 +1486,7 @@ namespace isc { namespace dhcp { ctx.require("library", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 1484 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1490 "dhcp6_parser.cc" // lalr1.cc:859 break; case 187: @@ -1490,7 +1496,7 @@ namespace isc { namespace dhcp { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 1494 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1500 "dhcp6_parser.cc" // lalr1.cc:859 break; case 188: @@ -1500,7 +1506,7 @@ namespace isc { namespace dhcp { ctx.require("library", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); // parsing completed } -#line 1504 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1510 "dhcp6_parser.cc" // lalr1.cc:859 break; case 194: @@ -1508,7 +1514,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NO_KEYWORD); } -#line 1512 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1518 "dhcp6_parser.cc" // lalr1.cc:859 break; case 195: @@ -1518,7 +1524,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("library", lib); ctx.leave(); } -#line 1522 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1528 "dhcp6_parser.cc" // lalr1.cc:859 break; case 196: @@ -1526,7 +1532,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NO_KEYWORD); } -#line 1530 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1536 "dhcp6_parser.cc" // lalr1.cc:859 break; case 197: @@ -1535,7 +1541,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("parameters", yystack_[0].value.as< ElementPtr > ()); ctx.leave(); } -#line 1539 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1545 "dhcp6_parser.cc" // lalr1.cc:859 break; case 198: @@ -1546,7 +1552,7 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(m); ctx.enter(ctx.EXPIRED_LEASES_PROCESSING); } -#line 1550 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1556 "dhcp6_parser.cc" // lalr1.cc:859 break; case 199: @@ -1556,7 +1562,7 @@ namespace isc { namespace dhcp { ctx.stack_.pop_back(); ctx.leave(); } -#line 1560 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1566 "dhcp6_parser.cc" // lalr1.cc:859 break; case 208: @@ -1565,7 +1571,7 @@ namespace isc { namespace dhcp { ElementPtr value(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("reclaim-timer-wait-time", value); } -#line 1569 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1575 "dhcp6_parser.cc" // lalr1.cc:859 break; case 209: @@ -1574,7 +1580,7 @@ namespace isc { namespace dhcp { ElementPtr value(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("flush-reclaimed-timer-wait-time", value); } -#line 1578 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1584 "dhcp6_parser.cc" // lalr1.cc:859 break; case 210: @@ -1583,7 +1589,7 @@ namespace isc { namespace dhcp { ElementPtr value(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hold-reclaimed-time", value); } -#line 1587 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1593 "dhcp6_parser.cc" // lalr1.cc:859 break; case 211: @@ -1592,7 +1598,7 @@ namespace isc { namespace dhcp { ElementPtr value(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("max-reclaim-leases", value); } -#line 1596 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1602 "dhcp6_parser.cc" // lalr1.cc:859 break; case 212: @@ -1601,7 +1607,7 @@ namespace isc { namespace dhcp { ElementPtr value(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("max-reclaim-time", value); } -#line 1605 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1611 "dhcp6_parser.cc" // lalr1.cc:859 break; case 213: @@ -1610,7 +1616,7 @@ namespace isc { namespace dhcp { ElementPtr value(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("unwarned-reclaim-cycles", value); } -#line 1614 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1620 "dhcp6_parser.cc" // lalr1.cc:859 break; case 214: @@ -1621,7 +1627,7 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.SUBNET6); } -#line 1625 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1631 "dhcp6_parser.cc" // lalr1.cc:859 break; case 215: @@ -1630,7 +1636,7 @@ namespace isc { namespace dhcp { ctx.stack_.pop_back(); ctx.leave(); } -#line 1634 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1640 "dhcp6_parser.cc" // lalr1.cc:859 break; case 220: @@ -1640,7 +1646,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 1644 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1650 "dhcp6_parser.cc" // lalr1.cc:859 break; case 221: @@ -1666,7 +1672,7 @@ namespace isc { namespace dhcp { ctx.require("subnet", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 1670 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1676 "dhcp6_parser.cc" // lalr1.cc:859 break; case 222: @@ -1676,7 +1682,7 @@ namespace isc { namespace dhcp { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 1680 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1686 "dhcp6_parser.cc" // lalr1.cc:859 break; case 223: @@ -1686,7 +1692,7 @@ namespace isc { namespace dhcp { ctx.require("subnet", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); // parsing completed } -#line 1690 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1696 "dhcp6_parser.cc" // lalr1.cc:859 break; case 245: @@ -1694,7 +1700,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NO_KEYWORD); } -#line 1698 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1704 "dhcp6_parser.cc" // lalr1.cc:859 break; case 246: @@ -1704,7 +1710,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("subnet", subnet); ctx.leave(); } -#line 1708 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1714 "dhcp6_parser.cc" // lalr1.cc:859 break; case 247: @@ -1712,7 +1718,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NO_KEYWORD); } -#line 1716 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1722 "dhcp6_parser.cc" // lalr1.cc:859 break; case 248: @@ -1722,7 +1728,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("interface", iface); ctx.leave(); } -#line 1726 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1732 "dhcp6_parser.cc" // lalr1.cc:859 break; case 249: @@ -1730,7 +1736,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NO_KEYWORD); } -#line 1734 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1740 "dhcp6_parser.cc" // lalr1.cc:859 break; case 250: @@ -1740,7 +1746,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("interface-id", iface); ctx.leave(); } -#line 1744 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1750 "dhcp6_parser.cc" // lalr1.cc:859 break; case 251: @@ -1748,7 +1754,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.CLIENT_CLASS); } -#line 1752 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1758 "dhcp6_parser.cc" // lalr1.cc:859 break; case 252: @@ -1758,7 +1764,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("client-class", cls); ctx.leave(); } -#line 1762 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1768 "dhcp6_parser.cc" // lalr1.cc:859 break; case 253: @@ -1766,7 +1772,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.RESERVATION_MODE); } -#line 1770 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1776 "dhcp6_parser.cc" // lalr1.cc:859 break; case 254: @@ -1775,25 +1781,25 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("reservation-mode", yystack_[0].value.as< ElementPtr > ()); ctx.leave(); } -#line 1779 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1785 "dhcp6_parser.cc" // lalr1.cc:859 break; case 255: #line 962 "dhcp6_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("disabled", ctx.loc2pos(yystack_[0].location))); } -#line 1785 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1791 "dhcp6_parser.cc" // lalr1.cc:859 break; case 256: #line 963 "dhcp6_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("out-of-pool", ctx.loc2pos(yystack_[0].location))); } -#line 1791 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1797 "dhcp6_parser.cc" // lalr1.cc:859 break; case 257: #line 964 "dhcp6_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("all", ctx.loc2pos(yystack_[0].location))); } -#line 1797 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1803 "dhcp6_parser.cc" // lalr1.cc:859 break; case 258: @@ -1802,7 +1808,7 @@ namespace isc { namespace dhcp { ElementPtr id(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("id", id); } -#line 1806 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1812 "dhcp6_parser.cc" // lalr1.cc:859 break; case 259: @@ -1811,7 +1817,7 @@ namespace isc { namespace dhcp { ElementPtr rc(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("rapid-commit", rc); } -#line 1815 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1821 "dhcp6_parser.cc" // lalr1.cc:859 break; case 260: @@ -1822,7 +1828,7 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.SHARED_NETWORK); } -#line 1826 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1832 "dhcp6_parser.cc" // lalr1.cc:859 break; case 261: @@ -1831,7 +1837,7 @@ namespace isc { namespace dhcp { ctx.stack_.pop_back(); ctx.leave(); } -#line 1835 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1841 "dhcp6_parser.cc" // lalr1.cc:859 break; case 266: @@ -1841,7 +1847,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 1845 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1851 "dhcp6_parser.cc" // lalr1.cc:859 break; case 267: @@ -1849,7 +1855,7 @@ namespace isc { namespace dhcp { { ctx.stack_.pop_back(); } -#line 1853 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1859 "dhcp6_parser.cc" // lalr1.cc:859 break; case 286: @@ -1860,7 +1866,7 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.OPTION_DEF); } -#line 1864 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1870 "dhcp6_parser.cc" // lalr1.cc:859 break; case 287: @@ -1869,7 +1875,7 @@ namespace isc { namespace dhcp { ctx.stack_.pop_back(); ctx.leave(); } -#line 1873 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1879 "dhcp6_parser.cc" // lalr1.cc:859 break; case 288: @@ -1878,7 +1884,7 @@ namespace isc { namespace dhcp { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 1882 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1888 "dhcp6_parser.cc" // lalr1.cc:859 break; case 289: @@ -1886,7 +1892,7 @@ namespace isc { namespace dhcp { { // parsing completed } -#line 1890 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1896 "dhcp6_parser.cc" // lalr1.cc:859 break; case 294: @@ -1896,7 +1902,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 1900 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1906 "dhcp6_parser.cc" // lalr1.cc:859 break; case 295: @@ -1908,7 +1914,7 @@ namespace isc { namespace dhcp { ctx.require("type", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 1912 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1918 "dhcp6_parser.cc" // lalr1.cc:859 break; case 296: @@ -1918,7 +1924,7 @@ namespace isc { namespace dhcp { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 1922 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1928 "dhcp6_parser.cc" // lalr1.cc:859 break; case 297: @@ -1930,7 +1936,7 @@ namespace isc { namespace dhcp { ctx.require("type", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); // parsing completed } -#line 1934 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1940 "dhcp6_parser.cc" // lalr1.cc:859 break; case 313: @@ -1939,7 +1945,7 @@ namespace isc { namespace dhcp { ElementPtr code(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("code", code); } -#line 1943 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1949 "dhcp6_parser.cc" // lalr1.cc:859 break; case 315: @@ -1947,7 +1953,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NO_KEYWORD); } -#line 1951 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1957 "dhcp6_parser.cc" // lalr1.cc:859 break; case 316: @@ -1957,7 +1963,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("type", prf); ctx.leave(); } -#line 1961 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1967 "dhcp6_parser.cc" // lalr1.cc:859 break; case 317: @@ -1965,7 +1971,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NO_KEYWORD); } -#line 1969 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1975 "dhcp6_parser.cc" // lalr1.cc:859 break; case 318: @@ -1975,7 +1981,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("record-types", rtypes); ctx.leave(); } -#line 1979 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1985 "dhcp6_parser.cc" // lalr1.cc:859 break; case 319: @@ -1983,7 +1989,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NO_KEYWORD); } -#line 1987 "dhcp6_parser.cc" // lalr1.cc:859 +#line 1993 "dhcp6_parser.cc" // lalr1.cc:859 break; case 320: @@ -1993,7 +1999,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("space", space); ctx.leave(); } -#line 1997 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2003 "dhcp6_parser.cc" // lalr1.cc:859 break; case 322: @@ -2001,7 +2007,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NO_KEYWORD); } -#line 2005 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2011 "dhcp6_parser.cc" // lalr1.cc:859 break; case 323: @@ -2011,7 +2017,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("encapsulate", encap); ctx.leave(); } -#line 2015 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2021 "dhcp6_parser.cc" // lalr1.cc:859 break; case 324: @@ -2020,7 +2026,7 @@ namespace isc { namespace dhcp { ElementPtr array(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("array", array); } -#line 2024 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2030 "dhcp6_parser.cc" // lalr1.cc:859 break; case 325: @@ -2031,7 +2037,7 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.OPTION_DATA); } -#line 2035 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2041 "dhcp6_parser.cc" // lalr1.cc:859 break; case 326: @@ -2040,7 +2046,7 @@ namespace isc { namespace dhcp { ctx.stack_.pop_back(); ctx.leave(); } -#line 2044 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2050 "dhcp6_parser.cc" // lalr1.cc:859 break; case 331: @@ -2050,7 +2056,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 2054 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2060 "dhcp6_parser.cc" // lalr1.cc:859 break; case 332: @@ -2059,7 +2065,7 @@ namespace isc { namespace dhcp { /// @todo: the code or name parameters are required. ctx.stack_.pop_back(); } -#line 2063 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2069 "dhcp6_parser.cc" // lalr1.cc:859 break; case 333: @@ -2069,7 +2075,7 @@ namespace isc { namespace dhcp { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 2073 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2079 "dhcp6_parser.cc" // lalr1.cc:859 break; case 334: @@ -2078,7 +2084,7 @@ namespace isc { namespace dhcp { /// @todo: the code or name parameters are required. // parsing completed } -#line 2082 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2088 "dhcp6_parser.cc" // lalr1.cc:859 break; case 349: @@ -2086,7 +2092,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NO_KEYWORD); } -#line 2090 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2096 "dhcp6_parser.cc" // lalr1.cc:859 break; case 350: @@ -2096,7 +2102,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("data", data); ctx.leave(); } -#line 2100 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2106 "dhcp6_parser.cc" // lalr1.cc:859 break; case 353: @@ -2105,7 +2111,7 @@ namespace isc { namespace dhcp { ElementPtr space(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("csv-format", space); } -#line 2109 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2115 "dhcp6_parser.cc" // lalr1.cc:859 break; case 354: @@ -2114,7 +2120,7 @@ namespace isc { namespace dhcp { ElementPtr persist(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("always-send", persist); } -#line 2118 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2124 "dhcp6_parser.cc" // lalr1.cc:859 break; case 355: @@ -2125,7 +2131,7 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.POOLS); } -#line 2129 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2135 "dhcp6_parser.cc" // lalr1.cc:859 break; case 356: @@ -2134,7 +2140,7 @@ namespace isc { namespace dhcp { ctx.stack_.pop_back(); ctx.leave(); } -#line 2138 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2144 "dhcp6_parser.cc" // lalr1.cc:859 break; case 361: @@ -2144,7 +2150,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 2148 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2154 "dhcp6_parser.cc" // lalr1.cc:859 break; case 362: @@ -2154,7 +2160,7 @@ namespace isc { namespace dhcp { ctx.require("pool", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 2158 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2164 "dhcp6_parser.cc" // lalr1.cc:859 break; case 363: @@ -2164,7 +2170,7 @@ namespace isc { namespace dhcp { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 2168 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2174 "dhcp6_parser.cc" // lalr1.cc:859 break; case 364: @@ -2173,7 +2179,7 @@ namespace isc { namespace dhcp { // The pool parameter is required. ctx.require("pool", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); } -#line 2177 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2183 "dhcp6_parser.cc" // lalr1.cc:859 break; case 372: @@ -2181,7 +2187,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NO_KEYWORD); } -#line 2185 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2191 "dhcp6_parser.cc" // lalr1.cc:859 break; case 373: @@ -2191,7 +2197,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("pool", pool); ctx.leave(); } -#line 2195 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2201 "dhcp6_parser.cc" // lalr1.cc:859 break; case 374: @@ -2199,7 +2205,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NO_KEYWORD); } -#line 2203 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2209 "dhcp6_parser.cc" // lalr1.cc:859 break; case 375: @@ -2208,7 +2214,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->combine_set("user-context", yystack_[0].value.as< ElementPtr > ()); ctx.leave(); } -#line 2212 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2218 "dhcp6_parser.cc" // lalr1.cc:859 break; case 376: @@ -2216,7 +2222,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NO_KEYWORD); } -#line 2220 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2226 "dhcp6_parser.cc" // lalr1.cc:859 break; case 377: @@ -2227,7 +2233,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->combine_set("user-context", e); ctx.leave(); } -#line 2231 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2237 "dhcp6_parser.cc" // lalr1.cc:859 break; case 378: @@ -2238,7 +2244,7 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.PD_POOLS); } -#line 2242 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2248 "dhcp6_parser.cc" // lalr1.cc:859 break; case 379: @@ -2247,7 +2253,7 @@ namespace isc { namespace dhcp { ctx.stack_.pop_back(); ctx.leave(); } -#line 2251 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2257 "dhcp6_parser.cc" // lalr1.cc:859 break; case 384: @@ -2257,7 +2263,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 2261 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2267 "dhcp6_parser.cc" // lalr1.cc:859 break; case 385: @@ -2269,7 +2275,7 @@ namespace isc { namespace dhcp { ctx.require("delegated-len", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 2273 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2279 "dhcp6_parser.cc" // lalr1.cc:859 break; case 386: @@ -2279,7 +2285,7 @@ namespace isc { namespace dhcp { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 2283 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2289 "dhcp6_parser.cc" // lalr1.cc:859 break; case 387: @@ -2291,7 +2297,7 @@ namespace isc { namespace dhcp { ctx.require("delegated-len", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); // parsing completed } -#line 2295 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2301 "dhcp6_parser.cc" // lalr1.cc:859 break; case 399: @@ -2299,7 +2305,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NO_KEYWORD); } -#line 2303 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2309 "dhcp6_parser.cc" // lalr1.cc:859 break; case 400: @@ -2309,7 +2315,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("prefix", prf); ctx.leave(); } -#line 2313 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2319 "dhcp6_parser.cc" // lalr1.cc:859 break; case 401: @@ -2318,7 +2324,7 @@ namespace isc { namespace dhcp { ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("prefix-len", prf); } -#line 2322 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2328 "dhcp6_parser.cc" // lalr1.cc:859 break; case 402: @@ -2326,7 +2332,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NO_KEYWORD); } -#line 2330 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2336 "dhcp6_parser.cc" // lalr1.cc:859 break; case 403: @@ -2336,7 +2342,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("excluded-prefix", prf); ctx.leave(); } -#line 2340 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2346 "dhcp6_parser.cc" // lalr1.cc:859 break; case 404: @@ -2345,7 +2351,7 @@ namespace isc { namespace dhcp { ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("excluded-prefix-len", prf); } -#line 2349 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2355 "dhcp6_parser.cc" // lalr1.cc:859 break; case 405: @@ -2354,7 +2360,7 @@ namespace isc { namespace dhcp { ElementPtr deleg(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("delegated-len", deleg); } -#line 2358 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2364 "dhcp6_parser.cc" // lalr1.cc:859 break; case 406: @@ -2365,7 +2371,7 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.RESERVATIONS); } -#line 2369 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2375 "dhcp6_parser.cc" // lalr1.cc:859 break; case 407: @@ -2374,7 +2380,7 @@ namespace isc { namespace dhcp { ctx.stack_.pop_back(); ctx.leave(); } -#line 2378 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2384 "dhcp6_parser.cc" // lalr1.cc:859 break; case 412: @@ -2384,7 +2390,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 2388 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2394 "dhcp6_parser.cc" // lalr1.cc:859 break; case 413: @@ -2393,7 +2399,7 @@ namespace isc { namespace dhcp { /// @todo: an identifier parameter is required. ctx.stack_.pop_back(); } -#line 2397 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2403 "dhcp6_parser.cc" // lalr1.cc:859 break; case 414: @@ -2403,7 +2409,7 @@ namespace isc { namespace dhcp { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 2407 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2413 "dhcp6_parser.cc" // lalr1.cc:859 break; case 415: @@ -2412,7 +2418,7 @@ namespace isc { namespace dhcp { /// @todo: an identifier parameter is required. // parsing completed } -#line 2416 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2422 "dhcp6_parser.cc" // lalr1.cc:859 break; case 431: @@ -2423,7 +2429,7 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.NO_KEYWORD); } -#line 2427 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2433 "dhcp6_parser.cc" // lalr1.cc:859 break; case 432: @@ -2432,7 +2438,7 @@ namespace isc { namespace dhcp { ctx.stack_.pop_back(); ctx.leave(); } -#line 2436 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2442 "dhcp6_parser.cc" // lalr1.cc:859 break; case 433: @@ -2443,7 +2449,7 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.NO_KEYWORD); } -#line 2447 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2453 "dhcp6_parser.cc" // lalr1.cc:859 break; case 434: @@ -2452,7 +2458,7 @@ namespace isc { namespace dhcp { ctx.stack_.pop_back(); ctx.leave(); } -#line 2456 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2462 "dhcp6_parser.cc" // lalr1.cc:859 break; case 435: @@ -2460,7 +2466,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NO_KEYWORD); } -#line 2464 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2470 "dhcp6_parser.cc" // lalr1.cc:859 break; case 436: @@ -2470,7 +2476,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("duid", d); ctx.leave(); } -#line 2474 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2480 "dhcp6_parser.cc" // lalr1.cc:859 break; case 437: @@ -2478,7 +2484,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NO_KEYWORD); } -#line 2482 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2488 "dhcp6_parser.cc" // lalr1.cc:859 break; case 438: @@ -2488,7 +2494,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("hw-address", hw); ctx.leave(); } -#line 2492 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2498 "dhcp6_parser.cc" // lalr1.cc:859 break; case 439: @@ -2496,7 +2502,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NO_KEYWORD); } -#line 2500 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2506 "dhcp6_parser.cc" // lalr1.cc:859 break; case 440: @@ -2506,7 +2512,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("hostname", host); ctx.leave(); } -#line 2510 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2516 "dhcp6_parser.cc" // lalr1.cc:859 break; case 441: @@ -2514,7 +2520,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NO_KEYWORD); } -#line 2518 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2524 "dhcp6_parser.cc" // lalr1.cc:859 break; case 442: @@ -2524,7 +2530,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("flex-id", hw); ctx.leave(); } -#line 2528 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2534 "dhcp6_parser.cc" // lalr1.cc:859 break; case 443: @@ -2535,7 +2541,7 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(c); ctx.enter(ctx.NO_KEYWORD); } -#line 2539 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2545 "dhcp6_parser.cc" // lalr1.cc:859 break; case 444: @@ -2544,7 +2550,7 @@ namespace isc { namespace dhcp { ctx.stack_.pop_back(); ctx.leave(); } -#line 2548 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2554 "dhcp6_parser.cc" // lalr1.cc:859 break; case 445: @@ -2555,7 +2561,7 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(m); ctx.enter(ctx.RELAY); } -#line 2559 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2565 "dhcp6_parser.cc" // lalr1.cc:859 break; case 446: @@ -2564,7 +2570,7 @@ namespace isc { namespace dhcp { ctx.stack_.pop_back(); ctx.leave(); } -#line 2568 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2574 "dhcp6_parser.cc" // lalr1.cc:859 break; case 447: @@ -2572,7 +2578,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NO_KEYWORD); } -#line 2576 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2582 "dhcp6_parser.cc" // lalr1.cc:859 break; case 448: @@ -2582,7 +2588,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("ip-address", ip); ctx.leave(); } -#line 2586 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2592 "dhcp6_parser.cc" // lalr1.cc:859 break; case 449: @@ -2593,7 +2599,7 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.CLIENT_CLASSES); } -#line 2597 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2603 "dhcp6_parser.cc" // lalr1.cc:859 break; case 450: @@ -2602,7 +2608,7 @@ namespace isc { namespace dhcp { ctx.stack_.pop_back(); ctx.leave(); } -#line 2606 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2612 "dhcp6_parser.cc" // lalr1.cc:859 break; case 453: @@ -2612,7 +2618,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 2616 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2622 "dhcp6_parser.cc" // lalr1.cc:859 break; case 454: @@ -2622,7 +2628,7 @@ namespace isc { namespace dhcp { ctx.require("name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 2626 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2632 "dhcp6_parser.cc" // lalr1.cc:859 break; case 466: @@ -2630,7 +2636,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NO_KEYWORD); } -#line 2634 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2640 "dhcp6_parser.cc" // lalr1.cc:859 break; case 467: @@ -2640,7 +2646,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("test", test); ctx.leave(); } -#line 2644 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2650 "dhcp6_parser.cc" // lalr1.cc:859 break; case 468: @@ -2651,7 +2657,7 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(m); ctx.enter(ctx.SERVER_ID); } -#line 2655 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2661 "dhcp6_parser.cc" // lalr1.cc:859 break; case 469: @@ -2662,7 +2668,7 @@ namespace isc { namespace dhcp { ctx.stack_.pop_back(); ctx.leave(); } -#line 2666 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2672 "dhcp6_parser.cc" // lalr1.cc:859 break; case 481: @@ -2670,7 +2676,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.DUID_TYPE); } -#line 2674 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2680 "dhcp6_parser.cc" // lalr1.cc:859 break; case 482: @@ -2679,25 +2685,25 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("type", yystack_[0].value.as< ElementPtr > ()); ctx.leave(); } -#line 2683 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2689 "dhcp6_parser.cc" // lalr1.cc:859 break; case 483: #line 1666 "dhcp6_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("LLT", ctx.loc2pos(yystack_[0].location))); } -#line 2689 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2695 "dhcp6_parser.cc" // lalr1.cc:859 break; case 484: #line 1667 "dhcp6_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("EN", ctx.loc2pos(yystack_[0].location))); } -#line 2695 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2701 "dhcp6_parser.cc" // lalr1.cc:859 break; case 485: #line 1668 "dhcp6_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("LL", ctx.loc2pos(yystack_[0].location))); } -#line 2701 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2707 "dhcp6_parser.cc" // lalr1.cc:859 break; case 486: @@ -2706,7 +2712,7 @@ namespace isc { namespace dhcp { ElementPtr htype(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("htype", htype); } -#line 2710 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2716 "dhcp6_parser.cc" // lalr1.cc:859 break; case 487: @@ -2714,7 +2720,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NO_KEYWORD); } -#line 2718 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2724 "dhcp6_parser.cc" // lalr1.cc:859 break; case 488: @@ -2724,7 +2730,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("identifier", id); ctx.leave(); } -#line 2728 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2734 "dhcp6_parser.cc" // lalr1.cc:859 break; case 489: @@ -2733,7 +2739,7 @@ namespace isc { namespace dhcp { ElementPtr time(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("time", time); } -#line 2737 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2743 "dhcp6_parser.cc" // lalr1.cc:859 break; case 490: @@ -2742,7 +2748,7 @@ namespace isc { namespace dhcp { ElementPtr time(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("enterprise-id", time); } -#line 2746 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2752 "dhcp6_parser.cc" // lalr1.cc:859 break; case 491: @@ -2751,7 +2757,7 @@ namespace isc { namespace dhcp { ElementPtr time(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("dhcp4o6-port", time); } -#line 2755 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2761 "dhcp6_parser.cc" // lalr1.cc:859 break; case 492: @@ -2762,7 +2768,7 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(m); ctx.enter(ctx.CONTROL_SOCKET); } -#line 2766 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2772 "dhcp6_parser.cc" // lalr1.cc:859 break; case 493: @@ -2771,7 +2777,7 @@ namespace isc { namespace dhcp { ctx.stack_.pop_back(); ctx.leave(); } -#line 2775 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2781 "dhcp6_parser.cc" // lalr1.cc:859 break; case 501: @@ -2779,7 +2785,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NO_KEYWORD); } -#line 2783 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2789 "dhcp6_parser.cc" // lalr1.cc:859 break; case 502: @@ -2789,7 +2795,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("socket-type", stype); ctx.leave(); } -#line 2793 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2799 "dhcp6_parser.cc" // lalr1.cc:859 break; case 503: @@ -2797,7 +2803,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NO_KEYWORD); } -#line 2801 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2807 "dhcp6_parser.cc" // lalr1.cc:859 break; case 504: @@ -2807,7 +2813,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("socket-name", name); ctx.leave(); } -#line 2811 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2817 "dhcp6_parser.cc" // lalr1.cc:859 break; case 506: @@ -2815,7 +2821,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NO_KEYWORD); } -#line 2819 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2825 "dhcp6_parser.cc" // lalr1.cc:859 break; case 507: @@ -2824,7 +2830,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->combine_set("comment", yystack_[0].value.as< ElementPtr > ()); ctx.leave(); } -#line 2828 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2834 "dhcp6_parser.cc" // lalr1.cc:859 break; case 508: @@ -2835,7 +2841,7 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(m); ctx.enter(ctx.DHCP_DDNS); } -#line 2839 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2845 "dhcp6_parser.cc" // lalr1.cc:859 break; case 509: @@ -2846,7 +2852,7 @@ namespace isc { namespace dhcp { ctx.stack_.pop_back(); ctx.leave(); } -#line 2850 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2856 "dhcp6_parser.cc" // lalr1.cc:859 break; case 510: @@ -2856,7 +2862,7 @@ namespace isc { namespace dhcp { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 2860 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2866 "dhcp6_parser.cc" // lalr1.cc:859 break; case 511: @@ -2866,7 +2872,7 @@ namespace isc { namespace dhcp { ctx.require("enable-updates", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); // parsing completed } -#line 2870 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2876 "dhcp6_parser.cc" // lalr1.cc:859 break; case 531: @@ -2875,7 +2881,7 @@ namespace isc { namespace dhcp { ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("enable-updates", b); } -#line 2879 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2885 "dhcp6_parser.cc" // lalr1.cc:859 break; case 532: @@ -2883,7 +2889,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NO_KEYWORD); } -#line 2887 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2893 "dhcp6_parser.cc" // lalr1.cc:859 break; case 533: @@ -2893,7 +2899,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("qualifying-suffix", s); ctx.leave(); } -#line 2897 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2903 "dhcp6_parser.cc" // lalr1.cc:859 break; case 534: @@ -2901,7 +2907,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NO_KEYWORD); } -#line 2905 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2911 "dhcp6_parser.cc" // lalr1.cc:859 break; case 535: @@ -2911,7 +2917,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("server-ip", s); ctx.leave(); } -#line 2915 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2921 "dhcp6_parser.cc" // lalr1.cc:859 break; case 536: @@ -2920,7 +2926,7 @@ namespace isc { namespace dhcp { ElementPtr i(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("server-port", i); } -#line 2924 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2930 "dhcp6_parser.cc" // lalr1.cc:859 break; case 537: @@ -2928,7 +2934,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NO_KEYWORD); } -#line 2932 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2938 "dhcp6_parser.cc" // lalr1.cc:859 break; case 538: @@ -2938,7 +2944,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("sender-ip", s); ctx.leave(); } -#line 2942 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2948 "dhcp6_parser.cc" // lalr1.cc:859 break; case 539: @@ -2947,7 +2953,7 @@ namespace isc { namespace dhcp { ElementPtr i(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("sender-port", i); } -#line 2951 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2957 "dhcp6_parser.cc" // lalr1.cc:859 break; case 540: @@ -2956,7 +2962,7 @@ namespace isc { namespace dhcp { ElementPtr i(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("max-queue-size", i); } -#line 2960 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2966 "dhcp6_parser.cc" // lalr1.cc:859 break; case 541: @@ -2964,7 +2970,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NCR_PROTOCOL); } -#line 2968 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2974 "dhcp6_parser.cc" // lalr1.cc:859 break; case 542: @@ -2973,19 +2979,19 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("ncr-protocol", yystack_[0].value.as< ElementPtr > ()); ctx.leave(); } -#line 2977 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2983 "dhcp6_parser.cc" // lalr1.cc:859 break; case 543: #line 1848 "dhcp6_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("UDP", ctx.loc2pos(yystack_[0].location))); } -#line 2983 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2989 "dhcp6_parser.cc" // lalr1.cc:859 break; case 544: #line 1849 "dhcp6_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("TCP", ctx.loc2pos(yystack_[0].location))); } -#line 2989 "dhcp6_parser.cc" // lalr1.cc:859 +#line 2995 "dhcp6_parser.cc" // lalr1.cc:859 break; case 545: @@ -2993,7 +2999,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NCR_FORMAT); } -#line 2997 "dhcp6_parser.cc" // lalr1.cc:859 +#line 3003 "dhcp6_parser.cc" // lalr1.cc:859 break; case 546: @@ -3003,7 +3009,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("ncr-format", json); ctx.leave(); } -#line 3007 "dhcp6_parser.cc" // lalr1.cc:859 +#line 3013 "dhcp6_parser.cc" // lalr1.cc:859 break; case 547: @@ -3012,7 +3018,7 @@ namespace isc { namespace dhcp { ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("always-include-fqdn", b); } -#line 3016 "dhcp6_parser.cc" // lalr1.cc:859 +#line 3022 "dhcp6_parser.cc" // lalr1.cc:859 break; case 548: @@ -3021,7 +3027,7 @@ namespace isc { namespace dhcp { ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("override-no-update", b); } -#line 3025 "dhcp6_parser.cc" // lalr1.cc:859 +#line 3031 "dhcp6_parser.cc" // lalr1.cc:859 break; case 549: @@ -3030,7 +3036,7 @@ namespace isc { namespace dhcp { ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("override-client-update", b); } -#line 3034 "dhcp6_parser.cc" // lalr1.cc:859 +#line 3040 "dhcp6_parser.cc" // lalr1.cc:859 break; case 550: @@ -3038,7 +3044,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.REPLACE_CLIENT_NAME); } -#line 3042 "dhcp6_parser.cc" // lalr1.cc:859 +#line 3048 "dhcp6_parser.cc" // lalr1.cc:859 break; case 551: @@ -3047,7 +3053,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("replace-client-name", yystack_[0].value.as< ElementPtr > ()); ctx.leave(); } -#line 3051 "dhcp6_parser.cc" // lalr1.cc:859 +#line 3057 "dhcp6_parser.cc" // lalr1.cc:859 break; case 552: @@ -3055,7 +3061,7 @@ namespace isc { namespace dhcp { { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("when-present", ctx.loc2pos(yystack_[0].location))); } -#line 3059 "dhcp6_parser.cc" // lalr1.cc:859 +#line 3065 "dhcp6_parser.cc" // lalr1.cc:859 break; case 553: @@ -3063,7 +3069,7 @@ namespace isc { namespace dhcp { { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("never", ctx.loc2pos(yystack_[0].location))); } -#line 3067 "dhcp6_parser.cc" // lalr1.cc:859 +#line 3073 "dhcp6_parser.cc" // lalr1.cc:859 break; case 554: @@ -3071,7 +3077,7 @@ namespace isc { namespace dhcp { { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("always", ctx.loc2pos(yystack_[0].location))); } -#line 3075 "dhcp6_parser.cc" // lalr1.cc:859 +#line 3081 "dhcp6_parser.cc" // lalr1.cc:859 break; case 555: @@ -3079,7 +3085,7 @@ namespace isc { namespace dhcp { { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("when-not-present", ctx.loc2pos(yystack_[0].location))); } -#line 3083 "dhcp6_parser.cc" // lalr1.cc:859 +#line 3089 "dhcp6_parser.cc" // lalr1.cc:859 break; case 556: @@ -3088,7 +3094,7 @@ namespace isc { namespace dhcp { error(yystack_[0].location, "boolean values for the replace-client-name are " "no longer supported"); } -#line 3092 "dhcp6_parser.cc" // lalr1.cc:859 +#line 3098 "dhcp6_parser.cc" // lalr1.cc:859 break; case 557: @@ -3096,7 +3102,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NO_KEYWORD); } -#line 3100 "dhcp6_parser.cc" // lalr1.cc:859 +#line 3106 "dhcp6_parser.cc" // lalr1.cc:859 break; case 558: @@ -3106,7 +3112,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("generated-prefix", s); ctx.leave(); } -#line 3110 "dhcp6_parser.cc" // lalr1.cc:859 +#line 3116 "dhcp6_parser.cc" // lalr1.cc:859 break; case 559: @@ -3114,7 +3120,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NO_KEYWORD); } -#line 3118 "dhcp6_parser.cc" // lalr1.cc:859 +#line 3124 "dhcp6_parser.cc" // lalr1.cc:859 break; case 560: @@ -3123,7 +3129,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("Dhcp4", yystack_[0].value.as< ElementPtr > ()); ctx.leave(); } -#line 3127 "dhcp6_parser.cc" // lalr1.cc:859 +#line 3133 "dhcp6_parser.cc" // lalr1.cc:859 break; case 561: @@ -3131,7 +3137,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NO_KEYWORD); } -#line 3135 "dhcp6_parser.cc" // lalr1.cc:859 +#line 3141 "dhcp6_parser.cc" // lalr1.cc:859 break; case 562: @@ -3140,7 +3146,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("DhcpDdns", yystack_[0].value.as< ElementPtr > ()); ctx.leave(); } -#line 3144 "dhcp6_parser.cc" // lalr1.cc:859 +#line 3150 "dhcp6_parser.cc" // lalr1.cc:859 break; case 563: @@ -3148,7 +3154,7 @@ namespace isc { namespace dhcp { { ctx.enter(ctx.NO_KEYWORD); } -#line 3152 "dhcp6_parser.cc" // lalr1.cc:859 +#line 3158 "dhcp6_parser.cc" // lalr1.cc:859 break; case 564: @@ -3157,7 +3163,7 @@ namespace isc { namespace dhcp { ctx.stack_.back()->set("Control-agent", yystack_[0].value.as< ElementPtr > ()); ctx.leave(); } -#line 3161 "dhcp6_parser.cc" // lalr1.cc:859 +#line 3167 "dhcp6_parser.cc" // lalr1.cc:859 break; case 565: @@ -3168,7 +3174,7 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(m); ctx.enter(ctx.LOGGING); } -#line 3172 "dhcp6_parser.cc" // lalr1.cc:859 +#line 3178 "dhcp6_parser.cc" // lalr1.cc:859 break; case 566: @@ -3177,159 +3183,177 @@ namespace isc { namespace dhcp { ctx.stack_.pop_back(); ctx.leave(); } -#line 3181 "dhcp6_parser.cc" // lalr1.cc:859 +#line 3187 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 570: -#line 1960 "dhcp6_parser.yy" // lalr1.cc:859 + case 567: +#line 1948 "dhcp6_parser.yy" // lalr1.cc:859 + { + // Parse the Logging map + ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); + ctx.stack_.push_back(m); +} +#line 3197 "dhcp6_parser.cc" // lalr1.cc:859 + break; + + case 568: +#line 1952 "dhcp6_parser.yy" // lalr1.cc:859 + { + // parsing completed +} +#line 3205 "dhcp6_parser.cc" // lalr1.cc:859 + break; + + case 572: +#line 1968 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("loggers", l); ctx.stack_.push_back(l); ctx.enter(ctx.LOGGERS); } -#line 3192 "dhcp6_parser.cc" // lalr1.cc:859 +#line 3216 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 571: -#line 1965 "dhcp6_parser.yy" // lalr1.cc:859 + case 573: +#line 1973 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); ctx.leave(); } -#line 3201 "dhcp6_parser.cc" // lalr1.cc:859 +#line 3225 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 574: -#line 1977 "dhcp6_parser.yy" // lalr1.cc:859 + case 576: +#line 1985 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr l(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(l); ctx.stack_.push_back(l); } -#line 3211 "dhcp6_parser.cc" // lalr1.cc:859 +#line 3235 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 575: -#line 1981 "dhcp6_parser.yy" // lalr1.cc:859 + case 577: +#line 1989 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); } -#line 3219 "dhcp6_parser.cc" // lalr1.cc:859 +#line 3243 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 585: -#line 1998 "dhcp6_parser.yy" // lalr1.cc:859 + case 587: +#line 2006 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr dl(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("debuglevel", dl); } -#line 3228 "dhcp6_parser.cc" // lalr1.cc:859 +#line 3252 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 586: -#line 2003 "dhcp6_parser.yy" // lalr1.cc:859 + case 588: +#line 2011 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } -#line 3236 "dhcp6_parser.cc" // lalr1.cc:859 +#line 3260 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 587: -#line 2005 "dhcp6_parser.yy" // lalr1.cc:859 + case 589: +#line 2013 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr sev(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("severity", sev); ctx.leave(); } -#line 3246 "dhcp6_parser.cc" // lalr1.cc:859 +#line 3270 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 588: -#line 2011 "dhcp6_parser.yy" // lalr1.cc:859 + case 590: +#line 2019 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("output_options", l); ctx.stack_.push_back(l); ctx.enter(ctx.OUTPUT_OPTIONS); } -#line 3257 "dhcp6_parser.cc" // lalr1.cc:859 +#line 3281 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 589: -#line 2016 "dhcp6_parser.yy" // lalr1.cc:859 + case 591: +#line 2024 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); ctx.leave(); } -#line 3266 "dhcp6_parser.cc" // lalr1.cc:859 +#line 3290 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 592: -#line 2025 "dhcp6_parser.yy" // lalr1.cc:859 + case 594: +#line 2033 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 3276 "dhcp6_parser.cc" // lalr1.cc:859 +#line 3300 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 593: -#line 2029 "dhcp6_parser.yy" // lalr1.cc:859 + case 595: +#line 2037 "dhcp6_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); } -#line 3284 "dhcp6_parser.cc" // lalr1.cc:859 - break; - - case 600: -#line 2043 "dhcp6_parser.yy" // lalr1.cc:859 - { - ctx.enter(ctx.NO_KEYWORD); -} -#line 3292 "dhcp6_parser.cc" // lalr1.cc:859 - break; - - case 601: -#line 2045 "dhcp6_parser.yy" // lalr1.cc:859 - { - ElementPtr sev(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); - ctx.stack_.back()->set("output", sev); - ctx.leave(); -} -#line 3302 "dhcp6_parser.cc" // lalr1.cc:859 +#line 3308 "dhcp6_parser.cc" // lalr1.cc:859 break; case 602: #line 2051 "dhcp6_parser.yy" // lalr1.cc:859 { - ElementPtr flush(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); - ctx.stack_.back()->set("flush", flush); + ctx.enter(ctx.NO_KEYWORD); } -#line 3311 "dhcp6_parser.cc" // lalr1.cc:859 +#line 3316 "dhcp6_parser.cc" // lalr1.cc:859 break; case 603: -#line 2056 "dhcp6_parser.yy" // lalr1.cc:859 +#line 2053 "dhcp6_parser.yy" // lalr1.cc:859 + { + ElementPtr sev(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); + ctx.stack_.back()->set("output", sev); + ctx.leave(); +} +#line 3326 "dhcp6_parser.cc" // lalr1.cc:859 + break; + + case 604: +#line 2059 "dhcp6_parser.yy" // lalr1.cc:859 + { + ElementPtr flush(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); + ctx.stack_.back()->set("flush", flush); +} +#line 3335 "dhcp6_parser.cc" // lalr1.cc:859 + break; + + case 605: +#line 2064 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr maxsize(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("maxsize", maxsize); } -#line 3320 "dhcp6_parser.cc" // lalr1.cc:859 +#line 3344 "dhcp6_parser.cc" // lalr1.cc:859 break; - case 604: -#line 2061 "dhcp6_parser.yy" // lalr1.cc:859 + case 606: +#line 2069 "dhcp6_parser.yy" // lalr1.cc:859 { ElementPtr maxver(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("maxver", maxver); } -#line 3329 "dhcp6_parser.cc" // lalr1.cc:859 +#line 3353 "dhcp6_parser.cc" // lalr1.cc:859 break; -#line 3333 "dhcp6_parser.cc" // lalr1.cc:859 +#line 3357 "dhcp6_parser.cc" // lalr1.cc:859 default: break; } @@ -3584,180 +3608,182 @@ namespace isc { namespace dhcp { } - const short int Dhcp6Parser::yypact_ninf_ = -745; + const short int Dhcp6Parser::yypact_ninf_ = -764; const signed char Dhcp6Parser::yytable_ninf_ = -1; const short int Dhcp6Parser::yypact_[] = { - 280, -745, -745, -745, -745, -745, -745, -745, -745, -745, - -745, -745, -745, -745, 48, 23, 76, 82, 92, 148, - 155, 159, 163, 167, 173, 237, 254, 261, -745, -745, - -745, -745, -745, -745, -745, -745, -745, -745, -745, -745, - -745, -745, -745, -745, -745, -745, -745, -745, -745, -745, - -745, -745, -745, -745, -745, -745, -745, -745, -745, -745, - -745, -745, -745, -745, 23, 34, 27, 157, 29, 44, - -3, 179, 330, 185, 225, 244, -40, 461, -745, 263, - 274, 298, 270, 309, -745, -745, -745, -745, -745, 310, - -745, 35, -745, -745, -745, -745, -745, -745, -745, -745, - -745, 316, 320, 322, 328, 329, -745, -745, -745, -745, - -745, -745, -745, -745, -745, -745, -745, -745, -745, 335, - -745, -745, -745, 47, -745, -745, -745, -745, -745, -745, - -745, -745, -745, -745, -745, -745, -745, -745, -745, -745, - -745, -745, -745, -745, -745, -745, -745, -745, -745, -745, - 356, -745, 61, -745, -745, -745, -745, -745, -745, -745, - -745, -745, -745, -745, 361, 367, -745, -745, -745, -745, - -745, -745, -745, -745, -745, 87, -745, -745, -745, -745, - -745, -745, -745, -745, -745, -745, -745, -745, -745, -745, - -745, -745, -745, -745, 88, -745, -745, -745, -745, -745, - 369, -745, 372, 375, -745, -745, -745, -745, 90, -745, - -745, -745, -745, -745, -745, -745, -745, -745, -745, -745, - -745, -745, -745, -745, -745, -745, 305, 344, -745, -745, - -745, -745, -745, -745, -745, -745, 373, -745, -745, 376, - -745, -745, -745, 378, -745, -745, 381, 380, -745, -745, - -745, -745, -745, -745, -745, -745, -745, -745, -745, -745, - -745, 389, 393, -745, -745, -745, -745, 390, 397, -745, - -745, -745, -745, -745, -745, -745, -745, -745, -745, -745, - -745, 124, -745, -745, -745, 398, -745, -745, 399, -745, - 400, 408, -745, -745, 409, 410, 411, -745, -745, -745, - -745, -745, 144, -745, -745, -745, -745, -745, -745, -745, - -745, -745, -745, -745, -745, -745, -745, -745, -745, 23, - 23, -745, 264, 413, 428, 429, 430, 431, -745, 27, - -745, 432, 436, 437, 289, 290, 292, 293, 294, 440, - 444, 445, 446, 447, 448, 450, 451, 452, 453, 454, - 455, 456, 308, 458, 459, 157, -745, 460, 311, 29, - -745, 217, 463, 464, 465, 466, 467, 312, 317, 469, - 470, 474, 475, 44, -745, 476, -3, -745, 477, 331, - 479, 332, 336, 179, -745, 486, 490, 491, 492, 493, - 495, 501, -745, 330, -745, 502, 503, 355, 506, 507, - 508, 358, -745, 225, 510, 360, 364, -745, 244, 512, - 516, -27, -745, 368, 520, 521, 374, 522, 377, 382, - 524, 525, 384, 385, 386, 527, 532, 461, -745, -745, - -745, 533, 535, 536, 23, 23, 23, -745, 537, 538, - 539, -745, -745, -745, -745, -745, 542, 544, 546, 545, - 23, 548, 549, 551, 552, 553, 554, 555, 556, -745, - 557, 558, -745, 576, -745, -745, -745, -745, -745, -745, - -745, -745, 574, 580, -745, -745, -745, 579, 581, 433, - 435, 438, -745, -745, 15, 439, 583, 582, -745, 441, - -745, 442, -745, 443, -745, -745, -745, 576, 576, 576, - 449, 457, 462, 468, -745, 471, 472, -745, 473, 478, - 480, -745, -745, 481, -745, -745, -745, 482, 23, -745, - -745, 483, 484, -745, 485, -745, -745, 133, 488, -745, - -745, -745, -4, 487, -745, 23, 157, 489, -745, -745, - -745, 29, 182, 182, 585, 589, 590, -745, -745, -745, - 591, -38, 23, 46, 24, 592, 54, 31, 240, 461, - -745, -745, 596, -745, 217, 595, 597, -745, -745, -745, - -745, -745, -745, -745, -745, 598, 526, -745, -745, -745, - -745, -745, -745, -745, -745, -745, -745, -745, -745, -745, - -745, -745, -745, -745, -745, -745, -745, -745, -745, -745, - -745, -745, -745, -745, -745, -745, -745, -745, -745, -745, - 145, -745, 194, -745, -745, 212, -745, -745, -745, -745, - 599, 602, 603, 607, 608, -745, -745, -745, 215, -745, - -745, -745, -745, -745, -745, -745, -745, -745, -745, -745, - -745, -745, -745, -745, 239, -745, 609, 613, -745, -745, - 612, 616, -745, -745, 615, 619, -745, -745, 620, 624, - -745, -745, -745, 64, -745, -745, -745, 622, -745, -745, - -745, 132, -745, -745, -745, -745, 181, -745, 623, 628, - -745, 634, 636, 637, 638, 639, 640, 243, -745, -745, - -745, -745, -745, -745, -745, -745, -745, 641, 642, 643, - -745, -745, -745, -745, 249, -745, -745, -745, -745, -745, - -745, -745, -745, -745, -745, -745, 257, -745, -745, -745, - -745, -745, 272, 496, 497, -745, -745, 644, 648, -745, - -745, 646, 650, -745, -745, 649, 651, -745, -745, 652, - -745, 653, 489, -745, -745, 654, 655, 657, 658, 407, - 406, 511, 513, 514, 659, 661, 182, -745, -745, 44, - -745, 585, 225, -745, 589, 244, -745, 590, 77, -745, - 591, -38, -745, -745, 46, -745, 24, -745, -40, -745, - 592, 517, 518, 519, 523, 528, 529, 54, -745, 662, - 665, 530, 531, 534, 31, -745, 669, 670, 671, 240, - -745, -745, -745, 672, 674, -745, -3, -745, 595, 179, - -745, 597, 330, -745, 598, 675, -745, 680, -745, 338, - 504, 540, 543, -745, -745, -745, -745, -745, 565, 566, - -745, 291, -745, 678, -745, 681, -745, -745, -745, -745, - -745, -745, -745, -745, -745, -745, -745, -745, -745, 300, - -745, -745, -745, -745, -745, -745, -745, -745, -745, 327, - -745, -745, -745, -745, -745, -745, -745, -745, 105, 569, - -745, -745, -745, -745, 23, 570, 573, -745, -745, 575, - 333, -745, 337, -745, 686, -745, 577, 673, -745, -745, - -745, -745, -745, -745, -745, -745, -745, -745, -745, -745, - -745, 77, -745, -745, -745, -745, -745, -745, -745, -745, - -745, -745, -745, -745, -745, -745, -745, -745, 213, -745, - -745, 259, 673, -745, -745, 684, -745, -745, -745, -745, - -745, 343, -745, -745, -745, -745, -745, 694, 550, 701, - 259, -745, 703, -745, 578, -745, 702, -745, -745, 273, - -745, 26, 702, -745, -745, 727, 728, 730, 346, -745, - -745, -745, -745, -745, -745, 731, 586, 584, 605, 26, - -745, 593, -745, -745, -745, -745, -745 + 315, -764, -764, -764, -764, -764, -764, -764, -764, -764, + -764, -764, -764, -764, -764, 42, 26, 41, 60, 89, + 91, 112, 118, 139, 143, 152, 157, 159, 171, 182, + -764, -764, -764, -764, -764, -764, -764, -764, -764, -764, + -764, -764, -764, -764, -764, -764, -764, -764, -764, -764, + -764, -764, -764, -764, -764, -764, -764, -764, -764, -764, + -764, -764, -764, -764, -764, -764, -764, -764, 26, -109, + 33, 186, 34, 49, 46, -2, 206, 57, 149, 208, + -27, 437, 29, -764, 235, 234, 254, 259, 271, -764, + -764, -764, -764, -764, 276, -764, 37, -764, -764, -764, + -764, -764, -764, -764, -764, -764, 285, 286, 295, 307, + 312, -764, -764, -764, -764, -764, -764, -764, -764, -764, + -764, -764, -764, -764, 320, -764, -764, -764, 61, -764, + -764, -764, -764, -764, -764, -764, -764, -764, -764, -764, + -764, -764, -764, -764, -764, -764, -764, -764, -764, -764, + -764, -764, -764, -764, -764, 331, -764, 67, -764, -764, + -764, -764, -764, -764, -764, -764, -764, -764, -764, 334, + 336, -764, -764, -764, -764, -764, -764, -764, -764, -764, + 85, -764, -764, -764, -764, -764, -764, -764, -764, -764, + -764, -764, -764, -764, -764, -764, -764, -764, -764, 128, + -764, -764, -764, -764, -764, 337, -764, 340, 342, -764, + -764, -764, -764, 132, -764, -764, -764, -764, -764, -764, + -764, -764, -764, -764, -764, -764, -764, -764, -764, -764, + -764, 344, 351, -764, -764, -764, -764, -764, -764, -764, + -764, 350, -764, -764, 358, -764, -764, -764, 360, -764, + -764, 357, 364, -764, -764, -764, -764, -764, -764, -764, + -764, -764, -764, -764, -764, -764, 366, 367, -764, -764, + -764, -764, 376, 371, -764, -764, -764, -764, -764, -764, + -764, -764, -764, -764, -764, -764, 140, -764, -764, -764, + 382, -764, -764, 389, -764, 390, 392, -764, -764, 393, + 394, 396, -764, -764, -764, -764, -764, 144, -764, -764, + -764, -764, -764, -764, -764, -764, -764, -764, -764, -764, + -764, -764, -764, -764, 146, -764, -764, -764, 26, 26, + -764, 249, 399, 412, 413, 414, 415, -764, 33, -764, + 416, 417, 418, 221, 272, 273, 274, 275, 421, 426, + 430, 431, 432, 433, 434, 435, 436, 438, 439, 440, + 441, 287, 442, 444, 186, -764, 445, 313, 34, -764, + 154, 447, 464, 466, 467, 468, 319, 323, 471, 472, + 473, 474, 49, -764, 476, 46, -764, 477, 329, 478, + 330, 335, -2, -764, 484, 488, 491, 492, 493, 494, + 495, -764, 206, -764, 496, 500, 353, 501, 505, 506, + 355, -764, 149, 509, 361, 362, -764, 208, 510, 512, + 1, -764, 365, 515, 516, 372, 521, 373, 374, 526, + 527, 377, 379, 380, 528, 533, 437, -764, 535, 29, + -764, -764, -764, 536, 534, 550, 26, 26, 26, -764, + 552, 554, 555, -764, -764, -764, -764, -764, 558, 559, + 561, 560, 26, 563, 564, 565, 566, 567, 568, 569, + 570, -764, 571, 572, -764, 575, -764, -764, -764, -764, + -764, -764, -764, -764, 574, 580, -764, -764, -764, 579, + 581, 422, 443, 446, -764, -764, 284, 448, 582, 578, + -764, 449, -764, 450, -764, 451, -764, -764, -764, 575, + 575, 575, 452, 453, 454, 455, -764, 456, 457, -764, + 458, 459, 460, -764, -764, 461, -764, -764, -764, 462, + 26, -764, -764, 463, 465, -764, 469, -764, -764, 87, + 470, -764, -764, -764, -52, 475, -764, 583, -764, 26, + 186, 29, -764, -764, -764, 34, 385, 385, 584, 586, + 587, -764, -764, -764, 588, -36, 26, 240, 27, 590, + 205, 76, 156, 437, -764, -764, 585, -764, 154, 591, + 593, -764, -764, -764, -764, -764, -764, -764, -764, 610, + 537, -764, -764, -764, -764, -764, -764, -764, -764, -764, + -764, -764, -764, -764, -764, -764, -764, -764, -764, -764, + -764, -764, -764, -764, -764, -764, -764, -764, -764, -764, + -764, -764, -764, 613, -764, 150, 153, 169, -764, -764, + -764, -764, 617, 619, 620, 621, 622, -764, -764, -764, + 195, -764, -764, -764, -764, -764, -764, -764, -764, -764, + -764, -764, -764, -764, 201, -764, 623, 624, -764, -764, + 625, 627, -764, -764, 626, 630, -764, -764, 628, 632, + -764, -764, -764, 131, -764, -764, -764, 631, -764, -764, + -764, 222, -764, -764, -764, -764, 322, -764, 633, 635, + -764, 636, 637, 638, 639, 640, 641, 224, -764, -764, + -764, -764, -764, -764, -764, -764, -764, 642, 643, 644, + -764, -764, -764, -764, 228, -764, -764, -764, -764, -764, + -764, -764, -764, -764, -764, -764, 231, -764, -764, -764, + -764, -764, 237, 483, 497, -764, -764, 645, 646, -764, + -764, 647, 649, -764, -764, 648, 652, -764, -764, 650, + -764, 324, -764, -764, -764, -764, 653, 655, 656, 657, + 420, 507, 502, 508, 511, 658, 662, 385, -764, -764, + 49, -764, 584, 149, -764, 586, 208, -764, 587, 82, + -764, 588, -36, -764, -764, 240, -764, 27, -764, -27, + -764, 590, 513, 514, 517, 518, 519, 520, 205, -764, + 665, 666, 522, 523, 524, 76, -764, 671, 675, 676, + 156, -764, -764, -764, 677, 678, -764, 46, -764, 591, + -2, -764, 593, 206, -764, 610, 680, -764, 321, 613, + -764, 363, 529, 532, 538, -764, -764, -764, -764, -764, + 539, 540, -764, 258, -764, 679, -764, 681, -764, -764, + -764, -764, -764, -764, -764, -764, -764, -764, -764, -764, + -764, 267, -764, -764, -764, -764, -764, -764, -764, -764, + -764, 268, -764, -764, -764, -764, -764, -764, -764, -764, + 120, 541, -764, -764, -764, -764, 26, 542, 543, -764, + -764, 545, 270, -764, 298, -764, 682, -764, 546, -764, + 684, -764, -764, -764, -764, -764, 300, -764, -764, -764, + -764, -764, -764, -764, -764, -764, -764, -764, -764, -764, + -764, -764, -764, -764, -764, 82, -764, -764, -764, -764, + -764, -764, -764, -764, -764, -764, -764, -764, -764, -764, + -764, 698, 551, 703, 321, -764, -764, 707, -764, 576, + -764, 701, -764, -764, 328, -764, -6, 701, -764, -764, + 712, 714, 718, 302, -764, -764, -764, -764, -764, -764, + 724, 530, 577, 589, -6, -764, 592, -764, -764, -764, + -764, -764 }; const unsigned short int Dhcp6Parser::yydefact_[] = { 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, - 20, 22, 24, 26, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 43, - 36, 32, 31, 28, 29, 30, 35, 3, 33, 34, - 56, 5, 68, 7, 104, 9, 222, 11, 363, 13, - 386, 15, 414, 17, 288, 19, 296, 21, 333, 23, - 187, 25, 510, 27, 45, 39, 0, 0, 0, 0, - 0, 0, 416, 0, 298, 335, 0, 0, 47, 0, - 46, 0, 0, 40, 66, 565, 559, 561, 563, 0, - 65, 0, 58, 60, 62, 63, 64, 61, 102, 116, - 118, 0, 0, 0, 0, 0, 214, 286, 325, 374, - 376, 260, 160, 177, 168, 449, 179, 198, 468, 0, - 492, 508, 96, 0, 70, 72, 73, 74, 75, 76, - 79, 80, 81, 82, 84, 83, 88, 89, 77, 78, - 86, 87, 94, 95, 85, 90, 91, 92, 93, 113, - 0, 112, 0, 106, 108, 109, 110, 111, 453, 355, - 378, 245, 247, 249, 0, 0, 253, 251, 406, 445, - 244, 226, 227, 228, 229, 0, 224, 233, 234, 235, - 238, 240, 236, 237, 230, 231, 242, 243, 232, 239, - 241, 372, 371, 368, 0, 365, 367, 369, 370, 399, - 0, 402, 0, 0, 398, 393, 396, 397, 0, 388, - 390, 391, 394, 395, 392, 443, 431, 433, 435, 437, - 439, 441, 430, 427, 428, 429, 0, 417, 418, 422, - 423, 420, 424, 425, 426, 421, 0, 315, 150, 0, - 319, 317, 322, 0, 311, 312, 0, 299, 300, 302, - 314, 303, 304, 305, 321, 306, 307, 308, 309, 310, - 349, 0, 0, 347, 348, 351, 352, 0, 336, 337, - 339, 340, 341, 342, 343, 344, 345, 346, 194, 196, - 191, 0, 189, 192, 193, 0, 532, 534, 0, 537, - 0, 0, 541, 545, 0, 0, 0, 550, 557, 530, - 528, 529, 0, 512, 514, 515, 516, 517, 518, 519, - 520, 521, 522, 523, 524, 525, 526, 527, 44, 0, - 0, 37, 0, 0, 0, 0, 0, 0, 55, 0, - 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 20, 22, 24, 26, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 69, 0, 0, 0, - 105, 455, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 223, 0, 0, 364, 0, 0, - 0, 0, 0, 0, 387, 0, 0, 0, 0, 0, - 0, 0, 415, 0, 289, 0, 0, 0, 0, 0, - 0, 0, 297, 0, 0, 0, 0, 334, 0, 0, - 0, 0, 188, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 511, 48, - 41, 0, 0, 0, 0, 0, 0, 59, 0, 0, - 0, 97, 98, 99, 100, 101, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 491, - 0, 0, 71, 0, 115, 107, 466, 464, 465, 461, - 462, 463, 0, 456, 457, 459, 460, 0, 0, 0, - 0, 0, 258, 259, 0, 0, 0, 0, 225, 0, - 366, 0, 401, 0, 404, 405, 389, 0, 0, 0, - 0, 0, 0, 0, 419, 0, 0, 313, 0, 0, - 0, 324, 301, 0, 353, 354, 338, 0, 0, 190, - 531, 0, 0, 536, 0, 539, 540, 0, 0, 547, - 548, 549, 0, 0, 513, 0, 0, 0, 560, 562, - 564, 0, 0, 0, 216, 290, 327, 38, 375, 377, - 262, 0, 45, 0, 0, 181, 0, 0, 0, 0, - 49, 114, 0, 454, 0, 357, 380, 246, 248, 250, - 255, 256, 257, 254, 252, 408, 0, 373, 400, 403, - 444, 432, 434, 436, 438, 440, 442, 316, 151, 320, - 318, 323, 350, 195, 197, 533, 535, 538, 543, 544, - 542, 546, 552, 553, 554, 555, 556, 551, 558, 42, - 0, 570, 0, 567, 569, 0, 137, 143, 145, 147, - 0, 0, 0, 0, 0, 156, 158, 136, 0, 120, - 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, + 1, 45, 38, 34, 33, 30, 31, 32, 37, 3, + 35, 36, 58, 5, 70, 7, 106, 9, 222, 11, + 363, 13, 386, 15, 414, 17, 288, 19, 296, 21, + 333, 23, 187, 25, 510, 27, 567, 29, 47, 41, + 0, 0, 0, 0, 0, 0, 416, 0, 298, 335, + 0, 0, 0, 49, 0, 48, 0, 0, 42, 68, + 565, 559, 561, 563, 0, 67, 0, 60, 62, 64, + 65, 66, 63, 104, 118, 120, 0, 0, 0, 0, + 0, 214, 286, 325, 374, 376, 260, 160, 177, 168, + 449, 179, 198, 468, 0, 492, 508, 98, 0, 72, + 74, 75, 76, 77, 78, 81, 82, 83, 84, 86, + 85, 90, 91, 79, 80, 88, 89, 96, 97, 87, + 92, 93, 94, 95, 115, 0, 114, 0, 108, 110, + 111, 112, 113, 453, 355, 378, 245, 247, 249, 0, + 0, 253, 251, 406, 445, 244, 226, 227, 228, 229, + 0, 224, 233, 234, 235, 238, 240, 236, 237, 230, + 231, 242, 243, 232, 239, 241, 372, 371, 368, 0, + 365, 367, 369, 370, 399, 0, 402, 0, 0, 398, + 393, 396, 397, 0, 388, 390, 391, 394, 395, 392, + 443, 431, 433, 435, 437, 439, 441, 430, 427, 428, + 429, 0, 417, 418, 422, 423, 420, 424, 425, 426, + 421, 0, 315, 150, 0, 319, 317, 322, 0, 311, + 312, 0, 299, 300, 302, 314, 303, 304, 305, 321, + 306, 307, 308, 309, 310, 349, 0, 0, 347, 348, + 351, 352, 0, 336, 337, 339, 340, 341, 342, 343, + 344, 345, 346, 194, 196, 191, 0, 189, 192, 193, + 0, 532, 534, 0, 537, 0, 0, 541, 545, 0, + 0, 0, 550, 557, 530, 528, 529, 0, 512, 514, + 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, + 525, 526, 527, 572, 0, 569, 571, 46, 0, 0, + 39, 0, 0, 0, 0, 0, 0, 57, 0, 59, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 71, 0, 0, 0, 107, + 455, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 223, 0, 0, 364, 0, 0, 0, + 0, 0, 0, 387, 0, 0, 0, 0, 0, 0, + 0, 415, 0, 289, 0, 0, 0, 0, 0, 0, + 0, 297, 0, 0, 0, 0, 334, 0, 0, 0, + 0, 188, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 511, 0, 0, + 568, 50, 43, 0, 0, 0, 0, 0, 0, 61, + 0, 0, 0, 99, 100, 101, 102, 103, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 491, 0, 0, 73, 0, 117, 109, 466, 464, + 465, 461, 462, 463, 0, 456, 457, 459, 460, 0, + 0, 0, 0, 0, 258, 259, 0, 0, 0, 0, + 225, 0, 366, 0, 401, 0, 404, 405, 389, 0, + 0, 0, 0, 0, 0, 0, 419, 0, 0, 313, + 0, 0, 0, 324, 301, 0, 353, 354, 338, 0, + 0, 190, 531, 0, 0, 536, 0, 539, 540, 0, + 0, 547, 548, 549, 0, 0, 513, 0, 570, 0, + 0, 0, 560, 562, 564, 0, 0, 0, 216, 290, + 327, 40, 375, 377, 262, 0, 47, 0, 0, 181, + 0, 0, 0, 0, 51, 116, 0, 454, 0, 357, + 380, 246, 248, 250, 255, 256, 257, 254, 252, 408, + 0, 373, 400, 403, 444, 432, 434, 436, 438, 440, + 442, 316, 151, 320, 318, 323, 350, 195, 197, 533, + 535, 538, 543, 544, 542, 546, 552, 553, 554, 555, + 556, 551, 558, 0, 44, 0, 0, 0, 137, 143, + 145, 147, 0, 0, 0, 0, 0, 156, 158, 136, + 0, 122, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 0, 220, 0, 217, 218, 294, 0, 291, 292, 331, 0, 328, 329, 266, 0, 263, 264, 166, 167, 0, 162, 164, 165, 0, 175, 176, @@ -3766,481 +3792,482 @@ namespace isc { namespace dhcp { 203, 204, 205, 206, 207, 481, 487, 0, 0, 0, 480, 477, 478, 479, 0, 470, 472, 475, 473, 474, 476, 506, 501, 503, 500, 505, 0, 494, 496, 497, - 498, 499, 0, 51, 0, 458, 361, 0, 358, 359, + 498, 499, 0, 53, 0, 458, 361, 0, 358, 359, 384, 0, 381, 382, 412, 0, 409, 410, 447, 0, - 67, 0, 0, 566, 103, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 117, 119, 0, - 215, 0, 298, 287, 0, 335, 326, 0, 0, 261, - 0, 0, 161, 178, 0, 169, 0, 450, 0, 180, - 0, 0, 0, 0, 0, 0, 0, 0, 199, 0, - 0, 0, 0, 0, 0, 469, 0, 0, 0, 0, - 493, 509, 53, 0, 52, 467, 0, 356, 0, 0, - 379, 0, 416, 407, 0, 0, 446, 0, 568, 0, - 0, 0, 0, 149, 152, 153, 154, 155, 0, 0, - 121, 0, 219, 0, 293, 0, 330, 285, 280, 282, - 274, 275, 270, 271, 272, 273, 279, 278, 281, 0, - 268, 276, 283, 284, 277, 265, 163, 171, 452, 0, - 184, 208, 209, 210, 211, 212, 213, 201, 0, 0, - 486, 489, 490, 471, 0, 0, 0, 495, 50, 0, - 0, 360, 0, 383, 0, 411, 0, 0, 139, 140, - 141, 142, 138, 144, 146, 148, 157, 159, 221, 295, - 332, 0, 267, 186, 483, 484, 485, 482, 488, 507, - 502, 504, 54, 362, 385, 413, 448, 574, 0, 572, - 269, 0, 0, 571, 588, 0, 586, 584, 578, 582, - 583, 0, 576, 580, 581, 579, 573, 0, 0, 0, - 0, 575, 0, 585, 0, 577, 0, 587, 592, 0, - 590, 0, 0, 589, 600, 0, 0, 0, 0, 594, - 596, 597, 598, 599, 591, 0, 0, 0, 0, 0, - 593, 0, 602, 603, 604, 595, 601 + 576, 0, 574, 69, 566, 105, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 119, 121, + 0, 215, 0, 298, 287, 0, 335, 326, 0, 0, + 261, 0, 0, 161, 178, 0, 169, 0, 450, 0, + 180, 0, 0, 0, 0, 0, 0, 0, 0, 199, + 0, 0, 0, 0, 0, 0, 469, 0, 0, 0, + 0, 493, 509, 55, 0, 54, 467, 0, 356, 0, + 0, 379, 0, 416, 407, 0, 0, 446, 0, 0, + 573, 0, 0, 0, 0, 149, 152, 153, 154, 155, + 0, 0, 123, 0, 219, 0, 293, 0, 330, 285, + 280, 282, 274, 275, 270, 271, 272, 273, 279, 278, + 281, 0, 268, 276, 283, 284, 277, 265, 163, 171, + 452, 0, 184, 208, 209, 210, 211, 212, 213, 201, + 0, 0, 486, 489, 490, 471, 0, 0, 0, 495, + 52, 0, 0, 360, 0, 383, 0, 411, 0, 590, + 0, 588, 586, 580, 584, 585, 0, 578, 582, 583, + 581, 575, 139, 140, 141, 142, 138, 144, 146, 148, + 157, 159, 221, 295, 332, 0, 267, 186, 483, 484, + 485, 482, 488, 507, 502, 504, 56, 362, 385, 413, + 448, 0, 0, 0, 0, 577, 269, 0, 587, 0, + 579, 0, 589, 594, 0, 592, 0, 0, 591, 602, + 0, 0, 0, 0, 596, 598, 599, 600, 601, 593, + 0, 0, 0, 0, 0, 595, 0, 604, 605, 606, + 597, 603 }; const short int Dhcp6Parser::yypgoto_[] = { - -745, -745, -745, -745, -745, -745, -745, -745, -745, -745, - -745, -745, -745, -745, -745, 3, -745, 287, -745, -745, - -745, -745, -745, -745, 186, -745, -207, -745, -745, -745, - -66, -745, -745, -745, 419, -745, -745, -745, -745, 206, - 394, -68, -62, -48, -44, -745, -745, -745, -745, -745, - 211, 396, -745, -745, -745, -745, -745, -745, -745, 219, - 4, -745, -745, -745, -745, -745, -745, -745, -745, -745, - -745, -42, -745, -545, -745, -745, -745, -745, -745, -745, - -745, -745, -745, -745, -8, -526, -745, -745, -745, -745, - -10, -745, -745, -745, -745, -745, -745, -745, -745, -15, - -745, -745, -745, -12, 357, -745, -745, -745, -745, -745, - -745, -745, -20, -745, -745, -745, -745, -745, -745, -744, - -745, -745, -745, 8, -745, -745, -745, 12, 401, -745, - -745, -734, -745, -732, -745, -531, -745, -728, -745, -745, - -745, -719, -745, -745, -745, -745, 5, -745, -745, -129, - 700, -745, -745, -745, -745, -745, 13, -745, -745, -745, - 14, -745, 379, -745, -49, -745, -745, -745, -745, -745, - -46, -745, -745, -745, -745, -745, 2, -745, -745, -745, - 11, -745, -745, -745, 16, -745, 371, -745, -745, -745, - -745, -745, -745, -745, -745, -745, -745, -745, -28, -745, - -745, -745, -23, 412, -745, -745, -55, -745, -9, -745, - -745, -745, -745, -745, -25, -745, -745, -745, -22, 415, - -745, -745, -745, -745, -745, -745, -745, -745, -745, -745, - -745, -30, -745, -745, -745, -21, -745, 402, -745, -745, - -745, -745, -745, -745, -745, -745, -745, -745, -745, -745, - -745, -745, -716, -745, -745, -745, -745, -745, -745, -745, - -745, -745, 226, -745, -745, -745, -745, -745, -745, -5, - -745, -745, -745, -745, -745, -745, -745, -745, -745, -745, - -745, -745, -7, -745, -745, -745, -745, -745, -745, -745, - -745, -745, -745, -745, 234, 383, -745, -745, -745, -745, - -745, -745, -745, -745, -745, -745, -745, -745, -745, -745, - -745, -745, -745, -745, -745, -745, -745, -745, -745, -745, - -745, -745, -745, -745, -745, -745, -745, -745, 52, -745, - -745, -745, -126, -745, -745, -141, -745, -745, -745, -745, - -745, -745, -151, -745, -745, -167, -745, -745, -745, -745, - -745 + -764, -764, -764, -764, -764, -764, -764, -764, -764, -764, + -764, -764, -764, -764, -764, -764, -15, -764, 277, -764, + -764, -764, -764, -764, -764, 166, -764, -119, -764, -764, + -764, -70, -764, -764, -764, 395, -764, -764, -764, -764, + 187, 375, -59, -56, -53, -45, -764, -764, -764, -764, + -764, 181, 378, -764, -764, -764, -764, -764, -764, -764, + 184, -25, -764, -764, -764, -764, -764, -764, -764, -764, + -764, -764, -66, -764, -559, -764, -764, -764, -764, -764, + -764, -764, -764, -764, -764, -38, -552, -764, -764, -764, + -764, -37, -764, -764, -764, -764, -764, -764, -764, -764, + -42, -764, -764, -764, -35, 332, -764, -764, -764, -764, + -764, -764, -764, -47, -764, -764, -764, -764, -764, -764, + -763, -764, -764, -764, -17, -764, -764, -764, -11, 383, + -764, -764, -758, -764, -757, -764, -549, -764, -742, -764, + -764, -764, -741, -764, -764, -764, -764, -14, -764, -764, + -161, 692, -764, -764, -764, -764, -764, -5, -764, -764, + -764, -1, -764, 368, -764, -72, -764, -764, -764, -764, + -764, -61, -764, -764, -764, -764, -764, 3, -764, -764, + -764, -3, -764, -764, -764, 0, -764, 369, -764, -764, + -764, -764, -764, -764, -764, -764, -764, -764, -764, -41, + -764, -764, -764, -40, 398, -764, -764, -49, -764, -13, + -764, -764, -764, -764, -764, -34, -764, -764, -764, -39, + 397, -764, -764, -764, -764, -764, -764, -764, -764, -764, + -764, -764, -32, -764, -764, -764, -33, -764, 400, -764, + -764, -764, -764, -764, -764, -764, -764, -764, -764, -764, + -764, -764, -764, -740, -764, -764, -764, -764, -764, -764, + -764, -764, -764, 207, -764, -764, -764, -764, -764, -764, + -21, -764, -764, -764, -764, -764, -764, -764, -764, -764, + -764, -764, -764, -23, -764, -764, -764, -764, -764, -764, + -764, -764, -764, -764, -764, 218, 359, -764, -764, -764, + -764, -764, -764, -764, -764, -764, -764, -764, -764, -764, + -764, -764, -764, -764, -764, -764, -764, -764, -764, -764, + -764, -764, -764, -764, -764, -764, -764, -764, -764, -764, + 243, 370, -764, -764, -764, -31, -764, -764, -148, -764, + -764, -764, -764, -764, -764, -160, -764, -764, -175, -764, + -764, -764, -764, -764 }; const short int Dhcp6Parser::yydefgoto_[] = { - -1, 14, 15, 16, 17, 18, 19, 20, 21, 22, - 23, 24, 25, 26, 27, 78, 37, 38, 65, 548, - 82, 83, 39, 64, 79, 80, 561, 723, 803, 804, - 122, 41, 66, 91, 92, 93, 323, 43, 67, 123, - 124, 125, 126, 127, 128, 129, 130, 331, 45, 68, - 152, 153, 154, 357, 155, 131, 332, 132, 333, 628, - 629, 630, 745, 892, 631, 746, 632, 747, 633, 748, - 634, 245, 396, 636, 637, 638, 639, 640, 754, 641, - 755, 133, 345, 663, 664, 665, 666, 134, 347, 671, - 672, 673, 674, 135, 346, 136, 349, 678, 679, 680, - 778, 61, 76, 281, 282, 283, 409, 284, 410, 137, - 350, 687, 688, 689, 690, 691, 692, 693, 694, 138, - 339, 646, 647, 648, 759, 47, 69, 175, 176, 177, - 364, 178, 365, 179, 366, 180, 370, 181, 369, 573, - 182, 183, 139, 344, 658, 659, 660, 768, 849, 850, - 140, 340, 55, 73, 650, 651, 652, 762, 57, 74, - 246, 247, 248, 249, 250, 251, 252, 395, 253, 399, - 254, 398, 255, 256, 400, 257, 141, 341, 654, 655, - 656, 765, 59, 75, 267, 268, 269, 270, 271, 404, - 272, 273, 274, 275, 185, 362, 727, 728, 729, 806, - 49, 70, 194, 195, 196, 375, 142, 342, 143, 343, - 188, 363, 731, 732, 733, 809, 51, 71, 208, 209, - 210, 378, 211, 212, 380, 213, 214, 189, 371, 735, - 736, 737, 812, 53, 72, 226, 227, 228, 229, 386, - 230, 387, 231, 388, 232, 389, 233, 390, 234, 391, - 235, 385, 190, 372, 739, 815, 144, 348, 676, 361, - 472, 473, 474, 475, 476, 562, 145, 351, 704, 705, - 706, 789, 907, 707, 708, 790, 709, 710, 146, 147, - 353, 716, 717, 718, 797, 719, 798, 720, 721, 796, - 148, 354, 63, 77, 302, 303, 304, 305, 414, 306, - 415, 307, 308, 417, 309, 310, 311, 420, 600, 312, - 421, 313, 314, 315, 316, 425, 607, 317, 426, 94, - 325, 95, 326, 96, 327, 97, 324, 612, 613, 614, - 741, 918, 919, 921, 931, 932, 933, 934, 939, 935, - 937, 949, 950, 951, 958, 959, 960, 965, 961, 962, - 963 + -1, 15, 16, 17, 18, 19, 20, 21, 22, 23, + 24, 25, 26, 27, 28, 29, 83, 39, 40, 69, + 562, 87, 88, 41, 68, 84, 85, 575, 733, 814, + 815, 127, 43, 70, 96, 97, 98, 332, 45, 71, + 128, 129, 130, 131, 132, 133, 134, 135, 340, 47, + 72, 157, 158, 159, 366, 160, 136, 341, 137, 342, + 640, 641, 642, 756, 916, 643, 757, 644, 758, 645, + 759, 646, 250, 405, 648, 649, 650, 651, 652, 765, + 653, 766, 138, 354, 673, 674, 675, 676, 139, 356, + 681, 682, 683, 684, 140, 355, 141, 358, 688, 689, + 690, 789, 63, 80, 286, 287, 288, 418, 289, 419, + 142, 359, 697, 698, 699, 700, 701, 702, 703, 704, + 143, 348, 656, 657, 658, 770, 49, 73, 180, 181, + 182, 373, 183, 374, 184, 375, 185, 379, 186, 378, + 587, 187, 188, 144, 353, 668, 669, 670, 779, 861, + 862, 145, 349, 57, 77, 660, 661, 662, 773, 59, + 78, 251, 252, 253, 254, 255, 256, 257, 404, 258, + 408, 259, 407, 260, 261, 409, 262, 146, 350, 664, + 665, 666, 776, 61, 79, 272, 273, 274, 275, 276, + 413, 277, 278, 279, 280, 190, 371, 737, 738, 739, + 817, 51, 74, 199, 200, 201, 384, 147, 351, 148, + 352, 193, 372, 741, 742, 743, 820, 53, 75, 213, + 214, 215, 387, 216, 217, 389, 218, 219, 194, 380, + 745, 746, 747, 823, 55, 76, 231, 232, 233, 234, + 395, 235, 396, 236, 397, 237, 398, 238, 399, 239, + 400, 240, 394, 195, 381, 749, 826, 149, 357, 686, + 370, 484, 485, 486, 487, 488, 576, 150, 360, 714, + 715, 716, 800, 931, 717, 718, 801, 719, 720, 151, + 152, 362, 726, 727, 728, 808, 729, 809, 730, 731, + 807, 153, 363, 65, 81, 307, 308, 309, 310, 423, + 311, 424, 312, 313, 426, 314, 315, 316, 429, 614, + 317, 430, 318, 319, 320, 321, 434, 621, 322, 435, + 99, 334, 100, 335, 101, 336, 102, 333, 67, 82, + 324, 325, 326, 438, 751, 752, 828, 906, 907, 908, + 909, 943, 910, 941, 954, 955, 956, 963, 964, 965, + 970, 966, 967, 968 }; const unsigned short int Dhcp6Parser::yytable_[] = { - 90, 171, 151, 170, 192, 204, 222, 172, 244, 263, - 280, 299, 701, 156, 186, 197, 206, 224, 36, 258, - 276, 173, 300, 675, 843, 174, 265, 670, 29, 266, - 30, 158, 31, 264, 844, 108, 845, 84, 329, 661, - 847, 149, 150, 330, 278, 279, 191, 695, 28, 848, - 355, 158, 854, 109, 110, 356, 621, 278, 279, 157, - 187, 198, 207, 225, 359, 259, 277, 771, 301, 360, - 772, 184, 193, 205, 223, 101, 102, 103, 104, 570, - 571, 572, 108, 40, 158, 109, 110, 109, 110, 42, - 373, 376, 159, 383, 160, 374, 377, 167, 384, 44, - 109, 110, 161, 162, 163, 164, 165, 166, 101, 102, - 103, 104, 89, 106, 662, 108, 238, 167, 168, 602, - 603, 604, 605, 661, 668, 169, 669, 411, 696, 697, - 698, 699, 412, 109, 110, 774, 162, 163, 775, 165, - 166, 681, 682, 683, 684, 685, 686, 427, 355, 89, - 167, 606, 428, 740, 85, 46, 954, 843, 169, 955, - 956, 957, 48, 86, 87, 88, 50, 844, 98, 845, - 52, 99, 100, 847, 54, 32, 33, 34, 35, 89, - 56, 89, 848, 89, 776, 854, 81, 777, 101, 102, - 103, 104, 105, 106, 107, 108, 89, 742, 616, 904, - 905, 906, 743, 617, 618, 619, 620, 621, 622, 623, - 624, 625, 626, 109, 110, 359, 922, 108, 756, 923, - 744, 238, 107, 757, 111, 112, 113, 114, 115, 89, - 199, 200, 201, 202, 203, 109, 110, 846, 109, 110, - 116, 237, 756, 117, 58, 858, 787, 758, 670, 701, - 118, 788, 794, 598, 599, 108, 238, 795, 119, 120, - 799, 60, 121, 90, 238, 800, 239, 240, 62, 318, - 241, 242, 243, 109, 110, 427, 952, 319, 321, 953, - 801, 109, 110, 238, 260, 239, 240, 261, 262, 466, - 580, 581, 582, 151, 373, 467, 109, 711, 238, 898, - 109, 110, 320, 901, 156, 171, 470, 170, 902, 89, - 192, 172, 322, 392, 328, 109, 110, 204, 186, 468, - 334, 197, 429, 430, 335, 173, 336, 222, 206, 174, - 411, 89, 337, 338, 89, 903, 376, 244, 224, 352, - 383, 913, 263, 712, 713, 914, 940, 393, 258, 969, - 157, 941, 471, 276, 970, 888, 889, 890, 891, 265, - 358, 299, 266, 469, 187, 367, 264, 198, 108, 89, - 846, 368, 300, 379, 207, 184, 381, 89, 193, 382, - 397, 394, 401, 403, 225, 205, 109, 110, 924, 402, - 925, 926, 89, 405, 259, 223, 89, 406, 407, 277, - 408, 215, 413, 416, 418, 216, 217, 218, 219, 220, - 221, 89, 419, 422, 423, 424, 431, 432, 301, 1, - 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, - 12, 13, 433, 434, 435, 436, 438, 538, 539, 540, - 439, 440, 441, 442, 446, 443, 444, 445, 447, 448, - 449, 450, 451, 549, 452, 453, 454, 455, 456, 457, - 458, 459, 460, 461, 463, 482, 464, 477, 478, 479, - 480, 481, 483, 484, 485, 151, 627, 627, 486, 487, - 489, 491, 89, 493, 492, 494, 156, 642, 642, 495, - 497, 700, 714, 299, 498, 499, 500, 501, 467, 502, - 635, 635, 702, 715, 300, 503, 505, 506, 507, 470, - 508, 509, 510, 511, 513, 514, 517, 109, 110, 515, - 518, 594, 468, 520, 521, 522, 524, 523, 527, 528, - 525, 532, 157, 643, 643, 526, 533, 535, 609, 529, - 530, 531, 536, 537, 541, 542, 543, 544, 703, 545, - 301, 546, 30, 550, 551, 471, 552, 553, 554, 555, - 823, 824, 556, 557, 558, 559, 469, 285, 286, 287, - 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, - 298, 560, 563, 564, 565, 567, 566, 568, 575, 576, - 569, 574, 645, 577, 578, 579, 649, 653, 657, 677, - 724, 583, 726, 749, 730, 734, 750, 751, 738, 584, - 601, 752, 753, 89, 585, 760, 761, 611, 763, 764, - 586, 766, 767, 587, 588, 589, 769, 770, 773, 779, - 590, 780, 591, 592, 593, 595, 596, 597, 781, 608, - 782, 783, 784, 785, 786, 791, 792, 793, 802, 805, - 807, 808, 810, 811, 814, 813, 893, 817, 819, 820, - 816, 821, 822, 828, 825, 829, 868, 827, 826, 869, - 861, 862, 863, 874, 875, 876, 864, 879, 878, 886, - 917, 865, 866, 870, 871, 887, 899, 872, 938, 900, - 627, 171, 894, 170, 915, 895, 244, 172, 942, 263, - 838, 642, 837, 943, 186, 944, 839, 258, 946, 948, - 276, 173, 280, 852, 635, 174, 265, 896, 897, 266, - 840, 908, 910, 264, 841, 911, 842, 912, 700, 916, - 947, 966, 967, 714, 968, 971, 547, 973, 667, 702, - 192, 972, 610, 204, 715, 976, 222, 643, 437, 462, - 187, 197, 615, 259, 206, 465, 277, 224, 974, 853, - 830, 184, 644, 856, 857, 860, 859, 867, 519, 832, - 851, 831, 920, 236, 488, 855, 833, 834, 836, 516, - 881, 835, 512, 880, 885, 703, 883, 882, 490, 873, - 725, 884, 877, 722, 818, 504, 936, 198, 496, 945, - 207, 964, 975, 225, 0, 0, 0, 0, 193, 0, - 534, 205, 0, 0, 223, 0, 0, 0, 0, 0, + 95, 38, 156, 175, 197, 209, 227, 270, 249, 268, + 285, 304, 711, 269, 176, 680, 855, 177, 271, 685, + 178, 856, 857, 161, 191, 202, 211, 229, 179, 263, + 281, 31, 305, 32, 163, 33, 113, 859, 860, 866, + 338, 671, 30, 89, 86, 339, 154, 155, 42, 204, + 205, 206, 207, 208, 114, 115, 163, 283, 284, 162, + 192, 203, 212, 230, 364, 264, 282, 44, 306, 365, + 368, 616, 617, 618, 619, 369, 189, 198, 210, 228, + 106, 107, 108, 109, 113, 283, 284, 113, 382, 163, + 114, 115, 705, 383, 112, 196, 46, 164, 48, 165, + 172, 633, 114, 115, 620, 114, 115, 166, 167, 168, + 169, 170, 171, 106, 107, 108, 109, 672, 111, 50, + 113, 243, 172, 173, 959, 52, 94, 960, 961, 962, + 174, 385, 114, 115, 782, 392, 386, 783, 114, 115, + 393, 167, 168, 420, 170, 171, 54, 436, 421, 439, + 56, 94, 437, 364, 440, 172, 439, 323, 753, 58, + 90, 754, 855, 174, 60, 242, 62, 856, 857, 91, + 92, 93, 368, 706, 707, 708, 709, 755, 64, 34, + 35, 36, 37, 859, 860, 866, 94, 94, 243, 66, + 244, 245, 113, 243, 246, 247, 248, 103, 767, 94, + 104, 105, 94, 768, 767, 114, 115, 612, 613, 769, + 114, 115, 114, 721, 928, 929, 930, 106, 107, 108, + 109, 110, 111, 112, 113, 785, 478, 798, 786, 94, + 858, 805, 799, 680, 810, 94, 806, 328, 870, 811, + 436, 327, 114, 115, 113, 812, 711, 243, 265, 244, + 245, 266, 267, 116, 117, 118, 119, 120, 329, 722, + 723, 382, 114, 115, 114, 115, 922, 330, 95, 121, + 925, 420, 122, 385, 331, 926, 927, 220, 937, 123, + 337, 221, 222, 223, 224, 225, 226, 124, 125, 343, + 344, 126, 691, 692, 693, 694, 695, 696, 156, 345, + 479, 392, 94, 944, 480, 974, 938, 94, 945, 94, + 975, 346, 175, 441, 442, 197, 347, 671, 678, 161, + 679, 482, 209, 176, 361, 787, 177, 829, 788, 178, + 830, 957, 227, 191, 958, 367, 202, 179, 376, 94, + 377, 388, 249, 211, 390, 270, 391, 268, 584, 585, + 586, 269, 401, 229, 402, 162, 271, 483, 403, 94, + 243, 94, 406, 263, 410, 411, 304, 412, 281, 192, + 414, 415, 203, 481, 417, 453, 858, 114, 115, 212, + 912, 913, 914, 915, 416, 189, 422, 305, 198, 230, + 594, 595, 596, 425, 427, 210, 428, 431, 432, 264, + 433, 628, 443, 444, 282, 228, 629, 630, 631, 632, + 633, 634, 635, 636, 637, 638, 445, 446, 447, 448, + 450, 451, 452, 306, 243, 458, 454, 455, 456, 457, + 459, 552, 553, 554, 460, 461, 462, 463, 464, 465, + 466, 471, 467, 468, 469, 470, 472, 563, 473, 475, + 899, 489, 900, 901, 1, 2, 3, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 14, 490, 476, + 491, 492, 493, 494, 94, 496, 497, 498, 499, 495, + 501, 503, 505, 504, 506, 156, 639, 639, 509, 507, + 647, 647, 510, 114, 115, 511, 512, 513, 514, 515, + 517, 710, 724, 304, 518, 520, 161, 519, 479, 521, + 522, 523, 480, 525, 529, 608, 530, 526, 527, 533, + 534, 532, 712, 725, 305, 536, 535, 537, 538, 482, + 539, 540, 544, 541, 624, 542, 543, 545, 94, 547, + 549, 550, 162, 290, 291, 292, 293, 294, 295, 296, + 297, 298, 299, 300, 301, 302, 303, 551, 713, 555, + 306, 556, 557, 558, 559, 483, 560, 32, 564, 565, + 566, 567, 568, 569, 835, 581, 570, 571, 572, 573, + 574, 481, 577, 578, 579, 590, 580, 589, 623, 734, + 94, 655, 615, 659, 663, 667, 582, 687, 736, 583, + 740, 588, 591, 592, 593, 597, 598, 599, 600, 601, + 602, 603, 604, 605, 606, 607, 609, 744, 610, 748, + 750, 760, 611, 761, 762, 763, 764, 772, 622, 771, + 775, 774, 777, 778, 780, 781, 813, 784, 791, 790, + 792, 793, 794, 795, 796, 797, 802, 803, 804, 819, + 816, 818, 822, 821, 824, 825, 837, 831, 827, 832, + 833, 834, 840, 836, 838, 839, 841, 873, 874, 880, + 881, 875, 876, 877, 878, 886, 882, 883, 884, 887, + 888, 891, 917, 890, 898, 918, 977, 923, 942, 924, + 939, 919, 920, 921, 932, 934, 935, 639, 936, 940, + 175, 647, 947, 249, 270, 948, 268, 949, 953, 849, + 269, 176, 951, 854, 177, 271, 971, 178, 972, 285, + 850, 191, 973, 851, 263, 179, 852, 281, 976, 952, + 864, 978, 677, 449, 853, 710, 627, 625, 561, 474, + 724, 654, 842, 979, 868, 981, 477, 197, 869, 872, + 209, 879, 531, 227, 871, 844, 712, 192, 902, 843, + 264, 725, 903, 282, 946, 500, 865, 867, 202, 241, + 846, 211, 845, 189, 229, 848, 847, 892, 893, 904, + 524, 894, 863, 502, 885, 735, 528, 889, 895, 508, + 896, 732, 713, 897, 626, 546, 950, 969, 911, 980, + 0, 0, 516, 0, 203, 0, 0, 212, 0, 548, + 230, 0, 0, 0, 0, 905, 0, 0, 0, 0, + 198, 0, 0, 210, 0, 0, 228, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 838, 0, 837, 0, 0, 0, 839, - 0, 0, 0, 0, 0, 0, 852, 0, 0, 0, - 0, 0, 0, 840, 0, 927, 0, 841, 0, 842, - 0, 0, 0, 0, 0, 0, 929, 0, 0, 0, - 0, 0, 0, 0, 927, 0, 0, 909, 0, 928, - 0, 0, 0, 0, 0, 929, 0, 0, 0, 0, - 0, 0, 853, 0, 0, 0, 0, 0, 928, 0, - 0, 0, 0, 851, 0, 0, 0, 0, 0, 0, - 0, 0, 930, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 930 + 0, 0, 0, 0, 0, 849, 0, 0, 0, 854, + 0, 0, 0, 0, 0, 0, 850, 0, 0, 851, + 0, 933, 852, 0, 902, 0, 864, 0, 903, 0, + 853, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 904, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 865, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 863, 0, + 0, 905 }; const short int Dhcp6Parser::yycheck_[] = { - 66, 69, 68, 69, 70, 71, 72, 69, 74, 75, - 76, 77, 557, 68, 69, 70, 71, 72, 15, 74, - 75, 69, 77, 554, 768, 69, 75, 553, 5, 75, - 7, 7, 9, 75, 768, 38, 768, 10, 3, 77, - 768, 12, 13, 8, 84, 85, 49, 16, 0, 768, - 3, 7, 768, 56, 57, 8, 25, 84, 85, 68, - 69, 70, 71, 72, 3, 74, 75, 3, 77, 8, - 6, 69, 70, 71, 72, 31, 32, 33, 34, 64, - 65, 66, 38, 7, 7, 56, 57, 56, 57, 7, - 3, 3, 48, 3, 50, 8, 8, 73, 8, 7, - 56, 57, 58, 59, 60, 61, 62, 63, 31, 32, - 33, 34, 152, 36, 152, 38, 39, 73, 74, 123, - 124, 125, 126, 77, 78, 81, 80, 3, 97, 98, - 99, 100, 8, 56, 57, 3, 59, 60, 6, 62, - 63, 87, 88, 89, 90, 91, 92, 3, 3, 152, - 73, 155, 8, 8, 127, 7, 130, 901, 81, 133, - 134, 135, 7, 136, 137, 138, 7, 901, 11, 901, - 7, 14, 15, 901, 7, 152, 153, 154, 155, 152, - 7, 152, 901, 152, 3, 901, 152, 6, 31, 32, - 33, 34, 35, 36, 37, 38, 152, 3, 16, 94, - 95, 96, 8, 21, 22, 23, 24, 25, 26, 27, - 28, 29, 30, 56, 57, 3, 3, 38, 3, 6, - 8, 39, 37, 8, 67, 68, 69, 70, 71, 152, - 51, 52, 53, 54, 55, 56, 57, 768, 56, 57, - 83, 16, 3, 86, 7, 776, 3, 8, 774, 794, - 93, 8, 3, 120, 121, 38, 39, 8, 101, 102, - 3, 7, 105, 329, 39, 8, 41, 42, 7, 6, - 45, 46, 47, 56, 57, 3, 3, 3, 8, 6, - 8, 56, 57, 39, 40, 41, 42, 43, 44, 72, - 497, 498, 499, 359, 3, 361, 56, 57, 39, 8, - 56, 57, 4, 3, 359, 373, 361, 373, 8, 152, - 376, 373, 3, 8, 4, 56, 57, 383, 373, 361, - 4, 376, 319, 320, 4, 373, 4, 393, 383, 373, - 3, 152, 4, 4, 152, 8, 3, 403, 393, 4, - 3, 8, 408, 103, 104, 8, 3, 3, 403, 3, - 359, 8, 361, 408, 8, 17, 18, 19, 20, 408, - 4, 427, 408, 361, 373, 4, 408, 376, 38, 152, - 901, 4, 427, 4, 383, 373, 4, 152, 376, 4, - 4, 8, 4, 3, 393, 383, 56, 57, 129, 8, - 131, 132, 152, 4, 403, 393, 152, 4, 8, 408, - 3, 71, 4, 4, 4, 75, 76, 77, 78, 79, - 80, 152, 4, 4, 4, 4, 152, 4, 427, 139, - 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, - 150, 151, 4, 4, 4, 4, 4, 434, 435, 436, - 4, 4, 153, 153, 4, 153, 153, 153, 4, 4, - 4, 4, 4, 450, 4, 4, 4, 4, 4, 4, - 4, 153, 4, 4, 4, 153, 155, 4, 4, 4, - 4, 4, 155, 4, 4, 541, 542, 543, 4, 4, - 4, 4, 152, 4, 153, 153, 541, 542, 543, 153, - 4, 557, 558, 559, 4, 4, 4, 4, 564, 4, - 542, 543, 557, 558, 559, 4, 4, 4, 153, 564, - 4, 4, 4, 155, 4, 155, 4, 56, 57, 155, - 4, 518, 564, 155, 4, 4, 4, 153, 4, 4, - 153, 4, 541, 542, 543, 153, 4, 4, 535, 155, - 155, 155, 7, 7, 7, 7, 7, 5, 557, 5, - 559, 5, 7, 5, 5, 564, 5, 5, 5, 5, - 153, 155, 7, 7, 7, 7, 564, 106, 107, 108, - 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, - 119, 5, 8, 3, 5, 152, 5, 152, 5, 7, - 152, 152, 7, 152, 152, 152, 7, 7, 7, 7, - 4, 152, 7, 4, 7, 7, 4, 4, 82, 152, - 122, 4, 4, 152, 152, 6, 3, 128, 6, 3, - 152, 6, 3, 152, 152, 152, 6, 3, 6, 6, - 152, 3, 152, 152, 152, 152, 152, 152, 4, 152, - 4, 4, 4, 4, 4, 4, 4, 4, 152, 152, - 6, 3, 6, 3, 3, 6, 152, 4, 4, 4, - 8, 4, 4, 4, 153, 4, 4, 153, 155, 4, - 153, 153, 153, 4, 4, 4, 153, 3, 6, 4, - 7, 153, 153, 153, 153, 5, 8, 153, 4, 8, - 756, 759, 152, 759, 8, 152, 762, 759, 4, 765, - 768, 756, 768, 153, 759, 4, 768, 762, 5, 7, - 765, 759, 778, 768, 756, 759, 765, 152, 152, 765, - 768, 152, 152, 765, 768, 152, 768, 152, 794, 152, - 152, 4, 4, 799, 4, 4, 449, 153, 552, 794, - 806, 155, 536, 809, 799, 152, 812, 756, 329, 355, - 759, 806, 541, 762, 809, 359, 765, 812, 153, 768, - 756, 759, 543, 771, 774, 780, 778, 787, 411, 761, - 768, 759, 901, 73, 373, 770, 762, 764, 767, 408, - 808, 765, 403, 806, 814, 794, 811, 809, 376, 794, - 564, 812, 799, 559, 742, 393, 922, 806, 383, 940, - 809, 952, 969, 812, -1, -1, -1, -1, 806, -1, - 427, 809, -1, -1, 812, -1, -1, -1, -1, -1, + 70, 16, 72, 73, 74, 75, 76, 79, 78, 79, + 80, 81, 571, 79, 73, 567, 779, 73, 79, 568, + 73, 779, 779, 72, 73, 74, 75, 76, 73, 78, + 79, 5, 81, 7, 7, 9, 38, 779, 779, 779, + 3, 77, 0, 10, 153, 8, 12, 13, 7, 51, + 52, 53, 54, 55, 56, 57, 7, 84, 85, 72, + 73, 74, 75, 76, 3, 78, 79, 7, 81, 8, + 3, 123, 124, 125, 126, 8, 73, 74, 75, 76, + 31, 32, 33, 34, 38, 84, 85, 38, 3, 7, + 56, 57, 16, 8, 37, 49, 7, 48, 7, 50, + 73, 25, 56, 57, 156, 56, 57, 58, 59, 60, + 61, 62, 63, 31, 32, 33, 34, 153, 36, 7, + 38, 39, 73, 74, 130, 7, 153, 133, 134, 135, + 81, 3, 56, 57, 3, 3, 8, 6, 56, 57, + 8, 59, 60, 3, 62, 63, 7, 3, 8, 3, + 7, 153, 8, 3, 8, 73, 3, 128, 8, 7, + 127, 8, 925, 81, 7, 16, 7, 925, 925, 136, + 137, 138, 3, 97, 98, 99, 100, 8, 7, 153, + 154, 155, 156, 925, 925, 925, 153, 153, 39, 7, + 41, 42, 38, 39, 45, 46, 47, 11, 3, 153, + 14, 15, 153, 8, 3, 56, 57, 120, 121, 8, + 56, 57, 56, 57, 94, 95, 96, 31, 32, 33, + 34, 35, 36, 37, 38, 3, 72, 3, 6, 153, + 779, 3, 8, 785, 3, 153, 8, 3, 787, 8, + 3, 6, 56, 57, 38, 8, 805, 39, 40, 41, + 42, 43, 44, 67, 68, 69, 70, 71, 4, 103, + 104, 3, 56, 57, 56, 57, 8, 8, 338, 83, + 3, 3, 86, 3, 3, 8, 8, 71, 8, 93, + 4, 75, 76, 77, 78, 79, 80, 101, 102, 4, + 4, 105, 87, 88, 89, 90, 91, 92, 368, 4, + 370, 3, 153, 3, 370, 3, 8, 153, 8, 153, + 8, 4, 382, 328, 329, 385, 4, 77, 78, 368, + 80, 370, 392, 382, 4, 3, 382, 3, 6, 382, + 6, 3, 402, 382, 6, 4, 385, 382, 4, 153, + 4, 4, 412, 392, 4, 417, 4, 417, 64, 65, + 66, 417, 8, 402, 3, 368, 417, 370, 8, 153, + 39, 153, 4, 412, 4, 8, 436, 3, 417, 382, + 4, 4, 385, 370, 3, 154, 925, 56, 57, 392, + 17, 18, 19, 20, 8, 382, 4, 436, 385, 402, + 509, 510, 511, 4, 4, 392, 4, 4, 4, 412, + 4, 16, 153, 4, 417, 402, 21, 22, 23, 24, + 25, 26, 27, 28, 29, 30, 4, 4, 4, 4, + 4, 4, 4, 436, 39, 4, 154, 154, 154, 154, + 4, 446, 447, 448, 4, 4, 4, 4, 4, 4, + 4, 154, 4, 4, 4, 4, 4, 462, 4, 4, + 129, 4, 131, 132, 139, 140, 141, 142, 143, 144, + 145, 146, 147, 148, 149, 150, 151, 152, 4, 156, + 4, 4, 4, 154, 153, 4, 4, 4, 4, 156, + 4, 4, 4, 154, 154, 555, 556, 557, 4, 154, + 556, 557, 4, 56, 57, 4, 4, 4, 4, 4, + 4, 571, 572, 573, 4, 4, 555, 154, 578, 4, + 4, 156, 578, 4, 4, 530, 4, 156, 156, 4, + 4, 156, 571, 572, 573, 4, 154, 154, 154, 578, + 4, 4, 4, 156, 549, 156, 156, 4, 153, 4, + 4, 7, 555, 106, 107, 108, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 118, 119, 7, 571, 7, + 573, 7, 7, 5, 5, 578, 5, 7, 5, 5, + 5, 5, 5, 5, 154, 153, 7, 7, 7, 7, + 5, 578, 8, 3, 5, 7, 5, 5, 5, 4, + 153, 7, 122, 7, 7, 7, 153, 7, 7, 153, + 7, 153, 153, 153, 153, 153, 153, 153, 153, 153, + 153, 153, 153, 153, 153, 153, 153, 7, 153, 82, + 7, 4, 153, 4, 4, 4, 4, 3, 153, 6, + 3, 6, 6, 3, 6, 3, 153, 6, 3, 6, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, + 153, 6, 3, 6, 6, 3, 154, 4, 8, 4, + 4, 4, 4, 156, 156, 154, 4, 154, 154, 4, + 4, 154, 154, 154, 154, 4, 154, 154, 154, 4, + 4, 3, 153, 6, 4, 153, 156, 8, 4, 8, + 8, 153, 153, 153, 153, 153, 153, 767, 153, 153, + 770, 767, 4, 773, 776, 154, 776, 4, 7, 779, + 776, 770, 5, 779, 770, 776, 4, 770, 4, 789, + 779, 770, 4, 779, 773, 770, 779, 776, 4, 153, + 779, 154, 566, 338, 779, 805, 555, 550, 461, 364, + 810, 557, 767, 154, 782, 153, 368, 817, 785, 791, + 820, 798, 420, 823, 789, 772, 805, 770, 828, 770, + 773, 810, 828, 776, 925, 382, 779, 781, 817, 77, + 775, 820, 773, 770, 823, 778, 776, 817, 819, 828, + 412, 820, 779, 385, 805, 578, 417, 810, 822, 392, + 823, 573, 805, 825, 551, 436, 944, 957, 829, 974, + -1, -1, 402, -1, 817, -1, -1, 820, -1, 439, + 823, -1, -1, -1, -1, 828, -1, -1, -1, -1, + 817, -1, -1, 820, -1, -1, 823, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 901, -1, 901, -1, -1, -1, 901, - -1, -1, -1, -1, -1, -1, 901, -1, -1, -1, - -1, -1, -1, 901, -1, 921, -1, 901, -1, 901, - -1, -1, -1, -1, -1, -1, 921, -1, -1, -1, - -1, -1, -1, -1, 940, -1, -1, 874, -1, 921, - -1, -1, -1, -1, -1, 940, -1, -1, -1, -1, - -1, -1, 901, -1, -1, -1, -1, -1, 940, -1, - -1, -1, -1, 901, -1, -1, -1, -1, -1, -1, - -1, -1, 921, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 940 + -1, -1, -1, -1, -1, 925, -1, -1, -1, 925, + -1, -1, -1, -1, -1, -1, 925, -1, -1, 925, + -1, 886, 925, -1, 944, -1, 925, -1, 944, -1, + 925, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 944, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 925, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 925, -1, + -1, 944 }; const unsigned short int Dhcp6Parser::yystos_[] = { 0, 139, 140, 141, 142, 143, 144, 145, 146, 147, - 148, 149, 150, 151, 157, 158, 159, 160, 161, 162, - 163, 164, 165, 166, 167, 168, 169, 170, 0, 5, - 7, 9, 152, 153, 154, 155, 171, 172, 173, 178, - 7, 187, 7, 193, 7, 204, 7, 281, 7, 356, - 7, 372, 7, 389, 7, 308, 7, 314, 7, 338, - 7, 257, 7, 448, 179, 174, 188, 194, 205, 282, - 357, 373, 390, 309, 315, 339, 258, 449, 171, 180, - 181, 152, 176, 177, 10, 127, 136, 137, 138, 152, - 186, 189, 190, 191, 475, 477, 479, 481, 11, 14, - 15, 31, 32, 33, 34, 35, 36, 37, 38, 56, - 57, 67, 68, 69, 70, 71, 83, 86, 93, 101, - 102, 105, 186, 195, 196, 197, 198, 199, 200, 201, - 202, 211, 213, 237, 243, 249, 251, 265, 275, 298, - 306, 332, 362, 364, 412, 422, 434, 435, 446, 12, - 13, 186, 206, 207, 208, 210, 362, 364, 7, 48, - 50, 58, 59, 60, 61, 62, 63, 73, 74, 81, - 186, 197, 198, 199, 200, 283, 284, 285, 287, 289, - 291, 293, 296, 297, 332, 350, 362, 364, 366, 383, - 408, 49, 186, 332, 358, 359, 360, 362, 364, 51, - 52, 53, 54, 55, 186, 332, 362, 364, 374, 375, - 376, 378, 379, 381, 382, 71, 75, 76, 77, 78, - 79, 80, 186, 332, 362, 364, 391, 392, 393, 394, - 396, 398, 400, 402, 404, 406, 306, 16, 39, 41, - 42, 45, 46, 47, 186, 227, 316, 317, 318, 319, - 320, 321, 322, 324, 326, 328, 329, 331, 362, 364, - 40, 43, 44, 186, 227, 320, 326, 340, 341, 342, - 343, 344, 346, 347, 348, 349, 362, 364, 84, 85, - 186, 259, 260, 261, 263, 106, 107, 108, 109, 110, - 111, 112, 113, 114, 115, 116, 117, 118, 119, 186, - 362, 364, 450, 451, 452, 453, 455, 457, 458, 460, - 461, 462, 465, 467, 468, 469, 470, 473, 6, 3, - 4, 8, 3, 192, 482, 476, 478, 480, 4, 3, - 8, 203, 212, 214, 4, 4, 4, 4, 4, 276, - 307, 333, 363, 365, 299, 238, 250, 244, 413, 252, - 266, 423, 4, 436, 447, 3, 8, 209, 4, 3, - 8, 415, 351, 367, 286, 288, 290, 4, 4, 294, - 292, 384, 409, 3, 8, 361, 3, 8, 377, 4, - 380, 4, 4, 3, 8, 407, 395, 397, 399, 401, - 403, 405, 8, 3, 8, 323, 228, 4, 327, 325, - 330, 4, 8, 3, 345, 4, 4, 8, 3, 262, - 264, 3, 8, 4, 454, 456, 4, 459, 4, 4, - 463, 466, 4, 4, 4, 471, 474, 3, 8, 171, - 171, 152, 4, 4, 4, 4, 4, 190, 4, 4, - 4, 153, 153, 153, 153, 153, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 153, - 4, 4, 196, 4, 155, 207, 72, 186, 227, 332, - 362, 364, 416, 417, 418, 419, 420, 4, 4, 4, - 4, 4, 153, 155, 4, 4, 4, 4, 284, 4, - 359, 4, 153, 4, 153, 153, 375, 4, 4, 4, - 4, 4, 4, 4, 393, 4, 4, 153, 4, 4, - 4, 155, 318, 4, 155, 155, 342, 4, 4, 260, - 155, 4, 4, 153, 4, 153, 153, 4, 4, 155, - 155, 155, 4, 4, 451, 4, 7, 7, 171, 171, - 171, 7, 7, 7, 5, 5, 5, 173, 175, 171, - 5, 5, 5, 5, 5, 5, 7, 7, 7, 7, - 5, 182, 421, 8, 3, 5, 5, 152, 152, 152, - 64, 65, 66, 295, 152, 5, 7, 152, 152, 152, - 182, 182, 182, 152, 152, 152, 152, 152, 152, 152, - 152, 152, 152, 152, 171, 152, 152, 152, 120, 121, - 464, 122, 123, 124, 125, 126, 155, 472, 152, 171, - 195, 128, 483, 484, 485, 206, 16, 21, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 186, 215, 216, - 217, 220, 222, 224, 226, 227, 229, 230, 231, 232, - 233, 235, 362, 364, 215, 7, 277, 278, 279, 7, - 310, 311, 312, 7, 334, 335, 336, 7, 300, 301, - 302, 77, 152, 239, 240, 241, 242, 180, 78, 80, - 241, 245, 246, 247, 248, 291, 414, 7, 253, 254, - 255, 87, 88, 89, 90, 91, 92, 267, 268, 269, - 270, 271, 272, 273, 274, 16, 97, 98, 99, 100, - 186, 229, 362, 364, 424, 425, 426, 429, 430, 432, - 433, 57, 103, 104, 186, 362, 437, 438, 439, 441, - 443, 444, 450, 183, 4, 418, 7, 352, 353, 354, - 7, 368, 369, 370, 7, 385, 386, 387, 82, 410, - 8, 486, 3, 8, 8, 218, 221, 223, 225, 4, - 4, 4, 4, 4, 234, 236, 3, 8, 8, 280, - 6, 3, 313, 6, 3, 337, 6, 3, 303, 6, - 3, 3, 6, 6, 3, 6, 3, 6, 256, 6, - 3, 4, 4, 4, 4, 4, 4, 3, 8, 427, - 431, 4, 4, 4, 3, 8, 445, 440, 442, 3, - 8, 8, 152, 184, 185, 152, 355, 6, 3, 371, - 6, 3, 388, 6, 3, 411, 8, 4, 484, 4, - 4, 4, 4, 153, 155, 153, 155, 153, 4, 4, - 216, 283, 279, 316, 312, 340, 336, 186, 197, 198, - 199, 200, 227, 275, 287, 289, 291, 293, 297, 304, - 305, 332, 362, 364, 408, 302, 240, 246, 291, 259, - 255, 153, 153, 153, 153, 153, 153, 268, 4, 4, - 153, 153, 153, 425, 4, 4, 4, 438, 6, 3, - 358, 354, 374, 370, 391, 387, 4, 5, 17, 18, - 19, 20, 219, 152, 152, 152, 152, 152, 8, 8, - 8, 3, 8, 8, 94, 95, 96, 428, 152, 171, - 152, 152, 152, 8, 8, 8, 152, 7, 487, 488, - 305, 489, 3, 6, 129, 131, 132, 186, 227, 362, - 364, 490, 491, 492, 493, 495, 488, 496, 4, 494, - 3, 8, 4, 153, 4, 491, 5, 152, 7, 497, - 498, 499, 3, 6, 130, 133, 134, 135, 500, 501, - 502, 504, 505, 506, 498, 503, 4, 4, 4, 3, - 8, 4, 155, 153, 153, 501, 152 + 148, 149, 150, 151, 152, 158, 159, 160, 161, 162, + 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, + 0, 5, 7, 9, 153, 154, 155, 156, 173, 174, + 175, 180, 7, 189, 7, 195, 7, 206, 7, 283, + 7, 358, 7, 374, 7, 391, 7, 310, 7, 316, + 7, 340, 7, 259, 7, 450, 7, 485, 181, 176, + 190, 196, 207, 284, 359, 375, 392, 311, 317, 341, + 260, 451, 486, 173, 182, 183, 153, 178, 179, 10, + 127, 136, 137, 138, 153, 188, 191, 192, 193, 477, + 479, 481, 483, 11, 14, 15, 31, 32, 33, 34, + 35, 36, 37, 38, 56, 57, 67, 68, 69, 70, + 71, 83, 86, 93, 101, 102, 105, 188, 197, 198, + 199, 200, 201, 202, 203, 204, 213, 215, 239, 245, + 251, 253, 267, 277, 300, 308, 334, 364, 366, 414, + 424, 436, 437, 448, 12, 13, 188, 208, 209, 210, + 212, 364, 366, 7, 48, 50, 58, 59, 60, 61, + 62, 63, 73, 74, 81, 188, 199, 200, 201, 202, + 285, 286, 287, 289, 291, 293, 295, 298, 299, 334, + 352, 364, 366, 368, 385, 410, 49, 188, 334, 360, + 361, 362, 364, 366, 51, 52, 53, 54, 55, 188, + 334, 364, 366, 376, 377, 378, 380, 381, 383, 384, + 71, 75, 76, 77, 78, 79, 80, 188, 334, 364, + 366, 393, 394, 395, 396, 398, 400, 402, 404, 406, + 408, 308, 16, 39, 41, 42, 45, 46, 47, 188, + 229, 318, 319, 320, 321, 322, 323, 324, 326, 328, + 330, 331, 333, 364, 366, 40, 43, 44, 188, 229, + 322, 328, 342, 343, 344, 345, 346, 348, 349, 350, + 351, 364, 366, 84, 85, 188, 261, 262, 263, 265, + 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 118, 119, 188, 364, 366, 452, 453, 454, + 455, 457, 459, 460, 462, 463, 464, 467, 469, 470, + 471, 472, 475, 128, 487, 488, 489, 6, 3, 4, + 8, 3, 194, 484, 478, 480, 482, 4, 3, 8, + 205, 214, 216, 4, 4, 4, 4, 4, 278, 309, + 335, 365, 367, 301, 240, 252, 246, 415, 254, 268, + 425, 4, 438, 449, 3, 8, 211, 4, 3, 8, + 417, 353, 369, 288, 290, 292, 4, 4, 296, 294, + 386, 411, 3, 8, 363, 3, 8, 379, 4, 382, + 4, 4, 3, 8, 409, 397, 399, 401, 403, 405, + 407, 8, 3, 8, 325, 230, 4, 329, 327, 332, + 4, 8, 3, 347, 4, 4, 8, 3, 264, 266, + 3, 8, 4, 456, 458, 4, 461, 4, 4, 465, + 468, 4, 4, 4, 473, 476, 3, 8, 490, 3, + 8, 173, 173, 153, 4, 4, 4, 4, 4, 192, + 4, 4, 4, 154, 154, 154, 154, 154, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 154, 4, 4, 198, 4, 156, 209, 72, 188, + 229, 334, 364, 366, 418, 419, 420, 421, 422, 4, + 4, 4, 4, 4, 154, 156, 4, 4, 4, 4, + 286, 4, 361, 4, 154, 4, 154, 154, 377, 4, + 4, 4, 4, 4, 4, 4, 395, 4, 4, 154, + 4, 4, 4, 156, 320, 4, 156, 156, 344, 4, + 4, 262, 156, 4, 4, 154, 4, 154, 154, 4, + 4, 156, 156, 156, 4, 4, 453, 4, 488, 4, + 7, 7, 173, 173, 173, 7, 7, 7, 5, 5, + 5, 175, 177, 173, 5, 5, 5, 5, 5, 5, + 7, 7, 7, 7, 5, 184, 423, 8, 3, 5, + 5, 153, 153, 153, 64, 65, 66, 297, 153, 5, + 7, 153, 153, 153, 184, 184, 184, 153, 153, 153, + 153, 153, 153, 153, 153, 153, 153, 153, 173, 153, + 153, 153, 120, 121, 466, 122, 123, 124, 125, 126, + 156, 474, 153, 5, 173, 197, 487, 208, 16, 21, + 22, 23, 24, 25, 26, 27, 28, 29, 30, 188, + 217, 218, 219, 222, 224, 226, 228, 229, 231, 232, + 233, 234, 235, 237, 217, 7, 279, 280, 281, 7, + 312, 313, 314, 7, 336, 337, 338, 7, 302, 303, + 304, 77, 153, 241, 242, 243, 244, 182, 78, 80, + 243, 247, 248, 249, 250, 293, 416, 7, 255, 256, + 257, 87, 88, 89, 90, 91, 92, 269, 270, 271, + 272, 273, 274, 275, 276, 16, 97, 98, 99, 100, + 188, 231, 364, 366, 426, 427, 428, 431, 432, 434, + 435, 57, 103, 104, 188, 364, 439, 440, 441, 443, + 445, 446, 452, 185, 4, 420, 7, 354, 355, 356, + 7, 370, 371, 372, 7, 387, 388, 389, 82, 412, + 7, 491, 492, 8, 8, 8, 220, 223, 225, 227, + 4, 4, 4, 4, 4, 236, 238, 3, 8, 8, + 282, 6, 3, 315, 6, 3, 339, 6, 3, 305, + 6, 3, 3, 6, 6, 3, 6, 3, 6, 258, + 6, 3, 4, 4, 4, 4, 4, 4, 3, 8, + 429, 433, 4, 4, 4, 3, 8, 447, 442, 444, + 3, 8, 8, 153, 186, 187, 153, 357, 6, 3, + 373, 6, 3, 390, 6, 3, 413, 8, 493, 3, + 6, 4, 4, 4, 4, 154, 156, 154, 156, 154, + 4, 4, 218, 285, 281, 318, 314, 342, 338, 188, + 199, 200, 201, 202, 229, 277, 289, 291, 293, 295, + 299, 306, 307, 334, 364, 366, 410, 304, 242, 248, + 293, 261, 257, 154, 154, 154, 154, 154, 154, 270, + 4, 4, 154, 154, 154, 427, 4, 4, 4, 440, + 6, 3, 360, 356, 376, 372, 393, 389, 4, 129, + 131, 132, 188, 229, 364, 366, 494, 495, 496, 497, + 499, 492, 17, 18, 19, 20, 221, 153, 153, 153, + 153, 153, 8, 8, 8, 3, 8, 8, 94, 95, + 96, 430, 153, 173, 153, 153, 153, 8, 8, 8, + 153, 500, 4, 498, 3, 8, 307, 4, 154, 4, + 495, 5, 153, 7, 501, 502, 503, 3, 6, 130, + 133, 134, 135, 504, 505, 506, 508, 509, 510, 502, + 507, 4, 4, 4, 3, 8, 4, 156, 154, 154, + 505, 153 }; const unsigned short int Dhcp6Parser::yyr1_[] = { - 0, 156, 158, 157, 159, 157, 160, 157, 161, 157, - 162, 157, 163, 157, 164, 157, 165, 157, 166, 157, - 167, 157, 168, 157, 169, 157, 170, 157, 171, 171, - 171, 171, 171, 171, 171, 172, 174, 173, 175, 176, - 176, 177, 177, 179, 178, 180, 180, 181, 181, 183, - 182, 184, 184, 185, 185, 186, 188, 187, 189, 189, - 190, 190, 190, 190, 190, 190, 192, 191, 194, 193, - 195, 195, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 197, 198, 199, - 200, 201, 203, 202, 205, 204, 206, 206, 207, 207, - 207, 207, 207, 209, 208, 210, 212, 211, 214, 213, - 215, 215, 216, 216, 216, 216, 216, 216, 216, 216, - 216, 216, 216, 216, 216, 216, 216, 218, 217, 219, - 219, 219, 219, 221, 220, 223, 222, 225, 224, 226, - 228, 227, 229, 230, 231, 232, 234, 233, 236, 235, - 238, 237, 239, 239, 240, 240, 241, 242, 244, 243, - 245, 245, 246, 246, 246, 247, 248, 250, 249, 252, - 251, 253, 253, 254, 254, 256, 255, 258, 257, 259, - 259, 259, 260, 260, 262, 261, 264, 263, 266, 265, - 267, 267, 268, 268, 268, 268, 268, 268, 269, 270, - 271, 272, 273, 274, 276, 275, 277, 277, 278, 278, - 280, 279, 282, 281, 283, 283, 284, 284, 284, 284, - 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, - 284, 284, 284, 284, 284, 286, 285, 288, 287, 290, - 289, 292, 291, 294, 293, 295, 295, 295, 296, 297, - 299, 298, 300, 300, 301, 301, 303, 302, 304, 304, - 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, - 305, 305, 305, 305, 305, 305, 307, 306, 309, 308, - 310, 310, 311, 311, 313, 312, 315, 314, 316, 316, - 317, 317, 318, 318, 318, 318, 318, 318, 318, 318, - 318, 318, 319, 320, 321, 323, 322, 325, 324, 327, - 326, 328, 330, 329, 331, 333, 332, 334, 334, 335, - 335, 337, 336, 339, 338, 340, 340, 341, 341, 342, - 342, 342, 342, 342, 342, 342, 342, 342, 343, 345, - 344, 346, 347, 348, 349, 351, 350, 352, 352, 353, - 353, 355, 354, 357, 356, 358, 358, 359, 359, 359, - 359, 359, 361, 360, 363, 362, 365, 364, 367, 366, - 368, 368, 369, 369, 371, 370, 373, 372, 374, 374, - 375, 375, 375, 375, 375, 375, 375, 375, 375, 377, - 376, 378, 380, 379, 381, 382, 384, 383, 385, 385, - 386, 386, 388, 387, 390, 389, 391, 391, 392, 392, - 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, - 393, 395, 394, 397, 396, 399, 398, 401, 400, 403, - 402, 405, 404, 407, 406, 409, 408, 411, 410, 413, - 412, 414, 414, 415, 291, 416, 416, 417, 417, 418, - 418, 418, 418, 418, 418, 419, 421, 420, 423, 422, - 424, 424, 425, 425, 425, 425, 425, 425, 425, 425, - 425, 427, 426, 428, 428, 428, 429, 431, 430, 432, - 433, 434, 436, 435, 437, 437, 438, 438, 438, 438, - 438, 440, 439, 442, 441, 443, 445, 444, 447, 446, - 449, 448, 450, 450, 451, 451, 451, 451, 451, 451, - 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, - 451, 452, 454, 453, 456, 455, 457, 459, 458, 460, - 461, 463, 462, 464, 464, 466, 465, 467, 468, 469, - 471, 470, 472, 472, 472, 472, 472, 474, 473, 476, - 475, 478, 477, 480, 479, 482, 481, 483, 483, 484, - 486, 485, 487, 487, 489, 488, 490, 490, 491, 491, - 491, 491, 491, 491, 491, 492, 494, 493, 496, 495, - 497, 497, 499, 498, 500, 500, 501, 501, 501, 501, - 503, 502, 504, 505, 506 + 0, 157, 159, 158, 160, 158, 161, 158, 162, 158, + 163, 158, 164, 158, 165, 158, 166, 158, 167, 158, + 168, 158, 169, 158, 170, 158, 171, 158, 172, 158, + 173, 173, 173, 173, 173, 173, 173, 174, 176, 175, + 177, 178, 178, 179, 179, 181, 180, 182, 182, 183, + 183, 185, 184, 186, 186, 187, 187, 188, 190, 189, + 191, 191, 192, 192, 192, 192, 192, 192, 194, 193, + 196, 195, 197, 197, 198, 198, 198, 198, 198, 198, + 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, + 198, 198, 198, 198, 198, 198, 198, 198, 198, 199, + 200, 201, 202, 203, 205, 204, 207, 206, 208, 208, + 209, 209, 209, 209, 209, 211, 210, 212, 214, 213, + 216, 215, 217, 217, 218, 218, 218, 218, 218, 218, + 218, 218, 218, 218, 218, 218, 218, 220, 219, 221, + 221, 221, 221, 223, 222, 225, 224, 227, 226, 228, + 230, 229, 231, 232, 233, 234, 236, 235, 238, 237, + 240, 239, 241, 241, 242, 242, 243, 244, 246, 245, + 247, 247, 248, 248, 248, 249, 250, 252, 251, 254, + 253, 255, 255, 256, 256, 258, 257, 260, 259, 261, + 261, 261, 262, 262, 264, 263, 266, 265, 268, 267, + 269, 269, 270, 270, 270, 270, 270, 270, 271, 272, + 273, 274, 275, 276, 278, 277, 279, 279, 280, 280, + 282, 281, 284, 283, 285, 285, 286, 286, 286, 286, + 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, + 286, 286, 286, 286, 286, 288, 287, 290, 289, 292, + 291, 294, 293, 296, 295, 297, 297, 297, 298, 299, + 301, 300, 302, 302, 303, 303, 305, 304, 306, 306, + 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, + 307, 307, 307, 307, 307, 307, 309, 308, 311, 310, + 312, 312, 313, 313, 315, 314, 317, 316, 318, 318, + 319, 319, 320, 320, 320, 320, 320, 320, 320, 320, + 320, 320, 321, 322, 323, 325, 324, 327, 326, 329, + 328, 330, 332, 331, 333, 335, 334, 336, 336, 337, + 337, 339, 338, 341, 340, 342, 342, 343, 343, 344, + 344, 344, 344, 344, 344, 344, 344, 344, 345, 347, + 346, 348, 349, 350, 351, 353, 352, 354, 354, 355, + 355, 357, 356, 359, 358, 360, 360, 361, 361, 361, + 361, 361, 363, 362, 365, 364, 367, 366, 369, 368, + 370, 370, 371, 371, 373, 372, 375, 374, 376, 376, + 377, 377, 377, 377, 377, 377, 377, 377, 377, 379, + 378, 380, 382, 381, 383, 384, 386, 385, 387, 387, + 388, 388, 390, 389, 392, 391, 393, 393, 394, 394, + 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, + 395, 397, 396, 399, 398, 401, 400, 403, 402, 405, + 404, 407, 406, 409, 408, 411, 410, 413, 412, 415, + 414, 416, 416, 417, 293, 418, 418, 419, 419, 420, + 420, 420, 420, 420, 420, 421, 423, 422, 425, 424, + 426, 426, 427, 427, 427, 427, 427, 427, 427, 427, + 427, 429, 428, 430, 430, 430, 431, 433, 432, 434, + 435, 436, 438, 437, 439, 439, 440, 440, 440, 440, + 440, 442, 441, 444, 443, 445, 447, 446, 449, 448, + 451, 450, 452, 452, 453, 453, 453, 453, 453, 453, + 453, 453, 453, 453, 453, 453, 453, 453, 453, 453, + 453, 454, 456, 455, 458, 457, 459, 461, 460, 462, + 463, 465, 464, 466, 466, 468, 467, 469, 470, 471, + 473, 472, 474, 474, 474, 474, 474, 476, 475, 478, + 477, 480, 479, 482, 481, 484, 483, 486, 485, 487, + 487, 488, 490, 489, 491, 491, 493, 492, 494, 494, + 495, 495, 495, 495, 495, 495, 495, 496, 498, 497, + 500, 499, 501, 501, 503, 502, 504, 504, 505, 505, + 505, 505, 507, 506, 508, 509, 510 }; const unsigned char @@ -4248,17 +4275,17 @@ namespace isc { namespace dhcp { { 0, 2, 0, 3, 0, 3, 0, 3, 0, 3, 0, 3, 0, 3, 0, 3, 0, 3, 0, 3, - 0, 3, 0, 3, 0, 3, 0, 3, 1, 1, - 1, 1, 1, 1, 1, 1, 0, 4, 1, 0, - 1, 3, 5, 0, 4, 0, 1, 1, 3, 0, - 4, 0, 1, 1, 3, 2, 0, 4, 1, 3, - 1, 1, 1, 1, 1, 1, 0, 6, 0, 4, - 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, + 0, 3, 0, 3, 0, 3, 0, 3, 0, 3, + 1, 1, 1, 1, 1, 1, 1, 1, 0, 4, + 1, 0, 1, 3, 5, 0, 4, 0, 1, 1, + 3, 0, 4, 0, 1, 1, 3, 2, 0, 4, + 1, 3, 1, 1, 1, 1, 1, 1, 0, 6, + 0, 4, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 3, 3, 3, - 3, 3, 0, 6, 0, 4, 1, 3, 1, 1, - 1, 1, 1, 0, 4, 3, 0, 6, 0, 6, - 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, + 3, 3, 3, 3, 0, 6, 0, 4, 1, 3, + 1, 1, 1, 1, 1, 0, 4, 3, 0, 6, + 0, 6, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 4, 1, 1, 1, 1, 0, 4, 0, 4, 0, 4, 3, 0, 4, 3, 3, 3, 3, 0, 4, 0, 4, @@ -4302,11 +4329,11 @@ namespace isc { namespace dhcp { 1, 3, 0, 4, 0, 4, 3, 0, 4, 3, 3, 0, 4, 1, 1, 0, 4, 3, 3, 3, 0, 4, 1, 1, 1, 1, 1, 0, 4, 0, - 4, 0, 4, 0, 4, 0, 6, 1, 3, 1, + 4, 0, 4, 0, 4, 0, 6, 0, 4, 1, + 3, 1, 0, 6, 1, 3, 0, 4, 1, 3, + 1, 1, 1, 1, 1, 1, 1, 3, 0, 4, 0, 6, 1, 3, 0, 4, 1, 3, 1, 1, - 1, 1, 1, 1, 1, 3, 0, 4, 0, 6, - 1, 3, 0, 4, 1, 3, 1, 1, 1, 1, - 0, 4, 3, 3, 3 + 1, 1, 0, 4, 3, 3, 3 }; @@ -4358,91 +4385,92 @@ namespace isc { namespace dhcp { "TOPLEVEL_JSON", "TOPLEVEL_DHCP6", "SUB_DHCP6", "SUB_INTERFACES6", "SUB_SUBNET6", "SUB_POOL6", "SUB_PD_POOL", "SUB_RESERVATION", "SUB_OPTION_DEFS", "SUB_OPTION_DEF", "SUB_OPTION_DATA", - "SUB_HOOKS_LIBRARY", "SUB_DHCP_DDNS", "\"constant string\"", - "\"integer\"", "\"floating point\"", "\"boolean\"", "$accept", "start", - "$@1", "$@2", "$@3", "$@4", "$@5", "$@6", "$@7", "$@8", "$@9", "$@10", - "$@11", "$@12", "$@13", "value", "sub_json", "map2", "$@14", "map_value", - "map_content", "not_empty_map", "list_generic", "$@15", "list_content", - "not_empty_list", "list_strings", "$@16", "list_strings_content", - "not_empty_list_strings", "unknown_map_entry", "syntax_map", "$@17", - "global_objects", "global_object", "dhcp6_object", "$@18", "sub_dhcp6", - "$@19", "global_params", "global_param", "preferred_lifetime", + "SUB_HOOKS_LIBRARY", "SUB_DHCP_DDNS", "SUB_LOGGING", + "\"constant string\"", "\"integer\"", "\"floating point\"", + "\"boolean\"", "$accept", "start", "$@1", "$@2", "$@3", "$@4", "$@5", + "$@6", "$@7", "$@8", "$@9", "$@10", "$@11", "$@12", "$@13", "$@14", + "value", "sub_json", "map2", "$@15", "map_value", "map_content", + "not_empty_map", "list_generic", "$@16", "list_content", + "not_empty_list", "list_strings", "$@17", "list_strings_content", + "not_empty_list_strings", "unknown_map_entry", "syntax_map", "$@18", + "global_objects", "global_object", "dhcp6_object", "$@19", "sub_dhcp6", + "$@20", "global_params", "global_param", "preferred_lifetime", "valid_lifetime", "renew_timer", "rebind_timer", - "decline_probation_period", "interfaces_config", "$@20", - "sub_interfaces6", "$@21", "interfaces_config_params", - "interfaces_config_param", "interfaces_list", "$@22", "re_detect", - "lease_database", "$@23", "hosts_database", "$@24", - "database_map_params", "database_map_param", "database_type", "$@25", - "db_type", "user", "$@26", "password", "$@27", "host", "$@28", "port", - "name", "$@29", "persist", "lfc_interval", "readonly", "connect_timeout", - "contact_points", "$@30", "keyspace", "$@31", "mac_sources", "$@32", + "decline_probation_period", "interfaces_config", "$@21", + "sub_interfaces6", "$@22", "interfaces_config_params", + "interfaces_config_param", "interfaces_list", "$@23", "re_detect", + "lease_database", "$@24", "hosts_database", "$@25", + "database_map_params", "database_map_param", "database_type", "$@26", + "db_type", "user", "$@27", "password", "$@28", "host", "$@29", "port", + "name", "$@30", "persist", "lfc_interval", "readonly", "connect_timeout", + "contact_points", "$@31", "keyspace", "$@32", "mac_sources", "$@33", "mac_sources_list", "mac_sources_value", "duid_id", "string_id", - "host_reservation_identifiers", "$@33", + "host_reservation_identifiers", "$@34", "host_reservation_identifiers_list", "host_reservation_identifier", - "hw_address_id", "flex_id", "relay_supplied_options", "$@34", - "hooks_libraries", "$@35", "hooks_libraries_list", - "not_empty_hooks_libraries_list", "hooks_library", "$@36", - "sub_hooks_library", "$@37", "hooks_params", "hooks_param", "library", - "$@38", "parameters", "$@39", "expired_leases_processing", "$@40", + "hw_address_id", "flex_id", "relay_supplied_options", "$@35", + "hooks_libraries", "$@36", "hooks_libraries_list", + "not_empty_hooks_libraries_list", "hooks_library", "$@37", + "sub_hooks_library", "$@38", "hooks_params", "hooks_param", "library", + "$@39", "parameters", "$@40", "expired_leases_processing", "$@41", "expired_leases_params", "expired_leases_param", "reclaim_timer_wait_time", "flush_reclaimed_timer_wait_time", "hold_reclaimed_time", "max_reclaim_leases", "max_reclaim_time", - "unwarned_reclaim_cycles", "subnet6_list", "$@41", - "subnet6_list_content", "not_empty_subnet6_list", "subnet6", "$@42", - "sub_subnet6", "$@43", "subnet6_params", "subnet6_param", "subnet", - "$@44", "interface", "$@45", "interface_id", "$@46", "client_class", - "$@47", "reservation_mode", "$@48", "hr_mode", "id", "rapid_commit", - "shared_networks", "$@49", "shared_networks_content", - "shared_networks_list", "shared_network", "$@50", + "unwarned_reclaim_cycles", "subnet6_list", "$@42", + "subnet6_list_content", "not_empty_subnet6_list", "subnet6", "$@43", + "sub_subnet6", "$@44", "subnet6_params", "subnet6_param", "subnet", + "$@45", "interface", "$@46", "interface_id", "$@47", "client_class", + "$@48", "reservation_mode", "$@49", "hr_mode", "id", "rapid_commit", + "shared_networks", "$@50", "shared_networks_content", + "shared_networks_list", "shared_network", "$@51", "shared_network_params", "shared_network_param", "option_def_list", - "$@51", "sub_option_def_list", "$@52", "option_def_list_content", - "not_empty_option_def_list", "option_def_entry", "$@53", - "sub_option_def", "$@54", "option_def_params", + "$@52", "sub_option_def_list", "$@53", "option_def_list_content", + "not_empty_option_def_list", "option_def_entry", "$@54", + "sub_option_def", "$@55", "option_def_params", "not_empty_option_def_params", "option_def_param", "option_def_name", - "code", "option_def_code", "option_def_type", "$@55", - "option_def_record_types", "$@56", "space", "$@57", "option_def_space", - "option_def_encapsulate", "$@58", "option_def_array", "option_data_list", - "$@59", "option_data_list_content", "not_empty_option_data_list", - "option_data_entry", "$@60", "sub_option_data", "$@61", + "code", "option_def_code", "option_def_type", "$@56", + "option_def_record_types", "$@57", "space", "$@58", "option_def_space", + "option_def_encapsulate", "$@59", "option_def_array", "option_data_list", + "$@60", "option_data_list_content", "not_empty_option_data_list", + "option_data_entry", "$@61", "sub_option_data", "$@62", "option_data_params", "not_empty_option_data_params", - "option_data_param", "option_data_name", "option_data_data", "$@62", + "option_data_param", "option_data_name", "option_data_data", "$@63", "option_data_code", "option_data_space", "option_data_csv_format", - "option_data_always_send", "pools_list", "$@63", "pools_list_content", - "not_empty_pools_list", "pool_list_entry", "$@64", "sub_pool6", "$@65", - "pool_params", "pool_param", "pool_entry", "$@66", "user_context", - "$@67", "comment", "$@68", "pd_pools_list", "$@69", + "option_data_always_send", "pools_list", "$@64", "pools_list_content", + "not_empty_pools_list", "pool_list_entry", "$@65", "sub_pool6", "$@66", + "pool_params", "pool_param", "pool_entry", "$@67", "user_context", + "$@68", "comment", "$@69", "pd_pools_list", "$@70", "pd_pools_list_content", "not_empty_pd_pools_list", "pd_pool_entry", - "$@70", "sub_pd_pool", "$@71", "pd_pool_params", "pd_pool_param", - "pd_prefix", "$@72", "pd_prefix_len", "excluded_prefix", "$@73", - "excluded_prefix_len", "pd_delegated_len", "reservations", "$@74", + "$@71", "sub_pd_pool", "$@72", "pd_pool_params", "pd_pool_param", + "pd_prefix", "$@73", "pd_prefix_len", "excluded_prefix", "$@74", + "excluded_prefix_len", "pd_delegated_len", "reservations", "$@75", "reservations_list", "not_empty_reservations_list", "reservation", - "$@75", "sub_reservation", "$@76", "reservation_params", + "$@76", "sub_reservation", "$@77", "reservation_params", "not_empty_reservation_params", "reservation_param", "ip_addresses", - "$@77", "prefixes", "$@78", "duid", "$@79", "hw_address", "$@80", - "hostname", "$@81", "flex_id_value", "$@82", - "reservation_client_classes", "$@83", "relay", "$@84", "relay_map", - "$@85", "client_classes", "$@86", "client_classes_list", "$@87", + "$@78", "prefixes", "$@79", "duid", "$@80", "hw_address", "$@81", + "hostname", "$@82", "flex_id_value", "$@83", + "reservation_client_classes", "$@84", "relay", "$@85", "relay_map", + "$@86", "client_classes", "$@87", "client_classes_list", "$@88", "client_class_params", "not_empty_client_class_params", - "client_class_param", "client_class_name", "client_class_test", "$@88", - "server_id", "$@89", "server_id_params", "server_id_param", - "server_id_type", "$@90", "duid_type", "htype", "identifier", "$@91", - "time", "enterprise_id", "dhcp4o6_port", "control_socket", "$@92", - "control_socket_params", "control_socket_param", "socket_type", "$@93", - "socket_name", "$@94", "socket_user_context", "socket_comment", "$@95", - "dhcp_ddns", "$@96", "sub_dhcp_ddns", "$@97", "dhcp_ddns_params", - "dhcp_ddns_param", "enable_updates", "qualifying_suffix", "$@98", - "server_ip", "$@99", "server_port", "sender_ip", "$@100", "sender_port", - "max_queue_size", "ncr_protocol", "$@101", "ncr_protocol_value", - "ncr_format", "$@102", "always_include_fqdn", "override_no_update", - "override_client_update", "replace_client_name", "$@103", - "replace_client_name_value", "generated_prefix", "$@104", - "dhcp4_json_object", "$@105", "dhcpddns_json_object", "$@106", - "control_agent_json_object", "$@107", "logging_object", "$@108", - "logging_params", "logging_param", "loggers", "$@109", "loggers_entries", - "logger_entry", "$@110", "logger_params", "logger_param", "debuglevel", - "severity", "$@111", "output_options_list", "$@112", - "output_options_list_content", "output_entry", "$@113", - "output_params_list", "output_params", "output", "$@114", "flush", + "client_class_param", "client_class_name", "client_class_test", "$@89", + "server_id", "$@90", "server_id_params", "server_id_param", + "server_id_type", "$@91", "duid_type", "htype", "identifier", "$@92", + "time", "enterprise_id", "dhcp4o6_port", "control_socket", "$@93", + "control_socket_params", "control_socket_param", "socket_type", "$@94", + "socket_name", "$@95", "socket_user_context", "socket_comment", "$@96", + "dhcp_ddns", "$@97", "sub_dhcp_ddns", "$@98", "dhcp_ddns_params", + "dhcp_ddns_param", "enable_updates", "qualifying_suffix", "$@99", + "server_ip", "$@100", "server_port", "sender_ip", "$@101", "sender_port", + "max_queue_size", "ncr_protocol", "$@102", "ncr_protocol_value", + "ncr_format", "$@103", "always_include_fqdn", "override_no_update", + "override_client_update", "replace_client_name", "$@104", + "replace_client_name_value", "generated_prefix", "$@105", + "dhcp4_json_object", "$@106", "dhcpddns_json_object", "$@107", + "control_agent_json_object", "$@108", "logging_object", "$@109", + "sub_logging", "$@110", "logging_params", "logging_param", "loggers", + "$@111", "loggers_entries", "logger_entry", "$@112", "logger_params", + "logger_param", "debuglevel", "severity", "$@113", "output_options_list", + "$@114", "output_options_list_content", "output_entry", "$@115", + "output_params_list", "output_params", "output", "$@116", "flush", "maxsize", "maxver", YY_NULLPTR }; @@ -4450,19 +4478,19 @@ namespace isc { namespace dhcp { const unsigned short int Dhcp6Parser::yyrline_[] = { - 0, 237, 237, 237, 238, 238, 239, 239, 240, 240, - 241, 241, 242, 242, 243, 243, 244, 244, 245, 245, - 246, 246, 247, 247, 248, 248, 249, 249, 257, 258, - 259, 260, 261, 262, 263, 266, 271, 271, 282, 285, - 286, 289, 293, 300, 300, 307, 308, 311, 315, 322, - 322, 329, 330, 333, 337, 348, 358, 358, 373, 374, - 378, 379, 380, 381, 382, 383, 386, 386, 401, 401, - 410, 411, 416, 417, 418, 419, 420, 421, 422, 423, + 0, 238, 238, 238, 239, 239, 240, 240, 241, 241, + 242, 242, 243, 243, 244, 244, 245, 245, 246, 246, + 247, 247, 248, 248, 249, 249, 250, 250, 251, 251, + 259, 260, 261, 262, 263, 264, 265, 268, 273, 273, + 284, 287, 288, 291, 295, 302, 302, 309, 310, 313, + 317, 324, 324, 331, 332, 335, 339, 350, 360, 360, + 375, 376, 380, 381, 382, 383, 384, 385, 388, 388, + 403, 403, 412, 413, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, - 434, 435, 436, 437, 438, 439, 440, 443, 448, 453, - 458, 463, 468, 468, 479, 479, 488, 489, 492, 493, - 494, 495, 496, 499, 499, 509, 515, 515, 527, 527, - 539, 540, 543, 544, 545, 546, 547, 548, 549, 550, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 445, + 450, 455, 460, 465, 470, 470, 481, 481, 490, 491, + 494, 495, 496, 497, 498, 501, 501, 511, 517, 517, + 529, 529, 541, 542, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 560, 560, 567, 568, 569, 570, 573, 573, 581, 581, 589, 589, 597, 602, 602, 610, 615, 620, 625, 630, 630, 638, 638, @@ -4506,11 +4534,11 @@ namespace isc { namespace dhcp { 1793, 1796, 1801, 1801, 1809, 1809, 1817, 1822, 1822, 1830, 1835, 1840, 1840, 1848, 1849, 1852, 1852, 1860, 1865, 1870, 1875, 1875, 1883, 1886, 1889, 1892, 1895, 1901, 1901, 1911, - 1911, 1918, 1918, 1925, 1925, 1938, 1938, 1951, 1952, 1956, - 1960, 1960, 1972, 1973, 1977, 1977, 1985, 1986, 1989, 1990, - 1991, 1992, 1993, 1994, 1995, 1998, 2003, 2003, 2011, 2011, - 2021, 2022, 2025, 2025, 2033, 2034, 2037, 2038, 2039, 2040, - 2043, 2043, 2051, 2056, 2061 + 1911, 1918, 1918, 1925, 1925, 1938, 1938, 1948, 1948, 1959, + 1960, 1964, 1968, 1968, 1980, 1981, 1985, 1985, 1993, 1994, + 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2006, 2011, 2011, + 2019, 2019, 2029, 2030, 2033, 2033, 2041, 2042, 2045, 2046, + 2047, 2048, 2051, 2051, 2059, 2064, 2069 }; // Print the state stack on the debug stream. @@ -4545,8 +4573,8 @@ namespace isc { namespace dhcp { #line 14 "dhcp6_parser.yy" // lalr1.cc:1167 } } // isc::dhcp -#line 4549 "dhcp6_parser.cc" // lalr1.cc:1167 -#line 2066 "dhcp6_parser.yy" // lalr1.cc:1168 +#line 4577 "dhcp6_parser.cc" // lalr1.cc:1167 +#line 2074 "dhcp6_parser.yy" // lalr1.cc:1168 void diff --git a/src/bin/dhcp6/dhcp6_parser.h b/src/bin/dhcp6/dhcp6_parser.h index 0d1a7f3ec7..daefc8b7e1 100644 --- a/src/bin/dhcp6/dhcp6_parser.h +++ b/src/bin/dhcp6/dhcp6_parser.h @@ -496,10 +496,11 @@ namespace isc { namespace dhcp { TOKEN_SUB_OPTION_DATA = 404, TOKEN_SUB_HOOKS_LIBRARY = 405, TOKEN_SUB_DHCP_DDNS = 406, - TOKEN_STRING = 407, - TOKEN_INTEGER = 408, - TOKEN_FLOAT = 409, - TOKEN_BOOLEAN = 410 + TOKEN_SUB_LOGGING = 407, + TOKEN_STRING = 408, + TOKEN_INTEGER = 409, + TOKEN_FLOAT = 410, + TOKEN_BOOLEAN = 411 }; }; @@ -1214,6 +1215,10 @@ namespace isc { namespace dhcp { symbol_type make_SUB_DHCP_DDNS (const location_type& l); + static inline + symbol_type + make_SUB_LOGGING (const location_type& l); + static inline symbol_type make_STRING (const std::string& v, const location_type& l); @@ -1436,11 +1441,11 @@ namespace isc { namespace dhcp { { yyeof_ = 0, yylast_ = 931, ///< Last index in yytable_. - yynnts_ = 351, ///< Number of nonterminal symbols. - yyfinal_ = 28, ///< Termination state number. + yynnts_ = 354, ///< Number of nonterminal symbols. + yyfinal_ = 30, ///< Termination state number. yyterror_ = 1, yyerrcode_ = 256, - yyntokens_ = 156 ///< Number of tokens. + yyntokens_ = 157 ///< Number of tokens. }; @@ -1498,9 +1503,9 @@ namespace isc { namespace dhcp { 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, - 155 + 155, 156 }; - const unsigned int user_token_number_max_ = 410; + const unsigned int user_token_number_max_ = 411; const token_number_type undef_token_ = 2; if (static_cast(t) <= yyeof_) @@ -1533,29 +1538,29 @@ namespace isc { namespace dhcp { { switch (other.type_get ()) { - case 171: // value - case 175: // map_value - case 219: // db_type - case 295: // hr_mode - case 428: // duid_type - case 464: // ncr_protocol_value - case 472: // replace_client_name_value + case 173: // value + case 177: // map_value + case 221: // db_type + case 297: // hr_mode + case 430: // duid_type + case 466: // ncr_protocol_value + case 474: // replace_client_name_value value.copy< ElementPtr > (other.value); break; - case 155: // "boolean" + case 156: // "boolean" value.copy< bool > (other.value); break; - case 154: // "floating point" + case 155: // "floating point" value.copy< double > (other.value); break; - case 153: // "integer" + case 154: // "integer" value.copy< int64_t > (other.value); break; - case 152: // "constant string" + case 153: // "constant string" value.copy< std::string > (other.value); break; @@ -1576,29 +1581,29 @@ namespace isc { namespace dhcp { (void) v; switch (this->type_get ()) { - case 171: // value - case 175: // map_value - case 219: // db_type - case 295: // hr_mode - case 428: // duid_type - case 464: // ncr_protocol_value - case 472: // replace_client_name_value + case 173: // value + case 177: // map_value + case 221: // db_type + case 297: // hr_mode + case 430: // duid_type + case 466: // ncr_protocol_value + case 474: // replace_client_name_value value.copy< ElementPtr > (v); break; - case 155: // "boolean" + case 156: // "boolean" value.copy< bool > (v); break; - case 154: // "floating point" + case 155: // "floating point" value.copy< double > (v); break; - case 153: // "integer" + case 154: // "integer" value.copy< int64_t > (v); break; - case 152: // "constant string" + case 153: // "constant string" value.copy< std::string > (v); break; @@ -1678,29 +1683,29 @@ namespace isc { namespace dhcp { // Type destructor. switch (yytype) { - case 171: // value - case 175: // map_value - case 219: // db_type - case 295: // hr_mode - case 428: // duid_type - case 464: // ncr_protocol_value - case 472: // replace_client_name_value + case 173: // value + case 177: // map_value + case 221: // db_type + case 297: // hr_mode + case 430: // duid_type + case 466: // ncr_protocol_value + case 474: // replace_client_name_value value.template destroy< ElementPtr > (); break; - case 155: // "boolean" + case 156: // "boolean" value.template destroy< bool > (); break; - case 154: // "floating point" + case 155: // "floating point" value.template destroy< double > (); break; - case 153: // "integer" + case 154: // "integer" value.template destroy< int64_t > (); break; - case 152: // "constant string" + case 153: // "constant string" value.template destroy< std::string > (); break; @@ -1727,29 +1732,29 @@ namespace isc { namespace dhcp { super_type::move(s); switch (this->type_get ()) { - case 171: // value - case 175: // map_value - case 219: // db_type - case 295: // hr_mode - case 428: // duid_type - case 464: // ncr_protocol_value - case 472: // replace_client_name_value + case 173: // value + case 177: // map_value + case 221: // db_type + case 297: // hr_mode + case 430: // duid_type + case 466: // ncr_protocol_value + case 474: // replace_client_name_value value.move< ElementPtr > (s.value); break; - case 155: // "boolean" + case 156: // "boolean" value.move< bool > (s.value); break; - case 154: // "floating point" + case 155: // "floating point" value.move< double > (s.value); break; - case 153: // "integer" + case 154: // "integer" value.move< int64_t > (s.value); break; - case 152: // "constant string" + case 153: // "constant string" value.move< std::string > (s.value); break; @@ -1823,7 +1828,7 @@ namespace isc { namespace dhcp { 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, - 405, 406, 407, 408, 409, 410 + 405, 406, 407, 408, 409, 410, 411 }; return static_cast (yytoken_number_[type]); } @@ -2728,6 +2733,12 @@ namespace isc { namespace dhcp { return symbol_type (token::TOKEN_SUB_DHCP_DDNS, l); } + Dhcp6Parser::symbol_type + Dhcp6Parser::make_SUB_LOGGING (const location_type& l) + { + return symbol_type (token::TOKEN_SUB_LOGGING, l); + } + Dhcp6Parser::symbol_type Dhcp6Parser::make_STRING (const std::string& v, const location_type& l) { @@ -2755,7 +2766,7 @@ namespace isc { namespace dhcp { #line 14 "dhcp6_parser.yy" // lalr1.cc:377 } } // isc::dhcp -#line 2759 "dhcp6_parser.h" // lalr1.cc:377 +#line 2770 "dhcp6_parser.h" // lalr1.cc:377 diff --git a/src/bin/dhcp6/location.hh b/src/bin/dhcp6/location.hh index 26514357d4..fba9c767ee 100644 --- a/src/bin/dhcp6/location.hh +++ b/src/bin/dhcp6/location.hh @@ -1,4 +1,4 @@ -// Generated 201712021539 +// Generated 201712031245 // A Bison parser, made by GNU Bison 3.0.4. // Locations for Bison parsers in C++ diff --git a/src/bin/dhcp6/position.hh b/src/bin/dhcp6/position.hh index bf281a6bae..22c8b1b3f7 100644 --- a/src/bin/dhcp6/position.hh +++ b/src/bin/dhcp6/position.hh @@ -1,4 +1,4 @@ -// Generated 201712021539 +// Generated 201712031245 // A Bison parser, made by GNU Bison 3.0.4. // Positions for Bison parsers in C++ diff --git a/src/bin/dhcp6/stack.hh b/src/bin/dhcp6/stack.hh index b434887ea8..24b889b813 100644 --- a/src/bin/dhcp6/stack.hh +++ b/src/bin/dhcp6/stack.hh @@ -1,4 +1,4 @@ -// Generated 201712021539 +// Generated 201712031245 // A Bison parser, made by GNU Bison 3.0.4. // Stack handling for Bison parsers in C++