39#define yylex parser4_lex
47#line 34 "dhcp4_parser.yy"
52#if defined(__GNUC__) || defined(__clang__)
53#pragma GCC diagnostic ignored "-Wunused-but-set-variable"
56#line 57 "dhcp4_parser.cc"
60# if defined YYENABLE_NLS && YYENABLE_NLS
63# define YY_(msgid) dgettext ("bison-runtime", msgid)
67# define YY_(msgid) msgid
74# if defined __GNUC__ && !defined __EXCEPTIONS
75# define YY_EXCEPTIONS 0
77# define YY_EXCEPTIONS 1
81#define YYRHSLOC(Rhs, K) ((Rhs)[K].location)
86# ifndef YYLLOC_DEFAULT
87# define YYLLOC_DEFAULT(Current, Rhs, N) \
91 (Current).begin = YYRHSLOC (Rhs, 1).begin; \
92 (Current).end = YYRHSLOC (Rhs, N).end; \
96 (Current).begin = (Current).end = YYRHSLOC (Rhs, 0).end; \
106# define YYCDEBUG if (yydebug_) (*yycdebug_)
108# define YY_SYMBOL_PRINT(Title, Symbol) \
112 *yycdebug_ << Title << ' '; \
113 yy_print_ (*yycdebug_, Symbol); \
114 *yycdebug_ << '\n'; \
118# define YY_REDUCE_PRINT(Rule) \
121 yy_reduce_print_ (Rule); \
124# define YY_STACK_PRINT() \
127 yy_stack_print_ (); \
132# define YYCDEBUG if (false) std::cerr
133# define YY_SYMBOL_PRINT(Title, Symbol) YY_USE (Symbol)
134# define YY_REDUCE_PRINT(Rule) static_cast<void> (0)
135# define YY_STACK_PRINT() static_cast<void> (0)
139#define yyerrok (yyerrstatus_ = 0)
140#define yyclearin (yyla.clear ())
142#define YYACCEPT goto yyacceptlab
143#define YYABORT goto yyabortlab
144#define YYERROR goto yyerrorlab
145#define YYRECOVERING() (!!yyerrstatus_)
147#line 14 "dhcp4_parser.yy"
148namespace isc {
namespace dhcp {
149#line 150 "dhcp4_parser.cc"
155 yycdebug_ (&std::cerr),
176 : state (empty_state)
179 Dhcp4Parser::by_state::by_state (
const by_state& that)
YY_NOEXCEPT
190 Dhcp4Parser::by_state::move (by_state& that)
196 Dhcp4Parser::by_state::by_state (state_type s)
YY_NOEXCEPT
203 if (state == empty_state)
209 Dhcp4Parser::stack_symbol_type::stack_symbol_type ()
212 Dhcp4Parser::stack_symbol_type::stack_symbol_type (
YY_RVREF (stack_symbol_type) that)
215 switch (that.kind ())
217 case symbol_kind::S_value:
218 case symbol_kind::S_map_value:
219 case symbol_kind::S_ddns_replace_client_name_value:
220 case symbol_kind::S_ddns_conflict_resolution_mode_value:
221 case symbol_kind::S_socket_type:
222 case symbol_kind::S_outbound_interface_value:
223 case symbol_kind::S_on_fail_mode:
224 case symbol_kind::S_control_socket_type_value:
225 case symbol_kind::S_auth_type_value:
226 case symbol_kind::S_ncr_protocol_value:
227 value.YY_MOVE_OR_COPY< ElementPtr > (YY_MOVE (that.value));
230 case symbol_kind::S_BOOLEAN:
231 value.YY_MOVE_OR_COPY< bool > (YY_MOVE (that.value));
234 case symbol_kind::S_FLOAT:
235 value.YY_MOVE_OR_COPY< double > (YY_MOVE (that.value));
238 case symbol_kind::S_INTEGER:
239 value.YY_MOVE_OR_COPY< int64_t > (YY_MOVE (that.value));
242 case symbol_kind::S_STRING:
243 value.YY_MOVE_OR_COPY< std::string > (YY_MOVE (that.value));
252 that.state = empty_state;
256 Dhcp4Parser::stack_symbol_type::stack_symbol_type (state_type s,
YY_MOVE_REF (symbol_type) that)
257 : super_type (s,
YY_MOVE (that.location))
259 switch (that.kind ())
261 case symbol_kind::S_value:
262 case symbol_kind::S_map_value:
263 case symbol_kind::S_ddns_replace_client_name_value:
264 case symbol_kind::S_ddns_conflict_resolution_mode_value:
265 case symbol_kind::S_socket_type:
266 case symbol_kind::S_outbound_interface_value:
267 case symbol_kind::S_on_fail_mode:
268 case symbol_kind::S_control_socket_type_value:
269 case symbol_kind::S_auth_type_value:
270 case symbol_kind::S_ncr_protocol_value:
271 value.move< ElementPtr > (YY_MOVE (that.value));
274 case symbol_kind::S_BOOLEAN:
275 value.move< bool > (YY_MOVE (that.value));
278 case symbol_kind::S_FLOAT:
279 value.move< double > (YY_MOVE (that.value));
282 case symbol_kind::S_INTEGER:
283 value.move< int64_t > (YY_MOVE (that.value));
286 case symbol_kind::S_STRING:
287 value.move< std::string > (YY_MOVE (that.value));
298#if YY_CPLUSPLUS < 201103L
299 Dhcp4Parser::stack_symbol_type&
300 Dhcp4Parser::stack_symbol_type::operator= (
const stack_symbol_type& that)
303 switch (that.kind ())
319 value.copy<
bool > (that.value);
323 value.copy<
double > (that.value);
327 value.copy< int64_t > (that.value);
331 value.copy< std::string > (that.value);
338 location = that.location;
342 Dhcp4Parser::stack_symbol_type&
343 Dhcp4Parser::stack_symbol_type::operator= (stack_symbol_type& that)
346 switch (that.kind ())
362 value.move<
bool > (that.value);
366 value.move<
double > (that.value);
370 value.move< int64_t > (that.value);
374 value.move< std::string > (that.value);
381 location = that.location;
383 that.state = empty_state;
388 template <
typename Base>
390 Dhcp4Parser::yy_destroy_ (
const char* yymsg, basic_symbol<Base>& yysym)
const
397 template <
typename Base>
399 Dhcp4Parser::yy_print_ (std::ostream& yyo,
const basic_symbol<Base>& yysym)
const
401 std::ostream& yyoutput = yyo;
404 yyo <<
"empty symbol";
408 yyo << (yykind <
YYNTOKENS ?
"token" :
"nterm")
409 <<
' ' << yysym.name () <<
" ("
410 << yysym.location <<
": ";
414#line 320 "dhcp4_parser.yy"
415 { yyoutput << yysym.value.template as < std::string > (); }
416#line 417 "dhcp4_parser.cc"
420#line 320 "dhcp4_parser.yy"
421 { yyoutput << yysym.value.template as < int64_t > (); }
422#line 423 "dhcp4_parser.cc"
426#line 320 "dhcp4_parser.yy"
427 { yyoutput << yysym.value.template as < double > (); }
428#line 429 "dhcp4_parser.cc"
432#line 320 "dhcp4_parser.yy"
433 { yyoutput << yysym.value.template as < bool > (); }
434#line 435 "dhcp4_parser.cc"
438#line 320 "dhcp4_parser.yy"
439 { yyoutput << yysym.value.template as < ElementPtr > (); }
440#line 441 "dhcp4_parser.cc"
444#line 320 "dhcp4_parser.yy"
445 { yyoutput << yysym.value.template as < ElementPtr > (); }
446#line 447 "dhcp4_parser.cc"
450#line 320 "dhcp4_parser.yy"
451 { yyoutput << yysym.value.template as < ElementPtr > (); }
452#line 453 "dhcp4_parser.cc"
456#line 320 "dhcp4_parser.yy"
457 { yyoutput << yysym.value.template as < ElementPtr > (); }
458#line 459 "dhcp4_parser.cc"
462#line 320 "dhcp4_parser.yy"
463 { yyoutput << yysym.value.template as < ElementPtr > (); }
464#line 465 "dhcp4_parser.cc"
468#line 320 "dhcp4_parser.yy"
469 { yyoutput << yysym.value.template as < ElementPtr > (); }
470#line 471 "dhcp4_parser.cc"
474#line 320 "dhcp4_parser.yy"
475 { yyoutput << yysym.value.template as < ElementPtr > (); }
476#line 477 "dhcp4_parser.cc"
480#line 320 "dhcp4_parser.yy"
481 { yyoutput << yysym.value.template as < ElementPtr > (); }
482#line 483 "dhcp4_parser.cc"
486#line 320 "dhcp4_parser.yy"
487 { yyoutput << yysym.value.template as < ElementPtr > (); }
488#line 489 "dhcp4_parser.cc"
492#line 320 "dhcp4_parser.yy"
493 { yyoutput << yysym.value.template as < ElementPtr > (); }
494#line 495 "dhcp4_parser.cc"
506 Dhcp4Parser::yypush_ (
const char* m,
YY_MOVE_REF (stack_symbol_type) sym)
514 Dhcp4Parser::yypush_ (
const char* m, state_type s,
YY_MOVE_REF (symbol_type) sym)
516#if 201103L <= YY_CPLUSPLUS
517 yypush_ (m, stack_symbol_type (s, std::move (sym)));
519 stack_symbol_type ss (s, sym);
532 Dhcp4Parser::debug_stream ()
const
538 Dhcp4Parser::set_debug_stream (std::ostream& o)
544 Dhcp4Parser::debug_level_type
545 Dhcp4Parser::debug_level ()
const
551 Dhcp4Parser::set_debug_level (debug_level_type l)
557 Dhcp4Parser::state_type
558 Dhcp4Parser::yy_lr_goto_state_ (state_type yystate,
int yysym)
560 int yyr = yypgoto_[yysym -
YYNTOKENS] + yystate;
561 if (0 <= yyr && yyr <= yylast_ && yycheck_[yyr] == yystate)
562 return yytable_[yyr];
568 Dhcp4Parser::yy_pact_value_is_default_ (
int yyvalue)
YY_NOEXCEPT
570 return yyvalue == yypact_ninf_;
574 Dhcp4Parser::yy_table_value_is_error_ (
int yyvalue)
YY_NOEXCEPT
576 return yyvalue == yytable_ninf_;
594 int yyerrstatus_ = 0;
600 stack_symbol_type yyerror_range[3];
617 yypush_ (YY_NULLPTR, 0,
YY_MOVE (yyla));
623 YYCDEBUG <<
"Entering state " << int (yystack_[0].state) <<
'\n';
627 if (yystack_[0].state == yyfinal_)
638 yyn = yypact_[+yystack_[0].state];
639 if (yy_pact_value_is_default_ (yyn))
651 yyla.
move (yylookahead);
656 YYCDEBUG <<
"Caught exception: " << yyexc.what() <<
'\n';
677 if (yyn < 0 || yylast_ < yyn || yycheck_[yyn] != yyla.
kind ())
686 if (yy_table_value_is_error_ (yyn))
697 yypush_ (
"Shifting", state_type (yyn),
YY_MOVE (yyla));
705 yyn = yydefact_[+yystack_[0].state];
717 stack_symbol_type yylhs;
718 yylhs.state = yy_lr_goto_state_ (yystack_[yylen].state, yyr1_[yyn]);
760 stack_type::slice range (yystack_, yylen);
774#line 329 "dhcp4_parser.yy"
776#line 777 "dhcp4_parser.cc"
780#line 330 "dhcp4_parser.yy"
782#line 783 "dhcp4_parser.cc"
786#line 331 "dhcp4_parser.yy"
788#line 789 "dhcp4_parser.cc"
792#line 332 "dhcp4_parser.yy"
794#line 795 "dhcp4_parser.cc"
798#line 333 "dhcp4_parser.yy"
800#line 801 "dhcp4_parser.cc"
804#line 334 "dhcp4_parser.yy"
806#line 807 "dhcp4_parser.cc"
810#line 335 "dhcp4_parser.yy"
812#line 813 "dhcp4_parser.cc"
816#line 336 "dhcp4_parser.yy"
818#line 819 "dhcp4_parser.cc"
822#line 337 "dhcp4_parser.yy"
824#line 825 "dhcp4_parser.cc"
828#line 338 "dhcp4_parser.yy"
830#line 831 "dhcp4_parser.cc"
834#line 339 "dhcp4_parser.yy"
836#line 837 "dhcp4_parser.cc"
840#line 340 "dhcp4_parser.yy"
842#line 843 "dhcp4_parser.cc"
846#line 341 "dhcp4_parser.yy"
848#line 849 "dhcp4_parser.cc"
852#line 349 "dhcp4_parser.yy"
854#line 855 "dhcp4_parser.cc"
858#line 350 "dhcp4_parser.yy"
860#line 861 "dhcp4_parser.cc"
864#line 351 "dhcp4_parser.yy"
866#line 867 "dhcp4_parser.cc"
870#line 352 "dhcp4_parser.yy"
872#line 873 "dhcp4_parser.cc"
876#line 353 "dhcp4_parser.yy"
878#line 879 "dhcp4_parser.cc"
882#line 354 "dhcp4_parser.yy"
884#line 885 "dhcp4_parser.cc"
888#line 355 "dhcp4_parser.yy"
890#line 891 "dhcp4_parser.cc"
894#line 358 "dhcp4_parser.yy"
899#line 900 "dhcp4_parser.cc"
903#line 363 "dhcp4_parser.yy"
910#line 911 "dhcp4_parser.cc"
914#line 368 "dhcp4_parser.yy"
920#line 921 "dhcp4_parser.cc"
924#line 374 "dhcp4_parser.yy"
926#line 927 "dhcp4_parser.cc"
930#line 381 "dhcp4_parser.yy"
933 ctx.
unique(yystack_[2].value.as < std::string > (), ctx.
loc2pos(yystack_[2].location));
934 ctx.
stack_.back()->set(yystack_[2].value.as < std::string > (), yystack_[0].value.as <
ElementPtr > ());
936#line 937 "dhcp4_parser.cc"
940#line 386 "dhcp4_parser.yy"
944 ctx.
unique(yystack_[2].value.as < std::string > (), ctx.
loc2pos(yystack_[2].location));
945 ctx.
stack_.back()->set(yystack_[2].value.as < std::string > (), yystack_[0].value.as <
ElementPtr > ());
947#line 948 "dhcp4_parser.cc"
951#line 392 "dhcp4_parser.yy"
955#line 956 "dhcp4_parser.cc"
959#line 397 "dhcp4_parser.yy"
964#line 965 "dhcp4_parser.cc"
968#line 400 "dhcp4_parser.yy"
972#line 973 "dhcp4_parser.cc"
976#line 408 "dhcp4_parser.yy"
981#line 982 "dhcp4_parser.cc"
985#line 412 "dhcp4_parser.yy"
990#line 991 "dhcp4_parser.cc"
994#line 416 "dhcp4_parser.yy"
998#line 999 "dhcp4_parser.cc"
1002#line 422 "dhcp4_parser.yy"
1006#line 1007 "dhcp4_parser.cc"
1010#line 424 "dhcp4_parser.yy"
1015#line 1016 "dhcp4_parser.cc"
1019#line 433 "dhcp4_parser.yy"
1022 ctx.
stack_.back()->add(s);
1024#line 1025 "dhcp4_parser.cc"
1028#line 437 "dhcp4_parser.yy"
1031 ctx.
stack_.back()->add(s);
1033#line 1034 "dhcp4_parser.cc"
1037#line 441 "dhcp4_parser.yy"
1041#line 1042 "dhcp4_parser.cc"
1045#line 451 "dhcp4_parser.yy"
1048 const std::string& keyword = yystack_[1].value.as < std::string > ();
1049 error(yystack_[1].location,
1050 "got unexpected keyword \"" + keyword +
"\" in " + where +
" map.");
1052#line 1053 "dhcp4_parser.cc"
1056#line 460 "dhcp4_parser.yy"
1063#line 1064 "dhcp4_parser.cc"
1067#line 465 "dhcp4_parser.yy"
1076#line 1077 "dhcp4_parser.cc"
1080#line 475 "dhcp4_parser.yy"
1087 ctx.
stack_.back()->set(
"Dhcp4", m);
1091#line 1092 "dhcp4_parser.cc"
1095#line 484 "dhcp4_parser.yy"
1101#line 1102 "dhcp4_parser.cc"
1105#line 492 "dhcp4_parser.yy"
1109#line 1110 "dhcp4_parser.cc"
1113#line 498 "dhcp4_parser.yy"
1119#line 1120 "dhcp4_parser.cc"
1123#line 502 "dhcp4_parser.yy"
1128#line 1129 "dhcp4_parser.cc"
1132#line 509 "dhcp4_parser.yy"
1136#line 1137 "dhcp4_parser.cc"
1140#line 590 "dhcp4_parser.yy"
1142 ctx.
unique(
"valid-lifetime", ctx.
loc2pos(yystack_[2].location));
1144 ctx.
stack_.back()->set(
"valid-lifetime", prf);
1146#line 1147 "dhcp4_parser.cc"
1150#line 596 "dhcp4_parser.yy"
1152 ctx.
unique(
"min-valid-lifetime", ctx.
loc2pos(yystack_[2].location));
1154 ctx.
stack_.back()->set(
"min-valid-lifetime", prf);
1156#line 1157 "dhcp4_parser.cc"
1160#line 602 "dhcp4_parser.yy"
1162 ctx.
unique(
"max-valid-lifetime", ctx.
loc2pos(yystack_[2].location));
1164 ctx.
stack_.back()->set(
"max-valid-lifetime", prf);
1166#line 1167 "dhcp4_parser.cc"
1170#line 608 "dhcp4_parser.yy"
1172 ctx.
unique(
"renew-timer", ctx.
loc2pos(yystack_[2].location));
1174 ctx.
stack_.back()->set(
"renew-timer", prf);
1176#line 1177 "dhcp4_parser.cc"
1180#line 614 "dhcp4_parser.yy"
1182 ctx.
unique(
"rebind-timer", ctx.
loc2pos(yystack_[2].location));
1184 ctx.
stack_.back()->set(
"rebind-timer", prf);
1186#line 1187 "dhcp4_parser.cc"
1190#line 620 "dhcp4_parser.yy"
1192 ctx.
unique(
"calculate-tee-times", ctx.
loc2pos(yystack_[2].location));
1194 ctx.
stack_.back()->set(
"calculate-tee-times", ctt);
1196#line 1197 "dhcp4_parser.cc"
1200#line 626 "dhcp4_parser.yy"
1202 ctx.
unique(
"t1-percent", ctx.
loc2pos(yystack_[2].location));
1204 ctx.
stack_.back()->set(
"t1-percent", t1);
1206#line 1207 "dhcp4_parser.cc"
1210#line 632 "dhcp4_parser.yy"
1212 ctx.
unique(
"t2-percent", ctx.
loc2pos(yystack_[2].location));
1214 ctx.
stack_.back()->set(
"t2-percent", t2);
1216#line 1217 "dhcp4_parser.cc"
1220#line 638 "dhcp4_parser.yy"
1222 ctx.
unique(
"cache-threshold", ctx.
loc2pos(yystack_[2].location));
1224 ctx.
stack_.back()->set(
"cache-threshold", ct);
1226#line 1227 "dhcp4_parser.cc"
1230#line 644 "dhcp4_parser.yy"
1232 ctx.
unique(
"cache-max-age", ctx.
loc2pos(yystack_[2].location));
1234 ctx.
stack_.back()->set(
"cache-max-age", cm);
1236#line 1237 "dhcp4_parser.cc"
1240#line 650 "dhcp4_parser.yy"
1242 ctx.
unique(
"decline-probation-period", ctx.
loc2pos(yystack_[2].location));
1244 ctx.
stack_.back()->set(
"decline-probation-period", dpp);
1246#line 1247 "dhcp4_parser.cc"
1250#line 656 "dhcp4_parser.yy"
1252 ctx.
unique(
"server-tag", ctx.
loc2pos(yystack_[0].location));
1255#line 1256 "dhcp4_parser.cc"
1259#line 659 "dhcp4_parser.yy"
1262 ctx.
stack_.back()->set(
"server-tag", stag);
1265#line 1266 "dhcp4_parser.cc"
1269#line 665 "dhcp4_parser.yy"
1271 ctx.
unique(
"parked-packet-limit", ctx.
loc2pos(yystack_[2].location));
1273 ctx.
stack_.back()->set(
"parked-packet-limit", ppl);
1275#line 1276 "dhcp4_parser.cc"
1279#line 671 "dhcp4_parser.yy"
1284#line 1285 "dhcp4_parser.cc"
1288#line 674 "dhcp4_parser.yy"
1291 ctx.
stack_.back()->set(
"allocator", al);
1294#line 1295 "dhcp4_parser.cc"
1298#line 680 "dhcp4_parser.yy"
1300 ctx.
unique(
"echo-client-id", ctx.
loc2pos(yystack_[2].location));
1302 ctx.
stack_.back()->set(
"echo-client-id", echo);
1304#line 1305 "dhcp4_parser.cc"
1308#line 686 "dhcp4_parser.yy"
1310 ctx.
unique(
"match-client-id", ctx.
loc2pos(yystack_[2].location));
1312 ctx.
stack_.back()->set(
"match-client-id", match);
1314#line 1315 "dhcp4_parser.cc"
1318#line 692 "dhcp4_parser.yy"
1320 ctx.
unique(
"authoritative", ctx.
loc2pos(yystack_[2].location));
1322 ctx.
stack_.back()->set(
"authoritative", prf);
1324#line 1325 "dhcp4_parser.cc"
1328#line 698 "dhcp4_parser.yy"
1330 ctx.
unique(
"ddns-send-updates", ctx.
loc2pos(yystack_[2].location));
1332 ctx.
stack_.back()->set(
"ddns-send-updates", b);
1334#line 1335 "dhcp4_parser.cc"
1338#line 704 "dhcp4_parser.yy"
1340 ctx.
unique(
"ddns-override-no-update", ctx.
loc2pos(yystack_[2].location));
1342 ctx.
stack_.back()->set(
"ddns-override-no-update", b);
1344#line 1345 "dhcp4_parser.cc"
1348#line 710 "dhcp4_parser.yy"
1350 ctx.
unique(
"ddns-override-client-update", ctx.
loc2pos(yystack_[2].location));
1352 ctx.
stack_.back()->set(
"ddns-override-client-update", b);
1354#line 1355 "dhcp4_parser.cc"
1358#line 716 "dhcp4_parser.yy"
1361 ctx.
unique(
"ddns-replace-client-name", ctx.
loc2pos(yystack_[0].location));
1363#line 1364 "dhcp4_parser.cc"
1367#line 719 "dhcp4_parser.yy"
1369 ctx.
stack_.back()->set(
"ddns-replace-client-name", yystack_[0].value.as <
ElementPtr > ());
1372#line 1373 "dhcp4_parser.cc"
1376#line 725 "dhcp4_parser.yy"
1380#line 1381 "dhcp4_parser.cc"
1384#line 728 "dhcp4_parser.yy"
1388#line 1389 "dhcp4_parser.cc"
1392#line 731 "dhcp4_parser.yy"
1396#line 1397 "dhcp4_parser.cc"
1400#line 734 "dhcp4_parser.yy"
1404#line 1405 "dhcp4_parser.cc"
1408#line 737 "dhcp4_parser.yy"
1410 error(yystack_[0].location,
"boolean values for the ddns-replace-client-name are "
1411 "no longer supported");
1413#line 1414 "dhcp4_parser.cc"
1417#line 743 "dhcp4_parser.yy"
1419 ctx.
unique(
"ddns-generated-prefix", ctx.
loc2pos(yystack_[0].location));
1422#line 1423 "dhcp4_parser.cc"
1426#line 746 "dhcp4_parser.yy"
1429 ctx.
stack_.back()->set(
"ddns-generated-prefix", s);
1432#line 1433 "dhcp4_parser.cc"
1436#line 752 "dhcp4_parser.yy"
1438 ctx.
unique(
"ddns-qualifying-suffix", ctx.
loc2pos(yystack_[0].location));
1441#line 1442 "dhcp4_parser.cc"
1445#line 755 "dhcp4_parser.yy"
1448 ctx.
stack_.back()->set(
"ddns-qualifying-suffix", s);
1451#line 1452 "dhcp4_parser.cc"
1455#line 761 "dhcp4_parser.yy"
1457 ctx.
unique(
"ddns-update-on-renew", ctx.
loc2pos(yystack_[2].location));
1459 ctx.
stack_.back()->set(
"ddns-update-on-renew", b);
1461#line 1462 "dhcp4_parser.cc"
1465#line 770 "dhcp4_parser.yy"
1467 ctx.
unique(
"ddns-use-conflict-resolution", ctx.
loc2pos(yystack_[2].location));
1469 ctx.
warning(yystack_[1].location,
"ddns-use-conflict-resolution is deprecated. "
1470 "Substituting ddns-conflict-resolution-mode");
1472 :
"no-check-with-dhcid"));
1473 ctx.
stack_.back()->set(
"ddns-conflict-resolution-mode", mode);
1475#line 1476 "dhcp4_parser.cc"
1479#line 780 "dhcp4_parser.yy"
1481 ctx.
unique(
"ddns-conflict-resolution-mode", ctx.
loc2pos(yystack_[0].location));
1484#line 1485 "dhcp4_parser.cc"
1488#line 783 "dhcp4_parser.yy"
1490 ctx.
stack_.back()->set(
"ddns-conflict-resolution-mode", yystack_[0].value.as <
ElementPtr > ());
1493#line 1494 "dhcp4_parser.cc"
1497#line 789 "dhcp4_parser.yy"
1501#line 1502 "dhcp4_parser.cc"
1505#line 792 "dhcp4_parser.yy"
1509#line 1510 "dhcp4_parser.cc"
1513#line 795 "dhcp4_parser.yy"
1517#line 1518 "dhcp4_parser.cc"
1521#line 798 "dhcp4_parser.yy"
1525#line 1526 "dhcp4_parser.cc"
1529#line 803 "dhcp4_parser.yy"
1531 ctx.
unique(
"ddns-ttl-percent", ctx.
loc2pos(yystack_[2].location));
1533 ctx.
stack_.back()->set(
"ddns-ttl-percent", ttl);
1535#line 1536 "dhcp4_parser.cc"
1539#line 809 "dhcp4_parser.yy"
1543 ctx.
stack_.back()->set(
"ddns-ttl", ttl);
1545#line 1546 "dhcp4_parser.cc"
1549#line 815 "dhcp4_parser.yy"
1551 ctx.
unique(
"ddns-ttl-min", ctx.
loc2pos(yystack_[2].location));
1553 ctx.
stack_.back()->set(
"ddns-ttl-min", ttl);
1555#line 1556 "dhcp4_parser.cc"
1559#line 821 "dhcp4_parser.yy"
1561 ctx.
unique(
"ddns-ttl-max", ctx.
loc2pos(yystack_[2].location));
1563 ctx.
stack_.back()->set(
"ddns-ttl-max", ttl);
1565#line 1566 "dhcp4_parser.cc"
1569#line 827 "dhcp4_parser.yy"
1571 ctx.
unique(
"hostname-char-set", ctx.
loc2pos(yystack_[0].location));
1574#line 1575 "dhcp4_parser.cc"
1578#line 830 "dhcp4_parser.yy"
1581 ctx.
stack_.back()->set(
"hostname-char-set", s);
1584#line 1585 "dhcp4_parser.cc"
1588#line 836 "dhcp4_parser.yy"
1590 ctx.
unique(
"hostname-char-replacement", ctx.
loc2pos(yystack_[0].location));
1593#line 1594 "dhcp4_parser.cc"
1597#line 839 "dhcp4_parser.yy"
1600 ctx.
stack_.back()->set(
"hostname-char-replacement", s);
1603#line 1604 "dhcp4_parser.cc"
1607#line 845 "dhcp4_parser.yy"
1609 ctx.
unique(
"store-extended-info", ctx.
loc2pos(yystack_[2].location));
1611 ctx.
stack_.back()->set(
"store-extended-info", b);
1613#line 1614 "dhcp4_parser.cc"
1617#line 851 "dhcp4_parser.yy"
1619 ctx.
unique(
"statistic-default-sample-count", ctx.
loc2pos(yystack_[2].location));
1621 ctx.
stack_.back()->set(
"statistic-default-sample-count", count);
1623#line 1624 "dhcp4_parser.cc"
1627#line 857 "dhcp4_parser.yy"
1629 ctx.
unique(
"statistic-default-sample-age", ctx.
loc2pos(yystack_[2].location));
1631 ctx.
stack_.back()->set(
"statistic-default-sample-age", age);
1633#line 1634 "dhcp4_parser.cc"
1637#line 863 "dhcp4_parser.yy"
1639 ctx.
unique(
"early-global-reservations-lookup", ctx.
loc2pos(yystack_[2].location));
1641 ctx.
stack_.back()->set(
"early-global-reservations-lookup", early);
1643#line 1644 "dhcp4_parser.cc"
1647#line 869 "dhcp4_parser.yy"
1649 ctx.
unique(
"ip-reservations-unique", ctx.
loc2pos(yystack_[2].location));
1651 ctx.
stack_.back()->set(
"ip-reservations-unique", unique);
1653#line 1654 "dhcp4_parser.cc"
1657#line 875 "dhcp4_parser.yy"
1659 ctx.
unique(
"reservations-lookup-first", ctx.
loc2pos(yystack_[2].location));
1661 ctx.
stack_.back()->set(
"reservations-lookup-first", first);
1663#line 1664 "dhcp4_parser.cc"
1667#line 881 "dhcp4_parser.yy"
1669 ctx.
unique(
"offer-lifetime", ctx.
loc2pos(yystack_[2].location));
1671 ctx.
stack_.back()->set(
"offer-lifetime", offer_lifetime);
1673#line 1674 "dhcp4_parser.cc"
1677#line 887 "dhcp4_parser.yy"
1679 ctx.
unique(
"stash-agent-options", ctx.
loc2pos(yystack_[2].location));
1681 ctx.
stack_.back()->set(
"stash-agent-options", stash);
1683#line 1684 "dhcp4_parser.cc"
1687#line 893 "dhcp4_parser.yy"
1689 ctx.
unique(
"interfaces-config", ctx.
loc2pos(yystack_[0].location));
1691 ctx.
stack_.back()->set(
"interfaces-config", i);
1695#line 1696 "dhcp4_parser.cc"
1699#line 899 "dhcp4_parser.yy"
1705#line 1706 "dhcp4_parser.cc"
1709#line 907 "dhcp4_parser.yy"
1713#line 1714 "dhcp4_parser.cc"
1717#line 924 "dhcp4_parser.yy"
1723#line 1724 "dhcp4_parser.cc"
1727#line 928 "dhcp4_parser.yy"
1732#line 1733 "dhcp4_parser.cc"
1736#line 933 "dhcp4_parser.yy"
1738 ctx.
unique(
"interfaces", ctx.
loc2pos(yystack_[0].location));
1740 ctx.
stack_.back()->set(
"interfaces", l);
1744#line 1745 "dhcp4_parser.cc"
1748#line 939 "dhcp4_parser.yy"
1753#line 1754 "dhcp4_parser.cc"
1757#line 944 "dhcp4_parser.yy"
1759 ctx.
unique(
"dhcp-socket-type", ctx.
loc2pos(yystack_[0].location));
1762#line 1763 "dhcp4_parser.cc"
1766#line 947 "dhcp4_parser.yy"
1768 ctx.
stack_.back()->set(
"dhcp-socket-type", yystack_[0].value.as <
ElementPtr > ());
1771#line 1772 "dhcp4_parser.cc"
1775#line 952 "dhcp4_parser.yy"
1777#line 1778 "dhcp4_parser.cc"
1781#line 953 "dhcp4_parser.yy"
1783#line 1784 "dhcp4_parser.cc"
1787#line 956 "dhcp4_parser.yy"
1789 ctx.
unique(
"outbound-interface", ctx.
loc2pos(yystack_[0].location));
1792#line 1793 "dhcp4_parser.cc"
1796#line 959 "dhcp4_parser.yy"
1798 ctx.
stack_.back()->set(
"outbound-interface", yystack_[0].value.as <
ElementPtr > ());
1801#line 1802 "dhcp4_parser.cc"
1805#line 964 "dhcp4_parser.yy"
1809#line 1810 "dhcp4_parser.cc"
1813#line 966 "dhcp4_parser.yy"
1817#line 1818 "dhcp4_parser.cc"
1821#line 970 "dhcp4_parser.yy"
1825 ctx.
stack_.back()->set(
"re-detect", b);
1827#line 1828 "dhcp4_parser.cc"
1831#line 976 "dhcp4_parser.yy"
1833 ctx.
unique(
"service-sockets-require-all", ctx.
loc2pos(yystack_[2].location));
1835 ctx.
stack_.back()->set(
"service-sockets-require-all", b);
1837#line 1838 "dhcp4_parser.cc"
1841#line 982 "dhcp4_parser.yy"
1843 ctx.
unique(
"service-sockets-retry-wait-time", ctx.
loc2pos(yystack_[2].location));
1845 ctx.
stack_.back()->set(
"service-sockets-retry-wait-time", n);
1847#line 1848 "dhcp4_parser.cc"
1851#line 988 "dhcp4_parser.yy"
1853 ctx.
unique(
"service-sockets-max-retries", ctx.
loc2pos(yystack_[2].location));
1855 ctx.
stack_.back()->set(
"service-sockets-max-retries", n);
1857#line 1858 "dhcp4_parser.cc"
1861#line 994 "dhcp4_parser.yy"
1863 ctx.
unique(
"lease-database", ctx.
loc2pos(yystack_[0].location));
1865 ctx.
stack_.back()->set(
"lease-database", i);
1869#line 1870 "dhcp4_parser.cc"
1873#line 1000 "dhcp4_parser.yy"
1880#line 1881 "dhcp4_parser.cc"
1884#line 1007 "dhcp4_parser.yy"
1886 ctx.
unique(
"sanity-checks", ctx.
loc2pos(yystack_[0].location));
1888 ctx.
stack_.back()->set(
"sanity-checks", m);
1892#line 1893 "dhcp4_parser.cc"
1896#line 1013 "dhcp4_parser.yy"
1901#line 1902 "dhcp4_parser.cc"
1905#line 1020 "dhcp4_parser.yy"
1909#line 1910 "dhcp4_parser.cc"
1913#line 1029 "dhcp4_parser.yy"
1915 ctx.
unique(
"lease-checks", ctx.
loc2pos(yystack_[0].location));
1918#line 1919 "dhcp4_parser.cc"
1922#line 1032 "dhcp4_parser.yy"
1925 if ( (
string(yystack_[0].value.as < std::string > ()) ==
"none") ||
1926 (
string(yystack_[0].value.as < std::string > ()) ==
"warn") ||
1927 (
string(yystack_[0].value.as < std::string > ()) ==
"fix") ||
1928 (
string(yystack_[0].value.as < std::string > ()) ==
"fix-del") ||
1929 (
string(yystack_[0].value.as < std::string > ()) ==
"del")) {
1931 ctx.
stack_.back()->set(
"lease-checks", user);
1934 error(yystack_[0].location,
"Unsupported 'lease-checks value: " +
string(yystack_[0].value.as < std::string > ()) +
1935 ", supported values are: none, warn, fix, fix-del, del");
1938#line 1939 "dhcp4_parser.cc"
1942#line 1048 "dhcp4_parser.yy"
1944 ctx.
unique(
"extended-info-checks", ctx.
loc2pos(yystack_[0].location));
1947#line 1948 "dhcp4_parser.cc"
1951#line 1051 "dhcp4_parser.yy"
1954 if ( (
string(yystack_[0].value.as < std::string > ()) ==
"none") ||
1955 (
string(yystack_[0].value.as < std::string > ()) ==
"fix") ||
1956 (
string(yystack_[0].value.as < std::string > ()) ==
"strict") ||
1957 (
string(yystack_[0].value.as < std::string > ()) ==
"pedantic")) {
1959 ctx.
stack_.back()->set(
"extended-info-checks", user);
1962 error(yystack_[0].location,
"Unsupported 'extended-info-checks value: " +
string(yystack_[0].value.as < std::string > ()) +
1963 ", supported values are: none, fix, strict, pedantic");
1966#line 1967 "dhcp4_parser.cc"
1970#line 1066 "dhcp4_parser.yy"
1972 ctx.
unique(
"hosts-database", ctx.
loc2pos(yystack_[0].location));
1974 ctx.
stack_.back()->set(
"hosts-database", i);
1978#line 1979 "dhcp4_parser.cc"
1982#line 1072 "dhcp4_parser.yy"
1989#line 1990 "dhcp4_parser.cc"
1993#line 1079 "dhcp4_parser.yy"
1995 ctx.
unique(
"hosts-databases", ctx.
loc2pos(yystack_[0].location));
1997 ctx.
stack_.back()->set(
"hosts-databases", l);
2001#line 2002 "dhcp4_parser.cc"
2005#line 1085 "dhcp4_parser.yy"
2010#line 2011 "dhcp4_parser.cc"
2014#line 1096 "dhcp4_parser.yy"
2018#line 2019 "dhcp4_parser.cc"
2022#line 1101 "dhcp4_parser.yy"
2025 ctx.
stack_.back()->add(m);
2028#line 2029 "dhcp4_parser.cc"
2032#line 1105 "dhcp4_parser.yy"
2038#line 2039 "dhcp4_parser.cc"
2042#line 1113 "dhcp4_parser.yy"
2046#line 2047 "dhcp4_parser.cc"
2050#line 1143 "dhcp4_parser.yy"
2055#line 2056 "dhcp4_parser.cc"
2059#line 1146 "dhcp4_parser.yy"
2062 ctx.
stack_.back()->set(
"type", db_type);
2065#line 2066 "dhcp4_parser.cc"
2069#line 1152 "dhcp4_parser.yy"
2074#line 2075 "dhcp4_parser.cc"
2078#line 1155 "dhcp4_parser.yy"
2081 ctx.
stack_.back()->set(
"user", user);
2084#line 2085 "dhcp4_parser.cc"
2088#line 1161 "dhcp4_parser.yy"
2093#line 2094 "dhcp4_parser.cc"
2097#line 1164 "dhcp4_parser.yy"
2100 ctx.
stack_.back()->set(
"password", pwd);
2103#line 2104 "dhcp4_parser.cc"
2107#line 1170 "dhcp4_parser.yy"
2112#line 2113 "dhcp4_parser.cc"
2116#line 1173 "dhcp4_parser.yy"
2119 ctx.
stack_.back()->set(
"host", h);
2122#line 2123 "dhcp4_parser.cc"
2126#line 1179 "dhcp4_parser.yy"
2130 ctx.
stack_.back()->set(
"port", p);
2132#line 2133 "dhcp4_parser.cc"
2136#line 1185 "dhcp4_parser.yy"
2141#line 2142 "dhcp4_parser.cc"
2145#line 1188 "dhcp4_parser.yy"
2148 ctx.
stack_.back()->set(
"name", name);
2151#line 2152 "dhcp4_parser.cc"
2155#line 1194 "dhcp4_parser.yy"
2159 ctx.
stack_.back()->set(
"persist", n);
2161#line 2162 "dhcp4_parser.cc"
2165#line 1200 "dhcp4_parser.yy"
2167 ctx.
unique(
"lfc-interval", ctx.
loc2pos(yystack_[2].location));
2169 ctx.
stack_.back()->set(
"lfc-interval", n);
2171#line 2172 "dhcp4_parser.cc"
2175#line 1206 "dhcp4_parser.yy"
2179 ctx.
stack_.back()->set(
"readonly", n);
2181#line 2182 "dhcp4_parser.cc"
2185#line 1212 "dhcp4_parser.yy"
2187 ctx.
unique(
"connect-timeout", ctx.
loc2pos(yystack_[2].location));
2189 ctx.
stack_.back()->set(
"connect-timeout", n);
2191#line 2192 "dhcp4_parser.cc"
2195#line 1218 "dhcp4_parser.yy"
2197 ctx.
unique(
"read-timeout", ctx.
loc2pos(yystack_[2].location));
2199 ctx.
stack_.back()->set(
"read-timeout", n);
2201#line 2202 "dhcp4_parser.cc"
2205#line 1224 "dhcp4_parser.yy"
2207 ctx.
unique(
"write-timeout", ctx.
loc2pos(yystack_[2].location));
2209 ctx.
stack_.back()->set(
"write-timeout", n);
2211#line 2212 "dhcp4_parser.cc"
2215#line 1230 "dhcp4_parser.yy"
2217 ctx.
unique(
"tcp-user-timeout", ctx.
loc2pos(yystack_[2].location));
2219 ctx.
stack_.back()->set(
"tcp-user-timeout", n);
2221#line 2222 "dhcp4_parser.cc"
2225#line 1236 "dhcp4_parser.yy"
2227 ctx.
unique(
"max-reconnect-tries", ctx.
loc2pos(yystack_[2].location));
2229 ctx.
stack_.back()->set(
"max-reconnect-tries", n);
2231#line 2232 "dhcp4_parser.cc"
2235#line 1242 "dhcp4_parser.yy"
2237 ctx.
unique(
"reconnect-wait-time", ctx.
loc2pos(yystack_[2].location));
2239 ctx.
stack_.back()->set(
"reconnect-wait-time", n);
2241#line 2242 "dhcp4_parser.cc"
2245#line 1248 "dhcp4_parser.yy"
2250#line 2251 "dhcp4_parser.cc"
2254#line 1251 "dhcp4_parser.yy"
2259#line 2260 "dhcp4_parser.cc"
2263#line 1256 "dhcp4_parser.yy"
2265#line 2266 "dhcp4_parser.cc"
2269#line 1257 "dhcp4_parser.yy"
2271#line 2272 "dhcp4_parser.cc"
2275#line 1258 "dhcp4_parser.yy"
2277#line 2278 "dhcp4_parser.cc"
2281#line 1261 "dhcp4_parser.yy"
2283 ctx.
unique(
"retry-on-startup", ctx.
loc2pos(yystack_[2].location));
2285 ctx.
stack_.back()->set(
"retry-on-startup", n);
2287#line 2288 "dhcp4_parser.cc"
2291#line 1267 "dhcp4_parser.yy"
2293 ctx.
unique(
"max-row-errors", ctx.
loc2pos(yystack_[2].location));
2295 ctx.
stack_.back()->set(
"max-row-errors", n);
2297#line 2298 "dhcp4_parser.cc"
2301#line 1273 "dhcp4_parser.yy"
2303 ctx.
unique(
"trust-anchor", ctx.
loc2pos(yystack_[0].location));
2306#line 2307 "dhcp4_parser.cc"
2310#line 1276 "dhcp4_parser.yy"
2313 ctx.
stack_.back()->set(
"trust-anchor", ca);
2316#line 2317 "dhcp4_parser.cc"
2320#line 1282 "dhcp4_parser.yy"
2325#line 2326 "dhcp4_parser.cc"
2329#line 1285 "dhcp4_parser.yy"
2332 ctx.
stack_.back()->set(
"cert-file", cert);
2335#line 2336 "dhcp4_parser.cc"
2339#line 1291 "dhcp4_parser.yy"
2344#line 2345 "dhcp4_parser.cc"
2348#line 1294 "dhcp4_parser.yy"
2351 ctx.
stack_.back()->set(
"key-file", key);
2354#line 2355 "dhcp4_parser.cc"
2358#line 1300 "dhcp4_parser.yy"
2360 ctx.
unique(
"cipher-list", ctx.
loc2pos(yystack_[0].location));
2363#line 2364 "dhcp4_parser.cc"
2367#line 1303 "dhcp4_parser.yy"
2370 ctx.
stack_.back()->set(
"cipher-list", cl);
2373#line 2374 "dhcp4_parser.cc"
2377#line 1309 "dhcp4_parser.yy"
2379 ctx.
unique(
"host-reservation-identifiers", ctx.
loc2pos(yystack_[0].location));
2381 ctx.
stack_.back()->set(
"host-reservation-identifiers", l);
2385#line 2386 "dhcp4_parser.cc"
2389#line 1315 "dhcp4_parser.yy"
2394#line 2395 "dhcp4_parser.cc"
2398#line 1322 "dhcp4_parser.yy"
2402#line 2403 "dhcp4_parser.cc"
2406#line 1334 "dhcp4_parser.yy"
2409 ctx.
stack_.back()->add(duid);
2411#line 2412 "dhcp4_parser.cc"
2415#line 1339 "dhcp4_parser.yy"
2418 ctx.
stack_.back()->add(hwaddr);
2420#line 2421 "dhcp4_parser.cc"
2424#line 1344 "dhcp4_parser.yy"
2427 ctx.
stack_.back()->add(circuit);
2429#line 2430 "dhcp4_parser.cc"
2433#line 1349 "dhcp4_parser.yy"
2436 ctx.
stack_.back()->add(client);
2438#line 2439 "dhcp4_parser.cc"
2442#line 1354 "dhcp4_parser.yy"
2445 ctx.
stack_.back()->add(flex_id);
2447#line 2448 "dhcp4_parser.cc"
2451#line 1361 "dhcp4_parser.yy"
2453 ctx.
unique(
"multi-threading", ctx.
loc2pos(yystack_[0].location));
2455 ctx.
stack_.back()->set(
"multi-threading", mt);
2456 ctx.
stack_.push_back(mt);
2459#line 2460 "dhcp4_parser.cc"
2463#line 1367 "dhcp4_parser.yy"
2466 ctx.
require(
"enable-multi-threading", ctx.
loc2pos(yystack_[2].location), ctx.
loc2pos(yystack_[0].location));
2470#line 2471 "dhcp4_parser.cc"
2474#line 1376 "dhcp4_parser.yy"
2478#line 2479 "dhcp4_parser.cc"
2482#line 1389 "dhcp4_parser.yy"
2484 ctx.
unique(
"enable-multi-threading", ctx.
loc2pos(yystack_[2].location));
2486 ctx.
stack_.back()->set(
"enable-multi-threading", b);
2488#line 2489 "dhcp4_parser.cc"
2492#line 1395 "dhcp4_parser.yy"
2494 ctx.
unique(
"thread-pool-size", ctx.
loc2pos(yystack_[2].location));
2496 ctx.
stack_.back()->set(
"thread-pool-size", prf);
2498#line 2499 "dhcp4_parser.cc"
2502#line 1401 "dhcp4_parser.yy"
2504 ctx.
unique(
"packet-queue-size", ctx.
loc2pos(yystack_[2].location));
2506 ctx.
stack_.back()->set(
"packet-queue-size", prf);
2508#line 2509 "dhcp4_parser.cc"
2512#line 1407 "dhcp4_parser.yy"
2514 ctx.
unique(
"hooks-libraries", ctx.
loc2pos(yystack_[0].location));
2516 ctx.
stack_.back()->set(
"hooks-libraries", l);
2520#line 2521 "dhcp4_parser.cc"
2524#line 1413 "dhcp4_parser.yy"
2529#line 2530 "dhcp4_parser.cc"
2533#line 1424 "dhcp4_parser.yy"
2537#line 2538 "dhcp4_parser.cc"
2541#line 1429 "dhcp4_parser.yy"
2544 ctx.
stack_.back()->add(m);
2547#line 2548 "dhcp4_parser.cc"
2551#line 1433 "dhcp4_parser.yy"
2557#line 2558 "dhcp4_parser.cc"
2561#line 1439 "dhcp4_parser.yy"
2567#line 2568 "dhcp4_parser.cc"
2571#line 1443 "dhcp4_parser.yy"
2577#line 2578 "dhcp4_parser.cc"
2581#line 1451 "dhcp4_parser.yy"
2585#line 2586 "dhcp4_parser.cc"
2589#line 1461 "dhcp4_parser.yy"
2594#line 2595 "dhcp4_parser.cc"
2598#line 1464 "dhcp4_parser.yy"
2601 ctx.
stack_.back()->set(
"library", lib);
2604#line 2605 "dhcp4_parser.cc"
2608#line 1470 "dhcp4_parser.yy"
2610 ctx.
unique(
"parameters", ctx.
loc2pos(yystack_[0].location));
2613#line 2614 "dhcp4_parser.cc"
2617#line 1473 "dhcp4_parser.yy"
2619 ctx.
stack_.back()->set(
"parameters", yystack_[0].value.as <
ElementPtr > ());
2622#line 2623 "dhcp4_parser.cc"
2626#line 1479 "dhcp4_parser.yy"
2628 ctx.
unique(
"expired-leases-processing", ctx.
loc2pos(yystack_[0].location));
2630 ctx.
stack_.back()->set(
"expired-leases-processing", m);
2634#line 2635 "dhcp4_parser.cc"
2638#line 1485 "dhcp4_parser.yy"
2644#line 2645 "dhcp4_parser.cc"
2648#line 1493 "dhcp4_parser.yy"
2652#line 2653 "dhcp4_parser.cc"
2656#line 1506 "dhcp4_parser.yy"
2658 ctx.
unique(
"reclaim-timer-wait-time", ctx.
loc2pos(yystack_[2].location));
2660 ctx.
stack_.back()->set(
"reclaim-timer-wait-time", value);
2662#line 2663 "dhcp4_parser.cc"
2666#line 1512 "dhcp4_parser.yy"
2668 ctx.
unique(
"flush-reclaimed-timer-wait-time", ctx.
loc2pos(yystack_[2].location));
2670 ctx.
stack_.back()->set(
"flush-reclaimed-timer-wait-time", value);
2672#line 2673 "dhcp4_parser.cc"
2676#line 1518 "dhcp4_parser.yy"
2678 ctx.
unique(
"hold-reclaimed-time", ctx.
loc2pos(yystack_[2].location));
2680 ctx.
stack_.back()->set(
"hold-reclaimed-time", value);
2682#line 2683 "dhcp4_parser.cc"
2686#line 1524 "dhcp4_parser.yy"
2688 ctx.
unique(
"max-reclaim-leases", ctx.
loc2pos(yystack_[2].location));
2690 ctx.
stack_.back()->set(
"max-reclaim-leases", value);
2692#line 2693 "dhcp4_parser.cc"
2696#line 1530 "dhcp4_parser.yy"
2698 ctx.
unique(
"max-reclaim-time", ctx.
loc2pos(yystack_[2].location));
2700 ctx.
stack_.back()->set(
"max-reclaim-time", value);
2702#line 2703 "dhcp4_parser.cc"
2706#line 1536 "dhcp4_parser.yy"
2708 ctx.
unique(
"unwarned-reclaim-cycles", ctx.
loc2pos(yystack_[2].location));
2710 ctx.
stack_.back()->set(
"unwarned-reclaim-cycles", value);
2712#line 2713 "dhcp4_parser.cc"
2716#line 1545 "dhcp4_parser.yy"
2720 ctx.
stack_.back()->set(
"subnet4", l);
2724#line 2725 "dhcp4_parser.cc"
2728#line 1551 "dhcp4_parser.yy"
2733#line 2734 "dhcp4_parser.cc"
2737#line 1565 "dhcp4_parser.yy"
2741#line 2742 "dhcp4_parser.cc"
2745#line 1574 "dhcp4_parser.yy"
2748 ctx.
stack_.back()->add(m);
2751#line 2752 "dhcp4_parser.cc"
2755#line 1578 "dhcp4_parser.yy"
2777#line 2778 "dhcp4_parser.cc"
2781#line 1600 "dhcp4_parser.yy"
2787#line 2788 "dhcp4_parser.cc"
2791#line 1604 "dhcp4_parser.yy"
2797#line 2798 "dhcp4_parser.cc"
2801#line 1613 "dhcp4_parser.yy"
2805#line 2806 "dhcp4_parser.cc"
2809#line 1674 "dhcp4_parser.yy"
2814#line 2815 "dhcp4_parser.cc"
2818#line 1677 "dhcp4_parser.yy"
2821 ctx.
stack_.back()->set(
"subnet", subnet);
2824#line 2825 "dhcp4_parser.cc"
2828#line 1683 "dhcp4_parser.yy"
2830 ctx.
unique(
"4o6-interface", ctx.
loc2pos(yystack_[0].location));
2833#line 2834 "dhcp4_parser.cc"
2837#line 1686 "dhcp4_parser.yy"
2840 ctx.
stack_.back()->set(
"4o6-interface", iface);
2843#line 2844 "dhcp4_parser.cc"
2847#line 1692 "dhcp4_parser.yy"
2849 ctx.
unique(
"4o6-interface-id", ctx.
loc2pos(yystack_[0].location));
2852#line 2853 "dhcp4_parser.cc"
2856#line 1695 "dhcp4_parser.yy"
2859 ctx.
stack_.back()->set(
"4o6-interface-id", iface);
2862#line 2863 "dhcp4_parser.cc"
2866#line 1701 "dhcp4_parser.yy"
2868 ctx.
unique(
"4o6-subnet", ctx.
loc2pos(yystack_[0].location));
2871#line 2872 "dhcp4_parser.cc"
2875#line 1704 "dhcp4_parser.yy"
2878 ctx.
stack_.back()->set(
"4o6-subnet", iface);
2881#line 2882 "dhcp4_parser.cc"
2885#line 1710 "dhcp4_parser.yy"
2890#line 2891 "dhcp4_parser.cc"
2894#line 1713 "dhcp4_parser.yy"
2897 ctx.
stack_.back()->set(
"interface", iface);
2900#line 2901 "dhcp4_parser.cc"
2904#line 1719 "dhcp4_parser.yy"
2906 ctx.
unique(
"client-class", ctx.
loc2pos(yystack_[0].location));
2909#line 2910 "dhcp4_parser.cc"
2913#line 1722 "dhcp4_parser.yy"
2916 ctx.
stack_.back()->set(
"client-class", cls);
2919#line 2920 "dhcp4_parser.cc"
2923#line 1729 "dhcp4_parser.yy"
2925 ctx.
unique(
"client-classes", ctx.
loc2pos(yystack_[0].location));
2927 ctx.
stack_.back()->set(
"client-classes", c);
2931#line 2932 "dhcp4_parser.cc"
2935#line 1735 "dhcp4_parser.yy"
2940#line 2941 "dhcp4_parser.cc"
2944#line 1741 "dhcp4_parser.yy"
2946 ctx.
unique(
"require-client-classes", ctx.
loc2pos(yystack_[0].location));
2948 ctx.
stack_.back()->set(
"require-client-classes", c);
2952#line 2953 "dhcp4_parser.cc"
2956#line 1747 "dhcp4_parser.yy"
2961#line 2962 "dhcp4_parser.cc"
2965#line 1752 "dhcp4_parser.yy"
2967 ctx.
unique(
"evaluate-additional-classes", ctx.
loc2pos(yystack_[0].location));
2969 ctx.
stack_.back()->set(
"evaluate-additional-classes", c);
2973#line 2974 "dhcp4_parser.cc"
2977#line 1758 "dhcp4_parser.yy"
2982#line 2983 "dhcp4_parser.cc"
2986#line 1763 "dhcp4_parser.yy"
2988 ctx.
unique(
"reservations-global", ctx.
loc2pos(yystack_[2].location));
2990 ctx.
stack_.back()->set(
"reservations-global", b);
2992#line 2993 "dhcp4_parser.cc"
2996#line 1769 "dhcp4_parser.yy"
2998 ctx.
unique(
"reservations-in-subnet", ctx.
loc2pos(yystack_[2].location));
3000 ctx.
stack_.back()->set(
"reservations-in-subnet", b);
3002#line 3003 "dhcp4_parser.cc"
3006#line 1775 "dhcp4_parser.yy"
3008 ctx.
unique(
"reservations-out-of-pool", ctx.
loc2pos(yystack_[2].location));
3010 ctx.
stack_.back()->set(
"reservations-out-of-pool", b);
3012#line 3013 "dhcp4_parser.cc"
3016#line 1781 "dhcp4_parser.yy"
3020 ctx.
stack_.back()->set(
"id",
id);
3022#line 3023 "dhcp4_parser.cc"
3026#line 1789 "dhcp4_parser.yy"
3028 ctx.
unique(
"shared-networks", ctx.
loc2pos(yystack_[0].location));
3030 ctx.
stack_.back()->set(
"shared-networks", l);
3034#line 3035 "dhcp4_parser.cc"
3038#line 1795 "dhcp4_parser.yy"
3043#line 3044 "dhcp4_parser.cc"
3047#line 1808 "dhcp4_parser.yy"
3051#line 3052 "dhcp4_parser.cc"
3055#line 1813 "dhcp4_parser.yy"
3058 ctx.
stack_.back()->add(m);
3061#line 3062 "dhcp4_parser.cc"
3065#line 1817 "dhcp4_parser.yy"
3069#line 3070 "dhcp4_parser.cc"
3073#line 1823 "dhcp4_parser.yy"
3077#line 3078 "dhcp4_parser.cc"
3081#line 1882 "dhcp4_parser.yy"
3083 ctx.
unique(
"option-def", ctx.
loc2pos(yystack_[0].location));
3085 ctx.
stack_.back()->set(
"option-def", l);
3089#line 3090 "dhcp4_parser.cc"
3093#line 1888 "dhcp4_parser.yy"
3098#line 3099 "dhcp4_parser.cc"
3102#line 1896 "dhcp4_parser.yy"
3107#line 3108 "dhcp4_parser.cc"
3111#line 1899 "dhcp4_parser.yy"
3115#line 3116 "dhcp4_parser.cc"
3119#line 1911 "dhcp4_parser.yy"
3123#line 3124 "dhcp4_parser.cc"
3127#line 1918 "dhcp4_parser.yy"
3130 ctx.
stack_.back()->add(m);
3133#line 3134 "dhcp4_parser.cc"
3137#line 1922 "dhcp4_parser.yy"
3145#line 3146 "dhcp4_parser.cc"
3149#line 1933 "dhcp4_parser.yy"
3155#line 3156 "dhcp4_parser.cc"
3159#line 1937 "dhcp4_parser.yy"
3167#line 3168 "dhcp4_parser.cc"
3171#line 1953 "dhcp4_parser.yy"
3175#line 3176 "dhcp4_parser.cc"
3179#line 1972 "dhcp4_parser.yy"
3183 ctx.
stack_.back()->set(
"code", code);
3185#line 3186 "dhcp4_parser.cc"
3189#line 1980 "dhcp4_parser.yy"
3194#line 3195 "dhcp4_parser.cc"
3198#line 1983 "dhcp4_parser.yy"
3201 ctx.
stack_.back()->set(
"type", prf);
3204#line 3205 "dhcp4_parser.cc"
3208#line 1989 "dhcp4_parser.yy"
3210 ctx.
unique(
"record-types", ctx.
loc2pos(yystack_[0].location));
3213#line 3214 "dhcp4_parser.cc"
3217#line 1992 "dhcp4_parser.yy"
3220 ctx.
stack_.back()->set(
"record-types", rtypes);
3223#line 3224 "dhcp4_parser.cc"
3227#line 1998 "dhcp4_parser.yy"
3232#line 3233 "dhcp4_parser.cc"
3236#line 2001 "dhcp4_parser.yy"
3239 ctx.
stack_.back()->set(
"space", space);
3242#line 3243 "dhcp4_parser.cc"
3246#line 2009 "dhcp4_parser.yy"
3248 ctx.
unique(
"encapsulate", ctx.
loc2pos(yystack_[0].location));
3251#line 3252 "dhcp4_parser.cc"
3255#line 2012 "dhcp4_parser.yy"
3258 ctx.
stack_.back()->set(
"encapsulate", encap);
3261#line 3262 "dhcp4_parser.cc"
3265#line 2018 "dhcp4_parser.yy"
3269 ctx.
stack_.back()->set(
"array", array);
3271#line 3272 "dhcp4_parser.cc"
3275#line 2028 "dhcp4_parser.yy"
3277 ctx.
unique(
"option-data", ctx.
loc2pos(yystack_[0].location));
3279 ctx.
stack_.back()->set(
"option-data", l);
3283#line 3284 "dhcp4_parser.cc"
3287#line 2034 "dhcp4_parser.yy"
3292#line 3293 "dhcp4_parser.cc"
3296#line 2049 "dhcp4_parser.yy"
3300#line 3301 "dhcp4_parser.cc"
3304#line 2056 "dhcp4_parser.yy"
3307 ctx.
stack_.back()->add(m);
3310#line 3311 "dhcp4_parser.cc"
3314#line 2060 "dhcp4_parser.yy"
3319#line 3320 "dhcp4_parser.cc"
3323#line 2068 "dhcp4_parser.yy"
3329#line 3330 "dhcp4_parser.cc"
3333#line 2072 "dhcp4_parser.yy"
3338#line 3339 "dhcp4_parser.cc"
3342#line 2088 "dhcp4_parser.yy"
3346#line 3347 "dhcp4_parser.cc"
3350#line 2110 "dhcp4_parser.yy"
3355#line 3356 "dhcp4_parser.cc"
3359#line 2113 "dhcp4_parser.yy"
3362 ctx.
stack_.back()->set(
"data", data);
3365#line 3366 "dhcp4_parser.cc"
3369#line 2123 "dhcp4_parser.yy"
3371 ctx.
unique(
"csv-format", ctx.
loc2pos(yystack_[2].location));
3373 ctx.
stack_.back()->set(
"csv-format", csv);
3375#line 3376 "dhcp4_parser.cc"
3379#line 2129 "dhcp4_parser.yy"
3381 ctx.
unique(
"always-send", ctx.
loc2pos(yystack_[2].location));
3383 ctx.
stack_.back()->set(
"always-send", persist);
3385#line 3386 "dhcp4_parser.cc"
3389#line 2135 "dhcp4_parser.yy"
3391 ctx.
unique(
"never-send", ctx.
loc2pos(yystack_[2].location));
3393 ctx.
stack_.back()->set(
"never-send", cancel);
3395#line 3396 "dhcp4_parser.cc"
3399#line 2141 "dhcp4_parser.yy"
3401 ctx.
unique(
"client-classes", ctx.
loc2pos(yystack_[0].location));
3403 ctx.
stack_.back()->set(
"client-classes", c);
3407#line 3408 "dhcp4_parser.cc"
3411#line 2147 "dhcp4_parser.yy"
3416#line 3417 "dhcp4_parser.cc"
3420#line 2155 "dhcp4_parser.yy"
3424 ctx.
stack_.back()->set(
"pools", l);
3428#line 3429 "dhcp4_parser.cc"
3432#line 2161 "dhcp4_parser.yy"
3437#line 3438 "dhcp4_parser.cc"
3441#line 2174 "dhcp4_parser.yy"
3445#line 3446 "dhcp4_parser.cc"
3449#line 2179 "dhcp4_parser.yy"
3452 ctx.
stack_.back()->add(m);
3455#line 3456 "dhcp4_parser.cc"
3459#line 2183 "dhcp4_parser.yy"
3465#line 3466 "dhcp4_parser.cc"
3469#line 2189 "dhcp4_parser.yy"
3475#line 3476 "dhcp4_parser.cc"
3479#line 2193 "dhcp4_parser.yy"
3485#line 3486 "dhcp4_parser.cc"
3489#line 2201 "dhcp4_parser.yy"
3493#line 3494 "dhcp4_parser.cc"
3497#line 2232 "dhcp4_parser.yy"
3502#line 3503 "dhcp4_parser.cc"
3506#line 2235 "dhcp4_parser.yy"
3509 ctx.
stack_.back()->set(
"pool", pool);
3512#line 3513 "dhcp4_parser.cc"
3516#line 2241 "dhcp4_parser.yy"
3520 ctx.
stack_.back()->set(
"pool-id",
id);
3522#line 3523 "dhcp4_parser.cc"
3526#line 2247 "dhcp4_parser.yy"
3530#line 3531 "dhcp4_parser.cc"
3534#line 2249 "dhcp4_parser.yy"
3543 if ((old->size() != 1) || !old->contains(
"comment")) {
3544 std::stringstream msg;
3545 msg <<
"duplicate user-context entries (previous at "
3546 << old->getPosition().str() <<
")";
3547 error(yystack_[3].location, msg.str());
3550 user_context->set(
"comment", old->get(
"comment"));
3554 parent->set(
"user-context", user_context);
3557#line 3558 "dhcp4_parser.cc"
3561#line 2272 "dhcp4_parser.yy"
3565#line 3566 "dhcp4_parser.cc"
3569#line 2274 "dhcp4_parser.yy"
3574 user_context->set(
"comment", comment);
3580 if (old->contains(
"comment")) {
3581 std::stringstream msg;
3582 msg <<
"duplicate user-context/comment entries (previous at "
3583 << old->getPosition().str() <<
")";
3584 error(yystack_[3].location, msg.str());
3587 merge(user_context, old);
3591 parent->set(
"user-context", user_context);
3594#line 3595 "dhcp4_parser.cc"
3598#line 2302 "dhcp4_parser.yy"
3600 ctx.
unique(
"reservations", ctx.
loc2pos(yystack_[0].location));
3602 ctx.
stack_.back()->set(
"reservations", l);
3606#line 3607 "dhcp4_parser.cc"
3610#line 2308 "dhcp4_parser.yy"
3615#line 3616 "dhcp4_parser.cc"
3619#line 2319 "dhcp4_parser.yy"
3623#line 3624 "dhcp4_parser.cc"
3627#line 2324 "dhcp4_parser.yy"
3630 ctx.
stack_.back()->add(m);
3633#line 3634 "dhcp4_parser.cc"
3637#line 2328 "dhcp4_parser.yy"
3642#line 3643 "dhcp4_parser.cc"
3646#line 2333 "dhcp4_parser.yy"
3652#line 3653 "dhcp4_parser.cc"
3656#line 2337 "dhcp4_parser.yy"
3661#line 3662 "dhcp4_parser.cc"
3665#line 2348 "dhcp4_parser.yy"
3669#line 3670 "dhcp4_parser.cc"
3673#line 2371 "dhcp4_parser.yy"
3675 ctx.
unique(
"next-server", ctx.
loc2pos(yystack_[0].location));
3678#line 3679 "dhcp4_parser.cc"
3682#line 2374 "dhcp4_parser.yy"
3685 ctx.
stack_.back()->set(
"next-server", next_server);
3688#line 3689 "dhcp4_parser.cc"
3692#line 2380 "dhcp4_parser.yy"
3694 ctx.
unique(
"server-hostname", ctx.
loc2pos(yystack_[0].location));
3697#line 3698 "dhcp4_parser.cc"
3701#line 2383 "dhcp4_parser.yy"
3704 ctx.
stack_.back()->set(
"server-hostname", srv);
3707#line 3708 "dhcp4_parser.cc"
3711#line 2389 "dhcp4_parser.yy"
3713 ctx.
unique(
"boot-file-name", ctx.
loc2pos(yystack_[0].location));
3716#line 3717 "dhcp4_parser.cc"
3720#line 2392 "dhcp4_parser.yy"
3723 ctx.
stack_.back()->set(
"boot-file-name", bootfile);
3726#line 3727 "dhcp4_parser.cc"
3730#line 2398 "dhcp4_parser.yy"
3732 ctx.
unique(
"ip-address", ctx.
loc2pos(yystack_[0].location));
3735#line 3736 "dhcp4_parser.cc"
3739#line 2401 "dhcp4_parser.yy"
3742 ctx.
stack_.back()->set(
"ip-address", addr);
3745#line 3746 "dhcp4_parser.cc"
3749#line 2407 "dhcp4_parser.yy"
3754#line 3755 "dhcp4_parser.cc"
3758#line 2410 "dhcp4_parser.yy"
3761 ctx.
stack_.back()->set(
"duid", d);
3764#line 3765 "dhcp4_parser.cc"
3768#line 2416 "dhcp4_parser.yy"
3770 ctx.
unique(
"hw-address", ctx.
loc2pos(yystack_[0].location));
3773#line 3774 "dhcp4_parser.cc"
3777#line 2419 "dhcp4_parser.yy"
3780 ctx.
stack_.back()->set(
"hw-address", hw);
3783#line 3784 "dhcp4_parser.cc"
3787#line 2425 "dhcp4_parser.yy"
3792#line 3793 "dhcp4_parser.cc"
3796#line 2428 "dhcp4_parser.yy"
3799 ctx.
stack_.back()->set(
"client-id", hw);
3802#line 3803 "dhcp4_parser.cc"
3806#line 2434 "dhcp4_parser.yy"
3808 ctx.
unique(
"circuit-id", ctx.
loc2pos(yystack_[0].location));
3811#line 3812 "dhcp4_parser.cc"
3815#line 2437 "dhcp4_parser.yy"
3818 ctx.
stack_.back()->set(
"circuit-id", hw);
3821#line 3822 "dhcp4_parser.cc"
3825#line 2443 "dhcp4_parser.yy"
3830#line 3831 "dhcp4_parser.cc"
3834#line 2446 "dhcp4_parser.yy"
3837 ctx.
stack_.back()->set(
"flex-id", hw);
3840#line 3841 "dhcp4_parser.cc"
3844#line 2452 "dhcp4_parser.yy"
3849#line 3850 "dhcp4_parser.cc"
3853#line 2455 "dhcp4_parser.yy"
3856 ctx.
stack_.back()->set(
"hostname", host);
3859#line 3860 "dhcp4_parser.cc"
3863#line 2461 "dhcp4_parser.yy"
3865 ctx.
unique(
"client-classes", ctx.
loc2pos(yystack_[0].location));
3867 ctx.
stack_.back()->set(
"client-classes", c);
3871#line 3872 "dhcp4_parser.cc"
3875#line 2467 "dhcp4_parser.yy"
3880#line 3881 "dhcp4_parser.cc"
3884#line 2475 "dhcp4_parser.yy"
3888 ctx.
stack_.back()->set(
"relay", m);
3892#line 3893 "dhcp4_parser.cc"
3896#line 2481 "dhcp4_parser.yy"
3901#line 3902 "dhcp4_parser.cc"
3905#line 2489 "dhcp4_parser.yy"
3907 ctx.
unique(
"ip-addresses", ctx.
loc2pos(yystack_[0].location));
3909 ctx.
stack_.back()->set(
"ip-addresses", l);
3913#line 3914 "dhcp4_parser.cc"
3917#line 2495 "dhcp4_parser.yy"
3922#line 3923 "dhcp4_parser.cc"
3926#line 2503 "dhcp4_parser.yy"
3928 ctx.
unique(
"client-classes", ctx.
loc2pos(yystack_[0].location));
3930 ctx.
stack_.back()->set(
"client-classes", l);
3934#line 3935 "dhcp4_parser.cc"
3938#line 2509 "dhcp4_parser.yy"
3943#line 3944 "dhcp4_parser.cc"
3947#line 2516 "dhcp4_parser.yy"
3951#line 3952 "dhcp4_parser.cc"
3955#line 2521 "dhcp4_parser.yy"
3958 ctx.
stack_.back()->add(m);
3961#line 3962 "dhcp4_parser.cc"
3965#line 2525 "dhcp4_parser.yy"
3971#line 3972 "dhcp4_parser.cc"
3975#line 2537 "dhcp4_parser.yy"
3979#line 3980 "dhcp4_parser.cc"
3983#line 2563 "dhcp4_parser.yy"
3988#line 3989 "dhcp4_parser.cc"
3992#line 2566 "dhcp4_parser.yy"
3995 ctx.
stack_.back()->set(
"test", test);
3998#line 3999 "dhcp4_parser.cc"
4002#line 2572 "dhcp4_parser.yy"
4004 ctx.
unique(
"template-test", ctx.
loc2pos(yystack_[0].location));
4007#line 4008 "dhcp4_parser.cc"
4011#line 2575 "dhcp4_parser.yy"
4014 ctx.
stack_.back()->set(
"template-test", template_test);
4017#line 4018 "dhcp4_parser.cc"
4021#line 2582 "dhcp4_parser.yy"
4023 ctx.
unique(
"only-if-required", ctx.
loc2pos(yystack_[2].location));
4025 ctx.
stack_.back()->set(
"only-if-required", b);
4027#line 4028 "dhcp4_parser.cc"
4031#line 2588 "dhcp4_parser.yy"
4033 ctx.
unique(
"only-in-additional-list", ctx.
loc2pos(yystack_[2].location));
4035 ctx.
stack_.back()->set(
"only-in-additional-list", b);
4037#line 4038 "dhcp4_parser.cc"
4041#line 2596 "dhcp4_parser.yy"
4043 ctx.
unique(
"dhcp4o6-port", ctx.
loc2pos(yystack_[2].location));
4045 ctx.
stack_.back()->set(
"dhcp4o6-port", time);
4047#line 4048 "dhcp4_parser.cc"
4051#line 2604 "dhcp4_parser.yy"
4053 ctx.
unique(
"control-socket", ctx.
loc2pos(yystack_[0].location));
4054 ctx.
unique(
"control-sockets", ctx.
loc2pos(yystack_[0].location));
4056 ctx.
stack_.back()->set(
"control-socket", m);
4060#line 4061 "dhcp4_parser.cc"
4064#line 2611 "dhcp4_parser.yy"
4069#line 4070 "dhcp4_parser.cc"
4073#line 2616 "dhcp4_parser.yy"
4075 ctx.
unique(
"control-sockets", ctx.
loc2pos(yystack_[0].location));
4076 ctx.
unique(
"control-socket", ctx.
loc2pos(yystack_[0].location));
4078 ctx.
stack_.back()->set(
"control-sockets", l);
4082#line 4083 "dhcp4_parser.cc"
4086#line 2623 "dhcp4_parser.yy"
4091#line 4092 "dhcp4_parser.cc"
4095#line 2634 "dhcp4_parser.yy"
4099#line 4100 "dhcp4_parser.cc"
4103#line 2639 "dhcp4_parser.yy"
4106 ctx.
stack_.back()->add(m);
4109#line 4110 "dhcp4_parser.cc"
4113#line 2643 "dhcp4_parser.yy"
4117#line 4118 "dhcp4_parser.cc"
4121#line 2649 "dhcp4_parser.yy"
4125#line 4126 "dhcp4_parser.cc"
4129#line 2669 "dhcp4_parser.yy"
4131 ctx.
unique(
"socket-type", ctx.
loc2pos(yystack_[0].location));
4134#line 4135 "dhcp4_parser.cc"
4138#line 2672 "dhcp4_parser.yy"
4140 ctx.
stack_.back()->set(
"socket-type", yystack_[0].value.as <
ElementPtr > ());
4143#line 4144 "dhcp4_parser.cc"
4147#line 2678 "dhcp4_parser.yy"
4149#line 4150 "dhcp4_parser.cc"
4153#line 2679 "dhcp4_parser.yy"
4155#line 4156 "dhcp4_parser.cc"
4159#line 2680 "dhcp4_parser.yy"
4161#line 4162 "dhcp4_parser.cc"
4165#line 2683 "dhcp4_parser.yy"
4167 ctx.
unique(
"socket-name", ctx.
loc2pos(yystack_[0].location));
4168 ctx.
unique(
"socket-address", ctx.
loc2pos(yystack_[0].location));
4171#line 4172 "dhcp4_parser.cc"
4175#line 2687 "dhcp4_parser.yy"
4178 ctx.
stack_.back()->set(
"socket-name", name);
4181#line 4182 "dhcp4_parser.cc"
4185#line 2693 "dhcp4_parser.yy"
4187 ctx.
unique(
"socket-address", ctx.
loc2pos(yystack_[0].location));
4188 ctx.
unique(
"socket-name", ctx.
loc2pos(yystack_[0].location));
4191#line 4192 "dhcp4_parser.cc"
4195#line 2697 "dhcp4_parser.yy"
4198 ctx.
stack_.back()->set(
"socket-address", address);
4201#line 4202 "dhcp4_parser.cc"
4205#line 2703 "dhcp4_parser.yy"
4207 ctx.
unique(
"socket-port", ctx.
loc2pos(yystack_[2].location));
4209 ctx.
stack_.back()->set(
"socket-port", port);
4211#line 4212 "dhcp4_parser.cc"
4215#line 2709 "dhcp4_parser.yy"
4217 ctx.
unique(
"cert-required", ctx.
loc2pos(yystack_[2].location));
4219 ctx.
stack_.back()->set(
"cert-required", req);
4221#line 4222 "dhcp4_parser.cc"
4225#line 2715 "dhcp4_parser.yy"
4227 ctx.
unique(
"http-headers", ctx.
loc2pos(yystack_[0].location));
4229 ctx.
stack_.back()->set(
"http-headers", l);
4233#line 4234 "dhcp4_parser.cc"
4237#line 2721 "dhcp4_parser.yy"
4242#line 4243 "dhcp4_parser.cc"
4246#line 2732 "dhcp4_parser.yy"
4250#line 4251 "dhcp4_parser.cc"
4254#line 2737 "dhcp4_parser.yy"
4257 ctx.
stack_.back()->add(m);
4260#line 4261 "dhcp4_parser.cc"
4264#line 2741 "dhcp4_parser.yy"
4268#line 4269 "dhcp4_parser.cc"
4272#line 2747 "dhcp4_parser.yy"
4276#line 4277 "dhcp4_parser.cc"
4280#line 2759 "dhcp4_parser.yy"
4285#line 4286 "dhcp4_parser.cc"
4289#line 2762 "dhcp4_parser.yy"
4292 ctx.
stack_.back()->set(
"value", value);
4295#line 4296 "dhcp4_parser.cc"
4299#line 2770 "dhcp4_parser.yy"
4301 ctx.
unique(
"authentication", ctx.
loc2pos(yystack_[0].location));
4303 ctx.
stack_.back()->set(
"authentication", m);
4307#line 4308 "dhcp4_parser.cc"
4311#line 2776 "dhcp4_parser.yy"
4318#line 4319 "dhcp4_parser.cc"
4322#line 2785 "dhcp4_parser.yy"
4326#line 4327 "dhcp4_parser.cc"
4330#line 2799 "dhcp4_parser.yy"
4335#line 4336 "dhcp4_parser.cc"
4339#line 2802 "dhcp4_parser.yy"
4344#line 4345 "dhcp4_parser.cc"
4348#line 2807 "dhcp4_parser.yy"
4350#line 4351 "dhcp4_parser.cc"
4354#line 2810 "dhcp4_parser.yy"
4359#line 4360 "dhcp4_parser.cc"
4363#line 2813 "dhcp4_parser.yy"
4366 ctx.
stack_.back()->set(
"realm", realm);
4369#line 4370 "dhcp4_parser.cc"
4373#line 2819 "dhcp4_parser.yy"
4378#line 4379 "dhcp4_parser.cc"
4382#line 2822 "dhcp4_parser.yy"
4385 ctx.
stack_.back()->set(
"directory", directory);
4388#line 4389 "dhcp4_parser.cc"
4392#line 2828 "dhcp4_parser.yy"
4396 ctx.
stack_.back()->set(
"clients", l);
4400#line 4401 "dhcp4_parser.cc"
4404#line 2834 "dhcp4_parser.yy"
4409#line 4410 "dhcp4_parser.cc"
4413#line 2845 "dhcp4_parser.yy"
4417#line 4418 "dhcp4_parser.cc"
4421#line 2850 "dhcp4_parser.yy"
4424 ctx.
stack_.back()->add(m);
4427#line 4428 "dhcp4_parser.cc"
4431#line 2854 "dhcp4_parser.yy"
4435#line 4436 "dhcp4_parser.cc"
4439#line 2860 "dhcp4_parser.yy"
4443#line 4444 "dhcp4_parser.cc"
4447#line 2874 "dhcp4_parser.yy"
4452#line 4453 "dhcp4_parser.cc"
4456#line 2877 "dhcp4_parser.yy"
4459 ctx.
stack_.back()->set(
"user-file", user);
4462#line 4463 "dhcp4_parser.cc"
4466#line 2883 "dhcp4_parser.yy"
4468 ctx.
unique(
"password-file", ctx.
loc2pos(yystack_[0].location));
4471#line 4472 "dhcp4_parser.cc"
4475#line 2886 "dhcp4_parser.yy"
4478 ctx.
stack_.back()->set(
"password-file", password);
4481#line 4482 "dhcp4_parser.cc"
4485#line 2894 "dhcp4_parser.yy"
4487 ctx.
unique(
"dhcp-queue-control", ctx.
loc2pos(yystack_[0].location));
4489 ctx.
stack_.back()->set(
"dhcp-queue-control", qc);
4490 ctx.
stack_.push_back(qc);
4493#line 4494 "dhcp4_parser.cc"
4497#line 2900 "dhcp4_parser.yy"
4504#line 4505 "dhcp4_parser.cc"
4508#line 2909 "dhcp4_parser.yy"
4512#line 4513 "dhcp4_parser.cc"
4516#line 2922 "dhcp4_parser.yy"
4518 ctx.
unique(
"enable-queue", ctx.
loc2pos(yystack_[2].location));
4520 ctx.
stack_.back()->set(
"enable-queue", b);
4522#line 4523 "dhcp4_parser.cc"
4526#line 2928 "dhcp4_parser.yy"
4528 ctx.
unique(
"queue-type", ctx.
loc2pos(yystack_[0].location));
4531#line 4532 "dhcp4_parser.cc"
4535#line 2931 "dhcp4_parser.yy"
4538 ctx.
stack_.back()->set(
"queue-type", qt);
4541#line 4542 "dhcp4_parser.cc"
4545#line 2937 "dhcp4_parser.yy"
4549 ctx.
stack_.back()->set(
"capacity", c);
4551#line 4552 "dhcp4_parser.cc"
4555#line 2943 "dhcp4_parser.yy"
4557 ctx.
unique(yystack_[0].value.as < std::string > (), ctx.
loc2pos(yystack_[0].location));
4560#line 4561 "dhcp4_parser.cc"
4564#line 2946 "dhcp4_parser.yy"
4566 ctx.
stack_.back()->set(yystack_[3].value.as < std::string > (), yystack_[0].value.as <
ElementPtr > ());
4569#line 4570 "dhcp4_parser.cc"
4573#line 2953 "dhcp4_parser.yy"
4577 ctx.
stack_.back()->set(
"dhcp-ddns", m);
4581#line 4582 "dhcp4_parser.cc"
4585#line 2959 "dhcp4_parser.yy"
4588 ctx.
require(
"enable-updates", ctx.
loc2pos(yystack_[2].location), ctx.
loc2pos(yystack_[0].location));
4592#line 4593 "dhcp4_parser.cc"
4596#line 2966 "dhcp4_parser.yy"
4602#line 4603 "dhcp4_parser.cc"
4606#line 2970 "dhcp4_parser.yy"
4609 ctx.
require(
"enable-updates", ctx.
loc2pos(yystack_[3].location), ctx.
loc2pos(yystack_[0].location));
4612#line 4613 "dhcp4_parser.cc"
4616#line 2978 "dhcp4_parser.yy"
4620#line 4621 "dhcp4_parser.cc"
4624#line 2996 "dhcp4_parser.yy"
4626 ctx.
unique(
"enable-updates", ctx.
loc2pos(yystack_[2].location));
4628 ctx.
stack_.back()->set(
"enable-updates", b);
4630#line 4631 "dhcp4_parser.cc"
4634#line 3002 "dhcp4_parser.yy"
4639#line 4640 "dhcp4_parser.cc"
4643#line 3005 "dhcp4_parser.yy"
4646 ctx.
stack_.back()->set(
"server-ip", s);
4649#line 4650 "dhcp4_parser.cc"
4653#line 3011 "dhcp4_parser.yy"
4655 ctx.
unique(
"server-port", ctx.
loc2pos(yystack_[2].location));
4657 ctx.
stack_.back()->set(
"server-port", i);
4659#line 4660 "dhcp4_parser.cc"
4663#line 3017 "dhcp4_parser.yy"
4668#line 4669 "dhcp4_parser.cc"
4672#line 3020 "dhcp4_parser.yy"
4675 ctx.
stack_.back()->set(
"sender-ip", s);
4678#line 4679 "dhcp4_parser.cc"
4682#line 3026 "dhcp4_parser.yy"
4684 ctx.
unique(
"sender-port", ctx.
loc2pos(yystack_[2].location));
4686 ctx.
stack_.back()->set(
"sender-port", i);
4688#line 4689 "dhcp4_parser.cc"
4692#line 3032 "dhcp4_parser.yy"
4694 ctx.
unique(
"max-queue-size", ctx.
loc2pos(yystack_[2].location));
4696 ctx.
stack_.back()->set(
"max-queue-size", i);
4698#line 4699 "dhcp4_parser.cc"
4702#line 3038 "dhcp4_parser.yy"
4704 ctx.
unique(
"ncr-protocol", ctx.
loc2pos(yystack_[0].location));
4707#line 4708 "dhcp4_parser.cc"
4711#line 3041 "dhcp4_parser.yy"
4713 ctx.
stack_.back()->set(
"ncr-protocol", yystack_[0].value.as <
ElementPtr > ());
4716#line 4717 "dhcp4_parser.cc"
4720#line 3047 "dhcp4_parser.yy"
4722#line 4723 "dhcp4_parser.cc"
4726#line 3048 "dhcp4_parser.yy"
4728#line 4729 "dhcp4_parser.cc"
4732#line 3051 "dhcp4_parser.yy"
4734 ctx.
unique(
"ncr-format", ctx.
loc2pos(yystack_[0].location));
4737#line 4738 "dhcp4_parser.cc"
4741#line 3054 "dhcp4_parser.yy"
4744 ctx.
stack_.back()->set(
"ncr-format", json);
4747#line 4748 "dhcp4_parser.cc"
4751#line 3062 "dhcp4_parser.yy"
4753 ctx.
unique(
"config-control", ctx.
loc2pos(yystack_[0].location));
4755 ctx.
stack_.back()->set(
"config-control", i);
4759#line 4760 "dhcp4_parser.cc"
4763#line 3068 "dhcp4_parser.yy"
4769#line 4770 "dhcp4_parser.cc"
4773#line 3074 "dhcp4_parser.yy"
4779#line 4780 "dhcp4_parser.cc"
4783#line 3078 "dhcp4_parser.yy"
4788#line 4789 "dhcp4_parser.cc"
4792#line 3086 "dhcp4_parser.yy"
4796#line 4797 "dhcp4_parser.cc"
4800#line 3096 "dhcp4_parser.yy"
4802 ctx.
unique(
"config-databases", ctx.
loc2pos(yystack_[0].location));
4804 ctx.
stack_.back()->set(
"config-databases", l);
4808#line 4809 "dhcp4_parser.cc"
4812#line 3102 "dhcp4_parser.yy"
4817#line 4818 "dhcp4_parser.cc"
4821#line 3107 "dhcp4_parser.yy"
4823 ctx.
unique(
"config-fetch-wait-time", ctx.
loc2pos(yystack_[2].location));
4825 ctx.
stack_.back()->set(
"config-fetch-wait-time", value);
4827#line 4828 "dhcp4_parser.cc"
4831#line 3115 "dhcp4_parser.yy"
4835 ctx.
stack_.back()->set(
"loggers", l);
4839#line 4840 "dhcp4_parser.cc"
4843#line 3121 "dhcp4_parser.yy"
4848#line 4849 "dhcp4_parser.cc"
4852#line 3130 "dhcp4_parser.yy"
4856#line 4857 "dhcp4_parser.cc"
4860#line 3136 "dhcp4_parser.yy"
4863 ctx.
stack_.back()->add(l);
4866#line 4867 "dhcp4_parser.cc"
4870#line 3140 "dhcp4_parser.yy"
4874#line 4875 "dhcp4_parser.cc"
4878#line 3146 "dhcp4_parser.yy"
4882#line 4883 "dhcp4_parser.cc"
4886#line 3160 "dhcp4_parser.yy"
4888 ctx.
unique(
"debuglevel", ctx.
loc2pos(yystack_[2].location));
4890 ctx.
stack_.back()->set(
"debuglevel", dl);
4892#line 4893 "dhcp4_parser.cc"
4896#line 3166 "dhcp4_parser.yy"
4901#line 4902 "dhcp4_parser.cc"
4905#line 3169 "dhcp4_parser.yy"
4908 ctx.
stack_.back()->set(
"severity", sev);
4911#line 4912 "dhcp4_parser.cc"
4915#line 3175 "dhcp4_parser.yy"
4917 ctx.
unique(
"output-options", ctx.
loc2pos(yystack_[0].location));
4919 ctx.
stack_.back()->set(
"output-options", l);
4923#line 4924 "dhcp4_parser.cc"
4927#line 3181 "dhcp4_parser.yy"
4932#line 4933 "dhcp4_parser.cc"
4936#line 3188 "dhcp4_parser.yy"
4940#line 4941 "dhcp4_parser.cc"
4944#line 3193 "dhcp4_parser.yy"
4947 ctx.
stack_.back()->add(m);
4950#line 4951 "dhcp4_parser.cc"
4954#line 3197 "dhcp4_parser.yy"
4958#line 4959 "dhcp4_parser.cc"
4962#line 3203 "dhcp4_parser.yy"
4966#line 4967 "dhcp4_parser.cc"
4970#line 3215 "dhcp4_parser.yy"
4975#line 4976 "dhcp4_parser.cc"
4979#line 3218 "dhcp4_parser.yy"
4982 ctx.
stack_.back()->set(
"output", sev);
4985#line 4986 "dhcp4_parser.cc"
4989#line 3224 "dhcp4_parser.yy"
4993 ctx.
stack_.back()->set(
"flush", flush);
4995#line 4996 "dhcp4_parser.cc"
4999#line 3230 "dhcp4_parser.yy"
5003 ctx.
stack_.back()->set(
"maxsize", maxsize);
5005#line 5006 "dhcp4_parser.cc"
5009#line 3236 "dhcp4_parser.yy"
5013 ctx.
stack_.back()->set(
"maxver", maxver);
5015#line 5016 "dhcp4_parser.cc"
5019#line 3242 "dhcp4_parser.yy"
5024#line 5025 "dhcp4_parser.cc"
5028#line 3245 "dhcp4_parser.yy"
5031 ctx.
stack_.back()->set(
"pattern", sev);
5034#line 5035 "dhcp4_parser.cc"
5038#line 3251 "dhcp4_parser.yy"
5040 ctx.
unique(
"compatibility", ctx.
loc2pos(yystack_[0].location));
5042 ctx.
stack_.back()->set(
"compatibility", i);
5046#line 5047 "dhcp4_parser.cc"
5050#line 3257 "dhcp4_parser.yy"
5055#line 5056 "dhcp4_parser.cc"
5059#line 3264 "dhcp4_parser.yy"
5063#line 5064 "dhcp4_parser.cc"
5067#line 3276 "dhcp4_parser.yy"
5069 ctx.
unique(
"lenient-option-parsing", ctx.
loc2pos(yystack_[2].location));
5071 ctx.
stack_.back()->set(
"lenient-option-parsing", b);
5073#line 5074 "dhcp4_parser.cc"
5077#line 3282 "dhcp4_parser.yy"
5079 ctx.
unique(
"ignore-dhcp-server-identifier", ctx.
loc2pos(yystack_[2].location));
5081 ctx.
stack_.back()->set(
"ignore-dhcp-server-identifier", b);
5083#line 5084 "dhcp4_parser.cc"
5087#line 3288 "dhcp4_parser.yy"
5089 ctx.
unique(
"ignore-rai-link-selection", ctx.
loc2pos(yystack_[2].location));
5091 ctx.
stack_.back()->set(
"ignore-rai-link-selection", b);
5093#line 5094 "dhcp4_parser.cc"
5097#line 3294 "dhcp4_parser.yy"
5099 ctx.
unique(
"exclude-first-last-24", ctx.
loc2pos(yystack_[2].location));
5101 ctx.
stack_.back()->set(
"exclude-first-last-24", b);
5103#line 5104 "dhcp4_parser.cc"
5107#line 5108 "dhcp4_parser.cc"
5116 YYCDEBUG <<
"Caught exception: " << yyexc.what() <<
'\n';
5126 yypush_ (YY_NULLPTR,
YY_MOVE (yylhs));
5140 std::string msg = yysyntax_error_ (yyctx);
5146 if (yyerrstatus_ == 3)
5154 else if (!yyla.
empty ())
5156 yy_destroy_ (
"Error: discarding", yyla);
5190 yyn = yypact_[+yystack_[0].state];
5191 if (!yy_pact_value_is_default_ (yyn))
5194 if (0 <= yyn && yyn <= yylast_
5197 yyn = yytable_[yyn];
5204 if (yystack_.size () == 1)
5207 yyerror_range[1].
location = yystack_[0].location;
5208 yy_destroy_ (
"Error: popping", yystack_[0]);
5213 stack_symbol_type error_token;
5219 error_token.state = state_type (yyn);
5220 yypush_ (
"Shifting",
YY_MOVE (error_token));
5246 yy_destroy_ (
"Cleanup: discarding lookahead", yyla);
5252 while (1 < yystack_.size ())
5254 yy_destroy_ (
"Cleanup: popping", yystack_[0]);
5263 YYCDEBUG <<
"Exception caught: cleaning lookahead and stack\n";
5267 yy_destroy_ (YY_NULLPTR, yyla);
5269 while (1 < yystack_.size ())
5271 yy_destroy_ (YY_NULLPTR, yystack_[0]);
5291 Dhcp4Parser::yytnamerr_ (
const char *yystr)
5296 char const *yyp = yystr;
5303 goto do_not_strip_quotes;
5307 goto do_not_strip_quotes;
5319 do_not_strip_quotes: ;
5328 return yytnamerr_ (yytname_[yysymbol]);
5335 : yyparser_ (yyparser)
5345 const int yyn = yypact_[+yyparser_.yystack_[0].state];
5346 if (!yy_pact_value_is_default_ (yyn))
5351 const int yyxbegin = yyn < 0 ? -yyn : 0;
5353 const int yychecklim = yylast_ - yyn + 1;
5355 for (
int yyx = yyxbegin; yyx < yyxend; ++yyx)
5357 && !yy_table_value_is_error_ (yytable_[yyx + yyn]))
5361 else if (yycount == yyargn)
5368 if (yyarg && yycount == 0 && 0 < yyargn)
5379 Dhcp4Parser::yy_syntax_error_arguments_ (
const context& yyctx,
5410 yyarg[0] = yyctx.
token ();
5411 int yyn = yyctx.
expected_tokens (yyarg ? yyarg + 1 : yyarg, yyargn - 1);
5419 Dhcp4Parser::yysyntax_error_ (
const context& yyctx)
const
5422 enum { YYARGS_MAX = 5 };
5425 int yycount = yy_syntax_error_arguments_ (yyctx, yyarg, YYARGS_MAX);
5427 char const* yyformat = YY_NULLPTR;
5430#define YYCASE_(N, S) \
5436 YYCASE_ (1,
YY_(
"syntax error, unexpected %s"));
5437 YYCASE_ (2,
YY_(
"syntax error, unexpected %s, expecting %s"));
5438 YYCASE_ (3,
YY_(
"syntax error, unexpected %s, expecting %s or %s"));
5439 YYCASE_ (4,
YY_(
"syntax error, unexpected %s, expecting %s or %s or %s"));
5440 YYCASE_ (5,
YY_(
"syntax error, unexpected %s, expecting %s or %s or %s or %s"));
5446 std::ptrdiff_t yyi = 0;
5447 for (
char const* yyp = yyformat; *yyp; ++yyp)
5448 if (yyp[0] ==
'%' && yyp[1] ==
's' && yyi < yycount)
5459 const short Dhcp4Parser::yypact_ninf_ = -1401;
5461 const signed char Dhcp4Parser::yytable_ninf_ = -1;
5464 Dhcp4Parser::yypact_[] =
5466 508, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401,
5467 -1401, -1401, -1401, -1401, 22, 39, 44, 48, 54, 133,
5468 157, 209, 224, 235, 252, 260, 277, 306, -1401, -1401,
5469 -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401,
5470 -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401,
5471 -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401,
5472 -1401, -1401, -1401, -1401, 39, -181, 184, 727, 72, 168,
5473 368, 211, 123, 78, 305, -93, 485, 80, -1401, 63,
5474 114, 293, 304, 318, -1401, 42, -1401, -1401, -1401, -1401,
5475 350, 351, 364, -1401, -1401, -1401, 365, 380, -1401, -1401,
5476 -1401, 389, 393, 395, 407, 409, 413, 426, 432, 440,
5477 449, 469, -1401, 470, 472, 474, 479, 483, -1401, -1401,
5478 -1401, 484, 488, 493, 495, 499, 505, 506, -1401, -1401,
5479 -1401, 507, -1401, -1401, -1401, -1401, -1401, 509, 511, 513,
5480 -1401, -1401, -1401, -1401, -1401, 515, -1401, -1401, -1401, -1401,
5481 -1401, -1401, -1401, 516, 522, 525, -1401, -1401, 528, -1401,
5482 62, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401,
5483 -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401,
5484 -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401,
5485 -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401,
5486 -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401,
5487 -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401,
5488 -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401,
5489 -1401, -1401, -1401, -1401, -1401, -1401, 529, 532, 534, 536,
5490 -1401, 98, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401,
5491 -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401, 537, -1401,
5492 -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401,
5493 -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401,
5494 -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401,
5495 -1401, -1401, -1401, -1401, -1401, 116, -1401, -1401, -1401, -1401,
5496 -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401,
5497 -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401,
5498 542, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401,
5499 -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401,
5500 -1401, 124, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401,
5501 -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401, 378,
5502 466, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401,
5503 -1401, -1401, -1401, 540, -1401, -1401, 546, -1401, -1401, -1401,
5504 547, -1401, -1401, 544, 550, -1401, -1401, -1401, -1401, -1401,
5505 -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401, 551, 554,
5506 556, -1401, -1401, -1401, -1401, -1401, 560, 559, -1401, -1401,
5507 -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401,
5508 -1401, -1401, 139, -1401, -1401, -1401, 566, -1401, 571, -1401,
5509 572, 573, -1401, -1401, -1401, -1401, -1401, 151, -1401, -1401,
5510 -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401, 574, 154,
5511 -1401, -1401, -1401, -1401, 39, 39, -1401, 349, 576, -1401,
5512 -1401, 577, 578, 579, 352, 355, 357, 588, 589, 590,
5513 374, 362, 592, 596, 602, 377, 379, 383, 386, 387,
5514 388, 391, 399, 401, 396, 415, 634, 420, 423, 411,
5515 416, 419, 651, 652, 653, 429, 444, 427, 433, 436,
5516 447, 450, 661, 676, 678, 453, 681, 698, 699, 707,
5517 708, 480, 481, 486, 714, 717, 718, 719, 741, 517,
5518 742, 743, 745, 746, 748, 750, 751, 535, 538, 539,
5519 763, 765, -1401, 727, -1401, 766, 769, 770, 543, 545,
5520 548, 549, 72, -1401, 771, 773, 777, 778, 779, 780,
5521 557, 781, 815, 816, 817, 820, 168, -1401, 821, 595,
5522 368, -1401, 823, 824, 825, 826, 827, 828, 829, 833,
5523 -1401, 211, -1401, 834, 835, 609, 838, 839, 842, 614,
5524 -1401, 78, 844, 621, 622, 623, 853, -1401, 305, 857,
5525 859, -42, -1401, 631, 861, 635, 863, 637, 638, 866,
5526 867, 485, -1401, 869, 643, 80, -1401, -1401, -1401, 872,
5527 871, 873, 874, 877, -1401, -1401, -1401, 649, 655, 656,
5528 -1401, -1401, 882, 883, 886, -1401, -1401, -1401, -1401, -1401,
5529 -1401, -1401, -1401, -1401, -1401, -1401, 662, -1401, -1401, -1401,
5530 -1401, -1401, -81, 663, 664, -1401, -1401, -1401, -1401, -1401,
5531 -1401, -1401, 890, 891, 892, -1401, 668, 369, 894, 893,
5532 671, -1401, -1401, -1401, 897, 898, 899, 900, 901, -1401,
5533 902, 904, 907, 906, 910, 677, 684, -1401, -1401, -1401,
5534 913, 912, -1401, 915, 113, 187, -1401, -1401, -1401, -1401,
5535 -1401, 691, 692, 693, 919, 701, 702, -1401, 915, 915,
5536 915, 703, 927, -1401, 705, -1401, -1401, 915, 706, 710,
5537 711, 712, 713, 715, 716, -1401, 720, 721, -1401, 722,
5538 723, 724, -1401, -1401, 725, -1401, -1401, -1401, 915, -1401,
5539 726, 893, -1401, -1401, 728, -1401, 729, -1401, -1401, 18,
5540 744, -1401, 933, -1401, -1401, 39, 727, 80, 72, 247,
5541 -1401, -1401, -1401, 647, 647, 937, -1401, -1401, -1401, -1401,
5542 -1401, -1401, -1401, -1401, -1401, 940, 941, 942, -1401, -1401,
5543 -1401, -1401, -1401, -1401, 954, -1401, -1401, -1401, 88, 955,
5544 956, 961, 309, -50, 798, 962, 161, 485, -1401, -1401,
5545 963, -1, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401,
5546 -1401, -1401, -1401, 964, -1401, -1401, -1401, -1401, -1401, -1401,
5547 832, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401,
5548 -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401,
5549 -1401, -1401, -1401, -1401, -1401, 937, -1401, 162, 183, 189,
5550 -1401, -1401, 201, -1401, -1401, -1401, -1401, -1401, -1401, -1401,
5551 968, 969, 973, 974, 975, 976, 977, 978, 979, 980,
5552 -1401, 981, 982, -1401, -1401, -1401, -1401, -1401, 216, -1401,
5553 -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401,
5554 -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401,
5555 -1401, -1401, 265, -1401, 983, 984, -1401, -1401, 985, 989,
5556 -1401, -1401, 988, 992, -1401, -1401, 996, 995, -1401, -1401,
5557 999, 1003, -1401, -1401, -1401, -1401, -1401, -1401, 166, -1401,
5558 -1401, -1401, -1401, -1401, -1401, -1401, 214, -1401, -1401, 1006,
5559 1011, -1401, -1401, 1009, 1014, -1401, 1016, 1017, 1028, 1034,
5560 1037, 1039, 290, -1401, -1401, -1401, -1401, -1401, -1401, -1401,
5561 1042, 1047, 1050, -1401, 296, -1401, -1401, -1401, -1401, -1401,
5562 -1401, -1401, -1401, -1401, 1051, -1401, 1057, -1401, -1401, -1401,
5563 -1401, -1401, -1401, -1401, 297, -1401, -1401, -1401, -1401, -1401,
5564 -1401, -1401, -1401, -1401, 1069, 1073, -1401, 1074, -1401, 1079,
5565 -1401, -1401, -1401, 307, -1401, -1401, -1401, -1401, -1401, 332,
5566 -1401, 303, -1401, 1080, 1081, 1087, 1089, -1401, 382, -1401,
5567 -1401, -1401, -1401, -1401, 758, -1401, 1090, 1098, -1401, -1401,
5568 1110, -1401, 1118, -1401, -1401, -1401, 1124, 1130, 247, -1401,
5569 1135, 1152, 1162, 1168, 943, 946, 950, 949, 953, 958,
5570 960, 965, 966, 970, 1181, 959, 971, 1182, 1183, 1190,
5571 1191, 647, -1401, -1401, 647, -1401, 937, 168, -1401, 940,
5572 78, -1401, 941, 305, -1401, 942, 292, -1401, 954, 88,
5573 -1401, 1378, 955, -1401, 211, -1401, 956, -93, -1401, 961,
5574 986, 987, 990, 991, 993, 994, 309, -1401, 997, 998,
5575 1000, -50, -1401, 1195, 1200, 1202, 1001, 1203, 1002, 1204,
5576 798, -1401, 798, -1401, 962, 1004, 1205, 1005, 1207, 161,
5577 -1401, -1401, -19, 963, -1401, 1007, 1008, 1010, 1013, -1,
5578 -1401, -1401, 1206, 1210, 368, -1401, 964, 1211, -1401, -1401,
5579 1012, 1018, -1401, 1020, 1021, 1023, 1024, -1401, -1401, -1401,
5580 -1401, -1401, -1401, -1401, -1401, -1401, -1401, 289, -1401, -1401,
5581 1025, 1027, 1030, 1032, -1401, 384, -1401, 418, -1401, 1208,
5582 -1401, 1212, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401,
5583 -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401,
5584 -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401,
5585 -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401,
5586 -1401, -1401, -1401, -1401, 421, -1401, -1401, -1401, -1401, -1401,
5587 -1401, -1401, -1401, -1401, -1401, -1401, -1401, 1215, 1219, -1401,
5588 -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401,
5589 -1401, -1401, 1218, 1224, -1401, -1401, -1401, -1401, -1401, -1401,
5590 -1401, 1220, -1401, 424, -1401, -1401, -1401, -1401, -1401, -1401,
5591 -1401, -1401, -1401, -1401, -1401, -1401, 342, 1033, 1035, -1401,
5592 1226, -1401, 1209, -1401, 425, -1401, -1401, 1036, -1401, 39,
5593 -1401, -1401, 1230, -1401, -1401, -1401, -1401, -1401, 431, -1401,
5594 -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401,
5595 1040, 434, -1401, 915, -1401, -1401, -1401, -1401, -1401, -1401,
5596 -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401,
5597 -1401, -1401, 292, -1401, 1234, 1235, 1041, 1043, -1401, 1378,
5598 -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401, 50, 1237,
5599 -1401, -1401, -1401, 1243, 1046, 1254, -19, -1401, -1401, -1401,
5600 -1401, -1401, 1048, 1049, -1401, -1401, -1401, -1401, -1401, -1401,
5601 -1401, -1401, -1401, -1401, 435, -1401, -1401, -1401, -1401, -1401,
5602 -1401, 1261, 1269, -1401, 1276, -1401, 1052, -1401, -1401, -1401,
5603 1281, 1284, 1285, 1286, 50, -1401, -37, -1401, 1237, 1288,
5604 -1401, 1121, 1063, 1066, 1292, -1401, -1401, -1401, -1401, -1401,
5605 -1401, 437, -1401, -1401, -1401, -1401, 465, -1401, -1401, -1401,
5606 -1401, -1401, 1291, 1296, -37, -1401, 109, 1288, -1401, -1401,
5607 1295, 1299, -1401, 1076, -1401, -1401, 1300, 1306, 1307, -1401,
5608 462, -1401, -1401, -1401, -1401, -1401, -1401, -1401, 164, -1401,
5609 1291, -1401, 1310, 1070, 1085, 1088, 1314, 109, -1401, -1401,
5610 -1401, -1401, -1401, -1401, -1401, -1401, 464, -1401, -1401, -1401,
5611 -1401, 1091, -1401, -1401, -1401, 1093, -1401, 1316, 1320, 164,
5612 -1401, -1401, -1401, 1096, 1099, -1401, -1401, -1401
5616 Dhcp4Parser::yydefact_[] =
5618 0, 2, 4, 6, 8, 10, 12, 14, 16, 18,
5619 20, 22, 24, 26, 0, 0, 0, 0, 0, 0,
5620 0, 0, 0, 0, 0, 0, 0, 0, 1, 44,
5621 36, 32, 31, 28, 29, 30, 35, 3, 33, 34,
5622 59, 5, 65, 7, 214, 9, 391, 11, 618, 13,
5623 663, 15, 533, 17, 542, 19, 581, 21, 353, 23,
5624 867, 25, 899, 27, 46, 39, 0, 0, 0, 0,
5625 0, 665, 0, 544, 583, 0, 0, 0, 48, 0,
5626 47, 0, 0, 40, 61, 0, 63, 897, 199, 232,
5627 0, 0, 0, 685, 687, 689, 0, 0, 230, 243,
5628 245, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5629 0, 0, 153, 0, 0, 0, 0, 0, 164, 171,
5630 173, 0, 0, 0, 0, 0, 0, 0, 382, 531,
5631 572, 0, 156, 177, 471, 650, 652, 0, 0, 0,
5632 315, 712, 654, 344, 365, 0, 330, 749, 751, 848,
5633 865, 187, 189, 0, 0, 0, 909, 951, 0, 141,
5634 0, 67, 70, 71, 72, 73, 74, 108, 109, 110,
5635 111, 112, 75, 104, 137, 138, 93, 94, 95, 116,
5636 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
5637 127, 128, 114, 115, 129, 130, 131, 133, 134, 135,
5638 139, 140, 78, 79, 101, 80, 81, 82, 132, 86,
5639 87, 76, 105, 106, 107, 77, 84, 85, 99, 100,
5640 102, 96, 97, 98, 83, 88, 89, 90, 91, 92,
5641 103, 113, 136, 216, 218, 222, 0, 0, 0, 0,
5642 213, 0, 201, 204, 205, 206, 207, 208, 209, 210,
5643 211, 212, 451, 453, 455, 609, 449, 457, 0, 461,
5644 463, 465, 459, 707, 448, 396, 397, 398, 399, 400,
5645 425, 426, 427, 428, 429, 446, 415, 416, 430, 431,
5646 432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
5647 442, 443, 444, 445, 447, 0, 393, 403, 420, 421,
5648 422, 404, 406, 407, 408, 409, 411, 412, 413, 405,
5649 401, 402, 423, 424, 410, 417, 418, 419, 414, 647,
5650 0, 646, 630, 631, 632, 633, 634, 635, 636, 637,
5651 638, 639, 640, 641, 642, 643, 626, 627, 628, 629,
5652 625, 0, 620, 623, 624, 644, 645, 705, 691, 693,
5653 695, 699, 697, 703, 701, 684, 678, 682, 683, 0,
5654 666, 667, 679, 680, 681, 675, 670, 676, 672, 673,
5655 674, 677, 671, 0, 562, 289, 0, 566, 564, 569,
5656 0, 558, 559, 0, 545, 546, 549, 561, 550, 551,
5657 552, 568, 553, 554, 555, 556, 557, 600, 0, 0,
5658 0, 607, 598, 599, 602, 603, 0, 584, 585, 588,
5659 589, 590, 591, 592, 593, 594, 597, 595, 596, 361,
5660 363, 358, 0, 355, 359, 360, 0, 884, 0, 887,
5661 0, 0, 891, 895, 882, 880, 881, 0, 869, 872,
5662 873, 874, 875, 876, 877, 878, 879, 906, 0, 0,
5663 901, 904, 905, 45, 50, 0, 37, 43, 0, 64,
5664 60, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5665 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5666 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5667 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5668 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5669 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5670 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5671 0, 0, 58, 69, 66, 0, 0, 0, 0, 0,
5672 0, 0, 203, 215, 0, 0, 0, 0, 0, 0,
5673 0, 0, 0, 0, 0, 0, 395, 392, 0, 0,
5674 622, 619, 0, 0, 0, 0, 0, 0, 0, 0,
5675 664, 669, 534, 0, 0, 0, 0, 0, 0, 0,
5676 543, 548, 0, 0, 0, 0, 0, 582, 587, 0,
5677 0, 357, 354, 0, 0, 0, 0, 0, 0, 0,
5678 0, 871, 868, 0, 0, 903, 900, 49, 41, 0,
5679 0, 0, 0, 0, 158, 159, 160, 0, 0, 0,
5680 197, 198, 0, 0, 0, 142, 143, 144, 145, 146,
5681 147, 148, 149, 150, 151, 152, 0, 192, 193, 161,
5682 162, 163, 0, 0, 0, 175, 176, 183, 184, 185,
5683 186, 191, 0, 0, 0, 155, 0, 0, 0, 0,
5684 0, 467, 468, 469, 0, 0, 0, 0, 0, 748,
5685 0, 0, 0, 0, 0, 0, 0, 194, 195, 196,
5686 0, 0, 68, 0, 0, 0, 226, 227, 228, 229,
5687 202, 0, 0, 0, 0, 0, 0, 470, 0, 0,
5688 0, 0, 0, 394, 0, 649, 621, 0, 0, 0,
5689 0, 0, 0, 0, 0, 668, 0, 0, 560, 0,
5690 0, 0, 571, 547, 0, 604, 605, 606, 0, 586,
5691 0, 0, 356, 883, 0, 886, 0, 889, 890, 0,
5692 0, 870, 0, 908, 902, 0, 0, 0, 0, 0,
5693 686, 688, 690, 0, 0, 247, 154, 166, 167, 168,
5694 169, 170, 165, 172, 174, 384, 535, 574, 157, 179,
5695 180, 181, 182, 178, 473, 38, 651, 653, 0, 0,
5696 656, 346, 0, 0, 0, 753, 0, 0, 188, 190,
5697 0, 0, 51, 217, 220, 221, 219, 224, 225, 223,
5698 452, 454, 456, 611, 450, 458, 462, 464, 466, 460,
5699 0, 648, 706, 692, 694, 696, 700, 698, 704, 702,
5700 563, 290, 567, 565, 570, 601, 608, 362, 364, 885,
5701 888, 893, 894, 892, 896, 247, 42, 0, 0, 0,
5702 239, 241, 0, 234, 237, 238, 280, 282, 284, 286,
5703 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5704 300, 0, 0, 307, 309, 311, 313, 279, 0, 254,
5705 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
5706 267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
5707 277, 278, 0, 252, 0, 248, 249, 389, 0, 385,
5708 386, 540, 0, 536, 537, 579, 0, 575, 576, 478,
5709 0, 474, 475, 325, 326, 327, 328, 329, 0, 317,
5710 320, 321, 322, 323, 324, 717, 0, 714, 661, 0,
5711 657, 658, 351, 0, 347, 348, 0, 0, 0, 0,
5712 0, 0, 0, 367, 370, 371, 372, 373, 374, 375,
5713 0, 0, 0, 340, 0, 332, 335, 336, 337, 338,
5714 339, 776, 781, 783, 0, 806, 0, 787, 775, 768,
5715 769, 770, 773, 774, 0, 760, 763, 764, 765, 766,
5716 771, 772, 767, 758, 0, 754, 755, 0, 860, 0,
5717 863, 856, 857, 0, 850, 853, 854, 855, 858, 0,
5718 914, 0, 911, 0, 0, 0, 0, 960, 0, 953,
5719 956, 957, 958, 959, 53, 616, 0, 612, 613, 710,
5720 0, 709, 0, 62, 898, 200, 0, 0, 236, 233,
5721 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5722 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5723 0, 256, 231, 244, 0, 246, 251, 0, 383, 388,
5724 544, 532, 539, 583, 573, 578, 0, 472, 477, 319,
5725 316, 719, 716, 713, 665, 655, 660, 0, 345, 350,
5726 0, 0, 0, 0, 0, 0, 369, 366, 0, 0,
5727 0, 334, 331, 0, 0, 0, 0, 0, 0, 0,
5728 762, 750, 0, 752, 757, 0, 0, 0, 0, 852,
5729 849, 866, 0, 913, 910, 0, 0, 0, 0, 955,
5730 952, 55, 0, 54, 0, 610, 615, 0, 708, 907,
5731 0, 0, 235, 0, 0, 0, 0, 288, 291, 292,
5732 293, 294, 295, 296, 297, 298, 299, 0, 305, 306,
5733 0, 0, 0, 0, 255, 0, 250, 0, 387, 0,
5734 538, 0, 577, 530, 502, 503, 504, 486, 487, 507,
5735 508, 509, 510, 511, 528, 489, 490, 512, 513, 514,
5736 515, 516, 517, 518, 519, 520, 521, 522, 523, 524,
5737 525, 526, 527, 529, 483, 484, 485, 498, 499, 500,
5738 501, 495, 496, 497, 0, 480, 488, 505, 506, 491,
5739 492, 493, 494, 476, 318, 742, 744, 0, 0, 736,
5740 737, 738, 739, 740, 741, 729, 730, 734, 735, 731,
5741 732, 733, 0, 720, 721, 724, 725, 726, 727, 728,
5742 715, 0, 659, 0, 349, 376, 377, 378, 379, 380,
5743 381, 368, 341, 342, 343, 333, 0, 0, 0, 785,
5744 0, 786, 0, 761, 0, 756, 859, 0, 862, 0,
5745 851, 929, 0, 927, 925, 919, 923, 924, 0, 916,
5746 921, 922, 920, 912, 961, 962, 963, 964, 954, 52,
5747 57, 0, 614, 0, 240, 242, 281, 283, 285, 287,
5748 302, 303, 304, 301, 308, 310, 312, 314, 253, 390,
5749 541, 580, 482, 479, 0, 0, 0, 0, 718, 723,
5750 662, 352, 778, 779, 780, 777, 782, 784, 0, 789,
5751 759, 861, 864, 0, 0, 0, 918, 915, 56, 617,
5752 711, 481, 0, 0, 746, 747, 722, 818, 821, 823,
5753 825, 817, 816, 815, 0, 808, 811, 812, 813, 814,
5754 794, 0, 790, 791, 0, 926, 0, 917, 743, 745,
5755 0, 0, 0, 0, 810, 807, 0, 788, 793, 0,
5756 928, 0, 0, 0, 0, 809, 804, 803, 799, 801,
5757 802, 0, 796, 800, 792, 934, 0, 931, 820, 819,
5758 822, 824, 827, 0, 798, 795, 0, 933, 930, 832,
5759 0, 828, 829, 0, 797, 944, 0, 0, 0, 949,
5760 0, 936, 939, 940, 941, 942, 943, 932, 0, 826,
5761 831, 805, 0, 0, 0, 0, 0, 938, 935, 844,
5762 846, 843, 837, 839, 841, 842, 0, 834, 838, 840,
5763 830, 0, 946, 947, 948, 0, 937, 0, 0, 836,
5764 833, 945, 950, 0, 0, 835, 845, 847
5768 Dhcp4Parser::yypgoto_[] =
5770 -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401,
5771 -1401, -1401, -1401, -1401, -1401, -59, -1401, -628, -1401, 605,
5772 -1401, -1401, -1401, -1401, -1401, -1401, -665, -1401, -1401, -1401,
5773 -67, -1401, -1401, -1401, -1401, -1401, -1401, -1401, 587, 805,
5774 16, 31, 33, -26, 84, 86, 87, 89, 91, 92,
5775 -1401, -1401, -1401, -1401, 94, -1401, -1401, 97, 102, -13,
5776 13, 41, 51, -1401, -1401, 53, -1401, 56, -1401, 59,
5777 104, 64, -1401, -1401, 66, 69, 74, 76, 79, -1401,
5778 81, -1401, 105, -1401, -1401, -1401, -1401, -1401, 43, -1401,
5779 -1401, -1401, 594, 802, -1401, -1401, -1401, -1401, -1401, -1401,
5780 -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401,
5781 -1401, -1401, -1401, 312, -1401, -1401, -1401, -1401, -1401, -1401,
5782 -1401, -1401, 512, -1401, 295, -1401, -738, 298, -1401, -1401,
5783 -1400, -1401, -1370, -1401, -1401, -1401, -1401, -63, -1401, -1401,
5784 -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401,
5785 -1401, -1401, -1401, -770, -1401, -769, -1401, -766, -1401, -1401,
5786 -1401, -1401, -1401, -1401, 279, -1401, -1401, -1401, -1401, -1401,
5787 -1401, -1401, -1401, 255, -1401, -1401, -1401, -1401, -1401, -1401,
5788 -1401, 275, -1401, -1401, -1401, 280, 767, -1401, -1401, -1401,
5789 -1401, -1401, -1401, -1401, 270, -1401, -1401, -1401, -1401, -1401,
5790 -1401, -1049, -1401, -1401, -1401, 300, -1401, -1401, -1401, 310,
5791 808, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1047,
5792 -1401, -29, -1401, -18, -1401, -4, -1401, 5, -1401, 107,
5793 110, 112, -1401, -1401, -1401, -1401, -1401, 301, -1401, -1401,
5794 58, -60, -1401, -1401, -1401, -1401, -1401, 311, -1401, -1401,
5795 -1401, 314, -1401, 785, -1401, -34, -1401, -1401, -1401, -1401,
5796 -1401, -27, -1401, -1401, -1401, -1401, -1401, -32, -1401, -1401,
5797 -1401, 315, -1401, -1401, -1401, 319, -1401, 784, -1401, -1401,
5798 -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401,
5799 -1401, -1401, 249, -1401, -1401, -1401, 259, 830, -1401, -1401,
5800 -1401, -44, -1401, 3, -1401, -56, -1401, -1401, -1401, 313,
5801 -1401, -1401, -1401, 320, -1401, 814, -48, -1401, -7, -1401,
5802 15, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401,
5803 -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1046, -1401,
5804 -1401, -1401, -1401, -1401, -1401, -1401, 323, -1401, -1401, -1401,
5805 68, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401,
5806 -1401, -1401, -1401, -1401, -1401, 316, -1401, 321, 302, -1401,
5807 -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401,
5808 -1401, -1401, 19, -1401, -1401, 1, -1401, -1401, -1401, -1401,
5809 -1401, 26, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401,
5810 -1401, -1401, -1401, -22, -1401, -1401, -41, -1401, -1401, -1401,
5811 -1401, -1401, -1401, -1401, 317, -1401, -1401, -1401, -1401, -1401,
5812 -1401, -1401, -1401, -1401, -1401, 640, 831, -1401, -1401, -1401,
5813 -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401, -1401,
5814 -1401, -1401, -1401, -1401, 674, 836, -1401, -1401, -1401, -1401,
5815 -1401, -1401, 322, -1401, -1401, 93, -1401, -1401, -1401, -1401,
5816 -1401, -1401, 21, -1401, -1401, -12, -1401, -1401, -1401, -1401,
5817 -1401, -1401, -1401, -1401, -1401, -1401, 326, -1401, -1401, -1401,
5822 Dhcp4Parser::yydefgoto_[] =
5824 0, 14, 15, 16, 17, 18, 19, 20, 21, 22,
5825 23, 24, 25, 26, 27, 36, 37, 38, 65, 776,
5826 82, 83, 39, 64, 79, 80, 793, 1014, 1122, 1123,
5827 867, 41, 66, 85, 458, 86, 43, 67, 160, 161,
5828 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
5829 172, 173, 486, 174, 175, 506, 176, 177, 178, 179,
5830 180, 181, 182, 492, 762, 183, 493, 184, 494, 185,
5831 186, 187, 507, 773, 188, 189, 190, 191, 192, 525,
5832 193, 526, 194, 195, 196, 197, 198, 199, 200, 201,
5833 202, 462, 241, 242, 45, 68, 243, 535, 244, 536,
5834 796, 245, 537, 799, 246, 247, 248, 249, 203, 472,
5835 204, 463, 842, 843, 844, 1026, 845, 1027, 205, 473,
5836 206, 474, 894, 895, 896, 1054, 868, 869, 870, 1030,
5837 871, 1031, 872, 1032, 873, 1033, 874, 875, 574, 876,
5838 877, 878, 879, 880, 881, 882, 883, 884, 885, 1044,
5839 1303, 886, 887, 888, 1047, 889, 1048, 890, 1049, 891,
5840 1050, 207, 514, 918, 919, 920, 921, 922, 923, 924,
5841 208, 520, 954, 955, 956, 957, 958, 209, 517, 933,
5842 934, 935, 1077, 59, 75, 422, 423, 424, 589, 425,
5843 590, 210, 518, 942, 943, 944, 945, 946, 947, 948,
5844 949, 211, 502, 898, 899, 900, 1057, 47, 69, 295,
5845 296, 297, 548, 298, 544, 299, 545, 300, 546, 301,
5846 549, 302, 554, 303, 551, 304, 552, 305, 553, 212,
5847 213, 214, 309, 215, 508, 910, 911, 912, 1066, 1204,
5848 1205, 216, 503, 53, 72, 902, 903, 904, 1060, 55,
5849 73, 383, 384, 385, 386, 387, 388, 389, 573, 390,
5850 577, 391, 576, 392, 393, 578, 394, 217, 504, 906,
5851 907, 908, 1063, 57, 74, 406, 407, 408, 409, 410,
5852 582, 411, 412, 413, 414, 415, 416, 586, 311, 547,
5853 1016, 1017, 1018, 1124, 49, 70, 341, 342, 343, 558,
5854 344, 218, 509, 219, 510, 220, 516, 929, 930, 931,
5855 1074, 51, 71, 359, 360, 361, 221, 467, 222, 468,
5856 223, 469, 365, 563, 366, 564, 367, 565, 368, 567,
5857 369, 566, 370, 569, 371, 568, 372, 562, 318, 555,
5858 1020, 1021, 1127, 224, 515, 926, 927, 1071, 1232, 1233,
5859 1234, 1235, 1236, 1314, 1237, 1315, 1238, 1239, 225, 226,
5860 521, 227, 522, 984, 985, 986, 1102, 974, 975, 976,
5861 1093, 1325, 977, 1094, 978, 1095, 979, 980, 981, 1099,
5862 1361, 1362, 1363, 1376, 1391, 1392, 1393, 1403, 982, 1097,
5863 1354, 1355, 1356, 1370, 1399, 1357, 1371, 1358, 1372, 1359,
5864 1373, 1410, 1411, 1412, 1428, 1446, 1447, 1448, 1457, 1449,
5865 1458, 228, 523, 993, 994, 995, 996, 1106, 997, 998,
5866 1108, 229, 524, 61, 76, 437, 438, 439, 440, 594,
5867 441, 442, 596, 443, 444, 445, 599, 833, 446, 600,
5868 230, 461, 63, 77, 449, 450, 451, 603, 452, 231,
5869 530, 1001, 1002, 1112, 1278, 1279, 1280, 1281, 1335, 1282,
5870 1333, 1396, 1397, 1406, 1420, 1421, 1422, 1432, 1423, 1424,
5871 1425, 1426, 1436, 232, 531, 1008, 1009, 1010, 1011, 1012,
5876 Dhcp4Parser::yytable_[] =
5878 159, 240, 264, 321, 355, 78, 381, 402, 421, 434,
5879 382, 403, 373, 314, 969, 970, 892, 1195, 971, 1196,
5880 1212, 315, 28, 362, 250, 312, 345, 357, 1442, 395,
5881 417, 775, 435, 806, 807, 808, 831, 310, 340, 356,
5882 404, 336, 812, 268, 29, 459, 30, 405, 31, 81,
5883 460, 40, 337, 419, 420, 42, 278, 322, 1443, 1442,
5884 375, 44, 316, 826, 363, 533, 338, 135, 136, 453,
5885 534, 251, 313, 346, 358, 339, 396, 418, 375, 436,
5886 135, 136, 279, 323, 317, 265, 364, 233, 234, 1443,
5887 1347, 235, 447, 448, 236, 237, 238, 239, 135, 136,
5888 266, 542, 267, 775, 419, 420, 543, 950, 951, 952,
5889 280, 324, 294, 757, 758, 759, 760, 454, 374, 556,
5890 281, 325, 282, 326, 557, 283, 327, 560, 284, 328,
5891 794, 795, 561, 286, 329, 287, 330, 158, 288, 331,
5892 46, 1386, 591, 289, 332, 290, 333, 592, 291, 334,
5893 292, 335, 761, 269, 601, 270, 271, 605, 272, 602,
5894 273, 274, 606, 275, 48, 533, 276, 135, 136, 1069,
5895 1023, 277, 1070, 285, 293, 375, 306, 376, 377, 307,
5896 158, 308, 378, 379, 380, 1271, 605, 1272, 1273, 135,
5897 136, 1024, 542, 158, 84, 135, 136, 1025, 91, 92,
5898 93, 94, 95, 96, 1028, 847, 848, 797, 798, 1029,
5899 832, 158, 1003, 1004, 1005, 1006, 50, 1072, 129, 1051,
5900 1073, 1348, 1349, 1350, 1052, 913, 914, 915, 916, 158,
5901 917, 52, 101, 102, 103, 104, 105, 106, 107, 108,
5902 109, 110, 54, 93, 94, 95, 115, 116, 117, 118,
5903 119, 120, 121, 122, 123, 124, 125, 126, 127, 56,
5904 252, 253, 254, 1195, 130, 1196, 1212, 58, 1051, 32,
5905 33, 34, 35, 1053, 840, 841, 132, 133, 135, 136,
5906 158, 135, 136, 255, 60, 135, 136, 256, 257, 258,
5907 137, 138, 139, 1086, 259, 260, 261, 455, 1087, 1091,
5908 1100, 262, 158, 142, 1092, 1101, 1113, 130, 158, 1114,
5909 1109, 263, 456, 62, 1415, 1110, 1155, 1416, 1417, 1418,
5910 1419, 457, 91, 92, 93, 94, 95, 96, 135, 136,
5911 969, 970, 969, 970, 971, 601, 971, 347, 1439, 1440,
5912 1111, 987, 988, 989, 1300, 1301, 1302, 348, 349, 350,
5913 351, 352, 353, 354, 464, 465, 101, 102, 103, 104,
5914 105, 106, 107, 108, 109, 110, 151, 152, 466, 470,
5915 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
5916 125, 126, 127, 128, 471, 1119, 570, 1051, 130, 375,
5917 1120, 990, 1308, 475, 158, 607, 608, 476, 158, 477,
5918 132, 133, 375, 397, 376, 377, 398, 399, 400, 135,
5919 136, 478, 257, 479, 137, 138, 139, 480, 259, 260,
5920 261, 556, 135, 136, 1312, 262, 1309, 591, 1100, 1313,
5921 481, 401, 1321, 1330, 1336, 263, 482, 560, 1374, 1337,
5922 1404, 158, 1339, 1375, 483, 1405, 115, 116, 117, 118,
5923 119, 120, 121, 484, 123, 124, 125, 126, 936, 937,
5924 938, 939, 940, 941, 130, 1437, 159, 1459, 1407, 571,
5925 1438, 1408, 1460, 485, 487, 240, 488, 133, 489, 769,
5926 770, 771, 772, 490, 319, 135, 136, 491, 495, 264,
5927 151, 152, 496, 321, 259, 260, 261, 497, 250, 498,
5928 314, 262, 320, 499, 355, 1322, 1323, 1324, 315, 500,
5929 501, 505, 312, 511, 381, 512, 345, 513, 382, 519,
5930 527, 402, 158, 362, 310, 403, 528, 357, 340, 529,
5931 268, 336, 532, 538, 434, 158, 539, 395, 540, 356,
5932 541, 550, 337, 278, 417, 251, 559, 322, 572, 316,
5933 575, 579, 580, 581, 404, 583, 338, 435, 584, 313,
5934 585, 405, 588, 346, 363, 339, 151, 152, 587, 279,
5935 593, 317, 265, 323, 358, 595, 597, 598, 604, 609,
5936 610, 611, 612, 613, 396, 614, 364, 266, 615, 267,
5937 616, 418, 617, 618, 619, 621, 622, 280, 158, 294,
5938 623, 324, 135, 136, 436, 620, 624, 281, 625, 282,
5939 626, 325, 283, 326, 627, 284, 327, 628, 629, 328,
5940 286, 630, 287, 631, 329, 288, 330, 634, 1340, 331,
5941 289, 632, 290, 633, 332, 291, 333, 292, 636, 334,
5942 269, 335, 270, 271, 639, 272, 635, 273, 274, 640,
5943 275, 637, 641, 276, 638, 642, 643, 644, 277, 647,
5944 285, 293, 645, 306, 648, 652, 307, 649, 308, 426,
5945 427, 428, 429, 430, 431, 432, 433, 646, 650, 159,
5946 653, 240, 654, 651, 655, 656, 836, 846, 847, 848,
5947 849, 850, 851, 852, 853, 854, 855, 856, 857, 858,
5948 859, 860, 657, 658, 250, 861, 862, 863, 864, 865,
5949 866, 659, 660, 661, 662, 158, 953, 968, 664, 663,
5950 434, 665, 666, 667, 1007, 1, 2, 3, 4, 5,
5951 6, 7, 8, 9, 10, 11, 12, 13, 87, 959,
5952 972, 88, 991, 435, 375, 668, 670, 671, 669, 672,
5953 673, 251, 674, 89, 675, 676, 90, 91, 92, 93,
5954 94, 95, 96, 97, 98, 99, 100, 680, 677, 681,
5955 683, 678, 679, 684, 685, 691, 686, 692, 687, 688,
5956 689, 693, 694, 695, 696, 698, 960, 973, 697, 992,
5957 436, 101, 102, 103, 104, 105, 106, 107, 108, 109,
5958 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
5959 120, 121, 122, 123, 124, 125, 126, 127, 128, 699,
5960 700, 701, 129, 130, 702, 704, 705, 707, 708, 709,
5961 710, 711, 712, 713, 131, 132, 133, 714, 716, 717,
5962 718, 134, 719, 720, 135, 136, 721, 722, 724, 137,
5963 138, 139, 140, 141, 725, 726, 727, 728, 863, 864,
5964 865, 730, 142, 731, 733, 734, 735, 736, 737, 738,
5965 739, 740, 143, 742, 743, 144, 745, 158, 746, 750,
5966 747, 748, 145, 146, 749, 751, 752, 147, 148, 753,
5967 754, 755, 756, 763, 764, 765, 766, 767, 768, 774,
5968 30, 777, 778, 779, 780, 781, 149, 788, 782, 783,
5969 150, 784, 785, 786, 789, 135, 136, 787, 790, 791,
5970 792, 800, 801, 802, 803, 151, 152, 153, 154, 155,
5971 156, 804, 805, 809, 810, 811, 813, 834, 835, 157,
5972 814, 815, 816, 817, 893, 818, 819, 897, 901, 905,
5973 820, 821, 822, 823, 824, 825, 827, 158, 829, 830,
5974 961, 909, 925, 928, 962, 963, 964, 965, 932, 983,
5975 1000, 1015, 1034, 1035, 966, 967, 1019, 1036, 1037, 1038,
5976 1039, 1040, 1041, 1042, 1043, 1045, 1046, 1056, 1121, 1055,
5977 264, 1058, 1059, 381, 1061, 1062, 402, 382, 1065, 1163,
5978 403, 314, 1064, 1194, 1219, 1067, 1068, 355, 1224, 315,
5979 421, 1225, 1075, 312, 1076, 1078, 395, 1079, 1209, 417,
5980 1080, 1081, 1207, 1229, 953, 310, 362, 1227, 158, 404,
5981 357, 268, 1082, 968, 1206, 968, 405, 1197, 1083, 1226,
5982 1167, 1084, 356, 1085, 278, 1274, 1088, 959, 1198, 1275,
5983 316, 1089, 1007, 1177, 1090, 1096, 972, 321, 972, 1210,
5984 313, 1098, 1199, 396, 1230, 991, 418, 363, 1276, 1208,
5985 279, 1200, 317, 265, 1228, 1103, 1104, 358, 1105, 1178,
5986 345, 1211, 1164, 1107, 1115, 1116, 1231, 1220, 266, 364,
5987 267, 1117, 340, 1118, 960, 336, 1125, 1165, 280, 1166,
5988 294, 1126, 1221, 973, 1222, 973, 337, 1179, 281, 1193,
5989 282, 322, 992, 283, 1223, 1277, 284, 1180, 1128, 1181,
5990 338, 286, 1182, 287, 1129, 1183, 288, 346, 1130, 339,
5991 1185, 289, 1186, 290, 1131, 1187, 291, 323, 292, 1133,
5992 1188, 269, 1189, 270, 271, 1190, 272, 1191, 273, 274,
5993 1168, 275, 1169, 1170, 276, 1171, 1134, 1172, 1173, 277,
5994 1174, 285, 293, 1175, 306, 324, 1135, 307, 1176, 308,
5995 1184, 1192, 1136, 1201, 1137, 325, 1202, 326, 1203, 1138,
5996 327, 1139, 1140, 328, 1141, 1147, 1150, 1151, 329, 1142,
5997 330, 1143, 1148, 331, 1152, 1153, 1144, 1145, 332, 1256,
5998 333, 1146, 1149, 334, 1257, 335, 1258, 1260, 1262, 1267,
5999 1332, 1269, 1289, 1290, 1329, 1293, 1310, 1245, 1246, 1316,
6000 1311, 1247, 1248, 1317, 1249, 1250, 1318, 1319, 1320, 1253,
6001 1252, 1254, 1259, 1328, 1334, 1261, 1268, 1266, 1342, 1343,
6002 1284, 1285, 1294, 1286, 1360, 1163, 1287, 1364, 1295, 1194,
6003 1296, 1297, 1219, 1298, 1299, 1304, 1224, 1305, 1366, 1225,
6004 1306, 1351, 1307, 1326, 1209, 1327, 1331, 1377, 1207, 1274,
6005 1338, 1229, 1378, 1275, 1344, 1227, 1345, 1365, 1368, 1369,
6006 1206, 1379, 1380, 1197, 1352, 1381, 1167, 1226, 1382, 1383,
6007 1384, 1398, 1276, 1400, 1198, 1395, 1401, 1402, 1409, 1177,
6008 1413, 1429, 1430, 1452, 1433, 1210, 1431, 1351, 1199, 1387,
6009 1434, 1435, 1230, 1388, 1451, 1208, 1453, 1200, 1455, 1454,
6010 1463, 1461, 1228, 1462, 1464, 1178, 1466, 1211, 1164, 1467,
6011 1352, 1353, 1389, 837, 1231, 1220, 828, 1387, 682, 1277,
6012 1132, 1388, 839, 1165, 690, 1166, 1255, 1022, 1214, 1154,
6013 1221, 1156, 1222, 1179, 1244, 1193, 1251, 1243, 732, 1158,
6014 1389, 1441, 1223, 1180, 703, 1181, 723, 1157, 1182, 1213,
6015 1341, 1183, 729, 1160, 1159, 1292, 1185, 1353, 1186, 1390,
6016 1162, 1187, 1161, 1291, 1444, 715, 1188, 1346, 1189, 1242,
6017 706, 1190, 1441, 1191, 1241, 1240, 1168, 1394, 1169, 1170,
6018 1385, 1171, 1263, 1172, 1173, 1414, 1174, 1390, 1450, 1175,
6019 93, 94, 95, 96, 1176, 1444, 1184, 1192, 1465, 1201,
6020 1265, 838, 1202, 1264, 1203, 1456, 1270, 999, 1427, 1367,
6021 0, 1445, 741, 0, 0, 1283, 0, 0, 0, 0,
6022 0, 744, 101, 102, 103, 1288, 0, 0, 0, 0,
6023 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
6024 0, 0, 1445, 0, 0, 0, 0, 0, 0, 0,
6025 0, 0, 0, 129, 130, 375, 0, 0, 0, 0,
6026 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
6027 0, 0, 0, 0, 0, 135, 136, 0, 0, 0,
6028 0, 0, 0, 0, 0, 0, 0, 1215, 1216, 1217,
6029 1218, 0, 0, 0, 0, 0, 0, 0, 0, 0,
6030 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
6031 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
6032 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
6033 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
6034 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
6035 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
6036 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
6037 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
6038 0, 0, 0, 0, 0, 0, 0, 0, 158
6042 Dhcp4Parser::yycheck_[] =
6044 67, 68, 69, 70, 71, 64, 73, 74, 75, 76,
6045 73, 74, 72, 69, 784, 784, 754, 1066, 784, 1066,
6046 1066, 69, 0, 71, 68, 69, 70, 71, 1428, 73,
6047 74, 659, 76, 698, 699, 700, 18, 69, 70, 71,
6048 74, 70, 707, 69, 5, 3, 7, 74, 9, 230,
6049 8, 7, 70, 146, 147, 7, 69, 70, 1428, 1459,
6050 97, 7, 69, 728, 71, 3, 70, 117, 118, 6,
6051 8, 68, 69, 70, 71, 70, 73, 74, 97, 76,
6052 117, 118, 69, 70, 69, 69, 71, 15, 16, 1459,
6053 40, 19, 12, 13, 22, 23, 24, 25, 117, 118,
6054 69, 3, 69, 731, 146, 147, 8, 157, 158, 159,
6055 69, 70, 69, 194, 195, 196, 197, 3, 40, 3,
6056 69, 70, 69, 70, 8, 69, 70, 3, 69, 70,
6057 17, 18, 8, 69, 70, 69, 70, 230, 69, 70,
6058 7, 178, 3, 69, 70, 69, 70, 8, 69, 70,
6059 69, 70, 233, 69, 3, 69, 69, 3, 69, 8,
6060 69, 69, 8, 69, 7, 3, 69, 117, 118, 3,
6061 8, 69, 6, 69, 69, 97, 69, 99, 100, 69,
6062 230, 69, 104, 105, 106, 204, 3, 206, 207, 117,
6063 118, 8, 3, 230, 10, 117, 118, 8, 30, 31,
6064 32, 33, 34, 35, 3, 41, 42, 20, 21, 8,
6065 192, 230, 213, 214, 215, 216, 7, 3, 95, 3,
6066 6, 171, 172, 173, 8, 137, 138, 139, 140, 230,
6067 142, 7, 64, 65, 66, 67, 68, 69, 70, 71,
6068 72, 73, 7, 32, 33, 34, 78, 79, 80, 81,
6069 82, 83, 84, 85, 86, 87, 88, 89, 90, 7,
6070 92, 93, 94, 1312, 96, 1312, 1312, 7, 3, 230,
6071 231, 232, 233, 8, 27, 28, 108, 109, 117, 118,
6072 230, 117, 118, 115, 7, 117, 118, 119, 120, 121,
6073 122, 123, 124, 3, 126, 127, 128, 4, 8, 3,
6074 3, 133, 230, 135, 8, 8, 3, 96, 230, 6,
6075 3, 143, 8, 7, 205, 8, 1054, 208, 209, 210,
6076 211, 3, 30, 31, 32, 33, 34, 35, 117, 118,
6077 1100, 1100, 1102, 1102, 1100, 3, 1102, 126, 174, 175,
6078 8, 180, 181, 182, 55, 56, 57, 136, 137, 138,
6079 139, 140, 141, 142, 4, 4, 64, 65, 66, 67,
6080 68, 69, 70, 71, 72, 73, 198, 199, 4, 4,
6081 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
6082 88, 89, 90, 91, 4, 3, 8, 3, 96, 97,
6083 8, 230, 8, 4, 230, 454, 455, 4, 230, 4,
6084 108, 109, 97, 98, 99, 100, 101, 102, 103, 117,
6085 118, 4, 120, 4, 122, 123, 124, 4, 126, 127,
6086 128, 3, 117, 118, 3, 133, 8, 3, 3, 8,
6087 4, 126, 8, 8, 3, 143, 4, 3, 3, 8,
6088 3, 230, 8, 8, 4, 8, 78, 79, 80, 81,
6089 82, 83, 84, 4, 86, 87, 88, 89, 149, 150,
6090 151, 152, 153, 154, 96, 3, 533, 3, 3, 3,
6091 8, 6, 8, 4, 4, 542, 4, 109, 4, 110,
6092 111, 112, 113, 4, 116, 117, 118, 4, 4, 556,
6093 198, 199, 4, 560, 126, 127, 128, 4, 542, 4,
6094 556, 133, 134, 4, 571, 163, 164, 165, 556, 4,
6095 4, 4, 556, 4, 581, 4, 560, 4, 581, 4,
6096 4, 588, 230, 571, 556, 588, 4, 571, 560, 4,
6097 556, 560, 4, 4, 601, 230, 4, 581, 4, 571,
6098 4, 4, 560, 556, 588, 542, 4, 560, 8, 556,
6099 4, 4, 8, 3, 588, 4, 560, 601, 4, 556,
6100 4, 588, 3, 560, 571, 560, 198, 199, 8, 556,
6101 4, 556, 556, 560, 571, 4, 4, 4, 4, 230,
6102 4, 4, 4, 4, 581, 233, 571, 556, 233, 556,
6103 233, 588, 4, 4, 4, 233, 4, 556, 230, 556,
6104 4, 560, 117, 118, 601, 231, 4, 556, 231, 556,
6105 231, 560, 556, 560, 231, 556, 560, 231, 231, 560,
6106 556, 233, 556, 232, 560, 556, 560, 231, 1293, 560,
6107 556, 232, 556, 232, 560, 556, 560, 556, 4, 560,
6108 556, 560, 556, 556, 233, 556, 231, 556, 556, 233,
6109 556, 231, 233, 556, 231, 4, 4, 4, 556, 232,
6110 556, 556, 233, 556, 231, 4, 556, 231, 556, 184,
6111 185, 186, 187, 188, 189, 190, 191, 233, 231, 746,
6112 4, 748, 4, 233, 231, 4, 745, 40, 41, 42,
6113 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
6114 53, 54, 4, 4, 748, 58, 59, 60, 61, 62,
6115 63, 4, 4, 233, 233, 230, 783, 784, 4, 233,
6116 787, 4, 4, 4, 791, 217, 218, 219, 220, 221,
6117 222, 223, 224, 225, 226, 227, 228, 229, 11, 783,
6118 784, 14, 786, 787, 97, 4, 4, 4, 231, 4,
6119 4, 748, 4, 26, 4, 4, 29, 30, 31, 32,
6120 33, 34, 35, 36, 37, 38, 39, 4, 233, 4,
6121 4, 233, 233, 4, 4, 4, 233, 4, 233, 231,
6122 231, 4, 4, 4, 4, 4, 783, 784, 231, 786,
6123 787, 64, 65, 66, 67, 68, 69, 70, 71, 72,
6124 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
6125 83, 84, 85, 86, 87, 88, 89, 90, 91, 4,
6126 4, 4, 95, 96, 4, 4, 231, 4, 4, 4,
6127 4, 4, 4, 4, 107, 108, 109, 4, 4, 4,
6128 231, 114, 4, 4, 117, 118, 4, 233, 4, 122,
6129 123, 124, 125, 126, 233, 233, 233, 4, 60, 61,
6130 62, 4, 135, 4, 233, 4, 231, 4, 231, 231,
6131 4, 4, 145, 4, 231, 148, 4, 230, 7, 230,
6132 7, 7, 155, 156, 7, 230, 230, 160, 161, 7,
6133 7, 5, 230, 230, 230, 5, 5, 5, 230, 5,
6134 7, 230, 5, 5, 5, 5, 179, 230, 7, 7,
6135 183, 7, 5, 7, 230, 117, 118, 7, 5, 7,
6136 5, 230, 230, 230, 5, 198, 199, 200, 201, 202,
6137 203, 230, 230, 230, 7, 230, 230, 193, 5, 212,
6138 230, 230, 230, 230, 7, 230, 230, 7, 7, 7,
6139 230, 230, 230, 230, 230, 230, 230, 230, 230, 230,
6140 162, 7, 7, 7, 166, 167, 168, 169, 7, 7,
6141 7, 7, 4, 4, 176, 177, 144, 4, 4, 4,
6142 4, 4, 4, 4, 4, 4, 4, 3, 230, 6,
6143 1057, 6, 3, 1060, 6, 3, 1063, 1060, 3, 1066,
6144 1063, 1057, 6, 1066, 1071, 6, 3, 1074, 1071, 1057,
6145 1077, 1071, 6, 1057, 3, 6, 1060, 3, 1066, 1063,
6146 4, 4, 1066, 1071, 1091, 1057, 1074, 1071, 230, 1063,
6147 1074, 1057, 4, 1100, 1066, 1102, 1063, 1066, 4, 1071,
6148 1066, 4, 1074, 4, 1057, 1112, 4, 1091, 1066, 1112,
6149 1057, 4, 1119, 1066, 4, 4, 1100, 1124, 1102, 1066,
6150 1057, 4, 1066, 1060, 1071, 1109, 1063, 1074, 1112, 1066,
6151 1057, 1066, 1057, 1057, 1071, 6, 3, 1074, 4, 1066,
6152 1124, 1066, 1066, 4, 4, 4, 1071, 1071, 1057, 1074,
6153 1057, 4, 1124, 4, 1091, 1124, 6, 1066, 1057, 1066,
6154 1057, 3, 1071, 1100, 1071, 1102, 1124, 1066, 1057, 1066,
6155 1057, 1124, 1109, 1057, 1071, 1112, 1057, 1066, 8, 1066,
6156 1124, 1057, 1066, 1057, 6, 1066, 1057, 1124, 4, 1124,
6157 1066, 1057, 1066, 1057, 4, 1066, 1057, 1124, 1057, 4,
6158 1066, 1057, 1066, 1057, 1057, 1066, 1057, 1066, 1057, 1057,
6159 1066, 1057, 1066, 1066, 1057, 1066, 4, 1066, 1066, 1057,
6160 1066, 1057, 1057, 1066, 1057, 1124, 4, 1057, 1066, 1057,
6161 1066, 1066, 4, 1066, 231, 1124, 1066, 1124, 1066, 233,
6162 1124, 231, 233, 1124, 231, 4, 4, 4, 1124, 231,
6163 1124, 231, 233, 1124, 4, 4, 231, 231, 1124, 4,
6164 1124, 231, 231, 1124, 4, 1124, 4, 4, 4, 4,
6165 1269, 4, 6, 3, 5, 4, 8, 231, 231, 4,
6166 8, 231, 231, 4, 231, 231, 8, 3, 8, 231,
6167 233, 231, 231, 7, 4, 233, 231, 233, 4, 4,
6168 233, 233, 230, 233, 7, 1312, 233, 4, 230, 1312,
6169 230, 230, 1319, 230, 230, 230, 1319, 230, 4, 1319,
6170 230, 1328, 230, 230, 1312, 230, 230, 6, 1312, 1336,
6171 230, 1319, 3, 1336, 233, 1319, 233, 231, 230, 230,
6172 1312, 5, 230, 1312, 1328, 4, 1312, 1319, 4, 4,
6173 4, 170, 1336, 230, 1312, 7, 230, 5, 7, 1312,
6174 4, 6, 3, 233, 4, 1312, 230, 1374, 1312, 1376,
6175 4, 4, 1319, 1376, 4, 1312, 231, 1312, 4, 231,
6176 4, 230, 1319, 230, 4, 1312, 230, 1312, 1312, 230,
6177 1374, 1328, 1376, 746, 1319, 1319, 731, 1404, 533, 1336,
6178 1028, 1404, 748, 1312, 542, 1312, 1091, 835, 1069, 1051,
6179 1319, 1056, 1319, 1312, 1079, 1312, 1086, 1077, 591, 1059,
6180 1404, 1428, 1319, 1312, 556, 1312, 581, 1057, 1312, 1068,
6181 1312, 1312, 588, 1062, 1060, 1126, 1312, 1374, 1312, 1376,
6182 1065, 1312, 1063, 1124, 1428, 571, 1312, 1319, 1312, 1076,
6183 560, 1312, 1459, 1312, 1074, 1072, 1312, 1378, 1312, 1312,
6184 1374, 1312, 1100, 1312, 1312, 1404, 1312, 1404, 1430, 1312,
6185 32, 33, 34, 35, 1312, 1459, 1312, 1312, 1459, 1312,
6186 1104, 747, 1312, 1102, 1312, 1437, 1109, 787, 1407, 1336,
6187 -1, 1428, 601, -1, -1, 1113, -1, -1, -1, -1,
6188 -1, 605, 64, 65, 66, 1119, -1, -1, -1, -1,
6189 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6190 -1, -1, 1459, -1, -1, -1, -1, -1, -1, -1,
6191 -1, -1, -1, 95, 96, 97, -1, -1, -1, -1,
6192 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6193 -1, -1, -1, -1, -1, 117, 118, -1, -1, -1,
6194 -1, -1, -1, -1, -1, -1, -1, 129, 130, 131,
6195 132, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6196 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6197 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6198 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6199 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6200 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6201 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6202 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6203 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6204 -1, -1, -1, -1, -1, -1, -1, -1, 230
6208 Dhcp4Parser::yystos_[] =
6210 0, 217, 218, 219, 220, 221, 222, 223, 224, 225,
6211 226, 227, 228, 229, 235, 236, 237, 238, 239, 240,
6212 241, 242, 243, 244, 245, 246, 247, 248, 0, 5,
6213 7, 9, 230, 231, 232, 233, 249, 250, 251, 256,
6214 7, 265, 7, 270, 7, 328, 7, 441, 7, 528,
6215 7, 545, 7, 477, 7, 483, 7, 507, 7, 417,
6216 7, 657, 7, 676, 257, 252, 266, 271, 329, 442,
6217 529, 546, 478, 484, 508, 418, 658, 677, 249, 258,
6218 259, 230, 254, 255, 10, 267, 269, 11, 14, 26,
6219 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
6220 39, 64, 65, 66, 67, 68, 69, 70, 71, 72,
6221 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
6222 83, 84, 85, 86, 87, 88, 89, 90, 91, 95,
6223 96, 107, 108, 109, 114, 117, 118, 122, 123, 124,
6224 125, 126, 135, 145, 148, 155, 156, 160, 161, 179,
6225 183, 198, 199, 200, 201, 202, 203, 212, 230, 264,
6226 272, 273, 274, 275, 276, 277, 278, 279, 280, 281,
6227 282, 283, 284, 285, 287, 288, 290, 291, 292, 293,
6228 294, 295, 296, 299, 301, 303, 304, 305, 308, 309,
6229 310, 311, 312, 314, 316, 317, 318, 319, 320, 321,
6230 322, 323, 324, 342, 344, 352, 354, 395, 404, 411,
6231 425, 435, 463, 464, 465, 467, 475, 501, 535, 537,
6232 539, 550, 552, 554, 577, 592, 593, 595, 645, 655,
6233 674, 683, 707, 15, 16, 19, 22, 23, 24, 25,
6234 264, 326, 327, 330, 332, 335, 338, 339, 340, 341,
6235 535, 537, 92, 93, 94, 115, 119, 120, 121, 126,
6236 127, 128, 133, 143, 264, 274, 275, 276, 277, 278,
6237 279, 280, 281, 282, 283, 288, 291, 292, 293, 294,
6238 295, 296, 299, 301, 303, 304, 305, 308, 309, 310,
6239 311, 312, 314, 316, 322, 443, 444, 445, 447, 449,
6240 451, 453, 455, 457, 459, 461, 463, 464, 465, 466,
6241 501, 522, 535, 537, 539, 550, 552, 554, 572, 116,
6242 134, 264, 293, 294, 295, 296, 299, 301, 303, 305,
6243 308, 309, 310, 311, 312, 314, 455, 457, 459, 461,
6244 501, 530, 531, 532, 534, 535, 537, 126, 136, 137,
6245 138, 139, 140, 141, 142, 264, 501, 535, 537, 547,
6246 548, 549, 550, 552, 554, 556, 558, 560, 562, 564,
6247 566, 568, 570, 475, 40, 97, 99, 100, 104, 105,
6248 106, 264, 371, 485, 486, 487, 488, 489, 490, 491,
6249 493, 495, 497, 498, 500, 535, 537, 98, 101, 102,
6250 103, 126, 264, 371, 489, 495, 509, 510, 511, 512,
6251 513, 515, 516, 517, 518, 519, 520, 535, 537, 146,
6252 147, 264, 419, 420, 421, 423, 184, 185, 186, 187,
6253 188, 189, 190, 191, 264, 535, 537, 659, 660, 661,
6254 662, 664, 665, 667, 668, 669, 672, 12, 13, 678,
6255 679, 680, 682, 6, 3, 4, 8, 3, 268, 3,
6256 8, 675, 325, 345, 4, 4, 4, 551, 553, 555,
6257 4, 4, 343, 353, 355, 4, 4, 4, 4, 4,
6258 4, 4, 4, 4, 4, 4, 286, 4, 4, 4,
6259 4, 4, 297, 300, 302, 4, 4, 4, 4, 4,
6260 4, 4, 436, 476, 502, 4, 289, 306, 468, 536,
6261 538, 4, 4, 4, 396, 578, 540, 412, 426, 4,
6262 405, 594, 596, 646, 656, 313, 315, 4, 4, 4,
6263 684, 708, 4, 3, 8, 331, 333, 336, 4, 4,
6264 4, 4, 3, 8, 448, 450, 452, 523, 446, 454,
6265 4, 458, 460, 462, 456, 573, 3, 8, 533, 4,
6266 3, 8, 571, 557, 559, 561, 565, 563, 569, 567,
6267 8, 3, 8, 492, 372, 4, 496, 494, 499, 4,
6268 8, 3, 514, 4, 4, 4, 521, 8, 3, 422,
6269 424, 3, 8, 4, 663, 4, 666, 4, 4, 670,
6270 673, 3, 8, 681, 4, 3, 8, 249, 249, 230,
6271 4, 4, 4, 4, 233, 233, 233, 4, 4, 4,
6272 231, 233, 4, 4, 4, 231, 231, 231, 231, 231,
6273 233, 232, 232, 232, 231, 231, 4, 231, 231, 233,
6274 233, 233, 4, 4, 4, 233, 233, 232, 231, 231,
6275 231, 233, 4, 4, 4, 231, 4, 4, 4, 4,
6276 4, 233, 233, 233, 4, 4, 4, 4, 4, 231,
6277 4, 4, 4, 4, 4, 4, 4, 233, 233, 233,
6278 4, 4, 273, 4, 4, 4, 233, 233, 231, 231,
6279 327, 4, 4, 4, 4, 4, 4, 231, 4, 4,
6280 4, 4, 4, 444, 4, 231, 531, 4, 4, 4,
6281 4, 4, 4, 4, 4, 549, 4, 4, 231, 4,
6282 4, 4, 233, 487, 4, 233, 233, 233, 4, 511,
6283 4, 4, 420, 233, 4, 231, 4, 231, 231, 4,
6284 4, 660, 4, 231, 679, 4, 7, 7, 7, 7,
6285 230, 230, 230, 7, 7, 5, 230, 194, 195, 196,
6286 197, 233, 298, 230, 230, 5, 5, 5, 230, 110,
6287 111, 112, 113, 307, 5, 251, 253, 230, 5, 5,
6288 5, 5, 7, 7, 7, 5, 7, 7, 230, 230,
6289 5, 7, 5, 260, 17, 18, 334, 20, 21, 337,
6290 230, 230, 230, 5, 230, 230, 260, 260, 260, 230,
6291 7, 230, 260, 230, 230, 230, 230, 230, 230, 230,
6292 230, 230, 230, 230, 230, 230, 260, 230, 253, 230,
6293 230, 18, 192, 671, 193, 5, 249, 272, 678, 326,
6294 27, 28, 346, 347, 348, 350, 40, 41, 42, 43,
6295 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
6296 54, 58, 59, 60, 61, 62, 63, 264, 360, 361,
6297 362, 364, 366, 368, 370, 371, 373, 374, 375, 376,
6298 377, 378, 379, 380, 381, 382, 385, 386, 387, 389,
6299 391, 393, 360, 7, 356, 357, 358, 7, 437, 438,
6300 439, 7, 479, 480, 481, 7, 503, 504, 505, 7,
6301 469, 470, 471, 137, 138, 139, 140, 142, 397, 398,
6302 399, 400, 401, 402, 403, 7, 579, 580, 7, 541,
6303 542, 543, 7, 413, 414, 415, 149, 150, 151, 152,
6304 153, 154, 427, 428, 429, 430, 431, 432, 433, 434,
6305 157, 158, 159, 264, 406, 407, 408, 409, 410, 535,
6306 537, 162, 166, 167, 168, 169, 176, 177, 264, 387,
6307 389, 391, 535, 537, 601, 602, 603, 606, 608, 610,
6308 611, 612, 622, 7, 597, 598, 599, 180, 181, 182,
6309 230, 535, 537, 647, 648, 649, 650, 652, 653, 659,
6310 7, 685, 686, 213, 214, 215, 216, 264, 709, 710,
6311 711, 712, 713, 714, 261, 7, 524, 525, 526, 144,
6312 574, 575, 356, 8, 8, 8, 349, 351, 3, 8,
6313 363, 365, 367, 369, 4, 4, 4, 4, 4, 4,
6314 4, 4, 4, 4, 383, 4, 4, 388, 390, 392,
6315 394, 3, 8, 8, 359, 6, 3, 440, 6, 3,
6316 482, 6, 3, 506, 6, 3, 472, 6, 3, 3,
6317 6, 581, 3, 6, 544, 6, 3, 416, 6, 3,
6318 4, 4, 4, 4, 4, 4, 3, 8, 4, 4,
6319 4, 3, 8, 604, 607, 609, 4, 623, 4, 613,
6320 3, 8, 600, 6, 3, 4, 651, 4, 654, 3,
6321 8, 8, 687, 3, 6, 4, 4, 4, 4, 3,
6322 8, 230, 262, 263, 527, 6, 3, 576, 8, 6,
6323 4, 4, 347, 4, 4, 4, 4, 231, 233, 231,
6324 233, 231, 231, 231, 231, 231, 231, 4, 233, 231,
6325 4, 4, 4, 4, 361, 360, 358, 443, 439, 485,
6326 481, 509, 505, 264, 274, 275, 276, 277, 278, 279,
6327 280, 281, 282, 283, 288, 291, 292, 293, 294, 295,
6328 296, 299, 301, 303, 304, 305, 308, 309, 310, 311,
6329 312, 314, 316, 322, 371, 435, 453, 455, 457, 459,
6330 461, 463, 464, 465, 473, 474, 501, 535, 537, 550,
6331 552, 554, 572, 471, 398, 129, 130, 131, 132, 264,
6332 274, 275, 276, 322, 371, 475, 501, 535, 537, 550,
6333 552, 554, 582, 583, 584, 585, 586, 588, 590, 591,
6334 580, 547, 543, 419, 415, 231, 231, 231, 231, 231,
6335 231, 428, 233, 231, 231, 407, 4, 4, 4, 231,
6336 4, 233, 4, 602, 601, 599, 233, 4, 231, 4,
6337 648, 204, 206, 207, 264, 371, 535, 537, 688, 689,
6338 690, 691, 693, 686, 233, 233, 233, 233, 710, 6,
6339 3, 530, 526, 4, 230, 230, 230, 230, 230, 230,
6340 55, 56, 57, 384, 230, 230, 230, 230, 8, 8,
6341 8, 8, 3, 8, 587, 589, 4, 4, 8, 3,
6342 8, 8, 163, 164, 165, 605, 230, 230, 7, 5,
6343 8, 230, 249, 694, 4, 692, 3, 8, 230, 8,
6344 260, 474, 4, 4, 233, 233, 584, 40, 171, 172,
6345 173, 264, 535, 537, 624, 625, 626, 629, 631, 633,
6346 7, 614, 615, 616, 4, 231, 4, 689, 230, 230,
6347 627, 630, 632, 634, 3, 8, 617, 6, 3, 5,
6348 230, 4, 4, 4, 4, 625, 178, 264, 371, 535,
6349 537, 618, 619, 620, 616, 7, 695, 696, 170, 628,
6350 230, 230, 5, 621, 3, 8, 697, 3, 6, 7,
6351 635, 636, 637, 4, 619, 205, 208, 209, 210, 211,
6352 698, 699, 700, 702, 703, 704, 705, 696, 638, 6,
6353 3, 230, 701, 4, 4, 4, 706, 3, 8, 174,
6354 175, 264, 364, 366, 535, 537, 639, 640, 641, 643,
6355 637, 4, 233, 231, 231, 4, 699, 642, 644, 3,
6356 8, 230, 230, 4, 4, 640, 230, 230
6360 Dhcp4Parser::yyr1_[] =
6362 0, 234, 236, 235, 237, 235, 238, 235, 239, 235,
6363 240, 235, 241, 235, 242, 235, 243, 235, 244, 235,
6364 245, 235, 246, 235, 247, 235, 248, 235, 249, 249,
6365 249, 249, 249, 249, 249, 250, 252, 251, 253, 254,
6366 254, 255, 255, 255, 257, 256, 258, 258, 259, 259,
6367 259, 261, 260, 262, 262, 263, 263, 263, 264, 266,
6368 265, 268, 267, 267, 269, 271, 270, 272, 272, 272,
6369 273, 273, 273, 273, 273, 273, 273, 273, 273, 273,
6370 273, 273, 273, 273, 273, 273, 273, 273, 273, 273,
6371 273, 273, 273, 273, 273, 273, 273, 273, 273, 273,
6372 273, 273, 273, 273, 273, 273, 273, 273, 273, 273,
6373 273, 273, 273, 273, 273, 273, 273, 273, 273, 273,
6374 273, 273, 273, 273, 273, 273, 273, 273, 273, 273,
6375 273, 273, 273, 273, 273, 273, 273, 273, 273, 273,
6376 273, 273, 274, 275, 276, 277, 278, 279, 280, 281,
6377 282, 283, 284, 286, 285, 287, 289, 288, 290, 291,
6378 292, 293, 294, 295, 297, 296, 298, 298, 298, 298,
6379 298, 300, 299, 302, 301, 303, 304, 306, 305, 307,
6380 307, 307, 307, 308, 309, 310, 311, 313, 312, 315,
6381 314, 316, 317, 318, 319, 320, 321, 322, 323, 325,
6382 324, 326, 326, 326, 327, 327, 327, 327, 327, 327,
6383 327, 327, 327, 327, 329, 328, 331, 330, 333, 332,
6384 334, 334, 336, 335, 337, 337, 338, 339, 340, 341,
6385 343, 342, 345, 344, 346, 346, 346, 347, 347, 349,
6386 348, 351, 350, 353, 352, 355, 354, 356, 356, 357,
6387 357, 357, 359, 358, 360, 360, 360, 361, 361, 361,
6388 361, 361, 361, 361, 361, 361, 361, 361, 361, 361,
6389 361, 361, 361, 361, 361, 361, 361, 361, 361, 361,
6390 363, 362, 365, 364, 367, 366, 369, 368, 370, 372,
6391 371, 373, 374, 375, 376, 377, 378, 379, 380, 381,
6392 383, 382, 384, 384, 384, 385, 386, 388, 387, 390,
6393 389, 392, 391, 394, 393, 396, 395, 397, 397, 397,
6394 398, 398, 398, 398, 398, 399, 400, 401, 402, 403,
6395 405, 404, 406, 406, 406, 407, 407, 407, 407, 407,
6396 407, 408, 409, 410, 412, 411, 413, 413, 414, 414,
6397 414, 416, 415, 418, 417, 419, 419, 419, 419, 420,
6398 420, 422, 421, 424, 423, 426, 425, 427, 427, 427,
6399 428, 428, 428, 428, 428, 428, 429, 430, 431, 432,
6400 433, 434, 436, 435, 437, 437, 438, 438, 438, 440,
6401 439, 442, 441, 443, 443, 443, 444, 444, 444, 444,
6402 444, 444, 444, 444, 444, 444, 444, 444, 444, 444,
6403 444, 444, 444, 444, 444, 444, 444, 444, 444, 444,
6404 444, 444, 444, 444, 444, 444, 444, 444, 444, 444,
6405 444, 444, 444, 444, 444, 444, 444, 444, 444, 444,
6406 444, 444, 444, 444, 444, 444, 444, 444, 444, 446,
6407 445, 448, 447, 450, 449, 452, 451, 454, 453, 456,
6408 455, 458, 457, 460, 459, 462, 461, 463, 464, 465,
6409 466, 468, 467, 469, 469, 470, 470, 470, 472, 471,
6410 473, 473, 473, 474, 474, 474, 474, 474, 474, 474,
6411 474, 474, 474, 474, 474, 474, 474, 474, 474, 474,
6412 474, 474, 474, 474, 474, 474, 474, 474, 474, 474,
6413 474, 474, 474, 474, 474, 474, 474, 474, 474, 474,
6414 474, 474, 474, 474, 474, 474, 474, 474, 474, 474,
6415 474, 476, 475, 478, 477, 479, 479, 480, 480, 480,
6416 482, 481, 484, 483, 485, 485, 486, 486, 486, 487,
6417 487, 487, 487, 487, 487, 487, 487, 487, 487, 488,
6418 489, 490, 492, 491, 494, 493, 496, 495, 497, 499,
6419 498, 500, 502, 501, 503, 503, 504, 504, 504, 506,
6420 505, 508, 507, 509, 509, 510, 510, 510, 511, 511,
6421 511, 511, 511, 511, 511, 511, 511, 511, 511, 512,
6422 514, 513, 515, 516, 517, 518, 519, 521, 520, 523,
6423 522, 524, 524, 525, 525, 525, 527, 526, 529, 528,
6424 530, 530, 530, 531, 531, 531, 531, 531, 531, 531,
6425 531, 531, 531, 531, 531, 531, 531, 531, 531, 531,
6426 531, 531, 531, 531, 531, 531, 531, 533, 532, 534,
6427 536, 535, 538, 537, 540, 539, 541, 541, 542, 542,
6428 542, 544, 543, 546, 545, 547, 547, 548, 548, 548,
6429 549, 549, 549, 549, 549, 549, 549, 549, 549, 549,
6430 549, 549, 549, 549, 549, 551, 550, 553, 552, 555,
6431 554, 557, 556, 559, 558, 561, 560, 563, 562, 565,
6432 564, 567, 566, 569, 568, 571, 570, 573, 572, 574,
6433 576, 575, 578, 577, 579, 579, 579, 581, 580, 582,
6434 582, 583, 583, 583, 584, 584, 584, 584, 584, 584,
6435 584, 584, 584, 584, 584, 584, 584, 584, 584, 584,
6436 584, 585, 587, 586, 589, 588, 590, 591, 592, 594,
6437 593, 596, 595, 597, 597, 598, 598, 598, 600, 599,
6438 601, 601, 601, 602, 602, 602, 602, 602, 602, 602,
6439 602, 602, 602, 602, 602, 602, 604, 603, 605, 605,
6440 605, 607, 606, 609, 608, 610, 611, 613, 612, 614,
6441 614, 615, 615, 615, 617, 616, 618, 618, 618, 619,
6442 619, 619, 619, 619, 621, 620, 623, 622, 624, 624,
6443 624, 625, 625, 625, 625, 625, 625, 625, 627, 626,
6444 628, 630, 629, 632, 631, 634, 633, 635, 635, 636,
6445 636, 636, 638, 637, 639, 639, 639, 640, 640, 640,
6446 640, 640, 640, 640, 642, 641, 644, 643, 646, 645,
6447 647, 647, 647, 648, 648, 648, 648, 648, 648, 649,
6448 651, 650, 652, 654, 653, 656, 655, 658, 657, 659,
6449 659, 659, 660, 660, 660, 660, 660, 660, 660, 660,
6450 660, 660, 660, 661, 663, 662, 664, 666, 665, 667,
6451 668, 670, 669, 671, 671, 673, 672, 675, 674, 677,
6452 676, 678, 678, 678, 679, 679, 681, 680, 682, 684,
6453 683, 685, 685, 685, 687, 686, 688, 688, 688, 689,
6454 689, 689, 689, 689, 689, 689, 690, 692, 691, 694,
6455 693, 695, 695, 695, 697, 696, 698, 698, 698, 699,
6456 699, 699, 699, 699, 701, 700, 702, 703, 704, 706,
6457 705, 708, 707, 709, 709, 709, 710, 710, 710, 710,
6458 710, 711, 712, 713, 714
6462 Dhcp4Parser::yyr2_[] =
6464 0, 2, 0, 3, 0, 3, 0, 3, 0, 3,
6465 0, 3, 0, 3, 0, 3, 0, 3, 0, 3,
6466 0, 3, 0, 3, 0, 3, 0, 3, 1, 1,
6467 1, 1, 1, 1, 1, 1, 0, 4, 1, 0,
6468 1, 3, 5, 2, 0, 4, 0, 1, 1, 3,
6469 2, 0, 4, 0, 1, 1, 3, 2, 2, 0,
6470 4, 0, 6, 1, 2, 0, 4, 1, 3, 2,
6471 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6472 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6473 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6474 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6475 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6476 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6477 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6478 1, 1, 3, 3, 3, 3, 3, 3, 3, 3,
6479 3, 3, 3, 0, 4, 3, 0, 4, 3, 3,
6480 3, 3, 3, 3, 0, 4, 1, 1, 1, 1,
6481 1, 0, 4, 0, 4, 3, 3, 0, 4, 1,
6482 1, 1, 1, 3, 3, 3, 3, 0, 4, 0,
6483 4, 3, 3, 3, 3, 3, 3, 3, 3, 0,
6484 6, 1, 3, 2, 1, 1, 1, 1, 1, 1,
6485 1, 1, 1, 1, 0, 4, 0, 4, 0, 4,
6486 1, 1, 0, 4, 1, 1, 3, 3, 3, 3,
6487 0, 6, 0, 6, 1, 3, 2, 1, 1, 0,
6488 4, 0, 4, 0, 6, 0, 6, 0, 1, 1,
6489 3, 2, 0, 4, 1, 3, 2, 1, 1, 1,
6490 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6491 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6492 0, 4, 0, 4, 0, 4, 0, 4, 3, 0,
6493 4, 3, 3, 3, 3, 3, 3, 3, 3, 3,
6494 0, 4, 1, 1, 1, 3, 3, 0, 4, 0,
6495 4, 0, 4, 0, 4, 0, 6, 1, 3, 2,
6496 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6497 0, 6, 1, 3, 2, 1, 1, 1, 1, 1,
6498 1, 3, 3, 3, 0, 6, 0, 1, 1, 3,
6499 2, 0, 4, 0, 4, 1, 3, 2, 1, 1,
6500 1, 0, 4, 0, 4, 0, 6, 1, 3, 2,
6501 1, 1, 1, 1, 1, 1, 3, 3, 3, 3,
6502 3, 3, 0, 6, 0, 1, 1, 3, 2, 0,
6503 4, 0, 4, 1, 3, 2, 1, 1, 1, 1,
6504 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6505 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6506 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6507 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6508 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
6509 4, 0, 4, 0, 4, 0, 4, 0, 4, 0,
6510 4, 0, 4, 0, 4, 0, 4, 3, 3, 3,
6511 3, 0, 6, 0, 1, 1, 3, 2, 0, 4,
6512 1, 3, 2, 1, 1, 1, 1, 1, 1, 1,
6513 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6514 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6515 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6516 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6517 1, 0, 6, 0, 4, 0, 1, 1, 3, 2,
6518 0, 4, 0, 4, 0, 1, 1, 3, 2, 1,
6519 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6520 3, 1, 0, 4, 0, 4, 0, 4, 1, 0,
6521 4, 3, 0, 6, 0, 1, 1, 3, 2, 0,
6522 4, 0, 4, 0, 1, 1, 3, 2, 1, 1,
6523 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6524 0, 4, 1, 1, 3, 3, 3, 0, 4, 0,
6525 6, 0, 1, 1, 3, 2, 0, 4, 0, 4,
6526 1, 3, 2, 1, 1, 1, 1, 1, 1, 1,
6527 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6528 1, 1, 1, 1, 1, 1, 1, 0, 4, 3,
6529 0, 4, 0, 4, 0, 6, 0, 1, 1, 3,
6530 2, 0, 4, 0, 4, 0, 1, 1, 3, 2,
6531 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6532 1, 1, 1, 1, 1, 0, 4, 0, 4, 0,
6533 4, 0, 4, 0, 4, 0, 4, 0, 4, 0,
6534 4, 0, 4, 0, 4, 0, 4, 0, 6, 1,
6535 0, 4, 0, 6, 1, 3, 2, 0, 4, 0,
6536 1, 1, 3, 2, 1, 1, 1, 1, 1, 1,
6537 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6538 1, 1, 0, 4, 0, 4, 3, 3, 3, 0,
6539 6, 0, 6, 0, 1, 1, 3, 2, 0, 4,
6540 1, 3, 2, 1, 1, 1, 1, 1, 1, 1,
6541 1, 1, 1, 1, 1, 1, 0, 4, 1, 1,
6542 1, 0, 4, 0, 4, 3, 3, 0, 6, 0,
6543 1, 1, 3, 2, 0, 4, 1, 3, 2, 1,
6544 1, 1, 1, 1, 0, 4, 0, 6, 1, 3,
6545 2, 1, 1, 1, 1, 1, 1, 1, 0, 4,
6546 1, 0, 4, 0, 4, 0, 6, 0, 1, 1,
6547 3, 2, 0, 4, 1, 3, 2, 1, 1, 1,
6548 1, 1, 1, 1, 0, 4, 0, 4, 0, 6,
6549 1, 3, 2, 1, 1, 1, 1, 1, 1, 3,
6550 0, 4, 3, 0, 4, 0, 6, 0, 4, 1,
6551 3, 2, 1, 1, 1, 1, 1, 1, 1, 1,
6552 1, 1, 1, 3, 0, 4, 3, 0, 4, 3,
6553 3, 0, 4, 1, 1, 0, 4, 0, 6, 0,
6554 4, 1, 3, 2, 1, 1, 0, 6, 3, 0,
6555 6, 1, 3, 2, 0, 4, 1, 3, 2, 1,
6556 1, 1, 1, 1, 1, 1, 3, 0, 4, 0,
6557 6, 1, 3, 2, 0, 4, 1, 3, 2, 1,
6558 1, 1, 1, 1, 0, 4, 3, 3, 3, 0,
6559 4, 0, 6, 1, 3, 2, 1, 1, 1, 1,
6564#if PARSER4_DEBUG || 1
6568 const Dhcp4Parser::yytname_[] =
6570 "\"end of file\"",
"error",
"\"invalid token\"",
"\",\"",
"\":\"",
6571 "\"[\"",
"\"]\"",
"\"{\"",
"\"}\"",
"\"null\"",
"\"Dhcp4\"",
6572 "\"config-control\"",
"\"config-databases\"",
6573 "\"config-fetch-wait-time\"",
"\"interfaces-config\"",
"\"interfaces\"",
6574 "\"dhcp-socket-type\"",
"\"raw\"",
"\"udp\"",
"\"outbound-interface\"",
6575 "\"same-as-inbound\"",
"\"use-routing\"",
"\"re-detect\"",
6576 "\"service-sockets-require-all\"",
"\"service-sockets-retry-wait-time\"",
6577 "\"service-sockets-max-retries\"",
"\"sanity-checks\"",
6578 "\"lease-checks\"",
"\"extended-info-checks\"",
"\"echo-client-id\"",
6579 "\"match-client-id\"",
"\"authoritative\"",
"\"next-server\"",
6580 "\"server-hostname\"",
"\"boot-file-name\"",
"\"offer-lifetime\"",
6581 "\"stash-agent-options\"",
"\"lease-database\"",
"\"hosts-database\"",
6582 "\"hosts-databases\"",
"\"type\"",
"\"user\"",
"\"password\"",
6583 "\"host\"",
"\"port\"",
"\"persist\"",
"\"lfc-interval\"",
6584 "\"readonly\"",
"\"connect-timeout\"",
"\"read-timeout\"",
6585 "\"write-timeout\"",
"\"tcp-user-timeout\"",
"\"max-reconnect-tries\"",
6586 "\"reconnect-wait-time\"",
"\"on-fail\"",
"\"stop-retry-exit\"",
6587 "\"serve-retry-exit\"",
"\"serve-retry-continue\"",
6588 "\"retry-on-startup\"",
"\"max-row-errors\"",
"\"trust-anchor\"",
6589 "\"cert-file\"",
"\"key-file\"",
"\"cipher-list\"",
"\"valid-lifetime\"",
6590 "\"min-valid-lifetime\"",
"\"max-valid-lifetime\"",
"\"renew-timer\"",
6591 "\"rebind-timer\"",
"\"calculate-tee-times\"",
"\"t1-percent\"",
6592 "\"t2-percent\"",
"\"cache-threshold\"",
"\"cache-max-age\"",
6593 "\"decline-probation-period\"",
"\"server-tag\"",
6594 "\"statistic-default-sample-count\"",
"\"statistic-default-sample-age\"",
6595 "\"ddns-send-updates\"",
"\"ddns-override-no-update\"",
6596 "\"ddns-override-client-update\"",
"\"ddns-replace-client-name\"",
6597 "\"ddns-generated-prefix\"",
"\"ddns-qualifying-suffix\"",
6598 "\"ddns-update-on-renew\"",
"\"ddns-use-conflict-resolution\"",
6599 "\"ddns-ttl-percent\"",
"\"ddns-ttl\"",
"\"ddns-ttl-min\"",
6600 "\"ddns-ttl-mix\"",
"\"store-extended-info\"",
"\"subnet4\"",
6601 "\"4o6-interface\"",
"\"4o6-interface-id\"",
"\"4o6-subnet\"",
6602 "\"option-def\"",
"\"option-data\"",
"\"name\"",
"\"data\"",
"\"code\"",
6603 "\"space\"",
"\"csv-format\"",
"\"always-send\"",
"\"never-send\"",
6604 "\"record-types\"",
"\"encapsulate\"",
"\"array\"",
6605 "\"parked-packet-limit\"",
"\"allocator\"",
6606 "\"ddns-conflict-resolution-mode\"",
"\"check-with-dhcid\"",
6607 "\"no-check-with-dhcid\"",
"\"check-exists-with-dhcid\"",
6608 "\"no-check-without-dhcid\"",
"\"shared-networks\"",
"\"pools\"",
6609 "\"pool\"",
"\"user-context\"",
"\"comment\"",
"\"subnet\"",
6610 "\"interface\"",
"\"id\"",
"\"reservations-global\"",
6611 "\"reservations-in-subnet\"",
"\"reservations-out-of-pool\"",
6612 "\"host-reservation-identifiers\"",
"\"client-classes\"",
6613 "\"require-client-classes\"",
"\"evaluate-additional-classes\"",
6614 "\"test\"",
"\"template-test\"",
"\"only-if-required\"",
6615 "\"only-in-additional-list\"",
"\"client-class\"",
"\"pool-id\"",
6616 "\"reservations\"",
"\"ip-address\"",
"\"duid\"",
"\"hw-address\"",
6617 "\"circuit-id\"",
"\"client-id\"",
"\"hostname\"",
"\"flex-id\"",
6618 "\"relay\"",
"\"ip-addresses\"",
"\"hooks-libraries\"",
"\"library\"",
6619 "\"parameters\"",
"\"expired-leases-processing\"",
6620 "\"reclaim-timer-wait-time\"",
"\"flush-reclaimed-timer-wait-time\"",
6621 "\"hold-reclaimed-time\"",
"\"max-reclaim-leases\"",
6622 "\"max-reclaim-time\"",
"\"unwarned-reclaim-cycles\"",
6623 "\"dhcp4o6-port\"",
"\"multi-threading\"",
"\"enable-multi-threading\"",
6624 "\"thread-pool-size\"",
"\"packet-queue-size\"",
"\"control-socket\"",
6625 "\"control-sockets\"",
"\"socket-type\"",
"\"unix\"",
"\"http\"",
6626 "\"https\"",
"\"socket-name\"",
"\"socket-address\"",
"\"socket-port\"",
6627 "\"authentication\"",
"\"basic\"",
"\"realm\"",
"\"directory\"",
6628 "\"clients\"",
"\"user-file\"",
"\"password-file\"",
"\"cert-required\"",
6629 "\"http-headers\"",
"\"value\"",
"\"dhcp-queue-control\"",
6630 "\"enable-queue\"",
"\"queue-type\"",
"\"capacity\"",
"\"dhcp-ddns\"",
6631 "\"enable-updates\"",
"\"server-ip\"",
"\"server-port\"",
6632 "\"sender-ip\"",
"\"sender-port\"",
"\"max-queue-size\"",
6633 "\"ncr-protocol\"",
"\"ncr-format\"",
"\"tcp\"",
"\"JSON\"",
6634 "\"when-present\"",
"\"never\"",
"\"always\"",
"\"when-not-present\"",
6635 "\"hostname-char-set\"",
"\"hostname-char-replacement\"",
6636 "\"early-global-reservations-lookup\"",
"\"ip-reservations-unique\"",
6637 "\"reservations-lookup-first\"",
"\"loggers\"",
"\"output-options\"",
6638 "\"output\"",
"\"debuglevel\"",
"\"severity\"",
"\"flush\"",
6639 "\"maxsize\"",
"\"maxver\"",
"\"pattern\"",
"\"compatibility\"",
6640 "\"lenient-option-parsing\"",
"\"ignore-dhcp-server-identifier\"",
6641 "\"ignore-rai-link-selection\"",
"\"exclude-first-last-24\"",
6642 "TOPLEVEL_JSON",
"TOPLEVEL_DHCP4",
"SUB_DHCP4",
"SUB_INTERFACES4",
6643 "SUB_SUBNET4",
"SUB_POOL4",
"SUB_RESERVATION",
"SUB_OPTION_DEFS",
6644 "SUB_OPTION_DEF",
"SUB_OPTION_DATA",
"SUB_HOOKS_LIBRARY",
6645 "SUB_DHCP_DDNS",
"SUB_CONFIG_CONTROL",
"\"constant string\"",
6646 "\"integer\"",
"\"floating point\"",
"\"boolean\"",
"$accept",
"start",
6647 "$@1",
"$@2",
"$@3",
"$@4",
"$@5",
"$@6",
"$@7",
"$@8",
"$@9",
"$@10",
6648 "$@11",
"$@12",
"$@13",
"value",
"sub_json",
"map2",
"$@14",
"map_value",
6649 "map_content",
"not_empty_map",
"list_generic",
"$@15",
"list_content",
6650 "not_empty_list",
"list_strings",
"$@16",
"list_strings_content",
6651 "not_empty_list_strings",
"unknown_map_entry",
"syntax_map",
"$@17",
6652 "global_object",
"$@18",
"global_object_comma",
"sub_dhcp4",
"$@19",
6653 "global_params",
"global_param",
"valid_lifetime",
"min_valid_lifetime",
6654 "max_valid_lifetime",
"renew_timer",
"rebind_timer",
6655 "calculate_tee_times",
"t1_percent",
"t2_percent",
"cache_threshold",
6656 "cache_max_age",
"decline_probation_period",
"server_tag",
"$@20",
6657 "parked_packet_limit",
"allocator",
"$@21",
"echo_client_id",
6658 "match_client_id",
"authoritative",
"ddns_send_updates",
6659 "ddns_override_no_update",
"ddns_override_client_update",
6660 "ddns_replace_client_name",
"$@22",
"ddns_replace_client_name_value",
6661 "ddns_generated_prefix",
"$@23",
"ddns_qualifying_suffix",
"$@24",
6662 "ddns_update_on_renew",
"ddns_use_conflict_resolution",
6663 "ddns_conflict_resolution_mode",
"$@25",
6664 "ddns_conflict_resolution_mode_value",
"ddns_ttl_percent",
"ddns_ttl",
6665 "ddns_ttl_min",
"ddns_ttl_max",
"hostname_char_set",
"$@26",
6666 "hostname_char_replacement",
"$@27",
"store_extended_info",
6667 "statistic_default_sample_count",
"statistic_default_sample_age",
6668 "early_global_reservations_lookup",
"ip_reservations_unique",
6669 "reservations_lookup_first",
"offer_lifetime",
"stash_agent_options",
6670 "interfaces_config",
"$@28",
"interfaces_config_params",
6671 "interfaces_config_param",
"sub_interfaces4",
"$@29",
"interfaces_list",
6672 "$@30",
"dhcp_socket_type",
"$@31",
"socket_type",
"outbound_interface",
6673 "$@32",
"outbound_interface_value",
"re_detect",
6674 "service_sockets_require_all",
"service_sockets_retry_wait_time",
6675 "service_sockets_max_retries",
"lease_database",
"$@33",
"sanity_checks",
6676 "$@34",
"sanity_checks_params",
"sanity_checks_param",
"lease_checks",
6677 "$@35",
"extended_info_checks",
"$@36",
"hosts_database",
"$@37",
6678 "hosts_databases",
"$@38",
"database_list",
"not_empty_database_list",
6679 "database",
"$@39",
"database_map_params",
"database_map_param",
6680 "database_type",
"$@40",
"user",
"$@41",
"password",
"$@42",
"host",
6681 "$@43",
"port",
"name",
"$@44",
"persist",
"lfc_interval",
"readonly",
6682 "connect_timeout",
"read_timeout",
"write_timeout",
"tcp_user_timeout",
6683 "max_reconnect_tries",
"reconnect_wait_time",
"on_fail",
"$@45",
6684 "on_fail_mode",
"retry_on_startup",
"max_row_errors",
"trust_anchor",
6685 "$@46",
"cert_file",
"$@47",
"key_file",
"$@48",
"cipher_list",
"$@49",
6686 "host_reservation_identifiers",
"$@50",
6687 "host_reservation_identifiers_list",
"host_reservation_identifier",
6688 "duid_id",
"hw_address_id",
"circuit_id",
"client_id",
"flex_id",
6689 "dhcp_multi_threading",
"$@51",
"multi_threading_params",
6690 "multi_threading_param",
"enable_multi_threading",
"thread_pool_size",
6691 "packet_queue_size",
"hooks_libraries",
"$@52",
"hooks_libraries_list",
6692 "not_empty_hooks_libraries_list",
"hooks_library",
"$@53",
6693 "sub_hooks_library",
"$@54",
"hooks_params",
"hooks_param",
"library",
6694 "$@55",
"parameters",
"$@56",
"expired_leases_processing",
"$@57",
6695 "expired_leases_params",
"expired_leases_param",
6696 "reclaim_timer_wait_time",
"flush_reclaimed_timer_wait_time",
6697 "hold_reclaimed_time",
"max_reclaim_leases",
"max_reclaim_time",
6698 "unwarned_reclaim_cycles",
"subnet4_list",
"$@58",
6699 "subnet4_list_content",
"not_empty_subnet4_list",
"subnet4",
"$@59",
6700 "sub_subnet4",
"$@60",
"subnet4_params",
"subnet4_param",
"subnet",
6701 "$@61",
"subnet_4o6_interface",
"$@62",
"subnet_4o6_interface_id",
6702 "$@63",
"subnet_4o6_subnet",
"$@64",
"interface",
"$@65",
"client_class",
6703 "$@66",
"network_client_classes",
"$@67",
"require_client_classes",
6704 "$@68",
"evaluate_additional_classes",
"$@69",
"reservations_global",
6705 "reservations_in_subnet",
"reservations_out_of_pool",
"id",
6706 "shared_networks",
"$@70",
"shared_networks_content",
6707 "shared_networks_list",
"shared_network",
"$@71",
6708 "shared_network_params",
"shared_network_param",
"option_def_list",
6709 "$@72",
"sub_option_def_list",
"$@73",
"option_def_list_content",
6710 "not_empty_option_def_list",
"option_def_entry",
"$@74",
6711 "sub_option_def",
"$@75",
"option_def_params",
6712 "not_empty_option_def_params",
"option_def_param",
"option_def_name",
6713 "code",
"option_def_code",
"option_def_type",
"$@76",
6714 "option_def_record_types",
"$@77",
"space",
"$@78",
"option_def_space",
6715 "option_def_encapsulate",
"$@79",
"option_def_array",
"option_data_list",
6716 "$@80",
"option_data_list_content",
"not_empty_option_data_list",
6717 "option_data_entry",
"$@81",
"sub_option_data",
"$@82",
6718 "option_data_params",
"not_empty_option_data_params",
6719 "option_data_param",
"option_data_name",
"option_data_data",
"$@83",
6720 "option_data_code",
"option_data_space",
"option_data_csv_format",
6721 "option_data_always_send",
"option_data_never_send",
6722 "option_data_client_classes",
"$@84",
"pools_list",
"$@85",
6723 "pools_list_content",
"not_empty_pools_list",
"pool_list_entry",
"$@86",
6724 "sub_pool4",
"$@87",
"pool_params",
"pool_param",
"pool_entry",
"$@88",
6725 "pool_id",
"user_context",
"$@89",
"comment",
"$@90",
"reservations",
6726 "$@91",
"reservations_list",
"not_empty_reservations_list",
6727 "reservation",
"$@92",
"sub_reservation",
"$@93",
"reservation_params",
6728 "not_empty_reservation_params",
"reservation_param",
"next_server",
6729 "$@94",
"server_hostname",
"$@95",
"boot_file_name",
"$@96",
6730 "ip_address",
"$@97",
"duid",
"$@98",
"hw_address",
"$@99",
6731 "client_id_value",
"$@100",
"circuit_id_value",
"$@101",
"flex_id_value",
6732 "$@102",
"hostname",
"$@103",
"reservation_client_classes",
"$@104",
6733 "relay",
"$@105",
"relay_map",
"ip_addresses",
"$@106",
"client_classes",
6734 "$@107",
"client_classes_list",
"client_class_entry",
"$@108",
6735 "client_class_params",
"not_empty_client_class_params",
6736 "client_class_param",
"client_class_name",
"client_class_test",
"$@109",
6737 "client_class_template_test",
"$@110",
"only_if_required",
6738 "only_in_additional_list",
"dhcp4o6_port",
"control_socket",
"$@111",
6739 "control_sockets",
"$@112",
"control_socket_list",
6740 "not_empty_control_socket_list",
"control_socket_entry",
"$@113",
6741 "control_socket_params",
"control_socket_param",
"control_socket_type",
6742 "$@114",
"control_socket_type_value",
"control_socket_name",
"$@115",
6743 "control_socket_address",
"$@116",
"control_socket_port",
6744 "cert_required",
"http_headers",
"$@117",
"http_header_list",
6745 "not_empty_http_header_list",
"http_header",
"$@118",
6746 "http_header_params",
"http_header_param",
"header_value",
"$@119",
6747 "authentication",
"$@120",
"auth_params",
"auth_param",
"auth_type",
6748 "$@121",
"auth_type_value",
"realm",
"$@122",
"directory",
"$@123",
6749 "clients",
"$@124",
"clients_list",
"not_empty_clients_list",
6750 "basic_auth",
"$@125",
"clients_params",
"clients_param",
"user_file",
6751 "$@126",
"password_file",
"$@127",
"dhcp_queue_control",
"$@128",
6752 "queue_control_params",
"queue_control_param",
"enable_queue",
6753 "queue_type",
"$@129",
"capacity",
"arbitrary_map_entry",
"$@130",
6754 "dhcp_ddns",
"$@131",
"sub_dhcp_ddns",
"$@132",
"dhcp_ddns_params",
6755 "dhcp_ddns_param",
"enable_updates",
"server_ip",
"$@133",
"server_port",
6756 "sender_ip",
"$@134",
"sender_port",
"max_queue_size",
"ncr_protocol",
6757 "$@135",
"ncr_protocol_value",
"ncr_format",
"$@136",
"config_control",
6758 "$@137",
"sub_config_control",
"$@138",
"config_control_params",
6759 "config_control_param",
"config_databases",
"$@139",
6760 "config_fetch_wait_time",
"loggers",
"$@140",
"loggers_entries",
6761 "logger_entry",
"$@141",
"logger_params",
"logger_param",
"debuglevel",
6762 "severity",
"$@142",
"output_options_list",
"$@143",
6763 "output_options_list_content",
"output_entry",
"$@144",
6764 "output_params_list",
"output_params",
"output",
"$@145",
"flush",
6765 "maxsize",
"maxver",
"pattern",
"$@146",
"compatibility",
"$@147",
6766 "compatibility_params",
"compatibility_param",
"lenient_option_parsing",
6767 "ignore_dhcp_server_identifier",
"ignore_rai_link_selection",
6768 "exclude_first_last_24", YY_NULLPTR
6775 Dhcp4Parser::yyrline_[] =
6777 0, 329, 329, 329, 330, 330, 331, 331, 332, 332,
6778 333, 333, 334, 334, 335, 335, 336, 336, 337, 337,
6779 338, 338, 339, 339, 340, 340, 341, 341, 349, 350,
6780 351, 352, 353, 354, 355, 358, 363, 363, 374, 377,
6781 378, 381, 386, 392, 397, 397, 404, 405, 408, 412,
6782 416, 422, 422, 429, 430, 433, 437, 441, 451, 460,
6783 460, 475, 475, 489, 492, 498, 498, 507, 508, 509,
6784 516, 517, 518, 519, 520, 521, 522, 523, 524, 525,
6785 526, 527, 528, 529, 530, 531, 532, 533, 534, 535,
6786 536, 537, 538, 539, 540, 541, 542, 543, 544, 545,
6787 546, 547, 548, 549, 550, 551, 552, 553, 554, 555,
6788 556, 557, 558, 559, 560, 561, 562, 563, 564, 565,
6789 566, 567, 568, 569, 570, 571, 572, 573, 574, 575,
6790 576, 577, 578, 579, 580, 581, 582, 583, 584, 585,
6791 586, 587, 590, 596, 602, 608, 614, 620, 626, 632,
6792 638, 644, 650, 656, 656, 665, 671, 671, 680, 686,
6793 692, 698, 704, 710, 716, 716, 725, 728, 731, 734,
6794 737, 743, 743, 752, 752, 761, 770, 780, 780, 789,
6795 792, 795, 798, 803, 809, 815, 821, 827, 827, 836,
6796 836, 845, 851, 857, 863, 869, 875, 881, 887, 893,
6797 893, 905, 906, 907, 912, 913, 914, 915, 916, 917,
6798 918, 919, 920, 921, 924, 924, 933, 933, 944, 944,
6799 952, 953, 956, 956, 964, 966, 970, 976, 982, 988,
6800 994, 994, 1007, 1007, 1018, 1019, 1020, 1025, 1026, 1029,
6801 1029, 1048, 1048, 1066, 1066, 1079, 1079, 1090, 1091, 1094,
6802 1095, 1096, 1101, 1101, 1111, 1112, 1113, 1118, 1119, 1120,
6803 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130,
6804 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140,
6805 1143, 1143, 1152, 1152, 1161, 1161, 1170, 1170, 1179, 1185,
6806 1185, 1194, 1200, 1206, 1212, 1218, 1224, 1230, 1236, 1242,
6807 1248, 1248, 1256, 1257, 1258, 1261, 1267, 1273, 1273, 1282,
6808 1282, 1291, 1291, 1300, 1300, 1309, 1309, 1320, 1321, 1322,
6809 1327, 1328, 1329, 1330, 1331, 1334, 1339, 1344, 1349, 1354,
6810 1361, 1361, 1374, 1375, 1376, 1381, 1382, 1383, 1384, 1385,
6811 1386, 1389, 1395, 1401, 1407, 1407, 1418, 1419, 1422, 1423,
6812 1424, 1429, 1429, 1439, 1439, 1449, 1450, 1451, 1454, 1457,
6813 1458, 1461, 1461, 1470, 1470, 1479, 1479, 1491, 1492, 1493,
6814 1498, 1499, 1500, 1501, 1502, 1503, 1506, 1512, 1518, 1524,
6815 1530, 1536, 1545, 1545, 1559, 1560, 1563, 1564, 1565, 1574,
6816 1574, 1600, 1600, 1611, 1612, 1613, 1619, 1620, 1621, 1622,
6817 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1632,
6818 1633, 1634, 1635, 1636, 1637, 1638, 1639, 1640, 1641, 1642,
6819 1643, 1644, 1645, 1646, 1647, 1648, 1649, 1650, 1651, 1652,
6820 1653, 1654, 1655, 1656, 1657, 1658, 1659, 1660, 1661, 1662,
6821 1663, 1664, 1665, 1666, 1667, 1668, 1669, 1670, 1671, 1674,
6822 1674, 1683, 1683, 1692, 1692, 1701, 1701, 1710, 1710, 1719,
6823 1719, 1729, 1729, 1741, 1741, 1752, 1752, 1763, 1769, 1775,
6824 1781, 1789, 1789, 1801, 1802, 1806, 1807, 1808, 1813, 1813,
6825 1821, 1822, 1823, 1828, 1829, 1830, 1831, 1832, 1833, 1834,
6826 1835, 1836, 1837, 1838, 1839, 1840, 1841, 1842, 1843, 1844,
6827 1845, 1846, 1847, 1848, 1849, 1850, 1851, 1852, 1853, 1854,
6828 1855, 1856, 1857, 1858, 1859, 1860, 1861, 1862, 1863, 1864,
6829 1865, 1866, 1867, 1868, 1869, 1870, 1871, 1872, 1873, 1874,
6830 1875, 1882, 1882, 1896, 1896, 1905, 1906, 1909, 1910, 1911,
6831 1918, 1918, 1933, 1933, 1947, 1948, 1951, 1952, 1953, 1958,
6832 1959, 1960, 1961, 1962, 1963, 1964, 1965, 1966, 1967, 1970,
6833 1972, 1978, 1980, 1980, 1989, 1989, 1998, 1998, 2007, 2009,
6834 2009, 2018, 2028, 2028, 2041, 2042, 2047, 2048, 2049, 2056,
6835 2056, 2068, 2068, 2080, 2081, 2086, 2087, 2088, 2095, 2096,
6836 2097, 2098, 2099, 2100, 2101, 2102, 2103, 2104, 2105, 2108,
6837 2110, 2110, 2119, 2121, 2123, 2129, 2135, 2141, 2141, 2155,
6838 2155, 2168, 2169, 2172, 2173, 2174, 2179, 2179, 2189, 2189,
6839 2199, 2200, 2201, 2206, 2207, 2208, 2209, 2210, 2211, 2212,
6840 2213, 2214, 2215, 2216, 2217, 2218, 2219, 2220, 2221, 2222,
6841 2223, 2224, 2225, 2226, 2227, 2228, 2229, 2232, 2232, 2241,
6842 2247, 2247, 2272, 2272, 2302, 2302, 2313, 2314, 2317, 2318,
6843 2319, 2324, 2324, 2333, 2333, 2342, 2343, 2346, 2347, 2348,
6844 2354, 2355, 2356, 2357, 2358, 2359, 2360, 2361, 2362, 2363,
6845 2364, 2365, 2366, 2367, 2368, 2371, 2371, 2380, 2380, 2389,
6846 2389, 2398, 2398, 2407, 2407, 2416, 2416, 2425, 2425, 2434,
6847 2434, 2443, 2443, 2452, 2452, 2461, 2461, 2475, 2475, 2486,
6848 2489, 2489, 2503, 2503, 2514, 2515, 2516, 2521, 2521, 2531,
6849 2532, 2535, 2536, 2537, 2542, 2543, 2544, 2545, 2546, 2547,
6850 2548, 2549, 2550, 2551, 2552, 2553, 2554, 2555, 2556, 2557,
6851 2558, 2561, 2563, 2563, 2572, 2572, 2582, 2588, 2596, 2604,
6852 2604, 2616, 2616, 2628, 2629, 2632, 2633, 2634, 2639, 2639,
6853 2647, 2648, 2649, 2654, 2655, 2656, 2657, 2658, 2659, 2660,
6854 2661, 2662, 2663, 2664, 2665, 2666, 2669, 2669, 2678, 2679,
6855 2680, 2683, 2683, 2693, 2693, 2703, 2709, 2715, 2715, 2726,
6856 2727, 2730, 2731, 2732, 2737, 2737, 2745, 2746, 2747, 2752,
6857 2753, 2754, 2755, 2756, 2759, 2759, 2770, 2770, 2783, 2784,
6858 2785, 2790, 2791, 2792, 2793, 2794, 2795, 2796, 2799, 2799,
6859 2807, 2810, 2810, 2819, 2819, 2828, 2828, 2839, 2840, 2843,
6860 2844, 2845, 2850, 2850, 2858, 2859, 2860, 2865, 2866, 2867,
6861 2868, 2869, 2870, 2871, 2874, 2874, 2883, 2883, 2894, 2894,
6862 2907, 2908, 2909, 2914, 2915, 2916, 2917, 2918, 2919, 2922,
6863 2928, 2928, 2937, 2943, 2943, 2953, 2953, 2966, 2966, 2976,
6864 2977, 2978, 2983, 2984, 2985, 2986, 2987, 2988, 2989, 2990,
6865 2991, 2992, 2993, 2996, 3002, 3002, 3011, 3017, 3017, 3026,
6866 3032, 3038, 3038, 3047, 3048, 3051, 3051, 3062, 3062, 3074,
6867 3074, 3084, 3085, 3086, 3092, 3093, 3096, 3096, 3107, 3115,
6868 3115, 3128, 3129, 3130, 3136, 3136, 3144, 3145, 3146, 3151,
6869 3152, 3153, 3154, 3155, 3156, 3157, 3160, 3166, 3166, 3175,
6870 3175, 3186, 3187, 3188, 3193, 3193, 3201, 3202, 3203, 3208,
6871 3209, 3210, 3211, 3212, 3215, 3215, 3224, 3230, 3236, 3242,
6872 3242, 3251, 3251, 3262, 3263, 3264, 3269, 3270, 3271, 3272,
6873 3273, 3276, 3282, 3288, 3294
6877 Dhcp4Parser::yy_stack_print_ ()
const
6879 *yycdebug_ <<
"Stack now";
6880 for (stack_type::const_iterator
6881 i = yystack_.begin (),
6882 i_end = yystack_.end ();
6884 *yycdebug_ <<
' ' << int (i->state);
6889 Dhcp4Parser::yy_reduce_print_ (
int yyrule)
const
6891 int yylno = yyrline_[yyrule];
6892 int yynrhs = yyr2_[yyrule];
6894 *yycdebug_ <<
"Reducing stack by rule " << yyrule - 1
6895 <<
" (line " << yylno <<
"):\n";
6897 for (
int yyi = 0; yyi < yynrhs; yyi++)
6899 yystack_[(yynrhs) - (yyi + 1)]);
6904#line 14 "dhcp4_parser.yy"
6906#line 6907 "dhcp4_parser.cc"
6908#line 3300 "dhcp4_parser.yy"
6913 const std::string& what)
6915 ctx.error(loc, what);
#define YYLLOC_DEFAULT(Current, Rhs, N)
#define YY_REDUCE_PRINT(Rule)
#define YY_SYMBOL_PRINT(Title, Symbol)
#define YY_CAST(Type, Val)
#define YY_MOVE_REF(Type)
Notes: IntElement type is changed to int64_t.
symbol_kind_type token() const YY_NOEXCEPT
context(const Dhcp4Parser &yyparser, const symbol_type &yyla)
const symbol_type & lookahead() const YY_NOEXCEPT
int expected_tokens(symbol_kind_type yyarg[], int yyargn) const
Put in YYARG at most YYARGN of the expected tokens, and return the number of tokens stored in YYARG.
T & emplace()
Instantiate an empty T in here.
T & as() YY_NOEXCEPT
Accessor to a built T.
virtual void error(const location_type &loc, const std::string &msg)
Report a syntax error.
virtual int parse()
Parse.
symbol_kind::symbol_kind_type symbol_kind_type
(Internal) symbol kind.
location location_type
Symbol locations.
static const symbol_kind_type YYNTOKENS
The number of tokens.
static std::string symbol_name(symbol_kind_type yysymbol)
The user-facing name of the symbol whose (internal) number is YYSYMBOL.
Dhcp4Parser(isc::dhcp::Parser4Context &ctx_yyarg)
Build a parser object.
Evaluation context, an interface to the expression evaluation.
void require(const std::string &name, isc::data::Element::Position open_loc, isc::data::Element::Position close_loc)
Check if a required parameter is present.
isc::data::Element::Position loc2pos(isc::dhcp::location &loc)
Converts bison's position to one understandable by isc::data::Element.
void leave()
Leave a syntactic context.
void unique(const std::string &name, isc::data::Element::Position loc)
Check if a parameter is already present.
void enter(const ParserContext &ctx)
Enter a new syntactic context.
void warning(const isc::dhcp::location &loc, const std::string &what)
Warning handler.
void warnAboutExtraCommas(const isc::dhcp::location &loc)
Warning for extra commas.
const std::string contextName()
Get the syntactic context name.
@ SUBNET4
Used while parsing Dhcp4/Subnet4 structures.
@ POOLS
Used while parsing Dhcp4/subnet4/pools structures.
@ CLIENT_CLASSES
Used while parsing Dhcp4/client-classes structures.
@ RESERVATIONS
Used while parsing Dhcp4/reservations structures.
@ HOSTS_DATABASE
Used while parsing Dhcp4/hosts-database[s] structures.
@ NCR_PROTOCOL
Used while parsing Dhcp4/dhcp-ddns/ncr-protocol.
@ LOGGERS
Used while parsing Dhcp4/loggers structures.
@ DATABASE_ON_FAIL
Used while parsing Dhcp4/*-database/on-fail.
@ NCR_FORMAT
Used while parsing Dhcp4/dhcp-ddns/ncr-format.
@ DDNS_CONFLICT_RESOLUTION_MODE
Used while parsing Dhcp4/ib-ddns-conflict-resolution-mode.
@ COMPATIBILITY
Used while parsing compatibility parameters.
@ OUTBOUND_INTERFACE
Used while parsing Dhcp4/interfaces/outbound-interface structures.
@ CONFIG
Used while parsing content of Dhcp4.
@ OUTPUT_OPTIONS
Used while parsing Dhcp4/loggers/output-options structures.
@ CONTROL_SOCKET
Used while parsing Dhcp4/control-socket structures.
@ DHCP_DDNS
Used while parsing Dhcp4/dhcp-ddns.
@ OPTION_DATA
Used while parsing Dhcp4/option-data, Dhcp4/subnet4/option-data or anywhere option-data is present (c...
@ AUTH_TYPE
Used while parsing Dhcp4/control-socket/authentication/type structures.
@ DHCP_MULTI_THREADING
Used while parsing Dhcp4/multi-threading structures.
@ LEASE_DATABASE
Used while parsing Dhcp4/lease-database structures.
@ SHARED_NETWORK
Used while parsing shared-networks structures.
@ EXPIRED_LEASES_PROCESSING
Used while parsing Dhcp4/expired-leases-processing.
@ CLIENTS
Used while parsing Dhcp4/control-socket/authentication/clients structures.
@ SANITY_CHECKS
Sanity checks.
@ CONFIG_CONTROL
Used while parsing Dhcp4/config-control.
@ INTERFACES_CONFIG
Used while parsing Dhcp4/interfaces structures.
@ HOST_RESERVATION_IDENTIFIERS
Used while parsing Dhcp4/host-reservation-identifiers.
@ CONTROL_SOCKET_TYPE
Used while parsing Dhcp4/control-socket/socket-type structures.
@ OPTION_DEF
Used while parsing Dhcp4/option-def structures.
@ CONFIG_DATABASE
Used while parsing config-control/config-databases.
@ NO_KEYWORD
This one is used in pure JSON mode.
@ HOOKS_LIBRARIES
Used while parsing Dhcp4/hooks-libraries.
@ DHCP_QUEUE_CONTROL
Used while parsing Dhcp4/dhcp-queue-control structures.
@ AUTHENTICATION
Used while parsing Dhcp4/control-socket/authentication structures.
@ REPLACE_CLIENT_NAME
Used while parsing Dhcp4/dhcp-ddns/replace-client-name.
@ RELAY
Used while parsing Dhcp4/subnet4relay structures.
@ DHCP_SOCKET_TYPE
Used while parsing Dhcp4/interfaces/dhcp-socket-type structures.
std::vector< isc::data::ElementPtr > stack_
JSON elements being parsed.
ParserContext ctx_
Current syntactic context.
Define the isc::dhcp::parser class.
void merge(ElementPtr element, ConstElementPtr other)
Merges the data from other into element.
boost::shared_ptr< const Element > ConstElementPtr
boost::shared_ptr< Element > ElementPtr
Defines the logger used by the top-level component of kea-lfc.
location_type location
The location.
value_type value
The semantic value.
bool empty() const YY_NOEXCEPT
Whether empty.
void move(basic_symbol &s)
Destructive move, s is emptied into this.
void clear() YY_NOEXCEPT
Destroy contents, and record that is empty.
symbol_kind_type kind() const YY_NOEXCEPT
The (internal) type number (corresponding to type).
symbol_kind_type kind_
The symbol kind.
@ S_control_socket_type_value
@ S_ddns_conflict_resolution_mode_value
@ S_ddns_replace_client_name_value
@ S_outbound_interface_value
"External" symbols: returned by the scanner.
Syntax errors thrown from user actions.
~syntax_error() YY_NOEXCEPT YY_NOTHROW