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 ())
231 value.YY_MOVE_OR_COPY<
bool > (
YY_MOVE (that.value));
235 value.YY_MOVE_OR_COPY<
double > (
YY_MOVE (that.value));
239 value.YY_MOVE_OR_COPY< int64_t > (
YY_MOVE (that.value));
243 value.YY_MOVE_OR_COPY< std::string > (
YY_MOVE (that.value));
250#if 201103L <= YY_CPLUSPLUS
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 ())
275 value.move<
bool > (
YY_MOVE (that.value));
279 value.move<
double > (
YY_MOVE (that.value));
283 value.move< int64_t > (
YY_MOVE (that.value));
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 313 "dhcp4_parser.yy"
415 { yyoutput << yysym.value.template as < std::string > (); }
416#line 417 "dhcp4_parser.cc"
420#line 313 "dhcp4_parser.yy"
421 { yyoutput << yysym.value.template as < int64_t > (); }
422#line 423 "dhcp4_parser.cc"
426#line 313 "dhcp4_parser.yy"
427 { yyoutput << yysym.value.template as < double > (); }
428#line 429 "dhcp4_parser.cc"
432#line 313 "dhcp4_parser.yy"
433 { yyoutput << yysym.value.template as < bool > (); }
434#line 435 "dhcp4_parser.cc"
438#line 313 "dhcp4_parser.yy"
439 { yyoutput << yysym.value.template as < ElementPtr > (); }
440#line 441 "dhcp4_parser.cc"
444#line 313 "dhcp4_parser.yy"
445 { yyoutput << yysym.value.template as < ElementPtr > (); }
446#line 447 "dhcp4_parser.cc"
450#line 313 "dhcp4_parser.yy"
451 { yyoutput << yysym.value.template as < ElementPtr > (); }
452#line 453 "dhcp4_parser.cc"
456#line 313 "dhcp4_parser.yy"
457 { yyoutput << yysym.value.template as < ElementPtr > (); }
458#line 459 "dhcp4_parser.cc"
462#line 313 "dhcp4_parser.yy"
463 { yyoutput << yysym.value.template as < ElementPtr > (); }
464#line 465 "dhcp4_parser.cc"
468#line 313 "dhcp4_parser.yy"
469 { yyoutput << yysym.value.template as < ElementPtr > (); }
470#line 471 "dhcp4_parser.cc"
474#line 313 "dhcp4_parser.yy"
475 { yyoutput << yysym.value.template as < ElementPtr > (); }
476#line 477 "dhcp4_parser.cc"
480#line 313 "dhcp4_parser.yy"
481 { yyoutput << yysym.value.template as < ElementPtr > (); }
482#line 483 "dhcp4_parser.cc"
486#line 313 "dhcp4_parser.yy"
487 { yyoutput << yysym.value.template as < ElementPtr > (); }
488#line 489 "dhcp4_parser.cc"
492#line 313 "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]);
738 yylhs.value.emplace<
bool > ();
742 yylhs.value.emplace<
double > ();
746 yylhs.value.emplace< int64_t > ();
750 yylhs.value.emplace< std::string > ();
762 yyerror_range[1].location = yylhs.location;
774#line 322 "dhcp4_parser.yy"
776#line 777 "dhcp4_parser.cc"
780#line 323 "dhcp4_parser.yy"
782#line 783 "dhcp4_parser.cc"
786#line 324 "dhcp4_parser.yy"
788#line 789 "dhcp4_parser.cc"
792#line 325 "dhcp4_parser.yy"
794#line 795 "dhcp4_parser.cc"
798#line 326 "dhcp4_parser.yy"
800#line 801 "dhcp4_parser.cc"
804#line 327 "dhcp4_parser.yy"
806#line 807 "dhcp4_parser.cc"
810#line 328 "dhcp4_parser.yy"
812#line 813 "dhcp4_parser.cc"
816#line 329 "dhcp4_parser.yy"
818#line 819 "dhcp4_parser.cc"
822#line 330 "dhcp4_parser.yy"
824#line 825 "dhcp4_parser.cc"
828#line 331 "dhcp4_parser.yy"
830#line 831 "dhcp4_parser.cc"
834#line 332 "dhcp4_parser.yy"
836#line 837 "dhcp4_parser.cc"
840#line 333 "dhcp4_parser.yy"
842#line 843 "dhcp4_parser.cc"
846#line 334 "dhcp4_parser.yy"
848#line 849 "dhcp4_parser.cc"
852#line 342 "dhcp4_parser.yy"
854#line 855 "dhcp4_parser.cc"
858#line 343 "dhcp4_parser.yy"
860#line 861 "dhcp4_parser.cc"
864#line 344 "dhcp4_parser.yy"
866#line 867 "dhcp4_parser.cc"
870#line 345 "dhcp4_parser.yy"
872#line 873 "dhcp4_parser.cc"
876#line 346 "dhcp4_parser.yy"
878#line 879 "dhcp4_parser.cc"
882#line 347 "dhcp4_parser.yy"
884#line 885 "dhcp4_parser.cc"
888#line 348 "dhcp4_parser.yy"
890#line 891 "dhcp4_parser.cc"
894#line 351 "dhcp4_parser.yy"
899#line 900 "dhcp4_parser.cc"
903#line 356 "dhcp4_parser.yy"
910#line 911 "dhcp4_parser.cc"
914#line 361 "dhcp4_parser.yy"
920#line 921 "dhcp4_parser.cc"
924#line 367 "dhcp4_parser.yy"
926#line 927 "dhcp4_parser.cc"
930#line 374 "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 379 "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 385 "dhcp4_parser.yy"
955#line 956 "dhcp4_parser.cc"
959#line 390 "dhcp4_parser.yy"
964#line 965 "dhcp4_parser.cc"
968#line 393 "dhcp4_parser.yy"
972#line 973 "dhcp4_parser.cc"
976#line 401 "dhcp4_parser.yy"
981#line 982 "dhcp4_parser.cc"
985#line 405 "dhcp4_parser.yy"
990#line 991 "dhcp4_parser.cc"
994#line 409 "dhcp4_parser.yy"
998#line 999 "dhcp4_parser.cc"
1002#line 415 "dhcp4_parser.yy"
1006#line 1007 "dhcp4_parser.cc"
1010#line 417 "dhcp4_parser.yy"
1015#line 1016 "dhcp4_parser.cc"
1019#line 426 "dhcp4_parser.yy"
1022 ctx.
stack_.back()->add(s);
1024#line 1025 "dhcp4_parser.cc"
1028#line 430 "dhcp4_parser.yy"
1031 ctx.
stack_.back()->add(s);
1033#line 1034 "dhcp4_parser.cc"
1037#line 434 "dhcp4_parser.yy"
1041#line 1042 "dhcp4_parser.cc"
1045#line 444 "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 453 "dhcp4_parser.yy"
1063#line 1064 "dhcp4_parser.cc"
1067#line 458 "dhcp4_parser.yy"
1076#line 1077 "dhcp4_parser.cc"
1080#line 468 "dhcp4_parser.yy"
1087 ctx.
stack_.back()->set(
"Dhcp4", m);
1091#line 1092 "dhcp4_parser.cc"
1095#line 477 "dhcp4_parser.yy"
1101#line 1102 "dhcp4_parser.cc"
1105#line 485 "dhcp4_parser.yy"
1109#line 1110 "dhcp4_parser.cc"
1113#line 491 "dhcp4_parser.yy"
1119#line 1120 "dhcp4_parser.cc"
1123#line 495 "dhcp4_parser.yy"
1128#line 1129 "dhcp4_parser.cc"
1132#line 502 "dhcp4_parser.yy"
1136#line 1137 "dhcp4_parser.cc"
1140#line 580 "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 586 "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 592 "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 598 "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 604 "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 610 "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 616 "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 622 "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 628 "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 634 "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 640 "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 646 "dhcp4_parser.yy"
1252 ctx.
unique(
"server-tag", ctx.
loc2pos(yystack_[0].location));
1255#line 1256 "dhcp4_parser.cc"
1259#line 649 "dhcp4_parser.yy"
1262 ctx.
stack_.back()->set(
"server-tag", stag);
1265#line 1266 "dhcp4_parser.cc"
1269#line 655 "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 661 "dhcp4_parser.yy"
1284#line 1285 "dhcp4_parser.cc"
1288#line 664 "dhcp4_parser.yy"
1291 ctx.
stack_.back()->set(
"allocator", al);
1294#line 1295 "dhcp4_parser.cc"
1298#line 670 "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 676 "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 682 "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 688 "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 694 "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 700 "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 706 "dhcp4_parser.yy"
1361 ctx.
unique(
"ddns-replace-client-name", ctx.
loc2pos(yystack_[0].location));
1363#line 1364 "dhcp4_parser.cc"
1367#line 709 "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 715 "dhcp4_parser.yy"
1380#line 1381 "dhcp4_parser.cc"
1384#line 718 "dhcp4_parser.yy"
1388#line 1389 "dhcp4_parser.cc"
1392#line 721 "dhcp4_parser.yy"
1396#line 1397 "dhcp4_parser.cc"
1400#line 724 "dhcp4_parser.yy"
1404#line 1405 "dhcp4_parser.cc"
1408#line 727 "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 733 "dhcp4_parser.yy"
1419 ctx.
unique(
"ddns-generated-prefix", ctx.
loc2pos(yystack_[0].location));
1422#line 1423 "dhcp4_parser.cc"
1426#line 736 "dhcp4_parser.yy"
1429 ctx.
stack_.back()->set(
"ddns-generated-prefix", s);
1432#line 1433 "dhcp4_parser.cc"
1436#line 742 "dhcp4_parser.yy"
1438 ctx.
unique(
"ddns-qualifying-suffix", ctx.
loc2pos(yystack_[0].location));
1441#line 1442 "dhcp4_parser.cc"
1445#line 745 "dhcp4_parser.yy"
1448 ctx.
stack_.back()->set(
"ddns-qualifying-suffix", s);
1451#line 1452 "dhcp4_parser.cc"
1455#line 751 "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 760 "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 770 "dhcp4_parser.yy"
1481 ctx.
unique(
"ddns-conflict-resolution-mode", ctx.
loc2pos(yystack_[0].location));
1484#line 1485 "dhcp4_parser.cc"
1488#line 773 "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 779 "dhcp4_parser.yy"
1501#line 1502 "dhcp4_parser.cc"
1505#line 782 "dhcp4_parser.yy"
1509#line 1510 "dhcp4_parser.cc"
1513#line 785 "dhcp4_parser.yy"
1517#line 1518 "dhcp4_parser.cc"
1521#line 788 "dhcp4_parser.yy"
1525#line 1526 "dhcp4_parser.cc"
1529#line 793 "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 799 "dhcp4_parser.yy"
1541 ctx.
unique(
"hostname-char-set", ctx.
loc2pos(yystack_[0].location));
1544#line 1545 "dhcp4_parser.cc"
1548#line 802 "dhcp4_parser.yy"
1551 ctx.
stack_.back()->set(
"hostname-char-set", s);
1554#line 1555 "dhcp4_parser.cc"
1558#line 808 "dhcp4_parser.yy"
1560 ctx.
unique(
"hostname-char-replacement", ctx.
loc2pos(yystack_[0].location));
1563#line 1564 "dhcp4_parser.cc"
1567#line 811 "dhcp4_parser.yy"
1570 ctx.
stack_.back()->set(
"hostname-char-replacement", s);
1573#line 1574 "dhcp4_parser.cc"
1577#line 817 "dhcp4_parser.yy"
1579 ctx.
unique(
"store-extended-info", ctx.
loc2pos(yystack_[2].location));
1581 ctx.
stack_.back()->set(
"store-extended-info", b);
1583#line 1584 "dhcp4_parser.cc"
1587#line 823 "dhcp4_parser.yy"
1589 ctx.
unique(
"statistic-default-sample-count", ctx.
loc2pos(yystack_[2].location));
1591 ctx.
stack_.back()->set(
"statistic-default-sample-count", count);
1593#line 1594 "dhcp4_parser.cc"
1597#line 829 "dhcp4_parser.yy"
1599 ctx.
unique(
"statistic-default-sample-age", ctx.
loc2pos(yystack_[2].location));
1601 ctx.
stack_.back()->set(
"statistic-default-sample-age", age);
1603#line 1604 "dhcp4_parser.cc"
1607#line 835 "dhcp4_parser.yy"
1609 ctx.
unique(
"early-global-reservations-lookup", ctx.
loc2pos(yystack_[2].location));
1611 ctx.
stack_.back()->set(
"early-global-reservations-lookup", early);
1613#line 1614 "dhcp4_parser.cc"
1617#line 841 "dhcp4_parser.yy"
1619 ctx.
unique(
"ip-reservations-unique", ctx.
loc2pos(yystack_[2].location));
1621 ctx.
stack_.back()->set(
"ip-reservations-unique", unique);
1623#line 1624 "dhcp4_parser.cc"
1627#line 847 "dhcp4_parser.yy"
1629 ctx.
unique(
"reservations-lookup-first", ctx.
loc2pos(yystack_[2].location));
1631 ctx.
stack_.back()->set(
"reservations-lookup-first", first);
1633#line 1634 "dhcp4_parser.cc"
1637#line 853 "dhcp4_parser.yy"
1639 ctx.
unique(
"offer-lifetime", ctx.
loc2pos(yystack_[2].location));
1641 ctx.
stack_.back()->set(
"offer-lifetime", offer_lifetime);
1643#line 1644 "dhcp4_parser.cc"
1647#line 859 "dhcp4_parser.yy"
1649 ctx.
unique(
"stash-agent-options", ctx.
loc2pos(yystack_[2].location));
1651 ctx.
stack_.back()->set(
"stash-agent-options", stash);
1653#line 1654 "dhcp4_parser.cc"
1657#line 865 "dhcp4_parser.yy"
1659 ctx.
unique(
"interfaces-config", ctx.
loc2pos(yystack_[0].location));
1661 ctx.
stack_.back()->set(
"interfaces-config", i);
1665#line 1666 "dhcp4_parser.cc"
1669#line 871 "dhcp4_parser.yy"
1675#line 1676 "dhcp4_parser.cc"
1679#line 879 "dhcp4_parser.yy"
1683#line 1684 "dhcp4_parser.cc"
1687#line 896 "dhcp4_parser.yy"
1693#line 1694 "dhcp4_parser.cc"
1697#line 900 "dhcp4_parser.yy"
1702#line 1703 "dhcp4_parser.cc"
1706#line 905 "dhcp4_parser.yy"
1708 ctx.
unique(
"interfaces", ctx.
loc2pos(yystack_[0].location));
1710 ctx.
stack_.back()->set(
"interfaces", l);
1714#line 1715 "dhcp4_parser.cc"
1718#line 911 "dhcp4_parser.yy"
1723#line 1724 "dhcp4_parser.cc"
1727#line 916 "dhcp4_parser.yy"
1729 ctx.
unique(
"dhcp-socket-type", ctx.
loc2pos(yystack_[0].location));
1732#line 1733 "dhcp4_parser.cc"
1736#line 919 "dhcp4_parser.yy"
1738 ctx.
stack_.back()->set(
"dhcp-socket-type", yystack_[0].value.as <
ElementPtr > ());
1741#line 1742 "dhcp4_parser.cc"
1745#line 924 "dhcp4_parser.yy"
1747#line 1748 "dhcp4_parser.cc"
1751#line 925 "dhcp4_parser.yy"
1753#line 1754 "dhcp4_parser.cc"
1757#line 928 "dhcp4_parser.yy"
1759 ctx.
unique(
"outbound-interface", ctx.
loc2pos(yystack_[0].location));
1762#line 1763 "dhcp4_parser.cc"
1766#line 931 "dhcp4_parser.yy"
1768 ctx.
stack_.back()->set(
"outbound-interface", yystack_[0].value.as <
ElementPtr > ());
1771#line 1772 "dhcp4_parser.cc"
1775#line 936 "dhcp4_parser.yy"
1779#line 1780 "dhcp4_parser.cc"
1783#line 938 "dhcp4_parser.yy"
1787#line 1788 "dhcp4_parser.cc"
1791#line 942 "dhcp4_parser.yy"
1795 ctx.
stack_.back()->set(
"re-detect", b);
1797#line 1798 "dhcp4_parser.cc"
1801#line 948 "dhcp4_parser.yy"
1803 ctx.
unique(
"service-sockets-require-all", ctx.
loc2pos(yystack_[2].location));
1805 ctx.
stack_.back()->set(
"service-sockets-require-all", b);
1807#line 1808 "dhcp4_parser.cc"
1811#line 954 "dhcp4_parser.yy"
1813 ctx.
unique(
"service-sockets-retry-wait-time", ctx.
loc2pos(yystack_[2].location));
1815 ctx.
stack_.back()->set(
"service-sockets-retry-wait-time", n);
1817#line 1818 "dhcp4_parser.cc"
1821#line 960 "dhcp4_parser.yy"
1823 ctx.
unique(
"service-sockets-max-retries", ctx.
loc2pos(yystack_[2].location));
1825 ctx.
stack_.back()->set(
"service-sockets-max-retries", n);
1827#line 1828 "dhcp4_parser.cc"
1831#line 966 "dhcp4_parser.yy"
1833 ctx.
unique(
"lease-database", ctx.
loc2pos(yystack_[0].location));
1835 ctx.
stack_.back()->set(
"lease-database", i);
1839#line 1840 "dhcp4_parser.cc"
1843#line 972 "dhcp4_parser.yy"
1850#line 1851 "dhcp4_parser.cc"
1854#line 979 "dhcp4_parser.yy"
1856 ctx.
unique(
"sanity-checks", ctx.
loc2pos(yystack_[0].location));
1858 ctx.
stack_.back()->set(
"sanity-checks", m);
1862#line 1863 "dhcp4_parser.cc"
1866#line 985 "dhcp4_parser.yy"
1871#line 1872 "dhcp4_parser.cc"
1875#line 992 "dhcp4_parser.yy"
1879#line 1880 "dhcp4_parser.cc"
1883#line 1001 "dhcp4_parser.yy"
1885 ctx.
unique(
"lease-checks", ctx.
loc2pos(yystack_[0].location));
1888#line 1889 "dhcp4_parser.cc"
1892#line 1004 "dhcp4_parser.yy"
1895 if ( (
string(yystack_[0].value.as < std::string > ()) ==
"none") ||
1896 (
string(yystack_[0].value.as < std::string > ()) ==
"warn") ||
1897 (
string(yystack_[0].value.as < std::string > ()) ==
"fix") ||
1898 (
string(yystack_[0].value.as < std::string > ()) ==
"fix-del") ||
1899 (
string(yystack_[0].value.as < std::string > ()) ==
"del")) {
1901 ctx.
stack_.back()->set(
"lease-checks", user);
1904 error(yystack_[0].location,
"Unsupported 'lease-checks value: " +
string(yystack_[0].value.as < std::string > ()) +
1905 ", supported values are: none, warn, fix, fix-del, del");
1908#line 1909 "dhcp4_parser.cc"
1912#line 1020 "dhcp4_parser.yy"
1914 ctx.
unique(
"extended-info-checks", ctx.
loc2pos(yystack_[0].location));
1917#line 1918 "dhcp4_parser.cc"
1921#line 1023 "dhcp4_parser.yy"
1924 if ( (
string(yystack_[0].value.as < std::string > ()) ==
"none") ||
1925 (
string(yystack_[0].value.as < std::string > ()) ==
"fix") ||
1926 (
string(yystack_[0].value.as < std::string > ()) ==
"strict") ||
1927 (
string(yystack_[0].value.as < std::string > ()) ==
"pedantic")) {
1929 ctx.
stack_.back()->set(
"extended-info-checks", user);
1932 error(yystack_[0].location,
"Unsupported 'extended-info-checks value: " +
string(yystack_[0].value.as < std::string > ()) +
1933 ", supported values are: none, fix, strict, pedantic");
1936#line 1937 "dhcp4_parser.cc"
1940#line 1038 "dhcp4_parser.yy"
1942 ctx.
unique(
"hosts-database", ctx.
loc2pos(yystack_[0].location));
1944 ctx.
stack_.back()->set(
"hosts-database", i);
1948#line 1949 "dhcp4_parser.cc"
1952#line 1044 "dhcp4_parser.yy"
1959#line 1960 "dhcp4_parser.cc"
1963#line 1051 "dhcp4_parser.yy"
1965 ctx.
unique(
"hosts-databases", ctx.
loc2pos(yystack_[0].location));
1967 ctx.
stack_.back()->set(
"hosts-databases", l);
1971#line 1972 "dhcp4_parser.cc"
1975#line 1057 "dhcp4_parser.yy"
1980#line 1981 "dhcp4_parser.cc"
1984#line 1068 "dhcp4_parser.yy"
1988#line 1989 "dhcp4_parser.cc"
1992#line 1073 "dhcp4_parser.yy"
1995 ctx.
stack_.back()->add(m);
1998#line 1999 "dhcp4_parser.cc"
2002#line 1077 "dhcp4_parser.yy"
2008#line 2009 "dhcp4_parser.cc"
2012#line 1085 "dhcp4_parser.yy"
2016#line 2017 "dhcp4_parser.cc"
2020#line 1115 "dhcp4_parser.yy"
2025#line 2026 "dhcp4_parser.cc"
2029#line 1118 "dhcp4_parser.yy"
2032 ctx.
stack_.back()->set(
"type", db_type);
2035#line 2036 "dhcp4_parser.cc"
2039#line 1124 "dhcp4_parser.yy"
2044#line 2045 "dhcp4_parser.cc"
2048#line 1127 "dhcp4_parser.yy"
2051 ctx.
stack_.back()->set(
"user", user);
2054#line 2055 "dhcp4_parser.cc"
2058#line 1133 "dhcp4_parser.yy"
2063#line 2064 "dhcp4_parser.cc"
2067#line 1136 "dhcp4_parser.yy"
2070 ctx.
stack_.back()->set(
"password", pwd);
2073#line 2074 "dhcp4_parser.cc"
2077#line 1142 "dhcp4_parser.yy"
2082#line 2083 "dhcp4_parser.cc"
2086#line 1145 "dhcp4_parser.yy"
2089 ctx.
stack_.back()->set(
"host", h);
2092#line 2093 "dhcp4_parser.cc"
2096#line 1151 "dhcp4_parser.yy"
2100 ctx.
stack_.back()->set(
"port", p);
2102#line 2103 "dhcp4_parser.cc"
2106#line 1157 "dhcp4_parser.yy"
2111#line 2112 "dhcp4_parser.cc"
2115#line 1160 "dhcp4_parser.yy"
2118 ctx.
stack_.back()->set(
"name", name);
2121#line 2122 "dhcp4_parser.cc"
2125#line 1166 "dhcp4_parser.yy"
2129 ctx.
stack_.back()->set(
"persist", n);
2131#line 2132 "dhcp4_parser.cc"
2135#line 1172 "dhcp4_parser.yy"
2137 ctx.
unique(
"lfc-interval", ctx.
loc2pos(yystack_[2].location));
2139 ctx.
stack_.back()->set(
"lfc-interval", n);
2141#line 2142 "dhcp4_parser.cc"
2145#line 1178 "dhcp4_parser.yy"
2149 ctx.
stack_.back()->set(
"readonly", n);
2151#line 2152 "dhcp4_parser.cc"
2155#line 1184 "dhcp4_parser.yy"
2157 ctx.
unique(
"connect-timeout", ctx.
loc2pos(yystack_[2].location));
2159 ctx.
stack_.back()->set(
"connect-timeout", n);
2161#line 2162 "dhcp4_parser.cc"
2165#line 1190 "dhcp4_parser.yy"
2167 ctx.
unique(
"read-timeout", ctx.
loc2pos(yystack_[2].location));
2169 ctx.
stack_.back()->set(
"read-timeout", n);
2171#line 2172 "dhcp4_parser.cc"
2175#line 1196 "dhcp4_parser.yy"
2177 ctx.
unique(
"write-timeout", ctx.
loc2pos(yystack_[2].location));
2179 ctx.
stack_.back()->set(
"write-timeout", n);
2181#line 2182 "dhcp4_parser.cc"
2185#line 1202 "dhcp4_parser.yy"
2187 ctx.
unique(
"tcp-user-timeout", ctx.
loc2pos(yystack_[2].location));
2189 ctx.
stack_.back()->set(
"tcp-user-timeout", n);
2191#line 2192 "dhcp4_parser.cc"
2195#line 1208 "dhcp4_parser.yy"
2197 ctx.
unique(
"max-reconnect-tries", ctx.
loc2pos(yystack_[2].location));
2199 ctx.
stack_.back()->set(
"max-reconnect-tries", n);
2201#line 2202 "dhcp4_parser.cc"
2205#line 1214 "dhcp4_parser.yy"
2207 ctx.
unique(
"reconnect-wait-time", ctx.
loc2pos(yystack_[2].location));
2209 ctx.
stack_.back()->set(
"reconnect-wait-time", n);
2211#line 2212 "dhcp4_parser.cc"
2215#line 1220 "dhcp4_parser.yy"
2220#line 2221 "dhcp4_parser.cc"
2224#line 1223 "dhcp4_parser.yy"
2229#line 2230 "dhcp4_parser.cc"
2233#line 1228 "dhcp4_parser.yy"
2235#line 2236 "dhcp4_parser.cc"
2239#line 1229 "dhcp4_parser.yy"
2241#line 2242 "dhcp4_parser.cc"
2245#line 1230 "dhcp4_parser.yy"
2247#line 2248 "dhcp4_parser.cc"
2251#line 1233 "dhcp4_parser.yy"
2253 ctx.
unique(
"retry-on-startup", ctx.
loc2pos(yystack_[2].location));
2255 ctx.
stack_.back()->set(
"retry-on-startup", n);
2257#line 2258 "dhcp4_parser.cc"
2261#line 1239 "dhcp4_parser.yy"
2263 ctx.
unique(
"max-row-errors", ctx.
loc2pos(yystack_[2].location));
2265 ctx.
stack_.back()->set(
"max-row-errors", n);
2267#line 2268 "dhcp4_parser.cc"
2271#line 1245 "dhcp4_parser.yy"
2273 ctx.
unique(
"trust-anchor", ctx.
loc2pos(yystack_[0].location));
2276#line 2277 "dhcp4_parser.cc"
2280#line 1248 "dhcp4_parser.yy"
2283 ctx.
stack_.back()->set(
"trust-anchor", ca);
2286#line 2287 "dhcp4_parser.cc"
2290#line 1254 "dhcp4_parser.yy"
2295#line 2296 "dhcp4_parser.cc"
2299#line 1257 "dhcp4_parser.yy"
2302 ctx.
stack_.back()->set(
"cert-file", cert);
2305#line 2306 "dhcp4_parser.cc"
2309#line 1263 "dhcp4_parser.yy"
2314#line 2315 "dhcp4_parser.cc"
2318#line 1266 "dhcp4_parser.yy"
2321 ctx.
stack_.back()->set(
"key-file", key);
2324#line 2325 "dhcp4_parser.cc"
2328#line 1272 "dhcp4_parser.yy"
2330 ctx.
unique(
"cipher-list", ctx.
loc2pos(yystack_[0].location));
2333#line 2334 "dhcp4_parser.cc"
2337#line 1275 "dhcp4_parser.yy"
2340 ctx.
stack_.back()->set(
"cipher-list", cl);
2343#line 2344 "dhcp4_parser.cc"
2347#line 1281 "dhcp4_parser.yy"
2349 ctx.
unique(
"host-reservation-identifiers", ctx.
loc2pos(yystack_[0].location));
2351 ctx.
stack_.back()->set(
"host-reservation-identifiers", l);
2355#line 2356 "dhcp4_parser.cc"
2359#line 1287 "dhcp4_parser.yy"
2364#line 2365 "dhcp4_parser.cc"
2368#line 1294 "dhcp4_parser.yy"
2372#line 2373 "dhcp4_parser.cc"
2376#line 1306 "dhcp4_parser.yy"
2379 ctx.
stack_.back()->add(duid);
2381#line 2382 "dhcp4_parser.cc"
2385#line 1311 "dhcp4_parser.yy"
2388 ctx.
stack_.back()->add(hwaddr);
2390#line 2391 "dhcp4_parser.cc"
2394#line 1316 "dhcp4_parser.yy"
2397 ctx.
stack_.back()->add(circuit);
2399#line 2400 "dhcp4_parser.cc"
2403#line 1321 "dhcp4_parser.yy"
2406 ctx.
stack_.back()->add(client);
2408#line 2409 "dhcp4_parser.cc"
2412#line 1326 "dhcp4_parser.yy"
2415 ctx.
stack_.back()->add(flex_id);
2417#line 2418 "dhcp4_parser.cc"
2421#line 1333 "dhcp4_parser.yy"
2423 ctx.
unique(
"multi-threading", ctx.
loc2pos(yystack_[0].location));
2425 ctx.
stack_.back()->set(
"multi-threading", mt);
2426 ctx.
stack_.push_back(mt);
2429#line 2430 "dhcp4_parser.cc"
2433#line 1339 "dhcp4_parser.yy"
2436 ctx.
require(
"enable-multi-threading", ctx.
loc2pos(yystack_[2].location), ctx.
loc2pos(yystack_[0].location));
2440#line 2441 "dhcp4_parser.cc"
2444#line 1348 "dhcp4_parser.yy"
2448#line 2449 "dhcp4_parser.cc"
2452#line 1361 "dhcp4_parser.yy"
2454 ctx.
unique(
"enable-multi-threading", ctx.
loc2pos(yystack_[2].location));
2456 ctx.
stack_.back()->set(
"enable-multi-threading", b);
2458#line 2459 "dhcp4_parser.cc"
2462#line 1367 "dhcp4_parser.yy"
2464 ctx.
unique(
"thread-pool-size", ctx.
loc2pos(yystack_[2].location));
2466 ctx.
stack_.back()->set(
"thread-pool-size", prf);
2468#line 2469 "dhcp4_parser.cc"
2472#line 1373 "dhcp4_parser.yy"
2474 ctx.
unique(
"packet-queue-size", ctx.
loc2pos(yystack_[2].location));
2476 ctx.
stack_.back()->set(
"packet-queue-size", prf);
2478#line 2479 "dhcp4_parser.cc"
2482#line 1379 "dhcp4_parser.yy"
2484 ctx.
unique(
"hooks-libraries", ctx.
loc2pos(yystack_[0].location));
2486 ctx.
stack_.back()->set(
"hooks-libraries", l);
2490#line 2491 "dhcp4_parser.cc"
2494#line 1385 "dhcp4_parser.yy"
2499#line 2500 "dhcp4_parser.cc"
2503#line 1396 "dhcp4_parser.yy"
2507#line 2508 "dhcp4_parser.cc"
2511#line 1401 "dhcp4_parser.yy"
2514 ctx.
stack_.back()->add(m);
2517#line 2518 "dhcp4_parser.cc"
2521#line 1405 "dhcp4_parser.yy"
2527#line 2528 "dhcp4_parser.cc"
2531#line 1411 "dhcp4_parser.yy"
2537#line 2538 "dhcp4_parser.cc"
2541#line 1415 "dhcp4_parser.yy"
2547#line 2548 "dhcp4_parser.cc"
2551#line 1423 "dhcp4_parser.yy"
2555#line 2556 "dhcp4_parser.cc"
2559#line 1433 "dhcp4_parser.yy"
2564#line 2565 "dhcp4_parser.cc"
2568#line 1436 "dhcp4_parser.yy"
2571 ctx.
stack_.back()->set(
"library", lib);
2574#line 2575 "dhcp4_parser.cc"
2578#line 1442 "dhcp4_parser.yy"
2580 ctx.
unique(
"parameters", ctx.
loc2pos(yystack_[0].location));
2583#line 2584 "dhcp4_parser.cc"
2587#line 1445 "dhcp4_parser.yy"
2589 ctx.
stack_.back()->set(
"parameters", yystack_[0].value.as <
ElementPtr > ());
2592#line 2593 "dhcp4_parser.cc"
2596#line 1451 "dhcp4_parser.yy"
2598 ctx.
unique(
"expired-leases-processing", ctx.
loc2pos(yystack_[0].location));
2600 ctx.
stack_.back()->set(
"expired-leases-processing", m);
2604#line 2605 "dhcp4_parser.cc"
2608#line 1457 "dhcp4_parser.yy"
2614#line 2615 "dhcp4_parser.cc"
2618#line 1465 "dhcp4_parser.yy"
2622#line 2623 "dhcp4_parser.cc"
2626#line 1478 "dhcp4_parser.yy"
2628 ctx.
unique(
"reclaim-timer-wait-time", ctx.
loc2pos(yystack_[2].location));
2630 ctx.
stack_.back()->set(
"reclaim-timer-wait-time", value);
2632#line 2633 "dhcp4_parser.cc"
2636#line 1484 "dhcp4_parser.yy"
2638 ctx.
unique(
"flush-reclaimed-timer-wait-time", ctx.
loc2pos(yystack_[2].location));
2640 ctx.
stack_.back()->set(
"flush-reclaimed-timer-wait-time", value);
2642#line 2643 "dhcp4_parser.cc"
2646#line 1490 "dhcp4_parser.yy"
2648 ctx.
unique(
"hold-reclaimed-time", ctx.
loc2pos(yystack_[2].location));
2650 ctx.
stack_.back()->set(
"hold-reclaimed-time", value);
2652#line 2653 "dhcp4_parser.cc"
2656#line 1496 "dhcp4_parser.yy"
2658 ctx.
unique(
"max-reclaim-leases", ctx.
loc2pos(yystack_[2].location));
2660 ctx.
stack_.back()->set(
"max-reclaim-leases", value);
2662#line 2663 "dhcp4_parser.cc"
2666#line 1502 "dhcp4_parser.yy"
2668 ctx.
unique(
"max-reclaim-time", ctx.
loc2pos(yystack_[2].location));
2670 ctx.
stack_.back()->set(
"max-reclaim-time", value);
2672#line 2673 "dhcp4_parser.cc"
2676#line 1508 "dhcp4_parser.yy"
2678 ctx.
unique(
"unwarned-reclaim-cycles", ctx.
loc2pos(yystack_[2].location));
2680 ctx.
stack_.back()->set(
"unwarned-reclaim-cycles", value);
2682#line 2683 "dhcp4_parser.cc"
2686#line 1517 "dhcp4_parser.yy"
2690 ctx.
stack_.back()->set(
"subnet4", l);
2694#line 2695 "dhcp4_parser.cc"
2698#line 1523 "dhcp4_parser.yy"
2703#line 2704 "dhcp4_parser.cc"
2707#line 1537 "dhcp4_parser.yy"
2711#line 2712 "dhcp4_parser.cc"
2715#line 1546 "dhcp4_parser.yy"
2718 ctx.
stack_.back()->add(m);
2721#line 2722 "dhcp4_parser.cc"
2725#line 1550 "dhcp4_parser.yy"
2747#line 2748 "dhcp4_parser.cc"
2751#line 1572 "dhcp4_parser.yy"
2757#line 2758 "dhcp4_parser.cc"
2761#line 1576 "dhcp4_parser.yy"
2767#line 2768 "dhcp4_parser.cc"
2771#line 1585 "dhcp4_parser.yy"
2775#line 2776 "dhcp4_parser.cc"
2779#line 1641 "dhcp4_parser.yy"
2784#line 2785 "dhcp4_parser.cc"
2788#line 1644 "dhcp4_parser.yy"
2791 ctx.
stack_.back()->set(
"subnet", subnet);
2794#line 2795 "dhcp4_parser.cc"
2798#line 1650 "dhcp4_parser.yy"
2800 ctx.
unique(
"4o6-interface", ctx.
loc2pos(yystack_[0].location));
2803#line 2804 "dhcp4_parser.cc"
2807#line 1653 "dhcp4_parser.yy"
2810 ctx.
stack_.back()->set(
"4o6-interface", iface);
2813#line 2814 "dhcp4_parser.cc"
2817#line 1659 "dhcp4_parser.yy"
2819 ctx.
unique(
"4o6-interface-id", ctx.
loc2pos(yystack_[0].location));
2822#line 2823 "dhcp4_parser.cc"
2826#line 1662 "dhcp4_parser.yy"
2829 ctx.
stack_.back()->set(
"4o6-interface-id", iface);
2832#line 2833 "dhcp4_parser.cc"
2836#line 1668 "dhcp4_parser.yy"
2838 ctx.
unique(
"4o6-subnet", ctx.
loc2pos(yystack_[0].location));
2841#line 2842 "dhcp4_parser.cc"
2845#line 1671 "dhcp4_parser.yy"
2848 ctx.
stack_.back()->set(
"4o6-subnet", iface);
2851#line 2852 "dhcp4_parser.cc"
2855#line 1677 "dhcp4_parser.yy"
2860#line 2861 "dhcp4_parser.cc"
2864#line 1680 "dhcp4_parser.yy"
2867 ctx.
stack_.back()->set(
"interface", iface);
2870#line 2871 "dhcp4_parser.cc"
2874#line 1686 "dhcp4_parser.yy"
2876 ctx.
unique(
"client-class", ctx.
loc2pos(yystack_[0].location));
2879#line 2880 "dhcp4_parser.cc"
2883#line 1689 "dhcp4_parser.yy"
2886 ctx.
stack_.back()->set(
"client-class", cls);
2889#line 2890 "dhcp4_parser.cc"
2893#line 1695 "dhcp4_parser.yy"
2895 ctx.
unique(
"require-client-classes", ctx.
loc2pos(yystack_[0].location));
2897 ctx.
stack_.back()->set(
"require-client-classes", c);
2901#line 2902 "dhcp4_parser.cc"
2905#line 1701 "dhcp4_parser.yy"
2910#line 2911 "dhcp4_parser.cc"
2914#line 1706 "dhcp4_parser.yy"
2916 ctx.
unique(
"reservations-global", ctx.
loc2pos(yystack_[2].location));
2918 ctx.
stack_.back()->set(
"reservations-global", b);
2920#line 2921 "dhcp4_parser.cc"
2924#line 1712 "dhcp4_parser.yy"
2926 ctx.
unique(
"reservations-in-subnet", ctx.
loc2pos(yystack_[2].location));
2928 ctx.
stack_.back()->set(
"reservations-in-subnet", b);
2930#line 2931 "dhcp4_parser.cc"
2934#line 1718 "dhcp4_parser.yy"
2936 ctx.
unique(
"reservations-out-of-pool", ctx.
loc2pos(yystack_[2].location));
2938 ctx.
stack_.back()->set(
"reservations-out-of-pool", b);
2940#line 2941 "dhcp4_parser.cc"
2944#line 1724 "dhcp4_parser.yy"
2948 ctx.
stack_.back()->set(
"id",
id);
2950#line 2951 "dhcp4_parser.cc"
2954#line 1732 "dhcp4_parser.yy"
2956 ctx.
unique(
"shared-networks", ctx.
loc2pos(yystack_[0].location));
2958 ctx.
stack_.back()->set(
"shared-networks", l);
2962#line 2963 "dhcp4_parser.cc"
2966#line 1738 "dhcp4_parser.yy"
2971#line 2972 "dhcp4_parser.cc"
2975#line 1751 "dhcp4_parser.yy"
2979#line 2980 "dhcp4_parser.cc"
2983#line 1756 "dhcp4_parser.yy"
2986 ctx.
stack_.back()->add(m);
2989#line 2990 "dhcp4_parser.cc"
2993#line 1760 "dhcp4_parser.yy"
2997#line 2998 "dhcp4_parser.cc"
3001#line 1766 "dhcp4_parser.yy"
3005#line 3006 "dhcp4_parser.cc"
3009#line 1820 "dhcp4_parser.yy"
3011 ctx.
unique(
"option-def", ctx.
loc2pos(yystack_[0].location));
3013 ctx.
stack_.back()->set(
"option-def", l);
3017#line 3018 "dhcp4_parser.cc"
3021#line 1826 "dhcp4_parser.yy"
3026#line 3027 "dhcp4_parser.cc"
3030#line 1834 "dhcp4_parser.yy"
3035#line 3036 "dhcp4_parser.cc"
3039#line 1837 "dhcp4_parser.yy"
3043#line 3044 "dhcp4_parser.cc"
3047#line 1849 "dhcp4_parser.yy"
3051#line 3052 "dhcp4_parser.cc"
3055#line 1856 "dhcp4_parser.yy"
3058 ctx.
stack_.back()->add(m);
3061#line 3062 "dhcp4_parser.cc"
3065#line 1860 "dhcp4_parser.yy"
3073#line 3074 "dhcp4_parser.cc"
3077#line 1871 "dhcp4_parser.yy"
3083#line 3084 "dhcp4_parser.cc"
3087#line 1875 "dhcp4_parser.yy"
3095#line 3096 "dhcp4_parser.cc"
3099#line 1891 "dhcp4_parser.yy"
3103#line 3104 "dhcp4_parser.cc"
3107#line 1910 "dhcp4_parser.yy"
3111 ctx.
stack_.back()->set(
"code", code);
3113#line 3114 "dhcp4_parser.cc"
3117#line 1918 "dhcp4_parser.yy"
3122#line 3123 "dhcp4_parser.cc"
3126#line 1921 "dhcp4_parser.yy"
3129 ctx.
stack_.back()->set(
"type", prf);
3132#line 3133 "dhcp4_parser.cc"
3136#line 1927 "dhcp4_parser.yy"
3138 ctx.
unique(
"record-types", ctx.
loc2pos(yystack_[0].location));
3141#line 3142 "dhcp4_parser.cc"
3145#line 1930 "dhcp4_parser.yy"
3148 ctx.
stack_.back()->set(
"record-types", rtypes);
3151#line 3152 "dhcp4_parser.cc"
3155#line 1936 "dhcp4_parser.yy"
3160#line 3161 "dhcp4_parser.cc"
3164#line 1939 "dhcp4_parser.yy"
3167 ctx.
stack_.back()->set(
"space", space);
3170#line 3171 "dhcp4_parser.cc"
3174#line 1947 "dhcp4_parser.yy"
3176 ctx.
unique(
"encapsulate", ctx.
loc2pos(yystack_[0].location));
3179#line 3180 "dhcp4_parser.cc"
3183#line 1950 "dhcp4_parser.yy"
3186 ctx.
stack_.back()->set(
"encapsulate", encap);
3189#line 3190 "dhcp4_parser.cc"
3193#line 1956 "dhcp4_parser.yy"
3197 ctx.
stack_.back()->set(
"array", array);
3199#line 3200 "dhcp4_parser.cc"
3203#line 1966 "dhcp4_parser.yy"
3205 ctx.
unique(
"option-data", ctx.
loc2pos(yystack_[0].location));
3207 ctx.
stack_.back()->set(
"option-data", l);
3211#line 3212 "dhcp4_parser.cc"
3215#line 1972 "dhcp4_parser.yy"
3220#line 3221 "dhcp4_parser.cc"
3224#line 1987 "dhcp4_parser.yy"
3228#line 3229 "dhcp4_parser.cc"
3232#line 1994 "dhcp4_parser.yy"
3235 ctx.
stack_.back()->add(m);
3238#line 3239 "dhcp4_parser.cc"
3242#line 1998 "dhcp4_parser.yy"
3247#line 3248 "dhcp4_parser.cc"
3251#line 2006 "dhcp4_parser.yy"
3257#line 3258 "dhcp4_parser.cc"
3261#line 2010 "dhcp4_parser.yy"
3266#line 3267 "dhcp4_parser.cc"
3270#line 2026 "dhcp4_parser.yy"
3274#line 3275 "dhcp4_parser.cc"
3278#line 2048 "dhcp4_parser.yy"
3283#line 3284 "dhcp4_parser.cc"
3287#line 2051 "dhcp4_parser.yy"
3290 ctx.
stack_.back()->set(
"data", data);
3293#line 3294 "dhcp4_parser.cc"
3297#line 2061 "dhcp4_parser.yy"
3299 ctx.
unique(
"csv-format", ctx.
loc2pos(yystack_[2].location));
3301 ctx.
stack_.back()->set(
"csv-format", csv);
3303#line 3304 "dhcp4_parser.cc"
3307#line 2067 "dhcp4_parser.yy"
3309 ctx.
unique(
"always-send", ctx.
loc2pos(yystack_[2].location));
3311 ctx.
stack_.back()->set(
"always-send", persist);
3313#line 3314 "dhcp4_parser.cc"
3317#line 2073 "dhcp4_parser.yy"
3319 ctx.
unique(
"never-send", ctx.
loc2pos(yystack_[2].location));
3321 ctx.
stack_.back()->set(
"never-send", cancel);
3323#line 3324 "dhcp4_parser.cc"
3327#line 2079 "dhcp4_parser.yy"
3329 ctx.
unique(
"client-classes", ctx.
loc2pos(yystack_[0].location));
3331 ctx.
stack_.back()->set(
"client-classes", c);
3335#line 3336 "dhcp4_parser.cc"
3339#line 2085 "dhcp4_parser.yy"
3344#line 3345 "dhcp4_parser.cc"
3348#line 2093 "dhcp4_parser.yy"
3352 ctx.
stack_.back()->set(
"pools", l);
3356#line 3357 "dhcp4_parser.cc"
3360#line 2099 "dhcp4_parser.yy"
3365#line 3366 "dhcp4_parser.cc"
3369#line 2112 "dhcp4_parser.yy"
3373#line 3374 "dhcp4_parser.cc"
3377#line 2117 "dhcp4_parser.yy"
3380 ctx.
stack_.back()->add(m);
3383#line 3384 "dhcp4_parser.cc"
3387#line 2121 "dhcp4_parser.yy"
3393#line 3394 "dhcp4_parser.cc"
3397#line 2127 "dhcp4_parser.yy"
3403#line 3404 "dhcp4_parser.cc"
3407#line 2131 "dhcp4_parser.yy"
3413#line 3414 "dhcp4_parser.cc"
3417#line 2139 "dhcp4_parser.yy"
3421#line 3422 "dhcp4_parser.cc"
3425#line 2154 "dhcp4_parser.yy"
3430#line 3431 "dhcp4_parser.cc"
3434#line 2157 "dhcp4_parser.yy"
3437 ctx.
stack_.back()->set(
"pool", pool);
3440#line 3441 "dhcp4_parser.cc"
3444#line 2163 "dhcp4_parser.yy"
3448 ctx.
stack_.back()->set(
"pool-id",
id);
3450#line 3451 "dhcp4_parser.cc"
3454#line 2169 "dhcp4_parser.yy"
3458#line 3459 "dhcp4_parser.cc"
3462#line 2171 "dhcp4_parser.yy"
3471 if ((old->size() != 1) || !old->contains(
"comment")) {
3472 std::stringstream msg;
3473 msg <<
"duplicate user-context entries (previous at "
3474 << old->getPosition().str() <<
")";
3475 error(yystack_[3].location, msg.str());
3478 user_context->set(
"comment", old->get(
"comment"));
3482 parent->set(
"user-context", user_context);
3485#line 3486 "dhcp4_parser.cc"
3489#line 2194 "dhcp4_parser.yy"
3493#line 3494 "dhcp4_parser.cc"
3497#line 2196 "dhcp4_parser.yy"
3502 user_context->set(
"comment", comment);
3508 if (old->contains(
"comment")) {
3509 std::stringstream msg;
3510 msg <<
"duplicate user-context/comment entries (previous at "
3511 << old->getPosition().str() <<
")";
3512 error(yystack_[3].location, msg.str());
3515 merge(user_context, old);
3519 parent->set(
"user-context", user_context);
3522#line 3523 "dhcp4_parser.cc"
3526#line 2224 "dhcp4_parser.yy"
3528 ctx.
unique(
"reservations", ctx.
loc2pos(yystack_[0].location));
3530 ctx.
stack_.back()->set(
"reservations", l);
3534#line 3535 "dhcp4_parser.cc"
3538#line 2230 "dhcp4_parser.yy"
3543#line 3544 "dhcp4_parser.cc"
3547#line 2241 "dhcp4_parser.yy"
3551#line 3552 "dhcp4_parser.cc"
3555#line 2246 "dhcp4_parser.yy"
3558 ctx.
stack_.back()->add(m);
3561#line 3562 "dhcp4_parser.cc"
3565#line 2250 "dhcp4_parser.yy"
3570#line 3571 "dhcp4_parser.cc"
3574#line 2255 "dhcp4_parser.yy"
3580#line 3581 "dhcp4_parser.cc"
3584#line 2259 "dhcp4_parser.yy"
3589#line 3590 "dhcp4_parser.cc"
3593#line 2270 "dhcp4_parser.yy"
3597#line 3598 "dhcp4_parser.cc"
3601#line 2293 "dhcp4_parser.yy"
3603 ctx.
unique(
"next-server", ctx.
loc2pos(yystack_[0].location));
3606#line 3607 "dhcp4_parser.cc"
3610#line 2296 "dhcp4_parser.yy"
3613 ctx.
stack_.back()->set(
"next-server", next_server);
3616#line 3617 "dhcp4_parser.cc"
3620#line 2302 "dhcp4_parser.yy"
3622 ctx.
unique(
"server-hostname", ctx.
loc2pos(yystack_[0].location));
3625#line 3626 "dhcp4_parser.cc"
3629#line 2305 "dhcp4_parser.yy"
3632 ctx.
stack_.back()->set(
"server-hostname", srv);
3635#line 3636 "dhcp4_parser.cc"
3639#line 2311 "dhcp4_parser.yy"
3641 ctx.
unique(
"boot-file-name", ctx.
loc2pos(yystack_[0].location));
3644#line 3645 "dhcp4_parser.cc"
3648#line 2314 "dhcp4_parser.yy"
3651 ctx.
stack_.back()->set(
"boot-file-name", bootfile);
3654#line 3655 "dhcp4_parser.cc"
3658#line 2320 "dhcp4_parser.yy"
3660 ctx.
unique(
"ip-address", ctx.
loc2pos(yystack_[0].location));
3663#line 3664 "dhcp4_parser.cc"
3667#line 2323 "dhcp4_parser.yy"
3670 ctx.
stack_.back()->set(
"ip-address", addr);
3673#line 3674 "dhcp4_parser.cc"
3677#line 2329 "dhcp4_parser.yy"
3682#line 3683 "dhcp4_parser.cc"
3686#line 2332 "dhcp4_parser.yy"
3689 ctx.
stack_.back()->set(
"duid", d);
3692#line 3693 "dhcp4_parser.cc"
3696#line 2338 "dhcp4_parser.yy"
3698 ctx.
unique(
"hw-address", ctx.
loc2pos(yystack_[0].location));
3701#line 3702 "dhcp4_parser.cc"
3705#line 2341 "dhcp4_parser.yy"
3708 ctx.
stack_.back()->set(
"hw-address", hw);
3711#line 3712 "dhcp4_parser.cc"
3715#line 2347 "dhcp4_parser.yy"
3720#line 3721 "dhcp4_parser.cc"
3724#line 2350 "dhcp4_parser.yy"
3727 ctx.
stack_.back()->set(
"client-id", hw);
3730#line 3731 "dhcp4_parser.cc"
3734#line 2356 "dhcp4_parser.yy"
3736 ctx.
unique(
"circuit-id", ctx.
loc2pos(yystack_[0].location));
3739#line 3740 "dhcp4_parser.cc"
3743#line 2359 "dhcp4_parser.yy"
3746 ctx.
stack_.back()->set(
"circuit-id", hw);
3749#line 3750 "dhcp4_parser.cc"
3753#line 2365 "dhcp4_parser.yy"
3758#line 3759 "dhcp4_parser.cc"
3762#line 2368 "dhcp4_parser.yy"
3765 ctx.
stack_.back()->set(
"flex-id", hw);
3768#line 3769 "dhcp4_parser.cc"
3772#line 2374 "dhcp4_parser.yy"
3777#line 3778 "dhcp4_parser.cc"
3781#line 2377 "dhcp4_parser.yy"
3784 ctx.
stack_.back()->set(
"hostname", host);
3787#line 3788 "dhcp4_parser.cc"
3791#line 2383 "dhcp4_parser.yy"
3793 ctx.
unique(
"client-classes", ctx.
loc2pos(yystack_[0].location));
3795 ctx.
stack_.back()->set(
"client-classes", c);
3799#line 3800 "dhcp4_parser.cc"
3803#line 2389 "dhcp4_parser.yy"
3808#line 3809 "dhcp4_parser.cc"
3812#line 2397 "dhcp4_parser.yy"
3816 ctx.
stack_.back()->set(
"relay", m);
3820#line 3821 "dhcp4_parser.cc"
3824#line 2403 "dhcp4_parser.yy"
3829#line 3830 "dhcp4_parser.cc"
3833#line 2411 "dhcp4_parser.yy"
3835 ctx.
unique(
"ip-addresses", ctx.
loc2pos(yystack_[0].location));
3837 ctx.
stack_.back()->set(
"ip-addresses", l);
3841#line 3842 "dhcp4_parser.cc"
3845#line 2417 "dhcp4_parser.yy"
3850#line 3851 "dhcp4_parser.cc"
3854#line 2425 "dhcp4_parser.yy"
3856 ctx.
unique(
"client-classes", ctx.
loc2pos(yystack_[0].location));
3858 ctx.
stack_.back()->set(
"client-classes", l);
3862#line 3863 "dhcp4_parser.cc"
3866#line 2431 "dhcp4_parser.yy"
3871#line 3872 "dhcp4_parser.cc"
3875#line 2438 "dhcp4_parser.yy"
3879#line 3880 "dhcp4_parser.cc"
3883#line 2443 "dhcp4_parser.yy"
3886 ctx.
stack_.back()->add(m);
3889#line 3890 "dhcp4_parser.cc"
3893#line 2447 "dhcp4_parser.yy"
3899#line 3900 "dhcp4_parser.cc"
3903#line 2459 "dhcp4_parser.yy"
3907#line 3908 "dhcp4_parser.cc"
3911#line 2484 "dhcp4_parser.yy"
3916#line 3917 "dhcp4_parser.cc"
3920#line 2487 "dhcp4_parser.yy"
3923 ctx.
stack_.back()->set(
"test", test);
3926#line 3927 "dhcp4_parser.cc"
3930#line 2493 "dhcp4_parser.yy"
3932 ctx.
unique(
"template-test", ctx.
loc2pos(yystack_[0].location));
3935#line 3936 "dhcp4_parser.cc"
3939#line 2496 "dhcp4_parser.yy"
3942 ctx.
stack_.back()->set(
"template-test", template_test);
3945#line 3946 "dhcp4_parser.cc"
3949#line 2502 "dhcp4_parser.yy"
3951 ctx.
unique(
"only-if-required", ctx.
loc2pos(yystack_[2].location));
3953 ctx.
stack_.back()->set(
"only-if-required", b);
3955#line 3956 "dhcp4_parser.cc"
3959#line 2510 "dhcp4_parser.yy"
3961 ctx.
unique(
"dhcp4o6-port", ctx.
loc2pos(yystack_[2].location));
3963 ctx.
stack_.back()->set(
"dhcp4o6-port", time);
3965#line 3966 "dhcp4_parser.cc"
3969#line 2518 "dhcp4_parser.yy"
3971 ctx.
unique(
"control-socket", ctx.
loc2pos(yystack_[0].location));
3972 ctx.
unique(
"control-sockets", ctx.
loc2pos(yystack_[0].location));
3974 ctx.
stack_.back()->set(
"control-socket", m);
3978#line 3979 "dhcp4_parser.cc"
3982#line 2525 "dhcp4_parser.yy"
3987#line 3988 "dhcp4_parser.cc"
3991#line 2530 "dhcp4_parser.yy"
3993 ctx.
unique(
"control-sockets", ctx.
loc2pos(yystack_[0].location));
3994 ctx.
unique(
"control-socket", ctx.
loc2pos(yystack_[0].location));
3996 ctx.
stack_.back()->set(
"control-sockets", l);
4000#line 4001 "dhcp4_parser.cc"
4004#line 2537 "dhcp4_parser.yy"
4009#line 4010 "dhcp4_parser.cc"
4013#line 2548 "dhcp4_parser.yy"
4017#line 4018 "dhcp4_parser.cc"
4021#line 2553 "dhcp4_parser.yy"
4024 ctx.
stack_.back()->add(m);
4027#line 4028 "dhcp4_parser.cc"
4031#line 2557 "dhcp4_parser.yy"
4035#line 4036 "dhcp4_parser.cc"
4039#line 2563 "dhcp4_parser.yy"
4043#line 4044 "dhcp4_parser.cc"
4047#line 2582 "dhcp4_parser.yy"
4049 ctx.
unique(
"socket-type", ctx.
loc2pos(yystack_[0].location));
4052#line 4053 "dhcp4_parser.cc"
4056#line 2585 "dhcp4_parser.yy"
4058 ctx.
stack_.back()->set(
"socket-type", yystack_[0].value.as <
ElementPtr > ());
4061#line 4062 "dhcp4_parser.cc"
4065#line 2591 "dhcp4_parser.yy"
4067#line 4068 "dhcp4_parser.cc"
4071#line 2592 "dhcp4_parser.yy"
4073#line 4074 "dhcp4_parser.cc"
4077#line 2593 "dhcp4_parser.yy"
4079#line 4080 "dhcp4_parser.cc"
4083#line 2596 "dhcp4_parser.yy"
4085 ctx.
unique(
"socket-name", ctx.
loc2pos(yystack_[0].location));
4086 ctx.
unique(
"socket-address", ctx.
loc2pos(yystack_[0].location));
4089#line 4090 "dhcp4_parser.cc"
4093#line 2600 "dhcp4_parser.yy"
4096 ctx.
stack_.back()->set(
"socket-name", name);
4099#line 4100 "dhcp4_parser.cc"
4103#line 2606 "dhcp4_parser.yy"
4105 ctx.
unique(
"socket-address", ctx.
loc2pos(yystack_[0].location));
4106 ctx.
unique(
"socket-name", ctx.
loc2pos(yystack_[0].location));
4109#line 4110 "dhcp4_parser.cc"
4113#line 2610 "dhcp4_parser.yy"
4116 ctx.
stack_.back()->set(
"socket-address", address);
4119#line 4120 "dhcp4_parser.cc"
4123#line 2616 "dhcp4_parser.yy"
4125 ctx.
unique(
"socket-port", ctx.
loc2pos(yystack_[2].location));
4127 ctx.
stack_.back()->set(
"socket-port", port);
4129#line 4130 "dhcp4_parser.cc"
4133#line 2622 "dhcp4_parser.yy"
4135 ctx.
unique(
"cert-required", ctx.
loc2pos(yystack_[2].location));
4137 ctx.
stack_.back()->set(
"cert-required", req);
4139#line 4140 "dhcp4_parser.cc"
4143#line 2630 "dhcp4_parser.yy"
4145 ctx.
unique(
"authentication", ctx.
loc2pos(yystack_[0].location));
4147 ctx.
stack_.back()->set(
"authentication", m);
4151#line 4152 "dhcp4_parser.cc"
4155#line 2636 "dhcp4_parser.yy"
4162#line 4163 "dhcp4_parser.cc"
4166#line 2645 "dhcp4_parser.yy"
4170#line 4171 "dhcp4_parser.cc"
4174#line 2659 "dhcp4_parser.yy"
4179#line 4180 "dhcp4_parser.cc"
4183#line 2662 "dhcp4_parser.yy"
4188#line 4189 "dhcp4_parser.cc"
4192#line 2667 "dhcp4_parser.yy"
4194#line 4195 "dhcp4_parser.cc"
4198#line 2670 "dhcp4_parser.yy"
4203#line 4204 "dhcp4_parser.cc"
4207#line 2673 "dhcp4_parser.yy"
4210 ctx.
stack_.back()->set(
"realm", realm);
4213#line 4214 "dhcp4_parser.cc"
4217#line 2679 "dhcp4_parser.yy"
4222#line 4223 "dhcp4_parser.cc"
4226#line 2682 "dhcp4_parser.yy"
4229 ctx.
stack_.back()->set(
"directory", directory);
4232#line 4233 "dhcp4_parser.cc"
4236#line 2688 "dhcp4_parser.yy"
4240 ctx.
stack_.back()->set(
"clients", l);
4244#line 4245 "dhcp4_parser.cc"
4248#line 2694 "dhcp4_parser.yy"
4253#line 4254 "dhcp4_parser.cc"
4257#line 2705 "dhcp4_parser.yy"
4261#line 4262 "dhcp4_parser.cc"
4265#line 2710 "dhcp4_parser.yy"
4268 ctx.
stack_.back()->add(m);
4271#line 4272 "dhcp4_parser.cc"
4275#line 2714 "dhcp4_parser.yy"
4279#line 4280 "dhcp4_parser.cc"
4283#line 2720 "dhcp4_parser.yy"
4287#line 4288 "dhcp4_parser.cc"
4291#line 2734 "dhcp4_parser.yy"
4296#line 4297 "dhcp4_parser.cc"
4300#line 2737 "dhcp4_parser.yy"
4303 ctx.
stack_.back()->set(
"user-file", user);
4306#line 4307 "dhcp4_parser.cc"
4310#line 2743 "dhcp4_parser.yy"
4312 ctx.
unique(
"password-file", ctx.
loc2pos(yystack_[0].location));
4315#line 4316 "dhcp4_parser.cc"
4319#line 2746 "dhcp4_parser.yy"
4322 ctx.
stack_.back()->set(
"password-file", password);
4325#line 4326 "dhcp4_parser.cc"
4329#line 2754 "dhcp4_parser.yy"
4331 ctx.
unique(
"dhcp-queue-control", ctx.
loc2pos(yystack_[0].location));
4333 ctx.
stack_.back()->set(
"dhcp-queue-control", qc);
4334 ctx.
stack_.push_back(qc);
4337#line 4338 "dhcp4_parser.cc"
4341#line 2760 "dhcp4_parser.yy"
4348#line 4349 "dhcp4_parser.cc"
4352#line 2769 "dhcp4_parser.yy"
4356#line 4357 "dhcp4_parser.cc"
4360#line 2782 "dhcp4_parser.yy"
4362 ctx.
unique(
"enable-queue", ctx.
loc2pos(yystack_[2].location));
4364 ctx.
stack_.back()->set(
"enable-queue", b);
4366#line 4367 "dhcp4_parser.cc"
4370#line 2788 "dhcp4_parser.yy"
4372 ctx.
unique(
"queue-type", ctx.
loc2pos(yystack_[0].location));
4375#line 4376 "dhcp4_parser.cc"
4379#line 2791 "dhcp4_parser.yy"
4382 ctx.
stack_.back()->set(
"queue-type", qt);
4385#line 4386 "dhcp4_parser.cc"
4389#line 2797 "dhcp4_parser.yy"
4393 ctx.
stack_.back()->set(
"capacity", c);
4395#line 4396 "dhcp4_parser.cc"
4399#line 2803 "dhcp4_parser.yy"
4401 ctx.
unique(yystack_[0].value.as < std::string > (), ctx.
loc2pos(yystack_[0].location));
4404#line 4405 "dhcp4_parser.cc"
4408#line 2806 "dhcp4_parser.yy"
4410 ctx.
stack_.back()->set(yystack_[3].value.as < std::string > (), yystack_[0].value.as <
ElementPtr > ());
4413#line 4414 "dhcp4_parser.cc"
4417#line 2813 "dhcp4_parser.yy"
4421 ctx.
stack_.back()->set(
"dhcp-ddns", m);
4425#line 4426 "dhcp4_parser.cc"
4429#line 2819 "dhcp4_parser.yy"
4432 ctx.
require(
"enable-updates", ctx.
loc2pos(yystack_[2].location), ctx.
loc2pos(yystack_[0].location));
4436#line 4437 "dhcp4_parser.cc"
4440#line 2826 "dhcp4_parser.yy"
4446#line 4447 "dhcp4_parser.cc"
4450#line 2830 "dhcp4_parser.yy"
4453 ctx.
require(
"enable-updates", ctx.
loc2pos(yystack_[3].location), ctx.
loc2pos(yystack_[0].location));
4456#line 4457 "dhcp4_parser.cc"
4460#line 2838 "dhcp4_parser.yy"
4464#line 4465 "dhcp4_parser.cc"
4468#line 2856 "dhcp4_parser.yy"
4470 ctx.
unique(
"enable-updates", ctx.
loc2pos(yystack_[2].location));
4472 ctx.
stack_.back()->set(
"enable-updates", b);
4474#line 4475 "dhcp4_parser.cc"
4478#line 2862 "dhcp4_parser.yy"
4483#line 4484 "dhcp4_parser.cc"
4487#line 2865 "dhcp4_parser.yy"
4490 ctx.
stack_.back()->set(
"server-ip", s);
4493#line 4494 "dhcp4_parser.cc"
4497#line 2871 "dhcp4_parser.yy"
4499 ctx.
unique(
"server-port", ctx.
loc2pos(yystack_[2].location));
4501 ctx.
stack_.back()->set(
"server-port", i);
4503#line 4504 "dhcp4_parser.cc"
4507#line 2877 "dhcp4_parser.yy"
4512#line 4513 "dhcp4_parser.cc"
4516#line 2880 "dhcp4_parser.yy"
4519 ctx.
stack_.back()->set(
"sender-ip", s);
4522#line 4523 "dhcp4_parser.cc"
4526#line 2886 "dhcp4_parser.yy"
4528 ctx.
unique(
"sender-port", ctx.
loc2pos(yystack_[2].location));
4530 ctx.
stack_.back()->set(
"sender-port", i);
4532#line 4533 "dhcp4_parser.cc"
4536#line 2892 "dhcp4_parser.yy"
4538 ctx.
unique(
"max-queue-size", ctx.
loc2pos(yystack_[2].location));
4540 ctx.
stack_.back()->set(
"max-queue-size", i);
4542#line 4543 "dhcp4_parser.cc"
4546#line 2898 "dhcp4_parser.yy"
4548 ctx.
unique(
"ncr-protocol", ctx.
loc2pos(yystack_[0].location));
4551#line 4552 "dhcp4_parser.cc"
4555#line 2901 "dhcp4_parser.yy"
4557 ctx.
stack_.back()->set(
"ncr-protocol", yystack_[0].value.as <
ElementPtr > ());
4560#line 4561 "dhcp4_parser.cc"
4564#line 2907 "dhcp4_parser.yy"
4566#line 4567 "dhcp4_parser.cc"
4570#line 2908 "dhcp4_parser.yy"
4572#line 4573 "dhcp4_parser.cc"
4576#line 2911 "dhcp4_parser.yy"
4578 ctx.
unique(
"ncr-format", ctx.
loc2pos(yystack_[0].location));
4581#line 4582 "dhcp4_parser.cc"
4585#line 2914 "dhcp4_parser.yy"
4588 ctx.
stack_.back()->set(
"ncr-format", json);
4591#line 4592 "dhcp4_parser.cc"
4595#line 2922 "dhcp4_parser.yy"
4597 ctx.
unique(
"config-control", ctx.
loc2pos(yystack_[0].location));
4599 ctx.
stack_.back()->set(
"config-control", i);
4603#line 4604 "dhcp4_parser.cc"
4607#line 2928 "dhcp4_parser.yy"
4613#line 4614 "dhcp4_parser.cc"
4617#line 2934 "dhcp4_parser.yy"
4623#line 4624 "dhcp4_parser.cc"
4627#line 2938 "dhcp4_parser.yy"
4632#line 4633 "dhcp4_parser.cc"
4636#line 2946 "dhcp4_parser.yy"
4640#line 4641 "dhcp4_parser.cc"
4644#line 2956 "dhcp4_parser.yy"
4646 ctx.
unique(
"config-databases", ctx.
loc2pos(yystack_[0].location));
4648 ctx.
stack_.back()->set(
"config-databases", l);
4652#line 4653 "dhcp4_parser.cc"
4656#line 2962 "dhcp4_parser.yy"
4661#line 4662 "dhcp4_parser.cc"
4665#line 2967 "dhcp4_parser.yy"
4667 ctx.
unique(
"config-fetch-wait-time", ctx.
loc2pos(yystack_[2].location));
4669 ctx.
stack_.back()->set(
"config-fetch-wait-time", value);
4671#line 4672 "dhcp4_parser.cc"
4675#line 2975 "dhcp4_parser.yy"
4679 ctx.
stack_.back()->set(
"loggers", l);
4683#line 4684 "dhcp4_parser.cc"
4687#line 2981 "dhcp4_parser.yy"
4692#line 4693 "dhcp4_parser.cc"
4696#line 2990 "dhcp4_parser.yy"
4700#line 4701 "dhcp4_parser.cc"
4704#line 2996 "dhcp4_parser.yy"
4707 ctx.
stack_.back()->add(l);
4710#line 4711 "dhcp4_parser.cc"
4714#line 3000 "dhcp4_parser.yy"
4718#line 4719 "dhcp4_parser.cc"
4722#line 3006 "dhcp4_parser.yy"
4726#line 4727 "dhcp4_parser.cc"
4730#line 3020 "dhcp4_parser.yy"
4732 ctx.
unique(
"debuglevel", ctx.
loc2pos(yystack_[2].location));
4734 ctx.
stack_.back()->set(
"debuglevel", dl);
4736#line 4737 "dhcp4_parser.cc"
4740#line 3026 "dhcp4_parser.yy"
4745#line 4746 "dhcp4_parser.cc"
4749#line 3029 "dhcp4_parser.yy"
4752 ctx.
stack_.back()->set(
"severity", sev);
4755#line 4756 "dhcp4_parser.cc"
4759#line 3035 "dhcp4_parser.yy"
4761 ctx.
unique(
"output-options", ctx.
loc2pos(yystack_[0].location));
4763 ctx.
stack_.back()->set(
"output-options", l);
4767#line 4768 "dhcp4_parser.cc"
4771#line 3041 "dhcp4_parser.yy"
4776#line 4777 "dhcp4_parser.cc"
4780#line 3048 "dhcp4_parser.yy"
4784#line 4785 "dhcp4_parser.cc"
4788#line 3053 "dhcp4_parser.yy"
4791 ctx.
stack_.back()->add(m);
4794#line 4795 "dhcp4_parser.cc"
4798#line 3057 "dhcp4_parser.yy"
4802#line 4803 "dhcp4_parser.cc"
4806#line 3063 "dhcp4_parser.yy"
4810#line 4811 "dhcp4_parser.cc"
4814#line 3075 "dhcp4_parser.yy"
4819#line 4820 "dhcp4_parser.cc"
4823#line 3078 "dhcp4_parser.yy"
4826 ctx.
stack_.back()->set(
"output", sev);
4829#line 4830 "dhcp4_parser.cc"
4833#line 3084 "dhcp4_parser.yy"
4837 ctx.
stack_.back()->set(
"flush", flush);
4839#line 4840 "dhcp4_parser.cc"
4843#line 3090 "dhcp4_parser.yy"
4847 ctx.
stack_.back()->set(
"maxsize", maxsize);
4849#line 4850 "dhcp4_parser.cc"
4853#line 3096 "dhcp4_parser.yy"
4857 ctx.
stack_.back()->set(
"maxver", maxver);
4859#line 4860 "dhcp4_parser.cc"
4863#line 3102 "dhcp4_parser.yy"
4868#line 4869 "dhcp4_parser.cc"
4872#line 3105 "dhcp4_parser.yy"
4875 ctx.
stack_.back()->set(
"pattern", sev);
4878#line 4879 "dhcp4_parser.cc"
4882#line 3111 "dhcp4_parser.yy"
4884 ctx.
unique(
"compatibility", ctx.
loc2pos(yystack_[0].location));
4886 ctx.
stack_.back()->set(
"compatibility", i);
4890#line 4891 "dhcp4_parser.cc"
4894#line 3117 "dhcp4_parser.yy"
4899#line 4900 "dhcp4_parser.cc"
4903#line 3124 "dhcp4_parser.yy"
4907#line 4908 "dhcp4_parser.cc"
4911#line 3136 "dhcp4_parser.yy"
4913 ctx.
unique(
"lenient-option-parsing", ctx.
loc2pos(yystack_[2].location));
4915 ctx.
stack_.back()->set(
"lenient-option-parsing", b);
4917#line 4918 "dhcp4_parser.cc"
4921#line 3142 "dhcp4_parser.yy"
4923 ctx.
unique(
"ignore-dhcp-server-identifier", ctx.
loc2pos(yystack_[2].location));
4925 ctx.
stack_.back()->set(
"ignore-dhcp-server-identifier", b);
4927#line 4928 "dhcp4_parser.cc"
4931#line 3148 "dhcp4_parser.yy"
4933 ctx.
unique(
"ignore-rai-link-selection", ctx.
loc2pos(yystack_[2].location));
4935 ctx.
stack_.back()->set(
"ignore-rai-link-selection", b);
4937#line 4938 "dhcp4_parser.cc"
4941#line 3154 "dhcp4_parser.yy"
4943 ctx.
unique(
"exclude-first-last-24", ctx.
loc2pos(yystack_[2].location));
4945 ctx.
stack_.back()->set(
"exclude-first-last-24", b);
4947#line 4948 "dhcp4_parser.cc"
4951#line 4952 "dhcp4_parser.cc"
4960 YYCDEBUG <<
"Caught exception: " << yyexc.what() <<
'\n';
4970 yypush_ (YY_NULLPTR,
YY_MOVE (yylhs));
4984 std::string msg = yysyntax_error_ (yyctx);
4989 yyerror_range[1].location = yyla.location;
4990 if (yyerrstatus_ == 3)
4998 else if (!yyla.empty ())
5000 yy_destroy_ (
"Error: discarding", yyla);
5034 yyn = yypact_[+yystack_[0].state];
5035 if (!yy_pact_value_is_default_ (yyn))
5038 if (0 <= yyn && yyn <= yylast_
5041 yyn = yytable_[yyn];
5048 if (yystack_.size () == 1)
5051 yyerror_range[1].location = yystack_[0].location;
5052 yy_destroy_ (
"Error: popping", yystack_[0]);
5057 stack_symbol_type error_token;
5059 yyerror_range[2].location = yyla.location;
5063 error_token.state = state_type (yyn);
5064 yypush_ (
"Shifting",
YY_MOVE (error_token));
5090 yy_destroy_ (
"Cleanup: discarding lookahead", yyla);
5096 while (1 < yystack_.size ())
5098 yy_destroy_ (
"Cleanup: popping", yystack_[0]);
5107 YYCDEBUG <<
"Exception caught: cleaning lookahead and stack\n";
5111 yy_destroy_ (YY_NULLPTR, yyla);
5113 while (1 < yystack_.size ())
5115 yy_destroy_ (YY_NULLPTR, yystack_[0]);
5126 error (yyexc.location, yyexc.what ());
5135 Dhcp4Parser::yytnamerr_ (
const char *yystr)
5140 char const *yyp = yystr;
5147 goto do_not_strip_quotes;
5151 goto do_not_strip_quotes;
5163 do_not_strip_quotes: ;
5172 return yytnamerr_ (yytname_[yysymbol]);
5179 : yyparser_ (yyparser)
5189 const int yyn = yypact_[+yyparser_.yystack_[0].state];
5190 if (!yy_pact_value_is_default_ (yyn))
5195 const int yyxbegin = yyn < 0 ? -yyn : 0;
5197 const int yychecklim = yylast_ - yyn + 1;
5199 for (
int yyx = yyxbegin; yyx < yyxend; ++yyx)
5201 && !yy_table_value_is_error_ (yytable_[yyx + yyn]))
5205 else if (yycount == yyargn)
5212 if (yyarg && yycount == 0 && 0 < yyargn)
5223 Dhcp4Parser::yy_syntax_error_arguments_ (
const context& yyctx,
5251 if (!yyctx.lookahead ().empty ())
5254 yyarg[0] = yyctx.token ();
5255 int yyn = yyctx.expected_tokens (yyarg ? yyarg + 1 : yyarg, yyargn - 1);
5263 Dhcp4Parser::yysyntax_error_ (
const context& yyctx)
const
5266 enum { YYARGS_MAX = 5 };
5269 int yycount = yy_syntax_error_arguments_ (yyctx, yyarg, YYARGS_MAX);
5271 char const* yyformat = YY_NULLPTR;
5274#define YYCASE_(N, S) \
5280 YYCASE_ (1,
YY_(
"syntax error, unexpected %s"));
5281 YYCASE_ (2,
YY_(
"syntax error, unexpected %s, expecting %s"));
5282 YYCASE_ (3,
YY_(
"syntax error, unexpected %s, expecting %s or %s"));
5283 YYCASE_ (4,
YY_(
"syntax error, unexpected %s, expecting %s or %s or %s"));
5284 YYCASE_ (5,
YY_(
"syntax error, unexpected %s, expecting %s or %s or %s or %s"));
5290 std::ptrdiff_t yyi = 0;
5291 for (
char const* yyp = yyformat; *yyp; ++yyp)
5292 if (yyp[0] ==
'%' && yyp[1] ==
's' && yyi < yycount)
5303 const short Dhcp4Parser::yypact_ninf_ = -1300;
5305 const signed char Dhcp4Parser::yytable_ninf_ = -1;
5308 Dhcp4Parser::yypact_[] =
5310 415, -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300,
5311 -1300, -1300, -1300, -1300, 35, 51, 30, 41, 48, 50,
5312 62, 65, 77, 81, 83, 99, 101, 116, -1300, -1300,
5313 -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300,
5314 -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300,
5315 -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300,
5316 -1300, -1300, -1300, -1300, 51, -142, 84, 683, 95, 167,
5317 91, 278, -6, 1, 322, -96, 440, 87, -1300, 126,
5318 135, 138, 142, 153, -1300, 44, -1300, -1300, -1300, -1300,
5319 154, 207, 237, -1300, -1300, -1300, 239, 251, -1300, -1300,
5320 -1300, 255, 257, 259, 274, 276, 288, 294, 296, 311,
5321 319, 325, -1300, 332, 334, 335, 342, 344, -1300, -1300,
5322 -1300, 353, 364, 374, 375, -1300, -1300, -1300, 378, -1300,
5323 -1300, -1300, -1300, -1300, 393, 395, 402, -1300, -1300, -1300,
5324 -1300, -1300, 403, -1300, -1300, -1300, -1300, -1300, -1300, -1300,
5325 404, 434, 437, -1300, -1300, 444, -1300, 93, -1300, -1300,
5326 -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300,
5327 -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300,
5328 -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300,
5329 -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300,
5330 -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300,
5331 -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300,
5332 -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300,
5333 450, 452, 462, 474, -1300, 131, -1300, -1300, -1300, -1300,
5334 -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300,
5335 -1300, -1300, 478, -1300, -1300, -1300, -1300, -1300, -1300, -1300,
5336 -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300,
5337 -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300,
5338 -1300, -1300, -1300, -1300, 149, -1300, -1300, -1300, -1300, -1300,
5339 -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300,
5340 -1300, -1300, -1300, -1300, -1300, -1300, -1300, 482, -1300, -1300,
5341 -1300, -1300, 182, -1300, -1300, -1300, -1300, -1300, -1300, -1300,
5342 -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300,
5343 178, 306, -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300,
5344 -1300, -1300, -1300, -1300, 309, -1300, -1300, 485, -1300, -1300,
5345 -1300, 486, -1300, -1300, 348, 428, -1300, -1300, -1300, -1300,
5346 -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300, 490,
5347 493, 495, -1300, -1300, -1300, -1300, -1300, 373, 472, -1300,
5348 -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300,
5349 -1300, -1300, -1300, 204, -1300, -1300, -1300, 509, -1300, 510,
5350 -1300, 512, 516, -1300, -1300, -1300, -1300, -1300, 205, -1300,
5351 -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300, 517,
5352 215, -1300, -1300, -1300, -1300, 51, 51, -1300, 217, 518,
5353 -1300, -1300, 521, 522, 523, 302, 303, 304, 529, 532,
5354 533, 315, 314, 537, 539, 543, 324, 326, 328, 337,
5355 341, 330, 338, 343, 345, 347, 349, 555, 350, 356,
5356 340, 346, 351, 563, 565, 572, 355, 358, 360, 363,
5357 583, 584, 587, 368, 591, 595, 598, 599, 601, 381,
5358 383, 384, 607, 609, 610, 611, 612, 414, 635, 637,
5359 639, 640, 641, 642, 644, 423, 426, 429, 646, 647,
5360 -1300, 683, -1300, 649, 650, 652, 431, 432, 435, 438,
5361 95, -1300, 657, 660, 661, 662, 663, 664, 445, 666,
5362 667, 668, 167, -1300, 669, 451, 91, -1300, 670, 672,
5363 675, 676, 678, 679, 680, 682, -1300, 278, -1300, 684,
5364 685, 463, 686, 687, 688, 467, -1300, 1, 696, 475,
5365 476, 477, 700, -1300, 322, 701, 703, -78, -1300, 484,
5366 704, 487, 719, 500, 501, 722, 723, 440, -1300, 724,
5367 505, 87, -1300, -1300, -1300, 726, 725, 727, 728, 729,
5368 -1300, -1300, -1300, 508, 514, 515, -1300, -1300, 732, 733,
5369 738, -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300,
5370 -1300, -1300, 549, -1300, -1300, -1300, -1300, -1300, -113, 550,
5371 551, -1300, -1300, -1300, -1300, 741, 772, 773, -1300, 556,
5372 401, 775, 774, 559, -1300, -1300, -1300, 778, 779, 780,
5373 781, 783, -1300, 784, 785, 788, 789, 792, 577, 578,
5374 -1300, -1300, -1300, 790, 800, -1300, 803, 212, 201, -1300,
5375 -1300, -1300, -1300, -1300, 586, 588, 589, 805, 592, 593,
5376 -1300, 803, 594, 807, -1300, 596, -1300, -1300, 803, 597,
5377 602, 604, 605, 606, 608, 613, -1300, 614, 617, -1300,
5378 618, 619, 620, -1300, -1300, 621, -1300, -1300, -1300, 803,
5379 -1300, 622, 774, -1300, -1300, 623, -1300, 624, -1300, -1300,
5380 18, 547, -1300, 813, -1300, -1300, 51, 683, 87, 95,
5381 279, -1300, -1300, -1300, 120, 120, 814, -1300, -1300, -1300,
5382 -1300, -1300, -1300, -1300, -1300, -1300, 815, 817, 823, -1300,
5383 -1300, -1300, -1300, -1300, -1300, 825, -1300, -1300, -1300, 254,
5384 828, 841, 842, 228, 39, 289, 843, 179, 440, -1300,
5385 -1300, 844, 19, -1300, -1300, -1300, -1300, -1300, -1300, -1300,
5386 -1300, -1300, -1300, -1300, 845, -1300, -1300, -1300, -1300, 714,
5387 -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300,
5388 -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300,
5389 -1300, -1300, -1300, -1300, 814, -1300, 305, 313, 323, -1300,
5390 -1300, 329, -1300, -1300, -1300, -1300, -1300, -1300, -1300, 850,
5391 852, 853, 854, 856, 857, 858, 859, 860, 861, -1300,
5392 862, 863, -1300, -1300, -1300, -1300, -1300, 339, -1300, -1300,
5393 -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300,
5394 -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300,
5395 -1300, 352, -1300, 864, 865, -1300, -1300, 866, 868, -1300,
5396 -1300, 867, 877, -1300, -1300, 875, 879, -1300, -1300, 878,
5397 880, -1300, -1300, -1300, -1300, -1300, -1300, 118, -1300, -1300,
5398 -1300, -1300, -1300, -1300, -1300, 125, -1300, -1300, 881, 882,
5399 -1300, -1300, 883, 887, -1300, 888, 889, 890, 891, 892,
5400 893, 361, -1300, -1300, -1300, -1300, -1300, -1300, -1300, 894,
5401 895, 896, -1300, 362, -1300, -1300, -1300, -1300, -1300, -1300,
5402 -1300, -1300, -1300, 897, -1300, 898, -1300, -1300, -1300, -1300,
5403 -1300, -1300, 377, -1300, -1300, -1300, -1300, -1300, -1300, -1300,
5404 -1300, 885, 900, -1300, 901, -1300, 903, -1300, -1300, -1300,
5405 397, -1300, -1300, -1300, -1300, -1300, 421, -1300, 143, -1300,
5406 904, 905, 906, 907, -1300, 424, -1300, -1300, -1300, -1300,
5407 -1300, 681, -1300, 908, 909, -1300, -1300, 910, -1300, 911,
5408 -1300, -1300, -1300, 912, 915, 279, -1300, 916, 917, 918,
5409 919, 645, 689, 702, 698, 705, 706, 707, 708, 709,
5410 710, 921, 711, 712, 923, 924, 931, 934, 120, -1300,
5411 -1300, 120, -1300, 814, 167, -1300, 815, 1, -1300, 817,
5412 322, -1300, 823, 1321, -1300, 825, 254, -1300, 269, 828,
5413 -1300, 278, -1300, 841, -96, -1300, 842, 715, 716, 717,
5414 718, 720, 721, 228, -1300, 744, 730, 731, 39, -1300,
5415 939, 942, 944, 734, 945, 747, 289, -1300, 289, -1300,
5416 843, 752, 947, 756, 948, 179, -1300, -1300, 226, 844,
5417 -1300, 762, 776, 795, 796, 19, -1300, -1300, 1000, 1007,
5418 91, -1300, 845, 1011, -1300, -1300, 690, 806, -1300, 812,
5419 818, 819, 833, -1300, -1300, -1300, -1300, -1300, -1300, -1300,
5420 -1300, -1300, -1300, 139, -1300, -1300, 834, 835, 837, 849,
5421 -1300, 425, -1300, 427, -1300, 1010, -1300, 1018, -1300, -1300,
5422 -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300,
5423 -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300,
5424 -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300,
5425 -1300, -1300, -1300, -1300, -1300, 436, -1300, -1300, -1300, -1300,
5426 -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300, 1069, -1300,
5427 -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300,
5428 -1300, -1300, 1098, 1104, -1300, -1300, -1300, -1300, -1300, -1300,
5429 1100, -1300, 439, -1300, -1300, -1300, -1300, -1300, -1300, -1300,
5430 -1300, -1300, -1300, -1300, -1300, 17, 899, 902, -1300, 1103,
5431 -1300, -1300, 454, -1300, -1300, 913, -1300, 51, -1300, -1300,
5432 1107, -1300, -1300, -1300, -1300, -1300, 455, -1300, -1300, -1300,
5433 -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300, 914, 461,
5434 -1300, 803, -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300,
5435 -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300,
5436 1321, -1300, 1108, 1110, 920, -1300, 269, -1300, -1300, -1300,
5437 -1300, -1300, -1300, -1300, -1300, 21, -1300, -1300, -1300, 1111,
5438 925, 1112, 226, -1300, -1300, -1300, -1300, -1300, 922, 927,
5439 -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300, 464,
5440 -1300, -1300, -1300, -1300, -1300, 1113, -1300, 928, -1300, -1300,
5441 -1300, 1115, 1116, 1117, 1119, 21, -1300, 1120, -1300, 952,
5442 929, 930, 1121, -1300, -1300, 293, -1300, -1300, -1300, -1300,
5443 -1300, 1122, 66, 1120, -1300, -1300, 1118, 1125, -1300, -1300,
5444 1126, 1127, 1128, -1300, 471, -1300, -1300, -1300, -1300, -1300,
5445 -1300, -1300, 175, -1300, 1122, 1129, 933, 932, 936, 1130,
5446 66, -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300, 473,
5447 -1300, -1300, -1300, -1300, 938, -1300, -1300, -1300, 940, -1300,
5448 1131, 1134, 175, -1300, -1300, -1300, 941, 943, -1300, -1300,
5453 Dhcp4Parser::yydefact_[] =
5455 0, 2, 4, 6, 8, 10, 12, 14, 16, 18,
5456 20, 22, 24, 26, 0, 0, 0, 0, 0, 0,
5457 0, 0, 0, 0, 0, 0, 0, 0, 1, 44,
5458 36, 32, 31, 28, 29, 30, 35, 3, 33, 34,
5459 59, 5, 65, 7, 208, 9, 385, 11, 598, 13,
5460 627, 15, 513, 17, 522, 19, 561, 21, 347, 23,
5461 809, 25, 841, 27, 46, 39, 0, 0, 0, 0,
5462 0, 629, 0, 524, 563, 0, 0, 0, 48, 0,
5463 47, 0, 0, 40, 61, 0, 63, 839, 193, 226,
5464 0, 0, 0, 649, 651, 653, 0, 0, 224, 237,
5465 239, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5466 0, 0, 150, 0, 0, 0, 0, 0, 161, 168,
5467 170, 0, 0, 0, 0, 376, 511, 552, 0, 153,
5468 174, 456, 614, 616, 0, 0, 0, 309, 676, 618,
5469 338, 359, 0, 324, 711, 713, 790, 807, 181, 183,
5470 0, 0, 0, 851, 893, 0, 138, 0, 67, 70,
5471 71, 72, 73, 74, 108, 109, 110, 111, 112, 75,
5472 104, 134, 135, 93, 94, 95, 116, 117, 118, 119,
5473 120, 121, 122, 123, 124, 125, 114, 115, 126, 127,
5474 128, 130, 131, 132, 136, 137, 78, 79, 101, 80,
5475 81, 82, 129, 86, 87, 76, 105, 106, 107, 77,
5476 84, 85, 99, 100, 102, 96, 97, 98, 83, 88,
5477 89, 90, 91, 92, 103, 113, 133, 210, 212, 216,
5478 0, 0, 0, 0, 207, 0, 195, 198, 199, 200,
5479 201, 202, 203, 204, 205, 206, 440, 442, 444, 589,
5480 438, 446, 0, 450, 448, 671, 437, 390, 391, 392,
5481 393, 394, 417, 418, 419, 420, 421, 435, 407, 408,
5482 422, 423, 424, 425, 426, 427, 428, 429, 430, 431,
5483 432, 433, 434, 436, 0, 387, 397, 412, 413, 414,
5484 398, 400, 401, 403, 404, 405, 399, 395, 396, 415,
5485 416, 402, 409, 410, 411, 406, 611, 0, 610, 606,
5486 607, 605, 0, 600, 603, 604, 608, 609, 669, 655,
5487 657, 659, 663, 661, 667, 665, 648, 642, 646, 647,
5488 0, 630, 631, 643, 644, 645, 639, 634, 640, 636,
5489 637, 638, 641, 635, 0, 542, 283, 0, 546, 544,
5490 549, 0, 538, 539, 0, 525, 526, 529, 541, 530,
5491 531, 532, 548, 533, 534, 535, 536, 537, 580, 0,
5492 0, 0, 587, 578, 579, 582, 583, 0, 564, 565,
5493 568, 569, 570, 571, 572, 573, 574, 577, 575, 576,
5494 355, 357, 352, 0, 349, 353, 354, 0, 826, 0,
5495 829, 0, 0, 833, 837, 824, 822, 823, 0, 811,
5496 814, 815, 816, 817, 818, 819, 820, 821, 848, 0,
5497 0, 843, 846, 847, 45, 50, 0, 37, 43, 0,
5498 64, 60, 0, 0, 0, 0, 0, 0, 0, 0,
5499 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5500 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5501 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5502 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5503 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5504 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5505 58, 69, 66, 0, 0, 0, 0, 0, 0, 0,
5506 197, 209, 0, 0, 0, 0, 0, 0, 0, 0,
5507 0, 0, 389, 386, 0, 0, 602, 599, 0, 0,
5508 0, 0, 0, 0, 0, 0, 628, 633, 514, 0,
5509 0, 0, 0, 0, 0, 0, 523, 528, 0, 0,
5510 0, 0, 0, 562, 567, 0, 0, 351, 348, 0,
5511 0, 0, 0, 0, 0, 0, 0, 813, 810, 0,
5512 0, 845, 842, 49, 41, 0, 0, 0, 0, 0,
5513 155, 156, 157, 0, 0, 0, 191, 192, 0, 0,
5514 0, 139, 140, 141, 142, 143, 144, 145, 146, 147,
5515 148, 149, 0, 186, 187, 158, 159, 160, 0, 0,
5516 0, 172, 173, 180, 185, 0, 0, 0, 152, 0,
5517 0, 0, 0, 0, 452, 453, 454, 0, 0, 0,
5518 0, 0, 710, 0, 0, 0, 0, 0, 0, 0,
5519 188, 189, 190, 0, 0, 68, 0, 0, 0, 220,
5520 221, 222, 223, 196, 0, 0, 0, 0, 0, 0,
5521 455, 0, 0, 0, 388, 0, 613, 601, 0, 0,
5522 0, 0, 0, 0, 0, 0, 632, 0, 0, 540,
5523 0, 0, 0, 551, 527, 0, 584, 585, 586, 0,
5524 566, 0, 0, 350, 825, 0, 828, 0, 831, 832,
5525 0, 0, 812, 0, 850, 844, 0, 0, 0, 0,
5526 0, 650, 652, 654, 0, 0, 241, 151, 163, 164,
5527 165, 166, 167, 162, 169, 171, 378, 515, 554, 154,
5528 176, 177, 178, 179, 175, 458, 38, 615, 617, 0,
5529 0, 620, 340, 0, 0, 0, 715, 0, 0, 182,
5530 184, 0, 0, 51, 211, 214, 215, 213, 218, 219,
5531 217, 441, 443, 445, 591, 439, 447, 451, 449, 0,
5532 612, 670, 656, 658, 660, 664, 662, 668, 666, 543,
5533 284, 547, 545, 550, 581, 588, 356, 358, 827, 830,
5534 835, 836, 834, 838, 241, 42, 0, 0, 0, 233,
5535 235, 0, 228, 231, 232, 274, 276, 278, 280, 0,
5536 0, 0, 0, 0, 0, 0, 0, 0, 0, 294,
5537 0, 0, 301, 303, 305, 307, 273, 0, 248, 251,
5538 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
5539 262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
5540 272, 0, 246, 0, 242, 243, 383, 0, 379, 380,
5541 520, 0, 516, 517, 559, 0, 555, 556, 463, 0,
5542 459, 460, 319, 320, 321, 322, 323, 0, 311, 314,
5543 315, 316, 317, 318, 681, 0, 678, 625, 0, 621,
5544 622, 345, 0, 341, 342, 0, 0, 0, 0, 0,
5545 0, 0, 361, 364, 365, 366, 367, 368, 369, 0,
5546 0, 0, 334, 0, 326, 329, 330, 331, 332, 333,
5547 737, 742, 744, 0, 748, 0, 736, 730, 731, 732,
5548 734, 735, 0, 722, 725, 726, 727, 728, 733, 729,
5549 720, 0, 716, 717, 0, 802, 0, 805, 798, 799,
5550 0, 792, 795, 796, 797, 800, 0, 856, 0, 853,
5551 0, 0, 0, 0, 902, 0, 895, 898, 899, 900,
5552 901, 53, 596, 0, 592, 593, 674, 0, 673, 0,
5553 62, 840, 194, 0, 0, 230, 227, 0, 0, 0,
5554 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5555 0, 0, 0, 0, 0, 0, 0, 0, 250, 225,
5556 238, 0, 240, 245, 0, 377, 382, 524, 512, 519,
5557 563, 553, 558, 0, 457, 462, 313, 310, 683, 680,
5558 677, 629, 619, 624, 0, 339, 344, 0, 0, 0,
5559 0, 0, 0, 363, 360, 0, 0, 0, 328, 325,
5560 0, 0, 0, 0, 0, 0, 724, 712, 0, 714,
5561 719, 0, 0, 0, 0, 794, 791, 808, 0, 855,
5562 852, 0, 0, 0, 0, 897, 894, 55, 0, 54,
5563 0, 590, 595, 0, 672, 849, 0, 0, 229, 0,
5564 0, 0, 0, 282, 285, 286, 287, 288, 289, 290,
5565 291, 292, 293, 0, 299, 300, 0, 0, 0, 0,
5566 249, 0, 244, 0, 381, 0, 518, 0, 557, 510,
5567 485, 486, 487, 471, 472, 490, 491, 492, 493, 494,
5568 508, 474, 475, 495, 496, 497, 498, 499, 500, 501,
5569 502, 503, 504, 505, 506, 507, 509, 468, 469, 470,
5570 483, 484, 480, 481, 482, 0, 465, 473, 488, 489,
5571 476, 477, 478, 479, 461, 312, 705, 707, 0, 699,
5572 700, 701, 702, 703, 704, 692, 693, 697, 698, 694,
5573 695, 696, 0, 684, 685, 688, 689, 690, 691, 679,
5574 0, 623, 0, 343, 370, 371, 372, 373, 374, 375,
5575 362, 335, 336, 337, 327, 0, 0, 0, 746, 0,
5576 747, 723, 0, 718, 801, 0, 804, 0, 793, 871,
5577 0, 869, 867, 861, 865, 866, 0, 858, 863, 864,
5578 862, 854, 903, 904, 905, 906, 896, 52, 57, 0,
5579 594, 0, 234, 236, 275, 277, 279, 281, 296, 297,
5580 298, 295, 302, 304, 306, 308, 247, 384, 521, 560,
5581 467, 464, 0, 0, 0, 682, 687, 626, 346, 739,
5582 740, 741, 738, 743, 745, 0, 721, 803, 806, 0,
5583 0, 0, 860, 857, 56, 597, 675, 466, 0, 0,
5584 709, 686, 760, 763, 765, 767, 759, 758, 757, 0,
5585 750, 753, 754, 755, 756, 0, 868, 0, 859, 706,
5586 708, 0, 0, 0, 0, 752, 749, 0, 870, 0,
5587 0, 0, 0, 751, 876, 0, 873, 762, 761, 764,
5588 766, 769, 0, 875, 872, 774, 0, 770, 771, 886,
5589 0, 0, 0, 891, 0, 878, 881, 882, 883, 884,
5590 885, 874, 0, 768, 773, 0, 0, 0, 0, 0,
5591 880, 877, 786, 788, 785, 779, 781, 783, 784, 0,
5592 776, 780, 782, 772, 0, 888, 889, 890, 0, 879,
5593 0, 0, 778, 775, 887, 892, 0, 0, 777, 787,
5598 Dhcp4Parser::yypgoto_[] =
5600 -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300,
5601 -1300, -1300, -1300, -1300, -1300, -59, -1300, -580, -1300, 194,
5602 -1300, -1300, -1300, -1300, -1300, -1300, -635, -1300, -1300, -1300,
5603 -67, -1300, -1300, -1300, -1300, -1300, -1300, -1300, 433, 638,
5604 36, 38, 40, -54, -51, -39, -38, -37, -20, -19,
5605 -1300, -1300, -1300, -1300, -18, -1300, -1300, 10, 13, 56,
5606 57, 60, 61, -1300, -1300, 64, -1300, 68, -1300, 71,
5607 72, 74, -1300, -1300, 75, 76, -1300, 78, -1300, 79,
5608 -1300, -1300, -1300, -1300, -1300, 53, -1300, -1300, -1300, 446,
5609 631, -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300,
5610 -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300,
5611 157, -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300, 354,
5612 -1300, 130, -1300, -692, 136, -1300, -1300, -1299, -1300, -1290,
5613 -1300, -1300, -1300, -1300, -30, -1300, -1300, -1300, -1300, -1300,
5614 -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300,
5615 -734, -1300, -731, -1300, -728, -1300, -1300, -1300, -1300, -1300,
5616 -1300, 121, -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300,
5617 106, -1300, -1300, -1300, -1300, -1300, -1300, -1300, 129, -1300,
5618 -1300, -1300, 123, 615, -1300, -1300, -1300, -1300, -1300, -1300,
5619 -1300, 119, -1300, -1300, -1300, -1300, -1300, -1300, -995, -1300,
5620 -1300, -1300, 151, -1300, -1300, -1300, 155, 648, -1300, -1300,
5621 -1300, -1300, -1300, -1300, -1300, -1300, -994, -1300, -11, -1300,
5622 23, -1300, 82, 86, 90, -1300, -1300, -1300, -1300, -1300,
5623 146, -1300, -1300, -92, -62, -1300, -1300, -1300, -1300, -1300,
5624 156, -1300, -1300, -1300, 159, -1300, 626, -1300, -61, -1300,
5625 -1300, -1300, -1300, -1300, -58, -1300, -1300, -1300, -1300, -1300,
5626 -31, -1300, -1300, -1300, 152, -1300, -1300, -1300, 158, -1300,
5627 625, -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300,
5628 -1300, -1300, -1300, -1300, -1300, 98, -1300, -1300, -1300, 97,
5629 655, -1300, -1300, -1300, -49, -1300, -3, -1300, -57, -1300,
5630 -1300, -1300, 150, -1300, -1300, -1300, 160, -1300, 651, 9,
5631 -1300, 16, -1300, 20, -1300, -1300, -1300, -1300, -1300, -1300,
5632 -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300,
5633 -1300, -989, -1300, -1300, -1300, -1300, -1300, -1300, -1300, 161,
5634 -1300, -1300, -1300, -84, -1300, -1300, -1300, -1300, -1300, -1300,
5635 -1300, -1300, -1300, -1300, -1300, -1300, -1300, 124, -1300, 127,
5636 133, -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300,
5637 -1300, -1300, -1300, -129, -1300, -1300, -1300, -1300, -1300, -1300,
5638 -1300, -1300, -1300, -1300, -1300, -167, -1300, -1300, -190, -1300,
5639 -1300, -1300, -1300, -1300, -1300, -1300, 132, -1300, -1300, -1300,
5640 -1300, -1300, -1300, -1300, -1300, -1300, -1300, 447, 627, -1300,
5641 -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300,
5642 -1300, -1300, -1300, -1300, -1300, -1300, 488, 629, -1300, -1300,
5643 -1300, -1300, -1300, -1300, 134, -1300, -1300, -81, -1300, -1300,
5644 -1300, -1300, -1300, -1300, -135, -1300, -1300, -158, -1300, -1300,
5645 -1300, -1300, -1300, -1300, -1300, -1300, -1300, -1300, 137, -1300,
5650 Dhcp4Parser::yydefgoto_[] =
5652 0, 14, 15, 16, 17, 18, 19, 20, 21, 22,
5653 23, 24, 25, 26, 27, 36, 37, 38, 65, 737,
5654 82, 83, 39, 64, 79, 80, 754, 971, 1078, 1079,
5655 826, 41, 66, 85, 429, 86, 43, 67, 157, 158,
5656 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
5657 169, 170, 457, 171, 172, 474, 173, 174, 175, 176,
5658 177, 178, 179, 463, 723, 180, 464, 181, 465, 182,
5659 183, 184, 475, 734, 185, 186, 493, 187, 494, 188,
5660 189, 190, 191, 192, 193, 194, 195, 196, 433, 235,
5661 236, 45, 68, 237, 503, 238, 504, 757, 239, 505,
5662 760, 240, 241, 242, 243, 197, 443, 198, 434, 801,
5663 802, 803, 983, 804, 984, 199, 444, 200, 445, 853,
5664 854, 855, 1011, 827, 828, 829, 987, 830, 988, 831,
5665 989, 832, 990, 833, 834, 540, 835, 836, 837, 838,
5666 839, 840, 841, 842, 843, 844, 1001, 1251, 845, 846,
5667 847, 1004, 848, 1005, 849, 1006, 850, 1007, 201, 482,
5668 877, 878, 879, 880, 881, 882, 883, 202, 488, 913,
5669 914, 915, 916, 917, 203, 485, 892, 893, 894, 1034,
5670 59, 75, 393, 394, 395, 555, 396, 556, 204, 486,
5671 901, 902, 903, 904, 905, 906, 907, 908, 205, 470,
5672 857, 858, 859, 1014, 47, 69, 284, 285, 286, 516,
5673 287, 512, 288, 513, 289, 514, 290, 517, 291, 520,
5674 292, 519, 206, 207, 208, 296, 209, 476, 869, 870,
5675 871, 1023, 1155, 1156, 210, 471, 53, 72, 861, 862,
5676 863, 1017, 55, 73, 354, 355, 356, 357, 358, 359,
5677 360, 539, 361, 543, 362, 542, 363, 364, 544, 365,
5678 211, 472, 865, 866, 867, 1020, 57, 74, 377, 378,
5679 379, 380, 381, 548, 382, 383, 384, 385, 386, 387,
5680 552, 298, 515, 973, 974, 975, 1080, 49, 70, 312,
5681 313, 314, 524, 315, 212, 477, 213, 478, 214, 484,
5682 888, 889, 890, 1031, 51, 71, 330, 331, 332, 215,
5683 438, 216, 439, 217, 440, 336, 529, 337, 530, 338,
5684 531, 339, 533, 340, 532, 341, 535, 342, 534, 343,
5685 528, 305, 521, 977, 978, 1083, 218, 483, 885, 886,
5686 1028, 1182, 1183, 1184, 1185, 1186, 1262, 1187, 1263, 1188,
5687 219, 220, 489, 221, 490, 941, 942, 943, 1058, 932,
5688 933, 934, 1050, 1272, 935, 1051, 936, 1052, 937, 938,
5689 939, 1054, 1299, 1300, 1301, 1311, 1328, 1302, 1312, 1303,
5690 1313, 1304, 1314, 1336, 1337, 1338, 1352, 1369, 1370, 1371,
5691 1380, 1372, 1381, 222, 491, 950, 951, 952, 953, 1062,
5692 954, 955, 1064, 223, 492, 61, 76, 408, 409, 410,
5693 411, 560, 412, 413, 562, 414, 415, 416, 565, 792,
5694 417, 566, 224, 432, 63, 77, 420, 421, 422, 569,
5695 423, 225, 498, 958, 959, 1068, 1226, 1227, 1228, 1229,
5696 1281, 1230, 1279, 1325, 1326, 1332, 1344, 1345, 1346, 1355,
5697 1347, 1348, 1349, 1350, 1359, 226, 499, 965, 966, 967,
5702 Dhcp4Parser::yytable_[] =
5704 156, 234, 256, 308, 326, 78, 352, 373, 392, 405,
5705 344, 927, 301, 375, 928, 260, 376, 929, 261, 244,
5706 299, 316, 328, 851, 366, 388, 767, 406, 1148, 1149,
5707 262, 263, 264, 771, 1163, 28, 790, 40, 297, 311,
5708 327, 345, 736, 353, 374, 390, 391, 430, 42, 265,
5709 266, 267, 431, 1365, 785, 44, 29, 46, 30, 309,
5710 31, 1292, 1366, 390, 391, 245, 300, 317, 329, 48,
5711 367, 389, 50, 407, 718, 719, 720, 721, 302, 268,
5712 333, 81, 269, 1365, 52, 303, 126, 334, 54, 304,
5713 56, 335, 1366, 310, 84, 346, 501, 347, 348, 418,
5714 419, 502, 349, 350, 351, 257, 58, 258, 60, 259,
5715 227, 228, 736, 722, 229, 132, 133, 230, 231, 232,
5716 233, 1026, 283, 62, 1027, 270, 271, 155, 1029, 272,
5717 273, 1030, 424, 274, 510, 132, 133, 275, 425, 511,
5718 276, 277, 426, 278, 279, 280, 1069, 281, 282, 1070,
5719 427, 293, 522, 132, 133, 294, 428, 523, 435, 295,
5720 805, 806, 807, 808, 809, 810, 811, 812, 813, 814,
5721 815, 816, 817, 818, 819, 1269, 1270, 1271, 820, 821,
5722 822, 823, 824, 825, 127, 526, 536, 1293, 1294, 1295,
5723 527, 909, 910, 911, 1248, 1249, 1250, 91, 92, 93,
5724 94, 95, 96, 791, 306, 132, 133, 557, 567, 132,
5725 133, 436, 558, 568, 346, 253, 806, 807, 571, 254,
5726 307, 758, 759, 572, 155, 960, 961, 962, 963, 755,
5727 756, 101, 102, 103, 104, 105, 106, 107, 108, 109,
5728 110, 437, 155, 441, 155, 115, 116, 117, 118, 119,
5729 120, 121, 122, 123, 124, 442, 246, 247, 248, 446,
5730 127, 447, 155, 448, 1339, 1148, 1149, 1340, 1341, 1342,
5731 1343, 1163, 129, 130, 32, 33, 34, 35, 449, 249,
5732 450, 132, 133, 250, 251, 252, 134, 135, 136, 132,
5733 133, 253, 451, 132, 133, 254, 1333, 139, 452, 1334,
5734 453, 93, 94, 95, 96, 255, 799, 800, 501, 537,
5735 93, 94, 95, 980, 155, 454, 571, 538, 155, 1111,
5736 346, 981, 927, 455, 927, 928, 510, 928, 929, 456,
5737 929, 982, 985, 101, 102, 103, 458, 986, 459, 460,
5738 132, 133, 1008, 155, 1362, 1363, 461, 1009, 462, 822,
5739 823, 824, 944, 945, 946, 1008, 546, 466, 148, 149,
5740 1010, 126, 127, 346, 1043, 1048, 573, 574, 467, 1044,
5741 1049, 127, 895, 896, 897, 898, 899, 900, 468, 469,
5742 1056, 553, 473, 132, 133, 1057, 872, 873, 874, 875,
5743 155, 876, 132, 133, 1166, 1167, 1168, 479, 155, 480,
5744 1065, 318, 947, 132, 133, 1066, 481, 487, 495, 319,
5745 320, 321, 322, 323, 324, 325, 346, 368, 347, 348,
5746 369, 370, 371, 1219, 567, 1220, 1221, 1075, 1008, 1067,
5747 522, 547, 1076, 1256, 156, 1257, 132, 133, 496, 1260,
5748 575, 497, 557, 234, 1261, 372, 920, 1268, 500, 155,
5749 921, 922, 923, 924, 506, 256, 507, 1056, 1282, 308,
5750 925, 244, 1276, 1283, 526, 301, 508, 1315, 260, 1285,
5751 326, 261, 1316, 299, 1360, 554, 1382, 316, 509, 1361,
5752 352, 1383, 518, 262, 263, 264, 525, 373, 328, 541,
5753 545, 297, 155, 375, 549, 311, 376, 550, 366, 551,
5754 405, 155, 265, 266, 267, 388, 327, 245, 730, 731,
5755 732, 733, 155, 559, 561, 309, 563, 353, 406, 300,
5756 564, 570, 576, 317, 374, 577, 578, 579, 580, 581,
5757 582, 302, 268, 583, 329, 269, 584, 585, 303, 586,
5758 587, 588, 304, 589, 367, 155, 333, 590, 591, 310,
5759 592, 389, 593, 334, 132, 133, 596, 335, 257, 602,
5760 258, 594, 259, 597, 407, 595, 605, 608, 598, 609,
5761 599, 600, 606, 601, 603, 283, 610, 607, 270, 271,
5762 604, 611, 272, 273, 612, 613, 274, 615, 616, 614,
5763 275, 617, 618, 276, 277, 619, 278, 279, 280, 620,
5764 281, 282, 621, 622, 293, 623, 1286, 624, 294, 625,
5765 626, 627, 295, 628, 629, 630, 631, 397, 398, 399,
5766 400, 401, 402, 403, 404, 1, 2, 3, 4, 5,
5767 6, 7, 8, 9, 10, 11, 12, 13, 632, 633,
5768 156, 634, 234, 635, 636, 637, 638, 795, 639, 640,
5769 643, 644, 641, 646, 647, 642, 648, 649, 650, 651,
5770 244, 654, 652, 155, 655, 656, 657, 658, 659, 660,
5771 661, 662, 663, 665, 668, 666, 669, 912, 926, 670,
5772 671, 405, 672, 673, 674, 964, 675, 679, 677, 678,
5773 680, 681, 682, 683, 87, 918, 930, 88, 948, 406,
5774 685, 686, 687, 688, 689, 691, 245, 692, 695, 89,
5775 694, 696, 90, 91, 92, 93, 94, 95, 96, 97,
5776 98, 99, 100, 697, 698, 699, 700, 701, 703, 704,
5777 706, 711, 707, 793, 708, 709, 710, 712, 713, 714,
5778 715, 919, 931, 716, 949, 407, 726, 101, 102, 103,
5779 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
5780 114, 115, 116, 117, 118, 119, 120, 121, 122, 123,
5781 124, 125, 717, 724, 725, 126, 127, 727, 728, 729,
5782 735, 30, 738, 739, 740, 741, 742, 128, 129, 130,
5783 743, 744, 745, 746, 131, 751, 747, 132, 133, 748,
5784 749, 750, 134, 135, 136, 137, 138, 752, 753, 761,
5785 764, 762, 763, 139, 769, 765, 766, 768, 794, 770,
5786 772, 852, 856, 140, 860, 773, 141, 774, 775, 776,
5787 864, 777, 868, 142, 143, 884, 778, 779, 144, 145,
5788 780, 781, 782, 783, 784, 786, 788, 789, 887, 891,
5789 940, 957, 972, 976, 991, 146, 992, 993, 994, 147,
5790 995, 996, 997, 998, 999, 1000, 1002, 1003, 1013, 1093,
5791 1012, 1016, 1015, 1018, 148, 149, 150, 151, 152, 153,
5792 1019, 1021, 1022, 1025, 1024, 1033, 787, 1032, 154, 1035,
5793 1036, 1059, 1037, 1038, 1039, 1040, 1041, 1042, 1045, 1046,
5794 1047, 1053, 1055, 1060, 1077, 1061, 155, 1063, 1071, 1072,
5795 1073, 1074, 1082, 1242, 1081, 1094, 1086, 1085, 1084, 1087,
5796 1089, 1090, 1091, 1092, 1096, 1103, 1095, 1106, 1107, 1097,
5797 1098, 1099, 1100, 1101, 1102, 1108, 1105, 1104, 1109, 1194,
5798 1195, 1196, 1197, 1205, 1198, 1199, 1206, 256, 1207, 1209,
5799 352, 1215, 1217, 373, 1202, 1203, 1119, 301, 1208, 375,
5800 260, 1169, 376, 261, 326, 299, 1175, 392, 366, 1123,
5801 1201, 388, 1124, 1210, 1158, 262, 263, 264, 1214, 1177,
5802 1216, 912, 328, 297, 1125, 1126, 1127, 353, 1232, 926,
5803 374, 926, 1157, 1147, 265, 266, 267, 1176, 1174, 918,
5804 327, 1222, 1233, 1128, 1129, 1130, 1237, 930, 964, 930,
5805 1238, 300, 1150, 308, 367, 1241, 948, 389, 1258, 1224,
5806 1159, 1234, 1235, 302, 268, 1178, 1259, 269, 329, 1243,
5807 303, 316, 1160, 1131, 304, 1244, 1132, 1179, 1223, 1161,
5808 333, 1245, 1246, 1162, 1180, 919, 1151, 334, 1181, 311,
5809 257, 335, 258, 931, 259, 931, 1247, 1252, 1253, 1120,
5810 1254, 1121, 949, 1122, 1170, 1225, 1171, 283, 1172, 309,
5811 270, 271, 1255, 1264, 272, 273, 1146, 317, 274, 1133,
5812 1134, 1173, 275, 1135, 1136, 276, 277, 1137, 278, 279,
5813 280, 1138, 281, 282, 1139, 1140, 293, 1141, 1142, 1143,
5814 294, 1144, 1145, 310, 295, 1152, 1265, 1266, 1267, 1153,
5815 1275, 1280, 1288, 1154, 1289, 1305, 1307, 1327, 1317, 1319,
5816 1320, 1321, 1273, 1322, 1353, 1274, 1331, 1324, 1354, 1335,
5817 1356, 1357, 1358, 1374, 1378, 1386, 1277, 1284, 1387, 645,
5818 796, 653, 1088, 1112, 1110, 1309, 1290, 1165, 979, 1306,
5819 1310, 1318, 1329, 1330, 1204, 798, 1376, 1192, 1278, 1375,
5820 1377, 1384, 1200, 1385, 1389, 1193, 1390, 1114, 1287, 1113,
5821 664, 1164, 693, 684, 1118, 1116, 1115, 1239, 1117, 690,
5822 1240, 667, 1291, 1191, 1213, 1212, 1323, 1373, 676, 1211,
5823 1189, 1190, 1388, 1119, 702, 956, 797, 1218, 1351, 1169,
5824 705, 1308, 1379, 1231, 1175, 0, 1123, 0, 1296, 1124,
5825 0, 1158, 1236, 0, 0, 1222, 0, 1177, 0, 0,
5826 0, 1125, 1126, 1127, 0, 0, 1297, 0, 0, 1157,
5827 1147, 0, 0, 1224, 0, 1176, 1174, 0, 0, 0,
5828 1128, 1129, 1130, 0, 0, 0, 0, 0, 1296, 1150,
5829 0, 0, 1223, 0, 0, 0, 0, 1159, 0, 0,
5830 0, 0, 0, 1178, 0, 0, 1297, 0, 0, 1160,
5831 1131, 0, 1298, 1132, 0, 1179, 1161, 0, 0, 1225,
5832 1162, 0, 1180, 1151, 0, 1364, 1181, 0, 0, 0,
5833 0, 0, 0, 0, 0, 0, 1120, 0, 1121, 0,
5834 1122, 0, 1170, 1367, 1171, 0, 1172, 0, 0, 0,
5835 0, 0, 1298, 1146, 0, 1364, 1133, 1134, 0, 1173,
5836 1135, 1136, 0, 0, 1137, 0, 0, 0, 1138, 0,
5837 0, 1139, 1140, 1367, 1141, 1142, 1143, 0, 1144, 1145,
5838 0, 0, 1152, 0, 0, 0, 1153, 0, 0, 1368,
5839 1154, 91, 92, 93, 94, 95, 96, 0, 0, 0,
5840 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5841 0, 0, 0, 0, 0, 0, 0, 0, 0, 1368,
5842 0, 0, 0, 0, 0, 101, 102, 103, 104, 105,
5843 106, 107, 108, 109, 110, 0, 0, 0, 0, 115,
5844 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
5845 0, 0, 0, 0, 127, 346, 0, 0, 0, 0,
5846 0, 0, 0, 0, 0, 0, 129, 130, 0, 0,
5847 0, 0, 0, 0, 0, 132, 133, 0, 251, 0,
5848 134, 135, 136, 0, 0, 253, 0, 0, 0, 254,
5849 0, 0, 0, 0, 0, 0, 0, 0, 0, 255,
5850 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5851 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5852 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5853 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5854 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5855 0, 0, 148, 149, 0, 0, 0, 0, 0, 0,
5856 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5857 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5862 Dhcp4Parser::yycheck_[] =
5864 67, 68, 69, 70, 71, 64, 73, 74, 75, 76,
5865 72, 745, 69, 74, 745, 69, 74, 745, 69, 68,
5866 69, 70, 71, 715, 73, 74, 661, 76, 1023, 1023,
5867 69, 69, 69, 668, 1023, 0, 18, 7, 69, 70,
5868 71, 40, 622, 73, 74, 141, 142, 3, 7, 69,
5869 69, 69, 8, 1352, 689, 7, 5, 7, 7, 70,
5870 9, 40, 1352, 141, 142, 68, 69, 70, 71, 7,
5871 73, 74, 7, 76, 187, 188, 189, 190, 69, 69,
5872 71, 223, 69, 1382, 7, 69, 92, 71, 7, 69,
5873 7, 71, 1382, 70, 10, 94, 3, 96, 97, 12,
5874 13, 8, 101, 102, 103, 69, 7, 69, 7, 69,
5875 15, 16, 692, 226, 19, 114, 115, 22, 23, 24,
5876 25, 3, 69, 7, 6, 69, 69, 223, 3, 69,
5877 69, 6, 6, 69, 3, 114, 115, 69, 3, 8,
5878 69, 69, 4, 69, 69, 69, 3, 69, 69, 6,
5879 8, 69, 3, 114, 115, 69, 3, 8, 4, 69,
5880 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
5881 50, 51, 52, 53, 54, 158, 159, 160, 58, 59,
5882 60, 61, 62, 63, 93, 3, 8, 166, 167, 168,
5883 8, 152, 153, 154, 55, 56, 57, 30, 31, 32,
5884 33, 34, 35, 185, 113, 114, 115, 3, 3, 114,
5885 115, 4, 8, 8, 94, 124, 41, 42, 3, 128,
5886 129, 20, 21, 8, 223, 206, 207, 208, 209, 17,
5887 18, 64, 65, 66, 67, 68, 69, 70, 71, 72,
5888 73, 4, 223, 4, 223, 78, 79, 80, 81, 82,
5889 83, 84, 85, 86, 87, 4, 89, 90, 91, 4,
5890 93, 4, 223, 4, 198, 1260, 1260, 201, 202, 203,
5891 204, 1260, 105, 106, 223, 224, 225, 226, 4, 112,
5892 4, 114, 115, 116, 117, 118, 119, 120, 121, 114,
5893 115, 124, 4, 114, 115, 128, 3, 130, 4, 6,
5894 4, 32, 33, 34, 35, 138, 27, 28, 3, 3,
5895 32, 33, 34, 8, 223, 4, 3, 8, 223, 1011,
5896 94, 8, 1056, 4, 1058, 1056, 3, 1058, 1056, 4,
5897 1058, 8, 3, 64, 65, 66, 4, 8, 4, 4,
5898 114, 115, 3, 223, 169, 170, 4, 8, 4, 60,
5899 61, 62, 173, 174, 175, 3, 8, 4, 191, 192,
5900 8, 92, 93, 94, 3, 3, 425, 426, 4, 8,
5901 8, 93, 144, 145, 146, 147, 148, 149, 4, 4,
5902 3, 8, 4, 114, 115, 8, 132, 133, 134, 135,
5903 223, 137, 114, 115, 125, 126, 127, 4, 223, 4,
5904 3, 123, 223, 114, 115, 8, 4, 4, 4, 131,
5905 132, 133, 134, 135, 136, 137, 94, 95, 96, 97,
5906 98, 99, 100, 197, 3, 199, 200, 3, 3, 8,
5907 3, 3, 8, 8, 501, 8, 114, 115, 4, 3,
5908 223, 4, 3, 510, 8, 123, 157, 8, 4, 223,
5909 161, 162, 163, 164, 4, 522, 4, 3, 3, 526,
5910 171, 510, 8, 8, 3, 522, 4, 3, 522, 8,
5911 537, 522, 8, 522, 3, 3, 3, 526, 4, 8,
5912 547, 8, 4, 522, 522, 522, 4, 554, 537, 4,
5913 4, 522, 223, 554, 4, 526, 554, 4, 547, 4,
5914 567, 223, 522, 522, 522, 554, 537, 510, 107, 108,
5915 109, 110, 223, 4, 4, 526, 4, 547, 567, 522,
5916 4, 4, 4, 526, 554, 4, 4, 4, 226, 226,
5917 226, 522, 522, 4, 537, 522, 4, 4, 522, 224,
5918 226, 4, 522, 4, 547, 223, 537, 4, 224, 526,
5919 224, 554, 224, 537, 114, 115, 226, 537, 522, 4,
5920 522, 224, 522, 225, 567, 224, 226, 4, 225, 4,
5921 225, 224, 226, 224, 224, 522, 4, 226, 522, 522,
5922 224, 226, 522, 522, 226, 225, 522, 4, 4, 226,
5923 522, 4, 224, 522, 522, 4, 522, 522, 522, 4,
5924 522, 522, 4, 4, 522, 4, 1241, 226, 522, 226,
5925 226, 4, 522, 4, 4, 4, 4, 177, 178, 179,
5926 180, 181, 182, 183, 184, 210, 211, 212, 213, 214,
5927 215, 216, 217, 218, 219, 220, 221, 222, 224, 4,
5928 707, 4, 709, 4, 4, 4, 4, 706, 4, 226,
5929 4, 4, 226, 4, 4, 226, 4, 226, 226, 224,
5930 709, 4, 224, 223, 4, 4, 4, 4, 4, 224,
5931 4, 4, 4, 4, 4, 224, 4, 744, 745, 4,
5932 4, 748, 4, 4, 4, 752, 4, 224, 4, 4,
5933 4, 4, 4, 226, 11, 744, 745, 14, 747, 748,
5934 4, 226, 226, 226, 4, 4, 709, 4, 4, 26,
5935 226, 224, 29, 30, 31, 32, 33, 34, 35, 36,
5936 37, 38, 39, 4, 224, 224, 4, 4, 4, 224,
5937 4, 223, 7, 186, 7, 7, 7, 223, 223, 7,
5938 7, 744, 745, 5, 747, 748, 5, 64, 65, 66,
5939 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
5940 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
5941 87, 88, 223, 223, 223, 92, 93, 5, 5, 223,
5942 5, 7, 223, 5, 5, 5, 5, 104, 105, 106,
5943 7, 7, 7, 5, 111, 5, 7, 114, 115, 7,
5944 223, 223, 119, 120, 121, 122, 123, 7, 5, 223,
5945 5, 223, 223, 130, 7, 223, 223, 223, 5, 223,
5946 223, 7, 7, 140, 7, 223, 143, 223, 223, 223,
5947 7, 223, 7, 150, 151, 7, 223, 223, 155, 156,
5948 223, 223, 223, 223, 223, 223, 223, 223, 7, 7,
5949 7, 7, 7, 139, 4, 172, 4, 4, 4, 176,
5950 4, 4, 4, 4, 4, 4, 4, 4, 3, 224,
5951 6, 3, 6, 6, 191, 192, 193, 194, 195, 196,
5952 3, 6, 3, 3, 6, 3, 692, 6, 205, 6,
5953 3, 6, 4, 4, 4, 4, 4, 4, 4, 4,
5954 4, 4, 4, 3, 223, 4, 223, 4, 4, 4,
5955 4, 4, 3, 223, 6, 226, 4, 6, 8, 4,
5956 4, 4, 4, 4, 226, 4, 224, 4, 4, 224,
5957 224, 224, 224, 224, 224, 4, 224, 226, 4, 224,
5958 224, 224, 224, 4, 224, 224, 4, 1014, 4, 4,
5959 1017, 4, 4, 1020, 224, 224, 1023, 1014, 224, 1020,
5960 1014, 1028, 1020, 1014, 1031, 1014, 1028, 1034, 1017, 1023,
5961 226, 1020, 1023, 226, 1023, 1014, 1014, 1014, 226, 1028,
5962 224, 1048, 1031, 1014, 1023, 1023, 1023, 1017, 226, 1056,
5963 1020, 1058, 1023, 1023, 1014, 1014, 1014, 1028, 1028, 1048,
5964 1031, 1068, 226, 1023, 1023, 1023, 6, 1056, 1075, 1058,
5965 3, 1014, 1023, 1080, 1017, 4, 1065, 1020, 8, 1068,
5966 1023, 226, 226, 1014, 1014, 1028, 8, 1014, 1031, 223,
5967 1014, 1080, 1023, 1023, 1014, 223, 1023, 1028, 1068, 1023,
5968 1031, 223, 223, 1023, 1028, 1048, 1023, 1031, 1028, 1080,
5969 1014, 1031, 1014, 1056, 1014, 1058, 223, 223, 223, 1023,
5970 223, 1023, 1065, 1023, 1028, 1068, 1028, 1014, 1028, 1080,
5971 1014, 1014, 223, 4, 1014, 1014, 1023, 1080, 1014, 1023,
5972 1023, 1028, 1014, 1023, 1023, 1014, 1014, 1023, 1014, 1014,
5973 1014, 1023, 1014, 1014, 1023, 1023, 1014, 1023, 1023, 1023,
5974 1014, 1023, 1023, 1080, 1014, 1023, 8, 3, 8, 1023,
5975 7, 4, 4, 1023, 4, 4, 4, 165, 5, 4,
5976 4, 4, 223, 4, 6, 223, 5, 7, 3, 7,
5977 4, 4, 4, 4, 4, 4, 223, 223, 4, 501,
5978 707, 510, 985, 1013, 1008, 223, 226, 1026, 794, 224,
5979 223, 223, 223, 223, 1048, 709, 224, 1034, 1217, 226,
5980 224, 223, 1043, 223, 223, 1036, 223, 1016, 1260, 1014,
5981 522, 1025, 557, 547, 1022, 1019, 1017, 1080, 1020, 554,
5982 1082, 526, 1266, 1033, 1060, 1058, 1315, 1354, 537, 1056,
5983 1029, 1031, 1382, 1260, 567, 748, 708, 1065, 1333, 1266,
5984 571, 1282, 1360, 1069, 1266, -1, 1260, -1, 1275, 1260,
5985 -1, 1260, 1075, -1, -1, 1282, -1, 1266, -1, -1,
5986 -1, 1260, 1260, 1260, -1, -1, 1275, -1, -1, 1260,
5987 1260, -1, -1, 1282, -1, 1266, 1266, -1, -1, -1,
5988 1260, 1260, 1260, -1, -1, -1, -1, -1, 1315, 1260,
5989 -1, -1, 1282, -1, -1, -1, -1, 1260, -1, -1,
5990 -1, -1, -1, 1266, -1, -1, 1315, -1, -1, 1260,
5991 1260, -1, 1275, 1260, -1, 1266, 1260, -1, -1, 1282,
5992 1260, -1, 1266, 1260, -1, 1352, 1266, -1, -1, -1,
5993 -1, -1, -1, -1, -1, -1, 1260, -1, 1260, -1,
5994 1260, -1, 1266, 1352, 1266, -1, 1266, -1, -1, -1,
5995 -1, -1, 1315, 1260, -1, 1382, 1260, 1260, -1, 1266,
5996 1260, 1260, -1, -1, 1260, -1, -1, -1, 1260, -1,
5997 -1, 1260, 1260, 1382, 1260, 1260, 1260, -1, 1260, 1260,
5998 -1, -1, 1260, -1, -1, -1, 1260, -1, -1, 1352,
5999 1260, 30, 31, 32, 33, 34, 35, -1, -1, -1,
6000 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6001 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1382,
6002 -1, -1, -1, -1, -1, 64, 65, 66, 67, 68,
6003 69, 70, 71, 72, 73, -1, -1, -1, -1, 78,
6004 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
6005 -1, -1, -1, -1, 93, 94, -1, -1, -1, -1,
6006 -1, -1, -1, -1, -1, -1, 105, 106, -1, -1,
6007 -1, -1, -1, -1, -1, 114, 115, -1, 117, -1,
6008 119, 120, 121, -1, -1, 124, -1, -1, -1, 128,
6009 -1, -1, -1, -1, -1, -1, -1, -1, -1, 138,
6010 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6011 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6012 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6013 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6014 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6015 -1, -1, 191, 192, -1, -1, -1, -1, -1, -1,
6016 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6017 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6022 Dhcp4Parser::yystos_[] =
6024 0, 210, 211, 212, 213, 214, 215, 216, 217, 218,
6025 219, 220, 221, 222, 228, 229, 230, 231, 232, 233,
6026 234, 235, 236, 237, 238, 239, 240, 241, 0, 5,
6027 7, 9, 223, 224, 225, 226, 242, 243, 244, 249,
6028 7, 258, 7, 263, 7, 318, 7, 431, 7, 514,
6029 7, 531, 7, 463, 7, 469, 7, 493, 7, 407,
6030 7, 632, 7, 651, 250, 245, 259, 264, 319, 432,
6031 515, 532, 464, 470, 494, 408, 633, 652, 242, 251,
6032 252, 223, 247, 248, 10, 260, 262, 11, 14, 26,
6033 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
6034 39, 64, 65, 66, 67, 68, 69, 70, 71, 72,
6035 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
6036 83, 84, 85, 86, 87, 88, 92, 93, 104, 105,
6037 106, 111, 114, 115, 119, 120, 121, 122, 123, 130,
6038 140, 143, 150, 151, 155, 156, 172, 176, 191, 192,
6039 193, 194, 195, 196, 205, 223, 257, 265, 266, 267,
6040 268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
6041 278, 280, 281, 283, 284, 285, 286, 287, 288, 289,
6042 292, 294, 296, 297, 298, 301, 302, 304, 306, 307,
6043 308, 309, 310, 311, 312, 313, 314, 332, 334, 342,
6044 344, 385, 394, 401, 415, 425, 449, 450, 451, 453,
6045 461, 487, 521, 523, 525, 536, 538, 540, 563, 577,
6046 578, 580, 620, 630, 649, 658, 682, 15, 16, 19,
6047 22, 23, 24, 25, 257, 316, 317, 320, 322, 325,
6048 328, 329, 330, 331, 521, 523, 89, 90, 91, 112,
6049 116, 117, 118, 124, 128, 138, 257, 267, 268, 269,
6050 270, 271, 272, 273, 274, 275, 276, 281, 284, 285,
6051 286, 287, 288, 289, 292, 294, 296, 297, 298, 301,
6052 302, 304, 306, 312, 433, 434, 435, 437, 439, 441,
6053 443, 445, 447, 449, 450, 451, 452, 487, 508, 521,
6054 523, 525, 536, 538, 540, 558, 113, 129, 257, 445,
6055 447, 487, 516, 517, 518, 520, 521, 523, 123, 131,
6056 132, 133, 134, 135, 136, 137, 257, 487, 521, 523,
6057 533, 534, 535, 536, 538, 540, 542, 544, 546, 548,
6058 550, 552, 554, 556, 461, 40, 94, 96, 97, 101,
6059 102, 103, 257, 361, 471, 472, 473, 474, 475, 476,
6060 477, 479, 481, 483, 484, 486, 521, 523, 95, 98,
6061 99, 100, 123, 257, 361, 475, 481, 495, 496, 497,
6062 498, 499, 501, 502, 503, 504, 505, 506, 521, 523,
6063 141, 142, 257, 409, 410, 411, 413, 177, 178, 179,
6064 180, 181, 182, 183, 184, 257, 521, 523, 634, 635,
6065 636, 637, 639, 640, 642, 643, 644, 647, 12, 13,
6066 653, 654, 655, 657, 6, 3, 4, 8, 3, 261,
6067 3, 8, 650, 315, 335, 4, 4, 4, 537, 539,
6068 541, 4, 4, 333, 343, 345, 4, 4, 4, 4,
6069 4, 4, 4, 4, 4, 4, 4, 279, 4, 4,
6070 4, 4, 4, 290, 293, 295, 4, 4, 4, 4,
6071 426, 462, 488, 4, 282, 299, 454, 522, 524, 4,
6072 4, 4, 386, 564, 526, 402, 416, 4, 395, 579,
6073 581, 621, 631, 303, 305, 4, 4, 4, 659, 683,
6074 4, 3, 8, 321, 323, 326, 4, 4, 4, 4,
6075 3, 8, 438, 440, 442, 509, 436, 444, 4, 448,
6076 446, 559, 3, 8, 519, 4, 3, 8, 557, 543,
6077 545, 547, 551, 549, 555, 553, 8, 3, 8, 478,
6078 362, 4, 482, 480, 485, 4, 8, 3, 500, 4,
6079 4, 4, 507, 8, 3, 412, 414, 3, 8, 4,
6080 638, 4, 641, 4, 4, 645, 648, 3, 8, 656,
6081 4, 3, 8, 242, 242, 223, 4, 4, 4, 4,
6082 226, 226, 226, 4, 4, 4, 224, 226, 4, 4,
6083 4, 224, 224, 224, 224, 224, 226, 225, 225, 225,
6084 224, 224, 4, 224, 224, 226, 226, 226, 4, 4,
6085 4, 226, 226, 225, 226, 4, 4, 4, 224, 4,
6086 4, 4, 4, 4, 226, 226, 226, 4, 4, 4,
6087 4, 4, 224, 4, 4, 4, 4, 4, 4, 4,
6088 226, 226, 226, 4, 4, 266, 4, 4, 4, 226,
6089 226, 224, 224, 317, 4, 4, 4, 4, 4, 4,
6090 224, 4, 4, 4, 434, 4, 224, 517, 4, 4,
6091 4, 4, 4, 4, 4, 4, 535, 4, 4, 224,
6092 4, 4, 4, 226, 473, 4, 226, 226, 226, 4,
6093 497, 4, 4, 410, 226, 4, 224, 4, 224, 224,
6094 4, 4, 635, 4, 224, 654, 4, 7, 7, 7,
6095 7, 223, 223, 223, 7, 7, 5, 223, 187, 188,
6096 189, 190, 226, 291, 223, 223, 5, 5, 5, 223,
6097 107, 108, 109, 110, 300, 5, 244, 246, 223, 5,
6098 5, 5, 5, 7, 7, 7, 5, 7, 7, 223,
6099 223, 5, 7, 5, 253, 17, 18, 324, 20, 21,
6100 327, 223, 223, 223, 5, 223, 223, 253, 223, 7,
6101 223, 253, 223, 223, 223, 223, 223, 223, 223, 223,
6102 223, 223, 223, 223, 223, 253, 223, 246, 223, 223,
6103 18, 185, 646, 186, 5, 242, 265, 653, 316, 27,
6104 28, 336, 337, 338, 340, 40, 41, 42, 43, 44,
6105 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
6106 58, 59, 60, 61, 62, 63, 257, 350, 351, 352,
6107 354, 356, 358, 360, 361, 363, 364, 365, 366, 367,
6108 368, 369, 370, 371, 372, 375, 376, 377, 379, 381,
6109 383, 350, 7, 346, 347, 348, 7, 427, 428, 429,
6110 7, 465, 466, 467, 7, 489, 490, 491, 7, 455,
6111 456, 457, 132, 133, 134, 135, 137, 387, 388, 389,
6112 390, 391, 392, 393, 7, 565, 566, 7, 527, 528,
6113 529, 7, 403, 404, 405, 144, 145, 146, 147, 148,
6114 149, 417, 418, 419, 420, 421, 422, 423, 424, 152,
6115 153, 154, 257, 396, 397, 398, 399, 400, 521, 523,
6116 157, 161, 162, 163, 164, 171, 257, 377, 379, 381,
6117 521, 523, 586, 587, 588, 591, 593, 595, 596, 597,
6118 7, 582, 583, 584, 173, 174, 175, 223, 521, 523,
6119 622, 623, 624, 625, 627, 628, 634, 7, 660, 661,
6120 206, 207, 208, 209, 257, 684, 685, 686, 687, 688,
6121 689, 254, 7, 510, 511, 512, 139, 560, 561, 346,
6122 8, 8, 8, 339, 341, 3, 8, 353, 355, 357,
6123 359, 4, 4, 4, 4, 4, 4, 4, 4, 4,
6124 4, 373, 4, 4, 378, 380, 382, 384, 3, 8,
6125 8, 349, 6, 3, 430, 6, 3, 468, 6, 3,
6126 492, 6, 3, 458, 6, 3, 3, 6, 567, 3,
6127 6, 530, 6, 3, 406, 6, 3, 4, 4, 4,
6128 4, 4, 4, 3, 8, 4, 4, 4, 3, 8,
6129 589, 592, 594, 4, 598, 4, 3, 8, 585, 6,
6130 3, 4, 626, 4, 629, 3, 8, 8, 662, 3,
6131 6, 4, 4, 4, 4, 3, 8, 223, 255, 256,
6132 513, 6, 3, 562, 8, 6, 4, 4, 337, 4,
6133 4, 4, 4, 224, 226, 224, 226, 224, 224, 224,
6134 224, 224, 224, 4, 226, 224, 4, 4, 4, 4,
6135 351, 350, 348, 433, 429, 471, 467, 495, 491, 257,
6136 267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
6137 281, 284, 285, 286, 287, 288, 289, 292, 294, 296,
6138 297, 298, 301, 302, 304, 306, 312, 361, 425, 443,
6139 445, 447, 449, 450, 451, 459, 460, 487, 521, 523,
6140 536, 538, 540, 558, 457, 388, 125, 126, 127, 257,
6141 267, 268, 269, 312, 361, 461, 487, 521, 523, 536,
6142 538, 540, 568, 569, 570, 571, 572, 574, 576, 566,
6143 533, 529, 409, 405, 224, 224, 224, 224, 224, 224,
6144 418, 226, 224, 224, 397, 4, 4, 4, 224, 4,
6145 226, 587, 586, 584, 226, 4, 224, 4, 623, 197,
6146 199, 200, 257, 361, 521, 523, 663, 664, 665, 666,
6147 668, 661, 226, 226, 226, 226, 685, 6, 3, 516,
6148 512, 4, 223, 223, 223, 223, 223, 223, 55, 56,
6149 57, 374, 223, 223, 223, 223, 8, 8, 8, 8,
6150 3, 8, 573, 575, 4, 8, 3, 8, 8, 158,
6151 159, 160, 590, 223, 223, 7, 8, 223, 242, 669,
6152 4, 667, 3, 8, 223, 8, 253, 460, 4, 4,
6153 226, 570, 40, 166, 167, 168, 257, 521, 523, 599,
6154 600, 601, 604, 606, 608, 4, 224, 4, 664, 223,
6155 223, 602, 605, 607, 609, 3, 8, 5, 223, 4,
6156 4, 4, 4, 600, 7, 670, 671, 165, 603, 223,
6157 223, 5, 672, 3, 6, 7, 610, 611, 612, 198,
6158 201, 202, 203, 204, 673, 674, 675, 677, 678, 679,
6159 680, 671, 613, 6, 3, 676, 4, 4, 4, 681,
6160 3, 8, 169, 170, 257, 354, 356, 521, 523, 614,
6161 615, 616, 618, 612, 4, 226, 224, 224, 4, 674,
6162 617, 619, 3, 8, 223, 223, 4, 4, 615, 223,
6167 Dhcp4Parser::yyr1_[] =
6169 0, 227, 229, 228, 230, 228, 231, 228, 232, 228,
6170 233, 228, 234, 228, 235, 228, 236, 228, 237, 228,
6171 238, 228, 239, 228, 240, 228, 241, 228, 242, 242,
6172 242, 242, 242, 242, 242, 243, 245, 244, 246, 247,
6173 247, 248, 248, 248, 250, 249, 251, 251, 252, 252,
6174 252, 254, 253, 255, 255, 256, 256, 256, 257, 259,
6175 258, 261, 260, 260, 262, 264, 263, 265, 265, 265,
6176 266, 266, 266, 266, 266, 266, 266, 266, 266, 266,
6177 266, 266, 266, 266, 266, 266, 266, 266, 266, 266,
6178 266, 266, 266, 266, 266, 266, 266, 266, 266, 266,
6179 266, 266, 266, 266, 266, 266, 266, 266, 266, 266,
6180 266, 266, 266, 266, 266, 266, 266, 266, 266, 266,
6181 266, 266, 266, 266, 266, 266, 266, 266, 266, 266,
6182 266, 266, 266, 266, 266, 266, 266, 266, 266, 267,
6183 268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
6184 279, 278, 280, 282, 281, 283, 284, 285, 286, 287,
6185 288, 290, 289, 291, 291, 291, 291, 291, 293, 292,
6186 295, 294, 296, 297, 299, 298, 300, 300, 300, 300,
6187 301, 303, 302, 305, 304, 306, 307, 308, 309, 310,
6188 311, 312, 313, 315, 314, 316, 316, 316, 317, 317,
6189 317, 317, 317, 317, 317, 317, 317, 317, 319, 318,
6190 321, 320, 323, 322, 324, 324, 326, 325, 327, 327,
6191 328, 329, 330, 331, 333, 332, 335, 334, 336, 336,
6192 336, 337, 337, 339, 338, 341, 340, 343, 342, 345,
6193 344, 346, 346, 347, 347, 347, 349, 348, 350, 350,
6194 350, 351, 351, 351, 351, 351, 351, 351, 351, 351,
6195 351, 351, 351, 351, 351, 351, 351, 351, 351, 351,
6196 351, 351, 351, 351, 353, 352, 355, 354, 357, 356,
6197 359, 358, 360, 362, 361, 363, 364, 365, 366, 367,
6198 368, 369, 370, 371, 373, 372, 374, 374, 374, 375,
6199 376, 378, 377, 380, 379, 382, 381, 384, 383, 386,
6200 385, 387, 387, 387, 388, 388, 388, 388, 388, 389,
6201 390, 391, 392, 393, 395, 394, 396, 396, 396, 397,
6202 397, 397, 397, 397, 397, 398, 399, 400, 402, 401,
6203 403, 403, 404, 404, 404, 406, 405, 408, 407, 409,
6204 409, 409, 409, 410, 410, 412, 411, 414, 413, 416,
6205 415, 417, 417, 417, 418, 418, 418, 418, 418, 418,
6206 419, 420, 421, 422, 423, 424, 426, 425, 427, 427,
6207 428, 428, 428, 430, 429, 432, 431, 433, 433, 433,
6208 434, 434, 434, 434, 434, 434, 434, 434, 434, 434,
6209 434, 434, 434, 434, 434, 434, 434, 434, 434, 434,
6210 434, 434, 434, 434, 434, 434, 434, 434, 434, 434,
6211 434, 434, 434, 434, 434, 434, 434, 434, 434, 434,
6212 434, 434, 434, 434, 434, 434, 434, 434, 436, 435,
6213 438, 437, 440, 439, 442, 441, 444, 443, 446, 445,
6214 448, 447, 449, 450, 451, 452, 454, 453, 455, 455,
6215 456, 456, 456, 458, 457, 459, 459, 459, 460, 460,
6216 460, 460, 460, 460, 460, 460, 460, 460, 460, 460,
6217 460, 460, 460, 460, 460, 460, 460, 460, 460, 460,
6218 460, 460, 460, 460, 460, 460, 460, 460, 460, 460,
6219 460, 460, 460, 460, 460, 460, 460, 460, 460, 460,
6220 460, 462, 461, 464, 463, 465, 465, 466, 466, 466,
6221 468, 467, 470, 469, 471, 471, 472, 472, 472, 473,
6222 473, 473, 473, 473, 473, 473, 473, 473, 473, 474,
6223 475, 476, 478, 477, 480, 479, 482, 481, 483, 485,
6224 484, 486, 488, 487, 489, 489, 490, 490, 490, 492,
6225 491, 494, 493, 495, 495, 496, 496, 496, 497, 497,
6226 497, 497, 497, 497, 497, 497, 497, 497, 497, 498,
6227 500, 499, 501, 502, 503, 504, 505, 507, 506, 509,
6228 508, 510, 510, 511, 511, 511, 513, 512, 515, 514,
6229 516, 516, 516, 517, 517, 517, 517, 517, 517, 517,
6230 517, 519, 518, 520, 522, 521, 524, 523, 526, 525,
6231 527, 527, 528, 528, 528, 530, 529, 532, 531, 533,
6232 533, 534, 534, 534, 535, 535, 535, 535, 535, 535,
6233 535, 535, 535, 535, 535, 535, 535, 535, 535, 537,
6234 536, 539, 538, 541, 540, 543, 542, 545, 544, 547,
6235 546, 549, 548, 551, 550, 553, 552, 555, 554, 557,
6236 556, 559, 558, 560, 562, 561, 564, 563, 565, 565,
6237 565, 567, 566, 568, 568, 569, 569, 569, 570, 570,
6238 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
6239 570, 570, 570, 570, 571, 573, 572, 575, 574, 576,
6240 577, 579, 578, 581, 580, 582, 582, 583, 583, 583,
6241 585, 584, 586, 586, 586, 587, 587, 587, 587, 587,
6242 587, 587, 587, 587, 587, 587, 587, 589, 588, 590,
6243 590, 590, 592, 591, 594, 593, 595, 596, 598, 597,
6244 599, 599, 599, 600, 600, 600, 600, 600, 600, 600,
6245 602, 601, 603, 605, 604, 607, 606, 609, 608, 610,
6246 610, 611, 611, 611, 613, 612, 614, 614, 614, 615,
6247 615, 615, 615, 615, 615, 615, 617, 616, 619, 618,
6248 621, 620, 622, 622, 622, 623, 623, 623, 623, 623,
6249 623, 624, 626, 625, 627, 629, 628, 631, 630, 633,
6250 632, 634, 634, 634, 635, 635, 635, 635, 635, 635,
6251 635, 635, 635, 635, 635, 636, 638, 637, 639, 641,
6252 640, 642, 643, 645, 644, 646, 646, 648, 647, 650,
6253 649, 652, 651, 653, 653, 653, 654, 654, 656, 655,
6254 657, 659, 658, 660, 660, 660, 662, 661, 663, 663,
6255 663, 664, 664, 664, 664, 664, 664, 664, 665, 667,
6256 666, 669, 668, 670, 670, 670, 672, 671, 673, 673,
6257 673, 674, 674, 674, 674, 674, 676, 675, 677, 678,
6258 679, 681, 680, 683, 682, 684, 684, 684, 685, 685,
6259 685, 685, 685, 686, 687, 688, 689
6263 Dhcp4Parser::yyr2_[] =
6265 0, 2, 0, 3, 0, 3, 0, 3, 0, 3,
6266 0, 3, 0, 3, 0, 3, 0, 3, 0, 3,
6267 0, 3, 0, 3, 0, 3, 0, 3, 1, 1,
6268 1, 1, 1, 1, 1, 1, 0, 4, 1, 0,
6269 1, 3, 5, 2, 0, 4, 0, 1, 1, 3,
6270 2, 0, 4, 0, 1, 1, 3, 2, 2, 0,
6271 4, 0, 6, 1, 2, 0, 4, 1, 3, 2,
6272 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6273 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6274 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6275 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6276 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6277 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6278 1, 1, 1, 1, 1, 1, 1, 1, 1, 3,
6279 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
6280 0, 4, 3, 0, 4, 3, 3, 3, 3, 3,
6281 3, 0, 4, 1, 1, 1, 1, 1, 0, 4,
6282 0, 4, 3, 3, 0, 4, 1, 1, 1, 1,
6283 3, 0, 4, 0, 4, 3, 3, 3, 3, 3,
6284 3, 3, 3, 0, 6, 1, 3, 2, 1, 1,
6285 1, 1, 1, 1, 1, 1, 1, 1, 0, 4,
6286 0, 4, 0, 4, 1, 1, 0, 4, 1, 1,
6287 3, 3, 3, 3, 0, 6, 0, 6, 1, 3,
6288 2, 1, 1, 0, 4, 0, 4, 0, 6, 0,
6289 6, 0, 1, 1, 3, 2, 0, 4, 1, 3,
6290 2, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6291 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6292 1, 1, 1, 1, 0, 4, 0, 4, 0, 4,
6293 0, 4, 3, 0, 4, 3, 3, 3, 3, 3,
6294 3, 3, 3, 3, 0, 4, 1, 1, 1, 3,
6295 3, 0, 4, 0, 4, 0, 4, 0, 4, 0,
6296 6, 1, 3, 2, 1, 1, 1, 1, 1, 1,
6297 1, 1, 1, 1, 0, 6, 1, 3, 2, 1,
6298 1, 1, 1, 1, 1, 3, 3, 3, 0, 6,
6299 0, 1, 1, 3, 2, 0, 4, 0, 4, 1,
6300 3, 2, 1, 1, 1, 0, 4, 0, 4, 0,
6301 6, 1, 3, 2, 1, 1, 1, 1, 1, 1,
6302 3, 3, 3, 3, 3, 3, 0, 6, 0, 1,
6303 1, 3, 2, 0, 4, 0, 4, 1, 3, 2,
6304 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6305 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6306 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6307 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6308 1, 1, 1, 1, 1, 1, 1, 1, 0, 4,
6309 0, 4, 0, 4, 0, 4, 0, 4, 0, 4,
6310 0, 4, 3, 3, 3, 3, 0, 6, 0, 1,
6311 1, 3, 2, 0, 4, 1, 3, 2, 1, 1,
6312 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6313 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6314 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6315 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6316 1, 0, 6, 0, 4, 0, 1, 1, 3, 2,
6317 0, 4, 0, 4, 0, 1, 1, 3, 2, 1,
6318 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6319 3, 1, 0, 4, 0, 4, 0, 4, 1, 0,
6320 4, 3, 0, 6, 0, 1, 1, 3, 2, 0,
6321 4, 0, 4, 0, 1, 1, 3, 2, 1, 1,
6322 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6323 0, 4, 1, 1, 3, 3, 3, 0, 4, 0,
6324 6, 0, 1, 1, 3, 2, 0, 4, 0, 4,
6325 1, 3, 2, 1, 1, 1, 1, 1, 1, 1,
6326 1, 0, 4, 3, 0, 4, 0, 4, 0, 6,
6327 0, 1, 1, 3, 2, 0, 4, 0, 4, 0,
6328 1, 1, 3, 2, 1, 1, 1, 1, 1, 1,
6329 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
6330 4, 0, 4, 0, 4, 0, 4, 0, 4, 0,
6331 4, 0, 4, 0, 4, 0, 4, 0, 4, 0,
6332 4, 0, 6, 1, 0, 4, 0, 6, 1, 3,
6333 2, 0, 4, 0, 1, 1, 3, 2, 1, 1,
6334 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6335 1, 1, 1, 1, 1, 0, 4, 0, 4, 3,
6336 3, 0, 6, 0, 6, 0, 1, 1, 3, 2,
6337 0, 4, 1, 3, 2, 1, 1, 1, 1, 1,
6338 1, 1, 1, 1, 1, 1, 1, 0, 4, 1,
6339 1, 1, 0, 4, 0, 4, 3, 3, 0, 6,
6340 1, 3, 2, 1, 1, 1, 1, 1, 1, 1,
6341 0, 4, 1, 0, 4, 0, 4, 0, 6, 0,
6342 1, 1, 3, 2, 0, 4, 1, 3, 2, 1,
6343 1, 1, 1, 1, 1, 1, 0, 4, 0, 4,
6344 0, 6, 1, 3, 2, 1, 1, 1, 1, 1,
6345 1, 3, 0, 4, 3, 0, 4, 0, 6, 0,
6346 4, 1, 3, 2, 1, 1, 1, 1, 1, 1,
6347 1, 1, 1, 1, 1, 3, 0, 4, 3, 0,
6348 4, 3, 3, 0, 4, 1, 1, 0, 4, 0,
6349 6, 0, 4, 1, 3, 2, 1, 1, 0, 6,
6350 3, 0, 6, 1, 3, 2, 0, 4, 1, 3,
6351 2, 1, 1, 1, 1, 1, 1, 1, 3, 0,
6352 4, 0, 6, 1, 3, 2, 0, 4, 1, 3,
6353 2, 1, 1, 1, 1, 1, 0, 4, 3, 3,
6354 3, 0, 4, 0, 6, 1, 3, 2, 1, 1,
6359#if PARSER4_DEBUG || 1
6363 const Dhcp4Parser::yytname_[] =
6365 "\"end of file\"",
"error",
"\"invalid token\"",
"\",\"",
"\":\"",
6366 "\"[\"",
"\"]\"",
"\"{\"",
"\"}\"",
"\"null\"",
"\"Dhcp4\"",
6367 "\"config-control\"",
"\"config-databases\"",
6368 "\"config-fetch-wait-time\"",
"\"interfaces-config\"",
"\"interfaces\"",
6369 "\"dhcp-socket-type\"",
"\"raw\"",
"\"udp\"",
"\"outbound-interface\"",
6370 "\"same-as-inbound\"",
"\"use-routing\"",
"\"re-detect\"",
6371 "\"service-sockets-require-all\"",
"\"service-sockets-retry-wait-time\"",
6372 "\"service-sockets-max-retries\"",
"\"sanity-checks\"",
6373 "\"lease-checks\"",
"\"extended-info-checks\"",
"\"echo-client-id\"",
6374 "\"match-client-id\"",
"\"authoritative\"",
"\"next-server\"",
6375 "\"server-hostname\"",
"\"boot-file-name\"",
"\"offer-lifetime\"",
6376 "\"stash-agent-options\"",
"\"lease-database\"",
"\"hosts-database\"",
6377 "\"hosts-databases\"",
"\"type\"",
"\"user\"",
"\"password\"",
6378 "\"host\"",
"\"port\"",
"\"persist\"",
"\"lfc-interval\"",
6379 "\"readonly\"",
"\"connect-timeout\"",
"\"read-timeout\"",
6380 "\"write-timeout\"",
"\"tcp-user-timeout\"",
"\"max-reconnect-tries\"",
6381 "\"reconnect-wait-time\"",
"\"on-fail\"",
"\"stop-retry-exit\"",
6382 "\"serve-retry-exit\"",
"\"serve-retry-continue\"",
6383 "\"retry-on-startup\"",
"\"max-row-errors\"",
"\"trust-anchor\"",
6384 "\"cert-file\"",
"\"key-file\"",
"\"cipher-list\"",
"\"valid-lifetime\"",
6385 "\"min-valid-lifetime\"",
"\"max-valid-lifetime\"",
"\"renew-timer\"",
6386 "\"rebind-timer\"",
"\"calculate-tee-times\"",
"\"t1-percent\"",
6387 "\"t2-percent\"",
"\"cache-threshold\"",
"\"cache-max-age\"",
6388 "\"decline-probation-period\"",
"\"server-tag\"",
6389 "\"statistic-default-sample-count\"",
"\"statistic-default-sample-age\"",
6390 "\"ddns-send-updates\"",
"\"ddns-override-no-update\"",
6391 "\"ddns-override-client-update\"",
"\"ddns-replace-client-name\"",
6392 "\"ddns-generated-prefix\"",
"\"ddns-qualifying-suffix\"",
6393 "\"ddns-update-on-renew\"",
"\"ddns-use-conflict-resolution\"",
6394 "\"ddns-ttl-percent\"",
"\"store-extended-info\"",
"\"subnet4\"",
6395 "\"4o6-interface\"",
"\"4o6-interface-id\"",
"\"4o6-subnet\"",
6396 "\"option-def\"",
"\"option-data\"",
"\"name\"",
"\"data\"",
"\"code\"",
6397 "\"space\"",
"\"csv-format\"",
"\"always-send\"",
"\"never-send\"",
6398 "\"record-types\"",
"\"encapsulate\"",
"\"array\"",
6399 "\"parked-packet-limit\"",
"\"allocator\"",
6400 "\"ddns-conflict-resolution-mode\"",
"\"check-with-dhcid\"",
6401 "\"no-check-with-dhcid\"",
"\"check-exists-with-dhcid\"",
6402 "\"no-check-without-dhcid\"",
"\"shared-networks\"",
"\"pools\"",
6403 "\"pool\"",
"\"user-context\"",
"\"comment\"",
"\"subnet\"",
6404 "\"interface\"",
"\"id\"",
"\"reservations-global\"",
6405 "\"reservations-in-subnet\"",
"\"reservations-out-of-pool\"",
6406 "\"host-reservation-identifiers\"",
"\"client-classes\"",
6407 "\"require-client-classes\"",
"\"test\"",
"\"template-test\"",
6408 "\"only-if-required\"",
"\"client-class\"",
"\"pool-id\"",
6409 "\"reservations\"",
"\"ip-address\"",
"\"duid\"",
"\"hw-address\"",
6410 "\"circuit-id\"",
"\"client-id\"",
"\"hostname\"",
"\"flex-id\"",
6411 "\"relay\"",
"\"ip-addresses\"",
"\"hooks-libraries\"",
"\"library\"",
6412 "\"parameters\"",
"\"expired-leases-processing\"",
6413 "\"reclaim-timer-wait-time\"",
"\"flush-reclaimed-timer-wait-time\"",
6414 "\"hold-reclaimed-time\"",
"\"max-reclaim-leases\"",
6415 "\"max-reclaim-time\"",
"\"unwarned-reclaim-cycles\"",
6416 "\"dhcp4o6-port\"",
"\"multi-threading\"",
"\"enable-multi-threading\"",
6417 "\"thread-pool-size\"",
"\"packet-queue-size\"",
"\"control-socket\"",
6418 "\"control-sockets\"",
"\"socket-type\"",
"\"unix\"",
"\"http\"",
6419 "\"https\"",
"\"socket-name\"",
"\"socket-address\"",
"\"socket-port\"",
6420 "\"authentication\"",
"\"basic\"",
"\"realm\"",
"\"directory\"",
6421 "\"clients\"",
"\"user-file\"",
"\"password-file\"",
"\"cert-required\"",
6422 "\"dhcp-queue-control\"",
"\"enable-queue\"",
"\"queue-type\"",
6423 "\"capacity\"",
"\"dhcp-ddns\"",
"\"enable-updates\"",
"\"server-ip\"",
6424 "\"server-port\"",
"\"sender-ip\"",
"\"sender-port\"",
6425 "\"max-queue-size\"",
"\"ncr-protocol\"",
"\"ncr-format\"",
"\"tcp\"",
6426 "\"JSON\"",
"\"when-present\"",
"\"never\"",
"\"always\"",
6427 "\"when-not-present\"",
"\"hostname-char-set\"",
6428 "\"hostname-char-replacement\"",
"\"early-global-reservations-lookup\"",
6429 "\"ip-reservations-unique\"",
"\"reservations-lookup-first\"",
6430 "\"loggers\"",
"\"output-options\"",
"\"output\"",
"\"debuglevel\"",
6431 "\"severity\"",
"\"flush\"",
"\"maxsize\"",
"\"maxver\"",
"\"pattern\"",
6432 "\"compatibility\"",
"\"lenient-option-parsing\"",
6433 "\"ignore-dhcp-server-identifier\"",
"\"ignore-rai-link-selection\"",
6434 "\"exclude-first-last-24\"",
"TOPLEVEL_JSON",
"TOPLEVEL_DHCP4",
6435 "SUB_DHCP4",
"SUB_INTERFACES4",
"SUB_SUBNET4",
"SUB_POOL4",
6436 "SUB_RESERVATION",
"SUB_OPTION_DEFS",
"SUB_OPTION_DEF",
6437 "SUB_OPTION_DATA",
"SUB_HOOKS_LIBRARY",
"SUB_DHCP_DDNS",
6438 "SUB_CONFIG_CONTROL",
"\"constant string\"",
"\"integer\"",
6439 "\"floating point\"",
"\"boolean\"",
"$accept",
"start",
"$@1",
"$@2",
6440 "$@3",
"$@4",
"$@5",
"$@6",
"$@7",
"$@8",
"$@9",
"$@10",
"$@11",
"$@12",
6441 "$@13",
"value",
"sub_json",
"map2",
"$@14",
"map_value",
"map_content",
6442 "not_empty_map",
"list_generic",
"$@15",
"list_content",
6443 "not_empty_list",
"list_strings",
"$@16",
"list_strings_content",
6444 "not_empty_list_strings",
"unknown_map_entry",
"syntax_map",
"$@17",
6445 "global_object",
"$@18",
"global_object_comma",
"sub_dhcp4",
"$@19",
6446 "global_params",
"global_param",
"valid_lifetime",
"min_valid_lifetime",
6447 "max_valid_lifetime",
"renew_timer",
"rebind_timer",
6448 "calculate_tee_times",
"t1_percent",
"t2_percent",
"cache_threshold",
6449 "cache_max_age",
"decline_probation_period",
"server_tag",
"$@20",
6450 "parked_packet_limit",
"allocator",
"$@21",
"echo_client_id",
6451 "match_client_id",
"authoritative",
"ddns_send_updates",
6452 "ddns_override_no_update",
"ddns_override_client_update",
6453 "ddns_replace_client_name",
"$@22",
"ddns_replace_client_name_value",
6454 "ddns_generated_prefix",
"$@23",
"ddns_qualifying_suffix",
"$@24",
6455 "ddns_update_on_renew",
"ddns_use_conflict_resolution",
6456 "ddns_conflict_resolution_mode",
"$@25",
6457 "ddns_conflict_resolution_mode_value",
"ddns_ttl_percent",
6458 "hostname_char_set",
"$@26",
"hostname_char_replacement",
"$@27",
6459 "store_extended_info",
"statistic_default_sample_count",
6460 "statistic_default_sample_age",
"early_global_reservations_lookup",
6461 "ip_reservations_unique",
"reservations_lookup_first",
"offer_lifetime",
6462 "stash_agent_options",
"interfaces_config",
"$@28",
6463 "interfaces_config_params",
"interfaces_config_param",
"sub_interfaces4",
6464 "$@29",
"interfaces_list",
"$@30",
"dhcp_socket_type",
"$@31",
6465 "socket_type",
"outbound_interface",
"$@32",
"outbound_interface_value",
6466 "re_detect",
"service_sockets_require_all",
6467 "service_sockets_retry_wait_time",
"service_sockets_max_retries",
6468 "lease_database",
"$@33",
"sanity_checks",
"$@34",
6469 "sanity_checks_params",
"sanity_checks_param",
"lease_checks",
"$@35",
6470 "extended_info_checks",
"$@36",
"hosts_database",
"$@37",
6471 "hosts_databases",
"$@38",
"database_list",
"not_empty_database_list",
6472 "database",
"$@39",
"database_map_params",
"database_map_param",
6473 "database_type",
"$@40",
"user",
"$@41",
"password",
"$@42",
"host",
6474 "$@43",
"port",
"name",
"$@44",
"persist",
"lfc_interval",
"readonly",
6475 "connect_timeout",
"read_timeout",
"write_timeout",
"tcp_user_timeout",
6476 "max_reconnect_tries",
"reconnect_wait_time",
"on_fail",
"$@45",
6477 "on_fail_mode",
"retry_on_startup",
"max_row_errors",
"trust_anchor",
6478 "$@46",
"cert_file",
"$@47",
"key_file",
"$@48",
"cipher_list",
"$@49",
6479 "host_reservation_identifiers",
"$@50",
6480 "host_reservation_identifiers_list",
"host_reservation_identifier",
6481 "duid_id",
"hw_address_id",
"circuit_id",
"client_id",
"flex_id",
6482 "dhcp_multi_threading",
"$@51",
"multi_threading_params",
6483 "multi_threading_param",
"enable_multi_threading",
"thread_pool_size",
6484 "packet_queue_size",
"hooks_libraries",
"$@52",
"hooks_libraries_list",
6485 "not_empty_hooks_libraries_list",
"hooks_library",
"$@53",
6486 "sub_hooks_library",
"$@54",
"hooks_params",
"hooks_param",
"library",
6487 "$@55",
"parameters",
"$@56",
"expired_leases_processing",
"$@57",
6488 "expired_leases_params",
"expired_leases_param",
6489 "reclaim_timer_wait_time",
"flush_reclaimed_timer_wait_time",
6490 "hold_reclaimed_time",
"max_reclaim_leases",
"max_reclaim_time",
6491 "unwarned_reclaim_cycles",
"subnet4_list",
"$@58",
6492 "subnet4_list_content",
"not_empty_subnet4_list",
"subnet4",
"$@59",
6493 "sub_subnet4",
"$@60",
"subnet4_params",
"subnet4_param",
"subnet",
6494 "$@61",
"subnet_4o6_interface",
"$@62",
"subnet_4o6_interface_id",
6495 "$@63",
"subnet_4o6_subnet",
"$@64",
"interface",
"$@65",
"client_class",
6496 "$@66",
"require_client_classes",
"$@67",
"reservations_global",
6497 "reservations_in_subnet",
"reservations_out_of_pool",
"id",
6498 "shared_networks",
"$@68",
"shared_networks_content",
6499 "shared_networks_list",
"shared_network",
"$@69",
6500 "shared_network_params",
"shared_network_param",
"option_def_list",
6501 "$@70",
"sub_option_def_list",
"$@71",
"option_def_list_content",
6502 "not_empty_option_def_list",
"option_def_entry",
"$@72",
6503 "sub_option_def",
"$@73",
"option_def_params",
6504 "not_empty_option_def_params",
"option_def_param",
"option_def_name",
6505 "code",
"option_def_code",
"option_def_type",
"$@74",
6506 "option_def_record_types",
"$@75",
"space",
"$@76",
"option_def_space",
6507 "option_def_encapsulate",
"$@77",
"option_def_array",
"option_data_list",
6508 "$@78",
"option_data_list_content",
"not_empty_option_data_list",
6509 "option_data_entry",
"$@79",
"sub_option_data",
"$@80",
6510 "option_data_params",
"not_empty_option_data_params",
6511 "option_data_param",
"option_data_name",
"option_data_data",
"$@81",
6512 "option_data_code",
"option_data_space",
"option_data_csv_format",
6513 "option_data_always_send",
"option_data_never_send",
6514 "option_data_client_classes",
"$@82",
"pools_list",
"$@83",
6515 "pools_list_content",
"not_empty_pools_list",
"pool_list_entry",
"$@84",
6516 "sub_pool4",
"$@85",
"pool_params",
"pool_param",
"pool_entry",
"$@86",
6517 "pool_id",
"user_context",
"$@87",
"comment",
"$@88",
"reservations",
6518 "$@89",
"reservations_list",
"not_empty_reservations_list",
6519 "reservation",
"$@90",
"sub_reservation",
"$@91",
"reservation_params",
6520 "not_empty_reservation_params",
"reservation_param",
"next_server",
6521 "$@92",
"server_hostname",
"$@93",
"boot_file_name",
"$@94",
6522 "ip_address",
"$@95",
"duid",
"$@96",
"hw_address",
"$@97",
6523 "client_id_value",
"$@98",
"circuit_id_value",
"$@99",
"flex_id_value",
6524 "$@100",
"hostname",
"$@101",
"reservation_client_classes",
"$@102",
6525 "relay",
"$@103",
"relay_map",
"ip_addresses",
"$@104",
"client_classes",
6526 "$@105",
"client_classes_list",
"client_class_entry",
"$@106",
6527 "client_class_params",
"not_empty_client_class_params",
6528 "client_class_param",
"client_class_name",
"client_class_test",
"$@107",
6529 "client_class_template_test",
"$@108",
"only_if_required",
6530 "dhcp4o6_port",
"control_socket",
"$@109",
"control_sockets",
"$@110",
6531 "control_socket_list",
"not_empty_control_socket_list",
6532 "control_socket_entry",
"$@111",
"control_socket_params",
6533 "control_socket_param",
"control_socket_type",
"$@112",
6534 "control_socket_type_value",
"control_socket_name",
"$@113",
6535 "control_socket_address",
"$@114",
"control_socket_port",
6536 "cert_required",
"authentication",
"$@115",
"auth_params",
"auth_param",
6537 "auth_type",
"$@116",
"auth_type_value",
"realm",
"$@117",
"directory",
6538 "$@118",
"clients",
"$@119",
"clients_list",
"not_empty_clients_list",
6539 "basic_auth",
"$@120",
"clients_params",
"clients_param",
"user_file",
6540 "$@121",
"password_file",
"$@122",
"dhcp_queue_control",
"$@123",
6541 "queue_control_params",
"queue_control_param",
"enable_queue",
6542 "queue_type",
"$@124",
"capacity",
"arbitrary_map_entry",
"$@125",
6543 "dhcp_ddns",
"$@126",
"sub_dhcp_ddns",
"$@127",
"dhcp_ddns_params",
6544 "dhcp_ddns_param",
"enable_updates",
"server_ip",
"$@128",
"server_port",
6545 "sender_ip",
"$@129",
"sender_port",
"max_queue_size",
"ncr_protocol",
6546 "$@130",
"ncr_protocol_value",
"ncr_format",
"$@131",
"config_control",
6547 "$@132",
"sub_config_control",
"$@133",
"config_control_params",
6548 "config_control_param",
"config_databases",
"$@134",
6549 "config_fetch_wait_time",
"loggers",
"$@135",
"loggers_entries",
6550 "logger_entry",
"$@136",
"logger_params",
"logger_param",
"debuglevel",
6551 "severity",
"$@137",
"output_options_list",
"$@138",
6552 "output_options_list_content",
"output_entry",
"$@139",
6553 "output_params_list",
"output_params",
"output",
"$@140",
"flush",
6554 "maxsize",
"maxver",
"pattern",
"$@141",
"compatibility",
"$@142",
6555 "compatibility_params",
"compatibility_param",
"lenient_option_parsing",
6556 "ignore_dhcp_server_identifier",
"ignore_rai_link_selection",
6557 "exclude_first_last_24", YY_NULLPTR
6564 Dhcp4Parser::yyrline_[] =
6566 0, 322, 322, 322, 323, 323, 324, 324, 325, 325,
6567 326, 326, 327, 327, 328, 328, 329, 329, 330, 330,
6568 331, 331, 332, 332, 333, 333, 334, 334, 342, 343,
6569 344, 345, 346, 347, 348, 351, 356, 356, 367, 370,
6570 371, 374, 379, 385, 390, 390, 397, 398, 401, 405,
6571 409, 415, 415, 422, 423, 426, 430, 434, 444, 453,
6572 453, 468, 468, 482, 485, 491, 491, 500, 501, 502,
6573 509, 510, 511, 512, 513, 514, 515, 516, 517, 518,
6574 519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
6575 529, 530, 531, 532, 533, 534, 535, 536, 537, 538,
6576 539, 540, 541, 542, 543, 544, 545, 546, 547, 548,
6577 549, 550, 551, 552, 553, 554, 555, 556, 557, 558,
6578 559, 560, 561, 562, 563, 564, 565, 566, 567, 568,
6579 569, 570, 571, 572, 573, 574, 575, 576, 577, 580,
6580 586, 592, 598, 604, 610, 616, 622, 628, 634, 640,
6581 646, 646, 655, 661, 661, 670, 676, 682, 688, 694,
6582 700, 706, 706, 715, 718, 721, 724, 727, 733, 733,
6583 742, 742, 751, 760, 770, 770, 779, 782, 785, 788,
6584 793, 799, 799, 808, 808, 817, 823, 829, 835, 841,
6585 847, 853, 859, 865, 865, 877, 878, 879, 884, 885,
6586 886, 887, 888, 889, 890, 891, 892, 893, 896, 896,
6587 905, 905, 916, 916, 924, 925, 928, 928, 936, 938,
6588 942, 948, 954, 960, 966, 966, 979, 979, 990, 991,
6589 992, 997, 998, 1001, 1001, 1020, 1020, 1038, 1038, 1051,
6590 1051, 1062, 1063, 1066, 1067, 1068, 1073, 1073, 1083, 1084,
6591 1085, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098,
6592 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108,
6593 1109, 1110, 1111, 1112, 1115, 1115, 1124, 1124, 1133, 1133,
6594 1142, 1142, 1151, 1157, 1157, 1166, 1172, 1178, 1184, 1190,
6595 1196, 1202, 1208, 1214, 1220, 1220, 1228, 1229, 1230, 1233,
6596 1239, 1245, 1245, 1254, 1254, 1263, 1263, 1272, 1272, 1281,
6597 1281, 1292, 1293, 1294, 1299, 1300, 1301, 1302, 1303, 1306,
6598 1311, 1316, 1321, 1326, 1333, 1333, 1346, 1347, 1348, 1353,
6599 1354, 1355, 1356, 1357, 1358, 1361, 1367, 1373, 1379, 1379,
6600 1390, 1391, 1394, 1395, 1396, 1401, 1401, 1411, 1411, 1421,
6601 1422, 1423, 1426, 1429, 1430, 1433, 1433, 1442, 1442, 1451,
6602 1451, 1463, 1464, 1465, 1470, 1471, 1472, 1473, 1474, 1475,
6603 1478, 1484, 1490, 1496, 1502, 1508, 1517, 1517, 1531, 1532,
6604 1535, 1536, 1537, 1546, 1546, 1572, 1572, 1583, 1584, 1585,
6605 1591, 1592, 1593, 1594, 1595, 1596, 1597, 1598, 1599, 1600,
6606 1601, 1602, 1603, 1604, 1605, 1606, 1607, 1608, 1609, 1610,
6607 1611, 1612, 1613, 1614, 1615, 1616, 1617, 1618, 1619, 1620,
6608 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630,
6609 1631, 1632, 1633, 1634, 1635, 1636, 1637, 1638, 1641, 1641,
6610 1650, 1650, 1659, 1659, 1668, 1668, 1677, 1677, 1686, 1686,
6611 1695, 1695, 1706, 1712, 1718, 1724, 1732, 1732, 1744, 1745,
6612 1749, 1750, 1751, 1756, 1756, 1764, 1765, 1766, 1771, 1772,
6613 1773, 1774, 1775, 1776, 1777, 1778, 1779, 1780, 1781, 1782,
6614 1783, 1784, 1785, 1786, 1787, 1788, 1789, 1790, 1791, 1792,
6615 1793, 1794, 1795, 1796, 1797, 1798, 1799, 1800, 1801, 1802,
6616 1803, 1804, 1805, 1806, 1807, 1808, 1809, 1810, 1811, 1812,
6617 1813, 1820, 1820, 1834, 1834, 1843, 1844, 1847, 1848, 1849,
6618 1856, 1856, 1871, 1871, 1885, 1886, 1889, 1890, 1891, 1896,
6619 1897, 1898, 1899, 1900, 1901, 1902, 1903, 1904, 1905, 1908,
6620 1910, 1916, 1918, 1918, 1927, 1927, 1936, 1936, 1945, 1947,
6621 1947, 1956, 1966, 1966, 1979, 1980, 1985, 1986, 1987, 1994,
6622 1994, 2006, 2006, 2018, 2019, 2024, 2025, 2026, 2033, 2034,
6623 2035, 2036, 2037, 2038, 2039, 2040, 2041, 2042, 2043, 2046,
6624 2048, 2048, 2057, 2059, 2061, 2067, 2073, 2079, 2079, 2093,
6625 2093, 2106, 2107, 2110, 2111, 2112, 2117, 2117, 2127, 2127,
6626 2137, 2138, 2139, 2144, 2145, 2146, 2147, 2148, 2149, 2150,
6627 2151, 2154, 2154, 2163, 2169, 2169, 2194, 2194, 2224, 2224,
6628 2235, 2236, 2239, 2240, 2241, 2246, 2246, 2255, 2255, 2264,
6629 2265, 2268, 2269, 2270, 2276, 2277, 2278, 2279, 2280, 2281,
6630 2282, 2283, 2284, 2285, 2286, 2287, 2288, 2289, 2290, 2293,
6631 2293, 2302, 2302, 2311, 2311, 2320, 2320, 2329, 2329, 2338,
6632 2338, 2347, 2347, 2356, 2356, 2365, 2365, 2374, 2374, 2383,
6633 2383, 2397, 2397, 2408, 2411, 2411, 2425, 2425, 2436, 2437,
6634 2438, 2443, 2443, 2453, 2454, 2457, 2458, 2459, 2464, 2465,
6635 2466, 2467, 2468, 2469, 2470, 2471, 2472, 2473, 2474, 2475,
6636 2476, 2477, 2478, 2479, 2482, 2484, 2484, 2493, 2493, 2502,
6637 2510, 2518, 2518, 2530, 2530, 2542, 2543, 2546, 2547, 2548,
6638 2553, 2553, 2561, 2562, 2563, 2568, 2569, 2570, 2571, 2572,
6639 2573, 2574, 2575, 2576, 2577, 2578, 2579, 2582, 2582, 2591,
6640 2592, 2593, 2596, 2596, 2606, 2606, 2616, 2622, 2630, 2630,
6641 2643, 2644, 2645, 2650, 2651, 2652, 2653, 2654, 2655, 2656,
6642 2659, 2659, 2667, 2670, 2670, 2679, 2679, 2688, 2688, 2699,
6643 2700, 2703, 2704, 2705, 2710, 2710, 2718, 2719, 2720, 2725,
6644 2726, 2727, 2728, 2729, 2730, 2731, 2734, 2734, 2743, 2743,
6645 2754, 2754, 2767, 2768, 2769, 2774, 2775, 2776, 2777, 2778,
6646 2779, 2782, 2788, 2788, 2797, 2803, 2803, 2813, 2813, 2826,
6647 2826, 2836, 2837, 2838, 2843, 2844, 2845, 2846, 2847, 2848,
6648 2849, 2850, 2851, 2852, 2853, 2856, 2862, 2862, 2871, 2877,
6649 2877, 2886, 2892, 2898, 2898, 2907, 2908, 2911, 2911, 2922,
6650 2922, 2934, 2934, 2944, 2945, 2946, 2952, 2953, 2956, 2956,
6651 2967, 2975, 2975, 2988, 2989, 2990, 2996, 2996, 3004, 3005,
6652 3006, 3011, 3012, 3013, 3014, 3015, 3016, 3017, 3020, 3026,
6653 3026, 3035, 3035, 3046, 3047, 3048, 3053, 3053, 3061, 3062,
6654 3063, 3068, 3069, 3070, 3071, 3072, 3075, 3075, 3084, 3090,
6655 3096, 3102, 3102, 3111, 3111, 3122, 3123, 3124, 3129, 3130,
6656 3131, 3132, 3133, 3136, 3142, 3148, 3154
6660 Dhcp4Parser::yy_stack_print_ ()
const
6662 *yycdebug_ <<
"Stack now";
6663 for (stack_type::const_iterator
6664 i = yystack_.begin (),
6665 i_end = yystack_.end ();
6667 *yycdebug_ <<
' ' <<
int (i->state);
6672 Dhcp4Parser::yy_reduce_print_ (
int yyrule)
const
6674 int yylno = yyrline_[yyrule];
6675 int yynrhs = yyr2_[yyrule];
6677 *yycdebug_ <<
"Reducing stack by rule " << yyrule - 1
6678 <<
" (line " << yylno <<
"):\n";
6680 for (
int yyi = 0; yyi < yynrhs; yyi++)
6682 yystack_[(yynrhs) - (yyi + 1)]);
6687#line 14 "dhcp4_parser.yy"
6689#line 6690 "dhcp4_parser.cc"
6691#line 3160 "dhcp4_parser.yy"
6696 const std::string& what)
6698 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.
context(const Dhcp4Parser &yyparser, const symbol_type &yyla)
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.
Present a slice of the top of a stack.
virtual void error(const location_type &loc, const std::string &msg)
Report a syntax error.
virtual int parse()
Parse.
location location_type
Symbol locations.
symbol_kind::symbol_kind_type symbol_kind_type
(Internal) symbol kind.
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.
@ 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