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 2218 "dhcp4_parser.yy"
3502#line 3503 "dhcp4_parser.cc"
3506#line 2221 "dhcp4_parser.yy"
3509 ctx.
stack_.back()->set(
"pool", pool);
3512#line 3513 "dhcp4_parser.cc"
3516#line 2227 "dhcp4_parser.yy"
3520 ctx.
stack_.back()->set(
"pool-id",
id);
3522#line 3523 "dhcp4_parser.cc"
3526#line 2233 "dhcp4_parser.yy"
3530#line 3531 "dhcp4_parser.cc"
3534#line 2235 "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 2258 "dhcp4_parser.yy"
3565#line 3566 "dhcp4_parser.cc"
3569#line 2260 "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 2288 "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 2294 "dhcp4_parser.yy"
3615#line 3616 "dhcp4_parser.cc"
3619#line 2305 "dhcp4_parser.yy"
3623#line 3624 "dhcp4_parser.cc"
3627#line 2310 "dhcp4_parser.yy"
3630 ctx.
stack_.back()->add(m);
3633#line 3634 "dhcp4_parser.cc"
3637#line 2314 "dhcp4_parser.yy"
3642#line 3643 "dhcp4_parser.cc"
3646#line 2319 "dhcp4_parser.yy"
3652#line 3653 "dhcp4_parser.cc"
3656#line 2323 "dhcp4_parser.yy"
3661#line 3662 "dhcp4_parser.cc"
3665#line 2334 "dhcp4_parser.yy"
3669#line 3670 "dhcp4_parser.cc"
3673#line 2357 "dhcp4_parser.yy"
3675 ctx.
unique(
"next-server", ctx.
loc2pos(yystack_[0].location));
3678#line 3679 "dhcp4_parser.cc"
3682#line 2360 "dhcp4_parser.yy"
3685 ctx.
stack_.back()->set(
"next-server", next_server);
3688#line 3689 "dhcp4_parser.cc"
3692#line 2366 "dhcp4_parser.yy"
3694 ctx.
unique(
"server-hostname", ctx.
loc2pos(yystack_[0].location));
3697#line 3698 "dhcp4_parser.cc"
3701#line 2369 "dhcp4_parser.yy"
3704 ctx.
stack_.back()->set(
"server-hostname", srv);
3707#line 3708 "dhcp4_parser.cc"
3711#line 2375 "dhcp4_parser.yy"
3713 ctx.
unique(
"boot-file-name", ctx.
loc2pos(yystack_[0].location));
3716#line 3717 "dhcp4_parser.cc"
3720#line 2378 "dhcp4_parser.yy"
3723 ctx.
stack_.back()->set(
"boot-file-name", bootfile);
3726#line 3727 "dhcp4_parser.cc"
3730#line 2384 "dhcp4_parser.yy"
3732 ctx.
unique(
"ip-address", ctx.
loc2pos(yystack_[0].location));
3735#line 3736 "dhcp4_parser.cc"
3739#line 2387 "dhcp4_parser.yy"
3742 ctx.
stack_.back()->set(
"ip-address", addr);
3745#line 3746 "dhcp4_parser.cc"
3749#line 2393 "dhcp4_parser.yy"
3754#line 3755 "dhcp4_parser.cc"
3758#line 2396 "dhcp4_parser.yy"
3761 ctx.
stack_.back()->set(
"duid", d);
3764#line 3765 "dhcp4_parser.cc"
3768#line 2402 "dhcp4_parser.yy"
3770 ctx.
unique(
"hw-address", ctx.
loc2pos(yystack_[0].location));
3773#line 3774 "dhcp4_parser.cc"
3777#line 2405 "dhcp4_parser.yy"
3780 ctx.
stack_.back()->set(
"hw-address", hw);
3783#line 3784 "dhcp4_parser.cc"
3787#line 2411 "dhcp4_parser.yy"
3792#line 3793 "dhcp4_parser.cc"
3796#line 2414 "dhcp4_parser.yy"
3799 ctx.
stack_.back()->set(
"client-id", hw);
3802#line 3803 "dhcp4_parser.cc"
3806#line 2420 "dhcp4_parser.yy"
3808 ctx.
unique(
"circuit-id", ctx.
loc2pos(yystack_[0].location));
3811#line 3812 "dhcp4_parser.cc"
3815#line 2423 "dhcp4_parser.yy"
3818 ctx.
stack_.back()->set(
"circuit-id", hw);
3821#line 3822 "dhcp4_parser.cc"
3825#line 2429 "dhcp4_parser.yy"
3830#line 3831 "dhcp4_parser.cc"
3834#line 2432 "dhcp4_parser.yy"
3837 ctx.
stack_.back()->set(
"flex-id", hw);
3840#line 3841 "dhcp4_parser.cc"
3844#line 2438 "dhcp4_parser.yy"
3849#line 3850 "dhcp4_parser.cc"
3853#line 2441 "dhcp4_parser.yy"
3856 ctx.
stack_.back()->set(
"hostname", host);
3859#line 3860 "dhcp4_parser.cc"
3863#line 2447 "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 2453 "dhcp4_parser.yy"
3880#line 3881 "dhcp4_parser.cc"
3884#line 2461 "dhcp4_parser.yy"
3888 ctx.
stack_.back()->set(
"relay", m);
3892#line 3893 "dhcp4_parser.cc"
3896#line 2467 "dhcp4_parser.yy"
3901#line 3902 "dhcp4_parser.cc"
3905#line 2475 "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 2481 "dhcp4_parser.yy"
3922#line 3923 "dhcp4_parser.cc"
3926#line 2489 "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 2495 "dhcp4_parser.yy"
3943#line 3944 "dhcp4_parser.cc"
3947#line 2502 "dhcp4_parser.yy"
3951#line 3952 "dhcp4_parser.cc"
3955#line 2507 "dhcp4_parser.yy"
3958 ctx.
stack_.back()->add(m);
3961#line 3962 "dhcp4_parser.cc"
3965#line 2511 "dhcp4_parser.yy"
3971#line 3972 "dhcp4_parser.cc"
3975#line 2523 "dhcp4_parser.yy"
3979#line 3980 "dhcp4_parser.cc"
3983#line 2549 "dhcp4_parser.yy"
3988#line 3989 "dhcp4_parser.cc"
3992#line 2552 "dhcp4_parser.yy"
3995 ctx.
stack_.back()->set(
"test", test);
3998#line 3999 "dhcp4_parser.cc"
4002#line 2558 "dhcp4_parser.yy"
4004 ctx.
unique(
"template-test", ctx.
loc2pos(yystack_[0].location));
4007#line 4008 "dhcp4_parser.cc"
4011#line 2561 "dhcp4_parser.yy"
4014 ctx.
stack_.back()->set(
"template-test", template_test);
4017#line 4018 "dhcp4_parser.cc"
4021#line 2568 "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 2574 "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 2582 "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 2590 "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 2597 "dhcp4_parser.yy"
4069#line 4070 "dhcp4_parser.cc"
4073#line 2602 "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 2609 "dhcp4_parser.yy"
4091#line 4092 "dhcp4_parser.cc"
4095#line 2620 "dhcp4_parser.yy"
4099#line 4100 "dhcp4_parser.cc"
4103#line 2625 "dhcp4_parser.yy"
4106 ctx.
stack_.back()->add(m);
4109#line 4110 "dhcp4_parser.cc"
4113#line 2629 "dhcp4_parser.yy"
4117#line 4118 "dhcp4_parser.cc"
4121#line 2635 "dhcp4_parser.yy"
4125#line 4126 "dhcp4_parser.cc"
4129#line 2655 "dhcp4_parser.yy"
4131 ctx.
unique(
"socket-type", ctx.
loc2pos(yystack_[0].location));
4134#line 4135 "dhcp4_parser.cc"
4138#line 2658 "dhcp4_parser.yy"
4140 ctx.
stack_.back()->set(
"socket-type", yystack_[0].value.as <
ElementPtr > ());
4143#line 4144 "dhcp4_parser.cc"
4147#line 2664 "dhcp4_parser.yy"
4149#line 4150 "dhcp4_parser.cc"
4153#line 2665 "dhcp4_parser.yy"
4155#line 4156 "dhcp4_parser.cc"
4159#line 2666 "dhcp4_parser.yy"
4161#line 4162 "dhcp4_parser.cc"
4165#line 2669 "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 2673 "dhcp4_parser.yy"
4178 ctx.
stack_.back()->set(
"socket-name", name);
4181#line 4182 "dhcp4_parser.cc"
4185#line 2679 "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 2683 "dhcp4_parser.yy"
4198 ctx.
stack_.back()->set(
"socket-address", address);
4201#line 4202 "dhcp4_parser.cc"
4205#line 2689 "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 2695 "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 2701 "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 2707 "dhcp4_parser.yy"
4242#line 4243 "dhcp4_parser.cc"
4246#line 2718 "dhcp4_parser.yy"
4250#line 4251 "dhcp4_parser.cc"
4254#line 2723 "dhcp4_parser.yy"
4257 ctx.
stack_.back()->add(m);
4260#line 4261 "dhcp4_parser.cc"
4264#line 2727 "dhcp4_parser.yy"
4268#line 4269 "dhcp4_parser.cc"
4272#line 2733 "dhcp4_parser.yy"
4276#line 4277 "dhcp4_parser.cc"
4280#line 2745 "dhcp4_parser.yy"
4285#line 4286 "dhcp4_parser.cc"
4289#line 2748 "dhcp4_parser.yy"
4292 ctx.
stack_.back()->set(
"value", value);
4295#line 4296 "dhcp4_parser.cc"
4299#line 2756 "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 2762 "dhcp4_parser.yy"
4318#line 4319 "dhcp4_parser.cc"
4322#line 2771 "dhcp4_parser.yy"
4326#line 4327 "dhcp4_parser.cc"
4330#line 2785 "dhcp4_parser.yy"
4335#line 4336 "dhcp4_parser.cc"
4339#line 2788 "dhcp4_parser.yy"
4344#line 4345 "dhcp4_parser.cc"
4348#line 2793 "dhcp4_parser.yy"
4350#line 4351 "dhcp4_parser.cc"
4354#line 2796 "dhcp4_parser.yy"
4359#line 4360 "dhcp4_parser.cc"
4363#line 2799 "dhcp4_parser.yy"
4366 ctx.
stack_.back()->set(
"realm", realm);
4369#line 4370 "dhcp4_parser.cc"
4373#line 2805 "dhcp4_parser.yy"
4378#line 4379 "dhcp4_parser.cc"
4382#line 2808 "dhcp4_parser.yy"
4385 ctx.
stack_.back()->set(
"directory", directory);
4388#line 4389 "dhcp4_parser.cc"
4392#line 2814 "dhcp4_parser.yy"
4396 ctx.
stack_.back()->set(
"clients", l);
4400#line 4401 "dhcp4_parser.cc"
4404#line 2820 "dhcp4_parser.yy"
4409#line 4410 "dhcp4_parser.cc"
4413#line 2831 "dhcp4_parser.yy"
4417#line 4418 "dhcp4_parser.cc"
4421#line 2836 "dhcp4_parser.yy"
4424 ctx.
stack_.back()->add(m);
4427#line 4428 "dhcp4_parser.cc"
4431#line 2840 "dhcp4_parser.yy"
4435#line 4436 "dhcp4_parser.cc"
4439#line 2846 "dhcp4_parser.yy"
4443#line 4444 "dhcp4_parser.cc"
4447#line 2860 "dhcp4_parser.yy"
4452#line 4453 "dhcp4_parser.cc"
4456#line 2863 "dhcp4_parser.yy"
4459 ctx.
stack_.back()->set(
"user-file", user);
4462#line 4463 "dhcp4_parser.cc"
4466#line 2869 "dhcp4_parser.yy"
4468 ctx.
unique(
"password-file", ctx.
loc2pos(yystack_[0].location));
4471#line 4472 "dhcp4_parser.cc"
4475#line 2872 "dhcp4_parser.yy"
4478 ctx.
stack_.back()->set(
"password-file", password);
4481#line 4482 "dhcp4_parser.cc"
4485#line 2880 "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 2886 "dhcp4_parser.yy"
4504#line 4505 "dhcp4_parser.cc"
4508#line 2895 "dhcp4_parser.yy"
4512#line 4513 "dhcp4_parser.cc"
4516#line 2908 "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 2914 "dhcp4_parser.yy"
4528 ctx.
unique(
"queue-type", ctx.
loc2pos(yystack_[0].location));
4531#line 4532 "dhcp4_parser.cc"
4535#line 2917 "dhcp4_parser.yy"
4538 ctx.
stack_.back()->set(
"queue-type", qt);
4541#line 4542 "dhcp4_parser.cc"
4545#line 2923 "dhcp4_parser.yy"
4549 ctx.
stack_.back()->set(
"capacity", c);
4551#line 4552 "dhcp4_parser.cc"
4555#line 2929 "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 2932 "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 2939 "dhcp4_parser.yy"
4577 ctx.
stack_.back()->set(
"dhcp-ddns", m);
4581#line 4582 "dhcp4_parser.cc"
4585#line 2945 "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 2952 "dhcp4_parser.yy"
4602#line 4603 "dhcp4_parser.cc"
4606#line 2956 "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 2964 "dhcp4_parser.yy"
4620#line 4621 "dhcp4_parser.cc"
4624#line 2982 "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 2988 "dhcp4_parser.yy"
4639#line 4640 "dhcp4_parser.cc"
4643#line 2991 "dhcp4_parser.yy"
4646 ctx.
stack_.back()->set(
"server-ip", s);
4649#line 4650 "dhcp4_parser.cc"
4653#line 2997 "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 3003 "dhcp4_parser.yy"
4668#line 4669 "dhcp4_parser.cc"
4672#line 3006 "dhcp4_parser.yy"
4675 ctx.
stack_.back()->set(
"sender-ip", s);
4678#line 4679 "dhcp4_parser.cc"
4682#line 3012 "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 3018 "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 3024 "dhcp4_parser.yy"
4704 ctx.
unique(
"ncr-protocol", ctx.
loc2pos(yystack_[0].location));
4707#line 4708 "dhcp4_parser.cc"
4711#line 3027 "dhcp4_parser.yy"
4713 ctx.
stack_.back()->set(
"ncr-protocol", yystack_[0].value.as <
ElementPtr > ());
4716#line 4717 "dhcp4_parser.cc"
4720#line 3033 "dhcp4_parser.yy"
4722#line 4723 "dhcp4_parser.cc"
4726#line 3034 "dhcp4_parser.yy"
4728#line 4729 "dhcp4_parser.cc"
4732#line 3037 "dhcp4_parser.yy"
4734 ctx.
unique(
"ncr-format", ctx.
loc2pos(yystack_[0].location));
4737#line 4738 "dhcp4_parser.cc"
4741#line 3040 "dhcp4_parser.yy"
4744 ctx.
stack_.back()->set(
"ncr-format", json);
4747#line 4748 "dhcp4_parser.cc"
4751#line 3048 "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 3054 "dhcp4_parser.yy"
4769#line 4770 "dhcp4_parser.cc"
4773#line 3060 "dhcp4_parser.yy"
4779#line 4780 "dhcp4_parser.cc"
4783#line 3064 "dhcp4_parser.yy"
4788#line 4789 "dhcp4_parser.cc"
4792#line 3072 "dhcp4_parser.yy"
4796#line 4797 "dhcp4_parser.cc"
4800#line 3082 "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 3088 "dhcp4_parser.yy"
4817#line 4818 "dhcp4_parser.cc"
4821#line 3093 "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 3101 "dhcp4_parser.yy"
4835 ctx.
stack_.back()->set(
"loggers", l);
4839#line 4840 "dhcp4_parser.cc"
4843#line 3107 "dhcp4_parser.yy"
4848#line 4849 "dhcp4_parser.cc"
4852#line 3116 "dhcp4_parser.yy"
4856#line 4857 "dhcp4_parser.cc"
4860#line 3122 "dhcp4_parser.yy"
4863 ctx.
stack_.back()->add(l);
4866#line 4867 "dhcp4_parser.cc"
4870#line 3126 "dhcp4_parser.yy"
4874#line 4875 "dhcp4_parser.cc"
4878#line 3132 "dhcp4_parser.yy"
4882#line 4883 "dhcp4_parser.cc"
4886#line 3146 "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 3152 "dhcp4_parser.yy"
4901#line 4902 "dhcp4_parser.cc"
4905#line 3155 "dhcp4_parser.yy"
4908 ctx.
stack_.back()->set(
"severity", sev);
4911#line 4912 "dhcp4_parser.cc"
4915#line 3161 "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 3167 "dhcp4_parser.yy"
4932#line 4933 "dhcp4_parser.cc"
4936#line 3174 "dhcp4_parser.yy"
4940#line 4941 "dhcp4_parser.cc"
4944#line 3179 "dhcp4_parser.yy"
4947 ctx.
stack_.back()->add(m);
4950#line 4951 "dhcp4_parser.cc"
4954#line 3183 "dhcp4_parser.yy"
4958#line 4959 "dhcp4_parser.cc"
4962#line 3189 "dhcp4_parser.yy"
4966#line 4967 "dhcp4_parser.cc"
4970#line 3201 "dhcp4_parser.yy"
4975#line 4976 "dhcp4_parser.cc"
4979#line 3204 "dhcp4_parser.yy"
4982 ctx.
stack_.back()->set(
"output", sev);
4985#line 4986 "dhcp4_parser.cc"
4989#line 3210 "dhcp4_parser.yy"
4993 ctx.
stack_.back()->set(
"flush", flush);
4995#line 4996 "dhcp4_parser.cc"
4999#line 3216 "dhcp4_parser.yy"
5003 ctx.
stack_.back()->set(
"maxsize", maxsize);
5005#line 5006 "dhcp4_parser.cc"
5009#line 3222 "dhcp4_parser.yy"
5013 ctx.
stack_.back()->set(
"maxver", maxver);
5015#line 5016 "dhcp4_parser.cc"
5019#line 3228 "dhcp4_parser.yy"
5024#line 5025 "dhcp4_parser.cc"
5028#line 3231 "dhcp4_parser.yy"
5031 ctx.
stack_.back()->set(
"pattern", sev);
5034#line 5035 "dhcp4_parser.cc"
5038#line 3237 "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 3243 "dhcp4_parser.yy"
5055#line 5056 "dhcp4_parser.cc"
5059#line 3250 "dhcp4_parser.yy"
5063#line 5064 "dhcp4_parser.cc"
5067#line 3262 "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 3268 "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 3274 "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 3280 "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_ = -1393;
5461 const signed char Dhcp4Parser::yytable_ninf_ = -1;
5464 Dhcp4Parser::yypact_[] =
5466 664, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393,
5467 -1393, -1393, -1393, -1393, 57, 39, 83, 123, 129, 133,
5468 140, 142, 153, 169, 175, 199, 201, 211, -1393, -1393,
5469 -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393,
5470 -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393,
5471 -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393,
5472 -1393, -1393, -1393, -1393, 39, -147, 95, 166, 72, 713,
5473 536, 581, -2, 238, 558, -96, 574, 68, -1393, 105,
5474 190, 225, 252, 255, -1393, 46, -1393, -1393, -1393, -1393,
5475 308, 309, 321, -1393, -1393, -1393, 325, 342, -1393, -1393,
5476 -1393, 359, 369, 376, 379, 390, 413, 424, 425, 427,
5477 442, 443, -1393, 465, 466, 469, 479, 481, -1393, -1393,
5478 -1393, 484, 485, 487, 488, 489, 491, 492, -1393, -1393,
5479 -1393, 495, -1393, -1393, -1393, -1393, -1393, 497, 499, 502,
5480 -1393, -1393, -1393, -1393, -1393, 504, -1393, -1393, -1393, -1393,
5481 -1393, -1393, -1393, 508, 511, 514, -1393, -1393, 515, -1393,
5482 52, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393,
5483 -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393,
5484 -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393,
5485 -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393,
5486 -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393,
5487 -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393,
5488 -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393,
5489 -1393, -1393, -1393, -1393, -1393, -1393, 517, 518, 520, 522,
5490 -1393, 111, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393,
5491 -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393, 523, -1393,
5492 -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393,
5493 -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393,
5494 -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393,
5495 -1393, -1393, -1393, -1393, -1393, 118, -1393, -1393, -1393, -1393,
5496 -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393,
5497 -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393,
5498 528, -1393, -1393, -1393, -1393, -1393, -1393, 119, -1393, -1393,
5499 -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393,
5500 -1393, -1393, -1393, -1393, -1393, 271, 388, -1393, -1393, -1393,
5501 -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393, 525,
5502 -1393, -1393, 530, -1393, -1393, -1393, 532, -1393, -1393, 529,
5503 535, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393,
5504 -1393, -1393, -1393, -1393, 537, 538, 540, -1393, -1393, -1393,
5505 -1393, -1393, 531, 543, -1393, -1393, -1393, -1393, -1393, -1393,
5506 -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393, 121, -1393,
5507 -1393, -1393, 544, -1393, 550, -1393, 552, 555, -1393, -1393,
5508 -1393, -1393, -1393, 134, -1393, -1393, -1393, -1393, -1393, -1393,
5509 -1393, -1393, -1393, -1393, 557, 136, -1393, -1393, -1393, -1393,
5510 39, 39, -1393, 132, 559, -1393, -1393, 560, 561, 562,
5511 329, 334, 335, 565, 567, 570, 347, 343, 575, 576,
5512 577, 351, 356, 357, 360, 361, 362, 365, 367, 368,
5513 363, 371, 585, 372, 374, 377, 389, 392, 603, 605,
5514 608, 394, 397, 401, 404, 406, 407, 410, 616, 636,
5515 641, 416, 644, 645, 646, 647, 662, 435, 438, 440,
5516 670, 674, 675, 676, 677, 451, 679, 681, 682, 683,
5517 684, 685, 689, 461, 462, 463, 693, 696, -1393, 166,
5518 -1393, 697, 700, 701, 475, 476, 480, 482, 72, -1393,
5519 708, 710, 711, 712, 720, 723, 500, 726, 728, 729,
5520 730, 731, 713, -1393, 732, 507, 536, -1393, 735, 736,
5521 737, 738, 745, 746, 747, 748, -1393, 581, -1393, 749,
5522 750, 524, 752, 753, 763, 541, -1393, 238, 764, 554,
5523 556, 579, 765, -1393, 558, 766, 767, 139, -1393, 580,
5524 786, 583, 804, 584, 586, 806, 812, 574, -1393, 814,
5525 588, 68, -1393, -1393, -1393, 816, 818, 819, 820, 822,
5526 -1393, -1393, -1393, 593, 594, 612, -1393, -1393, 831, 836,
5527 839, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393,
5528 -1393, -1393, 615, -1393, -1393, -1393, -1393, -1393, -127, 617,
5529 619, -1393, -1393, -1393, -1393, -1393, -1393, -1393, 845, 846,
5530 847, -1393, 623, 345, 849, 848, 642, -1393, -1393, -1393,
5531 868, 869, 889, 890, 891, -1393, 892, 893, 896, 895,
5532 897, 666, 667, -1393, -1393, -1393, 898, 899, -1393, 900,
5533 250, 285, -1393, -1393, -1393, -1393, -1393, 678, 680, 686,
5534 902, 687, 688, -1393, 900, 900, 900, 690, 906, -1393,
5535 691, -1393, -1393, 900, 692, 694, 695, 698, 699, 702,
5536 703, -1393, 704, 705, -1393, 706, 707, 709, -1393, -1393,
5537 714, -1393, -1393, -1393, 900, -1393, 715, 848, -1393, -1393,
5538 716, -1393, 717, -1393, -1393, 18, 722, -1393, 904, -1393,
5539 -1393, 39, 166, 68, 72, 326, -1393, -1393, -1393, 817,
5540 817, 912, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393,
5541 -1393, 916, 919, 920, -1393, -1393, -1393, -1393, -1393, -1393,
5542 923, -1393, -1393, -1393, 237, 924, 931, 933, 248, 200,
5543 47, 934, 230, 574, -1393, -1393, 935, -98, -1393, -1393,
5544 -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393, 941,
5545 -1393, -1393, -1393, -1393, -1393, -1393, 805, -1393, -1393, -1393,
5546 -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393,
5547 -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393,
5548 -1393, 912, -1393, 154, 164, 167, -1393, -1393, 171, -1393,
5549 -1393, -1393, -1393, -1393, -1393, -1393, 946, 947, 948, 949,
5550 950, 951, 952, 953, 954, 955, -1393, 956, 957, -1393,
5551 -1393, -1393, -1393, -1393, 180, -1393, -1393, -1393, -1393, -1393,
5552 -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393,
5553 -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393, 204, -1393,
5554 958, 959, -1393, -1393, 960, 962, -1393, -1393, 961, 965,
5555 -1393, -1393, 963, 967, -1393, -1393, 966, 968, -1393, -1393,
5556 -1393, -1393, -1393, -1393, 55, -1393, -1393, -1393, -1393, -1393,
5557 -1393, -1393, 86, -1393, -1393, 969, 970, -1393, -1393, 971,
5558 975, -1393, 976, 977, 980, 984, 987, 988, 214, -1393,
5559 -1393, -1393, -1393, -1393, -1393, -1393, 994, 996, 997, -1393,
5560 217, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393,
5561 999, -1393, 1002, -1393, -1393, -1393, -1393, -1393, -1393, -1393,
5562 218, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393,
5563 1001, 1011, -1393, 1014, -1393, 1020, -1393, -1393, -1393, 256,
5564 -1393, -1393, -1393, -1393, -1393, 273, -1393, 98, -1393, 1023,
5565 1025, 1028, 1033, -1393, 279, -1393, -1393, -1393, -1393, -1393,
5566 733, -1393, 1034, 1038, -1393, -1393, 1040, -1393, 1055, -1393,
5567 -1393, -1393, 1058, 1060, 326, -1393, 1065, 1066, 1067, 1073,
5568 743, 871, 851, 877, 907, 917, 922, 926, 927, 928,
5569 1075, 929, 930, 1146, 1151, 1156, 1159, 817, -1393, -1393,
5570 817, -1393, 912, 713, -1393, 916, 238, -1393, 919, 558,
5571 -1393, 920, 354, -1393, 923, 237, -1393, 275, 924, -1393,
5572 581, -1393, 931, -96, -1393, 933, 936, 937, 938, 939,
5573 940, 942, 248, -1393, 932, 943, 944, 200, -1393, 1160,
5574 1162, 1168, 945, 1173, 964, 1174, 47, -1393, 47, -1393,
5575 934, 972, 1175, 973, 1176, 230, -1393, -1393, -52, 935,
5576 -1393, 974, 978, 979, 981, -98, -1393, -1393, 1177, 1179,
5577 536, -1393, 941, 1180, -1393, -1393, 983, 985, -1393, 986,
5578 989, 990, 991, -1393, -1393, -1393, -1393, -1393, -1393, -1393,
5579 -1393, -1393, -1393, 358, -1393, -1393, 992, 993, 995, 998,
5580 -1393, 290, -1393, 291, -1393, 1178, -1393, 1181, -1393, -1393,
5581 -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393,
5582 -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393,
5583 -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393,
5584 -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393,
5585 292, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393,
5586 -1393, -1393, -1393, 1183, 1184, -1393, -1393, -1393, -1393, -1393,
5587 -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393, 1182, 1188,
5588 -1393, -1393, -1393, -1393, -1393, -1393, -1393, 1185, -1393, 312,
5589 -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393,
5590 -1393, -1393, 302, 1000, 1003, -1393, 1187, -1393, 1190, -1393,
5591 316, -1393, -1393, 1004, -1393, 39, -1393, -1393, 1194, -1393,
5592 -1393, -1393, -1393, -1393, 320, -1393, -1393, -1393, -1393, -1393,
5593 -1393, -1393, -1393, -1393, -1393, -1393, 1006, 387, -1393, 900,
5594 -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393,
5595 -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393, 354, -1393,
5596 1195, 1196, 1007, 1008, -1393, 275, -1393, -1393, -1393, -1393,
5597 -1393, -1393, -1393, -1393, 179, 1199, -1393, -1393, -1393, 1197,
5598 1012, 1198, -52, -1393, -1393, -1393, -1393, -1393, 1009, 1016,
5599 -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393,
5600 400, -1393, -1393, -1393, -1393, -1393, -1393, 1186, 1200, -1393,
5601 1203, -1393, 1018, -1393, -1393, -1393, 1205, 1206, 1213, 1214,
5602 179, -1393, -19, -1393, 1199, 1217, -1393, 1015, 1019, 1021,
5603 1221, -1393, -1393, -1393, -1393, -1393, -1393, 445, -1393, -1393,
5604 -1393, -1393, 188, -1393, -1393, -1393, -1393, -1393, 1220, 1225,
5605 -19, -1393, -24, 1217, -1393, -1393, 1226, 1234, -1393, 1022,
5606 -1393, -1393, 1240, 1249, 1252, -1393, 446, -1393, -1393, -1393,
5607 -1393, -1393, -1393, -1393, 186, -1393, 1220, -1393, 1254, 1027,
5608 1031, 1032, 1260, -24, -1393, -1393, -1393, -1393, -1393, -1393,
5609 -1393, -1393, 456, -1393, -1393, -1393, -1393, 1035, -1393, -1393,
5610 -1393, 1037, -1393, 1264, 1267, 186, -1393, -1393, -1393, 1044,
5611 1045, -1393, -1393, -1393
5615 Dhcp4Parser::yydefact_[] =
5617 0, 2, 4, 6, 8, 10, 12, 14, 16, 18,
5618 20, 22, 24, 26, 0, 0, 0, 0, 0, 0,
5619 0, 0, 0, 0, 0, 0, 0, 0, 1, 44,
5620 36, 32, 31, 28, 29, 30, 35, 3, 33, 34,
5621 59, 5, 65, 7, 214, 9, 391, 11, 618, 13,
5622 649, 15, 533, 17, 542, 19, 581, 21, 353, 23,
5623 853, 25, 885, 27, 46, 39, 0, 0, 0, 0,
5624 0, 651, 0, 544, 583, 0, 0, 0, 48, 0,
5625 47, 0, 0, 40, 61, 0, 63, 883, 199, 232,
5626 0, 0, 0, 671, 673, 675, 0, 0, 230, 243,
5627 245, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5628 0, 0, 153, 0, 0, 0, 0, 0, 164, 171,
5629 173, 0, 0, 0, 0, 0, 0, 0, 382, 531,
5630 572, 0, 156, 177, 471, 636, 638, 0, 0, 0,
5631 315, 698, 640, 344, 365, 0, 330, 735, 737, 834,
5632 851, 187, 189, 0, 0, 0, 895, 937, 0, 141,
5633 0, 67, 70, 71, 72, 73, 74, 108, 109, 110,
5634 111, 112, 75, 104, 137, 138, 93, 94, 95, 116,
5635 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
5636 127, 128, 114, 115, 129, 130, 131, 133, 134, 135,
5637 139, 140, 78, 79, 101, 80, 81, 82, 132, 86,
5638 87, 76, 105, 106, 107, 77, 84, 85, 99, 100,
5639 102, 96, 97, 98, 83, 88, 89, 90, 91, 92,
5640 103, 113, 136, 216, 218, 222, 0, 0, 0, 0,
5641 213, 0, 201, 204, 205, 206, 207, 208, 209, 210,
5642 211, 212, 451, 453, 455, 609, 449, 457, 0, 461,
5643 463, 465, 459, 693, 448, 396, 397, 398, 399, 400,
5644 425, 426, 427, 428, 429, 446, 415, 416, 430, 431,
5645 432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
5646 442, 443, 444, 445, 447, 0, 393, 403, 420, 421,
5647 422, 404, 406, 407, 408, 409, 411, 412, 413, 405,
5648 401, 402, 423, 424, 410, 417, 418, 419, 414, 633,
5649 0, 632, 626, 627, 628, 629, 625, 0, 620, 623,
5650 624, 630, 631, 691, 677, 679, 681, 685, 683, 689,
5651 687, 670, 664, 668, 669, 0, 652, 653, 665, 666,
5652 667, 661, 656, 662, 658, 659, 660, 663, 657, 0,
5653 562, 289, 0, 566, 564, 569, 0, 558, 559, 0,
5654 545, 546, 549, 561, 550, 551, 552, 568, 553, 554,
5655 555, 556, 557, 600, 0, 0, 0, 607, 598, 599,
5656 602, 603, 0, 584, 585, 588, 589, 590, 591, 592,
5657 593, 594, 597, 595, 596, 361, 363, 358, 0, 355,
5658 359, 360, 0, 870, 0, 873, 0, 0, 877, 881,
5659 868, 866, 867, 0, 855, 858, 859, 860, 861, 862,
5660 863, 864, 865, 892, 0, 0, 887, 890, 891, 45,
5661 50, 0, 37, 43, 0, 64, 60, 0, 0, 0,
5662 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5663 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5664 0, 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, 58, 69,
5669 66, 0, 0, 0, 0, 0, 0, 0, 203, 215,
5670 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5671 0, 0, 395, 392, 0, 0, 622, 619, 0, 0,
5672 0, 0, 0, 0, 0, 0, 650, 655, 534, 0,
5673 0, 0, 0, 0, 0, 0, 543, 548, 0, 0,
5674 0, 0, 0, 582, 587, 0, 0, 357, 354, 0,
5675 0, 0, 0, 0, 0, 0, 0, 857, 854, 0,
5676 0, 889, 886, 49, 41, 0, 0, 0, 0, 0,
5677 158, 159, 160, 0, 0, 0, 197, 198, 0, 0,
5678 0, 142, 143, 144, 145, 146, 147, 148, 149, 150,
5679 151, 152, 0, 192, 193, 161, 162, 163, 0, 0,
5680 0, 175, 176, 183, 184, 185, 186, 191, 0, 0,
5681 0, 155, 0, 0, 0, 0, 0, 467, 468, 469,
5682 0, 0, 0, 0, 0, 734, 0, 0, 0, 0,
5683 0, 0, 0, 194, 195, 196, 0, 0, 68, 0,
5684 0, 0, 226, 227, 228, 229, 202, 0, 0, 0,
5685 0, 0, 0, 470, 0, 0, 0, 0, 0, 394,
5686 0, 635, 621, 0, 0, 0, 0, 0, 0, 0,
5687 0, 654, 0, 0, 560, 0, 0, 0, 571, 547,
5688 0, 604, 605, 606, 0, 586, 0, 0, 356, 869,
5689 0, 872, 0, 875, 876, 0, 0, 856, 0, 894,
5690 888, 0, 0, 0, 0, 0, 672, 674, 676, 0,
5691 0, 247, 154, 166, 167, 168, 169, 170, 165, 172,
5692 174, 384, 535, 574, 157, 179, 180, 181, 182, 178,
5693 473, 38, 637, 639, 0, 0, 642, 346, 0, 0,
5694 0, 739, 0, 0, 188, 190, 0, 0, 51, 217,
5695 220, 221, 219, 224, 225, 223, 452, 454, 456, 611,
5696 450, 458, 462, 464, 466, 460, 0, 634, 692, 678,
5697 680, 682, 686, 684, 690, 688, 563, 290, 567, 565,
5698 570, 601, 608, 362, 364, 871, 874, 879, 880, 878,
5699 882, 247, 42, 0, 0, 0, 239, 241, 0, 234,
5700 237, 238, 280, 282, 284, 286, 0, 0, 0, 0,
5701 0, 0, 0, 0, 0, 0, 300, 0, 0, 307,
5702 309, 311, 313, 279, 0, 254, 257, 258, 259, 260,
5703 261, 262, 263, 264, 265, 266, 267, 268, 269, 270,
5704 271, 272, 273, 274, 275, 276, 277, 278, 0, 252,
5705 0, 248, 249, 389, 0, 385, 386, 540, 0, 536,
5706 537, 579, 0, 575, 576, 478, 0, 474, 475, 325,
5707 326, 327, 328, 329, 0, 317, 320, 321, 322, 323,
5708 324, 703, 0, 700, 647, 0, 643, 644, 351, 0,
5709 347, 348, 0, 0, 0, 0, 0, 0, 0, 367,
5710 370, 371, 372, 373, 374, 375, 0, 0, 0, 340,
5711 0, 332, 335, 336, 337, 338, 339, 762, 767, 769,
5712 0, 792, 0, 773, 761, 754, 755, 756, 759, 760,
5713 0, 746, 749, 750, 751, 752, 757, 758, 753, 744,
5714 0, 740, 741, 0, 846, 0, 849, 842, 843, 0,
5715 836, 839, 840, 841, 844, 0, 900, 0, 897, 0,
5716 0, 0, 0, 946, 0, 939, 942, 943, 944, 945,
5717 53, 616, 0, 612, 613, 696, 0, 695, 0, 62,
5718 884, 200, 0, 0, 236, 233, 0, 0, 0, 0,
5719 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5720 0, 0, 0, 0, 0, 0, 0, 256, 231, 244,
5721 0, 246, 251, 0, 383, 388, 544, 532, 539, 583,
5722 573, 578, 0, 472, 477, 319, 316, 705, 702, 699,
5723 651, 641, 646, 0, 345, 350, 0, 0, 0, 0,
5724 0, 0, 369, 366, 0, 0, 0, 334, 331, 0,
5725 0, 0, 0, 0, 0, 0, 748, 736, 0, 738,
5726 743, 0, 0, 0, 0, 838, 835, 852, 0, 899,
5727 896, 0, 0, 0, 0, 941, 938, 55, 0, 54,
5728 0, 610, 615, 0, 694, 893, 0, 0, 235, 0,
5729 0, 0, 0, 288, 291, 292, 293, 294, 295, 296,
5730 297, 298, 299, 0, 305, 306, 0, 0, 0, 0,
5731 255, 0, 250, 0, 387, 0, 538, 0, 577, 530,
5732 502, 503, 504, 486, 487, 507, 508, 509, 510, 511,
5733 528, 489, 490, 512, 513, 514, 515, 516, 517, 518,
5734 519, 520, 521, 522, 523, 524, 525, 526, 527, 529,
5735 483, 484, 485, 498, 499, 500, 501, 495, 496, 497,
5736 0, 480, 488, 505, 506, 491, 492, 493, 494, 476,
5737 318, 728, 730, 0, 0, 722, 723, 724, 725, 726,
5738 727, 715, 716, 720, 721, 717, 718, 719, 0, 706,
5739 707, 710, 711, 712, 713, 714, 701, 0, 645, 0,
5740 349, 376, 377, 378, 379, 380, 381, 368, 341, 342,
5741 343, 333, 0, 0, 0, 771, 0, 772, 0, 747,
5742 0, 742, 845, 0, 848, 0, 837, 915, 0, 913,
5743 911, 905, 909, 910, 0, 902, 907, 908, 906, 898,
5744 947, 948, 949, 950, 940, 52, 57, 0, 614, 0,
5745 240, 242, 281, 283, 285, 287, 302, 303, 304, 301,
5746 308, 310, 312, 314, 253, 390, 541, 580, 482, 479,
5747 0, 0, 0, 0, 704, 709, 648, 352, 764, 765,
5748 766, 763, 768, 770, 0, 775, 745, 847, 850, 0,
5749 0, 0, 904, 901, 56, 617, 697, 481, 0, 0,
5750 732, 733, 708, 804, 807, 809, 811, 803, 802, 801,
5751 0, 794, 797, 798, 799, 800, 780, 0, 776, 777,
5752 0, 912, 0, 903, 729, 731, 0, 0, 0, 0,
5753 796, 793, 0, 774, 779, 0, 914, 0, 0, 0,
5754 0, 795, 790, 789, 785, 787, 788, 0, 782, 786,
5755 778, 920, 0, 917, 806, 805, 808, 810, 813, 0,
5756 784, 781, 0, 919, 916, 818, 0, 814, 815, 0,
5757 783, 930, 0, 0, 0, 935, 0, 922, 925, 926,
5758 927, 928, 929, 918, 0, 812, 817, 791, 0, 0,
5759 0, 0, 0, 924, 921, 830, 832, 829, 823, 825,
5760 827, 828, 0, 820, 824, 826, 816, 0, 932, 933,
5761 934, 0, 923, 0, 0, 822, 819, 931, 936, 0,
5766 Dhcp4Parser::yypgoto_[] =
5768 -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393,
5769 -1393, -1393, -1393, -1393, -1393, -59, -1393, -614, -1393, 564,
5770 -1393, -1393, -1393, -1393, -1393, -1393, -651, -1393, -1393, -1393,
5771 -67, -1393, -1393, -1393, -1393, -1393, -1393, -1393, 545, 757,
5772 16, 31, 33, -26, -13, 13, 41, 44, 51, 54,
5773 -1393, -1393, -1393, -1393, 56, -1393, -1393, 59, 62, 64,
5774 66, 69, 74, -1393, -1393, 76, -1393, 77, -1393, 79,
5775 81, 82, -1393, -1393, 84, 87, 89, 92, 94, -1393,
5776 97, -1393, 99, -1393, -1393, -1393, -1393, -1393, 43, -1393,
5777 -1393, -1393, 548, 751, -1393, -1393, -1393, -1393, -1393, -1393,
5778 -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393,
5779 -1393, -1393, -1393, 269, -1393, -1393, -1393, -1393, -1393, -1393,
5780 -1393, -1393, 467, -1393, 242, -1393, -724, 249, -1393, -1393,
5781 -1392, -1393, -1386, -1393, -1393, -1393, -1393, -63, -1393, -1393,
5782 -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393,
5783 -1393, -1393, -1393, -756, -1393, -755, -1393, -752, -1393, -1393,
5784 -1393, -1393, -1393, -1393, 232, -1393, -1393, -1393, -1393, -1393,
5785 -1393, -1393, -1393, 212, -1393, -1393, -1393, -1393, -1393, -1393,
5786 -1393, 227, -1393, -1393, -1393, 231, 719, -1393, -1393, -1393,
5787 -1393, -1393, -1393, -1393, 228, -1393, -1393, -1393, -1393, -1393,
5788 -1393, -1035, -1393, -1393, -1393, 245, -1393, -1393, -1393, 254,
5789 760, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1033,
5790 -1393, -29, -1393, -18, -1393, 5, -1393, 71, -1393, 100,
5791 102, 104, -1393, -1393, -1393, -1393, -1393, 251, -1393, -1393,
5792 6, -60, -1393, -1393, -1393, -1393, -1393, 258, -1393, -1393,
5793 -1393, 261, -1393, 742, -1393, -34, -1393, -1393, -1393, -1393,
5794 -1393, -27, -1393, -1393, -1393, -1393, -1393, -32, -1393, -1393,
5795 -1393, 259, -1393, -1393, -1393, 263, -1393, 741, -1393, -1393,
5796 -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393,
5797 -1393, -1393, 207, -1393, -1393, -1393, 216, 776, -1393, -1393,
5798 -1393, -44, -1393, 3, -1393, -56, -1393, -1393, -1393, 262,
5799 -1393, -1393, -1393, 268, -1393, 773, -48, -1393, -7, -1393,
5800 15, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393,
5801 -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1032, -1393,
5802 -1393, -1393, -1393, -1393, -1393, -1393, 274, -1393, -1393, -1393,
5803 28, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393,
5804 -1393, -1393, -1393, -1393, -1393, 244, -1393, 247, 257, -1393,
5805 -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393,
5806 -1393, -1393, -20, -1393, -1393, -53, -1393, -1393, -1393, -1393,
5807 -1393, -15, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393,
5808 -1393, -1393, -1393, -76, -1393, -1393, -95, -1393, -1393, -1393,
5809 -1393, -1393, -1393, -1393, 260, -1393, -1393, -1393, -1393, -1393,
5810 -1393, -1393, -1393, -1393, -1393, 578, 769, -1393, -1393, -1393,
5811 -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393, -1393,
5812 -1393, -1393, -1393, -1393, 620, 768, -1393, -1393, -1393, -1393,
5813 -1393, -1393, 267, -1393, -1393, 36, -1393, -1393, -1393, -1393,
5814 -1393, -1393, -25, -1393, -1393, -62, -1393, -1393, -1393, -1393,
5815 -1393, -1393, -1393, -1393, -1393, -1393, 266, -1393, -1393, -1393,
5820 Dhcp4Parser::yydefgoto_[] =
5822 0, 14, 15, 16, 17, 18, 19, 20, 21, 22,
5823 23, 24, 25, 26, 27, 36, 37, 38, 65, 762,
5824 82, 83, 39, 64, 79, 80, 779, 1000, 1108, 1109,
5825 853, 41, 66, 85, 444, 86, 43, 67, 160, 161,
5826 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
5827 172, 173, 472, 174, 175, 492, 176, 177, 178, 179,
5828 180, 181, 182, 478, 748, 183, 479, 184, 480, 185,
5829 186, 187, 493, 759, 188, 189, 190, 191, 192, 511,
5830 193, 512, 194, 195, 196, 197, 198, 199, 200, 201,
5831 202, 448, 241, 242, 45, 68, 243, 521, 244, 522,
5832 782, 245, 523, 785, 246, 247, 248, 249, 203, 458,
5833 204, 449, 828, 829, 830, 1012, 831, 1013, 205, 459,
5834 206, 460, 880, 881, 882, 1040, 854, 855, 856, 1016,
5835 857, 1017, 858, 1018, 859, 1019, 860, 861, 560, 862,
5836 863, 864, 865, 866, 867, 868, 869, 870, 871, 1030,
5837 1289, 872, 873, 874, 1033, 875, 1034, 876, 1035, 877,
5838 1036, 207, 500, 904, 905, 906, 907, 908, 909, 910,
5839 208, 506, 940, 941, 942, 943, 944, 209, 503, 919,
5840 920, 921, 1063, 59, 75, 408, 409, 410, 575, 411,
5841 576, 210, 504, 928, 929, 930, 931, 932, 933, 934,
5842 935, 211, 488, 884, 885, 886, 1043, 47, 69, 295,
5843 296, 297, 534, 298, 530, 299, 531, 300, 532, 301,
5844 535, 302, 540, 303, 537, 304, 538, 305, 539, 212,
5845 213, 214, 309, 215, 494, 896, 897, 898, 1052, 1190,
5846 1191, 216, 489, 53, 72, 888, 889, 890, 1046, 55,
5847 73, 369, 370, 371, 372, 373, 374, 375, 559, 376,
5848 563, 377, 562, 378, 379, 564, 380, 217, 490, 892,
5849 893, 894, 1049, 57, 74, 392, 393, 394, 395, 396,
5850 568, 397, 398, 399, 400, 401, 402, 572, 311, 533,
5851 1002, 1003, 1004, 1110, 49, 70, 327, 328, 329, 544,
5852 330, 218, 495, 219, 496, 220, 502, 915, 916, 917,
5853 1060, 51, 71, 345, 346, 347, 221, 453, 222, 454,
5854 223, 455, 351, 549, 352, 550, 353, 551, 354, 553,
5855 355, 552, 356, 555, 357, 554, 358, 548, 318, 541,
5856 1006, 1007, 1113, 224, 501, 912, 913, 1057, 1218, 1219,
5857 1220, 1221, 1222, 1300, 1223, 1301, 1224, 1225, 225, 226,
5858 507, 227, 508, 970, 971, 972, 1088, 960, 961, 962,
5859 1079, 1311, 963, 1080, 964, 1081, 965, 966, 967, 1085,
5860 1347, 1348, 1349, 1362, 1377, 1378, 1379, 1389, 968, 1083,
5861 1340, 1341, 1342, 1356, 1385, 1343, 1357, 1344, 1358, 1345,
5862 1359, 1396, 1397, 1398, 1414, 1432, 1433, 1434, 1443, 1435,
5863 1444, 228, 509, 979, 980, 981, 982, 1092, 983, 984,
5864 1094, 229, 510, 61, 76, 423, 424, 425, 426, 580,
5865 427, 428, 582, 429, 430, 431, 585, 819, 432, 586,
5866 230, 447, 63, 77, 435, 436, 437, 589, 438, 231,
5867 516, 987, 988, 1098, 1264, 1265, 1266, 1267, 1321, 1268,
5868 1319, 1382, 1383, 1392, 1406, 1407, 1408, 1418, 1409, 1410,
5869 1411, 1412, 1422, 232, 517, 994, 995, 996, 997, 998,
5874 Dhcp4Parser::yytable_[] =
5876 159, 240, 264, 321, 341, 78, 367, 388, 407, 420,
5877 368, 389, 359, 314, 955, 956, 878, 1181, 957, 1182,
5878 1198, 315, 1428, 348, 250, 312, 331, 343, 1429, 381,
5879 403, 761, 421, 792, 793, 794, 817, 310, 326, 342,
5880 390, 322, 798, 268, 29, 361, 30, 391, 31, 445,
5881 405, 406, 323, 1428, 446, 519, 269, 28, 1055, 1429,
5882 520, 1056, 316, 812, 349, 135, 136, 743, 744, 745,
5883 746, 251, 313, 332, 344, 324, 382, 404, 361, 422,
5884 433, 434, 270, 81, 317, 265, 350, 233, 234, 1058,
5885 40, 235, 1059, 129, 236, 237, 238, 239, 135, 136,
5886 266, 1099, 267, 761, 1100, 84, 747, 849, 850, 851,
5887 271, 439, 294, 272, 528, 989, 990, 991, 992, 529,
5888 273, 542, 546, 274, 577, 275, 543, 547, 276, 578,
5889 42, 277, 158, 278, 158, 279, 44, 587, 280, 591,
5890 46, 325, 588, 281, 592, 282, 283, 48, 284, 50,
5891 285, 286, 1257, 287, 1258, 1259, 288, 519, 289, 1372,
5892 52, 290, 1009, 291, 135, 136, 292, 591, 293, 306,
5893 528, 307, 1010, 308, 1014, 1011, 54, 87, 158, 1015,
5894 88, 1401, 56, 1037, 1402, 1403, 1404, 1405, 1038, 135,
5895 136, 1393, 89, 440, 1394, 90, 91, 92, 93, 94,
5896 95, 96, 97, 98, 99, 100, 58, 1037, 60, 947,
5897 818, 158, 1039, 948, 949, 950, 951, 1072, 62, 1333,
5898 1077, 1086, 1073, 952, 953, 1078, 1087, 833, 834, 441,
5899 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
5900 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
5901 121, 122, 123, 124, 125, 126, 127, 128, 443, 1095,
5902 442, 129, 130, 1181, 1096, 1182, 1198, 780, 781, 32,
5903 33, 34, 35, 131, 132, 133, 587, 158, 360, 556,
5904 134, 1097, 1105, 135, 136, 405, 406, 1106, 137, 138,
5905 139, 140, 141, 1037, 542, 1298, 135, 136, 1294, 1295,
5906 1299, 142, 158, 135, 136, 783, 784, 93, 94, 95,
5907 96, 143, 450, 451, 144, 577, 1141, 135, 136, 1086,
5908 1307, 145, 146, 1322, 1316, 452, 147, 148, 1323, 456,
5909 955, 956, 955, 956, 957, 361, 957, 362, 363, 101,
5910 102, 103, 364, 365, 366, 149, 457, 135, 136, 150,
5911 1334, 1335, 1336, 826, 827, 135, 136, 936, 937, 938,
5912 1425, 1426, 595, 461, 151, 152, 153, 154, 155, 156,
5913 129, 130, 361, 462, 899, 900, 901, 902, 157, 903,
5914 463, 593, 594, 464, 91, 92, 93, 94, 95, 96,
5915 546, 557, 135, 136, 465, 1325, 158, 922, 923, 924,
5916 925, 926, 927, 1360, 1201, 1202, 1203, 1204, 1361, 158,
5917 973, 974, 975, 1286, 1287, 1288, 158, 466, 101, 102,
5918 103, 104, 105, 106, 107, 108, 109, 110, 467, 468,
5919 158, 469, 115, 116, 117, 118, 119, 120, 121, 122,
5920 123, 124, 125, 126, 127, 128, 470, 471, 1390, 1423,
5921 130, 361, 159, 1391, 1424, 755, 756, 757, 758, 1445,
5922 976, 240, 132, 133, 1446, 1308, 1309, 1310, 158, 473,
5923 474, 135, 136, 475, 257, 264, 137, 138, 139, 321,
5924 259, 260, 261, 476, 250, 477, 314, 262, 481, 482,
5925 341, 483, 484, 485, 315, 486, 487, 263, 312, 491,
5926 367, 497, 331, 498, 368, 158, 499, 388, 505, 348,
5927 310, 389, 513, 343, 326, 514, 268, 322, 515, 518,
5928 420, 524, 525, 381, 526, 342, 527, 536, 323, 269,
5929 403, 251, 545, 558, 561, 316, 565, 566, 567, 573,
5930 390, 569, 570, 421, 571, 313, 574, 391, 579, 332,
5931 349, 324, 151, 152, 581, 270, 583, 317, 265, 584,
5932 344, 590, 600, 596, 597, 598, 599, 601, 602, 603,
5933 382, 604, 350, 266, 605, 267, 607, 404, 606, 608,
5934 609, 610, 611, 271, 158, 294, 272, 612, 613, 622,
5935 422, 614, 615, 273, 620, 616, 274, 617, 275, 618,
5936 619, 276, 621, 623, 277, 624, 278, 628, 279, 629,
5937 625, 280, 630, 93, 94, 95, 281, 325, 282, 283,
5938 638, 284, 626, 285, 286, 627, 287, 631, 1326, 288,
5939 632, 289, 130, 633, 290, 634, 291, 635, 636, 292,
5940 639, 293, 306, 637, 307, 640, 308, 641, 642, 643,
5941 644, 645, 319, 135, 136, 361, 383, 362, 363, 384,
5942 385, 386, 259, 260, 261, 159, 646, 240, 647, 262,
5943 320, 648, 822, 649, 650, 135, 136, 130, 651, 652,
5944 653, 654, 655, 656, 387, 657, 658, 659, 660, 661,
5945 250, 135, 136, 662, 663, 664, 665, 666, 135, 136,
5946 667, 669, 939, 954, 670, 671, 420, 333, 672, 673,
5947 993, 674, 677, 675, 678, 679, 680, 334, 335, 336,
5948 337, 338, 339, 340, 681, 945, 958, 682, 977, 421,
5949 684, 683, 685, 686, 687, 688, 690, 251, 691, 693,
5950 694, 695, 696, 91, 92, 93, 94, 95, 96, 697,
5951 698, 699, 700, 702, 703, 704, 705, 706, 412, 413,
5952 414, 415, 416, 417, 418, 419, 158, 707, 710, 714,
5953 716, 717, 946, 959, 708, 978, 422, 101, 102, 103,
5954 104, 105, 106, 107, 108, 109, 110, 711, 158, 712,
5955 720, 115, 116, 117, 118, 119, 120, 121, 122, 123,
5956 124, 125, 126, 127, 158, 252, 253, 254, 722, 130,
5957 725, 158, 713, 719, 721, 723, 726, 724, 728, 729,
5958 731, 132, 133, 736, 737, 732, 733, 734, 255, 735,
5959 135, 136, 256, 257, 258, 137, 138, 139, 739, 259,
5960 260, 261, 738, 740, 741, 742, 262, 749, 142, 750,
5961 751, 752, 753, 754, 760, 30, 263, 832, 833, 834,
5962 835, 836, 837, 838, 839, 840, 841, 842, 843, 844,
5963 845, 846, 763, 764, 765, 847, 848, 849, 850, 851,
5964 852, 1, 2, 3, 4, 5, 6, 7, 8, 9,
5965 10, 11, 12, 13, 766, 767, 774, 775, 768, 769,
5966 770, 771, 772, 776, 773, 778, 777, 789, 786, 821,
5967 787, 151, 152, 796, 361, 820, 788, 790, 791, 879,
5968 795, 797, 799, 883, 800, 801, 887, 891, 802, 803,
5969 895, 911, 804, 805, 806, 807, 808, 809, 914, 810,
5970 918, 969, 986, 158, 811, 813, 815, 816, 1001, 1005,
5971 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029,
5972 1031, 1032, 1042, 1107, 1041, 1045, 1044, 1047, 1048, 1050,
5973 1051, 1054, 1053, 1062, 1123, 1061, 264, 1064, 1065, 367,
5974 1066, 1067, 388, 368, 1068, 1149, 389, 314, 1069, 1180,
5975 1205, 1070, 1071, 341, 1210, 315, 407, 1211, 1074, 312,
5976 1075, 1076, 381, 1082, 1195, 403, 1084, 1089, 1193, 1215,
5977 939, 310, 348, 1213, 1090, 390, 343, 268, 1091, 954,
5978 1192, 954, 391, 1183, 1093, 1212, 1153, 1101, 342, 1102,
5979 269, 1260, 1103, 945, 1184, 1261, 316, 1104, 993, 1154,
5980 1111, 1112, 958, 321, 958, 1196, 313, 158, 1114, 382,
5981 1216, 977, 404, 349, 1262, 1194, 270, 1185, 317, 265,
5982 1214, 1115, 1116, 344, 1117, 1155, 331, 1197, 1150, 1119,
5983 1120, 1121, 1217, 1206, 266, 350, 267, 1122, 326, 1133,
5984 946, 322, 1125, 1151, 271, 1152, 294, 272, 1207, 959,
5985 1208, 959, 323, 1156, 273, 1179, 1157, 274, 978, 275,
5986 1209, 1263, 276, 1158, 1124, 277, 1159, 278, 1160, 279,
5987 1126, 1161, 280, 332, 1162, 324, 1163, 281, 1164, 282,
5988 283, 1165, 284, 1186, 285, 286, 1166, 287, 1167, 1168,
5989 288, 1169, 289, 1170, 1171, 290, 1172, 291, 1127, 1173,
5990 292, 1174, 293, 306, 1175, 307, 1176, 308, 1128, 1177,
5991 1136, 1178, 1187, 1129, 1188, 1137, 1189, 1130, 1131, 1132,
5992 1138, 1135, 1134, 1139, 1242, 1238, 1243, 1231, 1232, 1233,
5993 1234, 1235, 1244, 1236, 1239, 1240, 1245, 1246, 1248, 1253,
5994 1255, 325, 1276, 1275, 1279, 1384, 1296, 1302, 1303, 1297,
5995 1304, 1305, 1363, 1306, 1314, 1315, 1318, 1247, 1320, 1328,
5996 1329, 1350, 1352, 1364, 1254, 1252, 1346, 1270, 1365, 1367,
5997 1368, 1271, 1272, 1280, 1273, 1281, 1282, 1369, 1370, 1283,
5998 1284, 1285, 1290, 1291, 1381, 1292, 1388, 1395, 1293, 1399,
5999 1312, 1149, 1415, 1313, 1317, 1180, 1324, 1416, 1205, 1354,
6000 1330, 1331, 1210, 1351, 1419, 1211, 1355, 1337, 1366, 1386,
6001 1195, 1387, 1417, 1420, 1193, 1260, 1421, 1215, 1437, 1261,
6002 1438, 1213, 1439, 1440, 1441, 1447, 1192, 1448, 1449, 1183,
6003 1338, 1450, 1153, 1212, 1452, 1453, 668, 823, 1262, 676,
6004 1184, 814, 825, 1118, 1142, 1154, 1140, 1200, 1008, 1241,
6005 1144, 1196, 1230, 1337, 1229, 1373, 718, 1143, 1216, 1374,
6006 1237, 1194, 689, 1185, 1327, 1199, 1146, 1145, 1214, 709,
6007 1148, 1155, 1147, 1197, 1150, 715, 1338, 1339, 1375, 1278,
6008 1217, 1206, 692, 1373, 1228, 1263, 1277, 1374, 1227, 1151,
6009 701, 1152, 1226, 1332, 1251, 1250, 1207, 1400, 1208, 1156,
6010 1436, 1179, 1157, 1249, 1380, 1371, 1375, 1427, 1209, 1158,
6011 1451, 985, 1159, 824, 1160, 1256, 727, 1161, 1353, 730,
6012 1162, 1442, 1163, 1339, 1164, 1376, 1269, 1165, 1413, 1186,
6013 1430, 1274, 1166, 0, 1167, 1168, 0, 1169, 1427, 1170,
6014 1171, 0, 1172, 0, 0, 1173, 0, 1174, 0, 0,
6015 1175, 0, 1176, 1376, 0, 1177, 0, 1178, 1187, 0,
6016 1188, 1430, 1189, 0, 0, 0, 0, 0, 0, 0,
6017 0, 0, 0, 0, 0, 0, 0, 1431, 0, 0,
6018 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
6019 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
6020 0, 0, 0, 0, 0, 0, 0, 0, 1431
6024 Dhcp4Parser::yycheck_[] =
6026 67, 68, 69, 70, 71, 64, 73, 74, 75, 76,
6027 73, 74, 72, 69, 770, 770, 740, 1052, 770, 1052,
6028 1052, 69, 1414, 71, 68, 69, 70, 71, 1414, 73,
6029 74, 645, 76, 684, 685, 686, 18, 69, 70, 71,
6030 74, 70, 693, 69, 5, 97, 7, 74, 9, 3,
6031 146, 147, 70, 1445, 8, 3, 69, 0, 3, 1445,
6032 8, 6, 69, 714, 71, 117, 118, 194, 195, 196,
6033 197, 68, 69, 70, 71, 70, 73, 74, 97, 76,
6034 12, 13, 69, 230, 69, 69, 71, 15, 16, 3,
6035 7, 19, 6, 95, 22, 23, 24, 25, 117, 118,
6036 69, 3, 69, 717, 6, 10, 233, 60, 61, 62,
6037 69, 6, 69, 69, 3, 213, 214, 215, 216, 8,
6038 69, 3, 3, 69, 3, 69, 8, 8, 69, 8,
6039 7, 69, 230, 69, 230, 69, 7, 3, 69, 3,
6040 7, 70, 8, 69, 8, 69, 69, 7, 69, 7,
6041 69, 69, 204, 69, 206, 207, 69, 3, 69, 178,
6042 7, 69, 8, 69, 117, 118, 69, 3, 69, 69,
6043 3, 69, 8, 69, 3, 8, 7, 11, 230, 8,
6044 14, 205, 7, 3, 208, 209, 210, 211, 8, 117,
6045 118, 3, 26, 3, 6, 29, 30, 31, 32, 33,
6046 34, 35, 36, 37, 38, 39, 7, 3, 7, 162,
6047 192, 230, 8, 166, 167, 168, 169, 3, 7, 40,
6048 3, 3, 8, 176, 177, 8, 8, 41, 42, 4,
6049 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
6050 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
6051 84, 85, 86, 87, 88, 89, 90, 91, 3, 3,
6052 8, 95, 96, 1298, 8, 1298, 1298, 17, 18, 230,
6053 231, 232, 233, 107, 108, 109, 3, 230, 40, 8,
6054 114, 8, 3, 117, 118, 146, 147, 8, 122, 123,
6055 124, 125, 126, 3, 3, 3, 117, 118, 8, 8,
6056 8, 135, 230, 117, 118, 20, 21, 32, 33, 34,
6057 35, 145, 4, 4, 148, 3, 1040, 117, 118, 3,
6058 8, 155, 156, 3, 8, 4, 160, 161, 8, 4,
6059 1086, 1086, 1088, 1088, 1086, 97, 1088, 99, 100, 64,
6060 65, 66, 104, 105, 106, 179, 4, 117, 118, 183,
6061 171, 172, 173, 27, 28, 117, 118, 157, 158, 159,
6062 174, 175, 230, 4, 198, 199, 200, 201, 202, 203,
6063 95, 96, 97, 4, 137, 138, 139, 140, 212, 142,
6064 4, 440, 441, 4, 30, 31, 32, 33, 34, 35,
6065 3, 3, 117, 118, 4, 8, 230, 149, 150, 151,
6066 152, 153, 154, 3, 129, 130, 131, 132, 8, 230,
6067 180, 181, 182, 55, 56, 57, 230, 4, 64, 65,
6068 66, 67, 68, 69, 70, 71, 72, 73, 4, 4,
6069 230, 4, 78, 79, 80, 81, 82, 83, 84, 85,
6070 86, 87, 88, 89, 90, 91, 4, 4, 3, 3,
6071 96, 97, 519, 8, 8, 110, 111, 112, 113, 3,
6072 230, 528, 108, 109, 8, 163, 164, 165, 230, 4,
6073 4, 117, 118, 4, 120, 542, 122, 123, 124, 546,
6074 126, 127, 128, 4, 528, 4, 542, 133, 4, 4,
6075 557, 4, 4, 4, 542, 4, 4, 143, 542, 4,
6076 567, 4, 546, 4, 567, 230, 4, 574, 4, 557,
6077 542, 574, 4, 557, 546, 4, 542, 546, 4, 4,
6078 587, 4, 4, 567, 4, 557, 4, 4, 546, 542,
6079 574, 528, 4, 8, 4, 542, 4, 8, 3, 8,
6080 574, 4, 4, 587, 4, 542, 3, 574, 4, 546,
6081 557, 546, 198, 199, 4, 542, 4, 542, 542, 4,
6082 557, 4, 233, 4, 4, 4, 4, 233, 233, 4,
6083 567, 4, 557, 542, 4, 542, 233, 574, 231, 4,
6084 4, 4, 231, 542, 230, 542, 542, 231, 231, 4,
6085 587, 231, 231, 542, 231, 233, 542, 232, 542, 232,
6086 232, 542, 231, 231, 542, 231, 542, 4, 542, 4,
6087 233, 542, 4, 32, 33, 34, 542, 546, 542, 542,
6088 4, 542, 233, 542, 542, 233, 542, 233, 1279, 542,
6089 233, 542, 96, 232, 542, 231, 542, 231, 231, 542,
6090 4, 542, 542, 233, 542, 4, 542, 231, 4, 4,
6091 4, 4, 116, 117, 118, 97, 98, 99, 100, 101,
6092 102, 103, 126, 127, 128, 732, 4, 734, 233, 133,
6093 134, 233, 731, 233, 4, 117, 118, 96, 4, 4,
6094 4, 4, 231, 4, 126, 4, 4, 4, 4, 4,
6095 734, 117, 118, 4, 233, 233, 233, 4, 117, 118,
6096 4, 4, 769, 770, 4, 4, 773, 126, 233, 233,
6097 777, 231, 4, 231, 4, 4, 4, 136, 137, 138,
6098 139, 140, 141, 142, 4, 769, 770, 4, 772, 773,
6099 4, 231, 4, 4, 4, 4, 4, 734, 231, 4,
6100 4, 4, 4, 30, 31, 32, 33, 34, 35, 4,
6101 4, 4, 4, 4, 4, 231, 4, 4, 184, 185,
6102 186, 187, 188, 189, 190, 191, 230, 4, 4, 4,
6103 4, 4, 769, 770, 233, 772, 773, 64, 65, 66,
6104 67, 68, 69, 70, 71, 72, 73, 233, 230, 233,
6105 4, 78, 79, 80, 81, 82, 83, 84, 85, 86,
6106 87, 88, 89, 90, 230, 92, 93, 94, 4, 96,
6107 4, 230, 233, 233, 231, 231, 4, 231, 4, 231,
6108 4, 108, 109, 230, 230, 7, 7, 7, 115, 7,
6109 117, 118, 119, 120, 121, 122, 123, 124, 7, 126,
6110 127, 128, 230, 7, 5, 230, 133, 230, 135, 230,
6111 5, 5, 5, 230, 5, 7, 143, 40, 41, 42,
6112 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
6113 53, 54, 230, 5, 5, 58, 59, 60, 61, 62,
6114 63, 217, 218, 219, 220, 221, 222, 223, 224, 225,
6115 226, 227, 228, 229, 5, 5, 230, 230, 7, 7,
6116 7, 5, 7, 5, 7, 5, 7, 5, 230, 5,
6117 230, 198, 199, 7, 97, 193, 230, 230, 230, 7,
6118 230, 230, 230, 7, 230, 230, 7, 7, 230, 230,
6119 7, 7, 230, 230, 230, 230, 230, 230, 7, 230,
6120 7, 7, 7, 230, 230, 230, 230, 230, 7, 144,
6121 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
6122 4, 4, 3, 230, 6, 3, 6, 6, 3, 6,
6123 3, 3, 6, 3, 231, 6, 1043, 6, 3, 1046,
6124 4, 4, 1049, 1046, 4, 1052, 1049, 1043, 4, 1052,
6125 1057, 4, 4, 1060, 1057, 1043, 1063, 1057, 4, 1043,
6126 4, 4, 1046, 4, 1052, 1049, 4, 6, 1052, 1057,
6127 1077, 1043, 1060, 1057, 3, 1049, 1060, 1043, 4, 1086,
6128 1052, 1088, 1049, 1052, 4, 1057, 1052, 4, 1060, 4,
6129 1043, 1098, 4, 1077, 1052, 1098, 1043, 4, 1105, 1052,
6130 6, 3, 1086, 1110, 1088, 1052, 1043, 230, 8, 1046,
6131 1057, 1095, 1049, 1060, 1098, 1052, 1043, 1052, 1043, 1043,
6132 1057, 6, 4, 1060, 4, 1052, 1110, 1052, 1052, 4,
6133 4, 4, 1057, 1057, 1043, 1060, 1043, 4, 1110, 4,
6134 1077, 1110, 231, 1052, 1043, 1052, 1043, 1043, 1057, 1086,
6135 1057, 1088, 1110, 1052, 1043, 1052, 1052, 1043, 1095, 1043,
6136 1057, 1098, 1043, 1052, 233, 1043, 1052, 1043, 1052, 1043,
6137 233, 1052, 1043, 1110, 1052, 1110, 1052, 1043, 1052, 1043,
6138 1043, 1052, 1043, 1052, 1043, 1043, 1052, 1043, 1052, 1052,
6139 1043, 1052, 1043, 1052, 1052, 1043, 1052, 1043, 231, 1052,
6140 1043, 1052, 1043, 1043, 1052, 1043, 1052, 1043, 231, 1052,
6141 4, 1052, 1052, 231, 1052, 4, 1052, 231, 231, 231,
6142 4, 231, 233, 4, 4, 233, 4, 231, 231, 231,
6143 231, 231, 4, 231, 231, 231, 231, 4, 4, 4,
6144 4, 1110, 3, 6, 4, 170, 8, 4, 4, 8,
6145 8, 3, 6, 8, 7, 5, 1255, 233, 4, 4,
6146 4, 4, 4, 3, 231, 233, 7, 233, 5, 4,
6147 4, 233, 233, 230, 233, 230, 230, 4, 4, 230,
6148 230, 230, 230, 230, 7, 230, 5, 7, 230, 4,
6149 230, 1298, 6, 230, 230, 1298, 230, 3, 1305, 230,
6150 233, 233, 1305, 231, 4, 1305, 230, 1314, 230, 230,
6151 1298, 230, 230, 4, 1298, 1322, 4, 1305, 4, 1322,
6152 233, 1305, 231, 231, 4, 230, 1298, 230, 4, 1298,
6153 1314, 4, 1298, 1305, 230, 230, 519, 732, 1322, 528,
6154 1298, 717, 734, 1014, 1042, 1298, 1037, 1055, 821, 1077,
6155 1045, 1298, 1065, 1360, 1063, 1362, 577, 1043, 1305, 1362,
6156 1072, 1298, 542, 1298, 1298, 1054, 1048, 1046, 1305, 567,
6157 1051, 1298, 1049, 1298, 1298, 574, 1360, 1314, 1362, 1112,
6158 1305, 1305, 546, 1390, 1062, 1322, 1110, 1390, 1060, 1298,
6159 557, 1298, 1058, 1305, 1090, 1088, 1305, 1390, 1305, 1298,
6160 1416, 1298, 1298, 1086, 1364, 1360, 1390, 1414, 1305, 1298,
6161 1445, 773, 1298, 733, 1298, 1095, 587, 1298, 1322, 591,
6162 1298, 1423, 1298, 1360, 1298, 1362, 1099, 1298, 1393, 1298,
6163 1414, 1105, 1298, -1, 1298, 1298, -1, 1298, 1445, 1298,
6164 1298, -1, 1298, -1, -1, 1298, -1, 1298, -1, -1,
6165 1298, -1, 1298, 1390, -1, 1298, -1, 1298, 1298, -1,
6166 1298, 1445, 1298, -1, -1, -1, -1, -1, -1, -1,
6167 -1, -1, -1, -1, -1, -1, -1, 1414, -1, -1,
6168 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6169 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6170 -1, -1, -1, -1, -1, -1, -1, -1, 1445
6174 Dhcp4Parser::yystos_[] =
6176 0, 217, 218, 219, 220, 221, 222, 223, 224, 225,
6177 226, 227, 228, 229, 235, 236, 237, 238, 239, 240,
6178 241, 242, 243, 244, 245, 246, 247, 248, 0, 5,
6179 7, 9, 230, 231, 232, 233, 249, 250, 251, 256,
6180 7, 265, 7, 270, 7, 328, 7, 441, 7, 528,
6181 7, 545, 7, 477, 7, 483, 7, 507, 7, 417,
6182 7, 657, 7, 676, 257, 252, 266, 271, 329, 442,
6183 529, 546, 478, 484, 508, 418, 658, 677, 249, 258,
6184 259, 230, 254, 255, 10, 267, 269, 11, 14, 26,
6185 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
6186 39, 64, 65, 66, 67, 68, 69, 70, 71, 72,
6187 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
6188 83, 84, 85, 86, 87, 88, 89, 90, 91, 95,
6189 96, 107, 108, 109, 114, 117, 118, 122, 123, 124,
6190 125, 126, 135, 145, 148, 155, 156, 160, 161, 179,
6191 183, 198, 199, 200, 201, 202, 203, 212, 230, 264,
6192 272, 273, 274, 275, 276, 277, 278, 279, 280, 281,
6193 282, 283, 284, 285, 287, 288, 290, 291, 292, 293,
6194 294, 295, 296, 299, 301, 303, 304, 305, 308, 309,
6195 310, 311, 312, 314, 316, 317, 318, 319, 320, 321,
6196 322, 323, 324, 342, 344, 352, 354, 395, 404, 411,
6197 425, 435, 463, 464, 465, 467, 475, 501, 535, 537,
6198 539, 550, 552, 554, 577, 592, 593, 595, 645, 655,
6199 674, 683, 707, 15, 16, 19, 22, 23, 24, 25,
6200 264, 326, 327, 330, 332, 335, 338, 339, 340, 341,
6201 535, 537, 92, 93, 94, 115, 119, 120, 121, 126,
6202 127, 128, 133, 143, 264, 274, 275, 276, 277, 278,
6203 279, 280, 281, 282, 283, 288, 291, 292, 293, 294,
6204 295, 296, 299, 301, 303, 304, 305, 308, 309, 310,
6205 311, 312, 314, 316, 322, 443, 444, 445, 447, 449,
6206 451, 453, 455, 457, 459, 461, 463, 464, 465, 466,
6207 501, 522, 535, 537, 539, 550, 552, 554, 572, 116,
6208 134, 264, 455, 457, 459, 461, 501, 530, 531, 532,
6209 534, 535, 537, 126, 136, 137, 138, 139, 140, 141,
6210 142, 264, 501, 535, 537, 547, 548, 549, 550, 552,
6211 554, 556, 558, 560, 562, 564, 566, 568, 570, 475,
6212 40, 97, 99, 100, 104, 105, 106, 264, 371, 485,
6213 486, 487, 488, 489, 490, 491, 493, 495, 497, 498,
6214 500, 535, 537, 98, 101, 102, 103, 126, 264, 371,
6215 489, 495, 509, 510, 511, 512, 513, 515, 516, 517,
6216 518, 519, 520, 535, 537, 146, 147, 264, 419, 420,
6217 421, 423, 184, 185, 186, 187, 188, 189, 190, 191,
6218 264, 535, 537, 659, 660, 661, 662, 664, 665, 667,
6219 668, 669, 672, 12, 13, 678, 679, 680, 682, 6,
6220 3, 4, 8, 3, 268, 3, 8, 675, 325, 345,
6221 4, 4, 4, 551, 553, 555, 4, 4, 343, 353,
6222 355, 4, 4, 4, 4, 4, 4, 4, 4, 4,
6223 4, 4, 286, 4, 4, 4, 4, 4, 297, 300,
6224 302, 4, 4, 4, 4, 4, 4, 4, 436, 476,
6225 502, 4, 289, 306, 468, 536, 538, 4, 4, 4,
6226 396, 578, 540, 412, 426, 4, 405, 594, 596, 646,
6227 656, 313, 315, 4, 4, 4, 684, 708, 4, 3,
6228 8, 331, 333, 336, 4, 4, 4, 4, 3, 8,
6229 448, 450, 452, 523, 446, 454, 4, 458, 460, 462,
6230 456, 573, 3, 8, 533, 4, 3, 8, 571, 557,
6231 559, 561, 565, 563, 569, 567, 8, 3, 8, 492,
6232 372, 4, 496, 494, 499, 4, 8, 3, 514, 4,
6233 4, 4, 521, 8, 3, 422, 424, 3, 8, 4,
6234 663, 4, 666, 4, 4, 670, 673, 3, 8, 681,
6235 4, 3, 8, 249, 249, 230, 4, 4, 4, 4,
6236 233, 233, 233, 4, 4, 4, 231, 233, 4, 4,
6237 4, 231, 231, 231, 231, 231, 233, 232, 232, 232,
6238 231, 231, 4, 231, 231, 233, 233, 233, 4, 4,
6239 4, 233, 233, 232, 231, 231, 231, 233, 4, 4,
6240 4, 231, 4, 4, 4, 4, 4, 233, 233, 233,
6241 4, 4, 4, 4, 4, 231, 4, 4, 4, 4,
6242 4, 4, 4, 233, 233, 233, 4, 4, 273, 4,
6243 4, 4, 233, 233, 231, 231, 327, 4, 4, 4,
6244 4, 4, 4, 231, 4, 4, 4, 4, 4, 444,
6245 4, 231, 531, 4, 4, 4, 4, 4, 4, 4,
6246 4, 549, 4, 4, 231, 4, 4, 4, 233, 487,
6247 4, 233, 233, 233, 4, 511, 4, 4, 420, 233,
6248 4, 231, 4, 231, 231, 4, 4, 660, 4, 231,
6249 679, 4, 7, 7, 7, 7, 230, 230, 230, 7,
6250 7, 5, 230, 194, 195, 196, 197, 233, 298, 230,
6251 230, 5, 5, 5, 230, 110, 111, 112, 113, 307,
6252 5, 251, 253, 230, 5, 5, 5, 5, 7, 7,
6253 7, 5, 7, 7, 230, 230, 5, 7, 5, 260,
6254 17, 18, 334, 20, 21, 337, 230, 230, 230, 5,
6255 230, 230, 260, 260, 260, 230, 7, 230, 260, 230,
6256 230, 230, 230, 230, 230, 230, 230, 230, 230, 230,
6257 230, 230, 260, 230, 253, 230, 230, 18, 192, 671,
6258 193, 5, 249, 272, 678, 326, 27, 28, 346, 347,
6259 348, 350, 40, 41, 42, 43, 44, 45, 46, 47,
6260 48, 49, 50, 51, 52, 53, 54, 58, 59, 60,
6261 61, 62, 63, 264, 360, 361, 362, 364, 366, 368,
6262 370, 371, 373, 374, 375, 376, 377, 378, 379, 380,
6263 381, 382, 385, 386, 387, 389, 391, 393, 360, 7,
6264 356, 357, 358, 7, 437, 438, 439, 7, 479, 480,
6265 481, 7, 503, 504, 505, 7, 469, 470, 471, 137,
6266 138, 139, 140, 142, 397, 398, 399, 400, 401, 402,
6267 403, 7, 579, 580, 7, 541, 542, 543, 7, 413,
6268 414, 415, 149, 150, 151, 152, 153, 154, 427, 428,
6269 429, 430, 431, 432, 433, 434, 157, 158, 159, 264,
6270 406, 407, 408, 409, 410, 535, 537, 162, 166, 167,
6271 168, 169, 176, 177, 264, 387, 389, 391, 535, 537,
6272 601, 602, 603, 606, 608, 610, 611, 612, 622, 7,
6273 597, 598, 599, 180, 181, 182, 230, 535, 537, 647,
6274 648, 649, 650, 652, 653, 659, 7, 685, 686, 213,
6275 214, 215, 216, 264, 709, 710, 711, 712, 713, 714,
6276 261, 7, 524, 525, 526, 144, 574, 575, 356, 8,
6277 8, 8, 349, 351, 3, 8, 363, 365, 367, 369,
6278 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
6279 383, 4, 4, 388, 390, 392, 394, 3, 8, 8,
6280 359, 6, 3, 440, 6, 3, 482, 6, 3, 506,
6281 6, 3, 472, 6, 3, 3, 6, 581, 3, 6,
6282 544, 6, 3, 416, 6, 3, 4, 4, 4, 4,
6283 4, 4, 3, 8, 4, 4, 4, 3, 8, 604,
6284 607, 609, 4, 623, 4, 613, 3, 8, 600, 6,
6285 3, 4, 651, 4, 654, 3, 8, 8, 687, 3,
6286 6, 4, 4, 4, 4, 3, 8, 230, 262, 263,
6287 527, 6, 3, 576, 8, 6, 4, 4, 347, 4,
6288 4, 4, 4, 231, 233, 231, 233, 231, 231, 231,
6289 231, 231, 231, 4, 233, 231, 4, 4, 4, 4,
6290 361, 360, 358, 443, 439, 485, 481, 509, 505, 264,
6291 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
6292 288, 291, 292, 293, 294, 295, 296, 299, 301, 303,
6293 304, 305, 308, 309, 310, 311, 312, 314, 316, 322,
6294 371, 435, 453, 455, 457, 459, 461, 463, 464, 465,
6295 473, 474, 501, 535, 537, 550, 552, 554, 572, 471,
6296 398, 129, 130, 131, 132, 264, 274, 275, 276, 322,
6297 371, 475, 501, 535, 537, 550, 552, 554, 582, 583,
6298 584, 585, 586, 588, 590, 591, 580, 547, 543, 419,
6299 415, 231, 231, 231, 231, 231, 231, 428, 233, 231,
6300 231, 407, 4, 4, 4, 231, 4, 233, 4, 602,
6301 601, 599, 233, 4, 231, 4, 648, 204, 206, 207,
6302 264, 371, 535, 537, 688, 689, 690, 691, 693, 686,
6303 233, 233, 233, 233, 710, 6, 3, 530, 526, 4,
6304 230, 230, 230, 230, 230, 230, 55, 56, 57, 384,
6305 230, 230, 230, 230, 8, 8, 8, 8, 3, 8,
6306 587, 589, 4, 4, 8, 3, 8, 8, 163, 164,
6307 165, 605, 230, 230, 7, 5, 8, 230, 249, 694,
6308 4, 692, 3, 8, 230, 8, 260, 474, 4, 4,
6309 233, 233, 584, 40, 171, 172, 173, 264, 535, 537,
6310 624, 625, 626, 629, 631, 633, 7, 614, 615, 616,
6311 4, 231, 4, 689, 230, 230, 627, 630, 632, 634,
6312 3, 8, 617, 6, 3, 5, 230, 4, 4, 4,
6313 4, 625, 178, 264, 371, 535, 537, 618, 619, 620,
6314 616, 7, 695, 696, 170, 628, 230, 230, 5, 621,
6315 3, 8, 697, 3, 6, 7, 635, 636, 637, 4,
6316 619, 205, 208, 209, 210, 211, 698, 699, 700, 702,
6317 703, 704, 705, 696, 638, 6, 3, 230, 701, 4,
6318 4, 4, 706, 3, 8, 174, 175, 264, 364, 366,
6319 535, 537, 639, 640, 641, 643, 637, 4, 233, 231,
6320 231, 4, 699, 642, 644, 3, 8, 230, 230, 4,
6325 Dhcp4Parser::yyr1_[] =
6327 0, 234, 236, 235, 237, 235, 238, 235, 239, 235,
6328 240, 235, 241, 235, 242, 235, 243, 235, 244, 235,
6329 245, 235, 246, 235, 247, 235, 248, 235, 249, 249,
6330 249, 249, 249, 249, 249, 250, 252, 251, 253, 254,
6331 254, 255, 255, 255, 257, 256, 258, 258, 259, 259,
6332 259, 261, 260, 262, 262, 263, 263, 263, 264, 266,
6333 265, 268, 267, 267, 269, 271, 270, 272, 272, 272,
6334 273, 273, 273, 273, 273, 273, 273, 273, 273, 273,
6335 273, 273, 273, 273, 273, 273, 273, 273, 273, 273,
6336 273, 273, 273, 273, 273, 273, 273, 273, 273, 273,
6337 273, 273, 273, 273, 273, 273, 273, 273, 273, 273,
6338 273, 273, 273, 273, 273, 273, 273, 273, 273, 273,
6339 273, 273, 273, 273, 273, 273, 273, 273, 273, 273,
6340 273, 273, 273, 273, 273, 273, 273, 273, 273, 273,
6341 273, 273, 274, 275, 276, 277, 278, 279, 280, 281,
6342 282, 283, 284, 286, 285, 287, 289, 288, 290, 291,
6343 292, 293, 294, 295, 297, 296, 298, 298, 298, 298,
6344 298, 300, 299, 302, 301, 303, 304, 306, 305, 307,
6345 307, 307, 307, 308, 309, 310, 311, 313, 312, 315,
6346 314, 316, 317, 318, 319, 320, 321, 322, 323, 325,
6347 324, 326, 326, 326, 327, 327, 327, 327, 327, 327,
6348 327, 327, 327, 327, 329, 328, 331, 330, 333, 332,
6349 334, 334, 336, 335, 337, 337, 338, 339, 340, 341,
6350 343, 342, 345, 344, 346, 346, 346, 347, 347, 349,
6351 348, 351, 350, 353, 352, 355, 354, 356, 356, 357,
6352 357, 357, 359, 358, 360, 360, 360, 361, 361, 361,
6353 361, 361, 361, 361, 361, 361, 361, 361, 361, 361,
6354 361, 361, 361, 361, 361, 361, 361, 361, 361, 361,
6355 363, 362, 365, 364, 367, 366, 369, 368, 370, 372,
6356 371, 373, 374, 375, 376, 377, 378, 379, 380, 381,
6357 383, 382, 384, 384, 384, 385, 386, 388, 387, 390,
6358 389, 392, 391, 394, 393, 396, 395, 397, 397, 397,
6359 398, 398, 398, 398, 398, 399, 400, 401, 402, 403,
6360 405, 404, 406, 406, 406, 407, 407, 407, 407, 407,
6361 407, 408, 409, 410, 412, 411, 413, 413, 414, 414,
6362 414, 416, 415, 418, 417, 419, 419, 419, 419, 420,
6363 420, 422, 421, 424, 423, 426, 425, 427, 427, 427,
6364 428, 428, 428, 428, 428, 428, 429, 430, 431, 432,
6365 433, 434, 436, 435, 437, 437, 438, 438, 438, 440,
6366 439, 442, 441, 443, 443, 443, 444, 444, 444, 444,
6367 444, 444, 444, 444, 444, 444, 444, 444, 444, 444,
6368 444, 444, 444, 444, 444, 444, 444, 444, 444, 444,
6369 444, 444, 444, 444, 444, 444, 444, 444, 444, 444,
6370 444, 444, 444, 444, 444, 444, 444, 444, 444, 444,
6371 444, 444, 444, 444, 444, 444, 444, 444, 444, 446,
6372 445, 448, 447, 450, 449, 452, 451, 454, 453, 456,
6373 455, 458, 457, 460, 459, 462, 461, 463, 464, 465,
6374 466, 468, 467, 469, 469, 470, 470, 470, 472, 471,
6375 473, 473, 473, 474, 474, 474, 474, 474, 474, 474,
6376 474, 474, 474, 474, 474, 474, 474, 474, 474, 474,
6377 474, 474, 474, 474, 474, 474, 474, 474, 474, 474,
6378 474, 474, 474, 474, 474, 474, 474, 474, 474, 474,
6379 474, 474, 474, 474, 474, 474, 474, 474, 474, 474,
6380 474, 476, 475, 478, 477, 479, 479, 480, 480, 480,
6381 482, 481, 484, 483, 485, 485, 486, 486, 486, 487,
6382 487, 487, 487, 487, 487, 487, 487, 487, 487, 488,
6383 489, 490, 492, 491, 494, 493, 496, 495, 497, 499,
6384 498, 500, 502, 501, 503, 503, 504, 504, 504, 506,
6385 505, 508, 507, 509, 509, 510, 510, 510, 511, 511,
6386 511, 511, 511, 511, 511, 511, 511, 511, 511, 512,
6387 514, 513, 515, 516, 517, 518, 519, 521, 520, 523,
6388 522, 524, 524, 525, 525, 525, 527, 526, 529, 528,
6389 530, 530, 530, 531, 531, 531, 531, 531, 531, 531,
6390 531, 531, 531, 533, 532, 534, 536, 535, 538, 537,
6391 540, 539, 541, 541, 542, 542, 542, 544, 543, 546,
6392 545, 547, 547, 548, 548, 548, 549, 549, 549, 549,
6393 549, 549, 549, 549, 549, 549, 549, 549, 549, 549,
6394 549, 551, 550, 553, 552, 555, 554, 557, 556, 559,
6395 558, 561, 560, 563, 562, 565, 564, 567, 566, 569,
6396 568, 571, 570, 573, 572, 574, 576, 575, 578, 577,
6397 579, 579, 579, 581, 580, 582, 582, 583, 583, 583,
6398 584, 584, 584, 584, 584, 584, 584, 584, 584, 584,
6399 584, 584, 584, 584, 584, 584, 584, 585, 587, 586,
6400 589, 588, 590, 591, 592, 594, 593, 596, 595, 597,
6401 597, 598, 598, 598, 600, 599, 601, 601, 601, 602,
6402 602, 602, 602, 602, 602, 602, 602, 602, 602, 602,
6403 602, 602, 604, 603, 605, 605, 605, 607, 606, 609,
6404 608, 610, 611, 613, 612, 614, 614, 615, 615, 615,
6405 617, 616, 618, 618, 618, 619, 619, 619, 619, 619,
6406 621, 620, 623, 622, 624, 624, 624, 625, 625, 625,
6407 625, 625, 625, 625, 627, 626, 628, 630, 629, 632,
6408 631, 634, 633, 635, 635, 636, 636, 636, 638, 637,
6409 639, 639, 639, 640, 640, 640, 640, 640, 640, 640,
6410 642, 641, 644, 643, 646, 645, 647, 647, 647, 648,
6411 648, 648, 648, 648, 648, 649, 651, 650, 652, 654,
6412 653, 656, 655, 658, 657, 659, 659, 659, 660, 660,
6413 660, 660, 660, 660, 660, 660, 660, 660, 660, 661,
6414 663, 662, 664, 666, 665, 667, 668, 670, 669, 671,
6415 671, 673, 672, 675, 674, 677, 676, 678, 678, 678,
6416 679, 679, 681, 680, 682, 684, 683, 685, 685, 685,
6417 687, 686, 688, 688, 688, 689, 689, 689, 689, 689,
6418 689, 689, 690, 692, 691, 694, 693, 695, 695, 695,
6419 697, 696, 698, 698, 698, 699, 699, 699, 699, 699,
6420 701, 700, 702, 703, 704, 706, 705, 708, 707, 709,
6421 709, 709, 710, 710, 710, 710, 710, 711, 712, 713,
6426 Dhcp4Parser::yyr2_[] =
6428 0, 2, 0, 3, 0, 3, 0, 3, 0, 3,
6429 0, 3, 0, 3, 0, 3, 0, 3, 0, 3,
6430 0, 3, 0, 3, 0, 3, 0, 3, 1, 1,
6431 1, 1, 1, 1, 1, 1, 0, 4, 1, 0,
6432 1, 3, 5, 2, 0, 4, 0, 1, 1, 3,
6433 2, 0, 4, 0, 1, 1, 3, 2, 2, 0,
6434 4, 0, 6, 1, 2, 0, 4, 1, 3, 2,
6435 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6436 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6437 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6438 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6439 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6440 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6441 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6442 1, 1, 3, 3, 3, 3, 3, 3, 3, 3,
6443 3, 3, 3, 0, 4, 3, 0, 4, 3, 3,
6444 3, 3, 3, 3, 0, 4, 1, 1, 1, 1,
6445 1, 0, 4, 0, 4, 3, 3, 0, 4, 1,
6446 1, 1, 1, 3, 3, 3, 3, 0, 4, 0,
6447 4, 3, 3, 3, 3, 3, 3, 3, 3, 0,
6448 6, 1, 3, 2, 1, 1, 1, 1, 1, 1,
6449 1, 1, 1, 1, 0, 4, 0, 4, 0, 4,
6450 1, 1, 0, 4, 1, 1, 3, 3, 3, 3,
6451 0, 6, 0, 6, 1, 3, 2, 1, 1, 0,
6452 4, 0, 4, 0, 6, 0, 6, 0, 1, 1,
6453 3, 2, 0, 4, 1, 3, 2, 1, 1, 1,
6454 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6455 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6456 0, 4, 0, 4, 0, 4, 0, 4, 3, 0,
6457 4, 3, 3, 3, 3, 3, 3, 3, 3, 3,
6458 0, 4, 1, 1, 1, 3, 3, 0, 4, 0,
6459 4, 0, 4, 0, 4, 0, 6, 1, 3, 2,
6460 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6461 0, 6, 1, 3, 2, 1, 1, 1, 1, 1,
6462 1, 3, 3, 3, 0, 6, 0, 1, 1, 3,
6463 2, 0, 4, 0, 4, 1, 3, 2, 1, 1,
6464 1, 0, 4, 0, 4, 0, 6, 1, 3, 2,
6465 1, 1, 1, 1, 1, 1, 3, 3, 3, 3,
6466 3, 3, 0, 6, 0, 1, 1, 3, 2, 0,
6467 4, 0, 4, 1, 3, 2, 1, 1, 1, 1,
6468 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6469 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6470 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6471 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6472 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
6473 4, 0, 4, 0, 4, 0, 4, 0, 4, 0,
6474 4, 0, 4, 0, 4, 0, 4, 3, 3, 3,
6475 3, 0, 6, 0, 1, 1, 3, 2, 0, 4,
6476 1, 3, 2, 1, 1, 1, 1, 1, 1, 1,
6477 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6478 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6479 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6480 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6481 1, 0, 6, 0, 4, 0, 1, 1, 3, 2,
6482 0, 4, 0, 4, 0, 1, 1, 3, 2, 1,
6483 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6484 3, 1, 0, 4, 0, 4, 0, 4, 1, 0,
6485 4, 3, 0, 6, 0, 1, 1, 3, 2, 0,
6486 4, 0, 4, 0, 1, 1, 3, 2, 1, 1,
6487 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6488 0, 4, 1, 1, 3, 3, 3, 0, 4, 0,
6489 6, 0, 1, 1, 3, 2, 0, 4, 0, 4,
6490 1, 3, 2, 1, 1, 1, 1, 1, 1, 1,
6491 1, 1, 1, 0, 4, 3, 0, 4, 0, 4,
6492 0, 6, 0, 1, 1, 3, 2, 0, 4, 0,
6493 4, 0, 1, 1, 3, 2, 1, 1, 1, 1,
6494 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6495 1, 0, 4, 0, 4, 0, 4, 0, 4, 0,
6496 4, 0, 4, 0, 4, 0, 4, 0, 4, 0,
6497 4, 0, 4, 0, 6, 1, 0, 4, 0, 6,
6498 1, 3, 2, 0, 4, 0, 1, 1, 3, 2,
6499 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6500 1, 1, 1, 1, 1, 1, 1, 1, 0, 4,
6501 0, 4, 3, 3, 3, 0, 6, 0, 6, 0,
6502 1, 1, 3, 2, 0, 4, 1, 3, 2, 1,
6503 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6504 1, 1, 0, 4, 1, 1, 1, 0, 4, 0,
6505 4, 3, 3, 0, 6, 0, 1, 1, 3, 2,
6506 0, 4, 1, 3, 2, 1, 1, 1, 1, 1,
6507 0, 4, 0, 6, 1, 3, 2, 1, 1, 1,
6508 1, 1, 1, 1, 0, 4, 1, 0, 4, 0,
6509 4, 0, 6, 0, 1, 1, 3, 2, 0, 4,
6510 1, 3, 2, 1, 1, 1, 1, 1, 1, 1,
6511 0, 4, 0, 4, 0, 6, 1, 3, 2, 1,
6512 1, 1, 1, 1, 1, 3, 0, 4, 3, 0,
6513 4, 0, 6, 0, 4, 1, 3, 2, 1, 1,
6514 1, 1, 1, 1, 1, 1, 1, 1, 1, 3,
6515 0, 4, 3, 0, 4, 3, 3, 0, 4, 1,
6516 1, 0, 4, 0, 6, 0, 4, 1, 3, 2,
6517 1, 1, 0, 6, 3, 0, 6, 1, 3, 2,
6518 0, 4, 1, 3, 2, 1, 1, 1, 1, 1,
6519 1, 1, 3, 0, 4, 0, 6, 1, 3, 2,
6520 0, 4, 1, 3, 2, 1, 1, 1, 1, 1,
6521 0, 4, 3, 3, 3, 0, 4, 0, 6, 1,
6522 3, 2, 1, 1, 1, 1, 1, 3, 3, 3,
6527#if PARSER4_DEBUG || 1
6531 const Dhcp4Parser::yytname_[] =
6533 "\"end of file\"",
"error",
"\"invalid token\"",
"\",\"",
"\":\"",
6534 "\"[\"",
"\"]\"",
"\"{\"",
"\"}\"",
"\"null\"",
"\"Dhcp4\"",
6535 "\"config-control\"",
"\"config-databases\"",
6536 "\"config-fetch-wait-time\"",
"\"interfaces-config\"",
"\"interfaces\"",
6537 "\"dhcp-socket-type\"",
"\"raw\"",
"\"udp\"",
"\"outbound-interface\"",
6538 "\"same-as-inbound\"",
"\"use-routing\"",
"\"re-detect\"",
6539 "\"service-sockets-require-all\"",
"\"service-sockets-retry-wait-time\"",
6540 "\"service-sockets-max-retries\"",
"\"sanity-checks\"",
6541 "\"lease-checks\"",
"\"extended-info-checks\"",
"\"echo-client-id\"",
6542 "\"match-client-id\"",
"\"authoritative\"",
"\"next-server\"",
6543 "\"server-hostname\"",
"\"boot-file-name\"",
"\"offer-lifetime\"",
6544 "\"stash-agent-options\"",
"\"lease-database\"",
"\"hosts-database\"",
6545 "\"hosts-databases\"",
"\"type\"",
"\"user\"",
"\"password\"",
6546 "\"host\"",
"\"port\"",
"\"persist\"",
"\"lfc-interval\"",
6547 "\"readonly\"",
"\"connect-timeout\"",
"\"read-timeout\"",
6548 "\"write-timeout\"",
"\"tcp-user-timeout\"",
"\"max-reconnect-tries\"",
6549 "\"reconnect-wait-time\"",
"\"on-fail\"",
"\"stop-retry-exit\"",
6550 "\"serve-retry-exit\"",
"\"serve-retry-continue\"",
6551 "\"retry-on-startup\"",
"\"max-row-errors\"",
"\"trust-anchor\"",
6552 "\"cert-file\"",
"\"key-file\"",
"\"cipher-list\"",
"\"valid-lifetime\"",
6553 "\"min-valid-lifetime\"",
"\"max-valid-lifetime\"",
"\"renew-timer\"",
6554 "\"rebind-timer\"",
"\"calculate-tee-times\"",
"\"t1-percent\"",
6555 "\"t2-percent\"",
"\"cache-threshold\"",
"\"cache-max-age\"",
6556 "\"decline-probation-period\"",
"\"server-tag\"",
6557 "\"statistic-default-sample-count\"",
"\"statistic-default-sample-age\"",
6558 "\"ddns-send-updates\"",
"\"ddns-override-no-update\"",
6559 "\"ddns-override-client-update\"",
"\"ddns-replace-client-name\"",
6560 "\"ddns-generated-prefix\"",
"\"ddns-qualifying-suffix\"",
6561 "\"ddns-update-on-renew\"",
"\"ddns-use-conflict-resolution\"",
6562 "\"ddns-ttl-percent\"",
"\"ddns-ttl\"",
"\"ddns-ttl-min\"",
6563 "\"ddns-ttl-mix\"",
"\"store-extended-info\"",
"\"subnet4\"",
6564 "\"4o6-interface\"",
"\"4o6-interface-id\"",
"\"4o6-subnet\"",
6565 "\"option-def\"",
"\"option-data\"",
"\"name\"",
"\"data\"",
"\"code\"",
6566 "\"space\"",
"\"csv-format\"",
"\"always-send\"",
"\"never-send\"",
6567 "\"record-types\"",
"\"encapsulate\"",
"\"array\"",
6568 "\"parked-packet-limit\"",
"\"allocator\"",
6569 "\"ddns-conflict-resolution-mode\"",
"\"check-with-dhcid\"",
6570 "\"no-check-with-dhcid\"",
"\"check-exists-with-dhcid\"",
6571 "\"no-check-without-dhcid\"",
"\"shared-networks\"",
"\"pools\"",
6572 "\"pool\"",
"\"user-context\"",
"\"comment\"",
"\"subnet\"",
6573 "\"interface\"",
"\"id\"",
"\"reservations-global\"",
6574 "\"reservations-in-subnet\"",
"\"reservations-out-of-pool\"",
6575 "\"host-reservation-identifiers\"",
"\"client-classes\"",
6576 "\"require-client-classes\"",
"\"evaluate-additional-classes\"",
6577 "\"test\"",
"\"template-test\"",
"\"only-if-required\"",
6578 "\"only-in-additional-list\"",
"\"client-class\"",
"\"pool-id\"",
6579 "\"reservations\"",
"\"ip-address\"",
"\"duid\"",
"\"hw-address\"",
6580 "\"circuit-id\"",
"\"client-id\"",
"\"hostname\"",
"\"flex-id\"",
6581 "\"relay\"",
"\"ip-addresses\"",
"\"hooks-libraries\"",
"\"library\"",
6582 "\"parameters\"",
"\"expired-leases-processing\"",
6583 "\"reclaim-timer-wait-time\"",
"\"flush-reclaimed-timer-wait-time\"",
6584 "\"hold-reclaimed-time\"",
"\"max-reclaim-leases\"",
6585 "\"max-reclaim-time\"",
"\"unwarned-reclaim-cycles\"",
6586 "\"dhcp4o6-port\"",
"\"multi-threading\"",
"\"enable-multi-threading\"",
6587 "\"thread-pool-size\"",
"\"packet-queue-size\"",
"\"control-socket\"",
6588 "\"control-sockets\"",
"\"socket-type\"",
"\"unix\"",
"\"http\"",
6589 "\"https\"",
"\"socket-name\"",
"\"socket-address\"",
"\"socket-port\"",
6590 "\"authentication\"",
"\"basic\"",
"\"realm\"",
"\"directory\"",
6591 "\"clients\"",
"\"user-file\"",
"\"password-file\"",
"\"cert-required\"",
6592 "\"http-headers\"",
"\"value\"",
"\"dhcp-queue-control\"",
6593 "\"enable-queue\"",
"\"queue-type\"",
"\"capacity\"",
"\"dhcp-ddns\"",
6594 "\"enable-updates\"",
"\"server-ip\"",
"\"server-port\"",
6595 "\"sender-ip\"",
"\"sender-port\"",
"\"max-queue-size\"",
6596 "\"ncr-protocol\"",
"\"ncr-format\"",
"\"tcp\"",
"\"JSON\"",
6597 "\"when-present\"",
"\"never\"",
"\"always\"",
"\"when-not-present\"",
6598 "\"hostname-char-set\"",
"\"hostname-char-replacement\"",
6599 "\"early-global-reservations-lookup\"",
"\"ip-reservations-unique\"",
6600 "\"reservations-lookup-first\"",
"\"loggers\"",
"\"output-options\"",
6601 "\"output\"",
"\"debuglevel\"",
"\"severity\"",
"\"flush\"",
6602 "\"maxsize\"",
"\"maxver\"",
"\"pattern\"",
"\"compatibility\"",
6603 "\"lenient-option-parsing\"",
"\"ignore-dhcp-server-identifier\"",
6604 "\"ignore-rai-link-selection\"",
"\"exclude-first-last-24\"",
6605 "TOPLEVEL_JSON",
"TOPLEVEL_DHCP4",
"SUB_DHCP4",
"SUB_INTERFACES4",
6606 "SUB_SUBNET4",
"SUB_POOL4",
"SUB_RESERVATION",
"SUB_OPTION_DEFS",
6607 "SUB_OPTION_DEF",
"SUB_OPTION_DATA",
"SUB_HOOKS_LIBRARY",
6608 "SUB_DHCP_DDNS",
"SUB_CONFIG_CONTROL",
"\"constant string\"",
6609 "\"integer\"",
"\"floating point\"",
"\"boolean\"",
"$accept",
"start",
6610 "$@1",
"$@2",
"$@3",
"$@4",
"$@5",
"$@6",
"$@7",
"$@8",
"$@9",
"$@10",
6611 "$@11",
"$@12",
"$@13",
"value",
"sub_json",
"map2",
"$@14",
"map_value",
6612 "map_content",
"not_empty_map",
"list_generic",
"$@15",
"list_content",
6613 "not_empty_list",
"list_strings",
"$@16",
"list_strings_content",
6614 "not_empty_list_strings",
"unknown_map_entry",
"syntax_map",
"$@17",
6615 "global_object",
"$@18",
"global_object_comma",
"sub_dhcp4",
"$@19",
6616 "global_params",
"global_param",
"valid_lifetime",
"min_valid_lifetime",
6617 "max_valid_lifetime",
"renew_timer",
"rebind_timer",
6618 "calculate_tee_times",
"t1_percent",
"t2_percent",
"cache_threshold",
6619 "cache_max_age",
"decline_probation_period",
"server_tag",
"$@20",
6620 "parked_packet_limit",
"allocator",
"$@21",
"echo_client_id",
6621 "match_client_id",
"authoritative",
"ddns_send_updates",
6622 "ddns_override_no_update",
"ddns_override_client_update",
6623 "ddns_replace_client_name",
"$@22",
"ddns_replace_client_name_value",
6624 "ddns_generated_prefix",
"$@23",
"ddns_qualifying_suffix",
"$@24",
6625 "ddns_update_on_renew",
"ddns_use_conflict_resolution",
6626 "ddns_conflict_resolution_mode",
"$@25",
6627 "ddns_conflict_resolution_mode_value",
"ddns_ttl_percent",
"ddns_ttl",
6628 "ddns_ttl_min",
"ddns_ttl_max",
"hostname_char_set",
"$@26",
6629 "hostname_char_replacement",
"$@27",
"store_extended_info",
6630 "statistic_default_sample_count",
"statistic_default_sample_age",
6631 "early_global_reservations_lookup",
"ip_reservations_unique",
6632 "reservations_lookup_first",
"offer_lifetime",
"stash_agent_options",
6633 "interfaces_config",
"$@28",
"interfaces_config_params",
6634 "interfaces_config_param",
"sub_interfaces4",
"$@29",
"interfaces_list",
6635 "$@30",
"dhcp_socket_type",
"$@31",
"socket_type",
"outbound_interface",
6636 "$@32",
"outbound_interface_value",
"re_detect",
6637 "service_sockets_require_all",
"service_sockets_retry_wait_time",
6638 "service_sockets_max_retries",
"lease_database",
"$@33",
"sanity_checks",
6639 "$@34",
"sanity_checks_params",
"sanity_checks_param",
"lease_checks",
6640 "$@35",
"extended_info_checks",
"$@36",
"hosts_database",
"$@37",
6641 "hosts_databases",
"$@38",
"database_list",
"not_empty_database_list",
6642 "database",
"$@39",
"database_map_params",
"database_map_param",
6643 "database_type",
"$@40",
"user",
"$@41",
"password",
"$@42",
"host",
6644 "$@43",
"port",
"name",
"$@44",
"persist",
"lfc_interval",
"readonly",
6645 "connect_timeout",
"read_timeout",
"write_timeout",
"tcp_user_timeout",
6646 "max_reconnect_tries",
"reconnect_wait_time",
"on_fail",
"$@45",
6647 "on_fail_mode",
"retry_on_startup",
"max_row_errors",
"trust_anchor",
6648 "$@46",
"cert_file",
"$@47",
"key_file",
"$@48",
"cipher_list",
"$@49",
6649 "host_reservation_identifiers",
"$@50",
6650 "host_reservation_identifiers_list",
"host_reservation_identifier",
6651 "duid_id",
"hw_address_id",
"circuit_id",
"client_id",
"flex_id",
6652 "dhcp_multi_threading",
"$@51",
"multi_threading_params",
6653 "multi_threading_param",
"enable_multi_threading",
"thread_pool_size",
6654 "packet_queue_size",
"hooks_libraries",
"$@52",
"hooks_libraries_list",
6655 "not_empty_hooks_libraries_list",
"hooks_library",
"$@53",
6656 "sub_hooks_library",
"$@54",
"hooks_params",
"hooks_param",
"library",
6657 "$@55",
"parameters",
"$@56",
"expired_leases_processing",
"$@57",
6658 "expired_leases_params",
"expired_leases_param",
6659 "reclaim_timer_wait_time",
"flush_reclaimed_timer_wait_time",
6660 "hold_reclaimed_time",
"max_reclaim_leases",
"max_reclaim_time",
6661 "unwarned_reclaim_cycles",
"subnet4_list",
"$@58",
6662 "subnet4_list_content",
"not_empty_subnet4_list",
"subnet4",
"$@59",
6663 "sub_subnet4",
"$@60",
"subnet4_params",
"subnet4_param",
"subnet",
6664 "$@61",
"subnet_4o6_interface",
"$@62",
"subnet_4o6_interface_id",
6665 "$@63",
"subnet_4o6_subnet",
"$@64",
"interface",
"$@65",
"client_class",
6666 "$@66",
"network_client_classes",
"$@67",
"require_client_classes",
6667 "$@68",
"evaluate_additional_classes",
"$@69",
"reservations_global",
6668 "reservations_in_subnet",
"reservations_out_of_pool",
"id",
6669 "shared_networks",
"$@70",
"shared_networks_content",
6670 "shared_networks_list",
"shared_network",
"$@71",
6671 "shared_network_params",
"shared_network_param",
"option_def_list",
6672 "$@72",
"sub_option_def_list",
"$@73",
"option_def_list_content",
6673 "not_empty_option_def_list",
"option_def_entry",
"$@74",
6674 "sub_option_def",
"$@75",
"option_def_params",
6675 "not_empty_option_def_params",
"option_def_param",
"option_def_name",
6676 "code",
"option_def_code",
"option_def_type",
"$@76",
6677 "option_def_record_types",
"$@77",
"space",
"$@78",
"option_def_space",
6678 "option_def_encapsulate",
"$@79",
"option_def_array",
"option_data_list",
6679 "$@80",
"option_data_list_content",
"not_empty_option_data_list",
6680 "option_data_entry",
"$@81",
"sub_option_data",
"$@82",
6681 "option_data_params",
"not_empty_option_data_params",
6682 "option_data_param",
"option_data_name",
"option_data_data",
"$@83",
6683 "option_data_code",
"option_data_space",
"option_data_csv_format",
6684 "option_data_always_send",
"option_data_never_send",
6685 "option_data_client_classes",
"$@84",
"pools_list",
"$@85",
6686 "pools_list_content",
"not_empty_pools_list",
"pool_list_entry",
"$@86",
6687 "sub_pool4",
"$@87",
"pool_params",
"pool_param",
"pool_entry",
"$@88",
6688 "pool_id",
"user_context",
"$@89",
"comment",
"$@90",
"reservations",
6689 "$@91",
"reservations_list",
"not_empty_reservations_list",
6690 "reservation",
"$@92",
"sub_reservation",
"$@93",
"reservation_params",
6691 "not_empty_reservation_params",
"reservation_param",
"next_server",
6692 "$@94",
"server_hostname",
"$@95",
"boot_file_name",
"$@96",
6693 "ip_address",
"$@97",
"duid",
"$@98",
"hw_address",
"$@99",
6694 "client_id_value",
"$@100",
"circuit_id_value",
"$@101",
"flex_id_value",
6695 "$@102",
"hostname",
"$@103",
"reservation_client_classes",
"$@104",
6696 "relay",
"$@105",
"relay_map",
"ip_addresses",
"$@106",
"client_classes",
6697 "$@107",
"client_classes_list",
"client_class_entry",
"$@108",
6698 "client_class_params",
"not_empty_client_class_params",
6699 "client_class_param",
"client_class_name",
"client_class_test",
"$@109",
6700 "client_class_template_test",
"$@110",
"only_if_required",
6701 "only_in_additional_list",
"dhcp4o6_port",
"control_socket",
"$@111",
6702 "control_sockets",
"$@112",
"control_socket_list",
6703 "not_empty_control_socket_list",
"control_socket_entry",
"$@113",
6704 "control_socket_params",
"control_socket_param",
"control_socket_type",
6705 "$@114",
"control_socket_type_value",
"control_socket_name",
"$@115",
6706 "control_socket_address",
"$@116",
"control_socket_port",
6707 "cert_required",
"http_headers",
"$@117",
"http_header_list",
6708 "not_empty_http_header_list",
"http_header",
"$@118",
6709 "http_header_params",
"http_header_param",
"header_value",
"$@119",
6710 "authentication",
"$@120",
"auth_params",
"auth_param",
"auth_type",
6711 "$@121",
"auth_type_value",
"realm",
"$@122",
"directory",
"$@123",
6712 "clients",
"$@124",
"clients_list",
"not_empty_clients_list",
6713 "basic_auth",
"$@125",
"clients_params",
"clients_param",
"user_file",
6714 "$@126",
"password_file",
"$@127",
"dhcp_queue_control",
"$@128",
6715 "queue_control_params",
"queue_control_param",
"enable_queue",
6716 "queue_type",
"$@129",
"capacity",
"arbitrary_map_entry",
"$@130",
6717 "dhcp_ddns",
"$@131",
"sub_dhcp_ddns",
"$@132",
"dhcp_ddns_params",
6718 "dhcp_ddns_param",
"enable_updates",
"server_ip",
"$@133",
"server_port",
6719 "sender_ip",
"$@134",
"sender_port",
"max_queue_size",
"ncr_protocol",
6720 "$@135",
"ncr_protocol_value",
"ncr_format",
"$@136",
"config_control",
6721 "$@137",
"sub_config_control",
"$@138",
"config_control_params",
6722 "config_control_param",
"config_databases",
"$@139",
6723 "config_fetch_wait_time",
"loggers",
"$@140",
"loggers_entries",
6724 "logger_entry",
"$@141",
"logger_params",
"logger_param",
"debuglevel",
6725 "severity",
"$@142",
"output_options_list",
"$@143",
6726 "output_options_list_content",
"output_entry",
"$@144",
6727 "output_params_list",
"output_params",
"output",
"$@145",
"flush",
6728 "maxsize",
"maxver",
"pattern",
"$@146",
"compatibility",
"$@147",
6729 "compatibility_params",
"compatibility_param",
"lenient_option_parsing",
6730 "ignore_dhcp_server_identifier",
"ignore_rai_link_selection",
6731 "exclude_first_last_24", YY_NULLPTR
6738 Dhcp4Parser::yyrline_[] =
6740 0, 329, 329, 329, 330, 330, 331, 331, 332, 332,
6741 333, 333, 334, 334, 335, 335, 336, 336, 337, 337,
6742 338, 338, 339, 339, 340, 340, 341, 341, 349, 350,
6743 351, 352, 353, 354, 355, 358, 363, 363, 374, 377,
6744 378, 381, 386, 392, 397, 397, 404, 405, 408, 412,
6745 416, 422, 422, 429, 430, 433, 437, 441, 451, 460,
6746 460, 475, 475, 489, 492, 498, 498, 507, 508, 509,
6747 516, 517, 518, 519, 520, 521, 522, 523, 524, 525,
6748 526, 527, 528, 529, 530, 531, 532, 533, 534, 535,
6749 536, 537, 538, 539, 540, 541, 542, 543, 544, 545,
6750 546, 547, 548, 549, 550, 551, 552, 553, 554, 555,
6751 556, 557, 558, 559, 560, 561, 562, 563, 564, 565,
6752 566, 567, 568, 569, 570, 571, 572, 573, 574, 575,
6753 576, 577, 578, 579, 580, 581, 582, 583, 584, 585,
6754 586, 587, 590, 596, 602, 608, 614, 620, 626, 632,
6755 638, 644, 650, 656, 656, 665, 671, 671, 680, 686,
6756 692, 698, 704, 710, 716, 716, 725, 728, 731, 734,
6757 737, 743, 743, 752, 752, 761, 770, 780, 780, 789,
6758 792, 795, 798, 803, 809, 815, 821, 827, 827, 836,
6759 836, 845, 851, 857, 863, 869, 875, 881, 887, 893,
6760 893, 905, 906, 907, 912, 913, 914, 915, 916, 917,
6761 918, 919, 920, 921, 924, 924, 933, 933, 944, 944,
6762 952, 953, 956, 956, 964, 966, 970, 976, 982, 988,
6763 994, 994, 1007, 1007, 1018, 1019, 1020, 1025, 1026, 1029,
6764 1029, 1048, 1048, 1066, 1066, 1079, 1079, 1090, 1091, 1094,
6765 1095, 1096, 1101, 1101, 1111, 1112, 1113, 1118, 1119, 1120,
6766 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130,
6767 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140,
6768 1143, 1143, 1152, 1152, 1161, 1161, 1170, 1170, 1179, 1185,
6769 1185, 1194, 1200, 1206, 1212, 1218, 1224, 1230, 1236, 1242,
6770 1248, 1248, 1256, 1257, 1258, 1261, 1267, 1273, 1273, 1282,
6771 1282, 1291, 1291, 1300, 1300, 1309, 1309, 1320, 1321, 1322,
6772 1327, 1328, 1329, 1330, 1331, 1334, 1339, 1344, 1349, 1354,
6773 1361, 1361, 1374, 1375, 1376, 1381, 1382, 1383, 1384, 1385,
6774 1386, 1389, 1395, 1401, 1407, 1407, 1418, 1419, 1422, 1423,
6775 1424, 1429, 1429, 1439, 1439, 1449, 1450, 1451, 1454, 1457,
6776 1458, 1461, 1461, 1470, 1470, 1479, 1479, 1491, 1492, 1493,
6777 1498, 1499, 1500, 1501, 1502, 1503, 1506, 1512, 1518, 1524,
6778 1530, 1536, 1545, 1545, 1559, 1560, 1563, 1564, 1565, 1574,
6779 1574, 1600, 1600, 1611, 1612, 1613, 1619, 1620, 1621, 1622,
6780 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1632,
6781 1633, 1634, 1635, 1636, 1637, 1638, 1639, 1640, 1641, 1642,
6782 1643, 1644, 1645, 1646, 1647, 1648, 1649, 1650, 1651, 1652,
6783 1653, 1654, 1655, 1656, 1657, 1658, 1659, 1660, 1661, 1662,
6784 1663, 1664, 1665, 1666, 1667, 1668, 1669, 1670, 1671, 1674,
6785 1674, 1683, 1683, 1692, 1692, 1701, 1701, 1710, 1710, 1719,
6786 1719, 1729, 1729, 1741, 1741, 1752, 1752, 1763, 1769, 1775,
6787 1781, 1789, 1789, 1801, 1802, 1806, 1807, 1808, 1813, 1813,
6788 1821, 1822, 1823, 1828, 1829, 1830, 1831, 1832, 1833, 1834,
6789 1835, 1836, 1837, 1838, 1839, 1840, 1841, 1842, 1843, 1844,
6790 1845, 1846, 1847, 1848, 1849, 1850, 1851, 1852, 1853, 1854,
6791 1855, 1856, 1857, 1858, 1859, 1860, 1861, 1862, 1863, 1864,
6792 1865, 1866, 1867, 1868, 1869, 1870, 1871, 1872, 1873, 1874,
6793 1875, 1882, 1882, 1896, 1896, 1905, 1906, 1909, 1910, 1911,
6794 1918, 1918, 1933, 1933, 1947, 1948, 1951, 1952, 1953, 1958,
6795 1959, 1960, 1961, 1962, 1963, 1964, 1965, 1966, 1967, 1970,
6796 1972, 1978, 1980, 1980, 1989, 1989, 1998, 1998, 2007, 2009,
6797 2009, 2018, 2028, 2028, 2041, 2042, 2047, 2048, 2049, 2056,
6798 2056, 2068, 2068, 2080, 2081, 2086, 2087, 2088, 2095, 2096,
6799 2097, 2098, 2099, 2100, 2101, 2102, 2103, 2104, 2105, 2108,
6800 2110, 2110, 2119, 2121, 2123, 2129, 2135, 2141, 2141, 2155,
6801 2155, 2168, 2169, 2172, 2173, 2174, 2179, 2179, 2189, 2189,
6802 2199, 2200, 2201, 2206, 2207, 2208, 2209, 2210, 2211, 2212,
6803 2213, 2214, 2215, 2218, 2218, 2227, 2233, 2233, 2258, 2258,
6804 2288, 2288, 2299, 2300, 2303, 2304, 2305, 2310, 2310, 2319,
6805 2319, 2328, 2329, 2332, 2333, 2334, 2340, 2341, 2342, 2343,
6806 2344, 2345, 2346, 2347, 2348, 2349, 2350, 2351, 2352, 2353,
6807 2354, 2357, 2357, 2366, 2366, 2375, 2375, 2384, 2384, 2393,
6808 2393, 2402, 2402, 2411, 2411, 2420, 2420, 2429, 2429, 2438,
6809 2438, 2447, 2447, 2461, 2461, 2472, 2475, 2475, 2489, 2489,
6810 2500, 2501, 2502, 2507, 2507, 2517, 2518, 2521, 2522, 2523,
6811 2528, 2529, 2530, 2531, 2532, 2533, 2534, 2535, 2536, 2537,
6812 2538, 2539, 2540, 2541, 2542, 2543, 2544, 2547, 2549, 2549,
6813 2558, 2558, 2568, 2574, 2582, 2590, 2590, 2602, 2602, 2614,
6814 2615, 2618, 2619, 2620, 2625, 2625, 2633, 2634, 2635, 2640,
6815 2641, 2642, 2643, 2644, 2645, 2646, 2647, 2648, 2649, 2650,
6816 2651, 2652, 2655, 2655, 2664, 2665, 2666, 2669, 2669, 2679,
6817 2679, 2689, 2695, 2701, 2701, 2712, 2713, 2716, 2717, 2718,
6818 2723, 2723, 2731, 2732, 2733, 2738, 2739, 2740, 2741, 2742,
6819 2745, 2745, 2756, 2756, 2769, 2770, 2771, 2776, 2777, 2778,
6820 2779, 2780, 2781, 2782, 2785, 2785, 2793, 2796, 2796, 2805,
6821 2805, 2814, 2814, 2825, 2826, 2829, 2830, 2831, 2836, 2836,
6822 2844, 2845, 2846, 2851, 2852, 2853, 2854, 2855, 2856, 2857,
6823 2860, 2860, 2869, 2869, 2880, 2880, 2893, 2894, 2895, 2900,
6824 2901, 2902, 2903, 2904, 2905, 2908, 2914, 2914, 2923, 2929,
6825 2929, 2939, 2939, 2952, 2952, 2962, 2963, 2964, 2969, 2970,
6826 2971, 2972, 2973, 2974, 2975, 2976, 2977, 2978, 2979, 2982,
6827 2988, 2988, 2997, 3003, 3003, 3012, 3018, 3024, 3024, 3033,
6828 3034, 3037, 3037, 3048, 3048, 3060, 3060, 3070, 3071, 3072,
6829 3078, 3079, 3082, 3082, 3093, 3101, 3101, 3114, 3115, 3116,
6830 3122, 3122, 3130, 3131, 3132, 3137, 3138, 3139, 3140, 3141,
6831 3142, 3143, 3146, 3152, 3152, 3161, 3161, 3172, 3173, 3174,
6832 3179, 3179, 3187, 3188, 3189, 3194, 3195, 3196, 3197, 3198,
6833 3201, 3201, 3210, 3216, 3222, 3228, 3228, 3237, 3237, 3248,
6834 3249, 3250, 3255, 3256, 3257, 3258, 3259, 3262, 3268, 3274,
6839 Dhcp4Parser::yy_stack_print_ ()
const
6841 *yycdebug_ <<
"Stack now";
6842 for (stack_type::const_iterator
6843 i = yystack_.begin (),
6844 i_end = yystack_.end ();
6846 *yycdebug_ <<
' ' << int (i->state);
6851 Dhcp4Parser::yy_reduce_print_ (
int yyrule)
const
6853 int yylno = yyrline_[yyrule];
6854 int yynrhs = yyr2_[yyrule];
6856 *yycdebug_ <<
"Reducing stack by rule " << yyrule - 1
6857 <<
" (line " << yylno <<
"):\n";
6859 for (
int yyi = 0; yyi < yynrhs; yyi++)
6861 yystack_[(yynrhs) - (yyi + 1)]);
6866#line 14 "dhcp4_parser.yy"
6868#line 6869 "dhcp4_parser.cc"
6870#line 3286 "dhcp4_parser.yy"
6875 const std::string& what)
6877 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