39#define yylex parser4_lex
47#line 34 "dhcp4_parser.yy"
51#line 52 "dhcp4_parser.cc"
55# if defined YYENABLE_NLS && YYENABLE_NLS
58# define YY_(msgid) dgettext ("bison-runtime", msgid)
62# define YY_(msgid) msgid
69# if defined __GNUC__ && !defined __EXCEPTIONS
70# define YY_EXCEPTIONS 0
72# define YY_EXCEPTIONS 1
76#define YYRHSLOC(Rhs, K) ((Rhs)[K].location)
81# ifndef YYLLOC_DEFAULT
82# define YYLLOC_DEFAULT(Current, Rhs, N) \
86 (Current).begin = YYRHSLOC (Rhs, 1).begin; \
87 (Current).end = YYRHSLOC (Rhs, N).end; \
91 (Current).begin = (Current).end = YYRHSLOC (Rhs, 0).end; \
101# define YYCDEBUG if (yydebug_) (*yycdebug_)
103# define YY_SYMBOL_PRINT(Title, Symbol) \
107 *yycdebug_ << Title << ' '; \
108 yy_print_ (*yycdebug_, Symbol); \
109 *yycdebug_ << '\n'; \
113# define YY_REDUCE_PRINT(Rule) \
116 yy_reduce_print_ (Rule); \
119# define YY_STACK_PRINT() \
122 yy_stack_print_ (); \
127# define YYCDEBUG if (false) std::cerr
128# define YY_SYMBOL_PRINT(Title, Symbol) YY_USE (Symbol)
129# define YY_REDUCE_PRINT(Rule) static_cast<void> (0)
130# define YY_STACK_PRINT() static_cast<void> (0)
134#define yyerrok (yyerrstatus_ = 0)
135#define yyclearin (yyla.clear ())
137#define YYACCEPT goto yyacceptlab
138#define YYABORT goto yyabortlab
139#define YYERROR goto yyerrorlab
140#define YYRECOVERING() (!!yyerrstatus_)
142#line 14 "dhcp4_parser.yy"
143namespace isc {
namespace dhcp {
144#line 145 "dhcp4_parser.cc"
150 yycdebug_ (&std::cerr),
171 : state (empty_state)
174 Dhcp4Parser::by_state::by_state (
const by_state& that)
YY_NOEXCEPT
185 Dhcp4Parser::by_state::move (by_state& that)
191 Dhcp4Parser::by_state::by_state (state_type s)
YY_NOEXCEPT
198 if (state == empty_state)
204 Dhcp4Parser::stack_symbol_type::stack_symbol_type ()
207 Dhcp4Parser::stack_symbol_type::stack_symbol_type (
YY_RVREF (stack_symbol_type) that)
210 switch (that.kind ())
225 value.YY_MOVE_OR_COPY<
bool > (
YY_MOVE (that.value));
229 value.YY_MOVE_OR_COPY<
double > (
YY_MOVE (that.value));
233 value.YY_MOVE_OR_COPY< int64_t > (
YY_MOVE (that.value));
237 value.YY_MOVE_OR_COPY< std::string > (
YY_MOVE (that.value));
244#if 201103L <= YY_CPLUSPLUS
246 that.state = empty_state;
250 Dhcp4Parser::stack_symbol_type::stack_symbol_type (state_type s,
YY_MOVE_REF (symbol_type) that)
251 : super_type (s,
YY_MOVE (that.location))
253 switch (that.kind ())
268 value.move<
bool > (
YY_MOVE (that.value));
272 value.move<
double > (
YY_MOVE (that.value));
276 value.move< int64_t > (
YY_MOVE (that.value));
280 value.move< std::string > (
YY_MOVE (that.value));
291#if YY_CPLUSPLUS < 201103L
292 Dhcp4Parser::stack_symbol_type&
293 Dhcp4Parser::stack_symbol_type::operator= (
const stack_symbol_type& that)
296 switch (that.kind ())
311 value.copy<
bool > (that.value);
315 value.copy<
double > (that.value);
319 value.copy< int64_t > (that.value);
323 value.copy< std::string > (that.value);
330 location = that.location;
334 Dhcp4Parser::stack_symbol_type&
335 Dhcp4Parser::stack_symbol_type::operator= (stack_symbol_type& that)
338 switch (that.kind ())
353 value.move<
bool > (that.value);
357 value.move<
double > (that.value);
361 value.move< int64_t > (that.value);
365 value.move< std::string > (that.value);
372 location = that.location;
374 that.state = empty_state;
379 template <
typename Base>
381 Dhcp4Parser::yy_destroy_ (
const char* yymsg, basic_symbol<Base>& yysym)
const
388 template <
typename Base>
390 Dhcp4Parser::yy_print_ (std::ostream& yyo,
const basic_symbol<Base>& yysym)
const
392 std::ostream& yyoutput = yyo;
395 yyo <<
"empty symbol";
399 yyo << (yykind <
YYNTOKENS ?
"token" :
"nterm")
400 <<
' ' << yysym.name () <<
" ("
401 << yysym.location <<
": ";
405#line 286 "dhcp4_parser.yy"
406 { yyoutput << yysym.value.template as < std::string > (); }
407#line 408 "dhcp4_parser.cc"
411#line 286 "dhcp4_parser.yy"
412 { yyoutput << yysym.value.template as < int64_t > (); }
413#line 414 "dhcp4_parser.cc"
417#line 286 "dhcp4_parser.yy"
418 { yyoutput << yysym.value.template as < double > (); }
419#line 420 "dhcp4_parser.cc"
423#line 286 "dhcp4_parser.yy"
424 { yyoutput << yysym.value.template as < bool > (); }
425#line 426 "dhcp4_parser.cc"
429#line 286 "dhcp4_parser.yy"
430 { yyoutput << yysym.value.template as < ElementPtr > (); }
431#line 432 "dhcp4_parser.cc"
435#line 286 "dhcp4_parser.yy"
436 { yyoutput << yysym.value.template as < ElementPtr > (); }
437#line 438 "dhcp4_parser.cc"
441#line 286 "dhcp4_parser.yy"
442 { yyoutput << yysym.value.template as < ElementPtr > (); }
443#line 444 "dhcp4_parser.cc"
447#line 286 "dhcp4_parser.yy"
448 { yyoutput << yysym.value.template as < ElementPtr > (); }
449#line 450 "dhcp4_parser.cc"
453#line 286 "dhcp4_parser.yy"
454 { yyoutput << yysym.value.template as < ElementPtr > (); }
455#line 456 "dhcp4_parser.cc"
459#line 286 "dhcp4_parser.yy"
460 { yyoutput << yysym.value.template as < ElementPtr > (); }
461#line 462 "dhcp4_parser.cc"
465#line 286 "dhcp4_parser.yy"
466 { yyoutput << yysym.value.template as < ElementPtr > (); }
467#line 468 "dhcp4_parser.cc"
471#line 286 "dhcp4_parser.yy"
472 { yyoutput << yysym.value.template as < ElementPtr > (); }
473#line 474 "dhcp4_parser.cc"
477#line 286 "dhcp4_parser.yy"
478 { yyoutput << yysym.value.template as < ElementPtr > (); }
479#line 480 "dhcp4_parser.cc"
491 Dhcp4Parser::yypush_ (
const char* m,
YY_MOVE_REF (stack_symbol_type) sym)
499 Dhcp4Parser::yypush_ (
const char* m, state_type s,
YY_MOVE_REF (symbol_type) sym)
501#if 201103L <= YY_CPLUSPLUS
502 yypush_ (m, stack_symbol_type (s, std::move (sym)));
504 stack_symbol_type ss (s, sym);
542 Dhcp4Parser::state_type
543 Dhcp4Parser::yy_lr_goto_state_ (state_type yystate,
int yysym)
545 int yyr = yypgoto_[yysym -
YYNTOKENS] + yystate;
546 if (0 <= yyr && yyr <= yylast_ && yycheck_[yyr] == yystate)
547 return yytable_[yyr];
553 Dhcp4Parser::yy_pact_value_is_default_ (
int yyvalue)
YY_NOEXCEPT
555 return yyvalue == yypact_ninf_;
559 Dhcp4Parser::yy_table_value_is_error_ (
int yyvalue)
YY_NOEXCEPT
561 return yyvalue == yytable_ninf_;
579 int yyerrstatus_ = 0;
585 stack_symbol_type yyerror_range[3];
602 yypush_ (YY_NULLPTR, 0,
YY_MOVE (yyla));
608 YYCDEBUG <<
"Entering state " << int (yystack_[0].state) <<
'\n';
612 if (yystack_[0].state == yyfinal_)
623 yyn = yypact_[+yystack_[0].state];
624 if (yy_pact_value_is_default_ (yyn))
636 yyla.
move (yylookahead);
641 YYCDEBUG <<
"Caught exception: " << yyexc.what() <<
'\n';
662 if (yyn < 0 || yylast_ < yyn || yycheck_[yyn] != yyla.kind ())
671 if (yy_table_value_is_error_ (yyn))
682 yypush_ (
"Shifting", state_type (yyn),
YY_MOVE (yyla));
690 yyn = yydefact_[+yystack_[0].state];
702 stack_symbol_type yylhs;
703 yylhs.state = yy_lr_goto_state_ (yystack_[yylen].state, yyr1_[yyn]);
722 yylhs.value.emplace<
bool > ();
726 yylhs.value.emplace<
double > ();
730 yylhs.value.emplace< int64_t > ();
734 yylhs.value.emplace< std::string > ();
746 yyerror_range[1].location = yylhs.location;
758#line 295 "dhcp4_parser.yy"
760#line 761 "dhcp4_parser.cc"
764#line 296 "dhcp4_parser.yy"
766#line 767 "dhcp4_parser.cc"
770#line 297 "dhcp4_parser.yy"
772#line 773 "dhcp4_parser.cc"
776#line 298 "dhcp4_parser.yy"
778#line 779 "dhcp4_parser.cc"
782#line 299 "dhcp4_parser.yy"
784#line 785 "dhcp4_parser.cc"
788#line 300 "dhcp4_parser.yy"
790#line 791 "dhcp4_parser.cc"
794#line 301 "dhcp4_parser.yy"
796#line 797 "dhcp4_parser.cc"
800#line 302 "dhcp4_parser.yy"
802#line 803 "dhcp4_parser.cc"
806#line 303 "dhcp4_parser.yy"
808#line 809 "dhcp4_parser.cc"
812#line 304 "dhcp4_parser.yy"
814#line 815 "dhcp4_parser.cc"
818#line 305 "dhcp4_parser.yy"
820#line 821 "dhcp4_parser.cc"
824#line 306 "dhcp4_parser.yy"
826#line 827 "dhcp4_parser.cc"
830#line 307 "dhcp4_parser.yy"
832#line 833 "dhcp4_parser.cc"
836#line 315 "dhcp4_parser.yy"
838#line 839 "dhcp4_parser.cc"
842#line 316 "dhcp4_parser.yy"
844#line 845 "dhcp4_parser.cc"
848#line 317 "dhcp4_parser.yy"
850#line 851 "dhcp4_parser.cc"
854#line 318 "dhcp4_parser.yy"
856#line 857 "dhcp4_parser.cc"
860#line 319 "dhcp4_parser.yy"
862#line 863 "dhcp4_parser.cc"
866#line 320 "dhcp4_parser.yy"
868#line 869 "dhcp4_parser.cc"
872#line 321 "dhcp4_parser.yy"
874#line 875 "dhcp4_parser.cc"
878#line 324 "dhcp4_parser.yy"
883#line 884 "dhcp4_parser.cc"
887#line 329 "dhcp4_parser.yy"
894#line 895 "dhcp4_parser.cc"
898#line 334 "dhcp4_parser.yy"
904#line 905 "dhcp4_parser.cc"
908#line 340 "dhcp4_parser.yy"
910#line 911 "dhcp4_parser.cc"
914#line 347 "dhcp4_parser.yy"
917 ctx.
unique(yystack_[2].value.as < std::string > (), ctx.
loc2pos(yystack_[2].location));
918 ctx.
stack_.back()->set(yystack_[2].value.as < std::string > (), yystack_[0].value.as <
ElementPtr > ());
920#line 921 "dhcp4_parser.cc"
924#line 352 "dhcp4_parser.yy"
928 ctx.
unique(yystack_[2].value.as < std::string > (), ctx.
loc2pos(yystack_[2].location));
929 ctx.
stack_.back()->set(yystack_[2].value.as < std::string > (), yystack_[0].value.as <
ElementPtr > ());
931#line 932 "dhcp4_parser.cc"
935#line 358 "dhcp4_parser.yy"
939#line 940 "dhcp4_parser.cc"
943#line 363 "dhcp4_parser.yy"
948#line 949 "dhcp4_parser.cc"
952#line 366 "dhcp4_parser.yy"
956#line 957 "dhcp4_parser.cc"
960#line 374 "dhcp4_parser.yy"
965#line 966 "dhcp4_parser.cc"
969#line 378 "dhcp4_parser.yy"
974#line 975 "dhcp4_parser.cc"
978#line 382 "dhcp4_parser.yy"
982#line 983 "dhcp4_parser.cc"
986#line 388 "dhcp4_parser.yy"
990#line 991 "dhcp4_parser.cc"
994#line 390 "dhcp4_parser.yy"
999#line 1000 "dhcp4_parser.cc"
1003#line 399 "dhcp4_parser.yy"
1006 ctx.
stack_.back()->add(s);
1008#line 1009 "dhcp4_parser.cc"
1012#line 403 "dhcp4_parser.yy"
1015 ctx.
stack_.back()->add(s);
1017#line 1018 "dhcp4_parser.cc"
1021#line 407 "dhcp4_parser.yy"
1025#line 1026 "dhcp4_parser.cc"
1029#line 417 "dhcp4_parser.yy"
1032 const std::string& keyword = yystack_[1].value.as < std::string > ();
1033 error(yystack_[1].location,
1034 "got unexpected keyword \"" + keyword +
"\" in " + where +
" map.");
1036#line 1037 "dhcp4_parser.cc"
1040#line 426 "dhcp4_parser.yy"
1047#line 1048 "dhcp4_parser.cc"
1051#line 431 "dhcp4_parser.yy"
1060#line 1061 "dhcp4_parser.cc"
1064#line 441 "dhcp4_parser.yy"
1071 ctx.
stack_.back()->set(
"Dhcp4", m);
1075#line 1076 "dhcp4_parser.cc"
1079#line 450 "dhcp4_parser.yy"
1085#line 1086 "dhcp4_parser.cc"
1089#line 458 "dhcp4_parser.yy"
1093#line 1094 "dhcp4_parser.cc"
1097#line 464 "dhcp4_parser.yy"
1103#line 1104 "dhcp4_parser.cc"
1107#line 468 "dhcp4_parser.yy"
1112#line 1113 "dhcp4_parser.cc"
1116#line 475 "dhcp4_parser.yy"
1120#line 1121 "dhcp4_parser.cc"
1124#line 548 "dhcp4_parser.yy"
1126 ctx.
unique(
"valid-lifetime", ctx.
loc2pos(yystack_[2].location));
1128 ctx.
stack_.back()->set(
"valid-lifetime", prf);
1130#line 1131 "dhcp4_parser.cc"
1134#line 554 "dhcp4_parser.yy"
1136 ctx.
unique(
"min-valid-lifetime", ctx.
loc2pos(yystack_[2].location));
1138 ctx.
stack_.back()->set(
"min-valid-lifetime", prf);
1140#line 1141 "dhcp4_parser.cc"
1144#line 560 "dhcp4_parser.yy"
1146 ctx.
unique(
"max-valid-lifetime", ctx.
loc2pos(yystack_[2].location));
1148 ctx.
stack_.back()->set(
"max-valid-lifetime", prf);
1150#line 1151 "dhcp4_parser.cc"
1154#line 566 "dhcp4_parser.yy"
1156 ctx.
unique(
"renew-timer", ctx.
loc2pos(yystack_[2].location));
1158 ctx.
stack_.back()->set(
"renew-timer", prf);
1160#line 1161 "dhcp4_parser.cc"
1164#line 572 "dhcp4_parser.yy"
1166 ctx.
unique(
"rebind-timer", ctx.
loc2pos(yystack_[2].location));
1168 ctx.
stack_.back()->set(
"rebind-timer", prf);
1170#line 1171 "dhcp4_parser.cc"
1174#line 578 "dhcp4_parser.yy"
1176 ctx.
unique(
"calculate-tee-times", ctx.
loc2pos(yystack_[2].location));
1178 ctx.
stack_.back()->set(
"calculate-tee-times", ctt);
1180#line 1181 "dhcp4_parser.cc"
1184#line 584 "dhcp4_parser.yy"
1186 ctx.
unique(
"t1-percent", ctx.
loc2pos(yystack_[2].location));
1188 ctx.
stack_.back()->set(
"t1-percent", t1);
1190#line 1191 "dhcp4_parser.cc"
1194#line 590 "dhcp4_parser.yy"
1196 ctx.
unique(
"t2-percent", ctx.
loc2pos(yystack_[2].location));
1198 ctx.
stack_.back()->set(
"t2-percent", t2);
1200#line 1201 "dhcp4_parser.cc"
1204#line 596 "dhcp4_parser.yy"
1206 ctx.
unique(
"cache-threshold", ctx.
loc2pos(yystack_[2].location));
1208 ctx.
stack_.back()->set(
"cache-threshold", ct);
1210#line 1211 "dhcp4_parser.cc"
1214#line 602 "dhcp4_parser.yy"
1216 ctx.
unique(
"cache-max-age", ctx.
loc2pos(yystack_[2].location));
1218 ctx.
stack_.back()->set(
"cache-max-age", cm);
1220#line 1221 "dhcp4_parser.cc"
1224#line 608 "dhcp4_parser.yy"
1226 ctx.
unique(
"decline-probation-period", ctx.
loc2pos(yystack_[2].location));
1228 ctx.
stack_.back()->set(
"decline-probation-period", dpp);
1230#line 1231 "dhcp4_parser.cc"
1234#line 614 "dhcp4_parser.yy"
1236 ctx.
unique(
"server-tag", ctx.
loc2pos(yystack_[0].location));
1239#line 1240 "dhcp4_parser.cc"
1243#line 617 "dhcp4_parser.yy"
1246 ctx.
stack_.back()->set(
"server-tag", stag);
1249#line 1250 "dhcp4_parser.cc"
1253#line 623 "dhcp4_parser.yy"
1255 ctx.
unique(
"parked-packet-limit", ctx.
loc2pos(yystack_[2].location));
1257 ctx.
stack_.back()->set(
"parked-packet-limit", ppl);
1259#line 1260 "dhcp4_parser.cc"
1263#line 629 "dhcp4_parser.yy"
1265 ctx.
unique(
"echo-client-id", ctx.
loc2pos(yystack_[2].location));
1267 ctx.
stack_.back()->set(
"echo-client-id", echo);
1269#line 1270 "dhcp4_parser.cc"
1273#line 635 "dhcp4_parser.yy"
1275 ctx.
unique(
"match-client-id", ctx.
loc2pos(yystack_[2].location));
1277 ctx.
stack_.back()->set(
"match-client-id", match);
1279#line 1280 "dhcp4_parser.cc"
1283#line 641 "dhcp4_parser.yy"
1285 ctx.
unique(
"authoritative", ctx.
loc2pos(yystack_[2].location));
1287 ctx.
stack_.back()->set(
"authoritative", prf);
1289#line 1290 "dhcp4_parser.cc"
1293#line 647 "dhcp4_parser.yy"
1295 ctx.
unique(
"ddns-send-updates", ctx.
loc2pos(yystack_[2].location));
1297 ctx.
stack_.back()->set(
"ddns-send-updates", b);
1299#line 1300 "dhcp4_parser.cc"
1303#line 653 "dhcp4_parser.yy"
1305 ctx.
unique(
"ddns-override-no-update", ctx.
loc2pos(yystack_[2].location));
1307 ctx.
stack_.back()->set(
"ddns-override-no-update", b);
1309#line 1310 "dhcp4_parser.cc"
1313#line 659 "dhcp4_parser.yy"
1315 ctx.
unique(
"ddns-override-client-update", ctx.
loc2pos(yystack_[2].location));
1317 ctx.
stack_.back()->set(
"ddns-override-client-update", b);
1319#line 1320 "dhcp4_parser.cc"
1323#line 665 "dhcp4_parser.yy"
1326 ctx.
unique(
"ddns-replace-client-name", ctx.
loc2pos(yystack_[0].location));
1328#line 1329 "dhcp4_parser.cc"
1332#line 668 "dhcp4_parser.yy"
1334 ctx.
stack_.back()->set(
"ddns-replace-client-name", yystack_[0].value.as <
ElementPtr > ());
1337#line 1338 "dhcp4_parser.cc"
1341#line 674 "dhcp4_parser.yy"
1345#line 1346 "dhcp4_parser.cc"
1349#line 677 "dhcp4_parser.yy"
1353#line 1354 "dhcp4_parser.cc"
1357#line 680 "dhcp4_parser.yy"
1361#line 1362 "dhcp4_parser.cc"
1365#line 683 "dhcp4_parser.yy"
1369#line 1370 "dhcp4_parser.cc"
1373#line 686 "dhcp4_parser.yy"
1375 error(yystack_[0].location,
"boolean values for the replace-client-name are "
1376 "no longer supported");
1378#line 1379 "dhcp4_parser.cc"
1382#line 692 "dhcp4_parser.yy"
1384 ctx.
unique(
"ddns-generated-prefix", ctx.
loc2pos(yystack_[0].location));
1387#line 1388 "dhcp4_parser.cc"
1391#line 695 "dhcp4_parser.yy"
1394 ctx.
stack_.back()->set(
"ddns-generated-prefix", s);
1397#line 1398 "dhcp4_parser.cc"
1401#line 701 "dhcp4_parser.yy"
1403 ctx.
unique(
"ddns-qualifying-suffix", ctx.
loc2pos(yystack_[0].location));
1406#line 1407 "dhcp4_parser.cc"
1410#line 704 "dhcp4_parser.yy"
1413 ctx.
stack_.back()->set(
"ddns-qualifying-suffix", s);
1416#line 1417 "dhcp4_parser.cc"
1420#line 710 "dhcp4_parser.yy"
1422 ctx.
unique(
"ddns-update-on-renew", ctx.
loc2pos(yystack_[2].location));
1424 ctx.
stack_.back()->set(
"ddns-update-on-renew", b);
1426#line 1427 "dhcp4_parser.cc"
1430#line 716 "dhcp4_parser.yy"
1432 ctx.
unique(
"ddns-use-conflict-resolution", ctx.
loc2pos(yystack_[2].location));
1434 ctx.
stack_.back()->set(
"ddns-use-conflict-resolution", b);
1436#line 1437 "dhcp4_parser.cc"
1440#line 722 "dhcp4_parser.yy"
1442 ctx.
unique(
"hostname-char-set", ctx.
loc2pos(yystack_[0].location));
1445#line 1446 "dhcp4_parser.cc"
1449#line 725 "dhcp4_parser.yy"
1452 ctx.
stack_.back()->set(
"hostname-char-set", s);
1455#line 1456 "dhcp4_parser.cc"
1459#line 731 "dhcp4_parser.yy"
1461 ctx.
unique(
"hostname-char-replacement", ctx.
loc2pos(yystack_[0].location));
1464#line 1465 "dhcp4_parser.cc"
1468#line 734 "dhcp4_parser.yy"
1471 ctx.
stack_.back()->set(
"hostname-char-replacement", s);
1474#line 1475 "dhcp4_parser.cc"
1478#line 740 "dhcp4_parser.yy"
1480 ctx.
unique(
"store-extended-info", ctx.
loc2pos(yystack_[2].location));
1482 ctx.
stack_.back()->set(
"store-extended-info", b);
1484#line 1485 "dhcp4_parser.cc"
1488#line 746 "dhcp4_parser.yy"
1490 ctx.
unique(
"statistic-default-sample-count", ctx.
loc2pos(yystack_[2].location));
1492 ctx.
stack_.back()->set(
"statistic-default-sample-count", count);
1494#line 1495 "dhcp4_parser.cc"
1498#line 752 "dhcp4_parser.yy"
1500 ctx.
unique(
"statistic-default-sample-age", ctx.
loc2pos(yystack_[2].location));
1502 ctx.
stack_.back()->set(
"statistic-default-sample-age", age);
1504#line 1505 "dhcp4_parser.cc"
1508#line 758 "dhcp4_parser.yy"
1510 ctx.
unique(
"early-global-reservations-lookup", ctx.
loc2pos(yystack_[2].location));
1512 ctx.
stack_.back()->set(
"early-global-reservations-lookup", early);
1514#line 1515 "dhcp4_parser.cc"
1518#line 764 "dhcp4_parser.yy"
1520 ctx.
unique(
"ip-reservations-unique", ctx.
loc2pos(yystack_[2].location));
1522 ctx.
stack_.back()->set(
"ip-reservations-unique", unique);
1524#line 1525 "dhcp4_parser.cc"
1528#line 770 "dhcp4_parser.yy"
1530 ctx.
unique(
"reservations-lookup-first", ctx.
loc2pos(yystack_[2].location));
1532 ctx.
stack_.back()->set(
"reservations-lookup-first", first);
1534#line 1535 "dhcp4_parser.cc"
1538#line 776 "dhcp4_parser.yy"
1540 ctx.
unique(
"interfaces-config", ctx.
loc2pos(yystack_[0].location));
1542 ctx.
stack_.back()->set(
"interfaces-config", i);
1546#line 1547 "dhcp4_parser.cc"
1550#line 782 "dhcp4_parser.yy"
1556#line 1557 "dhcp4_parser.cc"
1560#line 790 "dhcp4_parser.yy"
1564#line 1565 "dhcp4_parser.cc"
1568#line 807 "dhcp4_parser.yy"
1574#line 1575 "dhcp4_parser.cc"
1578#line 811 "dhcp4_parser.yy"
1583#line 1584 "dhcp4_parser.cc"
1587#line 816 "dhcp4_parser.yy"
1589 ctx.
unique(
"interfaces", ctx.
loc2pos(yystack_[0].location));
1591 ctx.
stack_.back()->set(
"interfaces", l);
1595#line 1596 "dhcp4_parser.cc"
1599#line 822 "dhcp4_parser.yy"
1604#line 1605 "dhcp4_parser.cc"
1608#line 827 "dhcp4_parser.yy"
1610 ctx.
unique(
"dhcp-socket-type", ctx.
loc2pos(yystack_[0].location));
1613#line 1614 "dhcp4_parser.cc"
1617#line 830 "dhcp4_parser.yy"
1619 ctx.
stack_.back()->set(
"dhcp-socket-type", yystack_[0].value.as <
ElementPtr > ());
1622#line 1623 "dhcp4_parser.cc"
1626#line 835 "dhcp4_parser.yy"
1628#line 1629 "dhcp4_parser.cc"
1632#line 836 "dhcp4_parser.yy"
1634#line 1635 "dhcp4_parser.cc"
1638#line 839 "dhcp4_parser.yy"
1640 ctx.
unique(
"outbound-interface", ctx.
loc2pos(yystack_[0].location));
1643#line 1644 "dhcp4_parser.cc"
1647#line 842 "dhcp4_parser.yy"
1649 ctx.
stack_.back()->set(
"outbound-interface", yystack_[0].value.as <
ElementPtr > ());
1652#line 1653 "dhcp4_parser.cc"
1656#line 847 "dhcp4_parser.yy"
1660#line 1661 "dhcp4_parser.cc"
1664#line 849 "dhcp4_parser.yy"
1668#line 1669 "dhcp4_parser.cc"
1672#line 853 "dhcp4_parser.yy"
1676 ctx.
stack_.back()->set(
"re-detect", b);
1678#line 1679 "dhcp4_parser.cc"
1682#line 859 "dhcp4_parser.yy"
1684 ctx.
unique(
"service-sockets-require-all", ctx.
loc2pos(yystack_[2].location));
1686 ctx.
stack_.back()->set(
"service-sockets-require-all", b);
1688#line 1689 "dhcp4_parser.cc"
1692#line 865 "dhcp4_parser.yy"
1694 ctx.
unique(
"service-sockets-retry-wait-time", ctx.
loc2pos(yystack_[2].location));
1696 ctx.
stack_.back()->set(
"service-sockets-retry-wait-time", n);
1698#line 1699 "dhcp4_parser.cc"
1702#line 871 "dhcp4_parser.yy"
1704 ctx.
unique(
"service-sockets-max-retries", ctx.
loc2pos(yystack_[2].location));
1706 ctx.
stack_.back()->set(
"service-sockets-max-retries", n);
1708#line 1709 "dhcp4_parser.cc"
1712#line 877 "dhcp4_parser.yy"
1714 ctx.
unique(
"lease-database", ctx.
loc2pos(yystack_[0].location));
1716 ctx.
stack_.back()->set(
"lease-database", i);
1720#line 1721 "dhcp4_parser.cc"
1724#line 883 "dhcp4_parser.yy"
1731#line 1732 "dhcp4_parser.cc"
1735#line 890 "dhcp4_parser.yy"
1737 ctx.
unique(
"sanity-checks", ctx.
loc2pos(yystack_[0].location));
1739 ctx.
stack_.back()->set(
"sanity-checks", m);
1743#line 1744 "dhcp4_parser.cc"
1747#line 896 "dhcp4_parser.yy"
1752#line 1753 "dhcp4_parser.cc"
1756#line 903 "dhcp4_parser.yy"
1760#line 1761 "dhcp4_parser.cc"
1764#line 910 "dhcp4_parser.yy"
1766 ctx.
unique(
"lease-checks", ctx.
loc2pos(yystack_[0].location));
1769#line 1770 "dhcp4_parser.cc"
1773#line 913 "dhcp4_parser.yy"
1776 if ( (
string(yystack_[0].value.as < std::string > ()) ==
"none") ||
1777 (
string(yystack_[0].value.as < std::string > ()) ==
"warn") ||
1778 (
string(yystack_[0].value.as < std::string > ()) ==
"fix") ||
1779 (
string(yystack_[0].value.as < std::string > ()) ==
"fix-del") ||
1780 (
string(yystack_[0].value.as < std::string > ()) ==
"del")) {
1782 ctx.
stack_.back()->set(
"lease-checks", user);
1785 error(yystack_[0].location,
"Unsupported 'lease-checks value: " +
string(yystack_[0].value.as < std::string > ()) +
1786 ", supported values are: none, warn, fix, fix-del, del");
1789#line 1790 "dhcp4_parser.cc"
1793#line 929 "dhcp4_parser.yy"
1795 ctx.
unique(
"hosts-database", ctx.
loc2pos(yystack_[0].location));
1797 ctx.
stack_.back()->set(
"hosts-database", i);
1801#line 1802 "dhcp4_parser.cc"
1805#line 935 "dhcp4_parser.yy"
1812#line 1813 "dhcp4_parser.cc"
1816#line 942 "dhcp4_parser.yy"
1818 ctx.
unique(
"hosts-databases", ctx.
loc2pos(yystack_[0].location));
1820 ctx.
stack_.back()->set(
"hosts-databases", l);
1824#line 1825 "dhcp4_parser.cc"
1828#line 948 "dhcp4_parser.yy"
1833#line 1834 "dhcp4_parser.cc"
1837#line 959 "dhcp4_parser.yy"
1841#line 1842 "dhcp4_parser.cc"
1845#line 964 "dhcp4_parser.yy"
1848 ctx.
stack_.back()->add(m);
1851#line 1852 "dhcp4_parser.cc"
1855#line 968 "dhcp4_parser.yy"
1861#line 1862 "dhcp4_parser.cc"
1865#line 976 "dhcp4_parser.yy"
1869#line 1870 "dhcp4_parser.cc"
1873#line 1002 "dhcp4_parser.yy"
1878#line 1879 "dhcp4_parser.cc"
1882#line 1005 "dhcp4_parser.yy"
1887#line 1888 "dhcp4_parser.cc"
1891#line 1010 "dhcp4_parser.yy"
1893#line 1894 "dhcp4_parser.cc"
1897#line 1011 "dhcp4_parser.yy"
1899#line 1900 "dhcp4_parser.cc"
1903#line 1012 "dhcp4_parser.yy"
1905#line 1906 "dhcp4_parser.cc"
1909#line 1015 "dhcp4_parser.yy"
1914#line 1915 "dhcp4_parser.cc"
1918#line 1018 "dhcp4_parser.yy"
1921 ctx.
stack_.back()->set(
"user", user);
1924#line 1925 "dhcp4_parser.cc"
1928#line 1024 "dhcp4_parser.yy"
1933#line 1934 "dhcp4_parser.cc"
1937#line 1027 "dhcp4_parser.yy"
1940 ctx.
stack_.back()->set(
"password", pwd);
1943#line 1944 "dhcp4_parser.cc"
1947#line 1033 "dhcp4_parser.yy"
1952#line 1953 "dhcp4_parser.cc"
1956#line 1036 "dhcp4_parser.yy"
1959 ctx.
stack_.back()->set(
"host", h);
1962#line 1963 "dhcp4_parser.cc"
1966#line 1042 "dhcp4_parser.yy"
1970 ctx.
stack_.back()->set(
"port", p);
1972#line 1973 "dhcp4_parser.cc"
1976#line 1048 "dhcp4_parser.yy"
1981#line 1982 "dhcp4_parser.cc"
1985#line 1051 "dhcp4_parser.yy"
1988 ctx.
stack_.back()->set(
"name", name);
1991#line 1992 "dhcp4_parser.cc"
1995#line 1057 "dhcp4_parser.yy"
1999 ctx.
stack_.back()->set(
"persist", n);
2001#line 2002 "dhcp4_parser.cc"
2005#line 1063 "dhcp4_parser.yy"
2007 ctx.
unique(
"lfc-interval", ctx.
loc2pos(yystack_[2].location));
2009 ctx.
stack_.back()->set(
"lfc-interval", n);
2011#line 2012 "dhcp4_parser.cc"
2015#line 1069 "dhcp4_parser.yy"
2019 ctx.
stack_.back()->set(
"readonly", n);
2021#line 2022 "dhcp4_parser.cc"
2025#line 1075 "dhcp4_parser.yy"
2027 ctx.
unique(
"connect-timeout", ctx.
loc2pos(yystack_[2].location));
2029 ctx.
stack_.back()->set(
"connect-timeout", n);
2031#line 2032 "dhcp4_parser.cc"
2035#line 1081 "dhcp4_parser.yy"
2037 ctx.
unique(
"max-reconnect-tries", ctx.
loc2pos(yystack_[2].location));
2039 ctx.
stack_.back()->set(
"max-reconnect-tries", n);
2041#line 2042 "dhcp4_parser.cc"
2045#line 1087 "dhcp4_parser.yy"
2047 ctx.
unique(
"reconnect-wait-time", ctx.
loc2pos(yystack_[2].location));
2049 ctx.
stack_.back()->set(
"reconnect-wait-time", n);
2051#line 2052 "dhcp4_parser.cc"
2055#line 1093 "dhcp4_parser.yy"
2060#line 2061 "dhcp4_parser.cc"
2064#line 1096 "dhcp4_parser.yy"
2069#line 2070 "dhcp4_parser.cc"
2073#line 1101 "dhcp4_parser.yy"
2075#line 2076 "dhcp4_parser.cc"
2079#line 1102 "dhcp4_parser.yy"
2081#line 2082 "dhcp4_parser.cc"
2085#line 1103 "dhcp4_parser.yy"
2087#line 2088 "dhcp4_parser.cc"
2091#line 1106 "dhcp4_parser.yy"
2093 ctx.
unique(
"max-row-errors", ctx.
loc2pos(yystack_[2].location));
2095 ctx.
stack_.back()->set(
"max-row-errors", n);
2097#line 2098 "dhcp4_parser.cc"
2101#line 1112 "dhcp4_parser.yy"
2103 ctx.
unique(
"trust-anchor", ctx.
loc2pos(yystack_[0].location));
2106#line 2107 "dhcp4_parser.cc"
2110#line 1115 "dhcp4_parser.yy"
2113 ctx.
stack_.back()->set(
"trust-anchor", ca);
2116#line 2117 "dhcp4_parser.cc"
2120#line 1121 "dhcp4_parser.yy"
2125#line 2126 "dhcp4_parser.cc"
2129#line 1124 "dhcp4_parser.yy"
2132 ctx.
stack_.back()->set(
"cert-file", cert);
2135#line 2136 "dhcp4_parser.cc"
2139#line 1130 "dhcp4_parser.yy"
2144#line 2145 "dhcp4_parser.cc"
2148#line 1133 "dhcp4_parser.yy"
2151 ctx.
stack_.back()->set(
"key-file", key);
2154#line 2155 "dhcp4_parser.cc"
2158#line 1139 "dhcp4_parser.yy"
2160 ctx.
unique(
"cipher-list", ctx.
loc2pos(yystack_[0].location));
2163#line 2164 "dhcp4_parser.cc"
2167#line 1142 "dhcp4_parser.yy"
2170 ctx.
stack_.back()->set(
"cipher-list", cl);
2173#line 2174 "dhcp4_parser.cc"
2177#line 1148 "dhcp4_parser.yy"
2179 ctx.
unique(
"host-reservation-identifiers", ctx.
loc2pos(yystack_[0].location));
2181 ctx.
stack_.back()->set(
"host-reservation-identifiers", l);
2185#line 2186 "dhcp4_parser.cc"
2189#line 1154 "dhcp4_parser.yy"
2194#line 2195 "dhcp4_parser.cc"
2198#line 1161 "dhcp4_parser.yy"
2202#line 2203 "dhcp4_parser.cc"
2206#line 1173 "dhcp4_parser.yy"
2209 ctx.
stack_.back()->add(duid);
2211#line 2212 "dhcp4_parser.cc"
2215#line 1178 "dhcp4_parser.yy"
2218 ctx.
stack_.back()->add(hwaddr);
2220#line 2221 "dhcp4_parser.cc"
2224#line 1183 "dhcp4_parser.yy"
2227 ctx.
stack_.back()->add(circuit);
2229#line 2230 "dhcp4_parser.cc"
2233#line 1188 "dhcp4_parser.yy"
2236 ctx.
stack_.back()->add(client);
2238#line 2239 "dhcp4_parser.cc"
2242#line 1193 "dhcp4_parser.yy"
2245 ctx.
stack_.back()->add(flex_id);
2247#line 2248 "dhcp4_parser.cc"
2251#line 1200 "dhcp4_parser.yy"
2253 ctx.
unique(
"multi-threading", ctx.
loc2pos(yystack_[0].location));
2255 ctx.
stack_.back()->set(
"multi-threading", mt);
2256 ctx.
stack_.push_back(mt);
2259#line 2260 "dhcp4_parser.cc"
2263#line 1206 "dhcp4_parser.yy"
2266 ctx.
require(
"enable-multi-threading", ctx.
loc2pos(yystack_[2].location), ctx.
loc2pos(yystack_[0].location));
2270#line 2271 "dhcp4_parser.cc"
2274#line 1215 "dhcp4_parser.yy"
2278#line 2279 "dhcp4_parser.cc"
2282#line 1228 "dhcp4_parser.yy"
2284 ctx.
unique(
"enable-multi-threading", ctx.
loc2pos(yystack_[2].location));
2286 ctx.
stack_.back()->set(
"enable-multi-threading", b);
2288#line 2289 "dhcp4_parser.cc"
2292#line 1234 "dhcp4_parser.yy"
2294 ctx.
unique(
"thread-pool-size", ctx.
loc2pos(yystack_[2].location));
2296 ctx.
stack_.back()->set(
"thread-pool-size", prf);
2298#line 2299 "dhcp4_parser.cc"
2302#line 1240 "dhcp4_parser.yy"
2304 ctx.
unique(
"packet-queue-size", ctx.
loc2pos(yystack_[2].location));
2306 ctx.
stack_.back()->set(
"packet-queue-size", prf);
2308#line 2309 "dhcp4_parser.cc"
2312#line 1246 "dhcp4_parser.yy"
2314 ctx.
unique(
"hooks-libraries", ctx.
loc2pos(yystack_[0].location));
2316 ctx.
stack_.back()->set(
"hooks-libraries", l);
2320#line 2321 "dhcp4_parser.cc"
2324#line 1252 "dhcp4_parser.yy"
2329#line 2330 "dhcp4_parser.cc"
2333#line 1263 "dhcp4_parser.yy"
2337#line 2338 "dhcp4_parser.cc"
2341#line 1268 "dhcp4_parser.yy"
2344 ctx.
stack_.back()->add(m);
2347#line 2348 "dhcp4_parser.cc"
2351#line 1272 "dhcp4_parser.yy"
2357#line 2358 "dhcp4_parser.cc"
2361#line 1278 "dhcp4_parser.yy"
2367#line 2368 "dhcp4_parser.cc"
2371#line 1282 "dhcp4_parser.yy"
2377#line 2378 "dhcp4_parser.cc"
2381#line 1290 "dhcp4_parser.yy"
2385#line 2386 "dhcp4_parser.cc"
2389#line 1300 "dhcp4_parser.yy"
2394#line 2395 "dhcp4_parser.cc"
2398#line 1303 "dhcp4_parser.yy"
2401 ctx.
stack_.back()->set(
"library", lib);
2404#line 2405 "dhcp4_parser.cc"
2408#line 1309 "dhcp4_parser.yy"
2410 ctx.
unique(
"parameters", ctx.
loc2pos(yystack_[0].location));
2413#line 2414 "dhcp4_parser.cc"
2417#line 1312 "dhcp4_parser.yy"
2419 ctx.
stack_.back()->set(
"parameters", yystack_[0].value.as <
ElementPtr > ());
2422#line 2423 "dhcp4_parser.cc"
2426#line 1318 "dhcp4_parser.yy"
2428 ctx.
unique(
"expired-leases-processing", ctx.
loc2pos(yystack_[0].location));
2430 ctx.
stack_.back()->set(
"expired-leases-processing", m);
2434#line 2435 "dhcp4_parser.cc"
2438#line 1324 "dhcp4_parser.yy"
2444#line 2445 "dhcp4_parser.cc"
2448#line 1332 "dhcp4_parser.yy"
2452#line 2453 "dhcp4_parser.cc"
2456#line 1345 "dhcp4_parser.yy"
2458 ctx.
unique(
"reclaim-timer-wait-time", ctx.
loc2pos(yystack_[2].location));
2460 ctx.
stack_.back()->set(
"reclaim-timer-wait-time", value);
2462#line 2463 "dhcp4_parser.cc"
2466#line 1351 "dhcp4_parser.yy"
2468 ctx.
unique(
"flush-reclaimed-timer-wait-time", ctx.
loc2pos(yystack_[2].location));
2470 ctx.
stack_.back()->set(
"flush-reclaimed-timer-wait-time", value);
2472#line 2473 "dhcp4_parser.cc"
2476#line 1357 "dhcp4_parser.yy"
2478 ctx.
unique(
"hold-reclaimed-time", ctx.
loc2pos(yystack_[2].location));
2480 ctx.
stack_.back()->set(
"hold-reclaimed-time", value);
2482#line 2483 "dhcp4_parser.cc"
2486#line 1363 "dhcp4_parser.yy"
2488 ctx.
unique(
"max-reclaim-leases", ctx.
loc2pos(yystack_[2].location));
2490 ctx.
stack_.back()->set(
"max-reclaim-leases", value);
2492#line 2493 "dhcp4_parser.cc"
2496#line 1369 "dhcp4_parser.yy"
2498 ctx.
unique(
"max-reclaim-time", ctx.
loc2pos(yystack_[2].location));
2500 ctx.
stack_.back()->set(
"max-reclaim-time", value);
2502#line 2503 "dhcp4_parser.cc"
2506#line 1375 "dhcp4_parser.yy"
2508 ctx.
unique(
"unwarned-reclaim-cycles", ctx.
loc2pos(yystack_[2].location));
2510 ctx.
stack_.back()->set(
"unwarned-reclaim-cycles", value);
2512#line 2513 "dhcp4_parser.cc"
2516#line 1384 "dhcp4_parser.yy"
2520 ctx.
stack_.back()->set(
"subnet4", l);
2524#line 2525 "dhcp4_parser.cc"
2528#line 1390 "dhcp4_parser.yy"
2533#line 2534 "dhcp4_parser.cc"
2537#line 1404 "dhcp4_parser.yy"
2541#line 2542 "dhcp4_parser.cc"
2545#line 1413 "dhcp4_parser.yy"
2548 ctx.
stack_.back()->add(m);
2551#line 2552 "dhcp4_parser.cc"
2555#line 1417 "dhcp4_parser.yy"
2577#line 2578 "dhcp4_parser.cc"
2581#line 1439 "dhcp4_parser.yy"
2587#line 2588 "dhcp4_parser.cc"
2591#line 1443 "dhcp4_parser.yy"
2597#line 2598 "dhcp4_parser.cc"
2601#line 1452 "dhcp4_parser.yy"
2605#line 2606 "dhcp4_parser.cc"
2609#line 1505 "dhcp4_parser.yy"
2614#line 2615 "dhcp4_parser.cc"
2618#line 1508 "dhcp4_parser.yy"
2621 ctx.
stack_.back()->set(
"subnet", subnet);
2624#line 2625 "dhcp4_parser.cc"
2628#line 1514 "dhcp4_parser.yy"
2630 ctx.
unique(
"4o6-interface", ctx.
loc2pos(yystack_[0].location));
2633#line 2634 "dhcp4_parser.cc"
2637#line 1517 "dhcp4_parser.yy"
2640 ctx.
stack_.back()->set(
"4o6-interface", iface);
2643#line 2644 "dhcp4_parser.cc"
2647#line 1523 "dhcp4_parser.yy"
2649 ctx.
unique(
"4o6-interface-id", ctx.
loc2pos(yystack_[0].location));
2652#line 2653 "dhcp4_parser.cc"
2656#line 1526 "dhcp4_parser.yy"
2659 ctx.
stack_.back()->set(
"4o6-interface-id", iface);
2662#line 2663 "dhcp4_parser.cc"
2666#line 1532 "dhcp4_parser.yy"
2668 ctx.
unique(
"4o6-subnet", ctx.
loc2pos(yystack_[0].location));
2671#line 2672 "dhcp4_parser.cc"
2675#line 1535 "dhcp4_parser.yy"
2678 ctx.
stack_.back()->set(
"4o6-subnet", iface);
2681#line 2682 "dhcp4_parser.cc"
2685#line 1541 "dhcp4_parser.yy"
2690#line 2691 "dhcp4_parser.cc"
2694#line 1544 "dhcp4_parser.yy"
2697 ctx.
stack_.back()->set(
"interface", iface);
2700#line 2701 "dhcp4_parser.cc"
2704#line 1550 "dhcp4_parser.yy"
2706 ctx.
unique(
"client-class", ctx.
loc2pos(yystack_[0].location));
2709#line 2710 "dhcp4_parser.cc"
2713#line 1553 "dhcp4_parser.yy"
2716 ctx.
stack_.back()->set(
"client-class", cls);
2719#line 2720 "dhcp4_parser.cc"
2723#line 1559 "dhcp4_parser.yy"
2725 ctx.
unique(
"require-client-classes", ctx.
loc2pos(yystack_[0].location));
2727 ctx.
stack_.back()->set(
"require-client-classes", c);
2731#line 2732 "dhcp4_parser.cc"
2735#line 1565 "dhcp4_parser.yy"
2740#line 2741 "dhcp4_parser.cc"
2744#line 1570 "dhcp4_parser.yy"
2746 ctx.
unique(
"reservations-global", ctx.
loc2pos(yystack_[2].location));
2748 ctx.
stack_.back()->set(
"reservations-global", b);
2750#line 2751 "dhcp4_parser.cc"
2754#line 1576 "dhcp4_parser.yy"
2756 ctx.
unique(
"reservations-in-subnet", ctx.
loc2pos(yystack_[2].location));
2758 ctx.
stack_.back()->set(
"reservations-in-subnet", b);
2760#line 2761 "dhcp4_parser.cc"
2764#line 1582 "dhcp4_parser.yy"
2766 ctx.
unique(
"reservations-out-of-pool", ctx.
loc2pos(yystack_[2].location));
2768 ctx.
stack_.back()->set(
"reservations-out-of-pool", b);
2770#line 2771 "dhcp4_parser.cc"
2774#line 1588 "dhcp4_parser.yy"
2776 ctx.
unique(
"reservation-mode", ctx.
loc2pos(yystack_[0].location));
2779#line 2780 "dhcp4_parser.cc"
2783#line 1591 "dhcp4_parser.yy"
2785 ctx.
stack_.back()->set(
"reservation-mode", yystack_[0].value.as <
ElementPtr > ());
2788#line 2789 "dhcp4_parser.cc"
2792#line 1596 "dhcp4_parser.yy"
2794#line 2795 "dhcp4_parser.cc"
2798#line 1597 "dhcp4_parser.yy"
2800#line 2801 "dhcp4_parser.cc"
2804#line 1598 "dhcp4_parser.yy"
2806#line 2807 "dhcp4_parser.cc"
2810#line 1599 "dhcp4_parser.yy"
2812#line 2813 "dhcp4_parser.cc"
2816#line 1602 "dhcp4_parser.yy"
2820 ctx.
stack_.back()->set(
"id",
id);
2822#line 2823 "dhcp4_parser.cc"
2826#line 1610 "dhcp4_parser.yy"
2828 ctx.
unique(
"shared-networks", ctx.
loc2pos(yystack_[0].location));
2830 ctx.
stack_.back()->set(
"shared-networks", l);
2834#line 2835 "dhcp4_parser.cc"
2838#line 1616 "dhcp4_parser.yy"
2843#line 2844 "dhcp4_parser.cc"
2847#line 1629 "dhcp4_parser.yy"
2851#line 2852 "dhcp4_parser.cc"
2855#line 1634 "dhcp4_parser.yy"
2858 ctx.
stack_.back()->add(m);
2861#line 2862 "dhcp4_parser.cc"
2865#line 1638 "dhcp4_parser.yy"
2869#line 2870 "dhcp4_parser.cc"
2873#line 1644 "dhcp4_parser.yy"
2877#line 2878 "dhcp4_parser.cc"
2881#line 1695 "dhcp4_parser.yy"
2883 ctx.
unique(
"option-def", ctx.
loc2pos(yystack_[0].location));
2885 ctx.
stack_.back()->set(
"option-def", l);
2889#line 2890 "dhcp4_parser.cc"
2893#line 1701 "dhcp4_parser.yy"
2898#line 2899 "dhcp4_parser.cc"
2902#line 1709 "dhcp4_parser.yy"
2907#line 2908 "dhcp4_parser.cc"
2911#line 1712 "dhcp4_parser.yy"
2915#line 2916 "dhcp4_parser.cc"
2919#line 1724 "dhcp4_parser.yy"
2923#line 2924 "dhcp4_parser.cc"
2927#line 1731 "dhcp4_parser.yy"
2930 ctx.
stack_.back()->add(m);
2933#line 2934 "dhcp4_parser.cc"
2937#line 1735 "dhcp4_parser.yy"
2945#line 2946 "dhcp4_parser.cc"
2949#line 1746 "dhcp4_parser.yy"
2955#line 2956 "dhcp4_parser.cc"
2959#line 1750 "dhcp4_parser.yy"
2967#line 2968 "dhcp4_parser.cc"
2971#line 1766 "dhcp4_parser.yy"
2975#line 2976 "dhcp4_parser.cc"
2979#line 1785 "dhcp4_parser.yy"
2983 ctx.
stack_.back()->set(
"code", code);
2985#line 2986 "dhcp4_parser.cc"
2989#line 1793 "dhcp4_parser.yy"
2994#line 2995 "dhcp4_parser.cc"
2998#line 1796 "dhcp4_parser.yy"
3001 ctx.
stack_.back()->set(
"type", prf);
3004#line 3005 "dhcp4_parser.cc"
3008#line 1802 "dhcp4_parser.yy"
3010 ctx.
unique(
"record-types", ctx.
loc2pos(yystack_[0].location));
3013#line 3014 "dhcp4_parser.cc"
3017#line 1805 "dhcp4_parser.yy"
3020 ctx.
stack_.back()->set(
"record-types", rtypes);
3023#line 3024 "dhcp4_parser.cc"
3027#line 1811 "dhcp4_parser.yy"
3032#line 3033 "dhcp4_parser.cc"
3036#line 1814 "dhcp4_parser.yy"
3039 ctx.
stack_.back()->set(
"space", space);
3042#line 3043 "dhcp4_parser.cc"
3046#line 1822 "dhcp4_parser.yy"
3048 ctx.
unique(
"encapsulate", ctx.
loc2pos(yystack_[0].location));
3051#line 3052 "dhcp4_parser.cc"
3055#line 1825 "dhcp4_parser.yy"
3058 ctx.
stack_.back()->set(
"encapsulate", encap);
3061#line 3062 "dhcp4_parser.cc"
3065#line 1831 "dhcp4_parser.yy"
3069 ctx.
stack_.back()->set(
"array", array);
3071#line 3072 "dhcp4_parser.cc"
3075#line 1841 "dhcp4_parser.yy"
3077 ctx.
unique(
"option-data", ctx.
loc2pos(yystack_[0].location));
3079 ctx.
stack_.back()->set(
"option-data", l);
3083#line 3084 "dhcp4_parser.cc"
3087#line 1847 "dhcp4_parser.yy"
3092#line 3093 "dhcp4_parser.cc"
3096#line 1862 "dhcp4_parser.yy"
3100#line 3101 "dhcp4_parser.cc"
3104#line 1869 "dhcp4_parser.yy"
3107 ctx.
stack_.back()->add(m);
3110#line 3111 "dhcp4_parser.cc"
3114#line 1873 "dhcp4_parser.yy"
3119#line 3120 "dhcp4_parser.cc"
3123#line 1881 "dhcp4_parser.yy"
3129#line 3130 "dhcp4_parser.cc"
3133#line 1885 "dhcp4_parser.yy"
3138#line 3139 "dhcp4_parser.cc"
3142#line 1901 "dhcp4_parser.yy"
3146#line 3147 "dhcp4_parser.cc"
3150#line 1921 "dhcp4_parser.yy"
3155#line 3156 "dhcp4_parser.cc"
3159#line 1924 "dhcp4_parser.yy"
3162 ctx.
stack_.back()->set(
"data", data);
3165#line 3166 "dhcp4_parser.cc"
3169#line 1934 "dhcp4_parser.yy"
3171 ctx.
unique(
"csv-format", ctx.
loc2pos(yystack_[2].location));
3173 ctx.
stack_.back()->set(
"csv-format", space);
3175#line 3176 "dhcp4_parser.cc"
3179#line 1940 "dhcp4_parser.yy"
3181 ctx.
unique(
"always-send", ctx.
loc2pos(yystack_[2].location));
3183 ctx.
stack_.back()->set(
"always-send", persist);
3185#line 3186 "dhcp4_parser.cc"
3189#line 1949 "dhcp4_parser.yy"
3193 ctx.
stack_.back()->set(
"pools", l);
3197#line 3198 "dhcp4_parser.cc"
3201#line 1955 "dhcp4_parser.yy"
3206#line 3207 "dhcp4_parser.cc"
3210#line 1968 "dhcp4_parser.yy"
3214#line 3215 "dhcp4_parser.cc"
3218#line 1973 "dhcp4_parser.yy"
3221 ctx.
stack_.back()->add(m);
3224#line 3225 "dhcp4_parser.cc"
3228#line 1977 "dhcp4_parser.yy"
3234#line 3235 "dhcp4_parser.cc"
3238#line 1983 "dhcp4_parser.yy"
3244#line 3245 "dhcp4_parser.cc"
3248#line 1987 "dhcp4_parser.yy"
3254#line 3255 "dhcp4_parser.cc"
3258#line 1995 "dhcp4_parser.yy"
3262#line 3263 "dhcp4_parser.cc"
3266#line 2009 "dhcp4_parser.yy"
3271#line 3272 "dhcp4_parser.cc"
3275#line 2012 "dhcp4_parser.yy"
3278 ctx.
stack_.back()->set(
"pool", pool);
3281#line 3282 "dhcp4_parser.cc"
3285#line 2018 "dhcp4_parser.yy"
3289#line 3290 "dhcp4_parser.cc"
3293#line 2020 "dhcp4_parser.yy"
3302 if ((old->size() != 1) || !old->contains(
"comment")) {
3303 std::stringstream msg;
3304 msg <<
"duplicate user-context entries (previous at "
3305 << old->getPosition().str() <<
")";
3306 error(yystack_[3].location, msg.str());
3309 user_context->set(
"comment", old->get(
"comment"));
3313 parent->set(
"user-context", user_context);
3316#line 3317 "dhcp4_parser.cc"
3320#line 2043 "dhcp4_parser.yy"
3324#line 3325 "dhcp4_parser.cc"
3328#line 2045 "dhcp4_parser.yy"
3333 user_context->set(
"comment", comment);
3339 if (old->contains(
"comment")) {
3340 std::stringstream msg;
3341 msg <<
"duplicate user-context/comment entries (previous at "
3342 << old->getPosition().str() <<
")";
3343 error(yystack_[3].location, msg.str());
3346 merge(user_context, old);
3350 parent->set(
"user-context", user_context);
3353#line 3354 "dhcp4_parser.cc"
3357#line 2073 "dhcp4_parser.yy"
3359 ctx.
unique(
"reservations", ctx.
loc2pos(yystack_[0].location));
3361 ctx.
stack_.back()->set(
"reservations", l);
3365#line 3366 "dhcp4_parser.cc"
3369#line 2079 "dhcp4_parser.yy"
3374#line 3375 "dhcp4_parser.cc"
3378#line 2090 "dhcp4_parser.yy"
3382#line 3383 "dhcp4_parser.cc"
3386#line 2095 "dhcp4_parser.yy"
3389 ctx.
stack_.back()->add(m);
3392#line 3393 "dhcp4_parser.cc"
3396#line 2099 "dhcp4_parser.yy"
3401#line 3402 "dhcp4_parser.cc"
3405#line 2104 "dhcp4_parser.yy"
3411#line 3412 "dhcp4_parser.cc"
3415#line 2108 "dhcp4_parser.yy"
3420#line 3421 "dhcp4_parser.cc"
3424#line 2119 "dhcp4_parser.yy"
3428#line 3429 "dhcp4_parser.cc"
3432#line 2142 "dhcp4_parser.yy"
3434 ctx.
unique(
"next-server", ctx.
loc2pos(yystack_[0].location));
3437#line 3438 "dhcp4_parser.cc"
3441#line 2145 "dhcp4_parser.yy"
3444 ctx.
stack_.back()->set(
"next-server", next_server);
3447#line 3448 "dhcp4_parser.cc"
3451#line 2151 "dhcp4_parser.yy"
3453 ctx.
unique(
"server-hostname", ctx.
loc2pos(yystack_[0].location));
3456#line 3457 "dhcp4_parser.cc"
3460#line 2154 "dhcp4_parser.yy"
3463 ctx.
stack_.back()->set(
"server-hostname", srv);
3466#line 3467 "dhcp4_parser.cc"
3470#line 2160 "dhcp4_parser.yy"
3472 ctx.
unique(
"boot-file-name", ctx.
loc2pos(yystack_[0].location));
3475#line 3476 "dhcp4_parser.cc"
3479#line 2163 "dhcp4_parser.yy"
3482 ctx.
stack_.back()->set(
"boot-file-name", bootfile);
3485#line 3486 "dhcp4_parser.cc"
3489#line 2169 "dhcp4_parser.yy"
3491 ctx.
unique(
"ip-address", ctx.
loc2pos(yystack_[0].location));
3494#line 3495 "dhcp4_parser.cc"
3498#line 2172 "dhcp4_parser.yy"
3501 ctx.
stack_.back()->set(
"ip-address", addr);
3504#line 3505 "dhcp4_parser.cc"
3508#line 2178 "dhcp4_parser.yy"
3510 ctx.
unique(
"ip-addresses", ctx.
loc2pos(yystack_[0].location));
3512 ctx.
stack_.back()->set(
"ip-addresses", l);
3516#line 3517 "dhcp4_parser.cc"
3520#line 2184 "dhcp4_parser.yy"
3525#line 3526 "dhcp4_parser.cc"
3529#line 2189 "dhcp4_parser.yy"
3534#line 3535 "dhcp4_parser.cc"
3538#line 2192 "dhcp4_parser.yy"
3541 ctx.
stack_.back()->set(
"duid", d);
3544#line 3545 "dhcp4_parser.cc"
3548#line 2198 "dhcp4_parser.yy"
3550 ctx.
unique(
"hw-address", ctx.
loc2pos(yystack_[0].location));
3553#line 3554 "dhcp4_parser.cc"
3557#line 2201 "dhcp4_parser.yy"
3560 ctx.
stack_.back()->set(
"hw-address", hw);
3563#line 3564 "dhcp4_parser.cc"
3567#line 2207 "dhcp4_parser.yy"
3572#line 3573 "dhcp4_parser.cc"
3576#line 2210 "dhcp4_parser.yy"
3579 ctx.
stack_.back()->set(
"client-id", hw);
3582#line 3583 "dhcp4_parser.cc"
3586#line 2216 "dhcp4_parser.yy"
3588 ctx.
unique(
"circuit-id", ctx.
loc2pos(yystack_[0].location));
3591#line 3592 "dhcp4_parser.cc"
3595#line 2219 "dhcp4_parser.yy"
3598 ctx.
stack_.back()->set(
"circuit-id", hw);
3601#line 3602 "dhcp4_parser.cc"
3605#line 2225 "dhcp4_parser.yy"
3610#line 3611 "dhcp4_parser.cc"
3614#line 2228 "dhcp4_parser.yy"
3617 ctx.
stack_.back()->set(
"flex-id", hw);
3620#line 3621 "dhcp4_parser.cc"
3624#line 2234 "dhcp4_parser.yy"
3629#line 3630 "dhcp4_parser.cc"
3633#line 2237 "dhcp4_parser.yy"
3636 ctx.
stack_.back()->set(
"hostname", host);
3639#line 3640 "dhcp4_parser.cc"
3643#line 2243 "dhcp4_parser.yy"
3645 ctx.
unique(
"client-classes", ctx.
loc2pos(yystack_[0].location));
3647 ctx.
stack_.back()->set(
"client-classes", c);
3651#line 3652 "dhcp4_parser.cc"
3655#line 2249 "dhcp4_parser.yy"
3660#line 3661 "dhcp4_parser.cc"
3664#line 2257 "dhcp4_parser.yy"
3668 ctx.
stack_.back()->set(
"relay", m);
3672#line 3673 "dhcp4_parser.cc"
3676#line 2263 "dhcp4_parser.yy"
3681#line 3682 "dhcp4_parser.cc"
3685#line 2275 "dhcp4_parser.yy"
3687 ctx.
unique(
"client-classes", ctx.
loc2pos(yystack_[0].location));
3689 ctx.
stack_.back()->set(
"client-classes", l);
3693#line 3694 "dhcp4_parser.cc"
3697#line 2281 "dhcp4_parser.yy"
3702#line 3703 "dhcp4_parser.cc"
3706#line 2288 "dhcp4_parser.yy"
3710#line 3711 "dhcp4_parser.cc"
3714#line 2293 "dhcp4_parser.yy"
3717 ctx.
stack_.back()->add(m);
3720#line 3721 "dhcp4_parser.cc"
3724#line 2297 "dhcp4_parser.yy"
3730#line 3731 "dhcp4_parser.cc"
3734#line 2309 "dhcp4_parser.yy"
3738#line 3739 "dhcp4_parser.cc"
3742#line 2332 "dhcp4_parser.yy"
3747#line 3748 "dhcp4_parser.cc"
3751#line 2335 "dhcp4_parser.yy"
3754 ctx.
stack_.back()->set(
"test", test);
3757#line 3758 "dhcp4_parser.cc"
3761#line 2341 "dhcp4_parser.yy"
3763 ctx.
unique(
"only-if-required", ctx.
loc2pos(yystack_[2].location));
3765 ctx.
stack_.back()->set(
"only-if-required", b);
3767#line 3768 "dhcp4_parser.cc"
3771#line 2349 "dhcp4_parser.yy"
3773 ctx.
unique(
"dhcp4o6-port", ctx.
loc2pos(yystack_[2].location));
3775 ctx.
stack_.back()->set(
"dhcp4o6-port", time);
3777#line 3778 "dhcp4_parser.cc"
3781#line 2357 "dhcp4_parser.yy"
3783 ctx.
unique(
"control-socket", ctx.
loc2pos(yystack_[0].location));
3785 ctx.
stack_.back()->set(
"control-socket", m);
3789#line 3790 "dhcp4_parser.cc"
3793#line 2363 "dhcp4_parser.yy"
3798#line 3799 "dhcp4_parser.cc"
3802#line 2370 "dhcp4_parser.yy"
3806#line 3807 "dhcp4_parser.cc"
3810#line 2382 "dhcp4_parser.yy"
3812 ctx.
unique(
"socket-type", ctx.
loc2pos(yystack_[0].location));
3815#line 3816 "dhcp4_parser.cc"
3819#line 2385 "dhcp4_parser.yy"
3822 ctx.
stack_.back()->set(
"socket-type", stype);
3825#line 3826 "dhcp4_parser.cc"
3829#line 2391 "dhcp4_parser.yy"
3831 ctx.
unique(
"socket-name", ctx.
loc2pos(yystack_[0].location));
3834#line 3835 "dhcp4_parser.cc"
3838#line 2394 "dhcp4_parser.yy"
3841 ctx.
stack_.back()->set(
"socket-name", name);
3844#line 3845 "dhcp4_parser.cc"
3848#line 2403 "dhcp4_parser.yy"
3850 ctx.
unique(
"dhcp-queue-control", ctx.
loc2pos(yystack_[0].location));
3852 ctx.
stack_.back()->set(
"dhcp-queue-control", qc);
3853 ctx.
stack_.push_back(qc);
3856#line 3857 "dhcp4_parser.cc"
3860#line 2409 "dhcp4_parser.yy"
3867#line 3868 "dhcp4_parser.cc"
3871#line 2418 "dhcp4_parser.yy"
3875#line 3876 "dhcp4_parser.cc"
3879#line 2431 "dhcp4_parser.yy"
3881 ctx.
unique(
"enable-queue", ctx.
loc2pos(yystack_[2].location));
3883 ctx.
stack_.back()->set(
"enable-queue", b);
3885#line 3886 "dhcp4_parser.cc"
3889#line 2437 "dhcp4_parser.yy"
3891 ctx.
unique(
"queue-type", ctx.
loc2pos(yystack_[0].location));
3894#line 3895 "dhcp4_parser.cc"
3898#line 2440 "dhcp4_parser.yy"
3901 ctx.
stack_.back()->set(
"queue-type", qt);
3904#line 3905 "dhcp4_parser.cc"
3908#line 2446 "dhcp4_parser.yy"
3912 ctx.
stack_.back()->set(
"capacity", c);
3914#line 3915 "dhcp4_parser.cc"
3918#line 2452 "dhcp4_parser.yy"
3920 ctx.
unique(yystack_[0].value.as < std::string > (), ctx.
loc2pos(yystack_[0].location));
3923#line 3924 "dhcp4_parser.cc"
3927#line 2455 "dhcp4_parser.yy"
3929 ctx.
stack_.back()->set(yystack_[3].value.as < std::string > (), yystack_[0].value.as <
ElementPtr > ());
3932#line 3933 "dhcp4_parser.cc"
3936#line 2462 "dhcp4_parser.yy"
3940 ctx.
stack_.back()->set(
"dhcp-ddns", m);
3944#line 3945 "dhcp4_parser.cc"
3948#line 2468 "dhcp4_parser.yy"
3951 ctx.
require(
"enable-updates", ctx.
loc2pos(yystack_[2].location), ctx.
loc2pos(yystack_[0].location));
3955#line 3956 "dhcp4_parser.cc"
3959#line 2475 "dhcp4_parser.yy"
3965#line 3966 "dhcp4_parser.cc"
3969#line 2479 "dhcp4_parser.yy"
3972 ctx.
require(
"enable-updates", ctx.
loc2pos(yystack_[3].location), ctx.
loc2pos(yystack_[0].location));
3975#line 3976 "dhcp4_parser.cc"
3979#line 2487 "dhcp4_parser.yy"
3983#line 3984 "dhcp4_parser.cc"
3987#line 2512 "dhcp4_parser.yy"
3989 ctx.
unique(
"enable-updates", ctx.
loc2pos(yystack_[2].location));
3991 ctx.
stack_.back()->set(
"enable-updates", b);
3993#line 3994 "dhcp4_parser.cc"
3997#line 2518 "dhcp4_parser.yy"
4002#line 4003 "dhcp4_parser.cc"
4006#line 2521 "dhcp4_parser.yy"
4009 ctx.
stack_.back()->set(
"server-ip", s);
4012#line 4013 "dhcp4_parser.cc"
4016#line 2527 "dhcp4_parser.yy"
4018 ctx.
unique(
"server-port", ctx.
loc2pos(yystack_[2].location));
4020 ctx.
stack_.back()->set(
"server-port", i);
4022#line 4023 "dhcp4_parser.cc"
4026#line 2533 "dhcp4_parser.yy"
4031#line 4032 "dhcp4_parser.cc"
4035#line 2536 "dhcp4_parser.yy"
4038 ctx.
stack_.back()->set(
"sender-ip", s);
4041#line 4042 "dhcp4_parser.cc"
4045#line 2542 "dhcp4_parser.yy"
4047 ctx.
unique(
"sender-port", ctx.
loc2pos(yystack_[2].location));
4049 ctx.
stack_.back()->set(
"sender-port", i);
4051#line 4052 "dhcp4_parser.cc"
4055#line 2548 "dhcp4_parser.yy"
4057 ctx.
unique(
"max-queue-size", ctx.
loc2pos(yystack_[2].location));
4059 ctx.
stack_.back()->set(
"max-queue-size", i);
4061#line 4062 "dhcp4_parser.cc"
4065#line 2554 "dhcp4_parser.yy"
4067 ctx.
unique(
"ncr-protocol", ctx.
loc2pos(yystack_[0].location));
4070#line 4071 "dhcp4_parser.cc"
4074#line 2557 "dhcp4_parser.yy"
4076 ctx.
stack_.back()->set(
"ncr-protocol", yystack_[0].value.as <
ElementPtr > ());
4079#line 4080 "dhcp4_parser.cc"
4083#line 2563 "dhcp4_parser.yy"
4085#line 4086 "dhcp4_parser.cc"
4089#line 2564 "dhcp4_parser.yy"
4091#line 4092 "dhcp4_parser.cc"
4095#line 2567 "dhcp4_parser.yy"
4097 ctx.
unique(
"ncr-format", ctx.
loc2pos(yystack_[0].location));
4100#line 4101 "dhcp4_parser.cc"
4104#line 2570 "dhcp4_parser.yy"
4107 ctx.
stack_.back()->set(
"ncr-format", json);
4110#line 4111 "dhcp4_parser.cc"
4114#line 2577 "dhcp4_parser.yy"
4116 ctx.
unique(
"qualifying-suffix", ctx.
loc2pos(yystack_[0].location));
4119#line 4120 "dhcp4_parser.cc"
4123#line 2580 "dhcp4_parser.yy"
4126 ctx.
stack_.back()->set(
"qualifying-suffix", s);
4129#line 4130 "dhcp4_parser.cc"
4133#line 2587 "dhcp4_parser.yy"
4135 ctx.
unique(
"override-no-update", ctx.
loc2pos(yystack_[2].location));
4137 ctx.
stack_.back()->set(
"override-no-update", b);
4139#line 4140 "dhcp4_parser.cc"
4143#line 2594 "dhcp4_parser.yy"
4145 ctx.
unique(
"override-client-update", ctx.
loc2pos(yystack_[2].location));
4147 ctx.
stack_.back()->set(
"override-client-update", b);
4149#line 4150 "dhcp4_parser.cc"
4153#line 2601 "dhcp4_parser.yy"
4155 ctx.
unique(
"replace-client-name", ctx.
loc2pos(yystack_[0].location));
4158#line 4159 "dhcp4_parser.cc"
4162#line 2604 "dhcp4_parser.yy"
4164 ctx.
stack_.back()->set(
"replace-client-name", yystack_[0].value.as <
ElementPtr > ());
4167#line 4168 "dhcp4_parser.cc"
4171#line 2610 "dhcp4_parser.yy"
4173 ctx.
unique(
"generated-prefix", ctx.
loc2pos(yystack_[0].location));
4176#line 4177 "dhcp4_parser.cc"
4180#line 2613 "dhcp4_parser.yy"
4183 ctx.
stack_.back()->set(
"generated-prefix", s);
4186#line 4187 "dhcp4_parser.cc"
4190#line 2620 "dhcp4_parser.yy"
4192 ctx.
unique(
"hostname-char-set", ctx.
loc2pos(yystack_[0].location));
4195#line 4196 "dhcp4_parser.cc"
4199#line 2623 "dhcp4_parser.yy"
4202 ctx.
stack_.back()->set(
"hostname-char-set", s);
4205#line 4206 "dhcp4_parser.cc"
4209#line 2630 "dhcp4_parser.yy"
4211 ctx.
unique(
"hostname-char-replacement", ctx.
loc2pos(yystack_[0].location));
4214#line 4215 "dhcp4_parser.cc"
4218#line 2633 "dhcp4_parser.yy"
4221 ctx.
stack_.back()->set(
"hostname-char-replacement", s);
4224#line 4225 "dhcp4_parser.cc"
4228#line 2642 "dhcp4_parser.yy"
4230 ctx.
unique(
"config-control", ctx.
loc2pos(yystack_[0].location));
4232 ctx.
stack_.back()->set(
"config-control", i);
4236#line 4237 "dhcp4_parser.cc"
4240#line 2648 "dhcp4_parser.yy"
4246#line 4247 "dhcp4_parser.cc"
4250#line 2654 "dhcp4_parser.yy"
4256#line 4257 "dhcp4_parser.cc"
4260#line 2658 "dhcp4_parser.yy"
4265#line 4266 "dhcp4_parser.cc"
4269#line 2666 "dhcp4_parser.yy"
4273#line 4274 "dhcp4_parser.cc"
4277#line 2676 "dhcp4_parser.yy"
4279 ctx.
unique(
"config-databases", ctx.
loc2pos(yystack_[0].location));
4281 ctx.
stack_.back()->set(
"config-databases", l);
4285#line 4286 "dhcp4_parser.cc"
4289#line 2682 "dhcp4_parser.yy"
4294#line 4295 "dhcp4_parser.cc"
4298#line 2687 "dhcp4_parser.yy"
4300 ctx.
unique(
"config-fetch-wait-time", ctx.
loc2pos(yystack_[2].location));
4302 ctx.
stack_.back()->set(
"config-fetch-wait-time", value);
4304#line 4305 "dhcp4_parser.cc"
4308#line 2695 "dhcp4_parser.yy"
4312 ctx.
stack_.back()->set(
"loggers", l);
4316#line 4317 "dhcp4_parser.cc"
4320#line 2701 "dhcp4_parser.yy"
4325#line 4326 "dhcp4_parser.cc"
4329#line 2710 "dhcp4_parser.yy"
4333#line 4334 "dhcp4_parser.cc"
4337#line 2716 "dhcp4_parser.yy"
4340 ctx.
stack_.back()->add(l);
4343#line 4344 "dhcp4_parser.cc"
4347#line 2720 "dhcp4_parser.yy"
4351#line 4352 "dhcp4_parser.cc"
4355#line 2726 "dhcp4_parser.yy"
4359#line 4360 "dhcp4_parser.cc"
4363#line 2740 "dhcp4_parser.yy"
4365 ctx.
unique(
"debuglevel", ctx.
loc2pos(yystack_[2].location));
4367 ctx.
stack_.back()->set(
"debuglevel", dl);
4369#line 4370 "dhcp4_parser.cc"
4373#line 2746 "dhcp4_parser.yy"
4378#line 4379 "dhcp4_parser.cc"
4382#line 2749 "dhcp4_parser.yy"
4385 ctx.
stack_.back()->set(
"severity", sev);
4388#line 4389 "dhcp4_parser.cc"
4392#line 2755 "dhcp4_parser.yy"
4394 ctx.
unique(
"output_options", ctx.
loc2pos(yystack_[0].location));
4396 ctx.
stack_.back()->set(
"output_options", l);
4400#line 4401 "dhcp4_parser.cc"
4404#line 2761 "dhcp4_parser.yy"
4409#line 4410 "dhcp4_parser.cc"
4413#line 2768 "dhcp4_parser.yy"
4417#line 4418 "dhcp4_parser.cc"
4421#line 2773 "dhcp4_parser.yy"
4424 ctx.
stack_.back()->add(m);
4427#line 4428 "dhcp4_parser.cc"
4431#line 2777 "dhcp4_parser.yy"
4435#line 4436 "dhcp4_parser.cc"
4439#line 2783 "dhcp4_parser.yy"
4443#line 4444 "dhcp4_parser.cc"
4447#line 2795 "dhcp4_parser.yy"
4452#line 4453 "dhcp4_parser.cc"
4456#line 2798 "dhcp4_parser.yy"
4459 ctx.
stack_.back()->set(
"output", sev);
4462#line 4463 "dhcp4_parser.cc"
4466#line 2804 "dhcp4_parser.yy"
4470 ctx.
stack_.back()->set(
"flush", flush);
4472#line 4473 "dhcp4_parser.cc"
4476#line 2810 "dhcp4_parser.yy"
4480 ctx.
stack_.back()->set(
"maxsize", maxsize);
4482#line 4483 "dhcp4_parser.cc"
4486#line 2816 "dhcp4_parser.yy"
4490 ctx.
stack_.back()->set(
"maxver", maxver);
4492#line 4493 "dhcp4_parser.cc"
4496#line 2822 "dhcp4_parser.yy"
4501#line 4502 "dhcp4_parser.cc"
4505#line 2825 "dhcp4_parser.yy"
4508 ctx.
stack_.back()->set(
"pattern", sev);
4511#line 4512 "dhcp4_parser.cc"
4515#line 2831 "dhcp4_parser.yy"
4517 ctx.
unique(
"compatibility", ctx.
loc2pos(yystack_[0].location));
4519 ctx.
stack_.back()->set(
"compatibility", i);
4523#line 4524 "dhcp4_parser.cc"
4527#line 2837 "dhcp4_parser.yy"
4532#line 4533 "dhcp4_parser.cc"
4536#line 2844 "dhcp4_parser.yy"
4540#line 4541 "dhcp4_parser.cc"
4544#line 2853 "dhcp4_parser.yy"
4546 ctx.
unique(
"lenient-option-parsing", ctx.
loc2pos(yystack_[2].location));
4548 ctx.
stack_.back()->set(
"lenient-option-parsing", b);
4550#line 4551 "dhcp4_parser.cc"
4554#line 4555 "dhcp4_parser.cc"
4563 YYCDEBUG <<
"Caught exception: " << yyexc.what() <<
'\n';
4573 yypush_ (YY_NULLPTR,
YY_MOVE (yylhs));
4587 std::string msg = yysyntax_error_ (yyctx);
4592 yyerror_range[1].location = yyla.
location;
4593 if (yyerrstatus_ == 3)
4601 else if (!yyla.
empty ())
4603 yy_destroy_ (
"Error: discarding", yyla);
4637 yyn = yypact_[+yystack_[0].state];
4638 if (!yy_pact_value_is_default_ (yyn))
4641 if (0 <= yyn && yyn <= yylast_
4644 yyn = yytable_[yyn];
4651 if (yystack_.size () == 1)
4654 yyerror_range[1].location = yystack_[0].location;
4655 yy_destroy_ (
"Error: popping", yystack_[0]);
4660 stack_symbol_type error_token;
4662 yyerror_range[2].location = yyla.
location;
4666 error_token.state = state_type (yyn);
4667 yypush_ (
"Shifting",
YY_MOVE (error_token));
4693 yy_destroy_ (
"Cleanup: discarding lookahead", yyla);
4699 while (1 < yystack_.size ())
4701 yy_destroy_ (
"Cleanup: popping", yystack_[0]);
4710 YYCDEBUG <<
"Exception caught: cleaning lookahead and stack\n";
4714 yy_destroy_ (YY_NULLPTR, yyla);
4716 while (1 < yystack_.size ())
4718 yy_destroy_ (YY_NULLPTR, yystack_[0]);
4738 Dhcp4Parser::yytnamerr_ (
const char *yystr)
4743 char const *yyp = yystr;
4750 goto do_not_strip_quotes;
4754 goto do_not_strip_quotes;
4766 do_not_strip_quotes: ;
4775 return yytnamerr_ (yytname_[yysymbol]);
4782 : yyparser_ (yyparser)
4792 const int yyn = yypact_[+yyparser_.yystack_[0].state];
4793 if (!yy_pact_value_is_default_ (yyn))
4798 const int yyxbegin = yyn < 0 ? -yyn : 0;
4800 const int yychecklim = yylast_ - yyn + 1;
4802 for (
int yyx = yyxbegin; yyx < yyxend; ++yyx)
4804 && !yy_table_value_is_error_ (yytable_[yyx + yyn]))
4808 else if (yycount == yyargn)
4815 if (yyarg && yycount == 0 && 0 < yyargn)
4826 Dhcp4Parser::yy_syntax_error_arguments_ (
const context& yyctx,
4857 yyarg[0] = yyctx.
token ();
4858 int yyn = yyctx.
expected_tokens (yyarg ? yyarg + 1 : yyarg, yyargn - 1);
4866 Dhcp4Parser::yysyntax_error_ (
const context& yyctx)
const
4869 enum { YYARGS_MAX = 5 };
4872 int yycount = yy_syntax_error_arguments_ (yyctx, yyarg, YYARGS_MAX);
4874 char const* yyformat = YY_NULLPTR;
4877#define YYCASE_(N, S) \
4883 YYCASE_ (1,
YY_(
"syntax error, unexpected %s"));
4884 YYCASE_ (2,
YY_(
"syntax error, unexpected %s, expecting %s"));
4885 YYCASE_ (3,
YY_(
"syntax error, unexpected %s, expecting %s or %s"));
4886 YYCASE_ (4,
YY_(
"syntax error, unexpected %s, expecting %s or %s or %s"));
4887 YYCASE_ (5,
YY_(
"syntax error, unexpected %s, expecting %s or %s or %s or %s"));
4893 std::ptrdiff_t yyi = 0;
4894 for (
char const* yyp = yyformat; *yyp; ++yyp)
4895 if (yyp[0] ==
'%' && yyp[1] ==
's' && yyi < yycount)
4906 const short Dhcp4Parser::yypact_ninf_ = -971;
4908 const signed char Dhcp4Parser::yytable_ninf_ = -1;
4911 Dhcp4Parser::yypact_[] =
4913 429, -971, -971, -971, -971, -971, -971, -971, -971, -971,
4914 -971, -971, -971, -971, 39, 38, 26, 48, 62, 74,
4915 92, 96, 106, 114, 118, 140, 148, 163, -971, -971,
4916 -971, -971, -971, -971, -971, -971, -971, -971, -971, -971,
4917 -971, -971, -971, -971, -971, -971, -971, -971, -971, -971,
4918 -971, -971, -971, -971, -971, -971, -971, -971, -971, -971,
4919 -971, -971, -971, -971, 38, -152, 125, 132, 126, 294,
4920 -50, 315, -16, 80, 200, -84, 617, 77, -971, 181,
4921 154, 228, 209, 258, -971, 34, -971, -971, -971, -971,
4922 264, 266, 275, -971, -971, -971, -971, -971, -971, 276,
4923 300, 325, 332, 348, 360, 361, 373, 377, 383, 384,
4924 -971, 385, 386, 387, 388, 389, -971, -971, -971, 391,
4925 400, 401, -971, -971, -971, 405, -971, -971, -971, -971,
4926 406, 408, 409, -971, -971, -971, -971, -971, 412, -971,
4927 -971, -971, -971, -971, -971, 415, 416, 417, -971, -971,
4928 419, -971, 56, -971, -971, -971, -971, -971, -971, -971,
4929 -971, -971, -971, -971, -971, -971, -971, -971, -971, -971,
4930 -971, -971, -971, -971, -971, -971, -971, -971, -971, -971,
4931 -971, -971, -971, -971, -971, -971, -971, -971, -971, -971,
4932 -971, -971, -971, -971, -971, -971, -971, -971, -971, -971,
4933 -971, -971, -971, -971, -971, -971, -971, -971, -971, -971,
4934 -971, -971, -971, -971, -971, -971, -971, -971, -971, -971,
4935 421, 422, 423, 424, -971, 79, -971, -971, -971, -971,
4936 -971, -971, -971, -971, -971, -971, -971, -971, -971, -971,
4937 -971, -971, 425, -971, -971, -971, -971, -971, -971, -971,
4938 -971, -971, -971, -971, -971, -971, -971, -971, -971, -971,
4939 -971, -971, -971, -971, -971, -971, -971, -971, -971, -971,
4940 85, -971, -971, -971, -971, -971, -971, -971, -971, -971,
4941 -971, -971, -971, -971, -971, -971, -971, -971, -971, -971,
4942 -971, -971, -971, -971, -971, -971, -971, -971, 93, -971,
4943 -971, -971, -971, -971, -971, -971, -971, -971, -971, -971,
4944 -971, -971, -971, -971, -971, 343, 427, -971, -971, -971,
4945 -971, -971, -971, -971, -971, -971, -971, -971, -971, 426,
4946 -971, -971, 428, -971, -971, -971, 431, -971, -971, 435,
4947 433, -971, -971, -971, -971, -971, -971, -971, -971, -971,
4948 -971, -971, -971, -971, 442, 443, -971, -971, -971, -971,
4949 444, 448, -971, -971, -971, -971, -971, -971, -971, -971,
4950 -971, -971, -971, -971, 120, -971, -971, -971, 449, -971,
4951 -971, 450, -971, 451, 452, -971, -971, 454, 456, -971,
4952 -971, -971, -971, -971, -971, -971, 121, -971, -971, -971,
4953 -971, -971, -971, -971, -971, -971, -971, -971, -971, -971,
4954 -971, -971, -971, -971, 458, 128, -971, -971, -971, -971,
4955 38, 38, -971, 263, 459, -971, -971, 462, 466, 472,
4956 274, 277, 278, 477, 480, 482, 483, 484, 489, 295,
4957 298, 299, 302, 303, 290, 308, 309, 316, 306, 311,
4958 515, 318, 320, 319, 321, 322, 521, 526, 527, 333,
4959 334, 335, 528, 538, 539, 341, 542, 544, 545, 546,
4960 346, 349, 351, 556, 557, 560, 562, 563, 365, 567,
4961 568, 570, 574, 575, 578, 378, 379, 399, 586, 587,
4962 -971, 132, -971, 588, 601, 602, 407, 432, 410, 411,
4963 126, -971, 627, 628, 630, 632, 634, 636, 436, 642,
4964 643, 644, 294, -971, 645, -50, -971, 646, 648, 649,
4965 650, 651, 652, 655, 656, -971, 315, -971, 657, 658,
4966 460, 667, 671, 673, 473, -971, 80, 675, 475, 476,
4967 -971, 200, 678, 679, 179, -971, 479, 685, 686, 488,
4968 688, 490, 502, 702, 703, 503, 516, 718, 721, 722,
4969 723, 617, -971, 728, 530, 77, -971, -971, -971, 730,
4970 729, 732, 734, 736, -971, -971, -971, 533, 543, 548,
4971 737, 739, 746, -971, -971, -971, -971, -971, -971, -971,
4972 -971, -971, -971, -971, 551, -971, -971, -971, -971, -971,
4973 -94, 554, 558, -971, -971, -971, 753, 754, 756, -971,
4974 757, 758, 564, 231, -971, -971, -971, 759, 762, 763,
4975 764, 777, -971, 778, 779, 780, 781, 590, 591, -971,
4976 -971, -971, 765, 782, -971, 789, 172, 301, -971, -971,
4977 -971, -971, -971, 593, 594, 595, 793, 597, 598, -971,
4978 789, 599, 795, -971, 603, -971, 789, 604, 605, 608,
4979 609, 610, 611, 612, -971, 613, 614, -971, 615, 616,
4980 618, -971, -971, 619, -971, -971, -971, 620, 758, -971,
4981 -971, 621, 622, -971, 623, -971, -971, 13, 659, -971,
4982 -971, -94, 624, 626, 629, -971, 798, -971, -971, 38,
4983 132, 77, 126, 802, -971, -971, -971, 552, 552, 797,
4984 -971, -971, -971, -971, -971, -971, -971, -971, -971, 823,
4985 825, 826, 827, -971, -971, -971, -971, -971, -971, -971,
4986 -971, -17, 828, 829, 831, 119, 82, 184, 147, 617,
4987 -971, -971, 832, -144, -971, -971, -971, -971, -971, -971,
4988 -971, -971, -971, -971, -971, 833, -971, -971, -971, -971,
4989 122, -971, -971, -971, -971, -971, -971, -971, -971, -971,
4990 -971, -971, -971, -971, -971, -971, -971, -971, -971, -971,
4991 -971, -971, -971, -971, -971, -971, -971, -971, -971, 797,
4992 -971, 136, 151, 170, -971, 171, -971, -971, -971, -971,
4993 -971, -971, 837, 838, 839, 840, 841, 842, 843, -971,
4994 844, -971, -971, -971, -971, -971, 178, -971, -971, -971,
4995 -971, -971, -971, -971, -971, -971, -971, -971, -971, -971,
4996 -971, -971, -971, -971, -971, -971, 213, -971, 845, 846,
4997 -971, -971, 847, 849, -971, -971, 848, 852, -971, -971,
4998 850, 854, -971, -971, 853, 855, -971, -971, -971, -971,
4999 -971, -971, 94, -971, -971, -971, -971, -971, -971, -971,
5000 150, -971, -971, 856, 857, -971, -971, 858, 860, -971,
5001 861, 862, 863, 864, 865, 866, 215, -971, -971, -971,
5002 -971, -971, -971, -971, 867, 868, 869, -971, 257, -971,
5003 -971, -971, -971, -971, -971, -971, -971, -971, -971, -971,
5004 259, -971, -971, -971, 870, -971, 871, -971, -971, -971,
5005 261, -971, -971, -971, -971, -971, 268, -971, 185, -971,
5006 872, -971, 269, -971, -971, 676, -971, 873, 874, -971,
5007 -971, -971, -971, 875, 876, -971, -971, -971, 877, 802,
5008 -971, 880, 881, 882, 883, 647, 683, 677, 684, 687,
5009 689, 690, 887, 691, 891, 892, 893, 894, 552, -971,
5010 -971, 552, -971, 797, 294, -971, 823, 80, -971, 825,
5011 200, -971, 826, 635, -971, 827, -17, -971, 555, 828,
5012 -971, 315, -971, 829, -84, -971, 831, 696, 697, 698,
5013 699, 700, 701, 119, -971, 704, 705, 708, 82, -971,
5014 901, 902, 184, -971, 707, 910, 712, 916, 147, -971,
5015 -971, 135, 832, -971, 717, -144, -971, -971, 919, 927,
5016 -50, -971, 833, 942, -971, -971, 747, -971, 305, 750,
5017 772, 783, -971, -971, -971, -971, -971, -971, -971, 331,
5018 -971, 787, 788, 799, 800, -971, 280, -971, 292, -971,
5019 923, -971, 956, -971, -971, -971, -971, -971, -971, -971,
5020 -971, -971, -971, -971, -971, -971, -971, -971, -971, -971,
5021 -971, -971, -971, -971, -971, -971, -971, -971, -971, -971,
5022 -971, -971, -971, -971, -971, -971, -971, 293, -971, -971,
5023 -971, -971, -971, -971, -971, -971, -971, -971, -971, 977,
5024 -971, -971, -971, -971, -971, -971, -971, -971, -971, -971,
5025 -971, -971, 974, 1012, -971, -971, -971, -971, -971, 1037,
5026 -971, 310, -971, -971, -971, -971, -971, -971, -971, -971,
5027 -971, -971, -971, -971, 859, 878, -971, -971, 879, -971,
5028 38, -971, -971, 1045, -971, -971, -971, -971, -971, 312,
5029 -971, -971, -971, -971, -971, -971, -971, -971, 884, 327,
5030 -971, 789, -971, -971, -971, -971, -971, -971, -971, -971,
5031 -971, -971, -971, -971, -971, -971, -971, -971, -971, -971,
5032 -971, -971, 635, -971, 1046, 851, -971, 555, -971, -971,
5033 -971, -971, -971, -971, 1050, 885, 1051, 135, -971, -971,
5034 -971, -971, -971, 888, -971, -971, 1052, -971, 889, -971,
5035 -971, 1053, -971, -971, 347, -971, -100, 1053, -971, -971,
5036 1054, 1055, 1058, -971, 330, -971, -971, -971, -971, -971,
5037 -971, -971, 1059, 890, 886, 895, 1060, -100, -971, 897,
5038 -971, -971, -971, 899, -971, -971, -971
5042 Dhcp4Parser::yydefact_[] =
5044 0, 2, 4, 6, 8, 10, 12, 14, 16, 18,
5045 20, 22, 24, 26, 0, 0, 0, 0, 0, 0,
5046 0, 0, 0, 0, 0, 0, 0, 0, 1, 44,
5047 36, 32, 31, 28, 29, 30, 35, 3, 33, 34,
5048 59, 5, 65, 7, 192, 9, 361, 11, 569, 13,
5049 596, 15, 489, 17, 498, 19, 537, 21, 323, 23,
5050 710, 25, 761, 27, 46, 39, 0, 0, 0, 0,
5051 0, 598, 0, 500, 539, 0, 0, 0, 48, 0,
5052 47, 0, 0, 40, 61, 0, 63, 759, 177, 210,
5053 0, 0, 0, 618, 620, 622, 208, 218, 220, 0,
5054 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5055 145, 0, 0, 0, 0, 0, 154, 161, 163, 0,
5056 0, 0, 352, 487, 528, 0, 435, 583, 585, 428,
5057 0, 0, 0, 285, 646, 587, 314, 335, 0, 300,
5058 677, 691, 708, 167, 169, 0, 0, 0, 771, 813,
5059 0, 133, 0, 67, 70, 71, 72, 73, 74, 108,
5060 109, 110, 111, 112, 75, 103, 132, 92, 93, 94,
5061 116, 117, 118, 119, 120, 121, 122, 123, 114, 115,
5062 124, 125, 126, 128, 129, 130, 78, 79, 100, 80,
5063 81, 82, 127, 86, 87, 76, 105, 106, 107, 104,
5064 77, 84, 85, 98, 99, 101, 95, 96, 97, 83,
5065 88, 89, 90, 91, 102, 113, 131, 194, 196, 200,
5066 0, 0, 0, 0, 191, 0, 179, 182, 183, 184,
5067 185, 186, 187, 188, 189, 190, 413, 415, 417, 560,
5068 411, 419, 0, 423, 421, 642, 410, 366, 367, 368,
5069 369, 370, 394, 395, 396, 397, 398, 384, 385, 399,
5070 400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
5071 0, 363, 373, 389, 390, 391, 374, 376, 377, 380,
5072 381, 382, 379, 375, 371, 372, 392, 393, 378, 386,
5073 387, 388, 383, 581, 580, 576, 577, 575, 0, 571,
5074 574, 578, 579, 640, 628, 630, 634, 632, 638, 636,
5075 624, 617, 611, 615, 616, 0, 599, 600, 612, 613,
5076 614, 608, 603, 609, 605, 606, 607, 610, 604, 0,
5077 518, 263, 0, 522, 520, 525, 0, 514, 515, 0,
5078 501, 502, 505, 517, 506, 507, 508, 524, 509, 510,
5079 511, 512, 513, 554, 0, 0, 552, 553, 556, 557,
5080 0, 540, 541, 544, 545, 546, 547, 548, 549, 550,
5081 551, 331, 333, 328, 0, 325, 329, 330, 0, 747,
5082 734, 0, 737, 0, 0, 741, 745, 0, 0, 751,
5083 753, 755, 757, 732, 730, 731, 0, 712, 715, 716,
5084 717, 718, 719, 720, 721, 722, 727, 723, 724, 725,
5085 726, 728, 729, 768, 0, 0, 763, 766, 767, 45,
5086 50, 0, 37, 43, 0, 64, 60, 0, 0, 0,
5087 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5088 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5089 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5090 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5091 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5092 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5093 58, 69, 66, 0, 0, 0, 0, 0, 0, 0,
5094 181, 193, 0, 0, 0, 0, 0, 0, 0, 0,
5095 0, 0, 365, 362, 0, 573, 570, 0, 0, 0,
5096 0, 0, 0, 0, 0, 597, 602, 490, 0, 0,
5097 0, 0, 0, 0, 0, 499, 504, 0, 0, 0,
5098 538, 543, 0, 0, 327, 324, 0, 0, 0, 0,
5099 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5100 0, 714, 711, 0, 0, 765, 762, 49, 41, 0,
5101 0, 0, 0, 0, 148, 149, 150, 0, 0, 0,
5102 0, 0, 0, 134, 135, 136, 137, 138, 139, 140,
5103 141, 142, 143, 144, 0, 172, 173, 151, 152, 153,
5104 0, 0, 0, 165, 166, 171, 0, 0, 0, 147,
5105 0, 0, 0, 0, 425, 426, 427, 0, 0, 0,
5106 0, 0, 676, 0, 0, 0, 0, 0, 0, 174,
5107 175, 176, 0, 0, 68, 0, 0, 0, 204, 205,
5108 206, 207, 180, 0, 0, 0, 0, 0, 0, 434,
5109 0, 0, 0, 364, 0, 572, 0, 0, 0, 0,
5110 0, 0, 0, 0, 601, 0, 0, 516, 0, 0,
5111 0, 527, 503, 0, 558, 559, 542, 0, 0, 326,
5112 733, 0, 0, 736, 0, 739, 740, 0, 0, 749,
5113 750, 0, 0, 0, 0, 713, 0, 770, 764, 0,
5114 0, 0, 0, 0, 619, 621, 623, 0, 0, 222,
5115 146, 156, 157, 158, 159, 160, 155, 162, 164, 354,
5116 491, 530, 437, 38, 584, 586, 430, 431, 432, 433,
5117 429, 0, 0, 589, 316, 0, 0, 0, 0, 0,
5118 168, 170, 0, 0, 51, 195, 198, 199, 197, 202,
5119 203, 201, 414, 416, 418, 562, 412, 420, 424, 422,
5120 0, 582, 641, 629, 631, 635, 633, 639, 637, 625,
5121 519, 264, 523, 521, 526, 555, 332, 334, 748, 735,
5122 738, 743, 744, 742, 746, 752, 754, 756, 758, 222,
5123 42, 0, 0, 0, 216, 0, 212, 215, 251, 256,
5124 258, 260, 0, 0, 0, 0, 0, 0, 0, 271,
5125 0, 277, 279, 281, 283, 250, 0, 229, 232, 233,
5126 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
5127 244, 245, 246, 247, 248, 249, 0, 227, 0, 223,
5128 224, 359, 0, 355, 356, 496, 0, 492, 493, 535,
5129 0, 531, 532, 442, 0, 438, 439, 295, 296, 297,
5130 298, 299, 0, 287, 290, 291, 292, 293, 294, 651,
5131 0, 648, 594, 0, 590, 591, 321, 0, 317, 318,
5132 0, 0, 0, 0, 0, 0, 0, 337, 340, 341,
5133 342, 343, 344, 345, 0, 0, 0, 310, 0, 302,
5134 305, 306, 307, 308, 309, 687, 689, 686, 684, 685,
5135 0, 679, 682, 683, 0, 703, 0, 706, 699, 700,
5136 0, 693, 696, 697, 698, 701, 0, 776, 0, 773,
5137 0, 819, 0, 815, 818, 53, 567, 0, 563, 564,
5138 626, 644, 645, 0, 0, 62, 760, 178, 0, 214,
5139 211, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5140 0, 0, 0, 0, 0, 0, 0, 0, 231, 209,
5141 219, 0, 221, 226, 0, 353, 358, 500, 488, 495,
5142 539, 529, 534, 0, 436, 441, 289, 286, 653, 650,
5143 647, 598, 588, 593, 0, 315, 320, 0, 0, 0,
5144 0, 0, 0, 339, 336, 0, 0, 0, 304, 301,
5145 0, 0, 681, 678, 0, 0, 0, 0, 695, 692,
5146 709, 0, 775, 772, 0, 817, 814, 55, 0, 54,
5147 0, 561, 566, 0, 643, 769, 0, 213, 0, 0,
5148 0, 0, 262, 265, 266, 267, 268, 269, 270, 0,
5149 276, 0, 0, 0, 0, 230, 0, 225, 0, 357,
5150 0, 494, 0, 533, 486, 465, 466, 467, 450, 451,
5151 470, 471, 472, 473, 474, 453, 454, 475, 476, 477,
5152 478, 479, 480, 481, 482, 483, 484, 485, 447, 448,
5153 449, 463, 464, 460, 461, 462, 459, 0, 444, 452,
5154 468, 469, 455, 456, 457, 458, 440, 288, 673, 0,
5155 668, 669, 670, 671, 672, 661, 662, 666, 667, 663,
5156 664, 665, 0, 654, 655, 658, 659, 660, 649, 0,
5157 592, 0, 319, 346, 347, 348, 349, 350, 351, 338,
5158 311, 312, 313, 303, 0, 0, 680, 702, 0, 705,
5159 0, 694, 791, 0, 789, 787, 781, 785, 786, 0,
5160 778, 783, 784, 782, 774, 820, 816, 52, 57, 0,
5161 565, 0, 217, 253, 254, 255, 252, 257, 259, 261,
5162 273, 274, 275, 272, 278, 280, 282, 284, 228, 360,
5163 497, 536, 446, 443, 0, 0, 652, 657, 595, 322,
5164 688, 690, 704, 707, 0, 0, 0, 780, 777, 56,
5165 568, 627, 445, 0, 675, 656, 0, 788, 0, 779,
5166 674, 0, 790, 796, 0, 793, 0, 795, 792, 806,
5167 0, 0, 0, 811, 0, 798, 801, 802, 803, 804,
5168 805, 794, 0, 0, 0, 0, 0, 800, 797, 0,
5169 808, 809, 810, 0, 799, 807, 812
5173 Dhcp4Parser::yypgoto_[] =
5175 -971, -971, -971, -971, -971, -971, -971, -971, -971, -971,
5176 -971, -971, -971, -971, -971, -54, -971, -583, -971, 183,
5177 -971, -971, -971, -971, -971, -971, -635, -971, -971, -971,
5178 -67, -971, -971, -971, -971, -971, -971, -971, 366, 576,
5179 4, 10, 23, -40, -23, -12, 22, 25, 29, 33,
5180 -971, -971, -971, -971, -971, 35, 40, 43, 45, 46,
5181 47, -971, 374, 50, -971, 51, -971, 53, 57, 58,
5182 -971, 61, -971, 63, -971, -971, -971, -971, -971, -971,
5183 -971, 367, 571, -971, -971, -971, -971, -971, -971, -971,
5184 -971, -971, -971, -971, -971, -971, -971, -971, -971, -971,
5185 -971, -971, 123, -971, -971, -971, -971, -971, -971, 279,
5186 -971, 97, -971, -696, 105, -971, -971, -971, -971, -971,
5187 -971, -971, -971, -971, -971, -33, -971, -971, -971, -971,
5188 -971, -971, -971, -971, -971, -971, -971, -971, -971, -971,
5189 -971, -971, -971, -971, -971, -971, -971, -971, 88, -971,
5190 -971, -971, -971, -971, -971, -971, -971, 67, -971, -971,
5191 -971, -971, -971, -971, -971, 81, -971, -971, -971, 84,
5192 532, -971, -971, -971, -971, -971, -971, -971, 76, -971,
5193 -971, -971, -971, -971, -971, -970, -971, -971, -971, 107,
5194 -971, -971, -971, 108, 572, -971, -971, -971, -971, -971,
5195 -971, -971, -971, -959, -971, -65, -971, 70, -971, 64,
5196 65, 68, 69, -971, -971, -971, -971, -971, -971, -971,
5197 100, -971, -971, -105, -46, -971, -971, -971, -971, -971,
5198 113, -971, -971, -971, 116, -971, 561, -971, -63, -971,
5199 -971, -971, -971, -971, -42, -971, -971, -971, -971, -971,
5200 -35, -971, -971, -971, 112, -971, -971, -971, 124, -971,
5201 565, -971, -971, -971, -971, -971, -971, -971, -971, -971,
5202 -971, -971, 71, -971, -971, -971, 72, 592, -971, -971,
5203 -51, -971, -8, -971, -39, -971, -971, -971, 115, -971,
5204 -971, -971, 127, -971, 579, -55, -971, -15, -971, 3,
5205 -971, 350, -971, -971, -971, -971, -971, -971, -971, -971,
5206 -971, -971, -971, -971, -971, -971, -971, -971, -971, -956,
5207 -971, -971, -971, -971, -971, 130, -971, -971, -971, -88,
5208 -971, -971, -971, -971, -971, -971, -971, -971, 99, -971,
5209 -971, -971, -971, -971, -971, -971, 95, -971, -971, -971,
5210 -971, -971, -971, -971, -971, -971, -971, 375, 559, -971,
5211 -971, -971, -971, -971, -971, -971, -971, -971, -971, -971,
5212 -971, -971, -971, -971, -971, -971, -971, -971, -971, -971,
5213 -971, -971, -971, -971, -971, -971, -971, -971, 414, 547,
5214 -971, -971, -971, -971, -971, -971, 101, -971, -971, -91,
5215 -971, -971, -971, -971, -971, -971, -110, -971, -971, -126,
5216 -971, -971, -971, -971, -971, -971, -971, -971, -971, -971,
5221 Dhcp4Parser::yydefgoto_[] =
5223 0, 14, 15, 16, 17, 18, 19, 20, 21, 22,
5224 23, 24, 25, 26, 27, 36, 37, 38, 65, 724,
5225 82, 83, 39, 64, 79, 80, 745, 935, 1028, 1029,
5226 815, 41, 66, 85, 424, 86, 43, 67, 152, 153,
5227 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
5228 164, 165, 450, 166, 167, 168, 169, 170, 171, 172,
5229 173, 456, 716, 174, 457, 175, 458, 176, 177, 178,
5230 483, 179, 484, 180, 181, 182, 183, 184, 185, 186,
5231 428, 225, 226, 45, 68, 227, 493, 228, 494, 748,
5232 229, 495, 751, 230, 231, 232, 233, 187, 436, 188,
5233 429, 795, 796, 797, 948, 189, 437, 190, 438, 838,
5234 839, 840, 971, 816, 817, 818, 951, 1176, 819, 952,
5235 820, 953, 821, 954, 822, 823, 529, 824, 825, 826,
5236 827, 828, 829, 830, 962, 1183, 831, 832, 964, 833,
5237 965, 834, 966, 835, 967, 191, 473, 862, 863, 864,
5238 865, 866, 867, 868, 192, 479, 898, 899, 900, 901,
5239 902, 193, 476, 877, 878, 879, 994, 59, 75, 374,
5240 375, 376, 542, 377, 543, 194, 477, 886, 887, 888,
5241 889, 890, 891, 892, 893, 195, 462, 842, 843, 844,
5242 974, 47, 69, 270, 271, 272, 506, 273, 502, 274,
5243 503, 275, 504, 276, 507, 277, 510, 278, 509, 196,
5244 197, 198, 199, 469, 730, 283, 200, 466, 854, 855,
5245 856, 983, 1097, 1098, 201, 463, 53, 72, 846, 847,
5246 848, 977, 55, 73, 339, 340, 341, 342, 343, 344,
5247 345, 528, 346, 532, 347, 531, 348, 349, 533, 350,
5248 202, 464, 850, 851, 852, 980, 57, 74, 360, 361,
5249 362, 363, 364, 537, 365, 366, 367, 368, 285, 505,
5250 937, 938, 939, 1030, 49, 70, 298, 299, 300, 514,
5251 203, 467, 204, 468, 205, 475, 873, 874, 875, 991,
5252 51, 71, 315, 316, 317, 206, 433, 207, 434, 208,
5253 435, 321, 524, 942, 1033, 322, 518, 323, 519, 324,
5254 521, 325, 520, 326, 523, 327, 522, 328, 517, 292,
5255 511, 943, 209, 474, 870, 871, 988, 1122, 1123, 1124,
5256 1125, 1126, 1194, 1127, 210, 211, 480, 910, 911, 912,
5257 1010, 913, 1011, 212, 481, 920, 921, 922, 923, 1015,
5258 924, 925, 1017, 213, 482, 61, 76, 396, 397, 398,
5259 399, 548, 400, 401, 550, 402, 403, 404, 553, 783,
5260 405, 554, 406, 547, 407, 408, 409, 557, 410, 558,
5261 411, 559, 412, 560, 214, 427, 63, 77, 415, 416,
5262 417, 563, 418, 215, 488, 928, 929, 1021, 1159, 1160,
5263 1161, 1162, 1206, 1163, 1204, 1224, 1225, 1226, 1234, 1235,
5264 1236, 1242, 1237, 1238, 1239, 1240, 1246, 216, 489, 932,
5269 Dhcp4Parser::yytable_[] =
5271 151, 224, 246, 294, 311, 295, 337, 356, 373, 393,
5272 78, 358, 836, 1089, 289, 758, 318, 234, 286, 301,
5273 313, 762, 351, 369, 1090, 394, 329, 1105, 723, 250,
5274 288, 781, 359, 40, 284, 297, 312, 425, 124, 28,
5275 338, 357, 426, 29, 930, 30, 251, 31, 371, 372,
5276 81, 293, 127, 128, 290, 42, 319, 252, 150, 491,
5277 235, 287, 302, 314, 492, 352, 370, 243, 395, 44,
5278 244, 123, 291, 247, 320, 711, 712, 713, 714, 248,
5279 1229, 46, 500, 1230, 1231, 1232, 1233, 501, 512, 413,
5280 414, 253, 249, 513, 254, 723, 515, 986, 255, 48,
5281 987, 516, 256, 50, 257, 857, 858, 859, 860, 258,
5282 861, 715, 259, 52, 260, 261, 262, 330, 150, 263,
5283 264, 54, 265, 544, 561, 56, 266, 267, 545, 562,
5284 268, 565, 269, 279, 280, 84, 566, 281, 282, 491,
5285 296, 217, 218, 87, 945, 219, 88, 58, 220, 221,
5286 222, 223, 150, 989, 565, 60, 990, 420, 89, 946,
5287 90, 91, 92, 93, 94, 95, 96, 97, 98, 331,
5288 62, 332, 333, 500, 949, 334, 335, 336, 947, 950,
5289 782, 968, 127, 128, 127, 128, 969, 419, 1022, 746,
5290 747, 1023, 99, 100, 101, 102, 103, 104, 105, 106,
5291 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
5292 117, 118, 119, 120, 121, 122, 968, 422, 1003, 123,
5293 124, 970, 1089, 1004, 331, 894, 895, 896, 127, 128,
5294 125, 126, 421, 1090, 127, 128, 1105, 127, 128, 129,
5295 32, 33, 34, 35, 130, 131, 132, 133, 134, 127,
5296 128, 310, 940, 135, 880, 881, 882, 883, 884, 885,
5297 1008, 423, 1012, 136, 1018, 1009, 137, 1013, 430, 1019,
5298 431, 561, 1025, 138, 139, 1056, 1020, 1026, 140, 432,
5299 439, 141, 150, 968, 150, 142, 127, 128, 1188, 331,
5300 353, 332, 333, 354, 355, 512, 1192, 914, 915, 916,
5301 1189, 1193, 127, 128, 440, 143, 144, 145, 146, 147,
5302 148, 371, 372, 544, 1152, 1207, 1153, 1154, 1199, 149,
5303 1208, 749, 750, 91, 92, 93, 94, 95, 150, 441,
5304 515, 905, 906, 1247, 150, 1210, 442, 150, 1248, 726,
5305 727, 728, 729, 1173, 1174, 1175, 93, 94, 95, 917,
5306 1227, 525, 443, 1228, 99, 100, 101, 102, 103, 104,
5307 105, 106, 107, 108, 444, 445, 567, 568, 113, 114,
5308 115, 116, 117, 118, 119, 120, 121, 446, 236, 237,
5309 238, 447, 124, 1180, 1181, 1182, 150, 448, 449, 451,
5310 452, 453, 454, 455, 239, 459, 127, 128, 240, 241,
5311 242, 129, 150, 124, 460, 461, 130, 131, 132, 465,
5312 470, 243, 471, 472, 244, 135, 478, 127, 128, 485,
5313 486, 487, 245, 490, 151, 496, 497, 498, 499, 508,
5314 526, 303, 530, 224, 527, 534, 536, 304, 305, 306,
5315 307, 308, 309, 535, 310, 246, 538, 539, 294, 234,
5316 295, 541, 540, 546, 549, 551, 552, 289, 555, 311,
5317 556, 286, 564, 570, 301, 569, 571, 143, 144, 337,
5318 572, 318, 250, 288, 356, 313, 573, 284, 358, 574,
5319 297, 577, 575, 576, 578, 351, 579, 580, 581, 251,
5320 369, 312, 235, 582, 393, 588, 150, 290, 583, 359,
5321 252, 584, 585, 338, 287, 586, 587, 302, 357, 592,
5322 394, 319, 589, 590, 593, 291, 247, 150, 314, 594,
5323 591, 595, 248, 596, 597, 600, 598, 599, 352, 320,
5324 601, 602, 606, 370, 253, 249, 1211, 254, 603, 604,
5325 605, 255, 607, 608, 609, 256, 610, 257, 611, 612,
5326 613, 614, 258, 395, 615, 259, 616, 260, 261, 262,
5327 617, 618, 263, 264, 619, 265, 620, 621, 622, 266,
5328 267, 623, 624, 268, 625, 269, 279, 280, 626, 627,
5329 281, 282, 628, 629, 630, 296, 93, 94, 95, 798,
5330 632, 633, 635, 799, 800, 801, 802, 803, 804, 805,
5331 806, 807, 808, 809, 631, 636, 637, 810, 811, 812,
5332 813, 814, 638, 640, 641, 99, 100, 101, 1, 2,
5333 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
5334 13, 643, 644, 151, 645, 224, 646, 639, 647, 649,
5335 648, 331, 123, 124, 331, 790, 650, 651, 652, 654,
5336 656, 234, 657, 658, 659, 660, 661, 127, 128, 662,
5337 663, 665, 666, 667, 91, 92, 93, 94, 95, 897,
5338 907, 668, 393, 1108, 1109, 669, 931, 670, 671, 673,
5339 674, 675, 677, 678, 680, 903, 908, 918, 394, 681,
5340 682, 683, 684, 685, 235, 99, 100, 101, 102, 103,
5341 104, 105, 106, 107, 108, 686, 687, 688, 689, 113,
5342 114, 115, 116, 117, 118, 119, 120, 121, 122, 127,
5343 128, 690, 691, 124, 331, 692, 693, 694, 904, 909,
5344 919, 395, 696, 697, 699, 704, 700, 127, 128, 701,
5345 241, 702, 129, 703, 707, 705, 708, 130, 131, 132,
5346 706, 709, 243, 710, 150, 244, 717, 150, 719, 720,
5347 718, 721, 722, 245, 731, 30, 725, 732, 733, 734,
5348 742, 378, 379, 380, 381, 382, 383, 384, 385, 386,
5349 387, 388, 389, 390, 735, 736, 737, 738, 739, 743,
5350 391, 392, 740, 741, 744, 752, 753, 754, 755, 756,
5351 757, 759, 760, 789, 837, 761, 763, 764, 143, 144,
5352 765, 766, 767, 768, 769, 770, 771, 772, 773, 150,
5353 774, 775, 776, 778, 779, 780, 786, 784, 787, 794,
5354 841, 788, 845, 849, 853, 869, 872, 150, 876, 927,
5355 936, 955, 956, 957, 958, 959, 960, 961, 963, 973,
5356 1042, 972, 976, 975, 978, 979, 981, 982, 985, 984,
5357 993, 777, 992, 996, 995, 997, 998, 999, 1000, 1001,
5358 1002, 1005, 1006, 1007, 1014, 1016, 1024, 1032, 1027, 1031,
5359 1044, 1036, 1035, 1034, 1038, 1039, 1040, 1041, 1043, 1045,
5360 1046, 1049, 1047, 1048, 1050, 1051, 1052, 1053, 1054, 1133,
5361 1134, 1135, 1136, 1137, 1138, 1144, 1145, 246, 1141, 1140,
5362 337, 1142, 1147, 356, 1148, 1149, 1064, 358, 1091, 289,
5363 1150, 1110, 1165, 286, 311, 1167, 351, 373, 1102, 369,
5364 1168, 1190, 1100, 1119, 250, 288, 318, 1117, 359, 284,
5365 313, 897, 1115, 1068, 338, 907, 1171, 357, 1099, 1172,
5366 1088, 251, 1177, 1116, 1155, 1114, 312, 903, 931, 290,
5367 1069, 908, 252, 294, 1191, 295, 287, 918, 1103, 352,
5368 1157, 1070, 370, 1120, 1178, 1101, 319, 291, 247, 301,
5369 1118, 1195, 1196, 314, 248, 1179, 1104, 1065, 1156, 1184,
5370 1185, 1121, 1111, 1066, 320, 297, 253, 249, 1112, 254,
5371 904, 1186, 1187, 255, 909, 1071, 1067, 256, 1072, 257,
5372 919, 1113, 1073, 1158, 258, 1197, 1074, 259, 1075, 260,
5373 261, 262, 302, 1076, 263, 264, 1077, 265, 1078, 1079,
5374 1080, 266, 267, 1081, 1082, 268, 1083, 269, 279, 280,
5375 1084, 1085, 281, 282, 1086, 1198, 1087, 1093, 1094, 1205,
5376 1213, 1095, 1096, 1092, 1216, 1218, 1214, 1221, 1243, 1244,
5377 1223, 1200, 1245, 1249, 1253, 785, 791, 634, 944, 793,
5378 1057, 642, 1037, 1055, 1107, 1143, 679, 1132, 1131, 1139,
5379 1201, 1202, 1058, 1059, 653, 1106, 1209, 1212, 1217, 1251,
5380 1220, 1222, 1061, 1060, 1063, 1250, 1203, 672, 1252, 1255,
5381 296, 1256, 1169, 1170, 1062, 664, 676, 655, 1130, 1215,
5382 941, 1146, 698, 1151, 926, 792, 1219, 1241, 1129, 1128,
5383 695, 1254, 0, 1164, 0, 1064, 0, 1091, 1166, 0,
5384 1110, 0, 0, 0, 0, 0, 0, 1102, 0, 0,
5385 1155, 1100, 1119, 0, 0, 0, 1117, 0, 0, 0,
5386 0, 1115, 1068, 0, 0, 0, 1157, 1099, 0, 1088,
5387 0, 0, 1116, 0, 1114, 0, 0, 0, 0, 1069,
5388 0, 0, 0, 0, 1156, 0, 0, 1103, 0, 0,
5389 1070, 0, 1120, 0, 1101, 0, 0, 0, 0, 1118,
5390 0, 0, 0, 0, 0, 1104, 1065, 0, 0, 1158,
5391 1121, 1111, 1066, 0, 0, 0, 0, 1112, 0, 0,
5392 0, 0, 0, 0, 1071, 1067, 0, 1072, 0, 0,
5393 1113, 1073, 0, 0, 0, 1074, 0, 1075, 0, 0,
5394 0, 0, 1076, 0, 0, 1077, 0, 1078, 1079, 1080,
5395 0, 0, 1081, 1082, 0, 1083, 0, 0, 0, 1084,
5396 1085, 0, 0, 1086, 0, 1087, 1093, 1094, 0, 0,
5401 Dhcp4Parser::yycheck_[] =
5403 67, 68, 69, 70, 71, 70, 73, 74, 75, 76,
5404 64, 74, 708, 983, 69, 650, 71, 68, 69, 70,
5405 71, 656, 73, 74, 983, 76, 72, 983, 611, 69,
5406 69, 18, 74, 7, 69, 70, 71, 3, 88, 0,
5407 73, 74, 8, 5, 188, 7, 69, 9, 132, 133,
5408 202, 101, 102, 103, 69, 7, 71, 69, 202, 3,
5409 68, 69, 70, 71, 8, 73, 74, 117, 76, 7,
5410 120, 87, 69, 69, 71, 169, 170, 171, 172, 69,
5411 180, 7, 3, 183, 184, 185, 186, 8, 3, 12,
5412 13, 69, 69, 8, 69, 678, 3, 3, 69, 7,
5413 6, 8, 69, 7, 69, 122, 123, 124, 125, 69,
5414 127, 205, 69, 7, 69, 69, 69, 37, 202, 69,
5415 69, 7, 69, 3, 3, 7, 69, 69, 8, 8,
5416 69, 3, 69, 69, 69, 10, 8, 69, 69, 3,
5417 70, 15, 16, 11, 8, 19, 14, 7, 22, 23,
5418 24, 25, 202, 3, 3, 7, 6, 3, 26, 8,
5419 28, 29, 30, 31, 32, 33, 34, 35, 36, 89,
5420 7, 91, 92, 3, 3, 95, 96, 97, 8, 8,
5421 167, 3, 102, 103, 102, 103, 8, 6, 3, 17,
5422 18, 6, 60, 61, 62, 63, 64, 65, 66, 67,
5423 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
5424 78, 79, 80, 81, 82, 83, 3, 8, 3, 87,
5425 88, 8, 1192, 8, 89, 143, 144, 145, 102, 103,
5426 98, 99, 4, 1192, 102, 103, 1192, 102, 103, 107,
5427 202, 203, 204, 205, 112, 113, 114, 115, 116, 102,
5428 103, 129, 130, 121, 135, 136, 137, 138, 139, 140,
5429 3, 3, 3, 131, 3, 8, 134, 8, 4, 8,
5430 4, 3, 3, 141, 142, 971, 8, 8, 146, 4,
5431 4, 149, 202, 3, 202, 153, 102, 103, 8, 89,
5432 90, 91, 92, 93, 94, 3, 3, 150, 151, 152,
5433 8, 8, 102, 103, 4, 173, 174, 175, 176, 177,
5434 178, 132, 133, 3, 179, 3, 181, 182, 8, 187,
5435 8, 20, 21, 29, 30, 31, 32, 33, 202, 4,
5436 3, 147, 148, 3, 202, 8, 4, 202, 8, 108,
5437 109, 110, 111, 38, 39, 40, 31, 32, 33, 202,
5438 3, 8, 4, 6, 60, 61, 62, 63, 64, 65,
5439 66, 67, 68, 69, 4, 4, 420, 421, 74, 75,
5440 76, 77, 78, 79, 80, 81, 82, 4, 84, 85,
5441 86, 4, 88, 52, 53, 54, 202, 4, 4, 4,
5442 4, 4, 4, 4, 100, 4, 102, 103, 104, 105,
5443 106, 107, 202, 88, 4, 4, 112, 113, 114, 4,
5444 4, 117, 4, 4, 120, 121, 4, 102, 103, 4,
5445 4, 4, 128, 4, 491, 4, 4, 4, 4, 4,
5446 3, 116, 4, 500, 8, 4, 3, 122, 123, 124,
5447 125, 126, 127, 8, 129, 512, 4, 4, 515, 500,
5448 515, 3, 8, 4, 4, 4, 4, 512, 4, 526,
5449 4, 512, 4, 4, 515, 202, 4, 173, 174, 536,
5450 4, 526, 512, 512, 541, 526, 4, 512, 541, 205,
5451 515, 4, 205, 205, 4, 536, 4, 4, 4, 512,
5452 541, 526, 500, 4, 561, 205, 202, 512, 203, 541,
5453 512, 203, 203, 536, 512, 203, 203, 515, 541, 203,
5454 561, 526, 204, 204, 203, 512, 512, 202, 526, 4,
5455 204, 203, 512, 203, 205, 4, 205, 205, 536, 526,
5456 4, 4, 4, 541, 512, 512, 1171, 512, 205, 205,
5457 205, 512, 4, 4, 203, 512, 4, 512, 4, 4,
5458 4, 205, 512, 561, 205, 512, 205, 512, 512, 512,
5459 4, 4, 512, 512, 4, 512, 4, 4, 203, 512,
5460 512, 4, 4, 512, 4, 512, 512, 512, 4, 4,
5461 512, 512, 4, 205, 205, 515, 31, 32, 33, 37,
5462 4, 4, 4, 41, 42, 43, 44, 45, 46, 47,
5463 48, 49, 50, 51, 205, 4, 4, 55, 56, 57,
5464 58, 59, 205, 203, 203, 60, 61, 62, 189, 190,
5465 191, 192, 193, 194, 195, 196, 197, 198, 199, 200,
5466 201, 4, 4, 700, 4, 702, 4, 205, 4, 203,
5467 4, 89, 87, 88, 89, 699, 4, 4, 4, 4,
5468 4, 702, 4, 4, 4, 4, 4, 102, 103, 4,
5469 4, 4, 4, 203, 29, 30, 31, 32, 33, 736,
5470 737, 4, 739, 118, 119, 4, 743, 4, 205, 4,
5471 205, 205, 4, 4, 205, 736, 737, 738, 739, 4,
5472 4, 203, 4, 203, 702, 60, 61, 62, 63, 64,
5473 65, 66, 67, 68, 69, 203, 4, 4, 205, 74,
5474 75, 76, 77, 78, 79, 80, 81, 82, 83, 102,
5475 103, 205, 4, 88, 89, 4, 4, 4, 736, 737,
5476 738, 739, 4, 203, 4, 202, 7, 102, 103, 7,
5477 105, 7, 107, 7, 7, 202, 7, 112, 113, 114,
5478 202, 5, 117, 202, 202, 120, 202, 202, 5, 5,
5479 202, 5, 5, 128, 5, 7, 202, 5, 5, 5,
5480 5, 154, 155, 156, 157, 158, 159, 160, 161, 162,
5481 163, 164, 165, 166, 7, 7, 7, 7, 7, 7,
5482 173, 174, 202, 202, 5, 202, 202, 202, 5, 202,
5483 202, 202, 7, 5, 7, 202, 202, 202, 173, 174,
5484 202, 202, 202, 202, 202, 202, 202, 202, 202, 202,
5485 202, 202, 202, 202, 202, 202, 202, 168, 202, 27,
5486 7, 202, 7, 7, 7, 7, 7, 202, 7, 7,
5487 7, 4, 4, 4, 4, 4, 4, 4, 4, 3,
5488 203, 6, 3, 6, 6, 3, 6, 3, 3, 6,
5489 3, 678, 6, 3, 6, 4, 4, 4, 4, 4,
5490 4, 4, 4, 4, 4, 4, 4, 3, 202, 6,
5491 203, 4, 6, 8, 4, 4, 4, 4, 205, 205,
5492 203, 4, 203, 203, 203, 4, 4, 4, 4, 203,
5493 203, 203, 203, 203, 203, 4, 4, 974, 203, 205,
5494 977, 203, 205, 980, 4, 203, 983, 980, 983, 974,
5495 4, 988, 205, 974, 991, 6, 977, 994, 983, 980,
5496 3, 8, 983, 988, 974, 974, 991, 988, 980, 974,
5497 991, 1008, 988, 983, 977, 1012, 4, 980, 983, 202,
5498 983, 974, 202, 988, 1021, 988, 991, 1008, 1025, 974,
5499 983, 1012, 974, 1030, 8, 1030, 974, 1018, 983, 977,
5500 1021, 983, 980, 988, 202, 983, 991, 974, 974, 1030,
5501 988, 4, 8, 991, 974, 202, 983, 983, 1021, 202,
5502 202, 988, 988, 983, 991, 1030, 974, 974, 988, 974,
5503 1008, 202, 202, 974, 1012, 983, 983, 974, 983, 974,
5504 1018, 988, 983, 1021, 974, 3, 983, 974, 983, 974,
5505 974, 974, 1030, 983, 974, 974, 983, 974, 983, 983,
5506 983, 974, 974, 983, 983, 974, 983, 974, 974, 974,
5507 983, 983, 974, 974, 983, 8, 983, 983, 983, 4,
5508 4, 983, 983, 983, 4, 4, 205, 5, 4, 4,
5509 7, 202, 4, 4, 4, 691, 700, 491, 789, 702,
5510 973, 500, 949, 968, 986, 1008, 544, 996, 994, 1003,
5511 202, 202, 974, 976, 512, 985, 202, 1192, 203, 203,
5512 202, 202, 979, 977, 982, 205, 1150, 536, 203, 202,
5513 1030, 202, 1030, 1032, 980, 526, 541, 515, 993, 1197,
5514 760, 1012, 565, 1018, 739, 701, 1207, 1227, 991, 989,
5515 561, 1247, -1, 1022, -1, 1192, -1, 1192, 1025, -1,
5516 1197, -1, -1, -1, -1, -1, -1, 1192, -1, -1,
5517 1207, 1192, 1197, -1, -1, -1, 1197, -1, -1, -1,
5518 -1, 1197, 1192, -1, -1, -1, 1207, 1192, -1, 1192,
5519 -1, -1, 1197, -1, 1197, -1, -1, -1, -1, 1192,
5520 -1, -1, -1, -1, 1207, -1, -1, 1192, -1, -1,
5521 1192, -1, 1197, -1, 1192, -1, -1, -1, -1, 1197,
5522 -1, -1, -1, -1, -1, 1192, 1192, -1, -1, 1207,
5523 1197, 1197, 1192, -1, -1, -1, -1, 1197, -1, -1,
5524 -1, -1, -1, -1, 1192, 1192, -1, 1192, -1, -1,
5525 1197, 1192, -1, -1, -1, 1192, -1, 1192, -1, -1,
5526 -1, -1, 1192, -1, -1, 1192, -1, 1192, 1192, 1192,
5527 -1, -1, 1192, 1192, -1, 1192, -1, -1, -1, 1192,
5528 1192, -1, -1, 1192, -1, 1192, 1192, 1192, -1, -1,
5533 Dhcp4Parser::yystos_[] =
5535 0, 189, 190, 191, 192, 193, 194, 195, 196, 197,
5536 198, 199, 200, 201, 207, 208, 209, 210, 211, 212,
5537 213, 214, 215, 216, 217, 218, 219, 220, 0, 5,
5538 7, 9, 202, 203, 204, 205, 221, 222, 223, 228,
5539 7, 237, 7, 242, 7, 289, 7, 397, 7, 480,
5540 7, 496, 7, 432, 7, 438, 7, 462, 7, 373,
5541 7, 561, 7, 592, 229, 224, 238, 243, 290, 398,
5542 481, 497, 433, 439, 463, 374, 562, 593, 221, 230,
5543 231, 202, 226, 227, 10, 239, 241, 11, 14, 26,
5544 28, 29, 30, 31, 32, 33, 34, 35, 36, 60,
5545 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
5546 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
5547 81, 82, 83, 87, 88, 98, 99, 102, 103, 107,
5548 112, 113, 114, 115, 116, 121, 131, 134, 141, 142,
5549 146, 149, 153, 173, 174, 175, 176, 177, 178, 187,
5550 202, 236, 244, 245, 246, 247, 248, 249, 250, 251,
5551 252, 253, 254, 255, 256, 257, 259, 260, 261, 262,
5552 263, 264, 265, 266, 269, 271, 273, 274, 275, 277,
5553 279, 280, 281, 282, 283, 284, 285, 303, 305, 311,
5554 313, 351, 360, 367, 381, 391, 415, 416, 417, 418,
5555 422, 430, 456, 486, 488, 490, 501, 503, 505, 528,
5556 540, 541, 549, 559, 590, 599, 623, 15, 16, 19,
5557 22, 23, 24, 25, 236, 287, 288, 291, 293, 296,
5558 299, 300, 301, 302, 486, 488, 84, 85, 86, 100,
5559 104, 105, 106, 117, 120, 128, 236, 246, 247, 248,
5560 249, 250, 251, 252, 253, 254, 255, 261, 262, 263,
5561 264, 265, 266, 269, 271, 273, 274, 275, 277, 279,
5562 399, 400, 401, 403, 405, 407, 409, 411, 413, 415,
5563 416, 417, 418, 421, 456, 474, 486, 488, 490, 501,
5564 503, 505, 525, 101, 236, 411, 413, 456, 482, 483,
5565 484, 486, 488, 116, 122, 123, 124, 125, 126, 127,
5566 129, 236, 456, 486, 488, 498, 499, 500, 501, 503,
5567 505, 507, 511, 513, 515, 517, 519, 521, 523, 430,
5568 37, 89, 91, 92, 95, 96, 97, 236, 331, 440,
5569 441, 442, 443, 444, 445, 446, 448, 450, 452, 453,
5570 455, 486, 488, 90, 93, 94, 236, 331, 444, 450,
5571 464, 465, 466, 467, 468, 470, 471, 472, 473, 486,
5572 488, 132, 133, 236, 375, 376, 377, 379, 154, 155,
5573 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
5574 166, 173, 174, 236, 486, 488, 563, 564, 565, 566,
5575 568, 569, 571, 572, 573, 576, 578, 580, 581, 582,
5576 584, 586, 588, 12, 13, 594, 595, 596, 598, 6,
5577 3, 4, 8, 3, 240, 3, 8, 591, 286, 306,
5578 4, 4, 4, 502, 504, 506, 304, 312, 314, 4,
5579 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
5580 258, 4, 4, 4, 4, 4, 267, 270, 272, 4,
5581 4, 4, 392, 431, 457, 4, 423, 487, 489, 419,
5582 4, 4, 4, 352, 529, 491, 368, 382, 4, 361,
5583 542, 550, 560, 276, 278, 4, 4, 4, 600, 624,
5584 4, 3, 8, 292, 294, 297, 4, 4, 4, 4,
5585 3, 8, 404, 406, 408, 475, 402, 410, 4, 414,
5586 412, 526, 3, 8, 485, 3, 8, 524, 512, 514,
5587 518, 516, 522, 520, 508, 8, 3, 8, 447, 332,
5588 4, 451, 449, 454, 4, 8, 3, 469, 4, 4,
5589 8, 3, 378, 380, 3, 8, 4, 579, 567, 4,
5590 570, 4, 4, 574, 577, 4, 4, 583, 585, 587,
5591 589, 3, 8, 597, 4, 3, 8, 221, 221, 202,
5592 4, 4, 4, 4, 205, 205, 205, 4, 4, 4,
5593 4, 4, 4, 203, 203, 203, 203, 203, 205, 204,
5594 204, 204, 203, 203, 4, 203, 203, 205, 205, 205,
5595 4, 4, 4, 205, 205, 205, 4, 4, 4, 203,
5596 4, 4, 4, 4, 205, 205, 205, 4, 4, 4,
5597 4, 4, 203, 4, 4, 4, 4, 4, 4, 205,
5598 205, 205, 4, 4, 245, 4, 4, 4, 205, 205,
5599 203, 203, 288, 4, 4, 4, 4, 4, 4, 203,
5600 4, 4, 4, 400, 4, 483, 4, 4, 4, 4,
5601 4, 4, 4, 4, 500, 4, 4, 203, 4, 4,
5602 4, 205, 442, 4, 205, 205, 466, 4, 4, 376,
5603 205, 4, 4, 203, 4, 203, 203, 4, 4, 205,
5604 205, 4, 4, 4, 4, 564, 4, 203, 595, 4,
5605 7, 7, 7, 7, 202, 202, 202, 7, 7, 5,
5606 202, 169, 170, 171, 172, 205, 268, 202, 202, 5,
5607 5, 5, 5, 223, 225, 202, 108, 109, 110, 111,
5608 420, 5, 5, 5, 5, 7, 7, 7, 7, 7,
5609 202, 202, 5, 7, 5, 232, 17, 18, 295, 20,
5610 21, 298, 202, 202, 202, 5, 202, 202, 232, 202,
5611 7, 202, 232, 202, 202, 202, 202, 202, 202, 202,
5612 202, 202, 202, 202, 202, 202, 202, 225, 202, 202,
5613 202, 18, 167, 575, 168, 268, 202, 202, 202, 5,
5614 221, 244, 594, 287, 27, 307, 308, 309, 37, 41,
5615 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
5616 55, 56, 57, 58, 59, 236, 319, 320, 321, 324,
5617 326, 328, 330, 331, 333, 334, 335, 336, 337, 338,
5618 339, 342, 343, 345, 347, 349, 319, 7, 315, 316,
5619 317, 7, 393, 394, 395, 7, 434, 435, 436, 7,
5620 458, 459, 460, 7, 424, 425, 426, 122, 123, 124,
5621 125, 127, 353, 354, 355, 356, 357, 358, 359, 7,
5622 530, 531, 7, 492, 493, 494, 7, 369, 370, 371,
5623 135, 136, 137, 138, 139, 140, 383, 384, 385, 386,
5624 387, 388, 389, 390, 143, 144, 145, 236, 362, 363,
5625 364, 365, 366, 486, 488, 147, 148, 236, 486, 488,
5626 543, 544, 545, 547, 150, 151, 152, 202, 486, 488,
5627 551, 552, 553, 554, 556, 557, 563, 7, 601, 602,
5628 188, 236, 625, 626, 627, 233, 7, 476, 477, 478,
5629 130, 507, 509, 527, 315, 8, 8, 8, 310, 3,
5630 8, 322, 325, 327, 329, 4, 4, 4, 4, 4,
5631 4, 4, 340, 4, 344, 346, 348, 350, 3, 8,
5632 8, 318, 6, 3, 396, 6, 3, 437, 6, 3,
5633 461, 6, 3, 427, 6, 3, 3, 6, 532, 3,
5634 6, 495, 6, 3, 372, 6, 3, 4, 4, 4,
5635 4, 4, 4, 3, 8, 4, 4, 4, 3, 8,
5636 546, 548, 3, 8, 4, 555, 4, 558, 3, 8,
5637 8, 603, 3, 6, 4, 3, 8, 202, 234, 235,
5638 479, 6, 3, 510, 8, 6, 4, 308, 4, 4,
5639 4, 4, 203, 205, 203, 205, 203, 203, 203, 4,
5640 203, 4, 4, 4, 4, 320, 319, 317, 399, 395,
5641 440, 436, 464, 460, 236, 246, 247, 248, 249, 250,
5642 251, 252, 253, 254, 255, 261, 262, 263, 264, 265,
5643 266, 269, 271, 273, 274, 275, 277, 279, 331, 391,
5644 409, 411, 413, 415, 416, 417, 418, 428, 429, 456,
5645 486, 488, 501, 503, 505, 525, 426, 354, 118, 119,
5646 236, 246, 247, 248, 331, 430, 456, 486, 488, 501,
5647 503, 505, 533, 534, 535, 536, 537, 539, 531, 498,
5648 494, 375, 371, 203, 203, 203, 203, 203, 203, 384,
5649 205, 203, 203, 363, 4, 4, 544, 205, 4, 203,
5650 4, 552, 179, 181, 182, 236, 331, 486, 488, 604,
5651 605, 606, 607, 609, 602, 205, 626, 6, 3, 482,
5652 478, 4, 202, 38, 39, 40, 323, 202, 202, 202,
5653 52, 53, 54, 341, 202, 202, 202, 202, 8, 8,
5654 8, 8, 3, 8, 538, 4, 8, 3, 8, 8,
5655 202, 202, 202, 221, 610, 4, 608, 3, 8, 202,
5656 8, 232, 429, 4, 205, 535, 4, 203, 4, 605,
5657 202, 5, 202, 7, 611, 612, 613, 3, 6, 180,
5658 183, 184, 185, 186, 614, 615, 616, 618, 619, 620,
5659 621, 612, 617, 4, 4, 4, 622, 3, 8, 4,
5660 205, 203, 203, 4, 615, 202, 202
5664 Dhcp4Parser::yyr1_[] =
5666 0, 206, 208, 207, 209, 207, 210, 207, 211, 207,
5667 212, 207, 213, 207, 214, 207, 215, 207, 216, 207,
5668 217, 207, 218, 207, 219, 207, 220, 207, 221, 221,
5669 221, 221, 221, 221, 221, 222, 224, 223, 225, 226,
5670 226, 227, 227, 227, 229, 228, 230, 230, 231, 231,
5671 231, 233, 232, 234, 234, 235, 235, 235, 236, 238,
5672 237, 240, 239, 239, 241, 243, 242, 244, 244, 244,
5673 245, 245, 245, 245, 245, 245, 245, 245, 245, 245,
5674 245, 245, 245, 245, 245, 245, 245, 245, 245, 245,
5675 245, 245, 245, 245, 245, 245, 245, 245, 245, 245,
5676 245, 245, 245, 245, 245, 245, 245, 245, 245, 245,
5677 245, 245, 245, 245, 245, 245, 245, 245, 245, 245,
5678 245, 245, 245, 245, 245, 245, 245, 245, 245, 245,
5679 245, 245, 245, 245, 246, 247, 248, 249, 250, 251,
5680 252, 253, 254, 255, 256, 258, 257, 259, 260, 261,
5681 262, 263, 264, 265, 267, 266, 268, 268, 268, 268,
5682 268, 270, 269, 272, 271, 273, 274, 276, 275, 278,
5683 277, 279, 280, 281, 282, 283, 284, 286, 285, 287,
5684 287, 287, 288, 288, 288, 288, 288, 288, 288, 288,
5685 288, 288, 290, 289, 292, 291, 294, 293, 295, 295,
5686 297, 296, 298, 298, 299, 300, 301, 302, 304, 303,
5687 306, 305, 307, 307, 307, 308, 310, 309, 312, 311,
5688 314, 313, 315, 315, 316, 316, 316, 318, 317, 319,
5689 319, 319, 320, 320, 320, 320, 320, 320, 320, 320,
5690 320, 320, 320, 320, 320, 320, 320, 320, 320, 320,
5691 320, 322, 321, 323, 323, 323, 325, 324, 327, 326,
5692 329, 328, 330, 332, 331, 333, 334, 335, 336, 337,
5693 338, 340, 339, 341, 341, 341, 342, 344, 343, 346,
5694 345, 348, 347, 350, 349, 352, 351, 353, 353, 353,
5695 354, 354, 354, 354, 354, 355, 356, 357, 358, 359,
5696 361, 360, 362, 362, 362, 363, 363, 363, 363, 363,
5697 363, 364, 365, 366, 368, 367, 369, 369, 370, 370,
5698 370, 372, 371, 374, 373, 375, 375, 375, 375, 376,
5699 376, 378, 377, 380, 379, 382, 381, 383, 383, 383,
5700 384, 384, 384, 384, 384, 384, 385, 386, 387, 388,
5701 389, 390, 392, 391, 393, 393, 394, 394, 394, 396,
5702 395, 398, 397, 399, 399, 399, 400, 400, 400, 400,
5703 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
5704 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
5705 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
5706 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
5707 400, 402, 401, 404, 403, 406, 405, 408, 407, 410,
5708 409, 412, 411, 414, 413, 415, 416, 417, 419, 418,
5709 420, 420, 420, 420, 421, 423, 422, 424, 424, 425,
5710 425, 425, 427, 426, 428, 428, 428, 429, 429, 429,
5711 429, 429, 429, 429, 429, 429, 429, 429, 429, 429,
5712 429, 429, 429, 429, 429, 429, 429, 429, 429, 429,
5713 429, 429, 429, 429, 429, 429, 429, 429, 429, 429,
5714 429, 429, 429, 429, 429, 429, 429, 431, 430, 433,
5715 432, 434, 434, 435, 435, 435, 437, 436, 439, 438,
5716 440, 440, 441, 441, 441, 442, 442, 442, 442, 442,
5717 442, 442, 442, 442, 442, 443, 444, 445, 447, 446,
5718 449, 448, 451, 450, 452, 454, 453, 455, 457, 456,
5719 458, 458, 459, 459, 459, 461, 460, 463, 462, 464,
5720 464, 465, 465, 465, 466, 466, 466, 466, 466, 466,
5721 466, 466, 466, 467, 469, 468, 470, 471, 472, 473,
5722 475, 474, 476, 476, 477, 477, 477, 479, 478, 481,
5723 480, 482, 482, 482, 483, 483, 483, 483, 483, 483,
5724 483, 485, 484, 487, 486, 489, 488, 491, 490, 492,
5725 492, 493, 493, 493, 495, 494, 497, 496, 498, 498,
5726 499, 499, 499, 500, 500, 500, 500, 500, 500, 500,
5727 500, 500, 500, 500, 500, 500, 500, 500, 502, 501,
5728 504, 503, 506, 505, 508, 507, 510, 509, 512, 511,
5729 514, 513, 516, 515, 518, 517, 520, 519, 522, 521,
5730 524, 523, 526, 525, 527, 527, 529, 528, 530, 530,
5731 530, 532, 531, 533, 533, 534, 534, 534, 535, 535,
5732 535, 535, 535, 535, 535, 535, 535, 535, 535, 535,
5733 535, 535, 536, 538, 537, 539, 540, 542, 541, 543,
5734 543, 543, 544, 544, 544, 544, 544, 546, 545, 548,
5735 547, 550, 549, 551, 551, 551, 552, 552, 552, 552,
5736 552, 552, 553, 555, 554, 556, 558, 557, 560, 559,
5737 562, 561, 563, 563, 563, 564, 564, 564, 564, 564,
5738 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
5739 564, 564, 564, 565, 567, 566, 568, 570, 569, 571,
5740 572, 574, 573, 575, 575, 577, 576, 579, 578, 580,
5741 581, 583, 582, 585, 584, 587, 586, 589, 588, 591,
5742 590, 593, 592, 594, 594, 594, 595, 595, 597, 596,
5743 598, 600, 599, 601, 601, 601, 603, 602, 604, 604,
5744 604, 605, 605, 605, 605, 605, 605, 605, 606, 608,
5745 607, 610, 609, 611, 611, 611, 613, 612, 614, 614,
5746 614, 615, 615, 615, 615, 615, 617, 616, 618, 619,
5747 620, 622, 621, 624, 623, 625, 625, 625, 626, 626,
5752 Dhcp4Parser::yyr2_[] =
5754 0, 2, 0, 3, 0, 3, 0, 3, 0, 3,
5755 0, 3, 0, 3, 0, 3, 0, 3, 0, 3,
5756 0, 3, 0, 3, 0, 3, 0, 3, 1, 1,
5757 1, 1, 1, 1, 1, 1, 0, 4, 1, 0,
5758 1, 3, 5, 2, 0, 4, 0, 1, 1, 3,
5759 2, 0, 4, 0, 1, 1, 3, 2, 2, 0,
5760 4, 0, 6, 1, 2, 0, 4, 1, 3, 2,
5761 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
5762 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
5763 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
5764 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
5765 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
5766 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
5767 1, 1, 1, 1, 3, 3, 3, 3, 3, 3,
5768 3, 3, 3, 3, 3, 0, 4, 3, 3, 3,
5769 3, 3, 3, 3, 0, 4, 1, 1, 1, 1,
5770 1, 0, 4, 0, 4, 3, 3, 0, 4, 0,
5771 4, 3, 3, 3, 3, 3, 3, 0, 6, 1,
5772 3, 2, 1, 1, 1, 1, 1, 1, 1, 1,
5773 1, 1, 0, 4, 0, 4, 0, 4, 1, 1,
5774 0, 4, 1, 1, 3, 3, 3, 3, 0, 6,
5775 0, 6, 1, 3, 2, 1, 0, 4, 0, 6,
5776 0, 6, 0, 1, 1, 3, 2, 0, 4, 1,
5777 3, 2, 1, 1, 1, 1, 1, 1, 1, 1,
5778 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
5779 1, 0, 4, 1, 1, 1, 0, 4, 0, 4,
5780 0, 4, 3, 0, 4, 3, 3, 3, 3, 3,
5781 3, 0, 4, 1, 1, 1, 3, 0, 4, 0,
5782 4, 0, 4, 0, 4, 0, 6, 1, 3, 2,
5783 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
5784 0, 6, 1, 3, 2, 1, 1, 1, 1, 1,
5785 1, 3, 3, 3, 0, 6, 0, 1, 1, 3,
5786 2, 0, 4, 0, 4, 1, 3, 2, 1, 1,
5787 1, 0, 4, 0, 4, 0, 6, 1, 3, 2,
5788 1, 1, 1, 1, 1, 1, 3, 3, 3, 3,
5789 3, 3, 0, 6, 0, 1, 1, 3, 2, 0,
5790 4, 0, 4, 1, 3, 2, 1, 1, 1, 1,
5791 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
5792 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
5793 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
5794 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
5795 1, 0, 4, 0, 4, 0, 4, 0, 4, 0,
5796 4, 0, 4, 0, 4, 3, 3, 3, 0, 4,
5797 1, 1, 1, 1, 3, 0, 6, 0, 1, 1,
5798 3, 2, 0, 4, 1, 3, 2, 1, 1, 1,
5799 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
5800 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
5801 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
5802 1, 1, 1, 1, 1, 1, 1, 0, 6, 0,
5803 4, 0, 1, 1, 3, 2, 0, 4, 0, 4,
5804 0, 1, 1, 3, 2, 1, 1, 1, 1, 1,
5805 1, 1, 1, 1, 1, 1, 3, 1, 0, 4,
5806 0, 4, 0, 4, 1, 0, 4, 3, 0, 6,
5807 0, 1, 1, 3, 2, 0, 4, 0, 4, 0,
5808 1, 1, 3, 2, 1, 1, 1, 1, 1, 1,
5809 1, 1, 1, 1, 0, 4, 1, 1, 3, 3,
5810 0, 6, 0, 1, 1, 3, 2, 0, 4, 0,
5811 4, 1, 3, 2, 1, 1, 1, 1, 1, 1,
5812 1, 0, 4, 0, 4, 0, 4, 0, 6, 0,
5813 1, 1, 3, 2, 0, 4, 0, 4, 0, 1,
5814 1, 3, 2, 1, 1, 1, 1, 1, 1, 1,
5815 1, 1, 1, 1, 1, 1, 1, 1, 0, 4,
5816 0, 4, 0, 4, 0, 4, 0, 4, 0, 4,
5817 0, 4, 0, 4, 0, 4, 0, 4, 0, 4,
5818 0, 4, 0, 6, 1, 1, 0, 6, 1, 3,
5819 2, 0, 4, 0, 1, 1, 3, 2, 1, 1,
5820 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
5821 1, 1, 1, 0, 4, 3, 3, 0, 6, 1,
5822 3, 2, 1, 1, 1, 1, 1, 0, 4, 0,
5823 4, 0, 6, 1, 3, 2, 1, 1, 1, 1,
5824 1, 1, 3, 0, 4, 3, 0, 4, 0, 6,
5825 0, 4, 1, 3, 2, 1, 1, 1, 1, 1,
5826 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
5827 1, 1, 1, 3, 0, 4, 3, 0, 4, 3,
5828 3, 0, 4, 1, 1, 0, 4, 0, 4, 3,
5829 3, 0, 4, 0, 4, 0, 4, 0, 4, 0,
5830 6, 0, 4, 1, 3, 2, 1, 1, 0, 6,
5831 3, 0, 6, 1, 3, 2, 0, 4, 1, 3,
5832 2, 1, 1, 1, 1, 1, 1, 1, 3, 0,
5833 4, 0, 6, 1, 3, 2, 0, 4, 1, 3,
5834 2, 1, 1, 1, 1, 1, 0, 4, 3, 3,
5835 3, 0, 4, 0, 6, 1, 3, 2, 1, 1,
5840#if PARSER4_DEBUG || 1
5844 const Dhcp4Parser::yytname_[] =
5846 "\"end of file\"",
"error",
"\"invalid token\"",
"\",\"",
"\":\"",
5847 "\"[\"",
"\"]\"",
"\"{\"",
"\"}\"",
"\"null\"",
"\"Dhcp4\"",
5848 "\"config-control\"",
"\"config-databases\"",
5849 "\"config-fetch-wait-time\"",
"\"interfaces-config\"",
"\"interfaces\"",
5850 "\"dhcp-socket-type\"",
"\"raw\"",
"\"udp\"",
"\"outbound-interface\"",
5851 "\"same-as-inbound\"",
"\"use-routing\"",
"\"re-detect\"",
5852 "\"service-sockets-require-all\"",
"\"service-sockets-retry-wait-time\"",
5853 "\"service-sockets-max-retries\"",
"\"sanity-checks\"",
5854 "\"lease-checks\"",
"\"echo-client-id\"",
"\"match-client-id\"",
5855 "\"authoritative\"",
"\"next-server\"",
"\"server-hostname\"",
5856 "\"boot-file-name\"",
"\"lease-database\"",
"\"hosts-database\"",
5857 "\"hosts-databases\"",
"\"type\"",
"\"memfile\"",
"\"mysql\"",
5858 "\"postgresql\"",
"\"user\"",
"\"password\"",
"\"host\"",
"\"port\"",
5859 "\"persist\"",
"\"lfc-interval\"",
"\"readonly\"",
"\"connect-timeout\"",
5860 "\"max-reconnect-tries\"",
"\"reconnect-wait-time\"",
"\"on-fail\"",
5861 "\"stop-retry-exit\"",
"\"serve-retry-exit\"",
5862 "\"serve-retry-continue\"",
"\"max-row-errors\"",
"\"trust-anchor\"",
5863 "\"cert-file\"",
"\"key-file\"",
"\"cipher-list\"",
"\"valid-lifetime\"",
5864 "\"min-valid-lifetime\"",
"\"max-valid-lifetime\"",
"\"renew-timer\"",
5865 "\"rebind-timer\"",
"\"calculate-tee-times\"",
"\"t1-percent\"",
5866 "\"t2-percent\"",
"\"cache-threshold\"",
"\"cache-max-age\"",
5867 "\"decline-probation-period\"",
"\"server-tag\"",
5868 "\"statistic-default-sample-count\"",
"\"statistic-default-sample-age\"",
5869 "\"ddns-send-updates\"",
"\"ddns-override-no-update\"",
5870 "\"ddns-override-client-update\"",
"\"ddns-replace-client-name\"",
5871 "\"ddns-generated-prefix\"",
"\"ddns-qualifying-suffix\"",
5872 "\"ddns-update-on-renew\"",
"\"ddns-use-conflict-resolution\"",
5873 "\"store-extended-info\"",
"\"subnet4\"",
"\"4o6-interface\"",
5874 "\"4o6-interface-id\"",
"\"4o6-subnet\"",
"\"option-def\"",
5875 "\"option-data\"",
"\"name\"",
"\"data\"",
"\"code\"",
"\"space\"",
5876 "\"csv-format\"",
"\"always-send\"",
"\"record-types\"",
5877 "\"encapsulate\"",
"\"array\"",
"\"parked-packet-limit\"",
5878 "\"shared-networks\"",
"\"pools\"",
"\"pool\"",
"\"user-context\"",
5879 "\"comment\"",
"\"subnet\"",
"\"interface\"",
"\"id\"",
5880 "\"reservation-mode\"",
"\"disabled\"",
"\"out-of-pool\"",
"\"global\"",
5881 "\"all\"",
"\"reservations-global\"",
"\"reservations-in-subnet\"",
5882 "\"reservations-out-of-pool\"",
"\"host-reservation-identifiers\"",
5883 "\"client-classes\"",
"\"require-client-classes\"",
"\"test\"",
5884 "\"only-if-required\"",
"\"client-class\"",
"\"reservations\"",
5885 "\"duid\"",
"\"hw-address\"",
"\"circuit-id\"",
"\"client-id\"",
5886 "\"hostname\"",
"\"flex-id\"",
"\"relay\"",
"\"ip-address\"",
5887 "\"ip-addresses\"",
"\"hooks-libraries\"",
"\"library\"",
5888 "\"parameters\"",
"\"expired-leases-processing\"",
5889 "\"reclaim-timer-wait-time\"",
"\"flush-reclaimed-timer-wait-time\"",
5890 "\"hold-reclaimed-time\"",
"\"max-reclaim-leases\"",
5891 "\"max-reclaim-time\"",
"\"unwarned-reclaim-cycles\"",
5892 "\"dhcp4o6-port\"",
"\"multi-threading\"",
"\"enable-multi-threading\"",
5893 "\"thread-pool-size\"",
"\"packet-queue-size\"",
"\"control-socket\"",
5894 "\"socket-type\"",
"\"socket-name\"",
"\"dhcp-queue-control\"",
5895 "\"enable-queue\"",
"\"queue-type\"",
"\"capacity\"",
"\"dhcp-ddns\"",
5896 "\"enable-updates\"",
"\"qualifying-suffix\"",
"\"server-ip\"",
5897 "\"server-port\"",
"\"sender-ip\"",
"\"sender-port\"",
5898 "\"max-queue-size\"",
"\"ncr-protocol\"",
"\"ncr-format\"",
5899 "\"override-no-update\"",
"\"override-client-update\"",
5900 "\"replace-client-name\"",
"\"generated-prefix\"",
"\"tcp\"",
"\"JSON\"",
5901 "\"when-present\"",
"\"never\"",
"\"always\"",
"\"when-not-present\"",
5902 "\"hostname-char-set\"",
"\"hostname-char-replacement\"",
5903 "\"early-global-reservations-lookup\"",
"\"ip-reservations-unique\"",
5904 "\"reservations-lookup-first\"",
"\"loggers\"",
"\"output_options\"",
5905 "\"output\"",
"\"debuglevel\"",
"\"severity\"",
"\"flush\"",
5906 "\"maxsize\"",
"\"maxver\"",
"\"pattern\"",
"\"compatibility\"",
5907 "\"lenient-option-parsing\"",
"TOPLEVEL_JSON",
"TOPLEVEL_DHCP4",
5908 "SUB_DHCP4",
"SUB_INTERFACES4",
"SUB_SUBNET4",
"SUB_POOL4",
5909 "SUB_RESERVATION",
"SUB_OPTION_DEFS",
"SUB_OPTION_DEF",
5910 "SUB_OPTION_DATA",
"SUB_HOOKS_LIBRARY",
"SUB_DHCP_DDNS",
5911 "SUB_CONFIG_CONTROL",
"\"constant string\"",
"\"integer\"",
5912 "\"floating point\"",
"\"boolean\"",
"$accept",
"start",
"$@1",
"$@2",
5913 "$@3",
"$@4",
"$@5",
"$@6",
"$@7",
"$@8",
"$@9",
"$@10",
"$@11",
"$@12",
5914 "$@13",
"value",
"sub_json",
"map2",
"$@14",
"map_value",
"map_content",
5915 "not_empty_map",
"list_generic",
"$@15",
"list_content",
5916 "not_empty_list",
"list_strings",
"$@16",
"list_strings_content",
5917 "not_empty_list_strings",
"unknown_map_entry",
"syntax_map",
"$@17",
5918 "global_object",
"$@18",
"global_object_comma",
"sub_dhcp4",
"$@19",
5919 "global_params",
"global_param",
"valid_lifetime",
"min_valid_lifetime",
5920 "max_valid_lifetime",
"renew_timer",
"rebind_timer",
5921 "calculate_tee_times",
"t1_percent",
"t2_percent",
"cache_threshold",
5922 "cache_max_age",
"decline_probation_period",
"server_tag",
"$@20",
5923 "parked_packet_limit",
"echo_client_id",
"match_client_id",
5924 "authoritative",
"ddns_send_updates",
"ddns_override_no_update",
5925 "ddns_override_client_update",
"ddns_replace_client_name",
"$@21",
5926 "ddns_replace_client_name_value",
"ddns_generated_prefix",
"$@22",
5927 "ddns_qualifying_suffix",
"$@23",
"ddns_update_on_renew",
5928 "ddns_use_conflict_resolution",
"hostname_char_set",
"$@24",
5929 "hostname_char_replacement",
"$@25",
"store_extended_info",
5930 "statistic_default_sample_count",
"statistic_default_sample_age",
5931 "early_global_reservations_lookup",
"ip_reservations_unique",
5932 "reservations_lookup_first",
"interfaces_config",
"$@26",
5933 "interfaces_config_params",
"interfaces_config_param",
"sub_interfaces4",
5934 "$@27",
"interfaces_list",
"$@28",
"dhcp_socket_type",
"$@29",
5935 "socket_type",
"outbound_interface",
"$@30",
"outbound_interface_value",
5936 "re_detect",
"service_sockets_require_all",
5937 "service_sockets_retry_wait_time",
"service_sockets_max_retries",
5938 "lease_database",
"$@31",
"sanity_checks",
"$@32",
5939 "sanity_checks_params",
"sanity_checks_param",
"lease_checks",
"$@33",
5940 "hosts_database",
"$@34",
"hosts_databases",
"$@35",
"database_list",
5941 "not_empty_database_list",
"database",
"$@36",
"database_map_params",
5942 "database_map_param",
"database_type",
"$@37",
"db_type",
"user",
"$@38",
5943 "password",
"$@39",
"host",
"$@40",
"port",
"name",
"$@41",
"persist",
5944 "lfc_interval",
"readonly",
"connect_timeout",
"max_reconnect_tries",
5945 "reconnect_wait_time",
"on_fail",
"$@42",
"on_fail_mode",
5946 "max_row_errors",
"trust_anchor",
"$@43",
"cert_file",
"$@44",
5947 "key_file",
"$@45",
"cipher_list",
"$@46",
5948 "host_reservation_identifiers",
"$@47",
5949 "host_reservation_identifiers_list",
"host_reservation_identifier",
5950 "duid_id",
"hw_address_id",
"circuit_id",
"client_id",
"flex_id",
5951 "dhcp_multi_threading",
"$@48",
"multi_threading_params",
5952 "multi_threading_param",
"enable_multi_threading",
"thread_pool_size",
5953 "packet_queue_size",
"hooks_libraries",
"$@49",
"hooks_libraries_list",
5954 "not_empty_hooks_libraries_list",
"hooks_library",
"$@50",
5955 "sub_hooks_library",
"$@51",
"hooks_params",
"hooks_param",
"library",
5956 "$@52",
"parameters",
"$@53",
"expired_leases_processing",
"$@54",
5957 "expired_leases_params",
"expired_leases_param",
5958 "reclaim_timer_wait_time",
"flush_reclaimed_timer_wait_time",
5959 "hold_reclaimed_time",
"max_reclaim_leases",
"max_reclaim_time",
5960 "unwarned_reclaim_cycles",
"subnet4_list",
"$@55",
5961 "subnet4_list_content",
"not_empty_subnet4_list",
"subnet4",
"$@56",
5962 "sub_subnet4",
"$@57",
"subnet4_params",
"subnet4_param",
"subnet",
5963 "$@58",
"subnet_4o6_interface",
"$@59",
"subnet_4o6_interface_id",
5964 "$@60",
"subnet_4o6_subnet",
"$@61",
"interface",
"$@62",
"client_class",
5965 "$@63",
"require_client_classes",
"$@64",
"reservations_global",
5966 "reservations_in_subnet",
"reservations_out_of_pool",
"reservation_mode",
5967 "$@65",
"hr_mode",
"id",
"shared_networks",
"$@66",
5968 "shared_networks_content",
"shared_networks_list",
"shared_network",
5969 "$@67",
"shared_network_params",
"shared_network_param",
5970 "option_def_list",
"$@68",
"sub_option_def_list",
"$@69",
5971 "option_def_list_content",
"not_empty_option_def_list",
5972 "option_def_entry",
"$@70",
"sub_option_def",
"$@71",
5973 "option_def_params",
"not_empty_option_def_params",
"option_def_param",
5974 "option_def_name",
"code",
"option_def_code",
"option_def_type",
"$@72",
5975 "option_def_record_types",
"$@73",
"space",
"$@74",
"option_def_space",
5976 "option_def_encapsulate",
"$@75",
"option_def_array",
"option_data_list",
5977 "$@76",
"option_data_list_content",
"not_empty_option_data_list",
5978 "option_data_entry",
"$@77",
"sub_option_data",
"$@78",
5979 "option_data_params",
"not_empty_option_data_params",
5980 "option_data_param",
"option_data_name",
"option_data_data",
"$@79",
5981 "option_data_code",
"option_data_space",
"option_data_csv_format",
5982 "option_data_always_send",
"pools_list",
"$@80",
"pools_list_content",
5983 "not_empty_pools_list",
"pool_list_entry",
"$@81",
"sub_pool4",
"$@82",
5984 "pool_params",
"pool_param",
"pool_entry",
"$@83",
"user_context",
5985 "$@84",
"comment",
"$@85",
"reservations",
"$@86",
"reservations_list",
5986 "not_empty_reservations_list",
"reservation",
"$@87",
"sub_reservation",
5987 "$@88",
"reservation_params",
"not_empty_reservation_params",
5988 "reservation_param",
"next_server",
"$@89",
"server_hostname",
"$@90",
5989 "boot_file_name",
"$@91",
"ip_address",
"$@92",
"ip_addresses",
"$@93",
5990 "duid",
"$@94",
"hw_address",
"$@95",
"client_id_value",
"$@96",
5991 "circuit_id_value",
"$@97",
"flex_id_value",
"$@98",
"hostname",
"$@99",
5992 "reservation_client_classes",
"$@100",
"relay",
"$@101",
"relay_map",
5993 "client_classes",
"$@102",
"client_classes_list",
"client_class_entry",
5994 "$@103",
"client_class_params",
"not_empty_client_class_params",
5995 "client_class_param",
"client_class_name",
"client_class_test",
"$@104",
5996 "only_if_required",
"dhcp4o6_port",
"control_socket",
"$@105",
5997 "control_socket_params",
"control_socket_param",
"control_socket_type",
5998 "$@106",
"control_socket_name",
"$@107",
"dhcp_queue_control",
"$@108",
5999 "queue_control_params",
"queue_control_param",
"enable_queue",
6000 "queue_type",
"$@109",
"capacity",
"arbitrary_map_entry",
"$@110",
6001 "dhcp_ddns",
"$@111",
"sub_dhcp_ddns",
"$@112",
"dhcp_ddns_params",
6002 "dhcp_ddns_param",
"enable_updates",
"server_ip",
"$@113",
"server_port",
6003 "sender_ip",
"$@114",
"sender_port",
"max_queue_size",
"ncr_protocol",
6004 "$@115",
"ncr_protocol_value",
"ncr_format",
"$@116",
6005 "dep_qualifying_suffix",
"$@117",
"dep_override_no_update",
6006 "dep_override_client_update",
"dep_replace_client_name",
"$@118",
6007 "dep_generated_prefix",
"$@119",
"dep_hostname_char_set",
"$@120",
6008 "dep_hostname_char_replacement",
"$@121",
"config_control",
"$@122",
6009 "sub_config_control",
"$@123",
"config_control_params",
6010 "config_control_param",
"config_databases",
"$@124",
6011 "config_fetch_wait_time",
"loggers",
"$@125",
"loggers_entries",
6012 "logger_entry",
"$@126",
"logger_params",
"logger_param",
"debuglevel",
6013 "severity",
"$@127",
"output_options_list",
"$@128",
6014 "output_options_list_content",
"output_entry",
"$@129",
6015 "output_params_list",
"output_params",
"output",
"$@130",
"flush",
6016 "maxsize",
"maxver",
"pattern",
"$@131",
"compatibility",
"$@132",
6017 "compatibility_params",
"compatibility_param",
"lenient_option_parsing", YY_NULLPTR
6024 Dhcp4Parser::yyrline_[] =
6026 0, 295, 295, 295, 296, 296, 297, 297, 298, 298,
6027 299, 299, 300, 300, 301, 301, 302, 302, 303, 303,
6028 304, 304, 305, 305, 306, 306, 307, 307, 315, 316,
6029 317, 318, 319, 320, 321, 324, 329, 329, 340, 343,
6030 344, 347, 352, 358, 363, 363, 370, 371, 374, 378,
6031 382, 388, 388, 395, 396, 399, 403, 407, 417, 426,
6032 426, 441, 441, 455, 458, 464, 464, 473, 474, 475,
6033 482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
6034 492, 493, 494, 495, 496, 497, 498, 499, 500, 501,
6035 502, 503, 504, 505, 506, 507, 508, 509, 510, 511,
6036 512, 513, 514, 515, 516, 517, 518, 519, 520, 521,
6037 522, 523, 524, 525, 526, 527, 528, 529, 530, 531,
6038 532, 533, 534, 535, 536, 537, 538, 539, 540, 541,
6039 542, 543, 544, 545, 548, 554, 560, 566, 572, 578,
6040 584, 590, 596, 602, 608, 614, 614, 623, 629, 635,
6041 641, 647, 653, 659, 665, 665, 674, 677, 680, 683,
6042 686, 692, 692, 701, 701, 710, 716, 722, 722, 731,
6043 731, 740, 746, 752, 758, 764, 770, 776, 776, 788,
6044 789, 790, 795, 796, 797, 798, 799, 800, 801, 802,
6045 803, 804, 807, 807, 816, 816, 827, 827, 835, 836,
6046 839, 839, 847, 849, 853, 859, 865, 871, 877, 877,
6047 890, 890, 901, 902, 903, 908, 910, 910, 929, 929,
6048 942, 942, 953, 954, 957, 958, 959, 964, 964, 974,
6049 975, 976, 981, 982, 983, 984, 985, 986, 987, 988,
6050 989, 990, 991, 992, 993, 994, 995, 996, 997, 998,
6051 999, 1002, 1002, 1010, 1011, 1012, 1015, 1015, 1024, 1024,
6052 1033, 1033, 1042, 1048, 1048, 1057, 1063, 1069, 1075, 1081,
6053 1087, 1093, 1093, 1101, 1102, 1103, 1106, 1112, 1112, 1121,
6054 1121, 1130, 1130, 1139, 1139, 1148, 1148, 1159, 1160, 1161,
6055 1166, 1167, 1168, 1169, 1170, 1173, 1178, 1183, 1188, 1193,
6056 1200, 1200, 1213, 1214, 1215, 1220, 1221, 1222, 1223, 1224,
6057 1225, 1228, 1234, 1240, 1246, 1246, 1257, 1258, 1261, 1262,
6058 1263, 1268, 1268, 1278, 1278, 1288, 1289, 1290, 1293, 1296,
6059 1297, 1300, 1300, 1309, 1309, 1318, 1318, 1330, 1331, 1332,
6060 1337, 1338, 1339, 1340, 1341, 1342, 1345, 1351, 1357, 1363,
6061 1369, 1375, 1384, 1384, 1398, 1399, 1402, 1403, 1404, 1413,
6062 1413, 1439, 1439, 1450, 1451, 1452, 1458, 1459, 1460, 1461,
6063 1462, 1463, 1464, 1465, 1466, 1467, 1468, 1469, 1470, 1471,
6064 1472, 1473, 1474, 1475, 1476, 1477, 1478, 1479, 1480, 1481,
6065 1482, 1483, 1484, 1485, 1486, 1487, 1488, 1489, 1490, 1491,
6066 1492, 1493, 1494, 1495, 1496, 1497, 1498, 1499, 1500, 1501,
6067 1502, 1505, 1505, 1514, 1514, 1523, 1523, 1532, 1532, 1541,
6068 1541, 1550, 1550, 1559, 1559, 1570, 1576, 1582, 1588, 1588,
6069 1596, 1597, 1598, 1599, 1602, 1610, 1610, 1622, 1623, 1627,
6070 1628, 1629, 1634, 1634, 1642, 1643, 1644, 1649, 1650, 1651,
6071 1652, 1653, 1654, 1655, 1656, 1657, 1658, 1659, 1660, 1661,
6072 1662, 1663, 1664, 1665, 1666, 1667, 1668, 1669, 1670, 1671,
6073 1672, 1673, 1674, 1675, 1676, 1677, 1678, 1679, 1680, 1681,
6074 1682, 1683, 1684, 1685, 1686, 1687, 1688, 1695, 1695, 1709,
6075 1709, 1718, 1719, 1722, 1723, 1724, 1731, 1731, 1746, 1746,
6076 1760, 1761, 1764, 1765, 1766, 1771, 1772, 1773, 1774, 1775,
6077 1776, 1777, 1778, 1779, 1780, 1783, 1785, 1791, 1793, 1793,
6078 1802, 1802, 1811, 1811, 1820, 1822, 1822, 1831, 1841, 1841,
6079 1854, 1855, 1860, 1861, 1862, 1869, 1869, 1881, 1881, 1893,
6080 1894, 1899, 1900, 1901, 1908, 1909, 1910, 1911, 1912, 1913,
6081 1914, 1915, 1916, 1919, 1921, 1921, 1930, 1932, 1934, 1940,
6082 1949, 1949, 1962, 1963, 1966, 1967, 1968, 1973, 1973, 1983,
6083 1983, 1993, 1994, 1995, 2000, 2001, 2002, 2003, 2004, 2005,
6084 2006, 2009, 2009, 2018, 2018, 2043, 2043, 2073, 2073, 2084,
6085 2085, 2088, 2089, 2090, 2095, 2095, 2104, 2104, 2113, 2114,
6086 2117, 2118, 2119, 2125, 2126, 2127, 2128, 2129, 2130, 2131,
6087 2132, 2133, 2134, 2135, 2136, 2137, 2138, 2139, 2142, 2142,
6088 2151, 2151, 2160, 2160, 2169, 2169, 2178, 2178, 2189, 2189,
6089 2198, 2198, 2207, 2207, 2216, 2216, 2225, 2225, 2234, 2234,
6090 2243, 2243, 2257, 2257, 2268, 2269, 2275, 2275, 2286, 2287,
6091 2288, 2293, 2293, 2303, 2304, 2307, 2308, 2309, 2314, 2315,
6092 2316, 2317, 2318, 2319, 2320, 2321, 2322, 2323, 2324, 2325,
6093 2326, 2327, 2330, 2332, 2332, 2341, 2349, 2357, 2357, 2368,
6094 2369, 2370, 2375, 2376, 2377, 2378, 2379, 2382, 2382, 2391,
6095 2391, 2403, 2403, 2416, 2417, 2418, 2423, 2424, 2425, 2426,
6096 2427, 2428, 2431, 2437, 2437, 2446, 2452, 2452, 2462, 2462,
6097 2475, 2475, 2485, 2486, 2487, 2492, 2493, 2494, 2495, 2496,
6098 2497, 2498, 2499, 2500, 2501, 2502, 2503, 2504, 2505, 2506,
6099 2507, 2508, 2509, 2512, 2518, 2518, 2527, 2533, 2533, 2542,
6100 2548, 2554, 2554, 2563, 2564, 2567, 2567, 2577, 2577, 2587,
6101 2594, 2601, 2601, 2610, 2610, 2620, 2620, 2630, 2630, 2642,
6102 2642, 2654, 2654, 2664, 2665, 2666, 2672, 2673, 2676, 2676,
6103 2687, 2695, 2695, 2708, 2709, 2710, 2716, 2716, 2724, 2725,
6104 2726, 2731, 2732, 2733, 2734, 2735, 2736, 2737, 2740, 2746,
6105 2746, 2755, 2755, 2766, 2767, 2768, 2773, 2773, 2781, 2782,
6106 2783, 2788, 2789, 2790, 2791, 2792, 2795, 2795, 2804, 2810,
6107 2816, 2822, 2822, 2831, 2831, 2842, 2843, 2844, 2849, 2850,
6112 Dhcp4Parser::yy_stack_print_ ()
const
6114 *yycdebug_ <<
"Stack now";
6115 for (stack_type::const_iterator
6116 i = yystack_.begin (),
6117 i_end = yystack_.end ();
6119 *yycdebug_ <<
' ' << int (i->state);
6124 Dhcp4Parser::yy_reduce_print_ (
int yyrule)
const
6126 int yylno = yyrline_[yyrule];
6127 int yynrhs = yyr2_[yyrule];
6129 *yycdebug_ <<
"Reducing stack by rule " << yyrule - 1
6130 <<
" (line " << yylno <<
"):\n";
6132 for (
int yyi = 0; yyi < yynrhs; yyi++)
6134 yystack_[(yynrhs) - (yyi + 1)]);
6139#line 14 "dhcp4_parser.yy"
6141#line 6142 "dhcp4_parser.cc"
6143#line 2859 "dhcp4_parser.yy"
6148 const std::string& what)
6150 ctx.error(loc, what);
#define YY_CAST(Type, Val)
#define YY_MOVE_REF(Type)
Notes: IntElement type is changed to int64_t.
symbol_kind_type token() const YY_NOEXCEPT
context(const Dhcp4Parser &yyparser, const symbol_type &yyla)
const symbol_type & lookahead() const YY_NOEXCEPT
int expected_tokens(symbol_kind_type yyarg[], int yyargn) const
Put in YYARG at most YYARGN of the expected tokens, and return the number of tokens stored in YYARG.
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.
std::ostream & debug_stream() const YY_ATTRIBUTE_PURE
The current debugging stream.
void set_debug_stream(std::ostream &)
Set the current debugging stream.
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.
debug_level_type debug_level() const YY_ATTRIBUTE_PURE
The current debugging level.
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.
int debug_level_type
Type for debugging levels.
void set_debug_level(debug_level_type l)
Set the current debugging level.
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 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.
@ DATABASE_TYPE
Used while parsing Dhcp4/*-database/type.
@ 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.
@ 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.
@ RESERVATION_MODE
Used while parsing Dhcp4/reservation-mode.
@ 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...
@ 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.
@ 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.
@ 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.
@ 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 YYLLOC_DEFAULT(Current, Rhs, N)
#define YY_REDUCE_PRINT(Rule)
#define YY_SYMBOL_PRINT(Title, Symbol)
Define the isc::dhcp::parser class.
void merge(ElementPtr element, ConstElementPtr other)
Merges the data from other into element.
boost::shared_ptr< const Element > ConstElementPtr
boost::shared_ptr< Element > ElementPtr
Defines the logger used by the top-level component of kea-lfc.
location_type location
The location.
bool empty() const YY_NOEXCEPT
Whether empty.
void move(basic_symbol &s)
Destructive move, s is emptied into this.
void clear() YY_NOEXCEPT
Destroy contents, and record that is empty.
@ 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