39#define yylex parser4_lex
47#line 34 "dhcp4_parser.yy"
51#line 52 "dhcp4_parser.cc"
55# if defined YYENABLE_NLS && YYENABLE_NLS
58# define YY_(msgid) dgettext ("bison-runtime", msgid)
62# define YY_(msgid) msgid
69# if defined __GNUC__ && !defined __EXCEPTIONS
70# define YY_EXCEPTIONS 0
72# define YY_EXCEPTIONS 1
76#define YYRHSLOC(Rhs, K) ((Rhs)[K].location)
81# ifndef YYLLOC_DEFAULT
82# define YYLLOC_DEFAULT(Current, Rhs, N) \
86 (Current).begin = YYRHSLOC (Rhs, 1).begin; \
87 (Current).end = YYRHSLOC (Rhs, N).end; \
91 (Current).begin = (Current).end = YYRHSLOC (Rhs, 0).end; \
101# define YYCDEBUG if (yydebug_) (*yycdebug_)
103# define YY_SYMBOL_PRINT(Title, Symbol) \
107 *yycdebug_ << Title << ' '; \
108 yy_print_ (*yycdebug_, Symbol); \
109 *yycdebug_ << '\n'; \
113# define YY_REDUCE_PRINT(Rule) \
116 yy_reduce_print_ (Rule); \
119# define YY_STACK_PRINT() \
122 yy_stack_print_ (); \
127# define YYCDEBUG if (false) std::cerr
128# define YY_SYMBOL_PRINT(Title, Symbol) YY_USE (Symbol)
129# define YY_REDUCE_PRINT(Rule) static_cast<void> (0)
130# define YY_STACK_PRINT() static_cast<void> (0)
134#define yyerrok (yyerrstatus_ = 0)
135#define yyclearin (yyla.clear ())
137#define YYACCEPT goto yyacceptlab
138#define YYABORT goto yyabortlab
139#define YYERROR goto yyerrorlab
140#define YYRECOVERING() (!!yyerrstatus_)
142#line 14 "dhcp4_parser.yy"
143namespace isc {
namespace dhcp {
144#line 145 "dhcp4_parser.cc"
150 yycdebug_ (&std::cerr),
171 : state (empty_state)
174 Dhcp4Parser::by_state::by_state (
const by_state& that)
YY_NOEXCEPT
185 Dhcp4Parser::by_state::move (by_state& that)
191 Dhcp4Parser::by_state::by_state (state_type s)
YY_NOEXCEPT
198 if (state == empty_state)
204 Dhcp4Parser::stack_symbol_type::stack_symbol_type ()
207 Dhcp4Parser::stack_symbol_type::stack_symbol_type (
YY_RVREF (stack_symbol_type) that)
210 switch (that.kind ())
225 value.YY_MOVE_OR_COPY<
bool > (
YY_MOVE (that.value));
229 value.YY_MOVE_OR_COPY<
double > (
YY_MOVE (that.value));
233 value.YY_MOVE_OR_COPY< int64_t > (
YY_MOVE (that.value));
237 value.YY_MOVE_OR_COPY< std::string > (
YY_MOVE (that.value));
244#if 201103L <= YY_CPLUSPLUS
246 that.state = empty_state;
250 Dhcp4Parser::stack_symbol_type::stack_symbol_type (state_type s,
YY_MOVE_REF (symbol_type) that)
251 : super_type (s,
YY_MOVE (that.location))
253 switch (that.kind ())
268 value.move<
bool > (
YY_MOVE (that.value));
272 value.move<
double > (
YY_MOVE (that.value));
276 value.move< int64_t > (
YY_MOVE (that.value));
280 value.move< std::string > (
YY_MOVE (that.value));
291#if YY_CPLUSPLUS < 201103L
292 Dhcp4Parser::stack_symbol_type&
293 Dhcp4Parser::stack_symbol_type::operator= (
const stack_symbol_type& that)
296 switch (that.kind ())
311 value.copy<
bool > (that.value);
315 value.copy<
double > (that.value);
319 value.copy< int64_t > (that.value);
323 value.copy< std::string > (that.value);
330 location = that.location;
334 Dhcp4Parser::stack_symbol_type&
335 Dhcp4Parser::stack_symbol_type::operator= (stack_symbol_type& that)
338 switch (that.kind ())
353 value.move<
bool > (that.value);
357 value.move<
double > (that.value);
361 value.move< int64_t > (that.value);
365 value.move< std::string > (that.value);
372 location = that.location;
374 that.state = empty_state;
379 template <
typename Base>
381 Dhcp4Parser::yy_destroy_ (
const char* yymsg, basic_symbol<Base>& yysym)
const
388 template <
typename Base>
390 Dhcp4Parser::yy_print_ (std::ostream& yyo,
const basic_symbol<Base>& yysym)
const
392 std::ostream& yyoutput = yyo;
395 yyo <<
"empty symbol";
399 yyo << (yykind <
YYNTOKENS ?
"token" :
"nterm")
400 <<
' ' << yysym.name () <<
" ("
401 << yysym.location <<
": ";
405#line 285 "dhcp4_parser.yy"
406 { yyoutput << yysym.value.template as < std::string > (); }
407#line 408 "dhcp4_parser.cc"
411#line 285 "dhcp4_parser.yy"
412 { yyoutput << yysym.value.template as < int64_t > (); }
413#line 414 "dhcp4_parser.cc"
417#line 285 "dhcp4_parser.yy"
418 { yyoutput << yysym.value.template as < double > (); }
419#line 420 "dhcp4_parser.cc"
423#line 285 "dhcp4_parser.yy"
424 { yyoutput << yysym.value.template as < bool > (); }
425#line 426 "dhcp4_parser.cc"
429#line 285 "dhcp4_parser.yy"
430 { yyoutput << yysym.value.template as < ElementPtr > (); }
431#line 432 "dhcp4_parser.cc"
435#line 285 "dhcp4_parser.yy"
436 { yyoutput << yysym.value.template as < ElementPtr > (); }
437#line 438 "dhcp4_parser.cc"
441#line 285 "dhcp4_parser.yy"
442 { yyoutput << yysym.value.template as < ElementPtr > (); }
443#line 444 "dhcp4_parser.cc"
447#line 285 "dhcp4_parser.yy"
448 { yyoutput << yysym.value.template as < ElementPtr > (); }
449#line 450 "dhcp4_parser.cc"
453#line 285 "dhcp4_parser.yy"
454 { yyoutput << yysym.value.template as < ElementPtr > (); }
455#line 456 "dhcp4_parser.cc"
459#line 285 "dhcp4_parser.yy"
460 { yyoutput << yysym.value.template as < ElementPtr > (); }
461#line 462 "dhcp4_parser.cc"
465#line 285 "dhcp4_parser.yy"
466 { yyoutput << yysym.value.template as < ElementPtr > (); }
467#line 468 "dhcp4_parser.cc"
471#line 285 "dhcp4_parser.yy"
472 { yyoutput << yysym.value.template as < ElementPtr > (); }
473#line 474 "dhcp4_parser.cc"
477#line 285 "dhcp4_parser.yy"
478 { yyoutput << yysym.value.template as < ElementPtr > (); }
479#line 480 "dhcp4_parser.cc"
491 Dhcp4Parser::yypush_ (
const char* m,
YY_MOVE_REF (stack_symbol_type) sym)
499 Dhcp4Parser::yypush_ (
const char* m, state_type s,
YY_MOVE_REF (symbol_type) sym)
501#if 201103L <= YY_CPLUSPLUS
502 yypush_ (m, stack_symbol_type (s, std::move (sym)));
504 stack_symbol_type ss (s, sym);
542 Dhcp4Parser::state_type
543 Dhcp4Parser::yy_lr_goto_state_ (state_type yystate,
int yysym)
545 int yyr = yypgoto_[yysym -
YYNTOKENS] + yystate;
546 if (0 <= yyr && yyr <= yylast_ && yycheck_[yyr] == yystate)
547 return yytable_[yyr];
553 Dhcp4Parser::yy_pact_value_is_default_ (
int yyvalue)
YY_NOEXCEPT
555 return yyvalue == yypact_ninf_;
559 Dhcp4Parser::yy_table_value_is_error_ (
int yyvalue)
YY_NOEXCEPT
561 return yyvalue == yytable_ninf_;
579 int yyerrstatus_ = 0;
585 stack_symbol_type yyerror_range[3];
602 yypush_ (YY_NULLPTR, 0,
YY_MOVE (yyla));
608 YYCDEBUG <<
"Entering state " << int (yystack_[0].state) <<
'\n';
612 if (yystack_[0].state == yyfinal_)
623 yyn = yypact_[+yystack_[0].state];
624 if (yy_pact_value_is_default_ (yyn))
636 yyla.
move (yylookahead);
641 YYCDEBUG <<
"Caught exception: " << yyexc.what() <<
'\n';
662 if (yyn < 0 || yylast_ < yyn || yycheck_[yyn] != yyla.kind ())
671 if (yy_table_value_is_error_ (yyn))
682 yypush_ (
"Shifting", state_type (yyn),
YY_MOVE (yyla));
690 yyn = yydefact_[+yystack_[0].state];
702 stack_symbol_type yylhs;
703 yylhs.state = yy_lr_goto_state_ (yystack_[yylen].state, yyr1_[yyn]);
722 yylhs.value.emplace<
bool > ();
726 yylhs.value.emplace<
double > ();
730 yylhs.value.emplace< int64_t > ();
734 yylhs.value.emplace< std::string > ();
746 yyerror_range[1].location = yylhs.location;
758#line 294 "dhcp4_parser.yy"
760#line 761 "dhcp4_parser.cc"
764#line 295 "dhcp4_parser.yy"
766#line 767 "dhcp4_parser.cc"
770#line 296 "dhcp4_parser.yy"
772#line 773 "dhcp4_parser.cc"
776#line 297 "dhcp4_parser.yy"
778#line 779 "dhcp4_parser.cc"
782#line 298 "dhcp4_parser.yy"
784#line 785 "dhcp4_parser.cc"
788#line 299 "dhcp4_parser.yy"
790#line 791 "dhcp4_parser.cc"
794#line 300 "dhcp4_parser.yy"
796#line 797 "dhcp4_parser.cc"
800#line 301 "dhcp4_parser.yy"
802#line 803 "dhcp4_parser.cc"
806#line 302 "dhcp4_parser.yy"
808#line 809 "dhcp4_parser.cc"
812#line 303 "dhcp4_parser.yy"
814#line 815 "dhcp4_parser.cc"
818#line 304 "dhcp4_parser.yy"
820#line 821 "dhcp4_parser.cc"
824#line 305 "dhcp4_parser.yy"
826#line 827 "dhcp4_parser.cc"
830#line 306 "dhcp4_parser.yy"
832#line 833 "dhcp4_parser.cc"
836#line 314 "dhcp4_parser.yy"
838#line 839 "dhcp4_parser.cc"
842#line 315 "dhcp4_parser.yy"
844#line 845 "dhcp4_parser.cc"
848#line 316 "dhcp4_parser.yy"
850#line 851 "dhcp4_parser.cc"
854#line 317 "dhcp4_parser.yy"
856#line 857 "dhcp4_parser.cc"
860#line 318 "dhcp4_parser.yy"
862#line 863 "dhcp4_parser.cc"
866#line 319 "dhcp4_parser.yy"
868#line 869 "dhcp4_parser.cc"
872#line 320 "dhcp4_parser.yy"
874#line 875 "dhcp4_parser.cc"
878#line 323 "dhcp4_parser.yy"
883#line 884 "dhcp4_parser.cc"
887#line 328 "dhcp4_parser.yy"
894#line 895 "dhcp4_parser.cc"
898#line 333 "dhcp4_parser.yy"
904#line 905 "dhcp4_parser.cc"
908#line 339 "dhcp4_parser.yy"
910#line 911 "dhcp4_parser.cc"
914#line 346 "dhcp4_parser.yy"
917 ctx.
unique(yystack_[2].value.as < std::string > (), ctx.
loc2pos(yystack_[2].location));
918 ctx.
stack_.back()->set(yystack_[2].value.as < std::string > (), yystack_[0].value.as <
ElementPtr > ());
920#line 921 "dhcp4_parser.cc"
924#line 351 "dhcp4_parser.yy"
928 ctx.
unique(yystack_[2].value.as < std::string > (), ctx.
loc2pos(yystack_[2].location));
929 ctx.
stack_.back()->set(yystack_[2].value.as < std::string > (), yystack_[0].value.as <
ElementPtr > ());
931#line 932 "dhcp4_parser.cc"
935#line 359 "dhcp4_parser.yy"
940#line 941 "dhcp4_parser.cc"
944#line 362 "dhcp4_parser.yy"
948#line 949 "dhcp4_parser.cc"
952#line 370 "dhcp4_parser.yy"
957#line 958 "dhcp4_parser.cc"
961#line 374 "dhcp4_parser.yy"
966#line 967 "dhcp4_parser.cc"
970#line 381 "dhcp4_parser.yy"
974#line 975 "dhcp4_parser.cc"
978#line 383 "dhcp4_parser.yy"
983#line 984 "dhcp4_parser.cc"
987#line 392 "dhcp4_parser.yy"
990 ctx.
stack_.back()->add(s);
992#line 993 "dhcp4_parser.cc"
996#line 396 "dhcp4_parser.yy"
999 ctx.
stack_.back()->add(s);
1001#line 1002 "dhcp4_parser.cc"
1005#line 407 "dhcp4_parser.yy"
1008 const std::string& keyword = yystack_[1].value.as < std::string > ();
1009 error(yystack_[1].location,
1010 "got unexpected keyword \"" + keyword +
"\" in " + where +
" map.");
1012#line 1013 "dhcp4_parser.cc"
1016#line 416 "dhcp4_parser.yy"
1023#line 1024 "dhcp4_parser.cc"
1027#line 421 "dhcp4_parser.yy"
1036#line 1037 "dhcp4_parser.cc"
1040#line 431 "dhcp4_parser.yy"
1047 ctx.
stack_.back()->set(
"Dhcp4", m);
1051#line 1052 "dhcp4_parser.cc"
1055#line 440 "dhcp4_parser.yy"
1061#line 1062 "dhcp4_parser.cc"
1065#line 448 "dhcp4_parser.yy"
1071#line 1072 "dhcp4_parser.cc"
1075#line 452 "dhcp4_parser.yy"
1080#line 1081 "dhcp4_parser.cc"
1084#line 527 "dhcp4_parser.yy"
1086 ctx.
unique(
"valid-lifetime", ctx.
loc2pos(yystack_[2].location));
1088 ctx.
stack_.back()->set(
"valid-lifetime", prf);
1090#line 1091 "dhcp4_parser.cc"
1094#line 533 "dhcp4_parser.yy"
1096 ctx.
unique(
"min-valid-lifetime", ctx.
loc2pos(yystack_[2].location));
1098 ctx.
stack_.back()->set(
"min-valid-lifetime", prf);
1100#line 1101 "dhcp4_parser.cc"
1104#line 539 "dhcp4_parser.yy"
1106 ctx.
unique(
"max-valid-lifetime", ctx.
loc2pos(yystack_[2].location));
1108 ctx.
stack_.back()->set(
"max-valid-lifetime", prf);
1110#line 1111 "dhcp4_parser.cc"
1114#line 545 "dhcp4_parser.yy"
1116 ctx.
unique(
"renew-timer", ctx.
loc2pos(yystack_[2].location));
1118 ctx.
stack_.back()->set(
"renew-timer", prf);
1120#line 1121 "dhcp4_parser.cc"
1124#line 551 "dhcp4_parser.yy"
1126 ctx.
unique(
"rebind-timer", ctx.
loc2pos(yystack_[2].location));
1128 ctx.
stack_.back()->set(
"rebind-timer", prf);
1130#line 1131 "dhcp4_parser.cc"
1134#line 557 "dhcp4_parser.yy"
1136 ctx.
unique(
"calculate-tee-times", ctx.
loc2pos(yystack_[2].location));
1138 ctx.
stack_.back()->set(
"calculate-tee-times", ctt);
1140#line 1141 "dhcp4_parser.cc"
1144#line 563 "dhcp4_parser.yy"
1146 ctx.
unique(
"t1-percent", ctx.
loc2pos(yystack_[2].location));
1148 ctx.
stack_.back()->set(
"t1-percent", t1);
1150#line 1151 "dhcp4_parser.cc"
1154#line 569 "dhcp4_parser.yy"
1156 ctx.
unique(
"t2-percent", ctx.
loc2pos(yystack_[2].location));
1158 ctx.
stack_.back()->set(
"t2-percent", t2);
1160#line 1161 "dhcp4_parser.cc"
1164#line 575 "dhcp4_parser.yy"
1166 ctx.
unique(
"cache-threshold", ctx.
loc2pos(yystack_[2].location));
1168 ctx.
stack_.back()->set(
"cache-threshold", ct);
1170#line 1171 "dhcp4_parser.cc"
1174#line 581 "dhcp4_parser.yy"
1176 ctx.
unique(
"cache-max-age", ctx.
loc2pos(yystack_[2].location));
1178 ctx.
stack_.back()->set(
"cache-max-age", cm);
1180#line 1181 "dhcp4_parser.cc"
1184#line 587 "dhcp4_parser.yy"
1186 ctx.
unique(
"decline-probation-period", ctx.
loc2pos(yystack_[2].location));
1188 ctx.
stack_.back()->set(
"decline-probation-period", dpp);
1190#line 1191 "dhcp4_parser.cc"
1194#line 593 "dhcp4_parser.yy"
1196 ctx.
unique(
"server-tag", ctx.
loc2pos(yystack_[0].location));
1199#line 1200 "dhcp4_parser.cc"
1203#line 596 "dhcp4_parser.yy"
1206 ctx.
stack_.back()->set(
"server-tag", stag);
1209#line 1210 "dhcp4_parser.cc"
1213#line 602 "dhcp4_parser.yy"
1215 ctx.
unique(
"parked-packet-limit", ctx.
loc2pos(yystack_[2].location));
1217 ctx.
stack_.back()->set(
"parked-packet-limit", ppl);
1219#line 1220 "dhcp4_parser.cc"
1223#line 608 "dhcp4_parser.yy"
1225 ctx.
unique(
"echo-client-id", ctx.
loc2pos(yystack_[2].location));
1227 ctx.
stack_.back()->set(
"echo-client-id", echo);
1229#line 1230 "dhcp4_parser.cc"
1233#line 614 "dhcp4_parser.yy"
1235 ctx.
unique(
"match-client-id", ctx.
loc2pos(yystack_[2].location));
1237 ctx.
stack_.back()->set(
"match-client-id", match);
1239#line 1240 "dhcp4_parser.cc"
1243#line 620 "dhcp4_parser.yy"
1245 ctx.
unique(
"authoritative", ctx.
loc2pos(yystack_[2].location));
1247 ctx.
stack_.back()->set(
"authoritative", prf);
1249#line 1250 "dhcp4_parser.cc"
1253#line 626 "dhcp4_parser.yy"
1255 ctx.
unique(
"ddns-send-updates", ctx.
loc2pos(yystack_[2].location));
1257 ctx.
stack_.back()->set(
"ddns-send-updates", b);
1259#line 1260 "dhcp4_parser.cc"
1263#line 632 "dhcp4_parser.yy"
1265 ctx.
unique(
"ddns-override-no-update", ctx.
loc2pos(yystack_[2].location));
1267 ctx.
stack_.back()->set(
"ddns-override-no-update", b);
1269#line 1270 "dhcp4_parser.cc"
1273#line 638 "dhcp4_parser.yy"
1275 ctx.
unique(
"ddns-override-client-update", ctx.
loc2pos(yystack_[2].location));
1277 ctx.
stack_.back()->set(
"ddns-override-client-update", b);
1279#line 1280 "dhcp4_parser.cc"
1283#line 644 "dhcp4_parser.yy"
1286 ctx.
unique(
"ddns-replace-client-name", ctx.
loc2pos(yystack_[0].location));
1288#line 1289 "dhcp4_parser.cc"
1292#line 647 "dhcp4_parser.yy"
1294 ctx.
stack_.back()->set(
"ddns-replace-client-name", yystack_[0].value.as <
ElementPtr > ());
1297#line 1298 "dhcp4_parser.cc"
1301#line 653 "dhcp4_parser.yy"
1305#line 1306 "dhcp4_parser.cc"
1309#line 656 "dhcp4_parser.yy"
1313#line 1314 "dhcp4_parser.cc"
1317#line 659 "dhcp4_parser.yy"
1321#line 1322 "dhcp4_parser.cc"
1325#line 662 "dhcp4_parser.yy"
1329#line 1330 "dhcp4_parser.cc"
1333#line 665 "dhcp4_parser.yy"
1335 error(yystack_[0].location,
"boolean values for the replace-client-name are "
1336 "no longer supported");
1338#line 1339 "dhcp4_parser.cc"
1342#line 671 "dhcp4_parser.yy"
1344 ctx.
unique(
"ddns-generated-prefix", ctx.
loc2pos(yystack_[0].location));
1347#line 1348 "dhcp4_parser.cc"
1351#line 674 "dhcp4_parser.yy"
1354 ctx.
stack_.back()->set(
"ddns-generated-prefix", s);
1357#line 1358 "dhcp4_parser.cc"
1361#line 680 "dhcp4_parser.yy"
1363 ctx.
unique(
"ddns-qualifying-suffix", ctx.
loc2pos(yystack_[0].location));
1366#line 1367 "dhcp4_parser.cc"
1370#line 683 "dhcp4_parser.yy"
1373 ctx.
stack_.back()->set(
"ddns-qualifying-suffix", s);
1376#line 1377 "dhcp4_parser.cc"
1380#line 689 "dhcp4_parser.yy"
1382 ctx.
unique(
"ddns-update-on-renew", ctx.
loc2pos(yystack_[2].location));
1384 ctx.
stack_.back()->set(
"ddns-update-on-renew", b);
1386#line 1387 "dhcp4_parser.cc"
1390#line 695 "dhcp4_parser.yy"
1392 ctx.
unique(
"ddns-use-conflict-resolution", ctx.
loc2pos(yystack_[2].location));
1394 ctx.
stack_.back()->set(
"ddns-use-conflict-resolution", b);
1396#line 1397 "dhcp4_parser.cc"
1400#line 701 "dhcp4_parser.yy"
1402 ctx.
unique(
"hostname-char-set", ctx.
loc2pos(yystack_[0].location));
1405#line 1406 "dhcp4_parser.cc"
1409#line 704 "dhcp4_parser.yy"
1412 ctx.
stack_.back()->set(
"hostname-char-set", s);
1415#line 1416 "dhcp4_parser.cc"
1419#line 710 "dhcp4_parser.yy"
1421 ctx.
unique(
"hostname-char-replacement", ctx.
loc2pos(yystack_[0].location));
1424#line 1425 "dhcp4_parser.cc"
1428#line 713 "dhcp4_parser.yy"
1431 ctx.
stack_.back()->set(
"hostname-char-replacement", s);
1434#line 1435 "dhcp4_parser.cc"
1438#line 719 "dhcp4_parser.yy"
1440 ctx.
unique(
"store-extended-info", ctx.
loc2pos(yystack_[2].location));
1442 ctx.
stack_.back()->set(
"store-extended-info", b);
1444#line 1445 "dhcp4_parser.cc"
1448#line 725 "dhcp4_parser.yy"
1450 ctx.
unique(
"statistic-default-sample-count", ctx.
loc2pos(yystack_[2].location));
1452 ctx.
stack_.back()->set(
"statistic-default-sample-count", count);
1454#line 1455 "dhcp4_parser.cc"
1458#line 731 "dhcp4_parser.yy"
1460 ctx.
unique(
"statistic-default-sample-age", ctx.
loc2pos(yystack_[2].location));
1462 ctx.
stack_.back()->set(
"statistic-default-sample-age", age);
1464#line 1465 "dhcp4_parser.cc"
1468#line 737 "dhcp4_parser.yy"
1470 ctx.
unique(
"ip-reservations-unique", ctx.
loc2pos(yystack_[2].location));
1472 ctx.
stack_.back()->set(
"ip-reservations-unique", unique);
1474#line 1475 "dhcp4_parser.cc"
1478#line 743 "dhcp4_parser.yy"
1480 ctx.
unique(
"interfaces-config", ctx.
loc2pos(yystack_[0].location));
1482 ctx.
stack_.back()->set(
"interfaces-config", i);
1486#line 1487 "dhcp4_parser.cc"
1490#line 749 "dhcp4_parser.yy"
1496#line 1497 "dhcp4_parser.cc"
1500#line 768 "dhcp4_parser.yy"
1506#line 1507 "dhcp4_parser.cc"
1510#line 772 "dhcp4_parser.yy"
1515#line 1516 "dhcp4_parser.cc"
1519#line 777 "dhcp4_parser.yy"
1521 ctx.
unique(
"interfaces", ctx.
loc2pos(yystack_[0].location));
1523 ctx.
stack_.back()->set(
"interfaces", l);
1527#line 1528 "dhcp4_parser.cc"
1531#line 783 "dhcp4_parser.yy"
1536#line 1537 "dhcp4_parser.cc"
1540#line 788 "dhcp4_parser.yy"
1542 ctx.
unique(
"dhcp-socket-type", ctx.
loc2pos(yystack_[0].location));
1545#line 1546 "dhcp4_parser.cc"
1549#line 791 "dhcp4_parser.yy"
1551 ctx.
stack_.back()->set(
"dhcp-socket-type", yystack_[0].value.as <
ElementPtr > ());
1554#line 1555 "dhcp4_parser.cc"
1558#line 796 "dhcp4_parser.yy"
1560#line 1561 "dhcp4_parser.cc"
1564#line 797 "dhcp4_parser.yy"
1566#line 1567 "dhcp4_parser.cc"
1570#line 800 "dhcp4_parser.yy"
1572 ctx.
unique(
"outbound-interface", ctx.
loc2pos(yystack_[0].location));
1575#line 1576 "dhcp4_parser.cc"
1579#line 803 "dhcp4_parser.yy"
1581 ctx.
stack_.back()->set(
"outbound-interface", yystack_[0].value.as <
ElementPtr > ());
1584#line 1585 "dhcp4_parser.cc"
1588#line 808 "dhcp4_parser.yy"
1592#line 1593 "dhcp4_parser.cc"
1596#line 810 "dhcp4_parser.yy"
1600#line 1601 "dhcp4_parser.cc"
1604#line 814 "dhcp4_parser.yy"
1608 ctx.
stack_.back()->set(
"re-detect", b);
1610#line 1611 "dhcp4_parser.cc"
1614#line 821 "dhcp4_parser.yy"
1616 ctx.
unique(
"lease-database", ctx.
loc2pos(yystack_[0].location));
1618 ctx.
stack_.back()->set(
"lease-database", i);
1622#line 1623 "dhcp4_parser.cc"
1626#line 827 "dhcp4_parser.yy"
1633#line 1634 "dhcp4_parser.cc"
1637#line 834 "dhcp4_parser.yy"
1639 ctx.
unique(
"sanity-checks", ctx.
loc2pos(yystack_[0].location));
1641 ctx.
stack_.back()->set(
"sanity-checks", m);
1645#line 1646 "dhcp4_parser.cc"
1649#line 840 "dhcp4_parser.yy"
1654#line 1655 "dhcp4_parser.cc"
1658#line 850 "dhcp4_parser.yy"
1660 ctx.
unique(
"lease-checks", ctx.
loc2pos(yystack_[0].location));
1663#line 1664 "dhcp4_parser.cc"
1667#line 853 "dhcp4_parser.yy"
1670 if ( (
string(yystack_[0].value.as < std::string > ()) ==
"none") ||
1671 (
string(yystack_[0].value.as < std::string > ()) ==
"warn") ||
1672 (
string(yystack_[0].value.as < std::string > ()) ==
"fix") ||
1673 (
string(yystack_[0].value.as < std::string > ()) ==
"fix-del") ||
1674 (
string(yystack_[0].value.as < std::string > ()) ==
"del")) {
1676 ctx.
stack_.back()->set(
"lease-checks", user);
1679 error(yystack_[0].location,
"Unsupported 'lease-checks value: " +
string(yystack_[0].value.as < std::string > ()) +
1680 ", supported values are: none, warn, fix, fix-del, del");
1683#line 1684 "dhcp4_parser.cc"
1687#line 869 "dhcp4_parser.yy"
1689 ctx.
unique(
"hosts-database", ctx.
loc2pos(yystack_[0].location));
1691 ctx.
stack_.back()->set(
"hosts-database", i);
1695#line 1696 "dhcp4_parser.cc"
1699#line 875 "dhcp4_parser.yy"
1706#line 1707 "dhcp4_parser.cc"
1710#line 882 "dhcp4_parser.yy"
1712 ctx.
unique(
"hosts-databases", ctx.
loc2pos(yystack_[0].location));
1714 ctx.
stack_.back()->set(
"hosts-databases", l);
1718#line 1719 "dhcp4_parser.cc"
1722#line 888 "dhcp4_parser.yy"
1727#line 1728 "dhcp4_parser.cc"
1731#line 901 "dhcp4_parser.yy"
1734 ctx.
stack_.back()->add(m);
1737#line 1738 "dhcp4_parser.cc"
1741#line 905 "dhcp4_parser.yy"
1747#line 1748 "dhcp4_parser.cc"
1751#line 939 "dhcp4_parser.yy"
1756#line 1757 "dhcp4_parser.cc"
1760#line 942 "dhcp4_parser.yy"
1765#line 1766 "dhcp4_parser.cc"
1769#line 947 "dhcp4_parser.yy"
1771#line 1772 "dhcp4_parser.cc"
1775#line 948 "dhcp4_parser.yy"
1777#line 1778 "dhcp4_parser.cc"
1781#line 949 "dhcp4_parser.yy"
1783#line 1784 "dhcp4_parser.cc"
1787#line 950 "dhcp4_parser.yy"
1789#line 1790 "dhcp4_parser.cc"
1793#line 953 "dhcp4_parser.yy"
1798#line 1799 "dhcp4_parser.cc"
1802#line 956 "dhcp4_parser.yy"
1805 ctx.
stack_.back()->set(
"user", user);
1808#line 1809 "dhcp4_parser.cc"
1812#line 962 "dhcp4_parser.yy"
1817#line 1818 "dhcp4_parser.cc"
1821#line 965 "dhcp4_parser.yy"
1824 ctx.
stack_.back()->set(
"password", pwd);
1827#line 1828 "dhcp4_parser.cc"
1831#line 971 "dhcp4_parser.yy"
1836#line 1837 "dhcp4_parser.cc"
1840#line 974 "dhcp4_parser.yy"
1843 ctx.
stack_.back()->set(
"host", h);
1846#line 1847 "dhcp4_parser.cc"
1850#line 980 "dhcp4_parser.yy"
1854 ctx.
stack_.back()->set(
"port", p);
1856#line 1857 "dhcp4_parser.cc"
1860#line 986 "dhcp4_parser.yy"
1865#line 1866 "dhcp4_parser.cc"
1869#line 989 "dhcp4_parser.yy"
1872 ctx.
stack_.back()->set(
"name", name);
1875#line 1876 "dhcp4_parser.cc"
1879#line 995 "dhcp4_parser.yy"
1883 ctx.
stack_.back()->set(
"persist", n);
1885#line 1886 "dhcp4_parser.cc"
1889#line 1001 "dhcp4_parser.yy"
1891 ctx.
unique(
"lfc-interval", ctx.
loc2pos(yystack_[2].location));
1893 ctx.
stack_.back()->set(
"lfc-interval", n);
1895#line 1896 "dhcp4_parser.cc"
1899#line 1007 "dhcp4_parser.yy"
1903 ctx.
stack_.back()->set(
"readonly", n);
1905#line 1906 "dhcp4_parser.cc"
1909#line 1013 "dhcp4_parser.yy"
1911 ctx.
unique(
"connect-timeout", ctx.
loc2pos(yystack_[2].location));
1913 ctx.
stack_.back()->set(
"connect-timeout", n);
1915#line 1916 "dhcp4_parser.cc"
1919#line 1019 "dhcp4_parser.yy"
1921 ctx.
unique(
"request-timeout", ctx.
loc2pos(yystack_[2].location));
1923 ctx.
stack_.back()->set(
"request-timeout", n);
1925#line 1926 "dhcp4_parser.cc"
1929#line 1025 "dhcp4_parser.yy"
1931 ctx.
unique(
"tcp-keepalive", ctx.
loc2pos(yystack_[2].location));
1933 ctx.
stack_.back()->set(
"tcp-keepalive", n);
1935#line 1936 "dhcp4_parser.cc"
1939#line 1031 "dhcp4_parser.yy"
1941 ctx.
unique(
"tcp-nodelay", ctx.
loc2pos(yystack_[2].location));
1943 ctx.
stack_.back()->set(
"tcp-nodelay", n);
1945#line 1946 "dhcp4_parser.cc"
1949#line 1037 "dhcp4_parser.yy"
1951 ctx.
unique(
"contact-points", ctx.
loc2pos(yystack_[0].location));
1954#line 1955 "dhcp4_parser.cc"
1958#line 1040 "dhcp4_parser.yy"
1961 ctx.
stack_.back()->set(
"contact-points", cp);
1964#line 1965 "dhcp4_parser.cc"
1968#line 1046 "dhcp4_parser.yy"
1973#line 1974 "dhcp4_parser.cc"
1977#line 1049 "dhcp4_parser.yy"
1980 ctx.
stack_.back()->set(
"keyspace", ks);
1983#line 1984 "dhcp4_parser.cc"
1987#line 1055 "dhcp4_parser.yy"
1989 ctx.
unique(
"consistency", ctx.
loc2pos(yystack_[0].location));
1992#line 1993 "dhcp4_parser.cc"
1996#line 1058 "dhcp4_parser.yy"
1999 ctx.
stack_.back()->set(
"consistency", c);
2002#line 2003 "dhcp4_parser.cc"
2006#line 1064 "dhcp4_parser.yy"
2008 ctx.
unique(
"serial-consistency", ctx.
loc2pos(yystack_[0].location));
2011#line 2012 "dhcp4_parser.cc"
2015#line 1067 "dhcp4_parser.yy"
2018 ctx.
stack_.back()->set(
"serial-consistency", c);
2021#line 2022 "dhcp4_parser.cc"
2025#line 1073 "dhcp4_parser.yy"
2027 ctx.
unique(
"max-reconnect-tries", ctx.
loc2pos(yystack_[2].location));
2029 ctx.
stack_.back()->set(
"max-reconnect-tries", n);
2031#line 2032 "dhcp4_parser.cc"
2035#line 1079 "dhcp4_parser.yy"
2037 ctx.
unique(
"reconnect-wait-time", ctx.
loc2pos(yystack_[2].location));
2039 ctx.
stack_.back()->set(
"reconnect-wait-time", n);
2041#line 2042 "dhcp4_parser.cc"
2045#line 1085 "dhcp4_parser.yy"
2050#line 2051 "dhcp4_parser.cc"
2054#line 1088 "dhcp4_parser.yy"
2059#line 2060 "dhcp4_parser.cc"
2063#line 1093 "dhcp4_parser.yy"
2065#line 2066 "dhcp4_parser.cc"
2069#line 1094 "dhcp4_parser.yy"
2071#line 2072 "dhcp4_parser.cc"
2075#line 1095 "dhcp4_parser.yy"
2077#line 2078 "dhcp4_parser.cc"
2081#line 1098 "dhcp4_parser.yy"
2083 ctx.
unique(
"max-row-errors", ctx.
loc2pos(yystack_[2].location));
2085 ctx.
stack_.back()->set(
"max-row-errors", n);
2087#line 2088 "dhcp4_parser.cc"
2091#line 1105 "dhcp4_parser.yy"
2093 ctx.
unique(
"host-reservation-identifiers", ctx.
loc2pos(yystack_[0].location));
2095 ctx.
stack_.back()->set(
"host-reservation-identifiers", l);
2099#line 2100 "dhcp4_parser.cc"
2103#line 1111 "dhcp4_parser.yy"
2108#line 2109 "dhcp4_parser.cc"
2112#line 1127 "dhcp4_parser.yy"
2115 ctx.
stack_.back()->add(duid);
2117#line 2118 "dhcp4_parser.cc"
2121#line 1132 "dhcp4_parser.yy"
2124 ctx.
stack_.back()->add(hwaddr);
2126#line 2127 "dhcp4_parser.cc"
2130#line 1137 "dhcp4_parser.yy"
2133 ctx.
stack_.back()->add(circuit);
2135#line 2136 "dhcp4_parser.cc"
2139#line 1142 "dhcp4_parser.yy"
2142 ctx.
stack_.back()->add(client);
2144#line 2145 "dhcp4_parser.cc"
2148#line 1147 "dhcp4_parser.yy"
2151 ctx.
stack_.back()->add(flex_id);
2153#line 2154 "dhcp4_parser.cc"
2157#line 1154 "dhcp4_parser.yy"
2159 ctx.
unique(
"multi-threading", ctx.
loc2pos(yystack_[0].location));
2161 ctx.
stack_.back()->set(
"multi-threading", mt);
2162 ctx.
stack_.push_back(mt);
2165#line 2166 "dhcp4_parser.cc"
2169#line 1160 "dhcp4_parser.yy"
2172 ctx.
require(
"enable-multi-threading", ctx.
loc2pos(yystack_[2].location), ctx.
loc2pos(yystack_[0].location));
2176#line 2177 "dhcp4_parser.cc"
2180#line 1179 "dhcp4_parser.yy"
2182 ctx.
unique(
"enable-multi-threading", ctx.
loc2pos(yystack_[2].location));
2184 ctx.
stack_.back()->set(
"enable-multi-threading", b);
2186#line 2187 "dhcp4_parser.cc"
2190#line 1185 "dhcp4_parser.yy"
2192 ctx.
unique(
"thread-pool-size", ctx.
loc2pos(yystack_[2].location));
2194 ctx.
stack_.back()->set(
"thread-pool-size", prf);
2196#line 2197 "dhcp4_parser.cc"
2200#line 1191 "dhcp4_parser.yy"
2202 ctx.
unique(
"packet-queue-size", ctx.
loc2pos(yystack_[2].location));
2204 ctx.
stack_.back()->set(
"packet-queue-size", prf);
2206#line 2207 "dhcp4_parser.cc"
2210#line 1197 "dhcp4_parser.yy"
2212 ctx.
unique(
"hooks-libraries", ctx.
loc2pos(yystack_[0].location));
2214 ctx.
stack_.back()->set(
"hooks-libraries", l);
2218#line 2219 "dhcp4_parser.cc"
2222#line 1203 "dhcp4_parser.yy"
2227#line 2228 "dhcp4_parser.cc"
2231#line 1216 "dhcp4_parser.yy"
2234 ctx.
stack_.back()->add(m);
2237#line 2238 "dhcp4_parser.cc"
2241#line 1220 "dhcp4_parser.yy"
2247#line 2248 "dhcp4_parser.cc"
2251#line 1226 "dhcp4_parser.yy"
2257#line 2258 "dhcp4_parser.cc"
2261#line 1230 "dhcp4_parser.yy"
2267#line 2268 "dhcp4_parser.cc"
2271#line 1245 "dhcp4_parser.yy"
2276#line 2277 "dhcp4_parser.cc"
2280#line 1248 "dhcp4_parser.yy"
2283 ctx.
stack_.back()->set(
"library", lib);
2286#line 2287 "dhcp4_parser.cc"
2290#line 1254 "dhcp4_parser.yy"
2292 ctx.
unique(
"parameters", ctx.
loc2pos(yystack_[0].location));
2295#line 2296 "dhcp4_parser.cc"
2299#line 1257 "dhcp4_parser.yy"
2301 ctx.
stack_.back()->set(
"parameters", yystack_[0].value.as <
ElementPtr > ());
2304#line 2305 "dhcp4_parser.cc"
2308#line 1263 "dhcp4_parser.yy"
2310 ctx.
unique(
"expired-leases-processing", ctx.
loc2pos(yystack_[0].location));
2312 ctx.
stack_.back()->set(
"expired-leases-processing", m);
2316#line 2317 "dhcp4_parser.cc"
2320#line 1269 "dhcp4_parser.yy"
2326#line 2327 "dhcp4_parser.cc"
2330#line 1287 "dhcp4_parser.yy"
2332 ctx.
unique(
"reclaim-timer-wait-time", ctx.
loc2pos(yystack_[2].location));
2334 ctx.
stack_.back()->set(
"reclaim-timer-wait-time", value);
2336#line 2337 "dhcp4_parser.cc"
2340#line 1293 "dhcp4_parser.yy"
2342 ctx.
unique(
"flush-reclaimed-timer-wait-time", ctx.
loc2pos(yystack_[2].location));
2344 ctx.
stack_.back()->set(
"flush-reclaimed-timer-wait-time", value);
2346#line 2347 "dhcp4_parser.cc"
2350#line 1299 "dhcp4_parser.yy"
2352 ctx.
unique(
"hold-reclaimed-time", ctx.
loc2pos(yystack_[2].location));
2354 ctx.
stack_.back()->set(
"hold-reclaimed-time", value);
2356#line 2357 "dhcp4_parser.cc"
2360#line 1305 "dhcp4_parser.yy"
2362 ctx.
unique(
"max-reclaim-leases", ctx.
loc2pos(yystack_[2].location));
2364 ctx.
stack_.back()->set(
"max-reclaim-leases", value);
2366#line 2367 "dhcp4_parser.cc"
2370#line 1311 "dhcp4_parser.yy"
2372 ctx.
unique(
"max-reclaim-time", ctx.
loc2pos(yystack_[2].location));
2374 ctx.
stack_.back()->set(
"max-reclaim-time", value);
2376#line 2377 "dhcp4_parser.cc"
2380#line 1317 "dhcp4_parser.yy"
2382 ctx.
unique(
"unwarned-reclaim-cycles", ctx.
loc2pos(yystack_[2].location));
2384 ctx.
stack_.back()->set(
"unwarned-reclaim-cycles", value);
2386#line 2387 "dhcp4_parser.cc"
2390#line 1326 "dhcp4_parser.yy"
2394 ctx.
stack_.back()->set(
"subnet4", l);
2398#line 2399 "dhcp4_parser.cc"
2402#line 1332 "dhcp4_parser.yy"
2407#line 2408 "dhcp4_parser.cc"
2411#line 1352 "dhcp4_parser.yy"
2414 ctx.
stack_.back()->add(m);
2417#line 2418 "dhcp4_parser.cc"
2421#line 1356 "dhcp4_parser.yy"
2443#line 2444 "dhcp4_parser.cc"
2447#line 1378 "dhcp4_parser.yy"
2453#line 2454 "dhcp4_parser.cc"
2457#line 1382 "dhcp4_parser.yy"
2463#line 2464 "dhcp4_parser.cc"
2467#line 1441 "dhcp4_parser.yy"
2472#line 2473 "dhcp4_parser.cc"
2476#line 1444 "dhcp4_parser.yy"
2479 ctx.
stack_.back()->set(
"subnet", subnet);
2482#line 2483 "dhcp4_parser.cc"
2486#line 1450 "dhcp4_parser.yy"
2488 ctx.
unique(
"4o6-interface", ctx.
loc2pos(yystack_[0].location));
2491#line 2492 "dhcp4_parser.cc"
2495#line 1453 "dhcp4_parser.yy"
2498 ctx.
stack_.back()->set(
"4o6-interface", iface);
2501#line 2502 "dhcp4_parser.cc"
2505#line 1459 "dhcp4_parser.yy"
2507 ctx.
unique(
"4o6-interface-id", ctx.
loc2pos(yystack_[0].location));
2510#line 2511 "dhcp4_parser.cc"
2514#line 1462 "dhcp4_parser.yy"
2517 ctx.
stack_.back()->set(
"4o6-interface-id", iface);
2520#line 2521 "dhcp4_parser.cc"
2524#line 1468 "dhcp4_parser.yy"
2526 ctx.
unique(
"4o6-subnet", ctx.
loc2pos(yystack_[0].location));
2529#line 2530 "dhcp4_parser.cc"
2533#line 1471 "dhcp4_parser.yy"
2536 ctx.
stack_.back()->set(
"4o6-subnet", iface);
2539#line 2540 "dhcp4_parser.cc"
2543#line 1477 "dhcp4_parser.yy"
2548#line 2549 "dhcp4_parser.cc"
2552#line 1480 "dhcp4_parser.yy"
2555 ctx.
stack_.back()->set(
"interface", iface);
2558#line 2559 "dhcp4_parser.cc"
2562#line 1486 "dhcp4_parser.yy"
2564 ctx.
unique(
"client-class", ctx.
loc2pos(yystack_[0].location));
2567#line 2568 "dhcp4_parser.cc"
2571#line 1489 "dhcp4_parser.yy"
2574 ctx.
stack_.back()->set(
"client-class", cls);
2577#line 2578 "dhcp4_parser.cc"
2581#line 1495 "dhcp4_parser.yy"
2583 ctx.
unique(
"require-client-classes", ctx.
loc2pos(yystack_[0].location));
2585 ctx.
stack_.back()->set(
"require-client-classes", c);
2589#line 2590 "dhcp4_parser.cc"
2593#line 1501 "dhcp4_parser.yy"
2598#line 2599 "dhcp4_parser.cc"
2602#line 1506 "dhcp4_parser.yy"
2604 ctx.
unique(
"reservations-global", ctx.
loc2pos(yystack_[2].location));
2606 ctx.
stack_.back()->set(
"reservations-global", b);
2608#line 2609 "dhcp4_parser.cc"
2612#line 1512 "dhcp4_parser.yy"
2614 ctx.
unique(
"reservations-in-subnet", ctx.
loc2pos(yystack_[2].location));
2616 ctx.
stack_.back()->set(
"reservations-in-subnet", b);
2618#line 2619 "dhcp4_parser.cc"
2622#line 1518 "dhcp4_parser.yy"
2624 ctx.
unique(
"reservations-out-of-pool", ctx.
loc2pos(yystack_[2].location));
2626 ctx.
stack_.back()->set(
"reservations-out-of-pool", b);
2628#line 2629 "dhcp4_parser.cc"
2632#line 1524 "dhcp4_parser.yy"
2634 ctx.
unique(
"reservation-mode", ctx.
loc2pos(yystack_[0].location));
2637#line 2638 "dhcp4_parser.cc"
2641#line 1527 "dhcp4_parser.yy"
2643 ctx.
stack_.back()->set(
"reservation-mode", yystack_[0].value.as <
ElementPtr > ());
2646#line 2647 "dhcp4_parser.cc"
2650#line 1532 "dhcp4_parser.yy"
2652#line 2653 "dhcp4_parser.cc"
2656#line 1533 "dhcp4_parser.yy"
2658#line 2659 "dhcp4_parser.cc"
2662#line 1534 "dhcp4_parser.yy"
2664#line 2665 "dhcp4_parser.cc"
2668#line 1535 "dhcp4_parser.yy"
2670#line 2671 "dhcp4_parser.cc"
2674#line 1538 "dhcp4_parser.yy"
2678 ctx.
stack_.back()->set(
"id",
id);
2680#line 2681 "dhcp4_parser.cc"
2684#line 1546 "dhcp4_parser.yy"
2686 ctx.
unique(
"shared-networks", ctx.
loc2pos(yystack_[0].location));
2688 ctx.
stack_.back()->set(
"shared-networks", l);
2692#line 2693 "dhcp4_parser.cc"
2696#line 1552 "dhcp4_parser.yy"
2701#line 2702 "dhcp4_parser.cc"
2705#line 1567 "dhcp4_parser.yy"
2708 ctx.
stack_.back()->add(m);
2711#line 2712 "dhcp4_parser.cc"
2715#line 1571 "dhcp4_parser.yy"
2719#line 2720 "dhcp4_parser.cc"
2723#line 1625 "dhcp4_parser.yy"
2725 ctx.
unique(
"option-def", ctx.
loc2pos(yystack_[0].location));
2727 ctx.
stack_.back()->set(
"option-def", l);
2731#line 2732 "dhcp4_parser.cc"
2735#line 1631 "dhcp4_parser.yy"
2740#line 2741 "dhcp4_parser.cc"
2744#line 1639 "dhcp4_parser.yy"
2749#line 2750 "dhcp4_parser.cc"
2753#line 1642 "dhcp4_parser.yy"
2757#line 2758 "dhcp4_parser.cc"
2761#line 1658 "dhcp4_parser.yy"
2764 ctx.
stack_.back()->add(m);
2767#line 2768 "dhcp4_parser.cc"
2771#line 1662 "dhcp4_parser.yy"
2779#line 2780 "dhcp4_parser.cc"
2783#line 1673 "dhcp4_parser.yy"
2789#line 2790 "dhcp4_parser.cc"
2793#line 1677 "dhcp4_parser.yy"
2801#line 2802 "dhcp4_parser.cc"
2805#line 1709 "dhcp4_parser.yy"
2809 ctx.
stack_.back()->set(
"code", code);
2811#line 2812 "dhcp4_parser.cc"
2815#line 1717 "dhcp4_parser.yy"
2820#line 2821 "dhcp4_parser.cc"
2824#line 1720 "dhcp4_parser.yy"
2827 ctx.
stack_.back()->set(
"type", prf);
2830#line 2831 "dhcp4_parser.cc"
2834#line 1726 "dhcp4_parser.yy"
2836 ctx.
unique(
"record-types", ctx.
loc2pos(yystack_[0].location));
2839#line 2840 "dhcp4_parser.cc"
2843#line 1729 "dhcp4_parser.yy"
2846 ctx.
stack_.back()->set(
"record-types", rtypes);
2849#line 2850 "dhcp4_parser.cc"
2853#line 1735 "dhcp4_parser.yy"
2858#line 2859 "dhcp4_parser.cc"
2862#line 1738 "dhcp4_parser.yy"
2865 ctx.
stack_.back()->set(
"space", space);
2868#line 2869 "dhcp4_parser.cc"
2872#line 1746 "dhcp4_parser.yy"
2874 ctx.
unique(
"encapsulate", ctx.
loc2pos(yystack_[0].location));
2877#line 2878 "dhcp4_parser.cc"
2881#line 1749 "dhcp4_parser.yy"
2884 ctx.
stack_.back()->set(
"encapsulate", encap);
2887#line 2888 "dhcp4_parser.cc"
2891#line 1755 "dhcp4_parser.yy"
2895 ctx.
stack_.back()->set(
"array", array);
2897#line 2898 "dhcp4_parser.cc"
2901#line 1765 "dhcp4_parser.yy"
2903 ctx.
unique(
"option-data", ctx.
loc2pos(yystack_[0].location));
2905 ctx.
stack_.back()->set(
"option-data", l);
2909#line 2910 "dhcp4_parser.cc"
2913#line 1771 "dhcp4_parser.yy"
2918#line 2919 "dhcp4_parser.cc"
2922#line 1790 "dhcp4_parser.yy"
2925 ctx.
stack_.back()->add(m);
2928#line 2929 "dhcp4_parser.cc"
2932#line 1794 "dhcp4_parser.yy"
2937#line 2938 "dhcp4_parser.cc"
2941#line 1802 "dhcp4_parser.yy"
2947#line 2948 "dhcp4_parser.cc"
2951#line 1806 "dhcp4_parser.yy"
2956#line 2957 "dhcp4_parser.cc"
2960#line 1839 "dhcp4_parser.yy"
2965#line 2966 "dhcp4_parser.cc"
2969#line 1842 "dhcp4_parser.yy"
2972 ctx.
stack_.back()->set(
"data", data);
2975#line 2976 "dhcp4_parser.cc"
2979#line 1852 "dhcp4_parser.yy"
2981 ctx.
unique(
"csv-format", ctx.
loc2pos(yystack_[2].location));
2983 ctx.
stack_.back()->set(
"csv-format", space);
2985#line 2986 "dhcp4_parser.cc"
2989#line 1858 "dhcp4_parser.yy"
2991 ctx.
unique(
"always-send", ctx.
loc2pos(yystack_[2].location));
2993 ctx.
stack_.back()->set(
"always-send", persist);
2995#line 2996 "dhcp4_parser.cc"
2999#line 1867 "dhcp4_parser.yy"
3003 ctx.
stack_.back()->set(
"pools", l);
3007#line 3008 "dhcp4_parser.cc"
3011#line 1873 "dhcp4_parser.yy"
3016#line 3017 "dhcp4_parser.cc"
3020#line 1888 "dhcp4_parser.yy"
3023 ctx.
stack_.back()->add(m);
3026#line 3027 "dhcp4_parser.cc"
3030#line 1892 "dhcp4_parser.yy"
3036#line 3037 "dhcp4_parser.cc"
3040#line 1898 "dhcp4_parser.yy"
3046#line 3047 "dhcp4_parser.cc"
3050#line 1902 "dhcp4_parser.yy"
3056#line 3057 "dhcp4_parser.cc"
3060#line 1921 "dhcp4_parser.yy"
3065#line 3066 "dhcp4_parser.cc"
3069#line 1924 "dhcp4_parser.yy"
3072 ctx.
stack_.back()->set(
"pool", pool);
3075#line 3076 "dhcp4_parser.cc"
3079#line 1930 "dhcp4_parser.yy"
3083#line 3084 "dhcp4_parser.cc"
3087#line 1932 "dhcp4_parser.yy"
3096 if ((old->size() != 1) || !old->contains(
"comment")) {
3097 std::stringstream msg;
3098 msg <<
"duplicate user-context entries (previous at "
3099 << old->getPosition().str() <<
")";
3100 error(yystack_[3].location, msg.str());
3103 user_context->set(
"comment", old->get(
"comment"));
3107 parent->set(
"user-context", user_context);
3110#line 3111 "dhcp4_parser.cc"
3114#line 1955 "dhcp4_parser.yy"
3118#line 3119 "dhcp4_parser.cc"
3122#line 1957 "dhcp4_parser.yy"
3127 user_context->set(
"comment", comment);
3133 if (old->contains(
"comment")) {
3134 std::stringstream msg;
3135 msg <<
"duplicate user-context/comment entries (previous at "
3136 << old->getPosition().str() <<
")";
3137 error(yystack_[3].location, msg.str());
3140 merge(user_context, old);
3144 parent->set(
"user-context", user_context);
3147#line 3148 "dhcp4_parser.cc"
3151#line 1985 "dhcp4_parser.yy"
3153 ctx.
unique(
"reservations", ctx.
loc2pos(yystack_[0].location));
3155 ctx.
stack_.back()->set(
"reservations", l);
3159#line 3160 "dhcp4_parser.cc"
3163#line 1991 "dhcp4_parser.yy"
3168#line 3169 "dhcp4_parser.cc"
3172#line 2004 "dhcp4_parser.yy"
3175 ctx.
stack_.back()->add(m);
3178#line 3179 "dhcp4_parser.cc"
3182#line 2008 "dhcp4_parser.yy"
3187#line 3188 "dhcp4_parser.cc"
3191#line 2013 "dhcp4_parser.yy"
3197#line 3198 "dhcp4_parser.cc"
3201#line 2017 "dhcp4_parser.yy"
3206#line 3207 "dhcp4_parser.cc"
3210#line 2048 "dhcp4_parser.yy"
3212 ctx.
unique(
"next-server", ctx.
loc2pos(yystack_[0].location));
3215#line 3216 "dhcp4_parser.cc"
3219#line 2051 "dhcp4_parser.yy"
3222 ctx.
stack_.back()->set(
"next-server", next_server);
3225#line 3226 "dhcp4_parser.cc"
3229#line 2057 "dhcp4_parser.yy"
3231 ctx.
unique(
"server-hostname", ctx.
loc2pos(yystack_[0].location));
3234#line 3235 "dhcp4_parser.cc"
3238#line 2060 "dhcp4_parser.yy"
3241 ctx.
stack_.back()->set(
"server-hostname", srv);
3244#line 3245 "dhcp4_parser.cc"
3248#line 2066 "dhcp4_parser.yy"
3250 ctx.
unique(
"boot-file-name", ctx.
loc2pos(yystack_[0].location));
3253#line 3254 "dhcp4_parser.cc"
3257#line 2069 "dhcp4_parser.yy"
3260 ctx.
stack_.back()->set(
"boot-file-name", bootfile);
3263#line 3264 "dhcp4_parser.cc"
3267#line 2075 "dhcp4_parser.yy"
3269 ctx.
unique(
"ip-address", ctx.
loc2pos(yystack_[0].location));
3272#line 3273 "dhcp4_parser.cc"
3276#line 2078 "dhcp4_parser.yy"
3279 ctx.
stack_.back()->set(
"ip-address", addr);
3282#line 3283 "dhcp4_parser.cc"
3286#line 2084 "dhcp4_parser.yy"
3288 ctx.
unique(
"ip-addresses", ctx.
loc2pos(yystack_[0].location));
3290 ctx.
stack_.back()->set(
"ip-addresses", l);
3294#line 3295 "dhcp4_parser.cc"
3298#line 2090 "dhcp4_parser.yy"
3303#line 3304 "dhcp4_parser.cc"
3307#line 2095 "dhcp4_parser.yy"
3312#line 3313 "dhcp4_parser.cc"
3316#line 2098 "dhcp4_parser.yy"
3319 ctx.
stack_.back()->set(
"duid", d);
3322#line 3323 "dhcp4_parser.cc"
3326#line 2104 "dhcp4_parser.yy"
3328 ctx.
unique(
"hw-address", ctx.
loc2pos(yystack_[0].location));
3331#line 3332 "dhcp4_parser.cc"
3335#line 2107 "dhcp4_parser.yy"
3338 ctx.
stack_.back()->set(
"hw-address", hw);
3341#line 3342 "dhcp4_parser.cc"
3345#line 2113 "dhcp4_parser.yy"
3350#line 3351 "dhcp4_parser.cc"
3354#line 2116 "dhcp4_parser.yy"
3357 ctx.
stack_.back()->set(
"client-id", hw);
3360#line 3361 "dhcp4_parser.cc"
3364#line 2122 "dhcp4_parser.yy"
3366 ctx.
unique(
"circuit-id", ctx.
loc2pos(yystack_[0].location));
3369#line 3370 "dhcp4_parser.cc"
3373#line 2125 "dhcp4_parser.yy"
3376 ctx.
stack_.back()->set(
"circuit-id", hw);
3379#line 3380 "dhcp4_parser.cc"
3383#line 2131 "dhcp4_parser.yy"
3388#line 3389 "dhcp4_parser.cc"
3392#line 2134 "dhcp4_parser.yy"
3395 ctx.
stack_.back()->set(
"flex-id", hw);
3398#line 3399 "dhcp4_parser.cc"
3402#line 2140 "dhcp4_parser.yy"
3407#line 3408 "dhcp4_parser.cc"
3411#line 2143 "dhcp4_parser.yy"
3414 ctx.
stack_.back()->set(
"hostname", host);
3417#line 3418 "dhcp4_parser.cc"
3421#line 2149 "dhcp4_parser.yy"
3423 ctx.
unique(
"client-classes", ctx.
loc2pos(yystack_[0].location));
3425 ctx.
stack_.back()->set(
"client-classes", c);
3429#line 3430 "dhcp4_parser.cc"
3433#line 2155 "dhcp4_parser.yy"
3438#line 3439 "dhcp4_parser.cc"
3442#line 2163 "dhcp4_parser.yy"
3446 ctx.
stack_.back()->set(
"relay", m);
3450#line 3451 "dhcp4_parser.cc"
3454#line 2169 "dhcp4_parser.yy"
3459#line 3460 "dhcp4_parser.cc"
3463#line 2181 "dhcp4_parser.yy"
3465 ctx.
unique(
"client-classes", ctx.
loc2pos(yystack_[0].location));
3467 ctx.
stack_.back()->set(
"client-classes", l);
3471#line 3472 "dhcp4_parser.cc"
3475#line 2187 "dhcp4_parser.yy"
3480#line 3481 "dhcp4_parser.cc"
3484#line 2196 "dhcp4_parser.yy"
3487 ctx.
stack_.back()->add(m);
3490#line 3491 "dhcp4_parser.cc"
3494#line 2200 "dhcp4_parser.yy"
3500#line 3501 "dhcp4_parser.cc"
3504#line 2232 "dhcp4_parser.yy"
3509#line 3510 "dhcp4_parser.cc"
3513#line 2235 "dhcp4_parser.yy"
3516 ctx.
stack_.back()->set(
"test", test);
3519#line 3520 "dhcp4_parser.cc"
3523#line 2241 "dhcp4_parser.yy"
3525 ctx.
unique(
"only-if-required", ctx.
loc2pos(yystack_[2].location));
3527 ctx.
stack_.back()->set(
"only-if-required", b);
3529#line 3530 "dhcp4_parser.cc"
3533#line 2249 "dhcp4_parser.yy"
3535 ctx.
unique(
"dhcp4o6-port", ctx.
loc2pos(yystack_[2].location));
3537 ctx.
stack_.back()->set(
"dhcp4o6-port", time);
3539#line 3540 "dhcp4_parser.cc"
3543#line 2257 "dhcp4_parser.yy"
3545 ctx.
unique(
"control-socket", ctx.
loc2pos(yystack_[0].location));
3547 ctx.
stack_.back()->set(
"control-socket", m);
3551#line 3552 "dhcp4_parser.cc"
3555#line 2263 "dhcp4_parser.yy"
3560#line 3561 "dhcp4_parser.cc"
3564#line 2279 "dhcp4_parser.yy"
3566 ctx.
unique(
"socket-type", ctx.
loc2pos(yystack_[0].location));
3569#line 3570 "dhcp4_parser.cc"
3573#line 2282 "dhcp4_parser.yy"
3576 ctx.
stack_.back()->set(
"socket-type", stype);
3579#line 3580 "dhcp4_parser.cc"
3583#line 2288 "dhcp4_parser.yy"
3585 ctx.
unique(
"socket-name", ctx.
loc2pos(yystack_[0].location));
3588#line 3589 "dhcp4_parser.cc"
3592#line 2291 "dhcp4_parser.yy"
3595 ctx.
stack_.back()->set(
"socket-name", name);
3598#line 3599 "dhcp4_parser.cc"
3602#line 2300 "dhcp4_parser.yy"
3604 ctx.
unique(
"dhcp-queue-control", ctx.
loc2pos(yystack_[0].location));
3606 ctx.
stack_.back()->set(
"dhcp-queue-control", qc);
3607 ctx.
stack_.push_back(qc);
3610#line 3611 "dhcp4_parser.cc"
3614#line 2306 "dhcp4_parser.yy"
3621#line 3622 "dhcp4_parser.cc"
3625#line 2325 "dhcp4_parser.yy"
3627 ctx.
unique(
"enable-queue", ctx.
loc2pos(yystack_[2].location));
3629 ctx.
stack_.back()->set(
"enable-queue", b);
3631#line 3632 "dhcp4_parser.cc"
3635#line 2331 "dhcp4_parser.yy"
3637 ctx.
unique(
"queue-type", ctx.
loc2pos(yystack_[0].location));
3640#line 3641 "dhcp4_parser.cc"
3644#line 2334 "dhcp4_parser.yy"
3647 ctx.
stack_.back()->set(
"queue-type", qt);
3650#line 3651 "dhcp4_parser.cc"
3654#line 2340 "dhcp4_parser.yy"
3658 ctx.
stack_.back()->set(
"capacity", c);
3660#line 3661 "dhcp4_parser.cc"
3664#line 2346 "dhcp4_parser.yy"
3666 ctx.
unique(yystack_[0].value.as < std::string > (), ctx.
loc2pos(yystack_[0].location));
3669#line 3670 "dhcp4_parser.cc"
3673#line 2349 "dhcp4_parser.yy"
3675 ctx.
stack_.back()->set(yystack_[3].value.as < std::string > (), yystack_[0].value.as <
ElementPtr > ());
3678#line 3679 "dhcp4_parser.cc"
3682#line 2356 "dhcp4_parser.yy"
3686 ctx.
stack_.back()->set(
"dhcp-ddns", m);
3690#line 3691 "dhcp4_parser.cc"
3694#line 2362 "dhcp4_parser.yy"
3697 ctx.
require(
"enable-updates", ctx.
loc2pos(yystack_[2].location), ctx.
loc2pos(yystack_[0].location));
3701#line 3702 "dhcp4_parser.cc"
3705#line 2369 "dhcp4_parser.yy"
3711#line 3712 "dhcp4_parser.cc"
3715#line 2373 "dhcp4_parser.yy"
3718 ctx.
require(
"enable-updates", ctx.
loc2pos(yystack_[3].location), ctx.
loc2pos(yystack_[0].location));
3721#line 3722 "dhcp4_parser.cc"
3725#line 2403 "dhcp4_parser.yy"
3727 ctx.
unique(
"enable-updates", ctx.
loc2pos(yystack_[2].location));
3729 ctx.
stack_.back()->set(
"enable-updates", b);
3731#line 3732 "dhcp4_parser.cc"
3735#line 2409 "dhcp4_parser.yy"
3740#line 3741 "dhcp4_parser.cc"
3744#line 2412 "dhcp4_parser.yy"
3747 ctx.
stack_.back()->set(
"server-ip", s);
3750#line 3751 "dhcp4_parser.cc"
3754#line 2418 "dhcp4_parser.yy"
3756 ctx.
unique(
"server-port", ctx.
loc2pos(yystack_[2].location));
3758 ctx.
stack_.back()->set(
"server-port", i);
3760#line 3761 "dhcp4_parser.cc"
3764#line 2424 "dhcp4_parser.yy"
3769#line 3770 "dhcp4_parser.cc"
3773#line 2427 "dhcp4_parser.yy"
3776 ctx.
stack_.back()->set(
"sender-ip", s);
3779#line 3780 "dhcp4_parser.cc"
3783#line 2433 "dhcp4_parser.yy"
3785 ctx.
unique(
"sender-port", ctx.
loc2pos(yystack_[2].location));
3787 ctx.
stack_.back()->set(
"sender-port", i);
3789#line 3790 "dhcp4_parser.cc"
3793#line 2439 "dhcp4_parser.yy"
3795 ctx.
unique(
"max-queue-size", ctx.
loc2pos(yystack_[2].location));
3797 ctx.
stack_.back()->set(
"max-queue-size", i);
3799#line 3800 "dhcp4_parser.cc"
3803#line 2445 "dhcp4_parser.yy"
3805 ctx.
unique(
"ncr-protocol", ctx.
loc2pos(yystack_[0].location));
3808#line 3809 "dhcp4_parser.cc"
3812#line 2448 "dhcp4_parser.yy"
3814 ctx.
stack_.back()->set(
"ncr-protocol", yystack_[0].value.as <
ElementPtr > ());
3817#line 3818 "dhcp4_parser.cc"
3821#line 2454 "dhcp4_parser.yy"
3823#line 3824 "dhcp4_parser.cc"
3827#line 2455 "dhcp4_parser.yy"
3829#line 3830 "dhcp4_parser.cc"
3833#line 2458 "dhcp4_parser.yy"
3835 ctx.
unique(
"ncr-format", ctx.
loc2pos(yystack_[0].location));
3838#line 3839 "dhcp4_parser.cc"
3842#line 2461 "dhcp4_parser.yy"
3845 ctx.
stack_.back()->set(
"ncr-format", json);
3848#line 3849 "dhcp4_parser.cc"
3852#line 2468 "dhcp4_parser.yy"
3854 ctx.
unique(
"qualifying-suffix", ctx.
loc2pos(yystack_[0].location));
3857#line 3858 "dhcp4_parser.cc"
3861#line 2471 "dhcp4_parser.yy"
3864 ctx.
stack_.back()->set(
"qualifying-suffix", s);
3867#line 3868 "dhcp4_parser.cc"
3871#line 2478 "dhcp4_parser.yy"
3873 ctx.
unique(
"override-no-update", ctx.
loc2pos(yystack_[2].location));
3875 ctx.
stack_.back()->set(
"override-no-update", b);
3877#line 3878 "dhcp4_parser.cc"
3881#line 2485 "dhcp4_parser.yy"
3883 ctx.
unique(
"override-client-update", ctx.
loc2pos(yystack_[2].location));
3885 ctx.
stack_.back()->set(
"override-client-update", b);
3887#line 3888 "dhcp4_parser.cc"
3891#line 2492 "dhcp4_parser.yy"
3893 ctx.
unique(
"replace-client-name", ctx.
loc2pos(yystack_[0].location));
3896#line 3897 "dhcp4_parser.cc"
3900#line 2495 "dhcp4_parser.yy"
3902 ctx.
stack_.back()->set(
"replace-client-name", yystack_[0].value.as <
ElementPtr > ());
3905#line 3906 "dhcp4_parser.cc"
3909#line 2501 "dhcp4_parser.yy"
3911 ctx.
unique(
"generated-prefix", ctx.
loc2pos(yystack_[0].location));
3914#line 3915 "dhcp4_parser.cc"
3918#line 2504 "dhcp4_parser.yy"
3921 ctx.
stack_.back()->set(
"generated-prefix", s);
3924#line 3925 "dhcp4_parser.cc"
3928#line 2511 "dhcp4_parser.yy"
3930 ctx.
unique(
"hostname-char-set", ctx.
loc2pos(yystack_[0].location));
3933#line 3934 "dhcp4_parser.cc"
3937#line 2514 "dhcp4_parser.yy"
3940 ctx.
stack_.back()->set(
"hostname-char-set", s);
3943#line 3944 "dhcp4_parser.cc"
3947#line 2521 "dhcp4_parser.yy"
3949 ctx.
unique(
"hostname-char-replacement", ctx.
loc2pos(yystack_[0].location));
3952#line 3953 "dhcp4_parser.cc"
3956#line 2524 "dhcp4_parser.yy"
3959 ctx.
stack_.back()->set(
"hostname-char-replacement", s);
3962#line 3963 "dhcp4_parser.cc"
3966#line 2533 "dhcp4_parser.yy"
3968 ctx.
unique(
"config-control", ctx.
loc2pos(yystack_[0].location));
3970 ctx.
stack_.back()->set(
"config-control", i);
3974#line 3975 "dhcp4_parser.cc"
3978#line 2539 "dhcp4_parser.yy"
3984#line 3985 "dhcp4_parser.cc"
3988#line 2545 "dhcp4_parser.yy"
3994#line 3995 "dhcp4_parser.cc"
3998#line 2549 "dhcp4_parser.yy"
4003#line 4004 "dhcp4_parser.cc"
4007#line 2564 "dhcp4_parser.yy"
4009 ctx.
unique(
"config-databases", ctx.
loc2pos(yystack_[0].location));
4011 ctx.
stack_.back()->set(
"config-databases", l);
4015#line 4016 "dhcp4_parser.cc"
4019#line 2570 "dhcp4_parser.yy"
4024#line 4025 "dhcp4_parser.cc"
4028#line 2575 "dhcp4_parser.yy"
4030 ctx.
unique(
"config-fetch-wait-time", ctx.
loc2pos(yystack_[2].location));
4032 ctx.
stack_.back()->set(
"config-fetch-wait-time", value);
4034#line 4035 "dhcp4_parser.cc"
4038#line 2583 "dhcp4_parser.yy"
4042 ctx.
stack_.back()->set(
"loggers", l);
4046#line 4047 "dhcp4_parser.cc"
4050#line 2589 "dhcp4_parser.yy"
4055#line 4056 "dhcp4_parser.cc"
4059#line 2601 "dhcp4_parser.yy"
4062 ctx.
stack_.back()->add(l);
4065#line 4066 "dhcp4_parser.cc"
4069#line 2605 "dhcp4_parser.yy"
4073#line 4074 "dhcp4_parser.cc"
4077#line 2622 "dhcp4_parser.yy"
4079 ctx.
unique(
"debuglevel", ctx.
loc2pos(yystack_[2].location));
4081 ctx.
stack_.back()->set(
"debuglevel", dl);
4083#line 4084 "dhcp4_parser.cc"
4087#line 2628 "dhcp4_parser.yy"
4092#line 4093 "dhcp4_parser.cc"
4096#line 2631 "dhcp4_parser.yy"
4099 ctx.
stack_.back()->set(
"severity", sev);
4102#line 4103 "dhcp4_parser.cc"
4106#line 2637 "dhcp4_parser.yy"
4108 ctx.
unique(
"output_options", ctx.
loc2pos(yystack_[0].location));
4110 ctx.
stack_.back()->set(
"output_options", l);
4114#line 4115 "dhcp4_parser.cc"
4118#line 2643 "dhcp4_parser.yy"
4123#line 4124 "dhcp4_parser.cc"
4127#line 2652 "dhcp4_parser.yy"
4130 ctx.
stack_.back()->add(m);
4133#line 4134 "dhcp4_parser.cc"
4137#line 2656 "dhcp4_parser.yy"
4141#line 4142 "dhcp4_parser.cc"
4145#line 2671 "dhcp4_parser.yy"
4150#line 4151 "dhcp4_parser.cc"
4154#line 2674 "dhcp4_parser.yy"
4157 ctx.
stack_.back()->set(
"output", sev);
4160#line 4161 "dhcp4_parser.cc"
4164#line 2680 "dhcp4_parser.yy"
4168 ctx.
stack_.back()->set(
"flush", flush);
4170#line 4171 "dhcp4_parser.cc"
4174#line 2686 "dhcp4_parser.yy"
4178 ctx.
stack_.back()->set(
"maxsize", maxsize);
4180#line 4181 "dhcp4_parser.cc"
4184#line 2692 "dhcp4_parser.yy"
4188 ctx.
stack_.back()->set(
"maxver", maxver);
4190#line 4191 "dhcp4_parser.cc"
4194#line 2698 "dhcp4_parser.yy"
4199#line 4200 "dhcp4_parser.cc"
4203#line 2701 "dhcp4_parser.yy"
4206 ctx.
stack_.back()->set(
"pattern", sev);
4209#line 4210 "dhcp4_parser.cc"
4213#line 2707 "dhcp4_parser.yy"
4215 ctx.
unique(
"compatibility", ctx.
loc2pos(yystack_[0].location));
4217 ctx.
stack_.back()->set(
"compatibility", i);
4221#line 4222 "dhcp4_parser.cc"
4225#line 2713 "dhcp4_parser.yy"
4230#line 4231 "dhcp4_parser.cc"
4234#line 2726 "dhcp4_parser.yy"
4236 ctx.
unique(
"lenient-option-parsing", ctx.
loc2pos(yystack_[2].location));
4238 ctx.
stack_.back()->set(
"lenient-option-parsing", b);
4240#line 4241 "dhcp4_parser.cc"
4244#line 4245 "dhcp4_parser.cc"
4253 YYCDEBUG <<
"Caught exception: " << yyexc.what() <<
'\n';
4263 yypush_ (YY_NULLPTR,
YY_MOVE (yylhs));
4277 std::string msg = yysyntax_error_ (yyctx);
4282 yyerror_range[1].location = yyla.
location;
4283 if (yyerrstatus_ == 3)
4291 else if (!yyla.
empty ())
4293 yy_destroy_ (
"Error: discarding", yyla);
4327 yyn = yypact_[+yystack_[0].state];
4328 if (!yy_pact_value_is_default_ (yyn))
4331 if (0 <= yyn && yyn <= yylast_
4334 yyn = yytable_[yyn];
4341 if (yystack_.size () == 1)
4344 yyerror_range[1].location = yystack_[0].location;
4345 yy_destroy_ (
"Error: popping", yystack_[0]);
4350 stack_symbol_type error_token;
4352 yyerror_range[2].location = yyla.
location;
4356 error_token.state = state_type (yyn);
4357 yypush_ (
"Shifting",
YY_MOVE (error_token));
4383 yy_destroy_ (
"Cleanup: discarding lookahead", yyla);
4389 while (1 < yystack_.size ())
4391 yy_destroy_ (
"Cleanup: popping", yystack_[0]);
4400 YYCDEBUG <<
"Exception caught: cleaning lookahead and stack\n";
4404 yy_destroy_ (YY_NULLPTR, yyla);
4406 while (1 < yystack_.size ())
4408 yy_destroy_ (YY_NULLPTR, yystack_[0]);
4428 Dhcp4Parser::yytnamerr_ (
const char *yystr)
4433 char const *yyp = yystr;
4440 goto do_not_strip_quotes;
4444 goto do_not_strip_quotes;
4456 do_not_strip_quotes: ;
4465 return yytnamerr_ (yytname_[yysymbol]);
4472 : yyparser_ (yyparser)
4482 const int yyn = yypact_[+yyparser_.yystack_[0].state];
4483 if (!yy_pact_value_is_default_ (yyn))
4488 const int yyxbegin = yyn < 0 ? -yyn : 0;
4490 const int yychecklim = yylast_ - yyn + 1;
4492 for (
int yyx = yyxbegin; yyx < yyxend; ++yyx)
4494 && !yy_table_value_is_error_ (yytable_[yyx + yyn]))
4498 else if (yycount == yyargn)
4505 if (yyarg && yycount == 0 && 0 < yyargn)
4516 Dhcp4Parser::yy_syntax_error_arguments_ (
const context& yyctx,
4547 yyarg[0] = yyctx.
token ();
4548 int yyn = yyctx.
expected_tokens (yyarg ? yyarg + 1 : yyarg, yyargn - 1);
4556 Dhcp4Parser::yysyntax_error_ (
const context& yyctx)
const
4559 enum { YYARGS_MAX = 5 };
4562 int yycount = yy_syntax_error_arguments_ (yyctx, yyarg, YYARGS_MAX);
4564 char const* yyformat = YY_NULLPTR;
4567#define YYCASE_(N, S) \
4573 YYCASE_ (1,
YY_(
"syntax error, unexpected %s"));
4574 YYCASE_ (2,
YY_(
"syntax error, unexpected %s, expecting %s"));
4575 YYCASE_ (3,
YY_(
"syntax error, unexpected %s, expecting %s or %s"));
4576 YYCASE_ (4,
YY_(
"syntax error, unexpected %s, expecting %s or %s or %s"));
4577 YYCASE_ (5,
YY_(
"syntax error, unexpected %s, expecting %s or %s or %s or %s"));
4583 std::ptrdiff_t yyi = 0;
4584 for (
char const* yyp = yyformat; *yyp; ++yyp)
4585 if (yyp[0] ==
'%' && yyp[1] ==
's' && yyi < yycount)
4596 const short Dhcp4Parser::yypact_ninf_ = -958;
4598 const signed char Dhcp4Parser::yytable_ninf_ = -1;
4601 Dhcp4Parser::yypact_[] =
4603 204, -958, -958, -958, -958, -958, -958, -958, -958, -958,
4604 -958, -958, -958, -958, 31, 38, 48, 60, 74, 78,
4605 80, 90, 99, 114, 132, 157, 189, 200, -958, -958,
4606 -958, -958, -958, -958, -958, -958, -958, -958, -958, -958,
4607 -958, -958, -958, -958, -958, -958, -958, -958, -958, -958,
4608 -958, -958, -958, -958, -958, -958, -958, -958, -958, -958,
4609 -958, -958, -958, -958, 38, -130, 107, 183, 67, 612,
4610 190, 247, 11, 89, 249, -96, 418, 116, -958, 129,
4611 177, 184, 213, 220, -958, 221, -958, -958, -958, 232,
4612 285, 291, -958, -958, -958, -958, -958, -958, 306, 317,
4613 327, 331, 334, 372, 385, 401, 402, 413, 414, -958,
4614 415, 417, 419, 420, 421, -958, -958, -958, 422, 423,
4615 425, -958, -958, -958, 426, -958, -958, -958, -958, 430,
4616 431, 432, -958, -958, -958, -958, -958, 433, -958, -958,
4617 -958, -958, -958, -958, 434, -958, -958, 435, -958, 56,
4618 -958, -958, -958, -958, -958, -958, -958, -958, -958, -958,
4619 -958, -958, -958, -958, -958, -958, -958, -958, -958, -958,
4620 -958, -958, -958, -958, -958, -958, -958, -958, -958, -958,
4621 -958, -958, -958, -958, -958, -958, -958, -958, -958, -958,
4622 -958, -958, -958, -958, -958, -958, -958, -958, -958, -958,
4623 -958, -958, -958, -958, -958, -958, -958, -958, -958, -958,
4624 -958, -958, -958, -958, -958, 437, -958, 85, -958, -958,
4625 -958, -958, -958, -958, -958, -958, -958, -958, -958, -958,
4626 -958, 439, -958, -958, -958, -958, -958, -958, -958, -958,
4627 -958, -958, -958, -958, -958, -958, -958, -958, -958, -958,
4628 -958, -958, -958, -958, -958, -958, -958, -958, -958, 92,
4629 -958, -958, -958, -958, -958, -958, -958, -958, -958, -958,
4630 -958, -958, -958, -958, -958, -958, -958, -958, -958, -958,
4631 -958, -958, -958, -958, -958, -958, -958, 93, -958, -958,
4632 -958, -958, -958, -958, -958, -958, -958, -958, -958, -958,
4633 -958, -958, -958, -958, 266, 278, -958, -958, -958, -958,
4634 -958, -958, -958, -958, -958, -958, -958, -958, 312, -958,
4635 -958, 441, -958, -958, -958, 442, -958, -958, 443, 446,
4636 -958, -958, -958, -958, -958, -958, -958, -958, -958, -958,
4637 -958, -958, -958, 449, 455, -958, -958, -958, -958, 454,
4638 461, -958, -958, -958, -958, -958, -958, -958, -958, -958,
4639 -958, -958, -958, 100, -958, -958, -958, 462, -958, -958,
4640 463, -958, 465, 466, -958, -958, 467, 472, -958, -958,
4641 -958, -958, -958, -958, -958, 110, -958, -958, -958, -958,
4642 -958, -958, -958, -958, -958, -958, -958, -958, -958, -958,
4643 -958, -958, -958, 474, 128, -958, -958, -958, -958, 38,
4644 38, -958, 264, 475, -958, 477, 480, 481, 218, 284,
4645 288, 485, 491, 492, 493, 496, 498, 301, 302, 304,
4646 305, 307, 310, 322, 323, 328, 308, 311, 504, 313,
4647 321, 315, 325, 329, 523, 528, 530, 333, 335, 339,
4648 540, 543, 545, 348, 547, 551, 553, 557, 358, 361,
4649 362, 563, 565, 566, 567, 568, 384, 583, 584, 585,
4650 586, 587, 590, 391, 592, 593, -958, 183, -958, 594,
4651 595, 596, 397, 67, -958, 598, 599, 600, 601, 602,
4652 603, 407, 604, 606, 608, 612, -958, 610, 190, -958,
4653 611, 613, 614, 616, 617, 618, 620, 621, -958, 247,
4654 -958, 622, 623, 428, 624, 627, 628, 429, -958, 89,
4655 630, 440, 445, -958, 249, 631, 632, -85, -958, 447,
4656 633, 639, 444, 641, 450, 451, 651, 652, 453, 456,
4657 654, 655, 657, 658, 418, -958, 663, 468, 116, -958,
4658 -958, -958, 664, 609, 662, 676, 677, -958, -958, -958,
4659 470, 484, 495, 679, 693, 697, -958, -958, -958, -958,
4660 -958, -958, -958, -958, -958, -958, -958, 502, -958, -958,
4661 -958, -958, -958, -120, 503, 509, -958, -958, -958, 700,
4662 706, 707, -958, 709, 714, 521, 236, -958, -958, -958,
4663 718, 719, 723, 724, 725, -958, 728, 729, 730, 731,
4664 538, 539, -958, 726, 735, -958, 738, 52, 142, -958,
4665 -958, 544, 546, 548, 739, 549, 550, -958, 738, 552,
4666 741, -958, 554, -958, 738, 555, 556, 558, 559, 560,
4667 561, 562, -958, 564, 569, -958, 570, 571, 572, -958,
4668 -958, 573, -958, -958, -958, 574, 714, -958, -958, 575,
4669 576, -958, 577, -958, -958, 15, 589, -958, -958, -120,
4670 578, 579, 580, -958, 747, -958, -958, 38, 183, 116,
4671 67, 722, -958, -958, -958, 108, 108, 757, -958, -958,
4672 -958, -958, -958, -958, -958, -958, -958, 759, 760, 761,
4673 762, -958, -958, -958, -958, -958, -958, -958, -958, -48,
4674 775, 776, 777, 242, 87, 121, 210, 418, -958, -958,
4675 778, -143, -958, -958, -958, -958, -958, -958, -958, -958,
4676 -958, -958, -958, 781, -958, -958, -958, -958, 173, -958,
4677 -958, -958, -958, -958, -958, -958, -958, -958, -958, -958,
4678 -958, -958, -958, -958, -958, -958, -958, -958, -958, -958,
4679 -958, -958, -958, -958, -958, -958, -958, 757, -958, 138,
4680 181, 192, -958, 235, -958, -958, -958, -958, -958, -958,
4681 750, 785, 786, 787, 788, -958, -958, -958, -958, 789,
4682 790, -958, 791, 792, 793, 794, -958, 270, -958, -958,
4683 -958, -958, -958, -958, -958, -958, -958, -958, -958, -958,
4684 -958, -958, -958, -958, -958, -958, -958, -958, -958, -958,
4685 277, -958, 795, 796, -958, -958, 797, 799, -958, -958,
4686 798, 802, -958, -958, 800, 804, -958, -958, 803, 805,
4687 -958, -958, -958, -958, -958, -958, 36, -958, -958, -958,
4688 -958, -958, -958, -958, 104, -958, -958, 806, 807, -958,
4689 -958, 808, 812, -958, 813, 814, 815, 816, 817, 818,
4690 298, -958, -958, -958, -958, -958, -958, -958, 819, 820,
4691 821, -958, 299, -958, -958, -958, -958, -958, -958, -958,
4692 -958, -958, -958, -958, 309, -958, -958, -958, 822, -958,
4693 823, -958, -958, -958, 316, -958, -958, -958, -958, -958,
4694 320, -958, 214, -958, 824, -958, 324, -958, -958, 615,
4695 -958, 825, 826, -958, -958, -958, -958, 827, 828, -958,
4696 -958, -958, 829, 722, -958, 832, 833, 834, 835, 638,
4697 607, 640, 626, 642, 837, 839, 841, 842, 645, 646,
4698 845, 648, 649, 650, 653, 108, -958, -958, 108, -958,
4699 757, 612, -958, 759, 89, -958, 760, 249, -958, 761,
4700 1228, -958, 762, -48, -958, 115, 775, -958, 247, -958,
4701 776, -96, -958, 777, 656, 659, 660, 661, 665, 666,
4702 242, -958, 667, 668, 670, 87, -958, 848, 849, 121,
4703 -958, 669, 852, 672, 853, 210, -958, -958, 21, 778,
4704 -958, 671, -143, -958, -958, 854, 856, 190, -958, 781,
4705 860, -958, -958, 675, -958, 330, 678, 680, 681, -958,
4706 -958, -958, -958, -958, 682, 683, 684, 685, -958, -958,
4707 332, -958, -958, -958, -958, -958, 326, -958, 346, -958,
4708 857, -958, 858, -958, -958, -958, -958, -958, -958, -958,
4709 -958, -958, -958, -958, -958, -958, -958, -958, -958, -958,
4710 -958, -958, -958, -958, -958, -958, -958, -958, -958, -958,
4711 -958, -958, -958, -958, -958, -958, -958, 382, -958, -958,
4712 -958, -958, -958, -958, -958, -958, -958, -958, -958, 865,
4713 -958, -958, -958, -958, -958, -958, -958, -958, -958, -958,
4714 -958, -958, 869, 875, -958, -958, -958, -958, -958, 872,
4715 -958, 404, -958, -958, -958, -958, -958, -958, -958, -958,
4716 -958, -958, -958, -958, 686, 687, -958, -958, 688, -958,
4717 38, -958, -958, 886, -958, -958, -958, -958, -958, 405,
4718 -958, -958, -958, -958, -958, -958, -958, -958, 690, 406,
4719 -958, 738, -958, -958, -958, -958, -958, -958, -958, -958,
4720 -958, -958, -958, -958, -958, -958, -958, -958, -958, -958,
4721 -958, -958, -958, 1228, -958, 888, 689, -958, 115, -958,
4722 -958, -958, -958, -958, -958, 891, 694, 894, 21, -958,
4723 -958, -958, -958, -958, 698, -958, -958, 896, -958, 701,
4724 -958, -958, 900, -958, -958, 224, -958, -10, 900, -958,
4725 -958, 905, 908, 913, -958, 412, -958, -958, -958, -958,
4726 -958, -958, -958, 914, 732, 737, 749, 929, -10, -958,
4727 767, -958, -958, -958, 768, -958, -958, -958
4731 Dhcp4Parser::yydefact_[] =
4733 0, 2, 4, 6, 8, 10, 12, 14, 16, 18,
4734 20, 22, 24, 26, 0, 0, 0, 0, 0, 0,
4735 0, 0, 0, 0, 0, 0, 0, 0, 1, 43,
4736 36, 32, 31, 28, 29, 30, 35, 3, 33, 34,
4737 56, 5, 60, 7, 178, 9, 342, 11, 542, 13,
4738 567, 15, 467, 17, 475, 19, 512, 21, 307, 23,
4739 676, 25, 726, 27, 45, 39, 0, 0, 0, 0,
4740 0, 569, 0, 477, 514, 0, 0, 0, 47, 0,
4741 46, 0, 0, 40, 58, 0, 724, 167, 193, 0,
4742 0, 0, 588, 590, 592, 191, 200, 202, 0, 0,
4743 0, 0, 0, 0, 0, 0, 0, 0, 0, 137,
4744 0, 0, 0, 0, 0, 146, 153, 155, 0, 0,
4745 0, 334, 465, 504, 0, 415, 555, 557, 408, 0,
4746 0, 0, 272, 616, 559, 299, 318, 0, 286, 645,
4747 658, 674, 159, 161, 0, 735, 773, 0, 125, 0,
4748 62, 64, 65, 66, 67, 68, 102, 103, 104, 105,
4749 106, 69, 97, 124, 86, 87, 88, 110, 111, 112,
4750 113, 114, 115, 116, 117, 108, 109, 118, 119, 120,
4751 122, 72, 73, 94, 74, 75, 76, 121, 80, 81,
4752 70, 99, 100, 101, 98, 71, 78, 79, 92, 93,
4753 95, 89, 90, 91, 77, 82, 83, 84, 85, 96,
4754 107, 123, 180, 182, 186, 0, 177, 0, 169, 171,
4755 172, 173, 174, 175, 176, 393, 395, 397, 534, 391,
4756 399, 0, 403, 401, 612, 390, 346, 347, 348, 349,
4757 350, 374, 375, 376, 377, 378, 364, 365, 379, 380,
4758 381, 382, 383, 384, 385, 386, 387, 388, 389, 0,
4759 344, 353, 369, 370, 371, 354, 356, 357, 360, 361,
4760 362, 359, 355, 351, 352, 372, 373, 358, 366, 367,
4761 368, 363, 553, 552, 548, 549, 547, 0, 544, 546,
4762 550, 551, 610, 598, 600, 604, 602, 608, 606, 594,
4763 587, 581, 585, 586, 0, 570, 571, 582, 583, 584,
4764 578, 573, 579, 575, 576, 577, 580, 574, 0, 494,
4765 247, 0, 498, 496, 501, 0, 490, 491, 0, 478,
4766 479, 481, 493, 482, 483, 484, 500, 485, 486, 487,
4767 488, 489, 528, 0, 0, 526, 527, 530, 531, 0,
4768 515, 516, 518, 519, 520, 521, 522, 523, 524, 525,
4769 314, 316, 311, 0, 309, 312, 313, 0, 712, 699,
4770 0, 702, 0, 0, 706, 710, 0, 0, 716, 718,
4771 720, 722, 697, 695, 696, 0, 678, 680, 681, 682,
4772 683, 684, 685, 686, 687, 692, 688, 689, 690, 691,
4773 693, 694, 732, 0, 0, 728, 730, 731, 44, 0,
4774 0, 37, 0, 0, 57, 0, 0, 0, 0, 0,
4775 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4776 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4777 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4778 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4779 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4780 0, 0, 0, 0, 0, 0, 55, 0, 61, 0,
4781 0, 0, 0, 0, 179, 0, 0, 0, 0, 0,
4782 0, 0, 0, 0, 0, 0, 343, 0, 0, 543,
4783 0, 0, 0, 0, 0, 0, 0, 0, 568, 0,
4784 468, 0, 0, 0, 0, 0, 0, 0, 476, 0,
4785 0, 0, 0, 513, 0, 0, 0, 0, 308, 0,
4786 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4787 0, 0, 0, 0, 0, 677, 0, 0, 0, 727,
4788 48, 41, 0, 0, 0, 0, 0, 140, 141, 142,
4789 0, 0, 0, 0, 0, 0, 126, 127, 128, 129,
4790 130, 131, 132, 133, 134, 135, 136, 0, 164, 165,
4791 143, 144, 145, 0, 0, 0, 157, 158, 163, 0,
4792 0, 0, 139, 0, 0, 0, 0, 405, 406, 407,
4793 0, 0, 0, 0, 0, 644, 0, 0, 0, 0,
4794 0, 0, 166, 0, 0, 63, 0, 0, 0, 190,
4795 170, 0, 0, 0, 0, 0, 0, 414, 0, 0,
4796 0, 345, 0, 545, 0, 0, 0, 0, 0, 0,
4797 0, 0, 572, 0, 0, 492, 0, 0, 0, 503,
4798 480, 0, 532, 533, 517, 0, 0, 310, 698, 0,
4799 0, 701, 0, 704, 705, 0, 0, 714, 715, 0,
4800 0, 0, 0, 679, 0, 734, 729, 0, 0, 0,
4801 0, 0, 589, 591, 593, 0, 0, 204, 138, 148,
4802 149, 150, 151, 152, 147, 154, 156, 336, 469, 506,
4803 417, 38, 556, 558, 410, 411, 412, 413, 409, 0,
4804 0, 561, 301, 0, 0, 0, 0, 0, 160, 162,
4805 0, 0, 49, 181, 184, 185, 183, 188, 189, 187,
4806 394, 396, 398, 536, 392, 400, 404, 402, 0, 554,
4807 611, 599, 601, 605, 603, 609, 607, 595, 495, 248,
4808 499, 497, 502, 529, 315, 317, 713, 700, 703, 708,
4809 709, 707, 711, 717, 719, 721, 723, 204, 42, 0,
4810 0, 0, 198, 0, 195, 197, 234, 240, 242, 244,
4811 0, 0, 0, 0, 0, 256, 258, 260, 262, 0,
4812 0, 266, 0, 0, 0, 0, 233, 0, 210, 212,
4813 213, 214, 215, 216, 217, 218, 219, 220, 221, 226,
4814 227, 228, 222, 229, 230, 231, 223, 224, 225, 232,
4815 0, 208, 0, 205, 206, 340, 0, 337, 338, 473,
4816 0, 470, 471, 510, 0, 507, 508, 421, 0, 418,
4817 419, 281, 282, 283, 284, 285, 0, 274, 276, 277,
4818 278, 279, 280, 620, 0, 618, 565, 0, 562, 563,
4819 305, 0, 302, 303, 0, 0, 0, 0, 0, 0,
4820 0, 320, 322, 323, 324, 325, 326, 327, 0, 0,
4821 0, 295, 0, 288, 290, 291, 292, 293, 294, 654,
4822 656, 653, 651, 652, 0, 647, 649, 650, 0, 669,
4823 0, 672, 665, 666, 0, 660, 662, 663, 664, 667,
4824 0, 739, 0, 737, 0, 778, 0, 775, 777, 51,
4825 540, 0, 537, 538, 596, 614, 615, 0, 0, 59,
4826 725, 168, 0, 0, 194, 0, 0, 0, 0, 0,
4827 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4828 0, 0, 0, 0, 0, 0, 192, 201, 0, 203,
4829 0, 0, 335, 0, 477, 466, 0, 514, 505, 0,
4830 0, 416, 0, 0, 273, 622, 0, 617, 569, 560,
4831 0, 0, 300, 0, 0, 0, 0, 0, 0, 0,
4832 0, 319, 0, 0, 0, 0, 287, 0, 0, 0,
4833 646, 0, 0, 0, 0, 0, 659, 675, 0, 0,
4834 736, 0, 0, 774, 53, 0, 52, 0, 535, 0,
4835 0, 613, 733, 0, 196, 0, 0, 0, 0, 246,
4836 249, 250, 251, 252, 0, 0, 0, 0, 264, 265,
4837 0, 253, 254, 255, 271, 211, 0, 207, 0, 339,
4838 0, 472, 0, 509, 464, 443, 444, 445, 428, 429,
4839 448, 449, 450, 451, 452, 431, 432, 453, 454, 455,
4840 456, 457, 458, 459, 460, 461, 462, 463, 425, 426,
4841 427, 441, 442, 438, 439, 440, 437, 0, 423, 430,
4842 446, 447, 433, 434, 435, 436, 420, 275, 641, 0,
4843 636, 637, 638, 639, 640, 629, 630, 634, 635, 631,
4844 632, 633, 0, 623, 624, 626, 627, 628, 619, 0,
4845 564, 0, 304, 328, 329, 330, 331, 332, 333, 321,
4846 296, 297, 298, 289, 0, 0, 648, 668, 0, 671,
4847 0, 661, 753, 0, 751, 749, 743, 747, 748, 0,
4848 741, 745, 746, 744, 738, 779, 776, 50, 0, 0,
4849 539, 0, 199, 236, 237, 238, 239, 235, 241, 243,
4850 245, 257, 259, 261, 263, 268, 269, 270, 267, 209,
4851 341, 474, 511, 0, 422, 0, 0, 621, 0, 566,
4852 306, 655, 657, 670, 673, 0, 0, 0, 0, 740,
4853 54, 541, 597, 424, 0, 643, 625, 0, 750, 0,
4854 742, 642, 0, 752, 757, 0, 755, 0, 0, 754,
4855 766, 0, 0, 0, 771, 0, 759, 761, 762, 763,
4856 764, 765, 756, 0, 0, 0, 0, 0, 0, 758,
4857 0, 768, 769, 770, 0, 760, 767, 772
4861 Dhcp4Parser::yypgoto_[] =
4863 -958, -958, -958, -958, -958, -958, -958, -958, -958, -958,
4864 -958, -958, -958, -958, -958, -54, -958, -566, -958, 144,
4865 -958, -958, -958, -958, -958, -958, -607, -958, -958, -958,
4866 -67, -958, -958, -958, -958, -958, -958, 154, 499, 4,
4867 10, 23, -40, -23, -12, 22, 25, 29, 33, -958,
4868 -958, -958, -958, -958, 35, 40, 43, 45, 46, 47,
4869 -958, 292, 50, -958, 51, -958, 53, 57, 58, -958,
4870 61, -958, 63, -958, -958, -958, -958, -958, 297, 489,
4871 -958, -958, -958, -958, -958, -958, -958, -958, -958, -958,
4872 -958, -958, -958, -958, -958, -958, 55, -958, -958, -958,
4873 -958, -958, -958, 222, -958, 42, -958, -674, 77, -958,
4874 -958, -958, -958, -958, -958, -958, -958, -958, -958, -33,
4875 -958, -958, -958, -958, -958, -958, -958, -958, -958, -958,
4876 -958, -958, -958, -958, -958, -958, -958, -958, -958, -958,
4877 -958, -958, -958, -958, -958, 71, -958, -958, -958, -958,
4878 -958, -958, -958, -958, 41, -958, -958, -958, -958, -958,
4879 -958, -958, 54, -958, -958, -958, 62, 514, -958, -958,
4880 -958, -958, -958, -958, -958, 59, -958, -958, -958, -958,
4881 -958, -958, -957, -958, -958, -958, 79, -958, -958, -958,
4882 84, 581, -958, -958, -958, -958, -958, -958, -958, -958,
4883 -955, -958, -65, -958, 70, -958, 64, 65, 68, 69,
4884 -958, -958, -958, -958, -958, -958, -958, 75, -958, -958,
4885 -137, -46, -958, -958, -958, -958, -958, 82, -958, -958,
4886 -958, 86, -958, 532, -958, -63, -958, -958, -958, -958,
4887 -958, -42, -958, -958, -958, -958, -958, -35, -958, -958,
4888 -958, 83, -958, -958, -958, 88, -958, 529, -958, -958,
4889 -958, -958, -958, -958, -958, -958, -958, -958, -958, 37,
4890 -958, -958, -958, 44, 582, -958, -958, -51, -958, -8,
4891 -958, -39, -958, -958, -958, 91, -958, -958, -958, 76,
4892 -958, 588, -55, -958, -15, -958, 3, -958, 319, -958,
4893 -958, -958, -958, -958, -958, -958, -958, -958, -958, -958,
4894 -958, -958, -958, -958, -958, -958, -946, -958, -958, -958,
4895 -958, -958, 94, -958, -958, -958, -129, -958, -958, -958,
4896 -958, -958, -958, -958, -958, 66, -958, -958, -958, -958,
4897 -958, -958, -958, 72, -958, -958, -958, -958, -958, -958,
4898 -958, -958, -958, -958, 341, 516, -958, -958, -958, -958,
4899 -958, -958, -958, -958, -958, -958, -958, -958, -958, -958,
4900 -958, -958, -958, -958, -958, -958, -958, -958, -958, -958,
4901 -958, -958, -958, -958, -958, 383, 515, -958, -958, -958,
4902 -958, -958, -958, 73, -958, -958, -134, -958, -958, -958,
4903 -958, -958, -958, -152, -958, -958, -171, -958, -958, -958,
4904 -958, -958, -958, -958, -958, -958, -958, 81, -958
4908 Dhcp4Parser::yydefgoto_[] =
4910 0, 14, 15, 16, 17, 18, 19, 20, 21, 22,
4911 23, 24, 25, 26, 27, 36, 37, 38, 65, 702,
4912 82, 83, 39, 64, 79, 80, 723, 919, 1015, 1016,
4913 796, 41, 66, 85, 413, 43, 67, 149, 150, 151,
4914 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
4915 162, 438, 163, 164, 165, 166, 167, 168, 169, 170,
4916 444, 694, 171, 445, 172, 446, 173, 174, 175, 471,
4917 176, 472, 177, 178, 179, 180, 181, 416, 217, 218,
4918 45, 68, 219, 479, 220, 480, 726, 221, 481, 729,
4919 222, 182, 424, 183, 417, 773, 774, 775, 932, 184,
4920 425, 185, 426, 822, 823, 824, 958, 797, 798, 799,
4921 935, 1167, 800, 936, 801, 937, 802, 938, 803, 804,
4922 512, 805, 806, 807, 808, 809, 810, 811, 812, 944,
4923 813, 945, 814, 946, 815, 947, 816, 817, 818, 950,
4924 1178, 819, 186, 461, 846, 847, 848, 849, 850, 851,
4925 852, 187, 467, 882, 883, 884, 885, 886, 188, 464,
4926 861, 862, 863, 981, 59, 75, 363, 364, 365, 525,
4927 366, 526, 189, 465, 870, 871, 872, 873, 874, 875,
4928 876, 877, 190, 450, 826, 827, 828, 961, 47, 69,
4929 259, 260, 261, 489, 262, 485, 263, 486, 264, 487,
4930 265, 490, 266, 493, 267, 492, 191, 192, 193, 194,
4931 457, 708, 272, 195, 454, 838, 839, 840, 970, 1087,
4932 1088, 196, 451, 53, 72, 830, 831, 832, 964, 55,
4933 73, 328, 329, 330, 331, 332, 333, 334, 511, 335,
4934 515, 336, 514, 337, 338, 516, 339, 197, 452, 834,
4935 835, 836, 967, 57, 74, 349, 350, 351, 352, 353,
4936 520, 354, 355, 356, 357, 274, 488, 921, 922, 923,
4937 1017, 49, 70, 287, 288, 289, 497, 198, 455, 199,
4938 456, 200, 463, 857, 858, 859, 978, 51, 71, 304,
4939 305, 306, 201, 421, 202, 422, 203, 423, 310, 507,
4940 926, 1020, 311, 501, 312, 502, 313, 504, 314, 503,
4941 315, 506, 316, 505, 317, 500, 281, 494, 927, 204,
4942 462, 854, 855, 975, 1112, 1113, 1114, 1115, 1116, 1185,
4943 1117, 205, 206, 468, 894, 895, 896, 997, 897, 998,
4944 207, 469, 904, 905, 906, 907, 1002, 908, 909, 1004,
4945 208, 470, 61, 76, 385, 386, 387, 388, 531, 389,
4946 390, 533, 391, 392, 393, 536, 761, 394, 537, 395,
4947 530, 396, 397, 398, 540, 399, 541, 400, 542, 401,
4948 543, 209, 415, 63, 77, 404, 405, 406, 546, 407,
4949 210, 474, 912, 913, 1008, 1149, 1150, 1151, 1152, 1197,
4950 1153, 1195, 1215, 1216, 1217, 1225, 1226, 1227, 1233, 1228,
4951 1229, 1230, 1231, 1237, 211, 475, 916, 917, 918
4955 Dhcp4Parser::yytable_[] =
4957 148, 216, 235, 283, 300, 284, 326, 345, 362, 382,
4958 78, 347, 820, 1079, 278, 1080, 307, 223, 275, 290,
4959 302, 736, 340, 358, 1095, 383, 318, 740, 701, 239,
4960 277, 28, 348, 759, 273, 286, 301, 360, 361, 973,
4961 327, 346, 974, 29, 914, 30, 240, 31, 360, 361,
4962 689, 690, 691, 692, 279, 40, 308, 241, 147, 477,
4963 224, 276, 291, 303, 478, 341, 359, 42, 384, 724,
4964 725, 81, 280, 236, 309, 841, 842, 843, 844, 237,
4965 845, 44, 212, 213, 693, 46, 214, 48, 483, 215,
4966 701, 242, 238, 484, 243, 495, 498, 50, 244, 122,
4967 496, 499, 245, 527, 246, 147, 52, 976, 528, 247,
4968 977, 320, 248, 544, 249, 250, 251, 84, 545, 252,
4969 253, 54, 254, 319, 126, 127, 255, 256, 402, 403,
4970 257, 548, 258, 268, 269, 408, 549, 270, 271, 56,
4971 285, 477, 776, 92, 93, 94, 929, 777, 778, 779,
4972 780, 781, 782, 783, 784, 785, 786, 787, 788, 789,
4973 790, 791, 727, 728, 58, 792, 793, 794, 795, 1220,
4974 126, 127, 1221, 1222, 1223, 1224, 98, 99, 100, 320,
4975 409, 321, 322, 760, 548, 323, 324, 325, 410, 930,
4976 126, 127, 126, 127, 86, 483, 60, 87, 320, 1142,
4977 931, 1143, 1144, 122, 123, 320, 88, 62, 89, 90,
4978 91, 92, 93, 94, 95, 96, 97, 1009, 126, 127,
4979 1010, 411, 147, 412, 126, 127, 1079, 1218, 1080, 414,
4980 1219, 878, 879, 880, 1098, 1099, 418, 1095, 933, 32,
4981 33, 34, 35, 934, 98, 99, 100, 101, 102, 103,
4982 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
4983 114, 115, 116, 117, 118, 119, 120, 121, 147, 889,
4984 890, 122, 123, 955, 508, 92, 93, 94, 956, 123,
4985 955, 509, 124, 125, 1046, 957, 126, 127, 147, 419,
4986 147, 128, 282, 126, 127, 420, 129, 130, 131, 132,
4987 133, 990, 995, 299, 924, 134, 991, 996, 232, 147,
4988 427, 233, 999, 126, 127, 135, 147, 1000, 136, 1005,
4989 510, 428, 147, 544, 1006, 137, 138, 1012, 1007, 955,
4990 139, 429, 1013, 140, 1179, 430, 123, 141, 431, 320,
4991 342, 321, 322, 343, 344, 704, 705, 706, 707, 495,
4992 126, 127, 126, 127, 1180, 550, 551, 142, 143, 144,
4993 145, 898, 899, 900, 292, 1163, 1164, 1165, 1166, 146,
4994 293, 294, 295, 296, 297, 298, 432, 299, 864, 865,
4995 866, 867, 868, 869, 147, 1183, 1175, 1176, 1177, 433,
4996 1184, 147, 1, 2, 3, 4, 5, 6, 7, 8,
4997 9, 10, 11, 12, 13, 434, 435, 527, 1198, 498,
4998 148, 901, 1190, 1199, 1201, 1238, 216, 436, 437, 439,
4999 1239, 440, 557, 441, 442, 443, 447, 448, 235, 449,
5000 453, 283, 223, 284, 458, 459, 460, 466, 473, 476,
5001 278, 482, 300, 491, 275, 513, 517, 290, 147, 519,
5002 147, 518, 326, 521, 307, 239, 277, 345, 302, 522,
5003 273, 347, 523, 286, 524, 552, 529, 532, 340, 534,
5004 535, 538, 240, 358, 301, 224, 539, 382, 547, 553,
5005 279, 554, 348, 241, 555, 556, 327, 276, 558, 560,
5006 291, 346, 559, 383, 308, 561, 562, 563, 280, 236,
5007 564, 303, 565, 566, 567, 237, 568, 569, 577, 570,
5008 575, 341, 309, 576, 571, 578, 359, 242, 238, 580,
5009 243, 126, 127, 579, 244, 572, 573, 583, 245, 581,
5010 246, 574, 584, 582, 585, 247, 384, 586, 248, 587,
5011 249, 250, 251, 588, 589, 252, 253, 590, 254, 591,
5012 592, 593, 255, 256, 1202, 594, 257, 595, 258, 268,
5013 269, 596, 597, 270, 271, 598, 599, 600, 285, 601,
5014 602, 603, 604, 367, 368, 369, 370, 371, 372, 373,
5015 374, 375, 376, 377, 378, 379, 605, 606, 607, 608,
5016 609, 610, 380, 381, 611, 612, 613, 614, 616, 617,
5017 618, 619, 621, 622, 623, 624, 625, 626, 628, 627,
5018 629, 148, 630, 216, 632, 634, 678, 635, 636, 147,
5019 637, 638, 639, 768, 640, 641, 643, 644, 646, 223,
5020 645, 647, 648, 649, 651, 655, 656, 659, 90, 91,
5021 92, 93, 94, 660, 652, 662, 661, 881, 891, 653,
5022 382, 658, 663, 664, 915, 665, 666, 667, 669, 670,
5023 668, 671, 672, 887, 892, 902, 383, 674, 677, 679,
5024 675, 682, 224, 98, 99, 100, 101, 102, 103, 104,
5025 105, 106, 107, 680, 681, 683, 685, 112, 113, 114,
5026 115, 116, 117, 118, 119, 120, 684, 225, 226, 227,
5027 686, 123, 687, 688, 695, 697, 888, 893, 903, 384,
5028 696, 698, 699, 228, 700, 126, 127, 229, 230, 231,
5029 128, 30, 703, 709, 710, 129, 130, 131, 711, 712,
5030 232, 720, 713, 233, 134, 714, 715, 716, 717, 718,
5031 719, 234, 721, 722, 733, 730, 772, 731, 738, 732,
5032 734, 735, 767, 737, 939, 739, 741, 742, 762, 743,
5033 744, 745, 746, 747, 821, 748, 825, 829, 833, 837,
5034 749, 750, 751, 752, 753, 754, 756, 757, 758, 764,
5035 765, 766, 853, 856, 860, 911, 142, 143, 920, 940,
5036 941, 942, 943, 948, 949, 951, 952, 953, 954, 960,
5037 755, 959, 963, 962, 965, 966, 968, 969, 972, 971,
5038 980, 1030, 979, 147, 982, 983, 1014, 984, 985, 986,
5039 987, 988, 989, 992, 993, 994, 1001, 1003, 1011, 1019,
5040 1032, 1018, 769, 1023, 1022, 1021, 1025, 1026, 1027, 1028,
5041 1029, 1034, 1031, 1035, 1033, 1036, 1037, 1038, 1039, 1040,
5042 1041, 1042, 1134, 1135, 1043, 1044, 1138, 1140, 1123, 1158,
5043 1157, 1124, 1125, 1126, 1161, 1181, 1182, 1127, 1128, 1186,
5044 1131, 1130, 1132, 1137, 1139, 1155, 1162, 1187, 1188, 1168,
5045 1189, 1169, 1170, 1171, 1172, 1173, 1174, 1191, 1192, 1193,
5046 1196, 1200, 1204, 1205, 235, 1207, 1208, 326, 1209, 1211,
5047 345, 1212, 1213, 1054, 347, 1081, 278, 1214, 1100, 1234,
5048 275, 300, 1235, 340, 362, 1092, 358, 1236, 1240, 1090,
5049 1109, 239, 277, 307, 1107, 348, 273, 302, 881, 1105,
5050 1058, 327, 891, 1244, 346, 1089, 1241, 1078, 240, 1242,
5051 1106, 1145, 1104, 301, 887, 915, 279, 1059, 892, 241,
5052 283, 1243, 284, 276, 902, 1093, 341, 1147, 1060, 359,
5053 1110, 763, 1091, 308, 280, 236, 290, 1108, 1246, 1247,
5054 303, 237, 620, 1094, 1055, 1146, 615, 771, 1111, 1101,
5055 1056, 309, 286, 242, 238, 1102, 243, 888, 1024, 928,
5056 244, 893, 1061, 1057, 245, 1062, 246, 903, 1103, 1063,
5057 1148, 247, 1047, 1064, 248, 1065, 249, 250, 251, 291,
5058 1066, 252, 253, 1067, 254, 1068, 1069, 1070, 255, 256,
5059 1071, 1072, 257, 1073, 258, 268, 269, 1074, 1075, 270,
5060 271, 1076, 1045, 1077, 1083, 1084, 1133, 1122, 1085, 1086,
5061 1082, 657, 1049, 1121, 1097, 1048, 1203, 1096, 1051, 1129,
5062 1050, 650, 1053, 654, 1119, 1052, 1160, 925, 910, 1206,
5063 673, 1159, 770, 676, 1210, 1136, 1232, 1245, 0, 0,
5064 1118, 1120, 0, 0, 0, 0, 631, 1141, 0, 0,
5065 633, 0, 1154, 0, 0, 0, 1194, 285, 0, 0,
5066 0, 0, 0, 1156, 0, 0, 0, 642, 0, 0,
5067 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5068 0, 0, 0, 0, 0, 0, 1054, 0, 1081, 0,
5069 0, 1100, 0, 0, 0, 0, 0, 0, 1092, 0,
5070 0, 1145, 1090, 1109, 0, 0, 0, 1107, 0, 0,
5071 0, 0, 1105, 1058, 0, 0, 0, 1147, 1089, 0,
5072 1078, 0, 0, 1106, 0, 1104, 0, 0, 0, 0,
5073 1059, 0, 0, 0, 0, 1146, 0, 0, 1093, 0,
5074 0, 1060, 0, 1110, 0, 1091, 0, 0, 0, 0,
5075 1108, 0, 0, 0, 0, 0, 1094, 1055, 0, 0,
5076 1148, 1111, 1101, 1056, 0, 0, 0, 0, 1102, 0,
5077 0, 0, 0, 0, 0, 1061, 1057, 0, 1062, 0,
5078 0, 1103, 1063, 0, 0, 0, 1064, 0, 1065, 0,
5079 0, 0, 0, 1066, 0, 0, 1067, 0, 1068, 1069,
5080 1070, 0, 0, 1071, 1072, 0, 1073, 0, 0, 0,
5081 1074, 1075, 0, 0, 1076, 0, 1077, 1083, 1084, 0,
5082 0, 1085, 1086, 1082, 90, 91, 92, 93, 94, 0,
5083 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5084 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5085 0, 0, 0, 0, 0, 0, 0, 0, 0, 98,
5086 99, 100, 101, 102, 103, 104, 105, 106, 107, 0,
5087 0, 0, 0, 112, 113, 114, 115, 116, 117, 118,
5088 119, 120, 121, 0, 0, 0, 0, 123, 320, 0,
5089 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5090 0, 126, 127, 0, 230, 0, 128, 0, 0, 0,
5091 0, 129, 130, 131, 0, 0, 232, 0, 0, 233,
5092 0, 0, 0, 0, 0, 0, 0, 234, 0, 0,
5093 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5094 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5095 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5096 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5097 0, 0, 142, 143, 0, 0, 0, 0, 0, 0,
5098 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5099 0, 0, 0, 0, 0, 0, 0, 0, 0, 147
5103 Dhcp4Parser::yycheck_[] =
5105 67, 68, 69, 70, 71, 70, 73, 74, 75, 76,
5106 64, 74, 686, 970, 69, 970, 71, 68, 69, 70,
5107 71, 628, 73, 74, 970, 76, 72, 634, 594, 69,
5108 69, 0, 74, 18, 69, 70, 71, 133, 134, 3,
5109 73, 74, 6, 5, 187, 7, 69, 9, 133, 134,
5110 170, 171, 172, 173, 69, 7, 71, 69, 201, 3,
5111 68, 69, 70, 71, 8, 73, 74, 7, 76, 17,
5112 18, 201, 69, 69, 71, 123, 124, 125, 126, 69,
5113 128, 7, 15, 16, 204, 7, 19, 7, 3, 22,
5114 656, 69, 69, 8, 69, 3, 3, 7, 69, 88,
5115 8, 8, 69, 3, 69, 201, 7, 3, 8, 69,
5116 6, 90, 69, 3, 69, 69, 69, 10, 8, 69,
5117 69, 7, 69, 34, 103, 104, 69, 69, 12, 13,
5118 69, 3, 69, 69, 69, 6, 8, 69, 69, 7,
5119 70, 3, 34, 28, 29, 30, 8, 39, 40, 41,
5120 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
5121 52, 53, 20, 21, 7, 57, 58, 59, 60, 179,
5122 103, 104, 182, 183, 184, 185, 61, 62, 63, 90,
5123 3, 92, 93, 168, 3, 96, 97, 98, 4, 8,
5124 103, 104, 103, 104, 11, 3, 7, 14, 90, 178,
5125 8, 180, 181, 88, 89, 90, 23, 7, 25, 26,
5126 27, 28, 29, 30, 31, 32, 33, 3, 103, 104,
5127 6, 8, 201, 3, 103, 104, 1183, 3, 1183, 8,
5128 6, 144, 145, 146, 119, 120, 4, 1183, 3, 201,
5129 202, 203, 204, 8, 61, 62, 63, 64, 65, 66,
5130 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
5131 77, 78, 79, 80, 81, 82, 83, 84, 201, 148,
5132 149, 88, 89, 3, 8, 28, 29, 30, 8, 89,
5133 3, 3, 99, 100, 958, 8, 103, 104, 201, 4,
5134 201, 108, 102, 103, 104, 4, 113, 114, 115, 116,
5135 117, 3, 3, 130, 131, 122, 8, 8, 118, 201,
5136 4, 121, 3, 103, 104, 132, 201, 8, 135, 3,
5137 8, 4, 201, 3, 8, 142, 143, 3, 8, 3,
5138 147, 4, 8, 150, 8, 4, 89, 154, 4, 90,
5139 91, 92, 93, 94, 95, 109, 110, 111, 112, 3,
5140 103, 104, 103, 104, 8, 409, 410, 174, 175, 176,
5141 177, 151, 152, 153, 117, 35, 36, 37, 38, 186,
5142 123, 124, 125, 126, 127, 128, 4, 130, 136, 137,
5143 138, 139, 140, 141, 201, 3, 54, 55, 56, 4,
5144 8, 201, 188, 189, 190, 191, 192, 193, 194, 195,
5145 196, 197, 198, 199, 200, 4, 4, 3, 3, 3,
5146 477, 201, 8, 8, 8, 3, 483, 4, 4, 4,
5147 8, 4, 204, 4, 4, 4, 4, 4, 495, 4,
5148 4, 498, 483, 498, 4, 4, 4, 4, 4, 4,
5149 495, 4, 509, 4, 495, 4, 4, 498, 201, 3,
5150 201, 8, 519, 4, 509, 495, 495, 524, 509, 4,
5151 495, 524, 8, 498, 3, 201, 4, 4, 519, 4,
5152 4, 4, 495, 524, 509, 483, 4, 544, 4, 4,
5153 495, 4, 524, 495, 4, 4, 519, 495, 204, 4,
5154 498, 524, 204, 544, 509, 4, 4, 4, 495, 495,
5155 4, 509, 4, 202, 202, 495, 202, 202, 4, 202,
5156 202, 519, 509, 202, 204, 202, 524, 495, 495, 204,
5157 495, 103, 104, 202, 495, 203, 203, 4, 495, 204,
5158 495, 203, 4, 204, 4, 495, 544, 204, 495, 204,
5159 495, 495, 495, 204, 4, 495, 495, 4, 495, 4,
5160 202, 4, 495, 495, 1161, 4, 495, 4, 495, 495,
5161 495, 4, 204, 495, 495, 204, 204, 4, 498, 4,
5162 4, 4, 4, 155, 156, 157, 158, 159, 160, 161,
5163 162, 163, 164, 165, 166, 167, 202, 4, 4, 4,
5164 4, 4, 174, 175, 4, 204, 4, 4, 4, 4,
5165 4, 204, 4, 4, 4, 4, 4, 4, 4, 202,
5166 4, 678, 4, 680, 4, 4, 7, 4, 4, 201,
5167 4, 4, 4, 677, 4, 4, 4, 4, 4, 680,
5168 202, 4, 4, 204, 4, 4, 4, 4, 26, 27,
5169 28, 29, 30, 4, 204, 4, 202, 714, 715, 204,
5170 717, 204, 202, 202, 721, 4, 4, 204, 4, 4,
5171 204, 4, 4, 714, 715, 716, 717, 4, 4, 7,
5172 202, 201, 680, 61, 62, 63, 64, 65, 66, 67,
5173 68, 69, 70, 7, 7, 201, 7, 75, 76, 77,
5174 78, 79, 80, 81, 82, 83, 201, 85, 86, 87,
5175 7, 89, 5, 201, 201, 5, 714, 715, 716, 717,
5176 201, 5, 5, 101, 5, 103, 104, 105, 106, 107,
5177 108, 7, 201, 5, 5, 113, 114, 115, 5, 5,
5178 118, 5, 7, 121, 122, 7, 7, 7, 7, 201,
5179 201, 129, 7, 5, 5, 201, 24, 201, 7, 201,
5180 201, 201, 5, 201, 4, 201, 201, 201, 169, 201,
5181 201, 201, 201, 201, 7, 201, 7, 7, 7, 7,
5182 201, 201, 201, 201, 201, 201, 201, 201, 201, 201,
5183 201, 201, 7, 7, 7, 7, 174, 175, 7, 4,
5184 4, 4, 4, 4, 4, 4, 4, 4, 4, 3,
5185 656, 6, 3, 6, 6, 3, 6, 3, 3, 6,
5186 3, 204, 6, 201, 6, 3, 201, 4, 4, 4,
5187 4, 4, 4, 4, 4, 4, 4, 4, 4, 3,
5188 204, 6, 678, 4, 6, 8, 4, 4, 4, 4,
5189 202, 4, 202, 4, 202, 4, 4, 202, 202, 4,
5190 202, 202, 4, 4, 204, 202, 4, 4, 202, 3,
5191 6, 202, 202, 202, 4, 8, 8, 202, 202, 4,
5192 202, 204, 202, 204, 202, 204, 201, 8, 3, 201,
5193 8, 201, 201, 201, 201, 201, 201, 201, 201, 201,
5194 4, 201, 4, 204, 961, 4, 202, 964, 4, 201,
5195 967, 5, 201, 970, 967, 970, 961, 7, 975, 4,
5196 961, 978, 4, 964, 981, 970, 967, 4, 4, 970,
5197 975, 961, 961, 978, 975, 967, 961, 978, 995, 975,
5198 970, 964, 999, 4, 967, 970, 204, 970, 961, 202,
5199 975, 1008, 975, 978, 995, 1012, 961, 970, 999, 961,
5200 1017, 202, 1017, 961, 1005, 970, 964, 1008, 970, 967,
5201 975, 669, 970, 978, 961, 961, 1017, 975, 201, 201,
5202 978, 961, 483, 970, 970, 1008, 477, 680, 975, 975,
5203 970, 978, 1017, 961, 961, 975, 961, 995, 933, 767,
5204 961, 999, 970, 970, 961, 970, 961, 1005, 975, 970,
5205 1008, 961, 960, 970, 961, 970, 961, 961, 961, 1017,
5206 970, 961, 961, 970, 961, 970, 970, 970, 961, 961,
5207 970, 970, 961, 970, 961, 961, 961, 970, 970, 961,
5208 961, 970, 955, 970, 970, 970, 995, 983, 970, 970,
5209 970, 527, 963, 981, 973, 961, 1183, 972, 966, 990,
5210 964, 519, 969, 524, 978, 967, 1019, 738, 717, 1188,
5211 544, 1017, 679, 548, 1198, 999, 1218, 1238, -1, -1,
5212 976, 980, -1, -1, -1, -1, 495, 1005, -1, -1,
5213 498, -1, 1009, -1, -1, -1, 1140, 1017, -1, -1,
5214 -1, -1, -1, 1012, -1, -1, -1, 509, -1, -1,
5215 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5216 -1, -1, -1, -1, -1, -1, 1183, -1, 1183, -1,
5217 -1, 1188, -1, -1, -1, -1, -1, -1, 1183, -1,
5218 -1, 1198, 1183, 1188, -1, -1, -1, 1188, -1, -1,
5219 -1, -1, 1188, 1183, -1, -1, -1, 1198, 1183, -1,
5220 1183, -1, -1, 1188, -1, 1188, -1, -1, -1, -1,
5221 1183, -1, -1, -1, -1, 1198, -1, -1, 1183, -1,
5222 -1, 1183, -1, 1188, -1, 1183, -1, -1, -1, -1,
5223 1188, -1, -1, -1, -1, -1, 1183, 1183, -1, -1,
5224 1198, 1188, 1188, 1183, -1, -1, -1, -1, 1188, -1,
5225 -1, -1, -1, -1, -1, 1183, 1183, -1, 1183, -1,
5226 -1, 1188, 1183, -1, -1, -1, 1183, -1, 1183, -1,
5227 -1, -1, -1, 1183, -1, -1, 1183, -1, 1183, 1183,
5228 1183, -1, -1, 1183, 1183, -1, 1183, -1, -1, -1,
5229 1183, 1183, -1, -1, 1183, -1, 1183, 1183, 1183, -1,
5230 -1, 1183, 1183, 1183, 26, 27, 28, 29, 30, -1,
5231 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5232 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5233 -1, -1, -1, -1, -1, -1, -1, -1, -1, 61,
5234 62, 63, 64, 65, 66, 67, 68, 69, 70, -1,
5235 -1, -1, -1, 75, 76, 77, 78, 79, 80, 81,
5236 82, 83, 84, -1, -1, -1, -1, 89, 90, -1,
5237 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5238 -1, 103, 104, -1, 106, -1, 108, -1, -1, -1,
5239 -1, 113, 114, 115, -1, -1, 118, -1, -1, 121,
5240 -1, -1, -1, -1, -1, -1, -1, 129, -1, -1,
5241 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5242 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5243 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5244 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5245 -1, -1, 174, 175, -1, -1, -1, -1, -1, -1,
5246 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5247 -1, -1, -1, -1, -1, -1, -1, -1, -1, 201
5251 Dhcp4Parser::yystos_[] =
5253 0, 188, 189, 190, 191, 192, 193, 194, 195, 196,
5254 197, 198, 199, 200, 206, 207, 208, 209, 210, 211,
5255 212, 213, 214, 215, 216, 217, 218, 219, 0, 5,
5256 7, 9, 201, 202, 203, 204, 220, 221, 222, 227,
5257 7, 236, 7, 240, 7, 285, 7, 393, 7, 476,
5258 7, 492, 7, 428, 7, 434, 7, 458, 7, 369,
5259 7, 557, 7, 588, 228, 223, 237, 241, 286, 394,
5260 477, 493, 429, 435, 459, 370, 558, 589, 220, 229,
5261 230, 201, 225, 226, 10, 238, 11, 14, 23, 25,
5262 26, 27, 28, 29, 30, 31, 32, 33, 61, 62,
5263 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
5264 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
5265 83, 84, 88, 89, 99, 100, 103, 104, 108, 113,
5266 114, 115, 116, 117, 122, 132, 135, 142, 143, 147,
5267 150, 154, 174, 175, 176, 177, 186, 201, 235, 242,
5268 243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
5269 253, 254, 255, 257, 258, 259, 260, 261, 262, 263,
5270 264, 267, 269, 271, 272, 273, 275, 277, 278, 279,
5271 280, 281, 296, 298, 304, 306, 347, 356, 363, 377,
5272 387, 411, 412, 413, 414, 418, 426, 452, 482, 484,
5273 486, 497, 499, 501, 524, 536, 537, 545, 555, 586,
5274 595, 619, 15, 16, 19, 22, 235, 283, 284, 287,
5275 289, 292, 295, 482, 484, 85, 86, 87, 101, 105,
5276 106, 107, 118, 121, 129, 235, 244, 245, 246, 247,
5277 248, 249, 250, 251, 252, 253, 259, 260, 261, 262,
5278 263, 264, 267, 269, 271, 272, 273, 275, 277, 395,
5279 396, 397, 399, 401, 403, 405, 407, 409, 411, 412,
5280 413, 414, 417, 452, 470, 482, 484, 486, 497, 499,
5281 501, 521, 102, 235, 407, 409, 452, 478, 479, 480,
5282 482, 484, 117, 123, 124, 125, 126, 127, 128, 130,
5283 235, 452, 482, 484, 494, 495, 496, 497, 499, 501,
5284 503, 507, 509, 511, 513, 515, 517, 519, 426, 34,
5285 90, 92, 93, 96, 97, 98, 235, 324, 436, 437,
5286 438, 439, 440, 441, 442, 444, 446, 448, 449, 451,
5287 482, 484, 91, 94, 95, 235, 324, 440, 446, 460,
5288 461, 462, 463, 464, 466, 467, 468, 469, 482, 484,
5289 133, 134, 235, 371, 372, 373, 375, 155, 156, 157,
5290 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
5291 174, 175, 235, 482, 484, 559, 560, 561, 562, 564,
5292 565, 567, 568, 569, 572, 574, 576, 577, 578, 580,
5293 582, 584, 12, 13, 590, 591, 592, 594, 6, 3,
5294 4, 8, 3, 239, 8, 587, 282, 299, 4, 4,
5295 4, 498, 500, 502, 297, 305, 307, 4, 4, 4,
5296 4, 4, 4, 4, 4, 4, 4, 4, 256, 4,
5297 4, 4, 4, 4, 265, 268, 270, 4, 4, 4,
5298 388, 427, 453, 4, 419, 483, 485, 415, 4, 4,
5299 4, 348, 525, 487, 364, 378, 4, 357, 538, 546,
5300 556, 274, 276, 4, 596, 620, 4, 3, 8, 288,
5301 290, 293, 4, 3, 8, 400, 402, 404, 471, 398,
5302 406, 4, 410, 408, 522, 3, 8, 481, 3, 8,
5303 520, 508, 510, 514, 512, 518, 516, 504, 8, 3,
5304 8, 443, 325, 4, 447, 445, 450, 4, 8, 3,
5305 465, 4, 4, 8, 3, 374, 376, 3, 8, 4,
5306 575, 563, 4, 566, 4, 4, 570, 573, 4, 4,
5307 579, 581, 583, 585, 3, 8, 593, 4, 3, 8,
5308 220, 220, 201, 4, 4, 4, 4, 204, 204, 204,
5309 4, 4, 4, 4, 4, 4, 202, 202, 202, 202,
5310 202, 204, 203, 203, 203, 202, 202, 4, 202, 202,
5311 204, 204, 204, 4, 4, 4, 204, 204, 204, 4,
5312 4, 4, 202, 4, 4, 4, 4, 204, 204, 204,
5313 4, 4, 4, 4, 4, 202, 4, 4, 4, 4,
5314 4, 4, 204, 4, 4, 243, 4, 4, 4, 204,
5315 284, 4, 4, 4, 4, 4, 4, 202, 4, 4,
5316 4, 396, 4, 479, 4, 4, 4, 4, 4, 4,
5317 4, 4, 496, 4, 4, 202, 4, 4, 4, 204,
5318 438, 4, 204, 204, 462, 4, 4, 372, 204, 4,
5319 4, 202, 4, 202, 202, 4, 4, 204, 204, 4,
5320 4, 4, 4, 560, 4, 202, 591, 4, 7, 7,
5321 7, 7, 201, 201, 201, 7, 7, 5, 201, 170,
5322 171, 172, 173, 204, 266, 201, 201, 5, 5, 5,
5323 5, 222, 224, 201, 109, 110, 111, 112, 416, 5,
5324 5, 5, 5, 7, 7, 7, 7, 7, 201, 201,
5325 5, 7, 5, 231, 17, 18, 291, 20, 21, 294,
5326 201, 201, 201, 5, 201, 201, 231, 201, 7, 201,
5327 231, 201, 201, 201, 201, 201, 201, 201, 201, 201,
5328 201, 201, 201, 201, 201, 224, 201, 201, 201, 18,
5329 168, 571, 169, 266, 201, 201, 201, 5, 220, 242,
5330 590, 283, 24, 300, 301, 302, 34, 39, 40, 41,
5331 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
5332 52, 53, 57, 58, 59, 60, 235, 312, 313, 314,
5333 317, 319, 321, 323, 324, 326, 327, 328, 329, 330,
5334 331, 332, 333, 335, 337, 339, 341, 342, 343, 346,
5335 312, 7, 308, 309, 310, 7, 389, 390, 391, 7,
5336 430, 431, 432, 7, 454, 455, 456, 7, 420, 421,
5337 422, 123, 124, 125, 126, 128, 349, 350, 351, 352,
5338 353, 354, 355, 7, 526, 527, 7, 488, 489, 490,
5339 7, 365, 366, 367, 136, 137, 138, 139, 140, 141,
5340 379, 380, 381, 382, 383, 384, 385, 386, 144, 145,
5341 146, 235, 358, 359, 360, 361, 362, 482, 484, 148,
5342 149, 235, 482, 484, 539, 540, 541, 543, 151, 152,
5343 153, 201, 482, 484, 547, 548, 549, 550, 552, 553,
5344 559, 7, 597, 598, 187, 235, 621, 622, 623, 232,
5345 7, 472, 473, 474, 131, 503, 505, 523, 308, 8,
5346 8, 8, 303, 3, 8, 315, 318, 320, 322, 4,
5347 4, 4, 4, 4, 334, 336, 338, 340, 4, 4,
5348 344, 4, 4, 4, 4, 3, 8, 8, 311, 6,
5349 3, 392, 6, 3, 433, 6, 3, 457, 6, 3,
5350 423, 6, 3, 3, 6, 528, 3, 6, 491, 6,
5351 3, 368, 6, 3, 4, 4, 4, 4, 4, 4,
5352 3, 8, 4, 4, 4, 3, 8, 542, 544, 3,
5353 8, 4, 551, 4, 554, 3, 8, 8, 599, 3,
5354 6, 4, 3, 8, 201, 233, 234, 475, 6, 3,
5355 506, 8, 6, 4, 301, 4, 4, 4, 4, 202,
5356 204, 202, 204, 202, 4, 4, 4, 4, 202, 202,
5357 4, 202, 202, 204, 202, 313, 312, 310, 395, 391,
5358 436, 432, 460, 456, 235, 244, 245, 246, 247, 248,
5359 249, 250, 251, 252, 253, 259, 260, 261, 262, 263,
5360 264, 267, 269, 271, 272, 273, 275, 277, 324, 387,
5361 405, 407, 409, 411, 412, 413, 414, 424, 425, 452,
5362 482, 484, 497, 499, 501, 521, 422, 350, 119, 120,
5363 235, 244, 245, 246, 324, 426, 452, 482, 484, 497,
5364 499, 501, 529, 530, 531, 532, 533, 535, 527, 494,
5365 490, 371, 367, 202, 202, 202, 202, 202, 202, 380,
5366 204, 202, 202, 359, 4, 4, 540, 204, 4, 202,
5367 4, 548, 178, 180, 181, 235, 324, 482, 484, 600,
5368 601, 602, 603, 605, 598, 204, 622, 6, 3, 478,
5369 474, 4, 201, 35, 36, 37, 38, 316, 201, 201,
5370 201, 201, 201, 201, 201, 54, 55, 56, 345, 8,
5371 8, 8, 8, 3, 8, 534, 4, 8, 3, 8,
5372 8, 201, 201, 201, 220, 606, 4, 604, 3, 8,
5373 201, 8, 231, 425, 4, 204, 531, 4, 202, 4,
5374 601, 201, 5, 201, 7, 607, 608, 609, 3, 6,
5375 179, 182, 183, 184, 185, 610, 611, 612, 614, 615,
5376 616, 617, 608, 613, 4, 4, 4, 618, 3, 8,
5377 4, 204, 202, 202, 4, 611, 201, 201
5381 Dhcp4Parser::yyr1_[] =
5383 0, 205, 207, 206, 208, 206, 209, 206, 210, 206,
5384 211, 206, 212, 206, 213, 206, 214, 206, 215, 206,
5385 216, 206, 217, 206, 218, 206, 219, 206, 220, 220,
5386 220, 220, 220, 220, 220, 221, 223, 222, 224, 225,
5387 225, 226, 226, 228, 227, 229, 229, 230, 230, 232,
5388 231, 233, 233, 234, 234, 235, 237, 236, 239, 238,
5389 241, 240, 242, 242, 243, 243, 243, 243, 243, 243,
5390 243, 243, 243, 243, 243, 243, 243, 243, 243, 243,
5391 243, 243, 243, 243, 243, 243, 243, 243, 243, 243,
5392 243, 243, 243, 243, 243, 243, 243, 243, 243, 243,
5393 243, 243, 243, 243, 243, 243, 243, 243, 243, 243,
5394 243, 243, 243, 243, 243, 243, 243, 243, 243, 243,
5395 243, 243, 243, 243, 243, 243, 244, 245, 246, 247,
5396 248, 249, 250, 251, 252, 253, 254, 256, 255, 257,
5397 258, 259, 260, 261, 262, 263, 265, 264, 266, 266,
5398 266, 266, 266, 268, 267, 270, 269, 271, 272, 274,
5399 273, 276, 275, 277, 278, 279, 280, 282, 281, 283,
5400 283, 284, 284, 284, 284, 284, 284, 284, 286, 285,
5401 288, 287, 290, 289, 291, 291, 293, 292, 294, 294,
5402 295, 297, 296, 299, 298, 300, 300, 301, 303, 302,
5403 305, 304, 307, 306, 308, 308, 309, 309, 311, 310,
5404 312, 312, 313, 313, 313, 313, 313, 313, 313, 313,
5405 313, 313, 313, 313, 313, 313, 313, 313, 313, 313,
5406 313, 313, 313, 313, 315, 314, 316, 316, 316, 316,
5407 318, 317, 320, 319, 322, 321, 323, 325, 324, 326,
5408 327, 328, 329, 330, 331, 332, 334, 333, 336, 335,
5409 338, 337, 340, 339, 341, 342, 344, 343, 345, 345,
5410 345, 346, 348, 347, 349, 349, 350, 350, 350, 350,
5411 350, 351, 352, 353, 354, 355, 357, 356, 358, 358,
5412 359, 359, 359, 359, 359, 359, 360, 361, 362, 364,
5413 363, 365, 365, 366, 366, 368, 367, 370, 369, 371,
5414 371, 371, 372, 372, 374, 373, 376, 375, 378, 377,
5415 379, 379, 380, 380, 380, 380, 380, 380, 381, 382,
5416 383, 384, 385, 386, 388, 387, 389, 389, 390, 390,
5417 392, 391, 394, 393, 395, 395, 396, 396, 396, 396,
5418 396, 396, 396, 396, 396, 396, 396, 396, 396, 396,
5419 396, 396, 396, 396, 396, 396, 396, 396, 396, 396,
5420 396, 396, 396, 396, 396, 396, 396, 396, 396, 396,
5421 396, 396, 396, 396, 396, 396, 396, 396, 396, 396,
5422 396, 398, 397, 400, 399, 402, 401, 404, 403, 406,
5423 405, 408, 407, 410, 409, 411, 412, 413, 415, 414,
5424 416, 416, 416, 416, 417, 419, 418, 420, 420, 421,
5425 421, 423, 422, 424, 424, 425, 425, 425, 425, 425,
5426 425, 425, 425, 425, 425, 425, 425, 425, 425, 425,
5427 425, 425, 425, 425, 425, 425, 425, 425, 425, 425,
5428 425, 425, 425, 425, 425, 425, 425, 425, 425, 425,
5429 425, 425, 425, 425, 425, 427, 426, 429, 428, 430,
5430 430, 431, 431, 433, 432, 435, 434, 436, 436, 437,
5431 437, 438, 438, 438, 438, 438, 438, 438, 438, 438,
5432 438, 439, 440, 441, 443, 442, 445, 444, 447, 446,
5433 448, 450, 449, 451, 453, 452, 454, 454, 455, 455,
5434 457, 456, 459, 458, 460, 460, 461, 461, 462, 462,
5435 462, 462, 462, 462, 462, 462, 462, 463, 465, 464,
5436 466, 467, 468, 469, 471, 470, 472, 472, 473, 473,
5437 475, 474, 477, 476, 478, 478, 479, 479, 479, 479,
5438 479, 479, 479, 481, 480, 483, 482, 485, 484, 487,
5439 486, 488, 488, 489, 489, 491, 490, 493, 492, 494,
5440 494, 495, 495, 496, 496, 496, 496, 496, 496, 496,
5441 496, 496, 496, 496, 496, 496, 496, 496, 498, 497,
5442 500, 499, 502, 501, 504, 503, 506, 505, 508, 507,
5443 510, 509, 512, 511, 514, 513, 516, 515, 518, 517,
5444 520, 519, 522, 521, 523, 523, 525, 524, 526, 526,
5445 528, 527, 529, 529, 530, 530, 531, 531, 531, 531,
5446 531, 531, 531, 531, 531, 531, 531, 531, 531, 531,
5447 532, 534, 533, 535, 536, 538, 537, 539, 539, 540,
5448 540, 540, 540, 540, 542, 541, 544, 543, 546, 545,
5449 547, 547, 548, 548, 548, 548, 548, 548, 549, 551,
5450 550, 552, 554, 553, 556, 555, 558, 557, 559, 559,
5451 560, 560, 560, 560, 560, 560, 560, 560, 560, 560,
5452 560, 560, 560, 560, 560, 560, 560, 560, 561, 563,
5453 562, 564, 566, 565, 567, 568, 570, 569, 571, 571,
5454 573, 572, 575, 574, 576, 577, 579, 578, 581, 580,
5455 583, 582, 585, 584, 587, 586, 589, 588, 590, 590,
5456 591, 591, 593, 592, 594, 596, 595, 597, 597, 599,
5457 598, 600, 600, 601, 601, 601, 601, 601, 601, 601,
5458 602, 604, 603, 606, 605, 607, 607, 609, 608, 610,
5459 610, 611, 611, 611, 611, 611, 613, 612, 614, 615,
5460 616, 618, 617, 620, 619, 621, 621, 622, 622, 623
5464 Dhcp4Parser::yyr2_[] =
5466 0, 2, 0, 3, 0, 3, 0, 3, 0, 3,
5467 0, 3, 0, 3, 0, 3, 0, 3, 0, 3,
5468 0, 3, 0, 3, 0, 3, 0, 3, 1, 1,
5469 1, 1, 1, 1, 1, 1, 0, 4, 1, 0,
5470 1, 3, 5, 0, 4, 0, 1, 1, 3, 0,
5471 4, 0, 1, 1, 3, 2, 0, 4, 0, 6,
5472 0, 4, 1, 3, 1, 1, 1, 1, 1, 1,
5473 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
5474 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
5475 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
5476 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
5477 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
5478 1, 1, 1, 1, 1, 1, 3, 3, 3, 3,
5479 3, 3, 3, 3, 3, 3, 3, 0, 4, 3,
5480 3, 3, 3, 3, 3, 3, 0, 4, 1, 1,
5481 1, 1, 1, 0, 4, 0, 4, 3, 3, 0,
5482 4, 0, 4, 3, 3, 3, 3, 0, 6, 1,
5483 3, 1, 1, 1, 1, 1, 1, 1, 0, 4,
5484 0, 4, 0, 4, 1, 1, 0, 4, 1, 1,
5485 3, 0, 6, 0, 6, 1, 3, 1, 0, 4,
5486 0, 6, 0, 6, 0, 1, 1, 3, 0, 4,
5487 1, 3, 1, 1, 1, 1, 1, 1, 1, 1,
5488 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
5489 1, 1, 1, 1, 0, 4, 1, 1, 1, 1,
5490 0, 4, 0, 4, 0, 4, 3, 0, 4, 3,
5491 3, 3, 3, 3, 3, 3, 0, 4, 0, 4,
5492 0, 4, 0, 4, 3, 3, 0, 4, 1, 1,
5493 1, 3, 0, 6, 1, 3, 1, 1, 1, 1,
5494 1, 1, 1, 1, 1, 1, 0, 6, 1, 3,
5495 1, 1, 1, 1, 1, 1, 3, 3, 3, 0,
5496 6, 0, 1, 1, 3, 0, 4, 0, 4, 1,
5497 3, 1, 1, 1, 0, 4, 0, 4, 0, 6,
5498 1, 3, 1, 1, 1, 1, 1, 1, 3, 3,
5499 3, 3, 3, 3, 0, 6, 0, 1, 1, 3,
5500 0, 4, 0, 4, 1, 3, 1, 1, 1, 1,
5501 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
5502 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
5503 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
5504 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
5505 1, 0, 4, 0, 4, 0, 4, 0, 4, 0,
5506 4, 0, 4, 0, 4, 3, 3, 3, 0, 4,
5507 1, 1, 1, 1, 3, 0, 6, 0, 1, 1,
5508 3, 0, 4, 1, 3, 1, 1, 1, 1, 1,
5509 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
5510 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
5511 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
5512 1, 1, 1, 1, 1, 0, 6, 0, 4, 0,
5513 1, 1, 3, 0, 4, 0, 4, 0, 1, 1,
5514 3, 1, 1, 1, 1, 1, 1, 1, 1, 1,
5515 1, 1, 3, 1, 0, 4, 0, 4, 0, 4,
5516 1, 0, 4, 3, 0, 6, 0, 1, 1, 3,
5517 0, 4, 0, 4, 0, 1, 1, 3, 1, 1,
5518 1, 1, 1, 1, 1, 1, 1, 1, 0, 4,
5519 1, 1, 3, 3, 0, 6, 0, 1, 1, 3,
5520 0, 4, 0, 4, 1, 3, 1, 1, 1, 1,
5521 1, 1, 1, 0, 4, 0, 4, 0, 4, 0,
5522 6, 0, 1, 1, 3, 0, 4, 0, 4, 0,
5523 1, 1, 3, 1, 1, 1, 1, 1, 1, 1,
5524 1, 1, 1, 1, 1, 1, 1, 1, 0, 4,
5525 0, 4, 0, 4, 0, 4, 0, 4, 0, 4,
5526 0, 4, 0, 4, 0, 4, 0, 4, 0, 4,
5527 0, 4, 0, 6, 1, 1, 0, 6, 1, 3,
5528 0, 4, 0, 1, 1, 3, 1, 1, 1, 1,
5529 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
5530 1, 0, 4, 3, 3, 0, 6, 1, 3, 1,
5531 1, 1, 1, 1, 0, 4, 0, 4, 0, 6,
5532 1, 3, 1, 1, 1, 1, 1, 1, 3, 0,
5533 4, 3, 0, 4, 0, 6, 0, 4, 1, 3,
5534 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
5535 1, 1, 1, 1, 1, 1, 1, 1, 3, 0,
5536 4, 3, 0, 4, 3, 3, 0, 4, 1, 1,
5537 0, 4, 0, 4, 3, 3, 0, 4, 0, 4,
5538 0, 4, 0, 4, 0, 6, 0, 4, 1, 3,
5539 1, 1, 0, 6, 3, 0, 6, 1, 3, 0,
5540 4, 1, 3, 1, 1, 1, 1, 1, 1, 1,
5541 3, 0, 4, 0, 6, 1, 3, 0, 4, 1,
5542 3, 1, 1, 1, 1, 1, 0, 4, 3, 3,
5543 3, 0, 4, 0, 6, 1, 3, 1, 1, 3
5547#if PARSER4_DEBUG || 1
5551 const Dhcp4Parser::yytname_[] =
5553 "\"end of file\"",
"error",
"\"invalid token\"",
"\",\"",
"\":\"",
5554 "\"[\"",
"\"]\"",
"\"{\"",
"\"}\"",
"\"null\"",
"\"Dhcp4\"",
5555 "\"config-control\"",
"\"config-databases\"",
5556 "\"config-fetch-wait-time\"",
"\"interfaces-config\"",
"\"interfaces\"",
5557 "\"dhcp-socket-type\"",
"\"raw\"",
"\"udp\"",
"\"outbound-interface\"",
5558 "\"same-as-inbound\"",
"\"use-routing\"",
"\"re-detect\"",
5559 "\"sanity-checks\"",
"\"lease-checks\"",
"\"echo-client-id\"",
5560 "\"match-client-id\"",
"\"authoritative\"",
"\"next-server\"",
5561 "\"server-hostname\"",
"\"boot-file-name\"",
"\"lease-database\"",
5562 "\"hosts-database\"",
"\"hosts-databases\"",
"\"type\"",
"\"memfile\"",
5563 "\"mysql\"",
"\"postgresql\"",
"\"cql\"",
"\"user\"",
"\"password\"",
5564 "\"host\"",
"\"port\"",
"\"persist\"",
"\"lfc-interval\"",
5565 "\"readonly\"",
"\"connect-timeout\"",
"\"contact-points\"",
5566 "\"keyspace\"",
"\"consistency\"",
"\"serial-consistency\"",
5567 "\"max-reconnect-tries\"",
"\"reconnect-wait-time\"",
"\"on-fail\"",
5568 "\"stop-retry-exit\"",
"\"serve-retry-exit\"",
5569 "\"serve-retry-continue\"",
"\"request-timeout\"",
"\"tcp-keepalive\"",
5570 "\"tcp-nodelay\"",
"\"max-row-errors\"",
"\"valid-lifetime\"",
5571 "\"min-valid-lifetime\"",
"\"max-valid-lifetime\"",
"\"renew-timer\"",
5572 "\"rebind-timer\"",
"\"calculate-tee-times\"",
"\"t1-percent\"",
5573 "\"t2-percent\"",
"\"cache-threshold\"",
"\"cache-max-age\"",
5574 "\"decline-probation-period\"",
"\"server-tag\"",
5575 "\"statistic-default-sample-count\"",
"\"statistic-default-sample-age\"",
5576 "\"ddns-send-updates\"",
"\"ddns-override-no-update\"",
5577 "\"ddns-override-client-update\"",
"\"ddns-replace-client-name\"",
5578 "\"ddns-generated-prefix\"",
"\"ddns-qualifying-suffix\"",
5579 "\"ddns-update-on-renew\"",
"\"ddns-use-conflict-resolution\"",
5580 "\"store-extended-info\"",
"\"subnet4\"",
"\"4o6-interface\"",
5581 "\"4o6-interface-id\"",
"\"4o6-subnet\"",
"\"option-def\"",
5582 "\"option-data\"",
"\"name\"",
"\"data\"",
"\"code\"",
"\"space\"",
5583 "\"csv-format\"",
"\"always-send\"",
"\"record-types\"",
5584 "\"encapsulate\"",
"\"array\"",
"\"parked-packet-limit\"",
5585 "\"shared-networks\"",
"\"pools\"",
"\"pool\"",
"\"user-context\"",
5586 "\"comment\"",
"\"subnet\"",
"\"interface\"",
"\"id\"",
5587 "\"reservation-mode\"",
"\"disabled\"",
"\"out-of-pool\"",
"\"global\"",
5588 "\"all\"",
"\"reservations-global\"",
"\"reservations-in-subnet\"",
5589 "\"reservations-out-of-pool\"",
"\"host-reservation-identifiers\"",
5590 "\"client-classes\"",
"\"require-client-classes\"",
"\"test\"",
5591 "\"only-if-required\"",
"\"client-class\"",
"\"reservations\"",
5592 "\"duid\"",
"\"hw-address\"",
"\"circuit-id\"",
"\"client-id\"",
5593 "\"hostname\"",
"\"flex-id\"",
"\"relay\"",
"\"ip-address\"",
5594 "\"ip-addresses\"",
"\"hooks-libraries\"",
"\"library\"",
5595 "\"parameters\"",
"\"expired-leases-processing\"",
5596 "\"reclaim-timer-wait-time\"",
"\"flush-reclaimed-timer-wait-time\"",
5597 "\"hold-reclaimed-time\"",
"\"max-reclaim-leases\"",
5598 "\"max-reclaim-time\"",
"\"unwarned-reclaim-cycles\"",
5599 "\"dhcp4o6-port\"",
"\"multi-threading\"",
"\"enable-multi-threading\"",
5600 "\"thread-pool-size\"",
"\"packet-queue-size\"",
"\"control-socket\"",
5601 "\"socket-type\"",
"\"socket-name\"",
"\"dhcp-queue-control\"",
5602 "\"enable-queue\"",
"\"queue-type\"",
"\"capacity\"",
"\"dhcp-ddns\"",
5603 "\"enable-updates\"",
"\"qualifying-suffix\"",
"\"server-ip\"",
5604 "\"server-port\"",
"\"sender-ip\"",
"\"sender-port\"",
5605 "\"max-queue-size\"",
"\"ncr-protocol\"",
"\"ncr-format\"",
5606 "\"override-no-update\"",
"\"override-client-update\"",
5607 "\"replace-client-name\"",
"\"generated-prefix\"",
"\"tcp\"",
"\"JSON\"",
5608 "\"when-present\"",
"\"never\"",
"\"always\"",
"\"when-not-present\"",
5609 "\"hostname-char-set\"",
"\"hostname-char-replacement\"",
5610 "\"ip-reservations-unique\"",
"\"loggers\"",
"\"output_options\"",
5611 "\"output\"",
"\"debuglevel\"",
"\"severity\"",
"\"flush\"",
5612 "\"maxsize\"",
"\"maxver\"",
"\"pattern\"",
"\"compatibility\"",
5613 "\"lenient-option-parsing\"",
"TOPLEVEL_JSON",
"TOPLEVEL_DHCP4",
5614 "SUB_DHCP4",
"SUB_INTERFACES4",
"SUB_SUBNET4",
"SUB_POOL4",
5615 "SUB_RESERVATION",
"SUB_OPTION_DEFS",
"SUB_OPTION_DEF",
5616 "SUB_OPTION_DATA",
"SUB_HOOKS_LIBRARY",
"SUB_DHCP_DDNS",
5617 "SUB_CONFIG_CONTROL",
"\"constant string\"",
"\"integer\"",
5618 "\"floating point\"",
"\"boolean\"",
"$accept",
"start",
"$@1",
"$@2",
5619 "$@3",
"$@4",
"$@5",
"$@6",
"$@7",
"$@8",
"$@9",
"$@10",
"$@11",
"$@12",
5620 "$@13",
"value",
"sub_json",
"map2",
"$@14",
"map_value",
"map_content",
5621 "not_empty_map",
"list_generic",
"$@15",
"list_content",
5622 "not_empty_list",
"list_strings",
"$@16",
"list_strings_content",
5623 "not_empty_list_strings",
"unknown_map_entry",
"syntax_map",
"$@17",
5624 "global_object",
"$@18",
"sub_dhcp4",
"$@19",
"global_params",
5625 "global_param",
"valid_lifetime",
"min_valid_lifetime",
5626 "max_valid_lifetime",
"renew_timer",
"rebind_timer",
5627 "calculate_tee_times",
"t1_percent",
"t2_percent",
"cache_threshold",
5628 "cache_max_age",
"decline_probation_period",
"server_tag",
"$@20",
5629 "parked_packet_limit",
"echo_client_id",
"match_client_id",
5630 "authoritative",
"ddns_send_updates",
"ddns_override_no_update",
5631 "ddns_override_client_update",
"ddns_replace_client_name",
"$@21",
5632 "ddns_replace_client_name_value",
"ddns_generated_prefix",
"$@22",
5633 "ddns_qualifying_suffix",
"$@23",
"ddns_update_on_renew",
5634 "ddns_use_conflict_resolution",
"hostname_char_set",
"$@24",
5635 "hostname_char_replacement",
"$@25",
"store_extended_info",
5636 "statistic_default_sample_count",
"statistic_default_sample_age",
5637 "ip_reservations_unique",
"interfaces_config",
"$@26",
5638 "interfaces_config_params",
"interfaces_config_param",
"sub_interfaces4",
5639 "$@27",
"interfaces_list",
"$@28",
"dhcp_socket_type",
"$@29",
5640 "socket_type",
"outbound_interface",
"$@30",
"outbound_interface_value",
5641 "re_detect",
"lease_database",
"$@31",
"sanity_checks",
"$@32",
5642 "sanity_checks_params",
"sanity_checks_param",
"lease_checks",
"$@33",
5643 "hosts_database",
"$@34",
"hosts_databases",
"$@35",
"database_list",
5644 "not_empty_database_list",
"database",
"$@36",
"database_map_params",
5645 "database_map_param",
"database_type",
"$@37",
"db_type",
"user",
"$@38",
5646 "password",
"$@39",
"host",
"$@40",
"port",
"name",
"$@41",
"persist",
5647 "lfc_interval",
"readonly",
"connect_timeout",
"request_timeout",
5648 "tcp_keepalive",
"tcp_nodelay",
"contact_points",
"$@42",
"keyspace",
5649 "$@43",
"consistency",
"$@44",
"serial_consistency",
"$@45",
5650 "max_reconnect_tries",
"reconnect_wait_time",
"on_fail",
"$@46",
5651 "on_fail_mode",
"max_row_errors",
"host_reservation_identifiers",
"$@47",
5652 "host_reservation_identifiers_list",
"host_reservation_identifier",
5653 "duid_id",
"hw_address_id",
"circuit_id",
"client_id",
"flex_id",
5654 "dhcp_multi_threading",
"$@48",
"multi_threading_params",
5655 "multi_threading_param",
"enable_multi_threading",
"thread_pool_size",
5656 "packet_queue_size",
"hooks_libraries",
"$@49",
"hooks_libraries_list",
5657 "not_empty_hooks_libraries_list",
"hooks_library",
"$@50",
5658 "sub_hooks_library",
"$@51",
"hooks_params",
"hooks_param",
"library",
5659 "$@52",
"parameters",
"$@53",
"expired_leases_processing",
"$@54",
5660 "expired_leases_params",
"expired_leases_param",
5661 "reclaim_timer_wait_time",
"flush_reclaimed_timer_wait_time",
5662 "hold_reclaimed_time",
"max_reclaim_leases",
"max_reclaim_time",
5663 "unwarned_reclaim_cycles",
"subnet4_list",
"$@55",
5664 "subnet4_list_content",
"not_empty_subnet4_list",
"subnet4",
"$@56",
5665 "sub_subnet4",
"$@57",
"subnet4_params",
"subnet4_param",
"subnet",
5666 "$@58",
"subnet_4o6_interface",
"$@59",
"subnet_4o6_interface_id",
5667 "$@60",
"subnet_4o6_subnet",
"$@61",
"interface",
"$@62",
"client_class",
5668 "$@63",
"require_client_classes",
"$@64",
"reservations_global",
5669 "reservations_in_subnet",
"reservations_out_of_pool",
"reservation_mode",
5670 "$@65",
"hr_mode",
"id",
"shared_networks",
"$@66",
5671 "shared_networks_content",
"shared_networks_list",
"shared_network",
5672 "$@67",
"shared_network_params",
"shared_network_param",
5673 "option_def_list",
"$@68",
"sub_option_def_list",
"$@69",
5674 "option_def_list_content",
"not_empty_option_def_list",
5675 "option_def_entry",
"$@70",
"sub_option_def",
"$@71",
5676 "option_def_params",
"not_empty_option_def_params",
"option_def_param",
5677 "option_def_name",
"code",
"option_def_code",
"option_def_type",
"$@72",
5678 "option_def_record_types",
"$@73",
"space",
"$@74",
"option_def_space",
5679 "option_def_encapsulate",
"$@75",
"option_def_array",
"option_data_list",
5680 "$@76",
"option_data_list_content",
"not_empty_option_data_list",
5681 "option_data_entry",
"$@77",
"sub_option_data",
"$@78",
5682 "option_data_params",
"not_empty_option_data_params",
5683 "option_data_param",
"option_data_name",
"option_data_data",
"$@79",
5684 "option_data_code",
"option_data_space",
"option_data_csv_format",
5685 "option_data_always_send",
"pools_list",
"$@80",
"pools_list_content",
5686 "not_empty_pools_list",
"pool_list_entry",
"$@81",
"sub_pool4",
"$@82",
5687 "pool_params",
"pool_param",
"pool_entry",
"$@83",
"user_context",
5688 "$@84",
"comment",
"$@85",
"reservations",
"$@86",
"reservations_list",
5689 "not_empty_reservations_list",
"reservation",
"$@87",
"sub_reservation",
5690 "$@88",
"reservation_params",
"not_empty_reservation_params",
5691 "reservation_param",
"next_server",
"$@89",
"server_hostname",
"$@90",
5692 "boot_file_name",
"$@91",
"ip_address",
"$@92",
"ip_addresses",
"$@93",
5693 "duid",
"$@94",
"hw_address",
"$@95",
"client_id_value",
"$@96",
5694 "circuit_id_value",
"$@97",
"flex_id_value",
"$@98",
"hostname",
"$@99",
5695 "reservation_client_classes",
"$@100",
"relay",
"$@101",
"relay_map",
5696 "client_classes",
"$@102",
"client_classes_list",
"client_class_entry",
5697 "$@103",
"client_class_params",
"not_empty_client_class_params",
5698 "client_class_param",
"client_class_name",
"client_class_test",
"$@104",
5699 "only_if_required",
"dhcp4o6_port",
"control_socket",
"$@105",
5700 "control_socket_params",
"control_socket_param",
"control_socket_type",
5701 "$@106",
"control_socket_name",
"$@107",
"dhcp_queue_control",
"$@108",
5702 "queue_control_params",
"queue_control_param",
"enable_queue",
5703 "queue_type",
"$@109",
"capacity",
"arbitrary_map_entry",
"$@110",
5704 "dhcp_ddns",
"$@111",
"sub_dhcp_ddns",
"$@112",
"dhcp_ddns_params",
5705 "dhcp_ddns_param",
"enable_updates",
"server_ip",
"$@113",
"server_port",
5706 "sender_ip",
"$@114",
"sender_port",
"max_queue_size",
"ncr_protocol",
5707 "$@115",
"ncr_protocol_value",
"ncr_format",
"$@116",
5708 "dep_qualifying_suffix",
"$@117",
"dep_override_no_update",
5709 "dep_override_client_update",
"dep_replace_client_name",
"$@118",
5710 "dep_generated_prefix",
"$@119",
"dep_hostname_char_set",
"$@120",
5711 "dep_hostname_char_replacement",
"$@121",
"config_control",
"$@122",
5712 "sub_config_control",
"$@123",
"config_control_params",
5713 "config_control_param",
"config_databases",
"$@124",
5714 "config_fetch_wait_time",
"loggers",
"$@125",
"loggers_entries",
5715 "logger_entry",
"$@126",
"logger_params",
"logger_param",
"debuglevel",
5716 "severity",
"$@127",
"output_options_list",
"$@128",
5717 "output_options_list_content",
"output_entry",
"$@129",
5718 "output_params_list",
"output_params",
"output",
"$@130",
"flush",
5719 "maxsize",
"maxver",
"pattern",
"$@131",
"compatibility",
"$@132",
5720 "compatibility_params",
"compatibility_param",
"lenient_option_parsing", YY_NULLPTR
5727 Dhcp4Parser::yyrline_[] =
5729 0, 294, 294, 294, 295, 295, 296, 296, 297, 297,
5730 298, 298, 299, 299, 300, 300, 301, 301, 302, 302,
5731 303, 303, 304, 304, 305, 305, 306, 306, 314, 315,
5732 316, 317, 318, 319, 320, 323, 328, 328, 339, 342,
5733 343, 346, 351, 359, 359, 366, 367, 370, 374, 381,
5734 381, 388, 389, 392, 396, 407, 416, 416, 431, 431,
5735 448, 448, 457, 458, 463, 464, 465, 466, 467, 468,
5736 469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
5737 479, 480, 481, 482, 483, 484, 485, 486, 487, 488,
5738 489, 490, 491, 492, 493, 494, 495, 496, 497, 498,
5739 499, 500, 501, 502, 503, 504, 505, 506, 507, 508,
5740 509, 510, 511, 512, 513, 514, 515, 516, 517, 518,
5741 519, 520, 521, 522, 523, 524, 527, 533, 539, 545,
5742 551, 557, 563, 569, 575, 581, 587, 593, 593, 602,
5743 608, 614, 620, 626, 632, 638, 644, 644, 653, 656,
5744 659, 662, 665, 671, 671, 680, 680, 689, 695, 701,
5745 701, 710, 710, 719, 725, 731, 737, 743, 743, 755,
5746 756, 759, 760, 761, 762, 763, 764, 765, 768, 768,
5747 777, 777, 788, 788, 796, 797, 800, 800, 808, 810,
5748 814, 821, 821, 834, 834, 845, 846, 848, 850, 850,
5749 869, 869, 882, 882, 893, 894, 897, 898, 901, 901,
5750 911, 912, 915, 916, 917, 918, 919, 920, 921, 922,
5751 923, 924, 925, 926, 927, 928, 929, 930, 931, 932,
5752 933, 934, 935, 936, 939, 939, 947, 948, 949, 950,
5753 953, 953, 962, 962, 971, 971, 980, 986, 986, 995,
5754 1001, 1007, 1013, 1019, 1025, 1031, 1037, 1037, 1046, 1046,
5755 1055, 1055, 1064, 1064, 1073, 1079, 1085, 1085, 1093, 1094,
5756 1095, 1098, 1105, 1105, 1116, 1117, 1120, 1121, 1122, 1123,
5757 1124, 1127, 1132, 1137, 1142, 1147, 1154, 1154, 1167, 1168,
5758 1171, 1172, 1173, 1174, 1175, 1176, 1179, 1185, 1191, 1197,
5759 1197, 1208, 1209, 1212, 1213, 1216, 1216, 1226, 1226, 1236,
5760 1237, 1238, 1241, 1242, 1245, 1245, 1254, 1254, 1263, 1263,
5761 1275, 1276, 1279, 1280, 1281, 1282, 1283, 1284, 1287, 1293,
5762 1299, 1305, 1311, 1317, 1326, 1326, 1340, 1341, 1344, 1345,
5763 1352, 1352, 1378, 1378, 1389, 1390, 1394, 1395, 1396, 1397,
5764 1398, 1399, 1400, 1401, 1402, 1403, 1404, 1405, 1406, 1407,
5765 1408, 1409, 1410, 1411, 1412, 1413, 1414, 1415, 1416, 1417,
5766 1418, 1419, 1420, 1421, 1422, 1423, 1424, 1425, 1426, 1427,
5767 1428, 1429, 1430, 1431, 1432, 1433, 1434, 1435, 1436, 1437,
5768 1438, 1441, 1441, 1450, 1450, 1459, 1459, 1468, 1468, 1477,
5769 1477, 1486, 1486, 1495, 1495, 1506, 1512, 1518, 1524, 1524,
5770 1532, 1533, 1534, 1535, 1538, 1546, 1546, 1558, 1559, 1563,
5771 1564, 1567, 1567, 1575, 1576, 1579, 1580, 1581, 1582, 1583,
5772 1584, 1585, 1586, 1587, 1588, 1589, 1590, 1591, 1592, 1593,
5773 1594, 1595, 1596, 1597, 1598, 1599, 1600, 1601, 1602, 1603,
5774 1604, 1605, 1606, 1607, 1608, 1609, 1610, 1611, 1612, 1613,
5775 1614, 1615, 1616, 1617, 1618, 1625, 1625, 1639, 1639, 1648,
5776 1649, 1652, 1653, 1658, 1658, 1673, 1673, 1687, 1688, 1691,
5777 1692, 1695, 1696, 1697, 1698, 1699, 1700, 1701, 1702, 1703,
5778 1704, 1707, 1709, 1715, 1717, 1717, 1726, 1726, 1735, 1735,
5779 1744, 1746, 1746, 1755, 1765, 1765, 1778, 1779, 1784, 1785,
5780 1790, 1790, 1802, 1802, 1814, 1815, 1820, 1821, 1826, 1827,
5781 1828, 1829, 1830, 1831, 1832, 1833, 1834, 1837, 1839, 1839,
5782 1848, 1850, 1852, 1858, 1867, 1867, 1880, 1881, 1884, 1885,
5783 1888, 1888, 1898, 1898, 1908, 1909, 1912, 1913, 1914, 1915,
5784 1916, 1917, 1918, 1921, 1921, 1930, 1930, 1955, 1955, 1985,
5785 1985, 1996, 1997, 2000, 2001, 2004, 2004, 2013, 2013, 2022,
5786 2023, 2026, 2027, 2031, 2032, 2033, 2034, 2035, 2036, 2037,
5787 2038, 2039, 2040, 2041, 2042, 2043, 2044, 2045, 2048, 2048,
5788 2057, 2057, 2066, 2066, 2075, 2075, 2084, 2084, 2095, 2095,
5789 2104, 2104, 2113, 2113, 2122, 2122, 2131, 2131, 2140, 2140,
5790 2149, 2149, 2163, 2163, 2174, 2175, 2181, 2181, 2192, 2193,
5791 2196, 2196, 2206, 2207, 2210, 2211, 2214, 2215, 2216, 2217,
5792 2218, 2219, 2220, 2221, 2222, 2223, 2224, 2225, 2226, 2227,
5793 2230, 2232, 2232, 2241, 2249, 2257, 2257, 2268, 2269, 2272,
5794 2273, 2274, 2275, 2276, 2279, 2279, 2288, 2288, 2300, 2300,
5795 2313, 2314, 2317, 2318, 2319, 2320, 2321, 2322, 2325, 2331,
5796 2331, 2340, 2346, 2346, 2356, 2356, 2369, 2369, 2379, 2380,
5797 2383, 2384, 2385, 2386, 2387, 2388, 2389, 2390, 2391, 2392,
5798 2393, 2394, 2395, 2396, 2397, 2398, 2399, 2400, 2403, 2409,
5799 2409, 2418, 2424, 2424, 2433, 2439, 2445, 2445, 2454, 2455,
5800 2458, 2458, 2468, 2468, 2478, 2485, 2492, 2492, 2501, 2501,
5801 2511, 2511, 2521, 2521, 2533, 2533, 2545, 2545, 2555, 2556,
5802 2560, 2561, 2564, 2564, 2575, 2583, 2583, 2596, 2597, 2601,
5803 2601, 2609, 2610, 2613, 2614, 2615, 2616, 2617, 2618, 2619,
5804 2622, 2628, 2628, 2637, 2637, 2648, 2649, 2652, 2652, 2660,
5805 2661, 2664, 2665, 2666, 2667, 2668, 2671, 2671, 2680, 2686,
5806 2692, 2698, 2698, 2707, 2707, 2718, 2719, 2722, 2723, 2726
5810 Dhcp4Parser::yy_stack_print_ ()
const
5812 *yycdebug_ <<
"Stack now";
5813 for (stack_type::const_iterator
5814 i = yystack_.begin (),
5815 i_end = yystack_.end ();
5817 *yycdebug_ <<
' ' << int (i->state);
5822 Dhcp4Parser::yy_reduce_print_ (
int yyrule)
const
5824 int yylno = yyrline_[yyrule];
5825 int yynrhs = yyr2_[yyrule];
5827 *yycdebug_ <<
"Reducing stack by rule " << yyrule - 1
5828 <<
" (line " << yylno <<
"):\n";
5830 for (
int yyi = 0; yyi < yynrhs; yyi++)
5832 yystack_[(yynrhs) - (yyi + 1)]);
5837#line 14 "dhcp4_parser.yy"
5839#line 5840 "dhcp4_parser.cc"
5841#line 2732 "dhcp4_parser.yy"
5846 const std::string& what)
5848 ctx.error(loc, what);
#define YY_CAST(Type, Val)
#define YY_MOVE_REF(Type)
Notes: IntElement type is changed to int64_t.
symbol_kind_type token() const YY_NOEXCEPT
context(const Dhcp4Parser &yyparser, const symbol_type &yyla)
const symbol_type & lookahead() const YY_NOEXCEPT
int expected_tokens(symbol_kind_type yyarg[], int yyargn) const
Put in YYARG at most YYARGN of the expected tokens, and return the number of tokens stored in YYARG.
Present a slice of the top of a stack.
virtual void error(const location_type &loc, const std::string &msg)
Report a syntax error.
virtual int parse()
Parse.
std::ostream & debug_stream() const YY_ATTRIBUTE_PURE
The current debugging stream.
void set_debug_stream(std::ostream &)
Set the current debugging stream.
location location_type
Symbol locations.
symbol_kind::symbol_kind_type symbol_kind_type
(Internal) symbol kind.
static const symbol_kind_type YYNTOKENS
The number of tokens.
debug_level_type debug_level() const YY_ATTRIBUTE_PURE
The current debugging level.
static std::string symbol_name(symbol_kind_type yysymbol)
The user-facing name of the symbol whose (internal) number is YYSYMBOL.
Dhcp4Parser(isc::dhcp::Parser4Context &ctx_yyarg)
Build a parser object.
int debug_level_type
Type for debugging levels.
void set_debug_level(debug_level_type l)
Set the current debugging level.
Evaluation context, an interface to the expression evaluation.
void require(const std::string &name, isc::data::Element::Position open_loc, isc::data::Element::Position close_loc)
Check if a required parameter is present.
isc::data::Element::Position loc2pos(isc::dhcp::location &loc)
Converts bison's position to one understandable by isc::data::Element.
void leave()
Leave a syntactic context.
void unique(const std::string &name, isc::data::Element::Position loc)
Check if a parameter is already present.
void enter(const ParserContext &ctx)
Enter a new syntactic context.
const std::string contextName()
Get the syntactic context name.
@ SUBNET4
Used while parsing Dhcp4/Subnet4 structures.
@ DATABASE_TYPE
Used while parsing Dhcp4/*-database/type.
@ POOLS
Used while parsing Dhcp4/subnet4/pools structures.
@ CLIENT_CLASSES
Used while parsing Dhcp4/client-classes structures.
@ RESERVATIONS
Used while parsing Dhcp4/reservations structures.
@ HOSTS_DATABASE
Used while parsing Dhcp4/hosts-database[s] structures.
@ NCR_PROTOCOL
Used while parsing Dhcp4/dhcp-ddns/ncr-protocol.
@ LOGGERS
Used while parsing Dhcp4/loggers structures.
@ DATABASE_ON_FAIL
Used while parsing Dhcp4/*-database/on-fail.
@ NCR_FORMAT
Used while parsing Dhcp4/dhcp-ddns/ncr-format.
@ COMPATIBILITY
Used while parsing compatibility parameters.
@ OUTBOUND_INTERFACE
Used while parsing Dhcp4/interfaces/outbound-interface structures.
@ CONFIG
Used while parsing content of Dhcp4.
@ OUTPUT_OPTIONS
Used while parsing Dhcp4/loggers/output_options structures.
@ RESERVATION_MODE
Used while parsing Dhcp4/reservation-mode.
@ CONTROL_SOCKET
Used while parsing Dhcp4/control-socket structures.
@ DHCP_DDNS
Used while parsing Dhcp4/dhcp-ddns.
@ OPTION_DATA
Used while parsing Dhcp4/option-data, Dhcp4/subnet4/option-data or anywhere option-data is present (c...
@ DHCP_MULTI_THREADING
Used while parsing Dhcp4/multi-threading structures.
@ LEASE_DATABASE
Used while parsing Dhcp4/lease-database structures.
@ SHARED_NETWORK
Used while parsing shared-networks structures.
@ EXPIRED_LEASES_PROCESSING
Used while parsing Dhcp4/expired-leases-processing.
@ SANITY_CHECKS
Sanity checks.
@ CONFIG_CONTROL
Used while parsing Dhcp4/config-control.
@ INTERFACES_CONFIG
Used while parsing Dhcp4/interfaces structures.
@ HOST_RESERVATION_IDENTIFIERS
Used while parsing Dhcp4/host-reservation-identifiers.
@ OPTION_DEF
Used while parsing Dhcp4/option-def structures.
@ CONFIG_DATABASE
Used while parsing config-control/config-databases.
@ NO_KEYWORD
This one is used in pure JSON mode.
@ HOOKS_LIBRARIES
Used while parsing Dhcp4/hooks-libraries.
@ DHCP_QUEUE_CONTROL
Used while parsing Dhcp4/dhcp-queue-control structures.
@ REPLACE_CLIENT_NAME
Used while parsing Dhcp4/dhcp-ddns/replace-client-name.
@ RELAY
Used while parsing Dhcp4/subnet4relay structures.
@ DHCP_SOCKET_TYPE
Used while parsing Dhcp4/interfaces/dhcp-socket-type structures.
std::vector< isc::data::ElementPtr > stack_
JSON elements being parsed.
ParserContext ctx_
Current syntactic context.
#define YYLLOC_DEFAULT(Current, Rhs, N)
#define YY_REDUCE_PRINT(Rule)
#define YY_SYMBOL_PRINT(Title, Symbol)
Define the isc::dhcp::parser class.
void merge(ElementPtr element, ConstElementPtr other)
Merges the data from other into element.
boost::shared_ptr< const Element > ConstElementPtr
boost::shared_ptr< Element > ElementPtr
Defines the logger used by the top-level component of kea-lfc.
location_type location
The location.
bool empty() const YY_NOEXCEPT
Whether empty.
void move(basic_symbol &s)
Destructive move, s is emptied into this.
void clear() YY_NOEXCEPT
Destroy contents, and record that is empty.
@ S_ddns_replace_client_name_value
@ S_outbound_interface_value
"External" symbols: returned by the scanner.
Syntax errors thrown from user actions.
~syntax_error() YY_NOEXCEPT YY_NOTHROW