38#define yylex parser4_lex
46#line 34 "dhcp4_parser.yy"
50#line 51 "dhcp4_parser.cc"
54# if defined YYENABLE_NLS && YYENABLE_NLS
57# define YY_(msgid) dgettext ("bison-runtime", msgid)
61# define YY_(msgid) msgid
67# if defined __GNUC__ && !defined __EXCEPTIONS
68# define YY_EXCEPTIONS 0
70# define YY_EXCEPTIONS 1
74#define YYRHSLOC(Rhs, K) ((Rhs)[K].location)
79# ifndef YYLLOC_DEFAULT
80# define YYLLOC_DEFAULT(Current, Rhs, N) \
84 (Current).begin = YYRHSLOC (Rhs, 1).begin; \
85 (Current).end = YYRHSLOC (Rhs, N).end; \
89 (Current).begin = (Current).end = YYRHSLOC (Rhs, 0).end; \
96#define YYUSE(E) ((void) (E))
102# define YYCDEBUG if (yydebug_) (*yycdebug_)
104# define YY_SYMBOL_PRINT(Title, Symbol) \
108 *yycdebug_ << Title << ' '; \
109 yy_print_ (*yycdebug_, Symbol); \
110 *yycdebug_ << '\n'; \
114# define YY_REDUCE_PRINT(Rule) \
117 yy_reduce_print_ (Rule); \
120# define YY_STACK_PRINT() \
128# define YYCDEBUG if (false) std::cerr
129# define YY_SYMBOL_PRINT(Title, Symbol) YYUSE (Symbol)
130# define YY_REDUCE_PRINT(Rule) static_cast<void> (0)
131# define YY_STACK_PRINT() static_cast<void> (0)
135#define yyerrok (yyerrstatus_ = 0)
136#define yyclearin (yyla.clear ())
138#define YYACCEPT goto yyacceptlab
139#define YYABORT goto yyabortlab
140#define YYERROR goto yyerrorlab
141#define YYRECOVERING() (!!yyerrstatus_)
143#line 14 "dhcp4_parser.yy"
144namespace isc {
namespace dhcp {
145#line 146 "dhcp4_parser.cc"
153 Dhcp4Parser::yytnamerr_ (
const char *yystr)
157 std::string yyr =
"";
158 char const *yyp = yystr;
165 goto do_not_strip_quotes;
169 goto do_not_strip_quotes;
178 do_not_strip_quotes: ;
190 yycdebug_ (&std::cerr),
206 Dhcp4Parser::by_state::by_state ()
207 : state (empty_state)
210 Dhcp4Parser::by_state::by_state (
const by_state& other)
211 : state (other.state)
215 Dhcp4Parser::by_state::clear ()
221 Dhcp4Parser::by_state::move (by_state& that)
227 Dhcp4Parser::by_state::by_state (state_type s)
232 Dhcp4Parser::by_state::type_get ()
const
234 if (state == empty_state)
237 return yystos_[state];
240 Dhcp4Parser::stack_symbol_type::stack_symbol_type ()
243 Dhcp4Parser::stack_symbol_type::stack_symbol_type (
YY_RVREF (stack_symbol_type) that)
246 switch (that.type_get ())
260 value.YY_MOVE_OR_COPY<
bool > (
YY_MOVE (that.value));
264 value.YY_MOVE_OR_COPY<
double > (
YY_MOVE (that.value));
268 value.YY_MOVE_OR_COPY< int64_t > (
YY_MOVE (that.value));
272 value.YY_MOVE_OR_COPY< std::string > (
YY_MOVE (that.value));
279#if 201103L <= YY_CPLUSPLUS
281 that.state = empty_state;
285 Dhcp4Parser::stack_symbol_type::stack_symbol_type (state_type s,
YY_MOVE_REF (symbol_type) that)
286 : super_type (s,
YY_MOVE (that.location))
288 switch (that.type_get ())
302 value.move<
bool > (
YY_MOVE (that.value));
306 value.move<
double > (
YY_MOVE (that.value));
310 value.move< int64_t > (
YY_MOVE (that.value));
314 value.move< std::string > (
YY_MOVE (that.value));
325#if YY_CPLUSPLUS < 201103L
326 Dhcp4Parser::stack_symbol_type&
327 Dhcp4Parser::stack_symbol_type::operator= (stack_symbol_type& that)
330 switch (that.type_get ())
344 value.move<
bool > (that.value);
348 value.move<
double > (that.value);
352 value.move< int64_t > (that.value);
356 value.move< std::string > (that.value);
363 location = that.location;
365 that.state = empty_state;
370 template <
typename Base>
372 Dhcp4Parser::yy_destroy_ (
const char* yymsg, basic_symbol<Base>& yysym)
const
379 template <
typename Base>
381 Dhcp4Parser::yy_print_ (std::ostream& yyo,
382 const basic_symbol<Base>& yysym)
const
384 std::ostream& yyoutput = yyo;
391 yyo << (yytype < yyntokens_ ?
"token" :
"nterm")
392 <<
' ' << yytname_[yytype] <<
" ("
393 << yysym.location <<
": ";
398#line 245 "dhcp4_parser.yy"
399 { yyoutput << yysym.value.template as< std::string > (); }
400#line 401 "dhcp4_parser.cc"
405#line 245 "dhcp4_parser.yy"
406 { yyoutput << yysym.value.template as< int64_t > (); }
407#line 408 "dhcp4_parser.cc"
412#line 245 "dhcp4_parser.yy"
413 { yyoutput << yysym.value.template as< double > (); }
414#line 415 "dhcp4_parser.cc"
419#line 245 "dhcp4_parser.yy"
420 { yyoutput << yysym.value.template as< bool > (); }
421#line 422 "dhcp4_parser.cc"
426#line 245 "dhcp4_parser.yy"
427 { yyoutput << yysym.value.template as< ElementPtr > (); }
428#line 429 "dhcp4_parser.cc"
433#line 245 "dhcp4_parser.yy"
434 { yyoutput << yysym.value.template as< ElementPtr > (); }
435#line 436 "dhcp4_parser.cc"
440#line 245 "dhcp4_parser.yy"
441 { yyoutput << yysym.value.template as< ElementPtr > (); }
442#line 443 "dhcp4_parser.cc"
447#line 245 "dhcp4_parser.yy"
448 { yyoutput << yysym.value.template as< ElementPtr > (); }
449#line 450 "dhcp4_parser.cc"
454#line 245 "dhcp4_parser.yy"
455 { yyoutput << yysym.value.template as< ElementPtr > (); }
456#line 457 "dhcp4_parser.cc"
461#line 245 "dhcp4_parser.yy"
462 { yyoutput << yysym.value.template as< ElementPtr > (); }
463#line 464 "dhcp4_parser.cc"
468#line 245 "dhcp4_parser.yy"
469 { yyoutput << yysym.value.template as< ElementPtr > (); }
470#line 471 "dhcp4_parser.cc"
475#line 245 "dhcp4_parser.yy"
476 { yyoutput << yysym.value.template as< ElementPtr > (); }
477#line 478 "dhcp4_parser.cc"
489 Dhcp4Parser::yypush_ (
const char* m,
YY_MOVE_REF (stack_symbol_type) sym)
497 Dhcp4Parser::yypush_ (
const char* m, state_type s,
YY_MOVE_REF (symbol_type) sym)
499#if 201103L <= YY_CPLUSPLUS
500 yypush_ (m, stack_symbol_type (s, std::move (sym)));
502 stack_symbol_type ss (s, sym);
508 Dhcp4Parser::yypop_ (
int n)
515 Dhcp4Parser::debug_stream ()
const
521 Dhcp4Parser::set_debug_stream (std::ostream& o)
527 Dhcp4Parser::debug_level_type
528 Dhcp4Parser::debug_level ()
const
534 Dhcp4Parser::set_debug_level (debug_level_type l)
540 Dhcp4Parser::state_type
541 Dhcp4Parser::yy_lr_goto_state_ (state_type yystate,
int yysym)
543 int yyr = yypgoto_[yysym - yyntokens_] + yystate;
544 if (0 <= yyr && yyr <= yylast_ && yycheck_[yyr] == yystate)
545 return yytable_[yyr];
547 return yydefgoto_[yysym - yyntokens_];
551 Dhcp4Parser::yy_pact_value_is_default_ (
int yyvalue)
553 return yyvalue == yypact_ninf_;
557 Dhcp4Parser::yy_table_value_is_error_ (
int yyvalue)
559 return yyvalue == yytable_ninf_;
578 int yyerrstatus_ = 0;
584 stack_symbol_type yyerror_range[3];
601 yypush_ (YY_NULLPTR, 0,
YY_MOVE (yyla));
605 YYCDEBUG <<
"Entering state " << yystack_[0].state <<
'\n';
608 if (yystack_[0].state == yyfinal_)
616 yyn = yypact_[yystack_[0].state];
617 if (yy_pact_value_is_default_ (yyn))
629 yyla.
move (yylookahead);
643 yyn += yyla.type_get ();
644 if (yyn < 0 || yylast_ < yyn || yycheck_[yyn] != yyla.type_get ())
651 if (yy_table_value_is_error_ (yyn))
662 yypush_ (
"Shifting", yyn,
YY_MOVE (yyla));
669 yyn = yydefact_[yystack_[0].state];
680 stack_symbol_type yylhs;
681 yylhs.state = yy_lr_goto_state_ (yystack_[yylen].state, yyr1_[yyn]);
699 yylhs.value.emplace<
bool > ();
703 yylhs.value.emplace<
double > ();
707 yylhs.value.emplace< int64_t > ();
711 yylhs.value.emplace< std::string > ();
723 yyerror_range[1].location = yylhs.location;
735#line 254 "dhcp4_parser.yy"
737#line 738 "dhcp4_parser.cc"
741#line 255 "dhcp4_parser.yy"
743#line 744 "dhcp4_parser.cc"
747#line 256 "dhcp4_parser.yy"
749#line 750 "dhcp4_parser.cc"
753#line 257 "dhcp4_parser.yy"
755#line 756 "dhcp4_parser.cc"
759#line 258 "dhcp4_parser.yy"
761#line 762 "dhcp4_parser.cc"
765#line 259 "dhcp4_parser.yy"
767#line 768 "dhcp4_parser.cc"
771#line 260 "dhcp4_parser.yy"
773#line 774 "dhcp4_parser.cc"
777#line 261 "dhcp4_parser.yy"
779#line 780 "dhcp4_parser.cc"
783#line 262 "dhcp4_parser.yy"
785#line 786 "dhcp4_parser.cc"
789#line 263 "dhcp4_parser.yy"
791#line 792 "dhcp4_parser.cc"
795#line 264 "dhcp4_parser.yy"
797#line 798 "dhcp4_parser.cc"
801#line 265 "dhcp4_parser.yy"
803#line 804 "dhcp4_parser.cc"
807#line 266 "dhcp4_parser.yy"
809#line 810 "dhcp4_parser.cc"
813#line 267 "dhcp4_parser.yy"
815#line 816 "dhcp4_parser.cc"
819#line 275 "dhcp4_parser.yy"
821#line 822 "dhcp4_parser.cc"
825#line 276 "dhcp4_parser.yy"
827#line 828 "dhcp4_parser.cc"
831#line 277 "dhcp4_parser.yy"
833#line 834 "dhcp4_parser.cc"
837#line 278 "dhcp4_parser.yy"
839#line 840 "dhcp4_parser.cc"
843#line 279 "dhcp4_parser.yy"
845#line 846 "dhcp4_parser.cc"
849#line 280 "dhcp4_parser.yy"
851#line 852 "dhcp4_parser.cc"
855#line 281 "dhcp4_parser.yy"
857#line 858 "dhcp4_parser.cc"
861#line 284 "dhcp4_parser.yy"
866#line 867 "dhcp4_parser.cc"
870#line 289 "dhcp4_parser.yy"
877#line 878 "dhcp4_parser.cc"
881#line 294 "dhcp4_parser.yy"
887#line 888 "dhcp4_parser.cc"
891#line 300 "dhcp4_parser.yy"
893#line 894 "dhcp4_parser.cc"
897#line 307 "dhcp4_parser.yy"
900 ctx.
stack_.back()->set(yystack_[2].value.as< std::string > (), yystack_[0].value.as<
ElementPtr > ());
902#line 903 "dhcp4_parser.cc"
906#line 311 "dhcp4_parser.yy"
910 ctx.
stack_.back()->set(yystack_[2].value.as< std::string > (), yystack_[0].value.as<
ElementPtr > ());
912#line 913 "dhcp4_parser.cc"
916#line 318 "dhcp4_parser.yy"
921#line 922 "dhcp4_parser.cc"
925#line 321 "dhcp4_parser.yy"
929#line 930 "dhcp4_parser.cc"
933#line 329 "dhcp4_parser.yy"
938#line 939 "dhcp4_parser.cc"
942#line 333 "dhcp4_parser.yy"
947#line 948 "dhcp4_parser.cc"
951#line 340 "dhcp4_parser.yy"
955#line 956 "dhcp4_parser.cc"
959#line 342 "dhcp4_parser.yy"
964#line 965 "dhcp4_parser.cc"
968#line 351 "dhcp4_parser.yy"
971 ctx.
stack_.back()->add(s);
973#line 974 "dhcp4_parser.cc"
977#line 355 "dhcp4_parser.yy"
980 ctx.
stack_.back()->add(s);
982#line 983 "dhcp4_parser.cc"
986#line 366 "dhcp4_parser.yy"
989 const std::string& keyword = yystack_[1].value.as< std::string > ();
990 error(yystack_[1].location,
991 "got unexpected keyword \"" + keyword +
"\" in " + where +
" map.");
993#line 994 "dhcp4_parser.cc"
997#line 376 "dhcp4_parser.yy"
1004#line 1005 "dhcp4_parser.cc"
1008#line 381 "dhcp4_parser.yy"
1017#line 1018 "dhcp4_parser.cc"
1021#line 405 "dhcp4_parser.yy"
1026 ctx.
stack_.back()->set(
"Dhcp4", m);
1030#line 1031 "dhcp4_parser.cc"
1034#line 412 "dhcp4_parser.yy"
1040#line 1041 "dhcp4_parser.cc"
1044#line 420 "dhcp4_parser.yy"
1050#line 1051 "dhcp4_parser.cc"
1054#line 424 "dhcp4_parser.yy"
1059#line 1060 "dhcp4_parser.cc"
1063#line 471 "dhcp4_parser.yy"
1066 ctx.
stack_.back()->set(
"valid-lifetime", prf);
1068#line 1069 "dhcp4_parser.cc"
1072#line 476 "dhcp4_parser.yy"
1075 ctx.
stack_.back()->set(
"renew-timer", prf);
1077#line 1078 "dhcp4_parser.cc"
1081#line 481 "dhcp4_parser.yy"
1084 ctx.
stack_.back()->set(
"rebind-timer", prf);
1086#line 1087 "dhcp4_parser.cc"
1090#line 486 "dhcp4_parser.yy"
1093 ctx.
stack_.back()->set(
"decline-probation-period", dpp);
1095#line 1096 "dhcp4_parser.cc"
1099#line 491 "dhcp4_parser.yy"
1103#line 1104 "dhcp4_parser.cc"
1107#line 493 "dhcp4_parser.yy"
1110 ctx.
stack_.back()->set(
"server-tag", stag);
1113#line 1114 "dhcp4_parser.cc"
1117#line 499 "dhcp4_parser.yy"
1120 ctx.
stack_.back()->set(
"echo-client-id", echo);
1122#line 1123 "dhcp4_parser.cc"
1126#line 504 "dhcp4_parser.yy"
1129 ctx.
stack_.back()->set(
"match-client-id", match);
1131#line 1132 "dhcp4_parser.cc"
1135#line 509 "dhcp4_parser.yy"
1138 ctx.
stack_.back()->set(
"authoritative", prf);
1140#line 1141 "dhcp4_parser.cc"
1144#line 515 "dhcp4_parser.yy"
1147 ctx.
stack_.back()->set(
"interfaces-config", i);
1151#line 1152 "dhcp4_parser.cc"
1155#line 520 "dhcp4_parser.yy"
1161#line 1162 "dhcp4_parser.cc"
1165#line 539 "dhcp4_parser.yy"
1171#line 1172 "dhcp4_parser.cc"
1175#line 543 "dhcp4_parser.yy"
1180#line 1181 "dhcp4_parser.cc"
1184#line 548 "dhcp4_parser.yy"
1187 ctx.
stack_.back()->set(
"interfaces", l);
1191#line 1192 "dhcp4_parser.cc"
1195#line 553 "dhcp4_parser.yy"
1200#line 1201 "dhcp4_parser.cc"
1204#line 558 "dhcp4_parser.yy"
1208#line 1209 "dhcp4_parser.cc"
1212#line 560 "dhcp4_parser.yy"
1214 ctx.
stack_.back()->set(
"dhcp-socket-type", yystack_[0].value.as<
ElementPtr > ());
1217#line 1218 "dhcp4_parser.cc"
1221#line 565 "dhcp4_parser.yy"
1223#line 1224 "dhcp4_parser.cc"
1227#line 566 "dhcp4_parser.yy"
1229#line 1230 "dhcp4_parser.cc"
1233#line 569 "dhcp4_parser.yy"
1237#line 1238 "dhcp4_parser.cc"
1241#line 571 "dhcp4_parser.yy"
1243 ctx.
stack_.back()->set(
"outbound-interface", yystack_[0].value.as<
ElementPtr > ());
1246#line 1247 "dhcp4_parser.cc"
1250#line 576 "dhcp4_parser.yy"
1254#line 1255 "dhcp4_parser.cc"
1258#line 578 "dhcp4_parser.yy"
1262#line 1263 "dhcp4_parser.cc"
1266#line 582 "dhcp4_parser.yy"
1269 ctx.
stack_.back()->set(
"re-detect", b);
1271#line 1272 "dhcp4_parser.cc"
1275#line 588 "dhcp4_parser.yy"
1278 ctx.
stack_.back()->set(
"lease-database", i);
1282#line 1283 "dhcp4_parser.cc"
1286#line 593 "dhcp4_parser.yy"
1293#line 1294 "dhcp4_parser.cc"
1297#line 600 "dhcp4_parser.yy"
1300 ctx.
stack_.back()->set(
"sanity-checks", m);
1304#line 1305 "dhcp4_parser.cc"
1308#line 605 "dhcp4_parser.yy"
1313#line 1314 "dhcp4_parser.cc"
1317#line 615 "dhcp4_parser.yy"
1321#line 1322 "dhcp4_parser.cc"
1325#line 617 "dhcp4_parser.yy"
1328 if ( (
string(yystack_[0].value.as< std::string > ()) ==
"none") ||
1329 (
string(yystack_[0].value.as< std::string > ()) ==
"warn") ||
1330 (
string(yystack_[0].value.as< std::string > ()) ==
"fix") ||
1331 (
string(yystack_[0].value.as< std::string > ()) ==
"fix-del") ||
1332 (
string(yystack_[0].value.as< std::string > ()) ==
"del")) {
1334 ctx.
stack_.back()->set(
"lease-checks", user);
1337 error(yystack_[0].location,
"Unsupported 'lease-checks value: " +
string(yystack_[0].value.as< std::string > ()) +
1338 ", supported values are: none, warn, fix, fix-del, del");
1341#line 1342 "dhcp4_parser.cc"
1345#line 633 "dhcp4_parser.yy"
1348 ctx.
stack_.back()->set(
"hosts-database", i);
1352#line 1353 "dhcp4_parser.cc"
1356#line 638 "dhcp4_parser.yy"
1363#line 1364 "dhcp4_parser.cc"
1367#line 645 "dhcp4_parser.yy"
1370 ctx.
stack_.back()->set(
"hosts-databases", l);
1374#line 1375 "dhcp4_parser.cc"
1378#line 650 "dhcp4_parser.yy"
1383#line 1384 "dhcp4_parser.cc"
1387#line 663 "dhcp4_parser.yy"
1390 ctx.
stack_.back()->add(m);
1393#line 1394 "dhcp4_parser.cc"
1397#line 667 "dhcp4_parser.yy"
1403#line 1404 "dhcp4_parser.cc"
1407#line 697 "dhcp4_parser.yy"
1411#line 1412 "dhcp4_parser.cc"
1415#line 699 "dhcp4_parser.yy"
1420#line 1421 "dhcp4_parser.cc"
1424#line 704 "dhcp4_parser.yy"
1426#line 1427 "dhcp4_parser.cc"
1430#line 705 "dhcp4_parser.yy"
1432#line 1433 "dhcp4_parser.cc"
1436#line 706 "dhcp4_parser.yy"
1438#line 1439 "dhcp4_parser.cc"
1442#line 707 "dhcp4_parser.yy"
1444#line 1445 "dhcp4_parser.cc"
1448#line 710 "dhcp4_parser.yy"
1452#line 1453 "dhcp4_parser.cc"
1456#line 712 "dhcp4_parser.yy"
1459 ctx.
stack_.back()->set(
"user", user);
1462#line 1463 "dhcp4_parser.cc"
1466#line 718 "dhcp4_parser.yy"
1470#line 1471 "dhcp4_parser.cc"
1474#line 720 "dhcp4_parser.yy"
1477 ctx.
stack_.back()->set(
"password", pwd);
1480#line 1481 "dhcp4_parser.cc"
1484#line 726 "dhcp4_parser.yy"
1488#line 1489 "dhcp4_parser.cc"
1492#line 728 "dhcp4_parser.yy"
1495 ctx.
stack_.back()->set(
"host", h);
1498#line 1499 "dhcp4_parser.cc"
1502#line 734 "dhcp4_parser.yy"
1505 ctx.
stack_.back()->set(
"port", p);
1507#line 1508 "dhcp4_parser.cc"
1511#line 739 "dhcp4_parser.yy"
1515#line 1516 "dhcp4_parser.cc"
1519#line 741 "dhcp4_parser.yy"
1522 ctx.
stack_.back()->set(
"name", name);
1525#line 1526 "dhcp4_parser.cc"
1529#line 747 "dhcp4_parser.yy"
1532 ctx.
stack_.back()->set(
"persist", n);
1534#line 1535 "dhcp4_parser.cc"
1538#line 752 "dhcp4_parser.yy"
1541 ctx.
stack_.back()->set(
"lfc-interval", n);
1543#line 1544 "dhcp4_parser.cc"
1547#line 757 "dhcp4_parser.yy"
1550 ctx.
stack_.back()->set(
"readonly", n);
1552#line 1553 "dhcp4_parser.cc"
1556#line 762 "dhcp4_parser.yy"
1559 ctx.
stack_.back()->set(
"connect-timeout", n);
1561#line 1562 "dhcp4_parser.cc"
1565#line 767 "dhcp4_parser.yy"
1568 ctx.
stack_.back()->set(
"request-timeout", n);
1570#line 1571 "dhcp4_parser.cc"
1574#line 772 "dhcp4_parser.yy"
1577 ctx.
stack_.back()->set(
"tcp-keepalive", n);
1579#line 1580 "dhcp4_parser.cc"
1583#line 777 "dhcp4_parser.yy"
1586 ctx.
stack_.back()->set(
"tcp-nodelay", n);
1588#line 1589 "dhcp4_parser.cc"
1592#line 782 "dhcp4_parser.yy"
1596#line 1597 "dhcp4_parser.cc"
1600#line 784 "dhcp4_parser.yy"
1603 ctx.
stack_.back()->set(
"contact-points", cp);
1606#line 1607 "dhcp4_parser.cc"
1610#line 790 "dhcp4_parser.yy"
1614#line 1615 "dhcp4_parser.cc"
1618#line 792 "dhcp4_parser.yy"
1621 ctx.
stack_.back()->set(
"keyspace", ks);
1624#line 1625 "dhcp4_parser.cc"
1628#line 798 "dhcp4_parser.yy"
1631 ctx.
stack_.back()->set(
"max-reconnect-tries", n);
1633#line 1634 "dhcp4_parser.cc"
1637#line 803 "dhcp4_parser.yy"
1640 ctx.
stack_.back()->set(
"reconnect-wait-time", n);
1642#line 1643 "dhcp4_parser.cc"
1646#line 808 "dhcp4_parser.yy"
1649 ctx.
stack_.back()->set(
"host-reservation-identifiers", l);
1653#line 1654 "dhcp4_parser.cc"
1657#line 813 "dhcp4_parser.yy"
1662#line 1663 "dhcp4_parser.cc"
1666#line 829 "dhcp4_parser.yy"
1669 ctx.
stack_.back()->add(duid);
1671#line 1672 "dhcp4_parser.cc"
1675#line 834 "dhcp4_parser.yy"
1678 ctx.
stack_.back()->add(hwaddr);
1680#line 1681 "dhcp4_parser.cc"
1684#line 839 "dhcp4_parser.yy"
1687 ctx.
stack_.back()->add(circuit);
1689#line 1690 "dhcp4_parser.cc"
1693#line 844 "dhcp4_parser.yy"
1696 ctx.
stack_.back()->add(client);
1698#line 1699 "dhcp4_parser.cc"
1702#line 849 "dhcp4_parser.yy"
1705 ctx.
stack_.back()->add(flex_id);
1707#line 1708 "dhcp4_parser.cc"
1711#line 854 "dhcp4_parser.yy"
1714 ctx.
stack_.back()->set(
"hooks-libraries", l);
1718#line 1719 "dhcp4_parser.cc"
1722#line 859 "dhcp4_parser.yy"
1727#line 1728 "dhcp4_parser.cc"
1731#line 872 "dhcp4_parser.yy"
1734 ctx.
stack_.back()->add(m);
1737#line 1738 "dhcp4_parser.cc"
1741#line 876 "dhcp4_parser.yy"
1747#line 1748 "dhcp4_parser.cc"
1751#line 882 "dhcp4_parser.yy"
1757#line 1758 "dhcp4_parser.cc"
1761#line 886 "dhcp4_parser.yy"
1767#line 1768 "dhcp4_parser.cc"
1771#line 901 "dhcp4_parser.yy"
1775#line 1776 "dhcp4_parser.cc"
1779#line 903 "dhcp4_parser.yy"
1782 ctx.
stack_.back()->set(
"library", lib);
1785#line 1786 "dhcp4_parser.cc"
1789#line 909 "dhcp4_parser.yy"
1793#line 1794 "dhcp4_parser.cc"
1797#line 911 "dhcp4_parser.yy"
1799 ctx.
stack_.back()->set(
"parameters", yystack_[0].value.as<
ElementPtr > ());
1802#line 1803 "dhcp4_parser.cc"
1806#line 917 "dhcp4_parser.yy"
1809 ctx.
stack_.back()->set(
"expired-leases-processing", m);
1813#line 1814 "dhcp4_parser.cc"
1817#line 922 "dhcp4_parser.yy"
1823#line 1824 "dhcp4_parser.cc"
1827#line 940 "dhcp4_parser.yy"
1830 ctx.
stack_.back()->set(
"reclaim-timer-wait-time", value);
1832#line 1833 "dhcp4_parser.cc"
1836#line 945 "dhcp4_parser.yy"
1839 ctx.
stack_.back()->set(
"flush-reclaimed-timer-wait-time", value);
1841#line 1842 "dhcp4_parser.cc"
1845#line 950 "dhcp4_parser.yy"
1848 ctx.
stack_.back()->set(
"hold-reclaimed-time", value);
1850#line 1851 "dhcp4_parser.cc"
1854#line 955 "dhcp4_parser.yy"
1857 ctx.
stack_.back()->set(
"max-reclaim-leases", value);
1859#line 1860 "dhcp4_parser.cc"
1863#line 960 "dhcp4_parser.yy"
1866 ctx.
stack_.back()->set(
"max-reclaim-time", value);
1868#line 1869 "dhcp4_parser.cc"
1872#line 965 "dhcp4_parser.yy"
1875 ctx.
stack_.back()->set(
"unwarned-reclaim-cycles", value);
1877#line 1878 "dhcp4_parser.cc"
1881#line 973 "dhcp4_parser.yy"
1884 ctx.
stack_.back()->set(
"subnet4", l);
1888#line 1889 "dhcp4_parser.cc"
1892#line 978 "dhcp4_parser.yy"
1897#line 1898 "dhcp4_parser.cc"
1901#line 998 "dhcp4_parser.yy"
1904 ctx.
stack_.back()->add(m);
1907#line 1908 "dhcp4_parser.cc"
1911#line 1002 "dhcp4_parser.yy"
1933#line 1934 "dhcp4_parser.cc"
1937#line 1024 "dhcp4_parser.yy"
1943#line 1944 "dhcp4_parser.cc"
1947#line 1028 "dhcp4_parser.yy"
1953#line 1954 "dhcp4_parser.cc"
1957#line 1066 "dhcp4_parser.yy"
1961#line 1962 "dhcp4_parser.cc"
1965#line 1068 "dhcp4_parser.yy"
1968 ctx.
stack_.back()->set(
"subnet", subnet);
1971#line 1972 "dhcp4_parser.cc"
1975#line 1074 "dhcp4_parser.yy"
1979#line 1980 "dhcp4_parser.cc"
1983#line 1076 "dhcp4_parser.yy"
1986 ctx.
stack_.back()->set(
"4o6-interface", iface);
1989#line 1990 "dhcp4_parser.cc"
1993#line 1082 "dhcp4_parser.yy"
1997#line 1998 "dhcp4_parser.cc"
2001#line 1084 "dhcp4_parser.yy"
2004 ctx.
stack_.back()->set(
"4o6-interface-id", iface);
2007#line 2008 "dhcp4_parser.cc"
2011#line 1090 "dhcp4_parser.yy"
2015#line 2016 "dhcp4_parser.cc"
2019#line 1092 "dhcp4_parser.yy"
2022 ctx.
stack_.back()->set(
"4o6-subnet", iface);
2025#line 2026 "dhcp4_parser.cc"
2029#line 1098 "dhcp4_parser.yy"
2033#line 2034 "dhcp4_parser.cc"
2037#line 1100 "dhcp4_parser.yy"
2040 ctx.
stack_.back()->set(
"interface", iface);
2043#line 2044 "dhcp4_parser.cc"
2047#line 1106 "dhcp4_parser.yy"
2051#line 2052 "dhcp4_parser.cc"
2055#line 1108 "dhcp4_parser.yy"
2058 ctx.
stack_.back()->set(
"client-class", cls);
2061#line 2062 "dhcp4_parser.cc"
2065#line 1114 "dhcp4_parser.yy"
2068 ctx.
stack_.back()->set(
"require-client-classes", c);
2072#line 2073 "dhcp4_parser.cc"
2076#line 1119 "dhcp4_parser.yy"
2081#line 2082 "dhcp4_parser.cc"
2085#line 1124 "dhcp4_parser.yy"
2089#line 2090 "dhcp4_parser.cc"
2093#line 1126 "dhcp4_parser.yy"
2095 ctx.
stack_.back()->set(
"reservation-mode", yystack_[0].value.as<
ElementPtr > ());
2098#line 2099 "dhcp4_parser.cc"
2102#line 1131 "dhcp4_parser.yy"
2104#line 2105 "dhcp4_parser.cc"
2108#line 1132 "dhcp4_parser.yy"
2110#line 2111 "dhcp4_parser.cc"
2114#line 1133 "dhcp4_parser.yy"
2116#line 2117 "dhcp4_parser.cc"
2120#line 1134 "dhcp4_parser.yy"
2122#line 2123 "dhcp4_parser.cc"
2126#line 1137 "dhcp4_parser.yy"
2129 ctx.
stack_.back()->set(
"id",
id);
2131#line 2132 "dhcp4_parser.cc"
2135#line 1144 "dhcp4_parser.yy"
2138 ctx.
stack_.back()->set(
"shared-networks", l);
2142#line 2143 "dhcp4_parser.cc"
2146#line 1149 "dhcp4_parser.yy"
2151#line 2152 "dhcp4_parser.cc"
2155#line 1164 "dhcp4_parser.yy"
2158 ctx.
stack_.back()->add(m);
2161#line 2162 "dhcp4_parser.cc"
2165#line 1168 "dhcp4_parser.yy"
2169#line 2170 "dhcp4_parser.cc"
2173#line 1201 "dhcp4_parser.yy"
2176 ctx.
stack_.back()->set(
"option-def", l);
2180#line 2181 "dhcp4_parser.cc"
2184#line 1206 "dhcp4_parser.yy"
2189#line 2190 "dhcp4_parser.cc"
2193#line 1214 "dhcp4_parser.yy"
2198#line 2199 "dhcp4_parser.cc"
2202#line 1217 "dhcp4_parser.yy"
2206#line 2207 "dhcp4_parser.cc"
2210#line 1233 "dhcp4_parser.yy"
2213 ctx.
stack_.back()->add(m);
2216#line 2217 "dhcp4_parser.cc"
2220#line 1237 "dhcp4_parser.yy"
2228#line 2229 "dhcp4_parser.cc"
2232#line 1248 "dhcp4_parser.yy"
2238#line 2239 "dhcp4_parser.cc"
2242#line 1252 "dhcp4_parser.yy"
2250#line 2251 "dhcp4_parser.cc"
2254#line 1284 "dhcp4_parser.yy"
2257 ctx.
stack_.back()->set(
"code", code);
2259#line 2260 "dhcp4_parser.cc"
2263#line 1291 "dhcp4_parser.yy"
2267#line 2268 "dhcp4_parser.cc"
2271#line 1293 "dhcp4_parser.yy"
2274 ctx.
stack_.back()->set(
"type", prf);
2277#line 2278 "dhcp4_parser.cc"
2281#line 1299 "dhcp4_parser.yy"
2285#line 2286 "dhcp4_parser.cc"
2289#line 1301 "dhcp4_parser.yy"
2292 ctx.
stack_.back()->set(
"record-types", rtypes);
2295#line 2296 "dhcp4_parser.cc"
2299#line 1307 "dhcp4_parser.yy"
2303#line 2304 "dhcp4_parser.cc"
2307#line 1309 "dhcp4_parser.yy"
2310 ctx.
stack_.back()->set(
"space", space);
2313#line 2314 "dhcp4_parser.cc"
2317#line 1317 "dhcp4_parser.yy"
2321#line 2322 "dhcp4_parser.cc"
2325#line 1319 "dhcp4_parser.yy"
2328 ctx.
stack_.back()->set(
"encapsulate", encap);
2331#line 2332 "dhcp4_parser.cc"
2335#line 1325 "dhcp4_parser.yy"
2338 ctx.
stack_.back()->set(
"array", array);
2340#line 2341 "dhcp4_parser.cc"
2344#line 1334 "dhcp4_parser.yy"
2347 ctx.
stack_.back()->set(
"option-data", l);
2351#line 2352 "dhcp4_parser.cc"
2355#line 1339 "dhcp4_parser.yy"
2360#line 2361 "dhcp4_parser.cc"
2364#line 1358 "dhcp4_parser.yy"
2367 ctx.
stack_.back()->add(m);
2370#line 2371 "dhcp4_parser.cc"
2374#line 1362 "dhcp4_parser.yy"
2379#line 2380 "dhcp4_parser.cc"
2383#line 1370 "dhcp4_parser.yy"
2389#line 2390 "dhcp4_parser.cc"
2393#line 1374 "dhcp4_parser.yy"
2398#line 2399 "dhcp4_parser.cc"
2402#line 1407 "dhcp4_parser.yy"
2406#line 2407 "dhcp4_parser.cc"
2410#line 1409 "dhcp4_parser.yy"
2413 ctx.
stack_.back()->set(
"data", data);
2416#line 2417 "dhcp4_parser.cc"
2420#line 1419 "dhcp4_parser.yy"
2423 ctx.
stack_.back()->set(
"csv-format", space);
2425#line 2426 "dhcp4_parser.cc"
2429#line 1424 "dhcp4_parser.yy"
2432 ctx.
stack_.back()->set(
"always-send", persist);
2434#line 2435 "dhcp4_parser.cc"
2438#line 1432 "dhcp4_parser.yy"
2441 ctx.
stack_.back()->set(
"pools", l);
2445#line 2446 "dhcp4_parser.cc"
2449#line 1437 "dhcp4_parser.yy"
2454#line 2455 "dhcp4_parser.cc"
2458#line 1452 "dhcp4_parser.yy"
2461 ctx.
stack_.back()->add(m);
2464#line 2465 "dhcp4_parser.cc"
2468#line 1456 "dhcp4_parser.yy"
2474#line 2475 "dhcp4_parser.cc"
2478#line 1462 "dhcp4_parser.yy"
2484#line 2485 "dhcp4_parser.cc"
2488#line 1466 "dhcp4_parser.yy"
2494#line 2495 "dhcp4_parser.cc"
2498#line 1485 "dhcp4_parser.yy"
2502#line 2503 "dhcp4_parser.cc"
2506#line 1487 "dhcp4_parser.yy"
2509 ctx.
stack_.back()->set(
"pool", pool);
2512#line 2513 "dhcp4_parser.cc"
2516#line 1493 "dhcp4_parser.yy"
2520#line 2521 "dhcp4_parser.cc"
2524#line 1495 "dhcp4_parser.yy"
2533 if ((old->size() != 1) || !old->contains(
"comment")) {
2534 std::stringstream msg;
2535 msg <<
"duplicate user-context entries (previous at "
2536 << old->getPosition().str() <<
")";
2537 error(yystack_[3].location, msg.str());
2540 user_context->set(
"comment", old->get(
"comment"));
2544 parent->set(
"user-context", user_context);
2547#line 2548 "dhcp4_parser.cc"
2551#line 1518 "dhcp4_parser.yy"
2555#line 2556 "dhcp4_parser.cc"
2559#line 1520 "dhcp4_parser.yy"
2564 user_context->set(
"comment", comment);
2570 if (old->contains(
"comment")) {
2571 std::stringstream msg;
2572 msg <<
"duplicate user-context/comment entries (previous at "
2573 << old->getPosition().str() <<
")";
2574 error(yystack_[3].location, msg.str());
2577 merge(user_context, old);
2581 parent->set(
"user-context", user_context);
2584#line 2585 "dhcp4_parser.cc"
2588#line 1548 "dhcp4_parser.yy"
2591 ctx.
stack_.back()->set(
"reservations", l);
2595#line 2596 "dhcp4_parser.cc"
2599#line 1553 "dhcp4_parser.yy"
2604#line 2605 "dhcp4_parser.cc"
2608#line 1566 "dhcp4_parser.yy"
2611 ctx.
stack_.back()->add(m);
2614#line 2615 "dhcp4_parser.cc"
2618#line 1570 "dhcp4_parser.yy"
2623#line 2624 "dhcp4_parser.cc"
2627#line 1575 "dhcp4_parser.yy"
2633#line 2634 "dhcp4_parser.cc"
2637#line 1579 "dhcp4_parser.yy"
2642#line 2643 "dhcp4_parser.cc"
2646#line 1610 "dhcp4_parser.yy"
2650#line 2651 "dhcp4_parser.cc"
2654#line 1612 "dhcp4_parser.yy"
2657 ctx.
stack_.back()->set(
"next-server", next_server);
2660#line 2661 "dhcp4_parser.cc"
2664#line 1618 "dhcp4_parser.yy"
2668#line 2669 "dhcp4_parser.cc"
2672#line 1620 "dhcp4_parser.yy"
2675 ctx.
stack_.back()->set(
"server-hostname", srv);
2678#line 2679 "dhcp4_parser.cc"
2682#line 1626 "dhcp4_parser.yy"
2686#line 2687 "dhcp4_parser.cc"
2690#line 1628 "dhcp4_parser.yy"
2693 ctx.
stack_.back()->set(
"boot-file-name", bootfile);
2696#line 2697 "dhcp4_parser.cc"
2700#line 1634 "dhcp4_parser.yy"
2704#line 2705 "dhcp4_parser.cc"
2708#line 1636 "dhcp4_parser.yy"
2711 ctx.
stack_.back()->set(
"ip-address", addr);
2714#line 2715 "dhcp4_parser.cc"
2718#line 1642 "dhcp4_parser.yy"
2721 ctx.
stack_.back()->set(
"ip-addresses", l);
2725#line 2726 "dhcp4_parser.cc"
2729#line 1647 "dhcp4_parser.yy"
2734#line 2735 "dhcp4_parser.cc"
2738#line 1652 "dhcp4_parser.yy"
2742#line 2743 "dhcp4_parser.cc"
2746#line 1654 "dhcp4_parser.yy"
2749 ctx.
stack_.back()->set(
"duid", d);
2752#line 2753 "dhcp4_parser.cc"
2756#line 1660 "dhcp4_parser.yy"
2760#line 2761 "dhcp4_parser.cc"
2764#line 1662 "dhcp4_parser.yy"
2767 ctx.
stack_.back()->set(
"hw-address", hw);
2770#line 2771 "dhcp4_parser.cc"
2774#line 1668 "dhcp4_parser.yy"
2778#line 2779 "dhcp4_parser.cc"
2782#line 1670 "dhcp4_parser.yy"
2785 ctx.
stack_.back()->set(
"client-id", hw);
2788#line 2789 "dhcp4_parser.cc"
2792#line 1676 "dhcp4_parser.yy"
2796#line 2797 "dhcp4_parser.cc"
2800#line 1678 "dhcp4_parser.yy"
2803 ctx.
stack_.back()->set(
"circuit-id", hw);
2806#line 2807 "dhcp4_parser.cc"
2810#line 1684 "dhcp4_parser.yy"
2814#line 2815 "dhcp4_parser.cc"
2818#line 1686 "dhcp4_parser.yy"
2821 ctx.
stack_.back()->set(
"flex-id", hw);
2824#line 2825 "dhcp4_parser.cc"
2828#line 1692 "dhcp4_parser.yy"
2832#line 2833 "dhcp4_parser.cc"
2836#line 1694 "dhcp4_parser.yy"
2839 ctx.
stack_.back()->set(
"hostname", host);
2842#line 2843 "dhcp4_parser.cc"
2846#line 1700 "dhcp4_parser.yy"
2849 ctx.
stack_.back()->set(
"client-classes", c);
2853#line 2854 "dhcp4_parser.cc"
2857#line 1705 "dhcp4_parser.yy"
2862#line 2863 "dhcp4_parser.cc"
2866#line 1713 "dhcp4_parser.yy"
2869 ctx.
stack_.back()->set(
"relay", m);
2873#line 2874 "dhcp4_parser.cc"
2877#line 1718 "dhcp4_parser.yy"
2882#line 2883 "dhcp4_parser.cc"
2886#line 1730 "dhcp4_parser.yy"
2889 ctx.
stack_.back()->set(
"client-classes", l);
2893#line 2894 "dhcp4_parser.cc"
2897#line 1735 "dhcp4_parser.yy"
2902#line 2903 "dhcp4_parser.cc"
2906#line 1744 "dhcp4_parser.yy"
2909 ctx.
stack_.back()->add(m);
2912#line 2913 "dhcp4_parser.cc"
2916#line 1748 "dhcp4_parser.yy"
2922#line 2923 "dhcp4_parser.cc"
2926#line 1777 "dhcp4_parser.yy"
2930#line 2931 "dhcp4_parser.cc"
2934#line 1779 "dhcp4_parser.yy"
2937 ctx.
stack_.back()->set(
"test", test);
2940#line 2941 "dhcp4_parser.cc"
2944#line 1785 "dhcp4_parser.yy"
2947 ctx.
stack_.back()->set(
"only-if-required", b);
2949#line 2950 "dhcp4_parser.cc"
2953#line 1794 "dhcp4_parser.yy"
2956 ctx.
stack_.back()->set(
"dhcp4o6-port", time);
2958#line 2959 "dhcp4_parser.cc"
2962#line 1801 "dhcp4_parser.yy"
2965 ctx.
stack_.back()->set(
"control-socket", m);
2969#line 2970 "dhcp4_parser.cc"
2973#line 1806 "dhcp4_parser.yy"
2978#line 2979 "dhcp4_parser.cc"
2982#line 1822 "dhcp4_parser.yy"
2986#line 2987 "dhcp4_parser.cc"
2990#line 1824 "dhcp4_parser.yy"
2993 ctx.
stack_.back()->set(
"socket-type", stype);
2996#line 2997 "dhcp4_parser.cc"
3000#line 1830 "dhcp4_parser.yy"
3004#line 3005 "dhcp4_parser.cc"
3008#line 1832 "dhcp4_parser.yy"
3011 ctx.
stack_.back()->set(
"socket-name", name);
3014#line 3015 "dhcp4_parser.cc"
3018#line 1841 "dhcp4_parser.yy"
3022#line 3023 "dhcp4_parser.cc"
3026#line 1843 "dhcp4_parser.yy"
3029 ctx.
stack_.back()->set(
"dhcp-queue-control", qc);
3033 if (!qc->contains(
"enable-queue")) {
3034 std::stringstream msg;
3035 msg <<
"'enable-queue' is required: ";
3036 msg <<
"(" << qc->getPosition().str() <<
")";
3037 error(yystack_[3].location, msg.str());
3042 std::stringstream msg;
3043 msg <<
"'enable-queue' must be boolean: ";
3044 msg <<
"(" << qc->getPosition().str() <<
")";
3045 error(yystack_[3].location, msg.str());
3048 if (qc->contains(
"queue-type")) {
3051 std::stringstream msg;
3052 msg <<
"'queue-type' must be a string: ";
3053 msg <<
"(" << qc->getPosition().str() <<
")";
3054 error(yystack_[3].location, msg.str());
3060#line 3061 "dhcp4_parser.cc"
3064#line 1879 "dhcp4_parser.yy"
3067 ctx.
stack_.back()->set(
"dhcp-ddns", m);
3071#line 3072 "dhcp4_parser.cc"
3075#line 1884 "dhcp4_parser.yy"
3078 ctx.
require(
"enable-updates", ctx.
loc2pos(yystack_[2].location), ctx.
loc2pos(yystack_[0].location));
3082#line 3083 "dhcp4_parser.cc"
3086#line 1891 "dhcp4_parser.yy"
3092#line 3093 "dhcp4_parser.cc"
3096#line 1895 "dhcp4_parser.yy"
3099 ctx.
require(
"enable-updates", ctx.
loc2pos(yystack_[3].location), ctx.
loc2pos(yystack_[0].location));
3102#line 3103 "dhcp4_parser.cc"
3106#line 1925 "dhcp4_parser.yy"
3109 ctx.
stack_.back()->set(
"enable-updates", b);
3111#line 3112 "dhcp4_parser.cc"
3115#line 1930 "dhcp4_parser.yy"
3119#line 3120 "dhcp4_parser.cc"
3123#line 1932 "dhcp4_parser.yy"
3126 ctx.
stack_.back()->set(
"qualifying-suffix", s);
3129#line 3130 "dhcp4_parser.cc"
3133#line 1938 "dhcp4_parser.yy"
3137#line 3138 "dhcp4_parser.cc"
3141#line 1940 "dhcp4_parser.yy"
3144 ctx.
stack_.back()->set(
"server-ip", s);
3147#line 3148 "dhcp4_parser.cc"
3151#line 1946 "dhcp4_parser.yy"
3154 ctx.
stack_.back()->set(
"server-port", i);
3156#line 3157 "dhcp4_parser.cc"
3160#line 1951 "dhcp4_parser.yy"
3164#line 3165 "dhcp4_parser.cc"
3168#line 1953 "dhcp4_parser.yy"
3171 ctx.
stack_.back()->set(
"sender-ip", s);
3174#line 3175 "dhcp4_parser.cc"
3178#line 1959 "dhcp4_parser.yy"
3181 ctx.
stack_.back()->set(
"sender-port", i);
3183#line 3184 "dhcp4_parser.cc"
3187#line 1964 "dhcp4_parser.yy"
3190 ctx.
stack_.back()->set(
"max-queue-size", i);
3192#line 3193 "dhcp4_parser.cc"
3196#line 1969 "dhcp4_parser.yy"
3200#line 3201 "dhcp4_parser.cc"
3204#line 1971 "dhcp4_parser.yy"
3206 ctx.
stack_.back()->set(
"ncr-protocol", yystack_[0].value.as<
ElementPtr > ());
3209#line 3210 "dhcp4_parser.cc"
3213#line 1977 "dhcp4_parser.yy"
3215#line 3216 "dhcp4_parser.cc"
3219#line 1978 "dhcp4_parser.yy"
3221#line 3222 "dhcp4_parser.cc"
3225#line 1981 "dhcp4_parser.yy"
3229#line 3230 "dhcp4_parser.cc"
3233#line 1983 "dhcp4_parser.yy"
3236 ctx.
stack_.back()->set(
"ncr-format", json);
3239#line 3240 "dhcp4_parser.cc"
3243#line 1989 "dhcp4_parser.yy"
3246 ctx.
stack_.back()->set(
"override-no-update", b);
3248#line 3249 "dhcp4_parser.cc"
3252#line 1994 "dhcp4_parser.yy"
3255 ctx.
stack_.back()->set(
"override-client-update", b);
3257#line 3258 "dhcp4_parser.cc"
3261#line 1999 "dhcp4_parser.yy"
3265#line 3266 "dhcp4_parser.cc"
3269#line 2001 "dhcp4_parser.yy"
3271 ctx.
stack_.back()->set(
"replace-client-name", yystack_[0].value.as<
ElementPtr > ());
3274#line 3275 "dhcp4_parser.cc"
3278#line 2007 "dhcp4_parser.yy"
3282#line 3283 "dhcp4_parser.cc"
3286#line 2010 "dhcp4_parser.yy"
3290#line 3291 "dhcp4_parser.cc"
3294#line 2013 "dhcp4_parser.yy"
3298#line 3299 "dhcp4_parser.cc"
3302#line 2016 "dhcp4_parser.yy"
3306#line 3307 "dhcp4_parser.cc"
3310#line 2019 "dhcp4_parser.yy"
3312 error(yystack_[0].location,
"boolean values for the replace-client-name are "
3313 "no longer supported");
3315#line 3316 "dhcp4_parser.cc"
3319#line 2025 "dhcp4_parser.yy"
3323#line 3324 "dhcp4_parser.cc"
3327#line 2027 "dhcp4_parser.yy"
3330 ctx.
stack_.back()->set(
"generated-prefix", s);
3333#line 3334 "dhcp4_parser.cc"
3337#line 2033 "dhcp4_parser.yy"
3341#line 3342 "dhcp4_parser.cc"
3345#line 2035 "dhcp4_parser.yy"
3348 ctx.
stack_.back()->set(
"hostname-char-set", s);
3351#line 3352 "dhcp4_parser.cc"
3355#line 2041 "dhcp4_parser.yy"
3359#line 3360 "dhcp4_parser.cc"
3363#line 2043 "dhcp4_parser.yy"
3366 ctx.
stack_.back()->set(
"hostname-char-replacement", s);
3369#line 3370 "dhcp4_parser.cc"
3373#line 2052 "dhcp4_parser.yy"
3377#line 3378 "dhcp4_parser.cc"
3381#line 2054 "dhcp4_parser.yy"
3386#line 3387 "dhcp4_parser.cc"
3390#line 2059 "dhcp4_parser.yy"
3394#line 3395 "dhcp4_parser.cc"
3398#line 2061 "dhcp4_parser.yy"
3403#line 3404 "dhcp4_parser.cc"
3407#line 2066 "dhcp4_parser.yy"
3411#line 3412 "dhcp4_parser.cc"
3415#line 2068 "dhcp4_parser.yy"
3417 ctx.
stack_.back()->set(
"Control-agent", yystack_[0].value.as<
ElementPtr > ());
3420#line 3421 "dhcp4_parser.cc"
3424#line 2073 "dhcp4_parser.yy"
3427 ctx.
stack_.back()->set(
"config-control", i);
3431#line 3432 "dhcp4_parser.cc"
3435#line 2078 "dhcp4_parser.yy"
3441#line 3442 "dhcp4_parser.cc"
3445#line 2084 "dhcp4_parser.yy"
3451#line 3452 "dhcp4_parser.cc"
3455#line 2088 "dhcp4_parser.yy"
3460#line 3461 "dhcp4_parser.cc"
3464#line 2102 "dhcp4_parser.yy"
3467 ctx.
stack_.back()->set(
"config-databases", l);
3471#line 3472 "dhcp4_parser.cc"
3475#line 2107 "dhcp4_parser.yy"
3480#line 3481 "dhcp4_parser.cc"
3484#line 2117 "dhcp4_parser.yy"
3487 ctx.
stack_.back()->set(
"Logging", m);
3491#line 3492 "dhcp4_parser.cc"
3495#line 2122 "dhcp4_parser.yy"
3500#line 3501 "dhcp4_parser.cc"
3504#line 2127 "dhcp4_parser.yy"
3510#line 3511 "dhcp4_parser.cc"
3514#line 2131 "dhcp4_parser.yy"
3518#line 3519 "dhcp4_parser.cc"
3522#line 2147 "dhcp4_parser.yy"
3525 ctx.
stack_.back()->set(
"loggers", l);
3529#line 3530 "dhcp4_parser.cc"
3533#line 2152 "dhcp4_parser.yy"
3538#line 3539 "dhcp4_parser.cc"
3542#line 2164 "dhcp4_parser.yy"
3545 ctx.
stack_.back()->add(l);
3548#line 3549 "dhcp4_parser.cc"
3552#line 2168 "dhcp4_parser.yy"
3556#line 3557 "dhcp4_parser.cc"
3560#line 2185 "dhcp4_parser.yy"
3563 ctx.
stack_.back()->set(
"debuglevel", dl);
3565#line 3566 "dhcp4_parser.cc"
3569#line 2190 "dhcp4_parser.yy"
3573#line 3574 "dhcp4_parser.cc"
3577#line 2192 "dhcp4_parser.yy"
3580 ctx.
stack_.back()->set(
"severity", sev);
3583#line 3584 "dhcp4_parser.cc"
3587#line 2198 "dhcp4_parser.yy"
3590 ctx.
stack_.back()->set(
"output_options", l);
3594#line 3595 "dhcp4_parser.cc"
3598#line 2203 "dhcp4_parser.yy"
3603#line 3604 "dhcp4_parser.cc"
3607#line 2212 "dhcp4_parser.yy"
3610 ctx.
stack_.back()->add(m);
3613#line 3614 "dhcp4_parser.cc"
3617#line 2216 "dhcp4_parser.yy"
3621#line 3622 "dhcp4_parser.cc"
3625#line 2230 "dhcp4_parser.yy"
3629#line 3630 "dhcp4_parser.cc"
3633#line 2232 "dhcp4_parser.yy"
3636 ctx.
stack_.back()->set(
"output", sev);
3639#line 3640 "dhcp4_parser.cc"
3643#line 2238 "dhcp4_parser.yy"
3646 ctx.
stack_.back()->set(
"flush", flush);
3648#line 3649 "dhcp4_parser.cc"
3652#line 2243 "dhcp4_parser.yy"
3655 ctx.
stack_.back()->set(
"maxsize", maxsize);
3657#line 3658 "dhcp4_parser.cc"
3661#line 2248 "dhcp4_parser.yy"
3664 ctx.
stack_.back()->set(
"maxver", maxver);
3666#line 3667 "dhcp4_parser.cc"
3670#line 3671 "dhcp4_parser.cc"
3688 yypush_ (YY_NULLPTR,
YY_MOVE (yylhs));
3700 error (yyla.
location, yysyntax_error_ (yystack_[0].state, yyla));
3704 yyerror_range[1].location = yyla.
location;
3705 if (yyerrstatus_ == 3)
3711 if (yyla.type_get () == yyeof_)
3713 else if (!yyla.
empty ())
3715 yy_destroy_ (
"Error: discarding", yyla);
3746 stack_symbol_type error_token;
3749 yyn = yypact_[yystack_[0].state];
3750 if (!yy_pact_value_is_default_ (yyn))
3753 if (0 <= yyn && yyn <= yylast_ && yycheck_[yyn] == yyterror_)
3755 yyn = yytable_[yyn];
3762 if (yystack_.size () == 1)
3765 yyerror_range[1].location = yystack_[0].location;
3766 yy_destroy_ (
"Error: popping", yystack_[0]);
3771 yyerror_range[2].location = yyla.
location;
3775 error_token.state = yyn;
3776 yypush_ (
"Shifting",
YY_MOVE (error_token));
3792 yy_destroy_ (
"Cleanup: discarding lookahead", yyla);
3797 while (1 < yystack_.size ())
3799 yy_destroy_ (
"Cleanup: popping", yystack_[0]);
3808 YYCDEBUG <<
"Exception caught: cleaning lookahead and stack\n";
3812 yy_destroy_ (YY_NULLPTR, yyla);
3814 while (1 < yystack_.
size ())
3816 yy_destroy_ (YY_NULLPTR, yystack_[0]);
3832 Dhcp4Parser::yysyntax_error_ (state_type yystate,
const symbol_type& yyla)
const
3838 enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
3840 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
3869 int yytoken = yyla.type_get ();
3870 yyarg[yycount++] = yytname_[yytoken];
3871 int yyn = yypact_[yystate];
3872 if (!yy_pact_value_is_default_ (yyn))
3877 int yyxbegin = yyn < 0 ? -yyn : 0;
3879 int yychecklim = yylast_ - yyn + 1;
3880 int yyxend = yychecklim < yyntokens_ ? yychecklim : yyntokens_;
3881 for (
int yyx = yyxbegin; yyx < yyxend; ++yyx)
3882 if (yycheck_[yyx + yyn] == yyx && yyx != yyterror_
3883 && !yy_table_value_is_error_ (yytable_[yyx + yyn]))
3885 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
3891 yyarg[yycount++] = yytname_[yyx];
3896 char const* yyformat = YY_NULLPTR;
3899#define YYCASE_(N, S) \
3905 YYCASE_ (1,
YY_(
"syntax error, unexpected %s"));
3906 YYCASE_ (2,
YY_(
"syntax error, unexpected %s, expecting %s"));
3907 YYCASE_ (3,
YY_(
"syntax error, unexpected %s, expecting %s or %s"));
3908 YYCASE_ (4,
YY_(
"syntax error, unexpected %s, expecting %s or %s or %s"));
3909 YYCASE_ (5,
YY_(
"syntax error, unexpected %s, expecting %s or %s or %s or %s"));
3916 for (
char const* yyp = yyformat; *yyp; ++yyp)
3917 if (yyp[0] ==
'%' && yyp[1] ==
's' && yyi < yycount)
3919 yyres += yytnamerr_ (yyarg[yyi++]);
3928 const short Dhcp4Parser::yypact_ninf_ = -797;
3930 const signed char Dhcp4Parser::yytable_ninf_ = -1;
3933 Dhcp4Parser::yypact_[] =
3935 403, -797, -797, -797, -797, -797, -797, -797, -797, -797,
3936 -797, -797, -797, -797, -797, 43, 35, 38, 50, 58,
3937 60, 64, 103, 110, 142, 148, 161, 163, 185, 189,
3938 -797, -797, -797, -797, -797, -797, -797, -797, -797, -797,
3939 -797, -797, -797, -797, -797, -797, -797, -797, -797, -797,
3940 -797, -797, -797, -797, -797, -797, -797, -797, -797, -797,
3941 -797, -797, -797, -797, -797, -797, -797, -797, 35, -20,
3942 17, 71, 32, 152, -15, 239, 146, 242, 54, -25,
3943 361, 76, 206, -797, 219, 224, 233, 237, 244, -797,
3944 -797, -797, -797, -797, 287, -797, 55, -797, -797, -797,
3945 -797, -797, -797, -797, -797, -797, 295, 297, 299, -797,
3946 -797, -797, -797, -797, -797, 303, 326, 354, 364, -797,
3947 -797, -797, -797, -797, -797, -797, -797, -797, -797, -797,
3948 -797, -797, 367, -797, -797, -797, -797, 61, -797, -797,
3949 -797, -797, -797, -797, -797, -797, -797, -797, -797, -797,
3950 -797, -797, -797, -797, -797, -797, -797, -797, -797, -797,
3951 -797, -797, -797, -797, -797, -797, -797, -797, -797, -797,
3952 -797, -797, -797, -797, -797, 369, -797, 72, -797, -797,
3953 -797, -797, -797, -797, -797, -797, -797, -797, -797, -797,
3954 -797, 371, -797, -797, -797, -797, -797, -797, -797, -797,
3955 -797, 86, -797, -797, -797, -797, -797, -797, -797, -797,
3956 -797, -797, -797, -797, -797, -797, -797, -797, -797, -797,
3957 -797, -797, -797, -797, -797, -797, 135, -797, -797, -797,
3958 -797, -797, -797, -797, -797, -797, -797, -797, -797, -797,
3959 -797, -797, -797, 273, 286, -797, -797, -797, -797, -797,
3960 -797, -797, -797, -797, -797, -797, -797, 342, -797, -797,
3961 375, -797, -797, -797, 382, -797, -797, 345, 362, -797,
3962 -797, -797, -797, -797, -797, -797, -797, -797, -797, -797,
3963 -797, -797, 383, 385, -797, -797, -797, -797, 387, 388,
3964 -797, -797, -797, -797, -797, -797, -797, -797, -797, -797,
3965 -797, -797, 138, -797, -797, -797, 386, -797, -797, 389,
3966 -797, 392, 396, -797, -797, 397, 398, -797, -797, -797,
3967 -797, -797, -797, -797, 166, -797, -797, -797, -797, -797,
3968 -797, -797, -797, -797, -797, -797, -797, -797, -797, -797,
3969 -797, -797, 186, -797, -797, -797, 187, -797, -797, -797,
3970 35, 35, -797, 77, 405, 408, 409, 410, 411, -797,
3971 17, -797, 415, 418, 422, 250, 259, 265, 430, 432,
3972 435, 436, 437, 438, 278, 279, 280, 282, 439, 445,
3973 446, 463, 464, 465, 466, 467, 468, 469, 470, 471,
3974 472, 311, 488, 489, 490, 71, -797, 491, 492, 493,
3975 332, 32, -797, 497, 498, 499, 500, 501, 504, 343,
3976 506, 507, 509, 152, -797, 510, -15, -797, 511, 512,
3977 513, 514, 515, 516, 517, 518, -797, 239, -797, 519,
3978 520, 365, 523, 524, 526, 366, -797, 242, 528, 368,
3979 373, -797, 54, 529, 531, -13, -797, 374, 533, 535,
3980 378, 541, 380, 381, 544, 545, 384, 400, 546, 566,
3981 568, 569, 361, -797, 570, 76, -797, 571, 206, -797,
3982 -797, -797, 572, 573, 574, 35, 35, 35, -797, 575,
3983 576, 577, -797, -797, -797, 412, 413, 420, 579, 580,
3984 583, -797, -797, -797, -797, 424, 585, 586, 587, 588,
3985 589, 429, 172, 590, 592, 593, 594, 595, -797, 596,
3986 589, 597, -797, 600, 304, 309, -797, -797, 441, 442,
3987 443, 604, 447, 448, -797, 600, 449, 603, -797, 450,
3988 -797, 600, 451, 452, 453, 454, 455, 456, 457, -797,
3989 458, 459, -797, 460, 461, 462, -797, -797, 473, -797,
3990 -797, -797, 474, 35, -797, -797, 475, 476, -797, 477,
3991 -797, -797, 11, 479, -797, -797, -29, 478, 480, 481,
3992 -797, 623, -797, 624, -797, 35, 71, 76, -797, -797,
3993 -797, 206, 32, 578, -797, -797, -797, 414, 414, 625,
3994 -797, 626, 627, 628, 629, -797, -797, -797, -797, -797,
3995 -797, -797, -797, 66, 630, 637, 640, 5, 95, -797,
3996 361, -797, -797, -797, -797, -797, -797, -797, -797, -797,
3997 -797, -797, 641, -797, -797, -797, -797, 263, -797, -797,
3998 -797, -797, -797, -797, -797, -797, -797, -797, -797, -797,
3999 -797, -797, -797, -797, -797, -797, -797, -797, -797, -797,
4000 -797, -797, -797, -797, -797, -797, -797, -797, -797, -797,
4001 -797, 642, 625, -797, 190, 196, 231, 238, -797, 261,
4002 -797, -797, -797, -797, -797, -797, 646, 647, 648, 649,
4003 650, -797, -797, 651, 652, 653, 654, 655, -797, 262,
4004 -797, -797, -797, -797, -797, -797, -797, -797, -797, -797,
4005 -797, -797, -797, -797, -797, -797, -797, -797, 270, -797,
4006 656, 657, -797, -797, 658, 660, -797, -797, 659, 663,
4007 -797, -797, 661, 665, -797, -797, 664, 666, -797, -797,
4008 -797, -797, -797, -797, 211, -797, -797, -797, -797, -797,
4009 -797, -797, 232, -797, -797, 667, 668, -797, -797, 669,
4010 671, -797, 672, 673, 674, 675, 676, 677, 274, -797,
4011 -797, -797, -797, -797, -797, -797, -797, -797, -797, -797,
4012 -797, 276, -797, -797, -797, 277, 496, -797, 678, 679,
4013 -797, -797, -797, -797, 622, -797, 335, -797, 680, -797,
4014 -797, -797, -797, 681, 578, -797, 683, 684, 685, 686,
4015 434, 525, 530, 527, 532, 687, 688, 534, 536, 537,
4016 538, 539, 414, -797, -797, 414, -797, 625, 152, -797,
4017 626, 242, -797, 627, 54, -797, 628, 195, -797, 629,
4018 66, -797, 234, 630, -797, 239, -797, 637, -25, -797,
4019 640, 540, 542, 543, 547, 548, 549, 5, -797, 690,
4020 693, 95, -797, -797, -797, 695, 696, -15, -797, 641,
4021 701, -797, 10, 642, -797, -797, 551, -797, 347, 552,
4022 553, 554, -797, -797, -797, -797, -797, 555, 556, -797,
4023 -797, -797, -797, -797, -797, 284, -797, 285, -797, 702,
4024 -797, 703, -797, -797, -797, -797, -797, -797, -797, -797,
4025 -797, -797, -797, -797, -797, 292, -797, -797, -797, -797,
4026 -797, -797, -797, -797, -797, -797, -797, 708, -797, -797,
4027 -797, -797, -797, -797, -797, -797, -797, 714, 720, -797,
4028 -797, -797, -797, -797, 716, -797, 319, -797, -797, -797,
4029 -797, -797, -797, -797, -797, 560, 561, -797, -797, 562,
4030 337, -797, 600, -797, 724, -797, -797, -797, -797, -797,
4031 339, -797, -797, -797, -797, -797, -797, -797, -797, -797,
4032 -797, -797, -797, -797, -797, -797, -797, -797, -797, -797,
4033 -797, 195, -797, 725, 563, -797, 234, -797, -797, -797,
4034 -797, -797, -797, -797, 726, 567, 728, 10, -797, -797,
4035 581, -797, -797, 729, -797, 582, -797, -797, 730, -797,
4036 -797, 349, -797, -10, 730, -797, -797, 731, 732, 734,
4037 346, -797, -797, -797, -797, -797, -797, 735, 584, 607,
4038 610, -10, -797, 598, -797, -797, -797, -797, -797
4041 const unsigned short
4042 Dhcp4Parser::yydefact_[] =
4044 0, 2, 4, 6, 8, 10, 12, 14, 16, 18,
4045 20, 22, 24, 26, 28, 0, 0, 0, 0, 0,
4046 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4047 1, 45, 38, 34, 33, 30, 31, 32, 37, 3,
4048 35, 36, 58, 5, 70, 7, 128, 9, 265, 11,
4049 420, 13, 445, 15, 345, 17, 353, 19, 390, 21,
4050 230, 23, 537, 25, 607, 27, 598, 29, 47, 41,
4051 0, 0, 0, 0, 0, 447, 0, 355, 392, 0,
4052 0, 0, 0, 49, 0, 48, 0, 0, 42, 68,
4053 605, 590, 592, 594, 0, 67, 0, 60, 62, 64,
4054 65, 66, 63, 596, 117, 143, 0, 0, 0, 466,
4055 468, 470, 141, 150, 152, 0, 0, 0, 0, 112,
4056 257, 343, 382, 314, 433, 435, 307, 208, 494, 437,
4057 222, 241, 0, 520, 533, 535, 107, 0, 72, 74,
4058 75, 76, 77, 105, 94, 95, 96, 80, 81, 102,
4059 82, 83, 84, 88, 89, 78, 106, 79, 86, 87,
4060 100, 101, 103, 97, 98, 99, 85, 90, 91, 92,
4061 93, 104, 130, 132, 136, 0, 127, 0, 119, 121,
4062 122, 123, 124, 125, 126, 295, 297, 299, 412, 293,
4063 301, 0, 305, 303, 490, 292, 269, 270, 271, 282,
4064 283, 0, 267, 274, 287, 288, 289, 275, 277, 278,
4065 280, 276, 272, 273, 290, 291, 279, 284, 285, 286,
4066 281, 431, 430, 426, 427, 425, 0, 422, 424, 428,
4067 429, 488, 476, 478, 482, 480, 486, 484, 472, 465,
4068 459, 463, 464, 0, 448, 449, 460, 461, 462, 456,
4069 451, 457, 453, 454, 455, 458, 452, 0, 372, 193,
4070 0, 376, 374, 379, 0, 368, 369, 0, 356, 357,
4071 359, 371, 360, 361, 362, 378, 363, 364, 365, 366,
4072 367, 406, 0, 0, 404, 405, 408, 409, 0, 393,
4073 394, 396, 397, 398, 399, 400, 401, 402, 403, 237,
4074 239, 234, 0, 232, 235, 236, 0, 560, 562, 0,
4075 565, 0, 0, 569, 573, 0, 0, 577, 584, 586,
4076 588, 558, 556, 557, 0, 539, 541, 542, 543, 544,
4077 545, 546, 547, 548, 549, 550, 551, 552, 553, 554,
4078 555, 612, 0, 609, 611, 603, 0, 600, 602, 46,
4079 0, 0, 39, 0, 0, 0, 0, 0, 0, 57,
4080 0, 59, 0, 0, 0, 0, 0, 0, 0, 0,
4081 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4082 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4083 0, 0, 0, 0, 0, 0, 71, 0, 0, 0,
4084 0, 0, 129, 0, 0, 0, 0, 0, 0, 0,
4085 0, 0, 0, 0, 266, 0, 0, 421, 0, 0,
4086 0, 0, 0, 0, 0, 0, 446, 0, 346, 0,
4087 0, 0, 0, 0, 0, 0, 354, 0, 0, 0,
4088 0, 391, 0, 0, 0, 0, 231, 0, 0, 0,
4089 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4090 0, 0, 0, 538, 0, 0, 608, 0, 0, 599,
4091 50, 43, 0, 0, 0, 0, 0, 0, 61, 0,
4092 0, 0, 114, 115, 116, 0, 0, 0, 0, 0,
4093 0, 108, 109, 110, 111, 0, 0, 0, 0, 0,
4094 0, 0, 0, 0, 0, 0, 0, 0, 519, 0,
4095 0, 0, 73, 0, 0, 0, 140, 120, 0, 0,
4096 0, 0, 0, 0, 313, 0, 0, 0, 268, 0,
4097 423, 0, 0, 0, 0, 0, 0, 0, 0, 450,
4098 0, 0, 370, 0, 0, 0, 381, 358, 0, 410,
4099 411, 395, 0, 0, 233, 559, 0, 0, 564, 0,
4100 567, 568, 0, 0, 575, 576, 0, 0, 0, 0,
4101 540, 0, 610, 0, 601, 0, 0, 0, 591, 593,
4102 595, 0, 0, 0, 467, 469, 471, 0, 0, 154,
4103 113, 259, 347, 384, 316, 40, 434, 436, 309, 310,
4104 311, 312, 308, 0, 0, 439, 224, 0, 0, 534,
4105 0, 51, 131, 134, 135, 133, 138, 139, 137, 296,
4106 298, 300, 414, 294, 302, 306, 304, 0, 432, 489,
4107 477, 479, 483, 481, 487, 485, 473, 373, 194, 377,
4108 375, 380, 407, 238, 240, 561, 563, 566, 571, 572,
4109 570, 574, 579, 580, 581, 582, 583, 578, 585, 587,
4110 589, 0, 154, 44, 0, 0, 0, 0, 148, 0,
4111 145, 147, 180, 186, 188, 190, 0, 0, 0, 0,
4112 0, 202, 204, 0, 0, 0, 0, 0, 179, 0,
4113 160, 162, 163, 164, 165, 166, 167, 168, 169, 170,
4114 171, 175, 176, 177, 172, 178, 173, 174, 0, 158,
4115 0, 155, 156, 263, 0, 260, 261, 351, 0, 348,
4116 349, 388, 0, 385, 386, 320, 0, 317, 318, 217,
4117 218, 219, 220, 221, 0, 210, 212, 213, 214, 215,
4118 216, 498, 0, 496, 443, 0, 440, 441, 228, 0,
4119 225, 226, 0, 0, 0, 0, 0, 0, 0, 243,
4120 245, 246, 247, 248, 249, 250, 529, 531, 528, 526,
4121 527, 0, 522, 524, 525, 0, 53, 418, 0, 415,
4122 416, 474, 492, 493, 0, 616, 0, 614, 0, 69,
4123 606, 597, 118, 0, 0, 144, 0, 0, 0, 0,
4124 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4125 0, 0, 0, 142, 151, 0, 153, 0, 0, 258,
4126 0, 355, 344, 0, 392, 383, 0, 0, 315, 0,
4127 0, 209, 500, 0, 495, 447, 438, 0, 0, 223,
4128 0, 0, 0, 0, 0, 0, 0, 0, 242, 0,
4129 0, 0, 521, 536, 55, 0, 54, 0, 413, 0,
4130 0, 491, 0, 0, 613, 604, 0, 146, 0, 0,
4131 0, 0, 192, 195, 196, 197, 198, 0, 0, 206,
4132 207, 199, 200, 201, 161, 0, 157, 0, 262, 0,
4133 350, 0, 387, 342, 339, 327, 328, 330, 331, 324,
4134 325, 326, 337, 338, 336, 0, 322, 329, 340, 341,
4135 332, 333, 334, 335, 319, 211, 516, 0, 514, 515,
4136 507, 508, 512, 513, 509, 510, 511, 0, 501, 502,
4137 504, 505, 506, 497, 0, 442, 0, 227, 251, 252,
4138 253, 254, 255, 256, 244, 0, 0, 523, 52, 0,
4139 0, 417, 0, 630, 0, 628, 626, 620, 624, 625,
4140 0, 618, 622, 623, 621, 615, 149, 182, 183, 184,
4141 185, 181, 187, 189, 191, 203, 205, 159, 264, 352,
4142 389, 0, 321, 0, 0, 499, 0, 444, 229, 530,
4143 532, 56, 419, 475, 0, 0, 0, 0, 617, 323,
4144 0, 518, 503, 0, 627, 0, 619, 517, 0, 629,
4145 634, 0, 632, 0, 0, 631, 642, 0, 0, 0,
4146 0, 636, 638, 639, 640, 641, 633, 0, 0, 0,
4147 0, 0, 635, 0, 644, 645, 646, 637, 643
4151 Dhcp4Parser::yypgoto_[] =
4153 -797, -797, -797, -797, -797, -797, -797, -797, -797, -797,
4154 -797, -797, -797, -797, -797, -797, -46, -797, -451, -797,
4155 121, -797, -797, -797, -797, -797, -797, -501, -797, -797,
4156 -797, -70, -797, -797, -797, 312, -797, -797, -797, -797,
4157 107, 348, -47, -44, 4, -797, -797, -797, -797, 12,
4158 15, -797, -797, 158, 340, -797, -797, -797, -797, -797,
4159 -797, -797, -797, -797, -797, -797, -797, -797, -797, -797,
4160 -797, -52, -797, -797, -797, -797, -797, -797, 82, -797,
4161 -72, -797, -563, -59, -797, -797, -797, -797, -797, -797,
4162 -797, -797, -797, -797, -26, -797, -797, -797, -797, -797,
4163 -797, -797, -797, -797, -797, -797, -797, -797, -797, -797,
4164 -797, -797, -81, -797, -797, -797, -797, -797, -797, -797,
4165 -797, -797, -90, -797, -797, -797, -83, 321, -797, -797,
4166 -797, -797, -797, -797, -797, -61, -797, -797, -797, -797,
4167 -797, -797, -796, -797, -797, -797, -43, -797, -797, -797,
4168 -34, 377, -797, -797, -797, -797, -797, -797, -797, -797,
4169 -795, -797, -68, -797, -55, -797, 19, -797, -797, -797,
4170 -797, -797, -797, -797, -38, -797, -797, -184, -63, -797,
4171 -797, -797, -797, -797, -16, -797, -797, -797, -18, -797,
4172 372, -797, -66, -797, -797, -797, -797, -797, -64, -797,
4173 -797, -797, -797, -797, -19, -797, -797, -797, -22, -797,
4174 -797, -797, -14, -797, 379, -797, -797, -797, -797, -797,
4175 -797, -797, -797, -797, -797, -797, -45, -797, -797, -797,
4176 -40, 425, -797, -797, -57, -797, -39, -797, -62, -797,
4177 -797, -797, 7, -797, -797, -797, -8, -797, 407, -7,
4178 -797, -3, -797, 8, -797, 192, -797, -797, -797, -797,
4179 -797, -797, -797, -797, -797, -797, -797, -797, -797, -797,
4180 -797, -797, -797, -790, -797, -797, -797, -797, -797, 14,
4181 -797, -797, -797, -141, -797, -797, -797, -797, -797, -797,
4182 -797, -797, -2, -797, -797, -797, -797, -797, -797, -797,
4183 -797, -797, -797, 240, 390, -797, -797, -797, -797, -797,
4184 -797, -797, -797, -797, -797, -797, -797, -797, -797, -797,
4185 -797, -797, -797, -797, -797, -797, -797, -797, -797, -797,
4186 -797, -797, -797, -797, -797, -797, -797, -797, -797, -797,
4187 -797, 267, 391, -797, -797, -797, -797, -797, -797, 281,
4188 395, -797, -797, -797, -12, -797, -797, -144, -797, -797,
4189 -797, -797, -797, -797, -160, -797, -797, -176, -797, -797,
4194 Dhcp4Parser::yydefgoto_[] =
4196 -1, 15, 16, 17, 18, 19, 20, 21, 22, 23,
4197 24, 25, 26, 27, 28, 29, 38, 39, 40, 69,
4198 596, 87, 88, 41, 68, 84, 85, 612, 776, 855,
4199 856, 688, 43, 70, 96, 97, 98, 354, 45, 71,
4200 137, 138, 139, 140, 141, 142, 143, 378, 144, 145,
4201 146, 147, 363, 177, 178, 47, 72, 179, 397, 180,
4202 398, 615, 181, 399, 618, 182, 148, 371, 149, 364,
4203 669, 670, 671, 793, 150, 372, 151, 373, 710, 711,
4204 712, 815, 689, 690, 691, 796, 971, 692, 797, 693,
4205 798, 694, 799, 695, 696, 430, 697, 698, 699, 700,
4206 701, 702, 703, 704, 805, 705, 806, 706, 707, 152,
4207 386, 734, 735, 736, 737, 738, 739, 740, 153, 389,
4208 749, 750, 751, 838, 61, 79, 302, 303, 304, 443,
4209 305, 444, 154, 390, 758, 759, 760, 761, 762, 763,
4210 764, 765, 155, 379, 714, 715, 716, 818, 49, 73,
4211 201, 202, 203, 407, 204, 403, 205, 404, 206, 405,
4212 207, 408, 208, 411, 209, 410, 156, 385, 602, 211,
4213 157, 382, 726, 727, 728, 827, 905, 906, 158, 380,
4214 55, 76, 718, 719, 720, 821, 57, 77, 267, 268,
4215 269, 270, 271, 272, 273, 429, 274, 433, 275, 432,
4216 276, 277, 434, 278, 159, 381, 722, 723, 724, 824,
4217 59, 78, 288, 289, 290, 291, 292, 438, 293, 294,
4218 295, 296, 213, 406, 778, 779, 780, 857, 51, 74,
4219 226, 227, 228, 415, 160, 383, 161, 384, 162, 388,
4220 745, 746, 747, 835, 53, 75, 243, 244, 245, 163,
4221 368, 164, 369, 165, 370, 249, 425, 783, 860, 250,
4222 419, 251, 420, 252, 422, 253, 421, 254, 424, 255,
4223 423, 256, 418, 220, 412, 784, 166, 387, 742, 743,
4224 832, 927, 928, 929, 930, 931, 983, 932, 167, 168,
4225 392, 771, 772, 773, 849, 774, 850, 169, 393, 170,
4226 394, 63, 80, 324, 325, 326, 327, 448, 328, 449,
4227 329, 330, 451, 331, 332, 333, 454, 650, 334, 455,
4228 335, 336, 337, 458, 657, 338, 459, 339, 460, 340,
4229 461, 99, 356, 100, 357, 101, 358, 171, 362, 67,
4230 82, 346, 347, 348, 467, 102, 355, 65, 81, 342,
4231 343, 344, 464, 786, 787, 862, 960, 961, 962, 963,
4232 996, 964, 994, 1011, 1012, 1013, 1020, 1021, 1022, 1027,
4236 const unsigned short
4237 Dhcp4Parser::yytable_[] =
4239 95, 136, 176, 195, 222, 239, 223, 265, 284, 301,
4240 321, 216, 286, 257, 287, 183, 214, 229, 241, 224,
4241 279, 297, 83, 322, 625, 708, 196, 89, 648, 197,
4242 629, 900, 901, 184, 215, 230, 242, 913, 280, 298,
4243 31, 323, 32, 30, 33, 42, 172, 173, 122, 595,
4244 174, 266, 285, 175, 212, 225, 240, 44, 360, 595,
4245 221, 124, 125, 361, 395, 46, 217, 48, 246, 396,
4246 218, 50, 247, 192, 259, 401, 193, 198, 299, 300,
4247 402, 219, 103, 248, 104, 199, 124, 125, 200, 413,
4248 299, 300, 210, 105, 414, 106, 107, 108, 109, 110,
4249 111, 112, 113, 114, 652, 653, 654, 655, 124, 125,
4250 52, 752, 753, 754, 755, 756, 757, 54, 259, 281,
4251 260, 261, 282, 283, 115, 116, 117, 118, 119, 120,
4252 124, 125, 1016, 121, 122, 1017, 1018, 1019, 416, 656,
4253 94, 445, 649, 417, 123, 86, 446, 124, 125, 56,
4254 94, 953, 126, 954, 955, 58, 90, 127, 128, 729,
4255 730, 731, 732, 129, 733, 91, 92, 93, 60, 462,
4256 62, 124, 125, 130, 463, 94, 131, 107, 108, 109,
4257 110, 111, 94, 132, 133, 900, 901, 134, 135, 465,
4258 468, 913, 64, 395, 466, 469, 66, 94, 789, 465,
4259 34, 35, 36, 37, 790, 115, 116, 117, 121, 766,
4260 767, 185, 186, 187, 830, 122, 341, 831, 345, 94,
4261 107, 108, 109, 110, 111, 349, 188, 350, 124, 125,
4262 189, 190, 191, 126, 468, 833, 94, 351, 834, 791,
4263 192, 401, 472, 193, 129, 352, 792, 353, 115, 116,
4264 117, 194, 885, 120, 598, 599, 600, 601, 122, 259,
4265 94, 109, 110, 111, 794, 812, 109, 110, 111, 795,
4266 813, 124, 125, 812, 190, 258, 126, 847, 814, 851,
4267 462, 426, 848, 192, 852, 853, 193, 812, 413, 427,
4268 95, 359, 977, 978, 194, 981, 121, 122, 259, 365,
4269 982, 366, 122, 367, 470, 471, 259, 374, 260, 261,
4270 124, 125, 262, 263, 264, 124, 125, 94, 124, 125,
4271 613, 614, 445, 916, 917, 136, 231, 988, 616, 617,
4272 375, 176, 232, 233, 234, 235, 236, 237, 863, 238,
4273 416, 864, 997, 195, 183, 992, 222, 998, 223, 1031,
4274 428, 216, 1014, 436, 1032, 1015, 214, 239, 376, 229,
4275 94, 224, 184, 238, 781, 437, 196, 265, 377, 197,
4276 241, 391, 284, 400, 215, 409, 286, 230, 287, 431,
4277 279, 967, 968, 969, 970, 297, 435, 439, 242, 440,
4278 447, 442, 321, 450, 212, 441, 452, 225, 280, 94,
4279 453, 456, 457, 298, 94, 322, 217, 94, 240, 473,
4280 218, 266, 474, 475, 476, 477, 285, 198, 482, 479,
4281 246, 219, 480, 323, 247, 199, 481, 483, 200, 578,
4282 579, 580, 210, 484, 485, 248, 486, 124, 125, 487,
4283 488, 489, 490, 495, 491, 492, 493, 672, 494, 496,
4284 497, 993, 673, 674, 675, 676, 677, 678, 679, 680,
4285 681, 682, 683, 684, 685, 686, 687, 498, 499, 500,
4286 501, 502, 503, 504, 505, 506, 507, 508, 259, 306,
4287 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
4288 317, 318, 509, 510, 511, 513, 514, 515, 319, 320,
4289 516, 518, 519, 520, 521, 522, 136, 644, 523, 524,
4290 525, 526, 176, 527, 529, 531, 532, 533, 534, 535,
4291 536, 537, 538, 540, 541, 183, 94, 543, 544, 663,
4292 545, 542, 548, 552, 546, 553, 549, 556, 768, 557,
4293 321, 550, 555, 184, 558, 559, 560, 561, 562, 563,
4294 566, 769, 564, 322, 1, 2, 3, 4, 5, 6,
4295 7, 8, 9, 10, 11, 12, 13, 14, 565, 770,
4296 567, 323, 568, 569, 571, 573, 575, 584, 585, 94,
4297 576, 577, 581, 582, 583, 586, 587, 588, 589, 590,
4298 591, 592, 593, 594, 597, 603, 32, 604, 605, 606,
4299 872, 668, 607, 608, 610, 611, 619, 620, 621, 622,
4300 627, 651, 623, 624, 626, 628, 630, 631, 632, 633,
4301 634, 635, 636, 637, 638, 639, 640, 641, 661, 662,
4302 861, 609, 709, 713, 717, 721, 725, 741, 642, 643,
4303 645, 646, 647, 658, 744, 659, 660, 748, 777, 785,
4304 800, 801, 802, 803, 804, 807, 808, 809, 810, 811,
4305 817, 854, 816, 820, 819, 822, 823, 825, 826, 829,
4306 828, 837, 478, 836, 840, 839, 841, 842, 843, 844,
4307 845, 846, 859, 664, 858, 866, 865, 868, 869, 870,
4308 871, 877, 878, 873, 945, 875, 874, 946, 876, 949,
4309 879, 948, 880, 881, 882, 952, 938, 883, 939, 940,
4310 979, 980, 984, 941, 942, 943, 966, 972, 973, 974,
4311 975, 976, 985, 986, 987, 989, 990, 991, 995, 1000,
4312 1003, 1001, 1005, 1004, 1008, 1028, 1029, 1010, 1030, 1033,
4313 667, 517, 867, 512, 788, 886, 1007, 1009, 195, 915,
4314 937, 265, 1034, 884, 284, 936, 216, 893, 286, 902,
4315 287, 214, 918, 1038, 279, 239, 554, 297, 301, 920,
4316 908, 196, 903, 1035, 197, 922, 1036, 888, 241, 215,
4317 894, 768, 280, 895, 887, 298, 944, 222, 909, 223,
4318 528, 914, 956, 923, 769, 266, 242, 999, 285, 212,
4319 229, 899, 224, 889, 892, 958, 919, 890, 907, 547,
4320 891, 217, 770, 921, 951, 218, 240, 950, 230, 782,
4321 910, 551, 198, 959, 911, 924, 219, 934, 246, 925,
4322 199, 896, 247, 200, 539, 912, 957, 210, 225, 897,
4323 926, 530, 898, 248, 935, 1002, 904, 933, 666, 947,
4324 775, 965, 570, 1006, 1026, 1037, 0, 0, 665, 574,
4325 572, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4326 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4327 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4328 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4329 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4330 0, 893, 0, 902, 0, 0, 918, 0, 0, 0,
4331 0, 0, 0, 920, 908, 0, 903, 956, 0, 922,
4332 0, 0, 0, 0, 894, 0, 0, 895, 0, 0,
4333 958, 0, 909, 0, 0, 0, 0, 923, 0, 0,
4334 0, 0, 0, 0, 0, 899, 0, 0, 959, 0,
4335 919, 0, 907, 0, 0, 0, 0, 921, 0, 0,
4336 0, 957, 0, 0, 910, 0, 0, 0, 911, 924,
4337 0, 0, 0, 925, 0, 896, 0, 0, 0, 912,
4338 0, 0, 0, 897, 926, 0, 898, 0, 0, 0,
4343 Dhcp4Parser::yycheck_[] =
4345 70, 71, 72, 73, 74, 75, 74, 77, 78, 79,
4346 80, 73, 78, 76, 78, 72, 73, 74, 75, 74,
4347 77, 78, 68, 80, 525, 588, 73, 10, 17, 73,
4348 531, 827, 827, 72, 73, 74, 75, 827, 77, 78,
4349 5, 80, 7, 0, 9, 7, 14, 15, 63, 500,
4350 18, 77, 78, 21, 73, 74, 75, 7, 3, 510,
4351 75, 76, 77, 8, 3, 7, 73, 7, 75, 8,
4352 73, 7, 75, 88, 64, 3, 91, 73, 103, 104,
4353 8, 73, 11, 75, 13, 73, 76, 77, 73, 3,
4354 103, 104, 73, 22, 8, 24, 25, 26, 27, 28,
4355 29, 30, 31, 32, 133, 134, 135, 136, 76, 77,
4356 7, 106, 107, 108, 109, 110, 111, 7, 64, 65,
4357 66, 67, 68, 69, 53, 54, 55, 56, 57, 58,
4358 76, 77, 142, 62, 63, 145, 146, 147, 3, 168,
4359 165, 3, 131, 8, 73, 165, 8, 76, 77, 7,
4360 165, 141, 81, 143, 144, 7, 139, 86, 87, 93,
4361 94, 95, 96, 92, 98, 148, 149, 150, 7, 3,
4362 7, 76, 77, 102, 8, 165, 105, 25, 26, 27,
4363 28, 29, 165, 112, 113, 981, 981, 116, 117, 3,
4364 3, 981, 7, 3, 8, 8, 7, 165, 8, 3,
4365 165, 166, 167, 168, 8, 53, 54, 55, 62, 114,
4366 115, 59, 60, 61, 3, 63, 140, 6, 12, 165,
4367 25, 26, 27, 28, 29, 6, 74, 3, 76, 77,
4368 78, 79, 80, 81, 3, 3, 165, 4, 6, 8,
4369 88, 3, 165, 91, 92, 8, 8, 3, 53, 54,
4370 55, 99, 815, 58, 82, 83, 84, 85, 63, 64,
4371 165, 27, 28, 29, 3, 3, 27, 28, 29, 8,
4372 8, 76, 77, 3, 79, 33, 81, 3, 8, 3,
4373 3, 8, 8, 88, 8, 8, 91, 3, 3, 3,
4374 360, 4, 8, 8, 99, 3, 62, 63, 64, 4,
4375 8, 4, 63, 4, 350, 351, 64, 4, 66, 67,
4376 76, 77, 70, 71, 72, 76, 77, 165, 76, 77,
4377 16, 17, 3, 89, 90, 395, 87, 8, 19, 20,
4378 4, 401, 93, 94, 95, 96, 97, 98, 3, 100,
4379 3, 6, 3, 413, 401, 8, 416, 8, 416, 3,
4380 8, 413, 3, 8, 8, 6, 413, 427, 4, 416,
4381 165, 416, 401, 100, 101, 3, 413, 437, 4, 413,
4382 427, 4, 442, 4, 413, 4, 442, 416, 442, 4,
4383 437, 34, 35, 36, 37, 442, 4, 4, 427, 4,
4384 4, 3, 462, 4, 413, 8, 4, 416, 437, 165,
4385 4, 4, 4, 442, 165, 462, 413, 165, 427, 4,
4386 413, 437, 4, 4, 4, 4, 442, 413, 168, 4,
4387 427, 413, 4, 462, 427, 413, 4, 168, 413, 475,
4388 476, 477, 413, 168, 4, 427, 4, 76, 77, 4,
4389 4, 4, 4, 4, 166, 166, 166, 33, 166, 4,
4390 4, 952, 38, 39, 40, 41, 42, 43, 44, 45,
4391 46, 47, 48, 49, 50, 51, 52, 4, 4, 4,
4392 4, 4, 4, 4, 4, 4, 4, 166, 64, 118,
4393 119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
4394 129, 130, 4, 4, 4, 4, 4, 4, 137, 138,
4395 168, 4, 4, 4, 4, 4, 576, 553, 4, 166,
4396 4, 4, 582, 4, 4, 4, 4, 4, 4, 4,
4397 4, 4, 4, 4, 4, 582, 165, 4, 4, 575,
4398 4, 166, 4, 4, 168, 4, 168, 4, 608, 4,
4399 610, 168, 168, 582, 166, 4, 166, 166, 4, 4,
4400 4, 608, 168, 610, 151, 152, 153, 154, 155, 156,
4401 157, 158, 159, 160, 161, 162, 163, 164, 168, 608,
4402 4, 610, 4, 4, 4, 4, 4, 165, 165, 165,
4403 7, 7, 7, 7, 7, 165, 7, 7, 5, 165,
4404 5, 5, 5, 5, 165, 5, 7, 5, 5, 5,
4405 166, 23, 7, 7, 7, 5, 165, 165, 165, 5,
4406 7, 132, 165, 165, 165, 165, 165, 165, 165, 165,
4407 165, 165, 165, 165, 165, 165, 165, 165, 5, 5,
4408 8, 510, 7, 7, 7, 7, 7, 7, 165, 165,
4409 165, 165, 165, 165, 7, 165, 165, 7, 7, 7,
4410 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4411 3, 165, 6, 3, 6, 6, 3, 6, 3, 3,
4412 6, 3, 360, 6, 3, 6, 4, 4, 4, 4,
4413 4, 4, 3, 576, 6, 4, 6, 4, 4, 4,
4414 4, 4, 4, 168, 4, 168, 166, 4, 166, 3,
4415 166, 6, 166, 166, 166, 4, 166, 168, 166, 166,
4416 8, 8, 4, 166, 166, 166, 165, 165, 165, 165,
4417 165, 165, 8, 3, 8, 165, 165, 165, 4, 4,
4418 4, 168, 4, 166, 5, 4, 4, 7, 4, 4,
4419 582, 401, 794, 395, 662, 817, 165, 165, 818, 830,
4420 840, 821, 168, 812, 824, 838, 818, 827, 824, 827,
4421 824, 818, 832, 165, 821, 835, 445, 824, 838, 832,
4422 827, 818, 827, 166, 818, 832, 166, 820, 835, 818,
4423 827, 851, 821, 827, 818, 824, 847, 857, 827, 857,
4424 413, 829, 862, 832, 851, 821, 835, 981, 824, 818,
4425 857, 827, 857, 821, 826, 862, 832, 823, 827, 437,
4426 824, 818, 851, 832, 859, 818, 835, 857, 857, 627,
4427 827, 442, 818, 862, 827, 832, 818, 835, 835, 832,
4428 818, 827, 835, 818, 427, 827, 862, 818, 857, 827,
4429 832, 416, 827, 835, 837, 986, 827, 833, 581, 851,
4430 610, 863, 462, 997, 1014, 1031, -1, -1, 577, 468,
4431 465, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4432 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4433 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4434 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4435 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4436 -1, 981, -1, 981, -1, -1, 986, -1, -1, -1,
4437 -1, -1, -1, 986, 981, -1, 981, 997, -1, 986,
4438 -1, -1, -1, -1, 981, -1, -1, 981, -1, -1,
4439 997, -1, 981, -1, -1, -1, -1, 986, -1, -1,
4440 -1, -1, -1, -1, -1, 981, -1, -1, 997, -1,
4441 986, -1, 981, -1, -1, -1, -1, 986, -1, -1,
4442 -1, 997, -1, -1, 981, -1, -1, -1, 981, 986,
4443 -1, -1, -1, 986, -1, 981, -1, -1, -1, 981,
4444 -1, -1, -1, 981, 986, -1, 981, -1, -1, -1,
4448 const unsigned short
4449 Dhcp4Parser::yystos_[] =
4451 0, 151, 152, 153, 154, 155, 156, 157, 158, 159,
4452 160, 161, 162, 163, 164, 170, 171, 172, 173, 174,
4453 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
4454 0, 5, 7, 9, 165, 166, 167, 168, 185, 186,
4455 187, 192, 7, 201, 7, 207, 7, 224, 7, 317,
4456 7, 397, 7, 413, 7, 349, 7, 355, 7, 379,
4457 7, 293, 7, 470, 7, 516, 7, 508, 193, 188,
4458 202, 208, 225, 318, 398, 414, 350, 356, 380, 294,
4459 471, 517, 509, 185, 194, 195, 165, 190, 191, 10,
4460 139, 148, 149, 150, 165, 200, 203, 204, 205, 500,
4461 502, 504, 514, 11, 13, 22, 24, 25, 26, 27,
4462 28, 29, 30, 31, 32, 53, 54, 55, 56, 57,
4463 58, 62, 63, 73, 76, 77, 81, 86, 87, 92,
4464 102, 105, 112, 113, 116, 117, 200, 209, 210, 211,
4465 212, 213, 214, 215, 217, 218, 219, 220, 235, 237,
4466 243, 245, 278, 287, 301, 311, 335, 339, 347, 373,
4467 403, 405, 407, 418, 420, 422, 445, 457, 458, 466,
4468 468, 506, 14, 15, 18, 21, 200, 222, 223, 226,
4469 228, 231, 234, 403, 405, 59, 60, 61, 74, 78,
4470 79, 80, 88, 91, 99, 200, 211, 212, 213, 218,
4471 219, 319, 320, 321, 323, 325, 327, 329, 331, 333,
4472 335, 338, 373, 391, 403, 405, 407, 418, 420, 422,
4473 442, 75, 200, 331, 333, 373, 399, 400, 401, 403,
4474 405, 87, 93, 94, 95, 96, 97, 98, 100, 200,
4475 373, 403, 405, 415, 416, 417, 418, 420, 422, 424,
4476 428, 430, 432, 434, 436, 438, 440, 347, 33, 64,
4477 66, 67, 70, 71, 72, 200, 263, 357, 358, 359,
4478 360, 361, 362, 363, 365, 367, 369, 370, 372, 403,
4479 405, 65, 68, 69, 200, 263, 361, 367, 381, 382,
4480 383, 384, 385, 387, 388, 389, 390, 403, 405, 103,
4481 104, 200, 295, 296, 297, 299, 118, 119, 120, 121,
4482 122, 123, 124, 125, 126, 127, 128, 129, 130, 137,
4483 138, 200, 403, 405, 472, 473, 474, 475, 477, 479,
4484 480, 482, 483, 484, 487, 489, 490, 491, 494, 496,
4485 498, 140, 518, 519, 520, 12, 510, 511, 512, 6,
4486 3, 4, 8, 3, 206, 515, 501, 503, 505, 4,
4487 3, 8, 507, 221, 238, 4, 4, 4, 419, 421,
4488 423, 236, 244, 246, 4, 4, 4, 4, 216, 312,
4489 348, 374, 340, 404, 406, 336, 279, 446, 408, 288,
4490 302, 4, 459, 467, 469, 3, 8, 227, 229, 232,
4491 4, 3, 8, 324, 326, 328, 392, 322, 330, 4,
4492 334, 332, 443, 3, 8, 402, 3, 8, 441, 429,
4493 431, 435, 433, 439, 437, 425, 8, 3, 8, 364,
4494 264, 4, 368, 366, 371, 4, 8, 3, 386, 4,
4495 4, 8, 3, 298, 300, 3, 8, 4, 476, 478,
4496 4, 481, 4, 4, 485, 488, 4, 4, 492, 495,
4497 497, 499, 3, 8, 521, 3, 8, 513, 3, 8,
4498 185, 185, 165, 4, 4, 4, 4, 4, 204, 4,
4499 4, 4, 168, 168, 168, 4, 4, 4, 4, 4,
4500 4, 166, 166, 166, 166, 4, 4, 4, 4, 4,
4501 4, 4, 4, 4, 4, 4, 4, 4, 166, 4,
4502 4, 4, 210, 4, 4, 4, 168, 223, 4, 4,
4503 4, 4, 4, 4, 166, 4, 4, 4, 320, 4,
4504 400, 4, 4, 4, 4, 4, 4, 4, 4, 417,
4505 4, 4, 166, 4, 4, 4, 168, 359, 4, 168,
4506 168, 383, 4, 4, 296, 168, 4, 4, 166, 4,
4507 166, 166, 4, 4, 168, 168, 4, 4, 4, 4,
4508 473, 4, 519, 4, 511, 4, 7, 7, 185, 185,
4509 185, 7, 7, 7, 165, 165, 165, 7, 7, 5,
4510 165, 5, 5, 5, 5, 187, 189, 165, 82, 83,
4511 84, 85, 337, 5, 5, 5, 5, 7, 7, 189,
4512 7, 5, 196, 16, 17, 230, 19, 20, 233, 165,
4513 165, 165, 5, 165, 165, 196, 165, 7, 165, 196,
4514 165, 165, 165, 165, 165, 165, 165, 165, 165, 165,
4515 165, 165, 165, 165, 185, 165, 165, 165, 17, 131,
4516 486, 132, 133, 134, 135, 136, 168, 493, 165, 165,
4517 165, 5, 5, 185, 209, 518, 510, 222, 23, 239,
4518 240, 241, 33, 38, 39, 40, 41, 42, 43, 44,
4519 45, 46, 47, 48, 49, 50, 51, 52, 200, 251,
4520 252, 253, 256, 258, 260, 262, 263, 265, 266, 267,
4521 268, 269, 270, 271, 272, 274, 276, 277, 251, 7,
4522 247, 248, 249, 7, 313, 314, 315, 7, 351, 352,
4523 353, 7, 375, 376, 377, 7, 341, 342, 343, 93,
4524 94, 95, 96, 98, 280, 281, 282, 283, 284, 285,
4525 286, 7, 447, 448, 7, 409, 410, 411, 7, 289,
4526 290, 291, 106, 107, 108, 109, 110, 111, 303, 304,
4527 305, 306, 307, 308, 309, 310, 114, 115, 200, 403,
4528 405, 460, 461, 462, 464, 472, 197, 7, 393, 394,
4529 395, 101, 424, 426, 444, 7, 522, 523, 247, 8,
4530 8, 8, 8, 242, 3, 8, 254, 257, 259, 261,
4531 4, 4, 4, 4, 4, 273, 275, 4, 4, 4,
4532 4, 4, 3, 8, 8, 250, 6, 3, 316, 6,
4533 3, 354, 6, 3, 378, 6, 3, 344, 6, 3,
4534 3, 6, 449, 3, 6, 412, 6, 3, 292, 6,
4535 3, 4, 4, 4, 4, 4, 4, 3, 8, 463,
4536 465, 3, 8, 8, 165, 198, 199, 396, 6, 3,
4537 427, 8, 524, 3, 6, 6, 4, 240, 4, 4,
4538 4, 4, 166, 168, 166, 168, 166, 4, 4, 166,
4539 166, 166, 166, 168, 252, 251, 249, 319, 315, 357,
4540 353, 381, 377, 200, 211, 212, 213, 218, 219, 263,
4541 311, 329, 331, 333, 335, 345, 346, 373, 403, 405,
4542 418, 420, 422, 442, 343, 281, 89, 90, 200, 263,
4543 347, 373, 403, 405, 418, 420, 422, 450, 451, 452,
4544 453, 454, 456, 448, 415, 411, 295, 291, 166, 166,
4545 166, 166, 166, 166, 304, 4, 4, 461, 6, 3,
4546 399, 395, 4, 141, 143, 144, 200, 263, 403, 405,
4547 525, 526, 527, 528, 530, 523, 165, 34, 35, 36,
4548 37, 255, 165, 165, 165, 165, 165, 8, 8, 8,
4549 8, 3, 8, 455, 4, 8, 3, 8, 8, 165,
4550 165, 165, 8, 196, 531, 4, 529, 3, 8, 346,
4551 4, 168, 452, 4, 166, 4, 526, 165, 5, 165,
4552 7, 532, 533, 534, 3, 6, 142, 145, 146, 147,
4553 535, 536, 537, 539, 540, 541, 533, 538, 4, 4,
4554 4, 3, 8, 4, 168, 166, 166, 536, 165
4557 const unsigned short
4558 Dhcp4Parser::yyr1_[] =
4560 0, 169, 171, 170, 172, 170, 173, 170, 174, 170,
4561 175, 170, 176, 170, 177, 170, 178, 170, 179, 170,
4562 180, 170, 181, 170, 182, 170, 183, 170, 184, 170,
4563 185, 185, 185, 185, 185, 185, 185, 186, 188, 187,
4564 189, 190, 190, 191, 191, 193, 192, 194, 194, 195,
4565 195, 197, 196, 198, 198, 199, 199, 200, 202, 201,
4566 203, 203, 204, 204, 204, 204, 204, 204, 206, 205,
4567 208, 207, 209, 209, 210, 210, 210, 210, 210, 210,
4568 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
4569 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
4570 210, 210, 210, 210, 210, 210, 210, 210, 211, 212,
4571 213, 214, 216, 215, 217, 218, 219, 221, 220, 222,
4572 222, 223, 223, 223, 223, 223, 223, 223, 225, 224,
4573 227, 226, 229, 228, 230, 230, 232, 231, 233, 233,
4574 234, 236, 235, 238, 237, 239, 239, 240, 242, 241,
4575 244, 243, 246, 245, 247, 247, 248, 248, 250, 249,
4576 251, 251, 252, 252, 252, 252, 252, 252, 252, 252,
4577 252, 252, 252, 252, 252, 252, 252, 252, 252, 252,
4578 254, 253, 255, 255, 255, 255, 257, 256, 259, 258,
4579 261, 260, 262, 264, 263, 265, 266, 267, 268, 269,
4580 270, 271, 273, 272, 275, 274, 276, 277, 279, 278,
4581 280, 280, 281, 281, 281, 281, 281, 282, 283, 284,
4582 285, 286, 288, 287, 289, 289, 290, 290, 292, 291,
4583 294, 293, 295, 295, 295, 296, 296, 298, 297, 300,
4584 299, 302, 301, 303, 303, 304, 304, 304, 304, 304,
4585 304, 305, 306, 307, 308, 309, 310, 312, 311, 313,
4586 313, 314, 314, 316, 315, 318, 317, 319, 319, 320,
4587 320, 320, 320, 320, 320, 320, 320, 320, 320, 320,
4588 320, 320, 320, 320, 320, 320, 320, 320, 320, 320,
4589 320, 320, 320, 322, 321, 324, 323, 326, 325, 328,
4590 327, 330, 329, 332, 331, 334, 333, 336, 335, 337,
4591 337, 337, 337, 338, 340, 339, 341, 341, 342, 342,
4592 344, 343, 345, 345, 346, 346, 346, 346, 346, 346,
4593 346, 346, 346, 346, 346, 346, 346, 346, 346, 346,
4594 346, 346, 346, 348, 347, 350, 349, 351, 351, 352,
4595 352, 354, 353, 356, 355, 357, 357, 358, 358, 359,
4596 359, 359, 359, 359, 359, 359, 359, 359, 359, 360,
4597 361, 362, 364, 363, 366, 365, 368, 367, 369, 371,
4598 370, 372, 374, 373, 375, 375, 376, 376, 378, 377,
4599 380, 379, 381, 381, 382, 382, 383, 383, 383, 383,
4600 383, 383, 383, 383, 383, 384, 386, 385, 387, 388,
4601 389, 390, 392, 391, 393, 393, 394, 394, 396, 395,
4602 398, 397, 399, 399, 400, 400, 400, 400, 400, 400,
4603 400, 402, 401, 404, 403, 406, 405, 408, 407, 409,
4604 409, 410, 410, 412, 411, 414, 413, 415, 415, 416,
4605 416, 417, 417, 417, 417, 417, 417, 417, 417, 417,
4606 417, 417, 417, 417, 417, 417, 419, 418, 421, 420,
4607 423, 422, 425, 424, 427, 426, 429, 428, 431, 430,
4608 433, 432, 435, 434, 437, 436, 439, 438, 441, 440,
4609 443, 442, 444, 444, 446, 445, 447, 447, 449, 448,
4610 450, 450, 451, 451, 452, 452, 452, 452, 452, 452,
4611 452, 452, 452, 452, 452, 453, 455, 454, 456, 457,
4612 459, 458, 460, 460, 461, 461, 461, 461, 461, 463,
4613 462, 465, 464, 467, 466, 469, 468, 471, 470, 472,
4614 472, 473, 473, 473, 473, 473, 473, 473, 473, 473,
4615 473, 473, 473, 473, 473, 473, 473, 473, 473, 474,
4616 476, 475, 478, 477, 479, 481, 480, 482, 483, 485,
4617 484, 486, 486, 488, 487, 489, 490, 492, 491, 493,
4618 493, 493, 493, 493, 495, 494, 497, 496, 499, 498,
4619 501, 500, 503, 502, 505, 504, 507, 506, 509, 508,
4620 510, 510, 511, 513, 512, 515, 514, 517, 516, 518,
4621 518, 519, 521, 520, 522, 522, 524, 523, 525, 525,
4622 526, 526, 526, 526, 526, 526, 526, 527, 529, 528,
4623 531, 530, 532, 532, 534, 533, 535, 535, 536, 536,
4624 536, 536, 538, 537, 539, 540, 541
4628 Dhcp4Parser::yyr2_[] =
4630 0, 2, 0, 3, 0, 3, 0, 3, 0, 3,
4631 0, 3, 0, 3, 0, 3, 0, 3, 0, 3,
4632 0, 3, 0, 3, 0, 3, 0, 3, 0, 3,
4633 1, 1, 1, 1, 1, 1, 1, 1, 0, 4,
4634 1, 0, 1, 3, 5, 0, 4, 0, 1, 1,
4635 3, 0, 4, 0, 1, 1, 3, 2, 0, 4,
4636 1, 3, 1, 1, 1, 1, 1, 1, 0, 6,
4637 0, 4, 1, 3, 1, 1, 1, 1, 1, 1,
4638 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
4639 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
4640 1, 1, 1, 1, 1, 1, 1, 1, 3, 3,
4641 3, 3, 0, 4, 3, 3, 3, 0, 6, 1,
4642 3, 1, 1, 1, 1, 1, 1, 1, 0, 4,
4643 0, 4, 0, 4, 1, 1, 0, 4, 1, 1,
4644 3, 0, 6, 0, 6, 1, 3, 1, 0, 4,
4645 0, 6, 0, 6, 0, 1, 1, 3, 0, 4,
4646 1, 3, 1, 1, 1, 1, 1, 1, 1, 1,
4647 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
4648 0, 4, 1, 1, 1, 1, 0, 4, 0, 4,
4649 0, 4, 3, 0, 4, 3, 3, 3, 3, 3,
4650 3, 3, 0, 4, 0, 4, 3, 3, 0, 6,
4651 1, 3, 1, 1, 1, 1, 1, 1, 1, 1,
4652 1, 1, 0, 6, 0, 1, 1, 3, 0, 4,
4653 0, 4, 1, 3, 1, 1, 1, 0, 4, 0,
4654 4, 0, 6, 1, 3, 1, 1, 1, 1, 1,
4655 1, 3, 3, 3, 3, 3, 3, 0, 6, 0,
4656 1, 1, 3, 0, 4, 0, 4, 1, 3, 1,
4657 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
4658 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
4659 1, 1, 1, 0, 4, 0, 4, 0, 4, 0,
4660 4, 0, 4, 0, 4, 0, 4, 0, 4, 1,
4661 1, 1, 1, 3, 0, 6, 0, 1, 1, 3,
4662 0, 4, 1, 3, 1, 1, 1, 1, 1, 1,
4663 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
4664 1, 1, 1, 0, 6, 0, 4, 0, 1, 1,
4665 3, 0, 4, 0, 4, 0, 1, 1, 3, 1,
4666 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
4667 3, 1, 0, 4, 0, 4, 0, 4, 1, 0,
4668 4, 3, 0, 6, 0, 1, 1, 3, 0, 4,
4669 0, 4, 0, 1, 1, 3, 1, 1, 1, 1,
4670 1, 1, 1, 1, 1, 1, 0, 4, 1, 1,
4671 3, 3, 0, 6, 0, 1, 1, 3, 0, 4,
4672 0, 4, 1, 3, 1, 1, 1, 1, 1, 1,
4673 1, 0, 4, 0, 4, 0, 4, 0, 6, 0,
4674 1, 1, 3, 0, 4, 0, 4, 0, 1, 1,
4675 3, 1, 1, 1, 1, 1, 1, 1, 1, 1,
4676 1, 1, 1, 1, 1, 1, 0, 4, 0, 4,
4677 0, 4, 0, 4, 0, 4, 0, 4, 0, 4,
4678 0, 4, 0, 4, 0, 4, 0, 4, 0, 4,
4679 0, 6, 1, 1, 0, 6, 1, 3, 0, 4,
4680 0, 1, 1, 3, 1, 1, 1, 1, 1, 1,
4681 1, 1, 1, 1, 1, 1, 0, 4, 3, 3,
4682 0, 6, 1, 3, 1, 1, 1, 1, 1, 0,
4683 4, 0, 4, 0, 4, 0, 6, 0, 4, 1,
4684 3, 1, 1, 1, 1, 1, 1, 1, 1, 1,
4685 1, 1, 1, 1, 1, 1, 1, 1, 1, 3,
4686 0, 4, 0, 4, 3, 0, 4, 3, 3, 0,
4687 4, 1, 1, 0, 4, 3, 3, 0, 4, 1,
4688 1, 1, 1, 1, 0, 4, 0, 4, 0, 4,
4689 0, 4, 0, 4, 0, 4, 0, 6, 0, 4,
4690 1, 3, 1, 0, 6, 0, 6, 0, 4, 1,
4691 3, 1, 0, 6, 1, 3, 0, 4, 1, 3,
4692 1, 1, 1, 1, 1, 1, 1, 3, 0, 4,
4693 0, 6, 1, 3, 0, 4, 1, 3, 1, 1,
4702 const Dhcp4Parser::yytname_[] =
4704 "\"end of file\"",
"error",
"$undefined",
"\",\"",
"\":\"",
"\"[\"",
4705 "\"]\"",
"\"{\"",
"\"}\"",
"\"null\"",
"\"Dhcp4\"",
"\"config-control\"",
4706 "\"config-databases\"",
"\"interfaces-config\"",
"\"interfaces\"",
4707 "\"dhcp-socket-type\"",
"\"raw\"",
"\"udp\"",
"\"outbound-interface\"",
4708 "\"same-as-inbound\"",
"\"use-routing\"",
"\"re-detect\"",
4709 "\"sanity-checks\"",
"\"lease-checks\"",
"\"echo-client-id\"",
4710 "\"match-client-id\"",
"\"authoritative\"",
"\"next-server\"",
4711 "\"server-hostname\"",
"\"boot-file-name\"",
"\"lease-database\"",
4712 "\"hosts-database\"",
"\"hosts-databases\"",
"\"type\"",
"\"memfile\"",
4713 "\"mysql\"",
"\"postgresql\"",
"\"cql\"",
"\"user\"",
"\"password\"",
4714 "\"host\"",
"\"port\"",
"\"persist\"",
"\"lfc-interval\"",
4715 "\"readonly\"",
"\"connect-timeout\"",
"\"contact-points\"",
4716 "\"keyspace\"",
"\"max-reconnect-tries\"",
"\"reconnect-wait-time\"",
4717 "\"request-timeout\"",
"\"tcp-keepalive\"",
"\"tcp-nodelay\"",
4718 "\"valid-lifetime\"",
"\"renew-timer\"",
"\"rebind-timer\"",
4719 "\"decline-probation-period\"",
"\"server-tag\"",
"\"subnet4\"",
4720 "\"4o6-interface\"",
"\"4o6-interface-id\"",
"\"4o6-subnet\"",
4721 "\"option-def\"",
"\"option-data\"",
"\"name\"",
"\"data\"",
"\"code\"",
4722 "\"space\"",
"\"csv-format\"",
"\"always-send\"",
"\"record-types\"",
4723 "\"encapsulate\"",
"\"array\"",
"\"shared-networks\"",
"\"pools\"",
4724 "\"pool\"",
"\"user-context\"",
"\"comment\"",
"\"subnet\"",
4725 "\"interface\"",
"\"id\"",
"\"reservation-mode\"",
"\"disabled\"",
4726 "\"out-of-pool\"",
"\"global\"",
"\"all\"",
4727 "\"host-reservation-identifiers\"",
"\"client-classes\"",
4728 "\"require-client-classes\"",
"\"test\"",
"\"only-if-required\"",
4729 "\"client-class\"",
"\"reservations\"",
"\"duid\"",
"\"hw-address\"",
4730 "\"circuit-id\"",
"\"client-id\"",
"\"hostname\"",
"\"flex-id\"",
4731 "\"relay\"",
"\"ip-address\"",
"\"ip-addresses\"",
"\"hooks-libraries\"",
4732 "\"library\"",
"\"parameters\"",
"\"expired-leases-processing\"",
4733 "\"reclaim-timer-wait-time\"",
"\"flush-reclaimed-timer-wait-time\"",
4734 "\"hold-reclaimed-time\"",
"\"max-reclaim-leases\"",
4735 "\"max-reclaim-time\"",
"\"unwarned-reclaim-cycles\"",
4736 "\"dhcp4o6-port\"",
"\"control-socket\"",
"\"socket-type\"",
4737 "\"socket-name\"",
"\"dhcp-queue-control\"",
"\"dhcp-ddns\"",
4738 "\"enable-updates\"",
"\"qualifying-suffix\"",
"\"server-ip\"",
4739 "\"server-port\"",
"\"sender-ip\"",
"\"sender-port\"",
4740 "\"max-queue-size\"",
"\"ncr-protocol\"",
"\"ncr-format\"",
4741 "\"override-no-update\"",
"\"override-client-update\"",
4742 "\"replace-client-name\"",
"\"generated-prefix\"",
"\"tcp\"",
"\"JSON\"",
4743 "\"when-present\"",
"\"never\"",
"\"always\"",
"\"when-not-present\"",
4744 "\"hostname-char-set\"",
"\"hostname-char-replacement\"",
"\"Logging\"",
4745 "\"loggers\"",
"\"output_options\"",
"\"output\"",
"\"debuglevel\"",
4746 "\"severity\"",
"\"flush\"",
"\"maxsize\"",
"\"maxver\"",
"\"Dhcp6\"",
4747 "\"DhcpDdns\"",
"\"Control-agent\"",
"TOPLEVEL_JSON",
"TOPLEVEL_DHCP4",
4748 "SUB_DHCP4",
"SUB_INTERFACES4",
"SUB_SUBNET4",
"SUB_POOL4",
4749 "SUB_RESERVATION",
"SUB_OPTION_DEFS",
"SUB_OPTION_DEF",
4750 "SUB_OPTION_DATA",
"SUB_HOOKS_LIBRARY",
"SUB_DHCP_DDNS",
"SUB_LOGGING",
4751 "SUB_CONFIG_CONTROL",
"\"constant string\"",
"\"integer\"",
4752 "\"floating point\"",
"\"boolean\"",
"$accept",
"start",
"$@1",
"$@2",
4753 "$@3",
"$@4",
"$@5",
"$@6",
"$@7",
"$@8",
"$@9",
"$@10",
"$@11",
"$@12",
4754 "$@13",
"$@14",
"value",
"sub_json",
"map2",
"$@15",
"map_value",
4755 "map_content",
"not_empty_map",
"list_generic",
"$@16",
"list_content",
4756 "not_empty_list",
"list_strings",
"$@17",
"list_strings_content",
4757 "not_empty_list_strings",
"unknown_map_entry",
"syntax_map",
"$@18",
4758 "global_objects",
"global_object",
"dhcp4_object",
"$@19",
"sub_dhcp4",
4759 "$@20",
"global_params",
"global_param",
"valid_lifetime",
"renew_timer",
4760 "rebind_timer",
"decline_probation_period",
"server_tag",
"$@21",
4761 "echo_client_id",
"match_client_id",
"authoritative",
4762 "interfaces_config",
"$@22",
"interfaces_config_params",
4763 "interfaces_config_param",
"sub_interfaces4",
"$@23",
"interfaces_list",
4764 "$@24",
"dhcp_socket_type",
"$@25",
"socket_type",
"outbound_interface",
4765 "$@26",
"outbound_interface_value",
"re_detect",
"lease_database",
4766 "$@27",
"sanity_checks",
"$@28",
"sanity_checks_params",
4767 "sanity_checks_param",
"lease_checks",
"$@29",
"hosts_database",
"$@30",
4768 "hosts_databases",
"$@31",
"database_list",
"not_empty_database_list",
4769 "database",
"$@32",
"database_map_params",
"database_map_param",
4770 "database_type",
"$@33",
"db_type",
"user",
"$@34",
"password",
"$@35",
4771 "host",
"$@36",
"port",
"name",
"$@37",
"persist",
"lfc_interval",
4772 "readonly",
"connect_timeout",
"request_timeout",
"tcp_keepalive",
4773 "tcp_nodelay",
"contact_points",
"$@38",
"keyspace",
"$@39",
4774 "max_reconnect_tries",
"reconnect_wait_time",
4775 "host_reservation_identifiers",
"$@40",
4776 "host_reservation_identifiers_list",
"host_reservation_identifier",
4777 "duid_id",
"hw_address_id",
"circuit_id",
"client_id",
"flex_id",
4778 "hooks_libraries",
"$@41",
"hooks_libraries_list",
4779 "not_empty_hooks_libraries_list",
"hooks_library",
"$@42",
4780 "sub_hooks_library",
"$@43",
"hooks_params",
"hooks_param",
"library",
4781 "$@44",
"parameters",
"$@45",
"expired_leases_processing",
"$@46",
4782 "expired_leases_params",
"expired_leases_param",
4783 "reclaim_timer_wait_time",
"flush_reclaimed_timer_wait_time",
4784 "hold_reclaimed_time",
"max_reclaim_leases",
"max_reclaim_time",
4785 "unwarned_reclaim_cycles",
"subnet4_list",
"$@47",
4786 "subnet4_list_content",
"not_empty_subnet4_list",
"subnet4",
"$@48",
4787 "sub_subnet4",
"$@49",
"subnet4_params",
"subnet4_param",
"subnet",
4788 "$@50",
"subnet_4o6_interface",
"$@51",
"subnet_4o6_interface_id",
4789 "$@52",
"subnet_4o6_subnet",
"$@53",
"interface",
"$@54",
"client_class",
4790 "$@55",
"require_client_classes",
"$@56",
"reservation_mode",
"$@57",
4791 "hr_mode",
"id",
"shared_networks",
"$@58",
"shared_networks_content",
4792 "shared_networks_list",
"shared_network",
"$@59",
4793 "shared_network_params",
"shared_network_param",
"option_def_list",
4794 "$@60",
"sub_option_def_list",
"$@61",
"option_def_list_content",
4795 "not_empty_option_def_list",
"option_def_entry",
"$@62",
4796 "sub_option_def",
"$@63",
"option_def_params",
4797 "not_empty_option_def_params",
"option_def_param",
"option_def_name",
4798 "code",
"option_def_code",
"option_def_type",
"$@64",
4799 "option_def_record_types",
"$@65",
"space",
"$@66",
"option_def_space",
4800 "option_def_encapsulate",
"$@67",
"option_def_array",
"option_data_list",
4801 "$@68",
"option_data_list_content",
"not_empty_option_data_list",
4802 "option_data_entry",
"$@69",
"sub_option_data",
"$@70",
4803 "option_data_params",
"not_empty_option_data_params",
4804 "option_data_param",
"option_data_name",
"option_data_data",
"$@71",
4805 "option_data_code",
"option_data_space",
"option_data_csv_format",
4806 "option_data_always_send",
"pools_list",
"$@72",
"pools_list_content",
4807 "not_empty_pools_list",
"pool_list_entry",
"$@73",
"sub_pool4",
"$@74",
4808 "pool_params",
"pool_param",
"pool_entry",
"$@75",
"user_context",
4809 "$@76",
"comment",
"$@77",
"reservations",
"$@78",
"reservations_list",
4810 "not_empty_reservations_list",
"reservation",
"$@79",
"sub_reservation",
4811 "$@80",
"reservation_params",
"not_empty_reservation_params",
4812 "reservation_param",
"next_server",
"$@81",
"server_hostname",
"$@82",
4813 "boot_file_name",
"$@83",
"ip_address",
"$@84",
"ip_addresses",
"$@85",
4814 "duid",
"$@86",
"hw_address",
"$@87",
"client_id_value",
"$@88",
4815 "circuit_id_value",
"$@89",
"flex_id_value",
"$@90",
"hostname",
"$@91",
4816 "reservation_client_classes",
"$@92",
"relay",
"$@93",
"relay_map",
4817 "client_classes",
"$@94",
"client_classes_list",
"client_class_entry",
4818 "$@95",
"client_class_params",
"not_empty_client_class_params",
4819 "client_class_param",
"client_class_name",
"client_class_test",
"$@96",
4820 "only_if_required",
"dhcp4o6_port",
"control_socket",
"$@97",
4821 "control_socket_params",
"control_socket_param",
"control_socket_type",
4822 "$@98",
"control_socket_name",
"$@99",
"dhcp_queue_control",
"$@100",
4823 "dhcp_ddns",
"$@101",
"sub_dhcp_ddns",
"$@102",
"dhcp_ddns_params",
4824 "dhcp_ddns_param",
"enable_updates",
"qualifying_suffix",
"$@103",
4825 "server_ip",
"$@104",
"server_port",
"sender_ip",
"$@105",
"sender_port",
4826 "max_queue_size",
"ncr_protocol",
"$@106",
"ncr_protocol_value",
4827 "ncr_format",
"$@107",
"override_no_update",
"override_client_update",
4828 "replace_client_name",
"$@108",
"replace_client_name_value",
4829 "generated_prefix",
"$@109",
"hostname_char_set",
"$@110",
4830 "hostname_char_replacement",
"$@111",
"dhcp6_json_object",
"$@112",
4831 "dhcpddns_json_object",
"$@113",
"control_agent_json_object",
"$@114",
4832 "config_control",
"$@115",
"sub_config_control",
"$@116",
4833 "config_control_params",
"config_control_param",
"config_databases",
4834 "$@117",
"logging_object",
"$@118",
"sub_logging",
"$@119",
4835 "logging_params",
"logging_param",
"loggers",
"$@120",
"loggers_entries",
4836 "logger_entry",
"$@121",
"logger_params",
"logger_param",
"debuglevel",
4837 "severity",
"$@122",
"output_options_list",
"$@123",
4838 "output_options_list_content",
"output_entry",
"$@124",
4839 "output_params_list",
"output_params",
"output",
"$@125",
"flush",
4840 "maxsize",
"maxver", YY_NULLPTR
4844 const unsigned short
4845 Dhcp4Parser::yyrline_[] =
4847 0, 254, 254, 254, 255, 255, 256, 256, 257, 257,
4848 258, 258, 259, 259, 260, 260, 261, 261, 262, 262,
4849 263, 263, 264, 264, 265, 265, 266, 266, 267, 267,
4850 275, 276, 277, 278, 279, 280, 281, 284, 289, 289,
4851 300, 303, 304, 307, 311, 318, 318, 325, 326, 329,
4852 333, 340, 340, 347, 348, 351, 355, 366, 376, 376,
4853 392, 393, 397, 398, 399, 400, 401, 402, 405, 405,
4854 420, 420, 429, 430, 435, 436, 437, 438, 439, 440,
4855 441, 442, 443, 444, 445, 446, 447, 448, 449, 450,
4856 451, 452, 453, 454, 455, 456, 457, 458, 459, 460,
4857 461, 462, 463, 464, 465, 466, 467, 468, 471, 476,
4858 481, 486, 491, 491, 499, 504, 509, 515, 515, 526,
4859 527, 530, 531, 532, 533, 534, 535, 536, 539, 539,
4860 548, 548, 558, 558, 565, 566, 569, 569, 576, 578,
4861 582, 588, 588, 600, 600, 610, 611, 613, 615, 615,
4862 633, 633, 645, 645, 655, 656, 659, 660, 663, 663,
4863 673, 674, 677, 678, 679, 680, 681, 682, 683, 684,
4864 685, 686, 687, 688, 689, 690, 691, 692, 693, 694,
4865 697, 697, 704, 705, 706, 707, 710, 710, 718, 718,
4866 726, 726, 734, 739, 739, 747, 752, 757, 762, 767,
4867 772, 777, 782, 782, 790, 790, 798, 803, 808, 808,
4868 818, 819, 822, 823, 824, 825, 826, 829, 834, 839,
4869 844, 849, 854, 854, 864, 865, 868, 869, 872, 872,
4870 882, 882, 892, 893, 894, 897, 898, 901, 901, 909,
4871 909, 917, 917, 928, 929, 932, 933, 934, 935, 936,
4872 937, 940, 945, 950, 955, 960, 965, 973, 973, 986,
4873 987, 990, 991, 998, 998, 1024, 1024, 1035, 1036, 1040,
4874 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050,
4875 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060,
4876 1061, 1062, 1063, 1066, 1066, 1074, 1074, 1082, 1082, 1090,
4877 1090, 1098, 1098, 1106, 1106, 1114, 1114, 1124, 1124, 1131,
4878 1132, 1133, 1134, 1137, 1144, 1144, 1155, 1156, 1160, 1161,
4879 1164, 1164, 1172, 1173, 1176, 1177, 1178, 1179, 1180, 1181,
4880 1182, 1183, 1184, 1185, 1186, 1187, 1188, 1189, 1190, 1191,
4881 1192, 1193, 1194, 1201, 1201, 1214, 1214, 1223, 1224, 1227,
4882 1228, 1233, 1233, 1248, 1248, 1262, 1263, 1266, 1267, 1270,
4883 1271, 1272, 1273, 1274, 1275, 1276, 1277, 1278, 1279, 1282,
4884 1284, 1289, 1291, 1291, 1299, 1299, 1307, 1307, 1315, 1317,
4885 1317, 1325, 1334, 1334, 1346, 1347, 1352, 1353, 1358, 1358,
4886 1370, 1370, 1382, 1383, 1388, 1389, 1394, 1395, 1396, 1397,
4887 1398, 1399, 1400, 1401, 1402, 1405, 1407, 1407, 1415, 1417,
4888 1419, 1424, 1432, 1432, 1444, 1445, 1448, 1449, 1452, 1452,
4889 1462, 1462, 1472, 1473, 1476, 1477, 1478, 1479, 1480, 1481,
4890 1482, 1485, 1485, 1493, 1493, 1518, 1518, 1548, 1548, 1558,
4891 1559, 1562, 1563, 1566, 1566, 1575, 1575, 1584, 1585, 1588,
4892 1589, 1593, 1594, 1595, 1596, 1597, 1598, 1599, 1600, 1601,
4893 1602, 1603, 1604, 1605, 1606, 1607, 1610, 1610, 1618, 1618,
4894 1626, 1626, 1634, 1634, 1642, 1642, 1652, 1652, 1660, 1660,
4895 1668, 1668, 1676, 1676, 1684, 1684, 1692, 1692, 1700, 1700,
4896 1713, 1713, 1723, 1724, 1730, 1730, 1740, 1741, 1744, 1744,
4897 1754, 1755, 1758, 1759, 1762, 1763, 1764, 1765, 1766, 1767,
4898 1768, 1769, 1770, 1771, 1772, 1775, 1777, 1777, 1785, 1794,
4899 1801, 1801, 1811, 1812, 1815, 1816, 1817, 1818, 1819, 1822,
4900 1822, 1830, 1830, 1841, 1841, 1879, 1879, 1891, 1891, 1901,
4901 1902, 1905, 1906, 1907, 1908, 1909, 1910, 1911, 1912, 1913,
4902 1914, 1915, 1916, 1917, 1918, 1919, 1920, 1921, 1922, 1925,
4903 1930, 1930, 1938, 1938, 1946, 1951, 1951, 1959, 1964, 1969,
4904 1969, 1977, 1978, 1981, 1981, 1989, 1994, 1999, 1999, 2007,
4905 2010, 2013, 2016, 2019, 2025, 2025, 2033, 2033, 2041, 2041,
4906 2052, 2052, 2059, 2059, 2066, 2066, 2073, 2073, 2084, 2084,
4907 2094, 2095, 2099, 2102, 2102, 2117, 2117, 2127, 2127, 2138,
4908 2139, 2143, 2147, 2147, 2159, 2160, 2164, 2164, 2172, 2173,
4909 2176, 2177, 2178, 2179, 2180, 2181, 2182, 2185, 2190, 2190,
4910 2198, 2198, 2208, 2209, 2212, 2212, 2220, 2221, 2224, 2225,
4911 2226, 2227, 2230, 2230, 2238, 2243, 2248
4916 Dhcp4Parser::yystack_print_ ()
4918 *yycdebug_ <<
"Stack now";
4920 i = yystack_.
begin (),
4921 i_end = yystack_.
end ();
4923 *yycdebug_ <<
' ' << i->state;
4929 Dhcp4Parser::yy_reduce_print_ (
int yyrule)
4931 unsigned yylno = yyrline_[yyrule];
4932 int yynrhs = yyr2_[yyrule];
4934 *yycdebug_ <<
"Reducing stack by rule " << yyrule - 1
4935 <<
" (line " << yylno <<
"):\n";
4937 for (
int yyi = 0; yyi < yynrhs; yyi++)
4939 yystack_[(yynrhs) - (yyi + 1)]);
4944#line 14 "dhcp4_parser.yy"
4946#line 4947 "dhcp4_parser.cc"
4947#line 2253 "dhcp4_parser.yy"
4952 const std::string& what)
4954 ctx.
error(loc, what);
#define YYLLOC_DEFAULT(Current, Rhs, N)
#define YY_REDUCE_PRINT(Rule)
#define YY_SYMBOL_PRINT(Title, Symbol)
#define YY_MOVE_REF(Type)
Notes: IntElement type is changed to int64_t.
int symbol_number_type
Symbol type: an internal symbol number.
virtual void error(const location_type &loc, const std::string &msg)
Report a syntax error.
virtual int parse()
Parse.
location location_type
Symbol locations.
Dhcp4Parser(isc::dhcp::Parser4Context &ctx_yyarg)
Build a parser object.
Evaluation context, an interface to the expression evaluation.
void error(const isc::dhcp::location &loc, const std::string &what)
Error handler.
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 enter(const ParserContext &ctx)
Enter a new syntactic context.
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 Logging/loggers structures.
@ NCR_FORMAT
Used while parsing Dhcp4/dhcp-ddns/ncr-format.
@ OUTBOUND_INTERFACE
Used while parsing Dhcp4/interfaces/outbound-interface structures.
@ CONFIG
Used while parsing content of Dhcp4.
@ OUTPUT_OPTIONS
Used while parsing Logging/loggers/output_options structures.
@ RESERVATION_MODE
Used while parsing Dhcp4/reservation-mode.
@ CONTROL_SOCKET
Used while parsing Dhcp4/control-socket structures.
@ LOGGING
Used while parsing content of Logging.
@ 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...
@ 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.
@ 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.
Present a slice of the top of a stack.
const_iterator begin() const
S::const_reverse_iterator const_iterator
const_iterator end() const
void push(YY_MOVE_REF(T) t)
Steal the contents of t.
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-dhcp-ddns.
location_type location
The location.
void clear()
Destroy contents, and record that is empty.
bool empty() const
Whether empty.
void move(basic_symbol &s)
Destructive move, s is emptied into this.
Syntax errors thrown from user actions.