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_ (); \
125 #else // !PARSER4_DEBUG
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)
132 #endif // !PARSER4_DEBUG
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"
143 namespace 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 284 "dhcp4_parser.yy"
406 { yyoutput << yysym.value.template as < std::string > (); }
407 #line 408 "dhcp4_parser.cc"
411 #line 284 "dhcp4_parser.yy"
412 { yyoutput << yysym.value.template as < int64_t > (); }
413 #line 414 "dhcp4_parser.cc"
417 #line 284 "dhcp4_parser.yy"
418 { yyoutput << yysym.value.template as < double > (); }
419 #line 420 "dhcp4_parser.cc"
423 #line 284 "dhcp4_parser.yy"
424 { yyoutput << yysym.value.template as < bool > (); }
425 #line 426 "dhcp4_parser.cc"
429 #line 284 "dhcp4_parser.yy"
430 { yyoutput << yysym.value.template as < ElementPtr > (); }
431 #line 432 "dhcp4_parser.cc"
435 #line 284 "dhcp4_parser.yy"
436 { yyoutput << yysym.value.template as < ElementPtr > (); }
437 #line 438 "dhcp4_parser.cc"
441 #line 284 "dhcp4_parser.yy"
442 { yyoutput << yysym.value.template as < ElementPtr > (); }
443 #line 444 "dhcp4_parser.cc"
447 #line 284 "dhcp4_parser.yy"
448 { yyoutput << yysym.value.template as < ElementPtr > (); }
449 #line 450 "dhcp4_parser.cc"
453 #line 284 "dhcp4_parser.yy"
454 { yyoutput << yysym.value.template as < ElementPtr > (); }
455 #line 456 "dhcp4_parser.cc"
459 #line 284 "dhcp4_parser.yy"
460 { yyoutput << yysym.value.template as < ElementPtr > (); }
461 #line 462 "dhcp4_parser.cc"
465 #line 284 "dhcp4_parser.yy"
466 { yyoutput << yysym.value.template as < ElementPtr > (); }
467 #line 468 "dhcp4_parser.cc"
471 #line 284 "dhcp4_parser.yy"
472 { yyoutput << yysym.value.template as < ElementPtr > (); }
473 #line 474 "dhcp4_parser.cc"
477 #line 284 "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);
510 Dhcp4Parser::yypop_ (
int n)
540 #endif // PARSER4_DEBUG
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)
555 return yyvalue == yypact_ninf_;
559 Dhcp4Parser::yy_table_value_is_error_ (
int yyvalue)
561 return yyvalue == yytable_ninf_;
579 int yyerrstatus_ = 0;
585 stack_symbol_type yyerror_range[3];
592 #endif // YY_EXCEPTIONS
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))
633 #endif // YY_EXCEPTIONS
636 yyla.
move (yylookahead);
641 YYCDEBUG <<
"Caught exception: " << yyexc.what() <<
'\n';
645 #endif // YY_EXCEPTIONS
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 > ();
744 stack_type::slice range (yystack_, yylen);
746 yyerror_range[1].location = yylhs.location;
753 #endif // YY_EXCEPTIONS
758 #line 293 "dhcp4_parser.yy"
760 #line 761 "dhcp4_parser.cc"
764 #line 294 "dhcp4_parser.yy"
766 #line 767 "dhcp4_parser.cc"
770 #line 295 "dhcp4_parser.yy"
772 #line 773 "dhcp4_parser.cc"
776 #line 296 "dhcp4_parser.yy"
778 #line 779 "dhcp4_parser.cc"
782 #line 297 "dhcp4_parser.yy"
784 #line 785 "dhcp4_parser.cc"
788 #line 298 "dhcp4_parser.yy"
790 #line 791 "dhcp4_parser.cc"
794 #line 299 "dhcp4_parser.yy"
796 #line 797 "dhcp4_parser.cc"
800 #line 300 "dhcp4_parser.yy"
802 #line 803 "dhcp4_parser.cc"
806 #line 301 "dhcp4_parser.yy"
808 #line 809 "dhcp4_parser.cc"
812 #line 302 "dhcp4_parser.yy"
814 #line 815 "dhcp4_parser.cc"
818 #line 303 "dhcp4_parser.yy"
820 #line 821 "dhcp4_parser.cc"
824 #line 304 "dhcp4_parser.yy"
826 #line 827 "dhcp4_parser.cc"
830 #line 305 "dhcp4_parser.yy"
832 #line 833 "dhcp4_parser.cc"
836 #line 313 "dhcp4_parser.yy"
838 #line 839 "dhcp4_parser.cc"
842 #line 314 "dhcp4_parser.yy"
844 #line 845 "dhcp4_parser.cc"
848 #line 315 "dhcp4_parser.yy"
850 #line 851 "dhcp4_parser.cc"
854 #line 316 "dhcp4_parser.yy"
856 #line 857 "dhcp4_parser.cc"
860 #line 317 "dhcp4_parser.yy"
862 #line 863 "dhcp4_parser.cc"
866 #line 318 "dhcp4_parser.yy"
868 #line 869 "dhcp4_parser.cc"
872 #line 319 "dhcp4_parser.yy"
874 #line 875 "dhcp4_parser.cc"
878 #line 322 "dhcp4_parser.yy"
883 #line 884 "dhcp4_parser.cc"
887 #line 327 "dhcp4_parser.yy"
894 #line 895 "dhcp4_parser.cc"
898 #line 332 "dhcp4_parser.yy"
904 #line 905 "dhcp4_parser.cc"
908 #line 338 "dhcp4_parser.yy"
910 #line 911 "dhcp4_parser.cc"
914 #line 345 "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 350 "dhcp4_parser.yy"
928 ctx.
unique(yystack_[2].value.as < std::string > (), ctx.
loc2pos(yystack_[2].location));
929 ctx.
stack_.back()->set(yystack_[2].value.as < std::string > (), yystack_[0].value.as <
ElementPtr > ());
931 #line 932 "dhcp4_parser.cc"
935 #line 358 "dhcp4_parser.yy"
940 #line 941 "dhcp4_parser.cc"
944 #line 361 "dhcp4_parser.yy"
948 #line 949 "dhcp4_parser.cc"
952 #line 369 "dhcp4_parser.yy"
957 #line 958 "dhcp4_parser.cc"
961 #line 373 "dhcp4_parser.yy"
966 #line 967 "dhcp4_parser.cc"
970 #line 380 "dhcp4_parser.yy"
974 #line 975 "dhcp4_parser.cc"
978 #line 382 "dhcp4_parser.yy"
983 #line 984 "dhcp4_parser.cc"
987 #line 391 "dhcp4_parser.yy"
990 ctx.
stack_.back()->add(s);
992 #line 993 "dhcp4_parser.cc"
996 #line 395 "dhcp4_parser.yy"
999 ctx.
stack_.back()->add(s);
1001 #line 1002 "dhcp4_parser.cc"
1005 #line 406 "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 415 "dhcp4_parser.yy"
1023 #line 1024 "dhcp4_parser.cc"
1027 #line 420 "dhcp4_parser.yy"
1036 #line 1037 "dhcp4_parser.cc"
1040 #line 430 "dhcp4_parser.yy"
1047 ctx.
stack_.back()->set(
"Dhcp4", m);
1051 #line 1052 "dhcp4_parser.cc"
1055 #line 439 "dhcp4_parser.yy"
1061 #line 1062 "dhcp4_parser.cc"
1065 #line 447 "dhcp4_parser.yy"
1071 #line 1072 "dhcp4_parser.cc"
1075 #line 451 "dhcp4_parser.yy"
1080 #line 1081 "dhcp4_parser.cc"
1084 #line 525 "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 531 "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 537 "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 543 "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 549 "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 555 "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 561 "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 567 "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 573 "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 579 "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 585 "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 591 "dhcp4_parser.yy"
1196 ctx.
unique(
"server-tag", ctx.
loc2pos(yystack_[0].location));
1199 #line 1200 "dhcp4_parser.cc"
1203 #line 594 "dhcp4_parser.yy"
1206 ctx.
stack_.back()->set(
"server-tag", stag);
1209 #line 1210 "dhcp4_parser.cc"
1213 #line 600 "dhcp4_parser.yy"
1215 ctx.
unique(
"echo-client-id", ctx.
loc2pos(yystack_[2].location));
1217 ctx.
stack_.back()->set(
"echo-client-id", echo);
1219 #line 1220 "dhcp4_parser.cc"
1223 #line 606 "dhcp4_parser.yy"
1225 ctx.
unique(
"match-client-id", ctx.
loc2pos(yystack_[2].location));
1227 ctx.
stack_.back()->set(
"match-client-id", match);
1229 #line 1230 "dhcp4_parser.cc"
1233 #line 612 "dhcp4_parser.yy"
1235 ctx.
unique(
"authoritative", ctx.
loc2pos(yystack_[2].location));
1237 ctx.
stack_.back()->set(
"authoritative", prf);
1239 #line 1240 "dhcp4_parser.cc"
1243 #line 618 "dhcp4_parser.yy"
1245 ctx.
unique(
"ddns-send-updates", ctx.
loc2pos(yystack_[2].location));
1247 ctx.
stack_.back()->set(
"ddns-send-updates", b);
1249 #line 1250 "dhcp4_parser.cc"
1253 #line 624 "dhcp4_parser.yy"
1255 ctx.
unique(
"ddns-override-no-update", ctx.
loc2pos(yystack_[2].location));
1257 ctx.
stack_.back()->set(
"ddns-override-no-update", b);
1259 #line 1260 "dhcp4_parser.cc"
1263 #line 630 "dhcp4_parser.yy"
1265 ctx.
unique(
"ddns-override-client-update", ctx.
loc2pos(yystack_[2].location));
1267 ctx.
stack_.back()->set(
"ddns-override-client-update", b);
1269 #line 1270 "dhcp4_parser.cc"
1273 #line 636 "dhcp4_parser.yy"
1276 ctx.
unique(
"ddns-replace-client-name", ctx.
loc2pos(yystack_[0].location));
1278 #line 1279 "dhcp4_parser.cc"
1282 #line 639 "dhcp4_parser.yy"
1284 ctx.
stack_.back()->set(
"ddns-replace-client-name", yystack_[0].value.as <
ElementPtr > ());
1287 #line 1288 "dhcp4_parser.cc"
1291 #line 645 "dhcp4_parser.yy"
1295 #line 1296 "dhcp4_parser.cc"
1299 #line 648 "dhcp4_parser.yy"
1303 #line 1304 "dhcp4_parser.cc"
1307 #line 651 "dhcp4_parser.yy"
1311 #line 1312 "dhcp4_parser.cc"
1315 #line 654 "dhcp4_parser.yy"
1319 #line 1320 "dhcp4_parser.cc"
1323 #line 657 "dhcp4_parser.yy"
1325 error(yystack_[0].location,
"boolean values for the replace-client-name are "
1326 "no longer supported");
1328 #line 1329 "dhcp4_parser.cc"
1332 #line 663 "dhcp4_parser.yy"
1334 ctx.
unique(
"ddns-generated-prefix", ctx.
loc2pos(yystack_[0].location));
1337 #line 1338 "dhcp4_parser.cc"
1341 #line 666 "dhcp4_parser.yy"
1344 ctx.
stack_.back()->set(
"ddns-generated-prefix", s);
1347 #line 1348 "dhcp4_parser.cc"
1351 #line 672 "dhcp4_parser.yy"
1353 ctx.
unique(
"ddns-qualifying-suffix", ctx.
loc2pos(yystack_[0].location));
1356 #line 1357 "dhcp4_parser.cc"
1360 #line 675 "dhcp4_parser.yy"
1363 ctx.
stack_.back()->set(
"ddns-qualifying-suffix", s);
1366 #line 1367 "dhcp4_parser.cc"
1370 #line 681 "dhcp4_parser.yy"
1372 ctx.
unique(
"ddns-update-on-renew", ctx.
loc2pos(yystack_[2].location));
1374 ctx.
stack_.back()->set(
"ddns-update-on-renew", b);
1376 #line 1377 "dhcp4_parser.cc"
1380 #line 687 "dhcp4_parser.yy"
1382 ctx.
unique(
"ddns-use-conflict-resolution", ctx.
loc2pos(yystack_[2].location));
1384 ctx.
stack_.back()->set(
"ddns-use-conflict-resolution", b);
1386 #line 1387 "dhcp4_parser.cc"
1390 #line 693 "dhcp4_parser.yy"
1392 ctx.
unique(
"hostname-char-set", ctx.
loc2pos(yystack_[0].location));
1395 #line 1396 "dhcp4_parser.cc"
1399 #line 696 "dhcp4_parser.yy"
1402 ctx.
stack_.back()->set(
"hostname-char-set", s);
1405 #line 1406 "dhcp4_parser.cc"
1409 #line 702 "dhcp4_parser.yy"
1411 ctx.
unique(
"hostname-char-replacement", ctx.
loc2pos(yystack_[0].location));
1414 #line 1415 "dhcp4_parser.cc"
1418 #line 705 "dhcp4_parser.yy"
1421 ctx.
stack_.back()->set(
"hostname-char-replacement", s);
1424 #line 1425 "dhcp4_parser.cc"
1428 #line 711 "dhcp4_parser.yy"
1430 ctx.
unique(
"store-extended-info", ctx.
loc2pos(yystack_[2].location));
1432 ctx.
stack_.back()->set(
"store-extended-info", b);
1434 #line 1435 "dhcp4_parser.cc"
1438 #line 717 "dhcp4_parser.yy"
1440 ctx.
unique(
"statistic-default-sample-count", ctx.
loc2pos(yystack_[2].location));
1442 ctx.
stack_.back()->set(
"statistic-default-sample-count", count);
1444 #line 1445 "dhcp4_parser.cc"
1448 #line 723 "dhcp4_parser.yy"
1450 ctx.
unique(
"statistic-default-sample-age", ctx.
loc2pos(yystack_[2].location));
1452 ctx.
stack_.back()->set(
"statistic-default-sample-age", age);
1454 #line 1455 "dhcp4_parser.cc"
1458 #line 729 "dhcp4_parser.yy"
1460 ctx.
unique(
"ip-reservations-unique", ctx.
loc2pos(yystack_[2].location));
1462 ctx.
stack_.back()->set(
"ip-reservations-unique", unique);
1464 #line 1465 "dhcp4_parser.cc"
1468 #line 735 "dhcp4_parser.yy"
1470 ctx.
unique(
"interfaces-config", ctx.
loc2pos(yystack_[0].location));
1472 ctx.
stack_.back()->set(
"interfaces-config", i);
1476 #line 1477 "dhcp4_parser.cc"
1480 #line 741 "dhcp4_parser.yy"
1486 #line 1487 "dhcp4_parser.cc"
1490 #line 760 "dhcp4_parser.yy"
1496 #line 1497 "dhcp4_parser.cc"
1500 #line 764 "dhcp4_parser.yy"
1505 #line 1506 "dhcp4_parser.cc"
1509 #line 769 "dhcp4_parser.yy"
1511 ctx.
unique(
"interfaces", ctx.
loc2pos(yystack_[0].location));
1513 ctx.
stack_.back()->set(
"interfaces", l);
1517 #line 1518 "dhcp4_parser.cc"
1521 #line 775 "dhcp4_parser.yy"
1526 #line 1527 "dhcp4_parser.cc"
1530 #line 780 "dhcp4_parser.yy"
1532 ctx.
unique(
"dhcp-socket-type", ctx.
loc2pos(yystack_[0].location));
1535 #line 1536 "dhcp4_parser.cc"
1539 #line 783 "dhcp4_parser.yy"
1541 ctx.
stack_.back()->set(
"dhcp-socket-type", yystack_[0].value.as <
ElementPtr > ());
1544 #line 1545 "dhcp4_parser.cc"
1548 #line 788 "dhcp4_parser.yy"
1550 #line 1551 "dhcp4_parser.cc"
1554 #line 789 "dhcp4_parser.yy"
1556 #line 1557 "dhcp4_parser.cc"
1560 #line 792 "dhcp4_parser.yy"
1562 ctx.
unique(
"outbound-interface", ctx.
loc2pos(yystack_[0].location));
1565 #line 1566 "dhcp4_parser.cc"
1569 #line 795 "dhcp4_parser.yy"
1571 ctx.
stack_.back()->set(
"outbound-interface", yystack_[0].value.as <
ElementPtr > ());
1574 #line 1575 "dhcp4_parser.cc"
1578 #line 800 "dhcp4_parser.yy"
1582 #line 1583 "dhcp4_parser.cc"
1586 #line 802 "dhcp4_parser.yy"
1590 #line 1591 "dhcp4_parser.cc"
1594 #line 806 "dhcp4_parser.yy"
1598 ctx.
stack_.back()->set(
"re-detect", b);
1600 #line 1601 "dhcp4_parser.cc"
1604 #line 813 "dhcp4_parser.yy"
1606 ctx.
unique(
"lease-database", ctx.
loc2pos(yystack_[0].location));
1608 ctx.
stack_.back()->set(
"lease-database", i);
1612 #line 1613 "dhcp4_parser.cc"
1616 #line 819 "dhcp4_parser.yy"
1623 #line 1624 "dhcp4_parser.cc"
1627 #line 826 "dhcp4_parser.yy"
1629 ctx.
unique(
"sanity-checks", ctx.
loc2pos(yystack_[0].location));
1631 ctx.
stack_.back()->set(
"sanity-checks", m);
1635 #line 1636 "dhcp4_parser.cc"
1639 #line 832 "dhcp4_parser.yy"
1644 #line 1645 "dhcp4_parser.cc"
1648 #line 842 "dhcp4_parser.yy"
1650 ctx.
unique(
"lease-checks", ctx.
loc2pos(yystack_[0].location));
1653 #line 1654 "dhcp4_parser.cc"
1657 #line 845 "dhcp4_parser.yy"
1660 if ( (
string(yystack_[0].value.as < std::string > ()) ==
"none") ||
1661 (
string(yystack_[0].value.as < std::string > ()) ==
"warn") ||
1662 (
string(yystack_[0].value.as < std::string > ()) ==
"fix") ||
1663 (
string(yystack_[0].value.as < std::string > ()) ==
"fix-del") ||
1664 (
string(yystack_[0].value.as < std::string > ()) ==
"del")) {
1666 ctx.
stack_.back()->set(
"lease-checks", user);
1669 error(yystack_[0].location,
"Unsupported 'lease-checks value: " +
string(yystack_[0].value.as < std::string > ()) +
1670 ", supported values are: none, warn, fix, fix-del, del");
1673 #line 1674 "dhcp4_parser.cc"
1677 #line 861 "dhcp4_parser.yy"
1679 ctx.
unique(
"hosts-database", ctx.
loc2pos(yystack_[0].location));
1681 ctx.
stack_.back()->set(
"hosts-database", i);
1685 #line 1686 "dhcp4_parser.cc"
1689 #line 867 "dhcp4_parser.yy"
1696 #line 1697 "dhcp4_parser.cc"
1700 #line 874 "dhcp4_parser.yy"
1702 ctx.
unique(
"hosts-databases", ctx.
loc2pos(yystack_[0].location));
1704 ctx.
stack_.back()->set(
"hosts-databases", l);
1708 #line 1709 "dhcp4_parser.cc"
1712 #line 880 "dhcp4_parser.yy"
1717 #line 1718 "dhcp4_parser.cc"
1721 #line 893 "dhcp4_parser.yy"
1724 ctx.
stack_.back()->add(m);
1727 #line 1728 "dhcp4_parser.cc"
1731 #line 897 "dhcp4_parser.yy"
1737 #line 1738 "dhcp4_parser.cc"
1741 #line 931 "dhcp4_parser.yy"
1746 #line 1747 "dhcp4_parser.cc"
1750 #line 934 "dhcp4_parser.yy"
1755 #line 1756 "dhcp4_parser.cc"
1759 #line 939 "dhcp4_parser.yy"
1761 #line 1762 "dhcp4_parser.cc"
1765 #line 940 "dhcp4_parser.yy"
1767 #line 1768 "dhcp4_parser.cc"
1771 #line 941 "dhcp4_parser.yy"
1773 #line 1774 "dhcp4_parser.cc"
1777 #line 942 "dhcp4_parser.yy"
1779 #line 1780 "dhcp4_parser.cc"
1783 #line 945 "dhcp4_parser.yy"
1788 #line 1789 "dhcp4_parser.cc"
1792 #line 948 "dhcp4_parser.yy"
1795 ctx.
stack_.back()->set(
"user", user);
1798 #line 1799 "dhcp4_parser.cc"
1802 #line 954 "dhcp4_parser.yy"
1807 #line 1808 "dhcp4_parser.cc"
1811 #line 957 "dhcp4_parser.yy"
1814 ctx.
stack_.back()->set(
"password", pwd);
1817 #line 1818 "dhcp4_parser.cc"
1821 #line 963 "dhcp4_parser.yy"
1826 #line 1827 "dhcp4_parser.cc"
1830 #line 966 "dhcp4_parser.yy"
1833 ctx.
stack_.back()->set(
"host", h);
1836 #line 1837 "dhcp4_parser.cc"
1840 #line 972 "dhcp4_parser.yy"
1844 ctx.
stack_.back()->set(
"port", p);
1846 #line 1847 "dhcp4_parser.cc"
1850 #line 978 "dhcp4_parser.yy"
1855 #line 1856 "dhcp4_parser.cc"
1859 #line 981 "dhcp4_parser.yy"
1862 ctx.
stack_.back()->set(
"name", name);
1865 #line 1866 "dhcp4_parser.cc"
1869 #line 987 "dhcp4_parser.yy"
1873 ctx.
stack_.back()->set(
"persist", n);
1875 #line 1876 "dhcp4_parser.cc"
1879 #line 993 "dhcp4_parser.yy"
1881 ctx.
unique(
"lfc-interval", ctx.
loc2pos(yystack_[2].location));
1883 ctx.
stack_.back()->set(
"lfc-interval", n);
1885 #line 1886 "dhcp4_parser.cc"
1889 #line 999 "dhcp4_parser.yy"
1893 ctx.
stack_.back()->set(
"readonly", n);
1895 #line 1896 "dhcp4_parser.cc"
1899 #line 1005 "dhcp4_parser.yy"
1901 ctx.
unique(
"connect-timeout", ctx.
loc2pos(yystack_[2].location));
1903 ctx.
stack_.back()->set(
"connect-timeout", n);
1905 #line 1906 "dhcp4_parser.cc"
1909 #line 1011 "dhcp4_parser.yy"
1911 ctx.
unique(
"request-timeout", ctx.
loc2pos(yystack_[2].location));
1913 ctx.
stack_.back()->set(
"request-timeout", n);
1915 #line 1916 "dhcp4_parser.cc"
1919 #line 1017 "dhcp4_parser.yy"
1921 ctx.
unique(
"tcp-keepalive", ctx.
loc2pos(yystack_[2].location));
1923 ctx.
stack_.back()->set(
"tcp-keepalive", n);
1925 #line 1926 "dhcp4_parser.cc"
1929 #line 1023 "dhcp4_parser.yy"
1931 ctx.
unique(
"tcp-nodelay", ctx.
loc2pos(yystack_[2].location));
1933 ctx.
stack_.back()->set(
"tcp-nodelay", n);
1935 #line 1936 "dhcp4_parser.cc"
1939 #line 1029 "dhcp4_parser.yy"
1941 ctx.
unique(
"contact-points", ctx.
loc2pos(yystack_[0].location));
1944 #line 1945 "dhcp4_parser.cc"
1948 #line 1032 "dhcp4_parser.yy"
1951 ctx.
stack_.back()->set(
"contact-points", cp);
1954 #line 1955 "dhcp4_parser.cc"
1958 #line 1038 "dhcp4_parser.yy"
1963 #line 1964 "dhcp4_parser.cc"
1967 #line 1041 "dhcp4_parser.yy"
1970 ctx.
stack_.back()->set(
"keyspace", ks);
1973 #line 1974 "dhcp4_parser.cc"
1977 #line 1047 "dhcp4_parser.yy"
1979 ctx.
unique(
"consistency", ctx.
loc2pos(yystack_[0].location));
1982 #line 1983 "dhcp4_parser.cc"
1986 #line 1050 "dhcp4_parser.yy"
1989 ctx.
stack_.back()->set(
"consistency", c);
1992 #line 1993 "dhcp4_parser.cc"
1996 #line 1056 "dhcp4_parser.yy"
1998 ctx.
unique(
"serial-consistency", ctx.
loc2pos(yystack_[0].location));
2001 #line 2002 "dhcp4_parser.cc"
2005 #line 1059 "dhcp4_parser.yy"
2008 ctx.
stack_.back()->set(
"serial-consistency", c);
2011 #line 2012 "dhcp4_parser.cc"
2015 #line 1065 "dhcp4_parser.yy"
2017 ctx.
unique(
"max-reconnect-tries", ctx.
loc2pos(yystack_[2].location));
2019 ctx.
stack_.back()->set(
"max-reconnect-tries", n);
2021 #line 2022 "dhcp4_parser.cc"
2025 #line 1071 "dhcp4_parser.yy"
2027 ctx.
unique(
"reconnect-wait-time", ctx.
loc2pos(yystack_[2].location));
2029 ctx.
stack_.back()->set(
"reconnect-wait-time", n);
2031 #line 2032 "dhcp4_parser.cc"
2035 #line 1077 "dhcp4_parser.yy"
2040 #line 2041 "dhcp4_parser.cc"
2044 #line 1080 "dhcp4_parser.yy"
2049 #line 2050 "dhcp4_parser.cc"
2053 #line 1085 "dhcp4_parser.yy"
2055 #line 2056 "dhcp4_parser.cc"
2059 #line 1086 "dhcp4_parser.yy"
2061 #line 2062 "dhcp4_parser.cc"
2065 #line 1087 "dhcp4_parser.yy"
2067 #line 2068 "dhcp4_parser.cc"
2071 #line 1090 "dhcp4_parser.yy"
2073 ctx.
unique(
"max-row-errors", ctx.
loc2pos(yystack_[2].location));
2075 ctx.
stack_.back()->set(
"max-row-errors", n);
2077 #line 2078 "dhcp4_parser.cc"
2081 #line 1097 "dhcp4_parser.yy"
2083 ctx.
unique(
"host-reservation-identifiers", ctx.
loc2pos(yystack_[0].location));
2085 ctx.
stack_.back()->set(
"host-reservation-identifiers", l);
2089 #line 2090 "dhcp4_parser.cc"
2093 #line 1103 "dhcp4_parser.yy"
2098 #line 2099 "dhcp4_parser.cc"
2102 #line 1119 "dhcp4_parser.yy"
2105 ctx.
stack_.back()->add(duid);
2107 #line 2108 "dhcp4_parser.cc"
2111 #line 1124 "dhcp4_parser.yy"
2114 ctx.
stack_.back()->add(hwaddr);
2116 #line 2117 "dhcp4_parser.cc"
2120 #line 1129 "dhcp4_parser.yy"
2123 ctx.
stack_.back()->add(circuit);
2125 #line 2126 "dhcp4_parser.cc"
2129 #line 1134 "dhcp4_parser.yy"
2132 ctx.
stack_.back()->add(client);
2134 #line 2135 "dhcp4_parser.cc"
2138 #line 1139 "dhcp4_parser.yy"
2141 ctx.
stack_.back()->add(flex_id);
2143 #line 2144 "dhcp4_parser.cc"
2147 #line 1146 "dhcp4_parser.yy"
2149 ctx.
unique(
"multi-threading", ctx.
loc2pos(yystack_[0].location));
2151 ctx.
stack_.back()->set(
"multi-threading", mt);
2152 ctx.
stack_.push_back(mt);
2155 #line 2156 "dhcp4_parser.cc"
2159 #line 1152 "dhcp4_parser.yy"
2162 ctx.
require(
"enable-multi-threading", ctx.
loc2pos(yystack_[2].location), ctx.
loc2pos(yystack_[0].location));
2166 #line 2167 "dhcp4_parser.cc"
2170 #line 1171 "dhcp4_parser.yy"
2172 ctx.
unique(
"enable-multi-threading", ctx.
loc2pos(yystack_[2].location));
2174 ctx.
stack_.back()->set(
"enable-multi-threading", b);
2176 #line 2177 "dhcp4_parser.cc"
2180 #line 1177 "dhcp4_parser.yy"
2182 ctx.
unique(
"thread-pool-size", ctx.
loc2pos(yystack_[2].location));
2184 ctx.
stack_.back()->set(
"thread-pool-size", prf);
2186 #line 2187 "dhcp4_parser.cc"
2190 #line 1183 "dhcp4_parser.yy"
2192 ctx.
unique(
"packet-queue-size", ctx.
loc2pos(yystack_[2].location));
2194 ctx.
stack_.back()->set(
"packet-queue-size", prf);
2196 #line 2197 "dhcp4_parser.cc"
2200 #line 1189 "dhcp4_parser.yy"
2202 ctx.
unique(
"hooks-libraries", ctx.
loc2pos(yystack_[0].location));
2204 ctx.
stack_.back()->set(
"hooks-libraries", l);
2208 #line 2209 "dhcp4_parser.cc"
2212 #line 1195 "dhcp4_parser.yy"
2217 #line 2218 "dhcp4_parser.cc"
2221 #line 1208 "dhcp4_parser.yy"
2224 ctx.
stack_.back()->add(m);
2227 #line 2228 "dhcp4_parser.cc"
2231 #line 1212 "dhcp4_parser.yy"
2237 #line 2238 "dhcp4_parser.cc"
2241 #line 1218 "dhcp4_parser.yy"
2247 #line 2248 "dhcp4_parser.cc"
2251 #line 1222 "dhcp4_parser.yy"
2257 #line 2258 "dhcp4_parser.cc"
2261 #line 1237 "dhcp4_parser.yy"
2266 #line 2267 "dhcp4_parser.cc"
2270 #line 1240 "dhcp4_parser.yy"
2273 ctx.
stack_.back()->set(
"library", lib);
2276 #line 2277 "dhcp4_parser.cc"
2280 #line 1246 "dhcp4_parser.yy"
2282 ctx.
unique(
"parameters", ctx.
loc2pos(yystack_[0].location));
2285 #line 2286 "dhcp4_parser.cc"
2289 #line 1249 "dhcp4_parser.yy"
2291 ctx.
stack_.back()->set(
"parameters", yystack_[0].value.as <
ElementPtr > ());
2294 #line 2295 "dhcp4_parser.cc"
2298 #line 1255 "dhcp4_parser.yy"
2300 ctx.
unique(
"expired-leases-processing", ctx.
loc2pos(yystack_[0].location));
2302 ctx.
stack_.back()->set(
"expired-leases-processing", m);
2306 #line 2307 "dhcp4_parser.cc"
2310 #line 1261 "dhcp4_parser.yy"
2316 #line 2317 "dhcp4_parser.cc"
2320 #line 1279 "dhcp4_parser.yy"
2322 ctx.
unique(
"reclaim-timer-wait-time", ctx.
loc2pos(yystack_[2].location));
2324 ctx.
stack_.back()->set(
"reclaim-timer-wait-time", value);
2326 #line 2327 "dhcp4_parser.cc"
2330 #line 1285 "dhcp4_parser.yy"
2332 ctx.
unique(
"flush-reclaimed-timer-wait-time", ctx.
loc2pos(yystack_[2].location));
2334 ctx.
stack_.back()->set(
"flush-reclaimed-timer-wait-time", value);
2336 #line 2337 "dhcp4_parser.cc"
2340 #line 1291 "dhcp4_parser.yy"
2342 ctx.
unique(
"hold-reclaimed-time", ctx.
loc2pos(yystack_[2].location));
2344 ctx.
stack_.back()->set(
"hold-reclaimed-time", value);
2346 #line 2347 "dhcp4_parser.cc"
2350 #line 1297 "dhcp4_parser.yy"
2352 ctx.
unique(
"max-reclaim-leases", ctx.
loc2pos(yystack_[2].location));
2354 ctx.
stack_.back()->set(
"max-reclaim-leases", value);
2356 #line 2357 "dhcp4_parser.cc"
2360 #line 1303 "dhcp4_parser.yy"
2362 ctx.
unique(
"max-reclaim-time", ctx.
loc2pos(yystack_[2].location));
2364 ctx.
stack_.back()->set(
"max-reclaim-time", value);
2366 #line 2367 "dhcp4_parser.cc"
2370 #line 1309 "dhcp4_parser.yy"
2372 ctx.
unique(
"unwarned-reclaim-cycles", ctx.
loc2pos(yystack_[2].location));
2374 ctx.
stack_.back()->set(
"unwarned-reclaim-cycles", value);
2376 #line 2377 "dhcp4_parser.cc"
2380 #line 1318 "dhcp4_parser.yy"
2384 ctx.
stack_.back()->set(
"subnet4", l);
2388 #line 2389 "dhcp4_parser.cc"
2392 #line 1324 "dhcp4_parser.yy"
2397 #line 2398 "dhcp4_parser.cc"
2401 #line 1344 "dhcp4_parser.yy"
2404 ctx.
stack_.back()->add(m);
2407 #line 2408 "dhcp4_parser.cc"
2411 #line 1348 "dhcp4_parser.yy"
2433 #line 2434 "dhcp4_parser.cc"
2437 #line 1370 "dhcp4_parser.yy"
2443 #line 2444 "dhcp4_parser.cc"
2447 #line 1374 "dhcp4_parser.yy"
2453 #line 2454 "dhcp4_parser.cc"
2457 #line 1433 "dhcp4_parser.yy"
2462 #line 2463 "dhcp4_parser.cc"
2466 #line 1436 "dhcp4_parser.yy"
2469 ctx.
stack_.back()->set(
"subnet", subnet);
2472 #line 2473 "dhcp4_parser.cc"
2476 #line 1442 "dhcp4_parser.yy"
2478 ctx.
unique(
"4o6-interface", ctx.
loc2pos(yystack_[0].location));
2481 #line 2482 "dhcp4_parser.cc"
2485 #line 1445 "dhcp4_parser.yy"
2488 ctx.
stack_.back()->set(
"4o6-interface", iface);
2491 #line 2492 "dhcp4_parser.cc"
2495 #line 1451 "dhcp4_parser.yy"
2497 ctx.
unique(
"4o6-interface-id", ctx.
loc2pos(yystack_[0].location));
2500 #line 2501 "dhcp4_parser.cc"
2504 #line 1454 "dhcp4_parser.yy"
2507 ctx.
stack_.back()->set(
"4o6-interface-id", iface);
2510 #line 2511 "dhcp4_parser.cc"
2514 #line 1460 "dhcp4_parser.yy"
2516 ctx.
unique(
"4o6-subnet", ctx.
loc2pos(yystack_[0].location));
2519 #line 2520 "dhcp4_parser.cc"
2523 #line 1463 "dhcp4_parser.yy"
2526 ctx.
stack_.back()->set(
"4o6-subnet", iface);
2529 #line 2530 "dhcp4_parser.cc"
2533 #line 1469 "dhcp4_parser.yy"
2538 #line 2539 "dhcp4_parser.cc"
2542 #line 1472 "dhcp4_parser.yy"
2545 ctx.
stack_.back()->set(
"interface", iface);
2548 #line 2549 "dhcp4_parser.cc"
2552 #line 1478 "dhcp4_parser.yy"
2554 ctx.
unique(
"client-class", ctx.
loc2pos(yystack_[0].location));
2557 #line 2558 "dhcp4_parser.cc"
2561 #line 1481 "dhcp4_parser.yy"
2564 ctx.
stack_.back()->set(
"client-class", cls);
2567 #line 2568 "dhcp4_parser.cc"
2571 #line 1487 "dhcp4_parser.yy"
2573 ctx.
unique(
"require-client-classes", ctx.
loc2pos(yystack_[0].location));
2575 ctx.
stack_.back()->set(
"require-client-classes", c);
2579 #line 2580 "dhcp4_parser.cc"
2583 #line 1493 "dhcp4_parser.yy"
2588 #line 2589 "dhcp4_parser.cc"
2592 #line 1498 "dhcp4_parser.yy"
2594 ctx.
unique(
"reservations-global", ctx.
loc2pos(yystack_[2].location));
2596 ctx.
stack_.back()->set(
"reservations-global", b);
2598 #line 2599 "dhcp4_parser.cc"
2602 #line 1504 "dhcp4_parser.yy"
2604 ctx.
unique(
"reservations-in-subnet", ctx.
loc2pos(yystack_[2].location));
2606 ctx.
stack_.back()->set(
"reservations-in-subnet", b);
2608 #line 2609 "dhcp4_parser.cc"
2612 #line 1510 "dhcp4_parser.yy"
2614 ctx.
unique(
"reservations-out-of-pool", ctx.
loc2pos(yystack_[2].location));
2616 ctx.
stack_.back()->set(
"reservations-out-of-pool", b);
2618 #line 2619 "dhcp4_parser.cc"
2622 #line 1516 "dhcp4_parser.yy"
2624 ctx.
unique(
"reservation-mode", ctx.
loc2pos(yystack_[0].location));
2627 #line 2628 "dhcp4_parser.cc"
2631 #line 1519 "dhcp4_parser.yy"
2633 ctx.
stack_.back()->set(
"reservation-mode", yystack_[0].value.as <
ElementPtr > ());
2636 #line 2637 "dhcp4_parser.cc"
2640 #line 1524 "dhcp4_parser.yy"
2642 #line 2643 "dhcp4_parser.cc"
2646 #line 1525 "dhcp4_parser.yy"
2648 #line 2649 "dhcp4_parser.cc"
2652 #line 1526 "dhcp4_parser.yy"
2654 #line 2655 "dhcp4_parser.cc"
2658 #line 1527 "dhcp4_parser.yy"
2660 #line 2661 "dhcp4_parser.cc"
2664 #line 1530 "dhcp4_parser.yy"
2668 ctx.
stack_.back()->set(
"id",
id);
2670 #line 2671 "dhcp4_parser.cc"
2674 #line 1538 "dhcp4_parser.yy"
2676 ctx.
unique(
"shared-networks", ctx.
loc2pos(yystack_[0].location));
2678 ctx.
stack_.back()->set(
"shared-networks", l);
2682 #line 2683 "dhcp4_parser.cc"
2686 #line 1544 "dhcp4_parser.yy"
2691 #line 2692 "dhcp4_parser.cc"
2695 #line 1559 "dhcp4_parser.yy"
2698 ctx.
stack_.back()->add(m);
2701 #line 2702 "dhcp4_parser.cc"
2705 #line 1563 "dhcp4_parser.yy"
2709 #line 2710 "dhcp4_parser.cc"
2713 #line 1617 "dhcp4_parser.yy"
2715 ctx.
unique(
"option-def", ctx.
loc2pos(yystack_[0].location));
2717 ctx.
stack_.back()->set(
"option-def", l);
2721 #line 2722 "dhcp4_parser.cc"
2725 #line 1623 "dhcp4_parser.yy"
2730 #line 2731 "dhcp4_parser.cc"
2734 #line 1631 "dhcp4_parser.yy"
2739 #line 2740 "dhcp4_parser.cc"
2743 #line 1634 "dhcp4_parser.yy"
2747 #line 2748 "dhcp4_parser.cc"
2751 #line 1650 "dhcp4_parser.yy"
2754 ctx.
stack_.back()->add(m);
2757 #line 2758 "dhcp4_parser.cc"
2761 #line 1654 "dhcp4_parser.yy"
2769 #line 2770 "dhcp4_parser.cc"
2773 #line 1665 "dhcp4_parser.yy"
2779 #line 2780 "dhcp4_parser.cc"
2783 #line 1669 "dhcp4_parser.yy"
2791 #line 2792 "dhcp4_parser.cc"
2795 #line 1701 "dhcp4_parser.yy"
2799 ctx.
stack_.back()->set(
"code", code);
2801 #line 2802 "dhcp4_parser.cc"
2805 #line 1709 "dhcp4_parser.yy"
2810 #line 2811 "dhcp4_parser.cc"
2814 #line 1712 "dhcp4_parser.yy"
2817 ctx.
stack_.back()->set(
"type", prf);
2820 #line 2821 "dhcp4_parser.cc"
2824 #line 1718 "dhcp4_parser.yy"
2826 ctx.
unique(
"record-types", ctx.
loc2pos(yystack_[0].location));
2829 #line 2830 "dhcp4_parser.cc"
2833 #line 1721 "dhcp4_parser.yy"
2836 ctx.
stack_.back()->set(
"record-types", rtypes);
2839 #line 2840 "dhcp4_parser.cc"
2843 #line 1727 "dhcp4_parser.yy"
2848 #line 2849 "dhcp4_parser.cc"
2852 #line 1730 "dhcp4_parser.yy"
2855 ctx.
stack_.back()->set(
"space", space);
2858 #line 2859 "dhcp4_parser.cc"
2862 #line 1738 "dhcp4_parser.yy"
2864 ctx.
unique(
"encapsulate", ctx.
loc2pos(yystack_[0].location));
2867 #line 2868 "dhcp4_parser.cc"
2871 #line 1741 "dhcp4_parser.yy"
2874 ctx.
stack_.back()->set(
"encapsulate", encap);
2877 #line 2878 "dhcp4_parser.cc"
2881 #line 1747 "dhcp4_parser.yy"
2885 ctx.
stack_.back()->set(
"array", array);
2887 #line 2888 "dhcp4_parser.cc"
2891 #line 1757 "dhcp4_parser.yy"
2893 ctx.
unique(
"option-data", ctx.
loc2pos(yystack_[0].location));
2895 ctx.
stack_.back()->set(
"option-data", l);
2899 #line 2900 "dhcp4_parser.cc"
2903 #line 1763 "dhcp4_parser.yy"
2908 #line 2909 "dhcp4_parser.cc"
2912 #line 1782 "dhcp4_parser.yy"
2915 ctx.
stack_.back()->add(m);
2918 #line 2919 "dhcp4_parser.cc"
2922 #line 1786 "dhcp4_parser.yy"
2927 #line 2928 "dhcp4_parser.cc"
2931 #line 1794 "dhcp4_parser.yy"
2937 #line 2938 "dhcp4_parser.cc"
2941 #line 1798 "dhcp4_parser.yy"
2946 #line 2947 "dhcp4_parser.cc"
2950 #line 1831 "dhcp4_parser.yy"
2955 #line 2956 "dhcp4_parser.cc"
2959 #line 1834 "dhcp4_parser.yy"
2962 ctx.
stack_.back()->set(
"data", data);
2965 #line 2966 "dhcp4_parser.cc"
2969 #line 1844 "dhcp4_parser.yy"
2971 ctx.
unique(
"csv-format", ctx.
loc2pos(yystack_[2].location));
2973 ctx.
stack_.back()->set(
"csv-format", space);
2975 #line 2976 "dhcp4_parser.cc"
2979 #line 1850 "dhcp4_parser.yy"
2981 ctx.
unique(
"always-send", ctx.
loc2pos(yystack_[2].location));
2983 ctx.
stack_.back()->set(
"always-send", persist);
2985 #line 2986 "dhcp4_parser.cc"
2989 #line 1859 "dhcp4_parser.yy"
2993 ctx.
stack_.back()->set(
"pools", l);
2997 #line 2998 "dhcp4_parser.cc"
3001 #line 1865 "dhcp4_parser.yy"
3006 #line 3007 "dhcp4_parser.cc"
3010 #line 1880 "dhcp4_parser.yy"
3013 ctx.
stack_.back()->add(m);
3016 #line 3017 "dhcp4_parser.cc"
3020 #line 1884 "dhcp4_parser.yy"
3026 #line 3027 "dhcp4_parser.cc"
3030 #line 1890 "dhcp4_parser.yy"
3036 #line 3037 "dhcp4_parser.cc"
3040 #line 1894 "dhcp4_parser.yy"
3046 #line 3047 "dhcp4_parser.cc"
3050 #line 1913 "dhcp4_parser.yy"
3055 #line 3056 "dhcp4_parser.cc"
3059 #line 1916 "dhcp4_parser.yy"
3062 ctx.
stack_.back()->set(
"pool", pool);
3065 #line 3066 "dhcp4_parser.cc"
3069 #line 1922 "dhcp4_parser.yy"
3073 #line 3074 "dhcp4_parser.cc"
3077 #line 1924 "dhcp4_parser.yy"
3086 if ((old->size() != 1) || !old->contains(
"comment")) {
3087 std::stringstream msg;
3088 msg <<
"duplicate user-context entries (previous at "
3089 << old->getPosition().str() <<
")";
3090 error(yystack_[3].location, msg.str());
3093 user_context->set(
"comment", old->get(
"comment"));
3097 parent->set(
"user-context", user_context);
3100 #line 3101 "dhcp4_parser.cc"
3104 #line 1947 "dhcp4_parser.yy"
3108 #line 3109 "dhcp4_parser.cc"
3112 #line 1949 "dhcp4_parser.yy"
3117 user_context->set(
"comment", comment);
3123 if (old->contains(
"comment")) {
3124 std::stringstream msg;
3125 msg <<
"duplicate user-context/comment entries (previous at "
3126 << old->getPosition().str() <<
")";
3127 error(yystack_[3].location, msg.str());
3130 merge(user_context, old);
3134 parent->set(
"user-context", user_context);
3137 #line 3138 "dhcp4_parser.cc"
3141 #line 1977 "dhcp4_parser.yy"
3143 ctx.
unique(
"reservations", ctx.
loc2pos(yystack_[0].location));
3145 ctx.
stack_.back()->set(
"reservations", l);
3149 #line 3150 "dhcp4_parser.cc"
3153 #line 1983 "dhcp4_parser.yy"
3158 #line 3159 "dhcp4_parser.cc"
3162 #line 1996 "dhcp4_parser.yy"
3165 ctx.
stack_.back()->add(m);
3168 #line 3169 "dhcp4_parser.cc"
3172 #line 2000 "dhcp4_parser.yy"
3177 #line 3178 "dhcp4_parser.cc"
3181 #line 2005 "dhcp4_parser.yy"
3187 #line 3188 "dhcp4_parser.cc"
3191 #line 2009 "dhcp4_parser.yy"
3196 #line 3197 "dhcp4_parser.cc"
3200 #line 2040 "dhcp4_parser.yy"
3202 ctx.
unique(
"next-server", ctx.
loc2pos(yystack_[0].location));
3205 #line 3206 "dhcp4_parser.cc"
3209 #line 2043 "dhcp4_parser.yy"
3212 ctx.
stack_.back()->set(
"next-server", next_server);
3215 #line 3216 "dhcp4_parser.cc"
3219 #line 2049 "dhcp4_parser.yy"
3221 ctx.
unique(
"server-hostname", ctx.
loc2pos(yystack_[0].location));
3224 #line 3225 "dhcp4_parser.cc"
3228 #line 2052 "dhcp4_parser.yy"
3231 ctx.
stack_.back()->set(
"server-hostname", srv);
3234 #line 3235 "dhcp4_parser.cc"
3238 #line 2058 "dhcp4_parser.yy"
3240 ctx.
unique(
"boot-file-name", ctx.
loc2pos(yystack_[0].location));
3243 #line 3244 "dhcp4_parser.cc"
3247 #line 2061 "dhcp4_parser.yy"
3250 ctx.
stack_.back()->set(
"boot-file-name", bootfile);
3253 #line 3254 "dhcp4_parser.cc"
3257 #line 2067 "dhcp4_parser.yy"
3259 ctx.
unique(
"ip-address", ctx.
loc2pos(yystack_[0].location));
3262 #line 3263 "dhcp4_parser.cc"
3266 #line 2070 "dhcp4_parser.yy"
3269 ctx.
stack_.back()->set(
"ip-address", addr);
3272 #line 3273 "dhcp4_parser.cc"
3276 #line 2076 "dhcp4_parser.yy"
3278 ctx.
unique(
"ip-addresses", ctx.
loc2pos(yystack_[0].location));
3280 ctx.
stack_.back()->set(
"ip-addresses", l);
3284 #line 3285 "dhcp4_parser.cc"
3288 #line 2082 "dhcp4_parser.yy"
3293 #line 3294 "dhcp4_parser.cc"
3297 #line 2087 "dhcp4_parser.yy"
3302 #line 3303 "dhcp4_parser.cc"
3306 #line 2090 "dhcp4_parser.yy"
3309 ctx.
stack_.back()->set(
"duid", d);
3312 #line 3313 "dhcp4_parser.cc"
3316 #line 2096 "dhcp4_parser.yy"
3318 ctx.
unique(
"hw-address", ctx.
loc2pos(yystack_[0].location));
3321 #line 3322 "dhcp4_parser.cc"
3325 #line 2099 "dhcp4_parser.yy"
3328 ctx.
stack_.back()->set(
"hw-address", hw);
3331 #line 3332 "dhcp4_parser.cc"
3335 #line 2105 "dhcp4_parser.yy"
3340 #line 3341 "dhcp4_parser.cc"
3344 #line 2108 "dhcp4_parser.yy"
3347 ctx.
stack_.back()->set(
"client-id", hw);
3350 #line 3351 "dhcp4_parser.cc"
3354 #line 2114 "dhcp4_parser.yy"
3356 ctx.
unique(
"circuit-id", ctx.
loc2pos(yystack_[0].location));
3359 #line 3360 "dhcp4_parser.cc"
3363 #line 2117 "dhcp4_parser.yy"
3366 ctx.
stack_.back()->set(
"circuit-id", hw);
3369 #line 3370 "dhcp4_parser.cc"
3373 #line 2123 "dhcp4_parser.yy"
3378 #line 3379 "dhcp4_parser.cc"
3382 #line 2126 "dhcp4_parser.yy"
3385 ctx.
stack_.back()->set(
"flex-id", hw);
3388 #line 3389 "dhcp4_parser.cc"
3392 #line 2132 "dhcp4_parser.yy"
3397 #line 3398 "dhcp4_parser.cc"
3401 #line 2135 "dhcp4_parser.yy"
3404 ctx.
stack_.back()->set(
"hostname", host);
3407 #line 3408 "dhcp4_parser.cc"
3411 #line 2141 "dhcp4_parser.yy"
3413 ctx.
unique(
"client-classes", ctx.
loc2pos(yystack_[0].location));
3415 ctx.
stack_.back()->set(
"client-classes", c);
3419 #line 3420 "dhcp4_parser.cc"
3423 #line 2147 "dhcp4_parser.yy"
3428 #line 3429 "dhcp4_parser.cc"
3432 #line 2155 "dhcp4_parser.yy"
3436 ctx.
stack_.back()->set(
"relay", m);
3440 #line 3441 "dhcp4_parser.cc"
3444 #line 2161 "dhcp4_parser.yy"
3449 #line 3450 "dhcp4_parser.cc"
3453 #line 2173 "dhcp4_parser.yy"
3455 ctx.
unique(
"client-classes", ctx.
loc2pos(yystack_[0].location));
3457 ctx.
stack_.back()->set(
"client-classes", l);
3461 #line 3462 "dhcp4_parser.cc"
3465 #line 2179 "dhcp4_parser.yy"
3470 #line 3471 "dhcp4_parser.cc"
3474 #line 2188 "dhcp4_parser.yy"
3477 ctx.
stack_.back()->add(m);
3480 #line 3481 "dhcp4_parser.cc"
3484 #line 2192 "dhcp4_parser.yy"
3490 #line 3491 "dhcp4_parser.cc"
3494 #line 2224 "dhcp4_parser.yy"
3499 #line 3500 "dhcp4_parser.cc"
3503 #line 2227 "dhcp4_parser.yy"
3506 ctx.
stack_.back()->set(
"test", test);
3509 #line 3510 "dhcp4_parser.cc"
3513 #line 2233 "dhcp4_parser.yy"
3515 ctx.
unique(
"only-if-required", ctx.
loc2pos(yystack_[2].location));
3517 ctx.
stack_.back()->set(
"only-if-required", b);
3519 #line 3520 "dhcp4_parser.cc"
3523 #line 2241 "dhcp4_parser.yy"
3525 ctx.
unique(
"dhcp4o6-port", ctx.
loc2pos(yystack_[2].location));
3527 ctx.
stack_.back()->set(
"dhcp4o6-port", time);
3529 #line 3530 "dhcp4_parser.cc"
3533 #line 2249 "dhcp4_parser.yy"
3535 ctx.
unique(
"control-socket", ctx.
loc2pos(yystack_[0].location));
3537 ctx.
stack_.back()->set(
"control-socket", m);
3541 #line 3542 "dhcp4_parser.cc"
3545 #line 2255 "dhcp4_parser.yy"
3550 #line 3551 "dhcp4_parser.cc"
3554 #line 2271 "dhcp4_parser.yy"
3556 ctx.
unique(
"socket-type", ctx.
loc2pos(yystack_[0].location));
3559 #line 3560 "dhcp4_parser.cc"
3563 #line 2274 "dhcp4_parser.yy"
3566 ctx.
stack_.back()->set(
"socket-type", stype);
3569 #line 3570 "dhcp4_parser.cc"
3573 #line 2280 "dhcp4_parser.yy"
3575 ctx.
unique(
"socket-name", ctx.
loc2pos(yystack_[0].location));
3578 #line 3579 "dhcp4_parser.cc"
3582 #line 2283 "dhcp4_parser.yy"
3585 ctx.
stack_.back()->set(
"socket-name", name);
3588 #line 3589 "dhcp4_parser.cc"
3592 #line 2292 "dhcp4_parser.yy"
3594 ctx.
unique(
"dhcp-queue-control", ctx.
loc2pos(yystack_[0].location));
3596 ctx.
stack_.back()->set(
"dhcp-queue-control", qc);
3597 ctx.
stack_.push_back(qc);
3600 #line 3601 "dhcp4_parser.cc"
3604 #line 2298 "dhcp4_parser.yy"
3611 #line 3612 "dhcp4_parser.cc"
3615 #line 2317 "dhcp4_parser.yy"
3617 ctx.
unique(
"enable-queue", ctx.
loc2pos(yystack_[2].location));
3619 ctx.
stack_.back()->set(
"enable-queue", b);
3621 #line 3622 "dhcp4_parser.cc"
3625 #line 2323 "dhcp4_parser.yy"
3627 ctx.
unique(
"queue-type", ctx.
loc2pos(yystack_[0].location));
3630 #line 3631 "dhcp4_parser.cc"
3634 #line 2326 "dhcp4_parser.yy"
3637 ctx.
stack_.back()->set(
"queue-type", qt);
3640 #line 3641 "dhcp4_parser.cc"
3644 #line 2332 "dhcp4_parser.yy"
3648 ctx.
stack_.back()->set(
"capacity", c);
3650 #line 3651 "dhcp4_parser.cc"
3654 #line 2338 "dhcp4_parser.yy"
3656 ctx.
unique(yystack_[0].value.as < std::string > (), ctx.
loc2pos(yystack_[0].location));
3659 #line 3660 "dhcp4_parser.cc"
3663 #line 2341 "dhcp4_parser.yy"
3665 ctx.
stack_.back()->set(yystack_[3].value.as < std::string > (), yystack_[0].value.as <
ElementPtr > ());
3668 #line 3669 "dhcp4_parser.cc"
3672 #line 2348 "dhcp4_parser.yy"
3676 ctx.
stack_.back()->set(
"dhcp-ddns", m);
3680 #line 3681 "dhcp4_parser.cc"
3684 #line 2354 "dhcp4_parser.yy"
3687 ctx.
require(
"enable-updates", ctx.
loc2pos(yystack_[2].location), ctx.
loc2pos(yystack_[0].location));
3691 #line 3692 "dhcp4_parser.cc"
3695 #line 2361 "dhcp4_parser.yy"
3701 #line 3702 "dhcp4_parser.cc"
3705 #line 2365 "dhcp4_parser.yy"
3708 ctx.
require(
"enable-updates", ctx.
loc2pos(yystack_[3].location), ctx.
loc2pos(yystack_[0].location));
3711 #line 3712 "dhcp4_parser.cc"
3715 #line 2395 "dhcp4_parser.yy"
3717 ctx.
unique(
"enable-updates", ctx.
loc2pos(yystack_[2].location));
3719 ctx.
stack_.back()->set(
"enable-updates", b);
3721 #line 3722 "dhcp4_parser.cc"
3725 #line 2401 "dhcp4_parser.yy"
3730 #line 3731 "dhcp4_parser.cc"
3734 #line 2404 "dhcp4_parser.yy"
3737 ctx.
stack_.back()->set(
"server-ip", s);
3740 #line 3741 "dhcp4_parser.cc"
3744 #line 2410 "dhcp4_parser.yy"
3746 ctx.
unique(
"server-port", ctx.
loc2pos(yystack_[2].location));
3748 ctx.
stack_.back()->set(
"server-port", i);
3750 #line 3751 "dhcp4_parser.cc"
3754 #line 2416 "dhcp4_parser.yy"
3759 #line 3760 "dhcp4_parser.cc"
3763 #line 2419 "dhcp4_parser.yy"
3766 ctx.
stack_.back()->set(
"sender-ip", s);
3769 #line 3770 "dhcp4_parser.cc"
3773 #line 2425 "dhcp4_parser.yy"
3775 ctx.
unique(
"sender-port", ctx.
loc2pos(yystack_[2].location));
3777 ctx.
stack_.back()->set(
"sender-port", i);
3779 #line 3780 "dhcp4_parser.cc"
3783 #line 2431 "dhcp4_parser.yy"
3785 ctx.
unique(
"max-queue-size", ctx.
loc2pos(yystack_[2].location));
3787 ctx.
stack_.back()->set(
"max-queue-size", i);
3789 #line 3790 "dhcp4_parser.cc"
3793 #line 2437 "dhcp4_parser.yy"
3795 ctx.
unique(
"ncr-protocol", ctx.
loc2pos(yystack_[0].location));
3798 #line 3799 "dhcp4_parser.cc"
3802 #line 2440 "dhcp4_parser.yy"
3804 ctx.
stack_.back()->set(
"ncr-protocol", yystack_[0].value.as <
ElementPtr > ());
3807 #line 3808 "dhcp4_parser.cc"
3811 #line 2446 "dhcp4_parser.yy"
3813 #line 3814 "dhcp4_parser.cc"
3817 #line 2447 "dhcp4_parser.yy"
3819 #line 3820 "dhcp4_parser.cc"
3823 #line 2450 "dhcp4_parser.yy"
3825 ctx.
unique(
"ncr-format", ctx.
loc2pos(yystack_[0].location));
3828 #line 3829 "dhcp4_parser.cc"
3832 #line 2453 "dhcp4_parser.yy"
3835 ctx.
stack_.back()->set(
"ncr-format", json);
3838 #line 3839 "dhcp4_parser.cc"
3842 #line 2460 "dhcp4_parser.yy"
3844 ctx.
unique(
"qualifying-suffix", ctx.
loc2pos(yystack_[0].location));
3847 #line 3848 "dhcp4_parser.cc"
3851 #line 2463 "dhcp4_parser.yy"
3854 ctx.
stack_.back()->set(
"qualifying-suffix", s);
3857 #line 3858 "dhcp4_parser.cc"
3861 #line 2470 "dhcp4_parser.yy"
3863 ctx.
unique(
"override-no-update", ctx.
loc2pos(yystack_[2].location));
3865 ctx.
stack_.back()->set(
"override-no-update", b);
3867 #line 3868 "dhcp4_parser.cc"
3871 #line 2477 "dhcp4_parser.yy"
3873 ctx.
unique(
"override-client-update", ctx.
loc2pos(yystack_[2].location));
3875 ctx.
stack_.back()->set(
"override-client-update", b);
3877 #line 3878 "dhcp4_parser.cc"
3881 #line 2484 "dhcp4_parser.yy"
3883 ctx.
unique(
"replace-client-name", ctx.
loc2pos(yystack_[0].location));
3886 #line 3887 "dhcp4_parser.cc"
3890 #line 2487 "dhcp4_parser.yy"
3892 ctx.
stack_.back()->set(
"replace-client-name", yystack_[0].value.as <
ElementPtr > ());
3895 #line 3896 "dhcp4_parser.cc"
3899 #line 2493 "dhcp4_parser.yy"
3901 ctx.
unique(
"generated-prefix", ctx.
loc2pos(yystack_[0].location));
3904 #line 3905 "dhcp4_parser.cc"
3908 #line 2496 "dhcp4_parser.yy"
3911 ctx.
stack_.back()->set(
"generated-prefix", s);
3914 #line 3915 "dhcp4_parser.cc"
3918 #line 2503 "dhcp4_parser.yy"
3920 ctx.
unique(
"hostname-char-set", ctx.
loc2pos(yystack_[0].location));
3923 #line 3924 "dhcp4_parser.cc"
3927 #line 2506 "dhcp4_parser.yy"
3930 ctx.
stack_.back()->set(
"hostname-char-set", s);
3933 #line 3934 "dhcp4_parser.cc"
3937 #line 2513 "dhcp4_parser.yy"
3939 ctx.
unique(
"hostname-char-replacement", ctx.
loc2pos(yystack_[0].location));
3942 #line 3943 "dhcp4_parser.cc"
3946 #line 2516 "dhcp4_parser.yy"
3949 ctx.
stack_.back()->set(
"hostname-char-replacement", s);
3952 #line 3953 "dhcp4_parser.cc"
3956 #line 2525 "dhcp4_parser.yy"
3958 ctx.
unique(
"config-control", ctx.
loc2pos(yystack_[0].location));
3960 ctx.
stack_.back()->set(
"config-control", i);
3964 #line 3965 "dhcp4_parser.cc"
3968 #line 2531 "dhcp4_parser.yy"
3974 #line 3975 "dhcp4_parser.cc"
3978 #line 2537 "dhcp4_parser.yy"
3984 #line 3985 "dhcp4_parser.cc"
3988 #line 2541 "dhcp4_parser.yy"
3993 #line 3994 "dhcp4_parser.cc"
3997 #line 2556 "dhcp4_parser.yy"
3999 ctx.
unique(
"config-databases", ctx.
loc2pos(yystack_[0].location));
4001 ctx.
stack_.back()->set(
"config-databases", l);
4005 #line 4006 "dhcp4_parser.cc"
4009 #line 2562 "dhcp4_parser.yy"
4014 #line 4015 "dhcp4_parser.cc"
4018 #line 2567 "dhcp4_parser.yy"
4020 ctx.
unique(
"config-fetch-wait-time", ctx.
loc2pos(yystack_[2].location));
4022 ctx.
stack_.back()->set(
"config-fetch-wait-time", value);
4024 #line 4025 "dhcp4_parser.cc"
4028 #line 2575 "dhcp4_parser.yy"
4032 ctx.
stack_.back()->set(
"loggers", l);
4036 #line 4037 "dhcp4_parser.cc"
4040 #line 2581 "dhcp4_parser.yy"
4045 #line 4046 "dhcp4_parser.cc"
4049 #line 2593 "dhcp4_parser.yy"
4052 ctx.
stack_.back()->add(l);
4055 #line 4056 "dhcp4_parser.cc"
4059 #line 2597 "dhcp4_parser.yy"
4063 #line 4064 "dhcp4_parser.cc"
4067 #line 2614 "dhcp4_parser.yy"
4069 ctx.
unique(
"debuglevel", ctx.
loc2pos(yystack_[2].location));
4071 ctx.
stack_.back()->set(
"debuglevel", dl);
4073 #line 4074 "dhcp4_parser.cc"
4077 #line 2620 "dhcp4_parser.yy"
4082 #line 4083 "dhcp4_parser.cc"
4086 #line 2623 "dhcp4_parser.yy"
4089 ctx.
stack_.back()->set(
"severity", sev);
4092 #line 4093 "dhcp4_parser.cc"
4096 #line 2629 "dhcp4_parser.yy"
4098 ctx.
unique(
"output_options", ctx.
loc2pos(yystack_[0].location));
4100 ctx.
stack_.back()->set(
"output_options", l);
4104 #line 4105 "dhcp4_parser.cc"
4108 #line 2635 "dhcp4_parser.yy"
4113 #line 4114 "dhcp4_parser.cc"
4117 #line 2644 "dhcp4_parser.yy"
4120 ctx.
stack_.back()->add(m);
4123 #line 4124 "dhcp4_parser.cc"
4127 #line 2648 "dhcp4_parser.yy"
4131 #line 4132 "dhcp4_parser.cc"
4135 #line 2663 "dhcp4_parser.yy"
4140 #line 4141 "dhcp4_parser.cc"
4144 #line 2666 "dhcp4_parser.yy"
4147 ctx.
stack_.back()->set(
"output", sev);
4150 #line 4151 "dhcp4_parser.cc"
4154 #line 2672 "dhcp4_parser.yy"
4158 ctx.
stack_.back()->set(
"flush", flush);
4160 #line 4161 "dhcp4_parser.cc"
4164 #line 2678 "dhcp4_parser.yy"
4168 ctx.
stack_.back()->set(
"maxsize", maxsize);
4170 #line 4171 "dhcp4_parser.cc"
4174 #line 2684 "dhcp4_parser.yy"
4178 ctx.
stack_.back()->set(
"maxver", maxver);
4180 #line 4181 "dhcp4_parser.cc"
4184 #line 2690 "dhcp4_parser.yy"
4189 #line 4190 "dhcp4_parser.cc"
4193 #line 2693 "dhcp4_parser.yy"
4196 ctx.
stack_.back()->set(
"pattern", sev);
4199 #line 4200 "dhcp4_parser.cc"
4203 #line 2699 "dhcp4_parser.yy"
4205 ctx.
unique(
"compatibility", ctx.
loc2pos(yystack_[0].location));
4207 ctx.
stack_.back()->set(
"compatibility", i);
4211 #line 4212 "dhcp4_parser.cc"
4215 #line 2705 "dhcp4_parser.yy"
4220 #line 4221 "dhcp4_parser.cc"
4224 #line 2718 "dhcp4_parser.yy"
4226 ctx.
unique(
"lenient-option-parsing", ctx.
loc2pos(yystack_[2].location));
4228 ctx.
stack_.back()->set(
"lenient-option-parsing", b);
4230 #line 4231 "dhcp4_parser.cc"
4234 #line 4235 "dhcp4_parser.cc"
4243 YYCDEBUG <<
"Caught exception: " << yyexc.what() <<
'\n';
4247 #endif // YY_EXCEPTIONS
4253 yypush_ (YY_NULLPTR,
YY_MOVE (yylhs));
4267 std::string msg = yysyntax_error_ (yyctx);
4272 yyerror_range[1].location = yyla.
location;
4273 if (yyerrstatus_ == 3)
4281 else if (!yyla.
empty ())
4283 yy_destroy_ (
"Error: discarding", yyla);
4317 yyn = yypact_[+yystack_[0].state];
4318 if (!yy_pact_value_is_default_ (yyn))
4321 if (0 <= yyn && yyn <= yylast_
4324 yyn = yytable_[yyn];
4331 if (yystack_.size () == 1)
4334 yyerror_range[1].location = yystack_[0].location;
4335 yy_destroy_ (
"Error: popping", yystack_[0]);
4340 stack_symbol_type error_token;
4342 yyerror_range[2].location = yyla.
location;
4346 error_token.state = state_type (yyn);
4347 yypush_ (
"Shifting",
YY_MOVE (error_token));
4373 yy_destroy_ (
"Cleanup: discarding lookahead", yyla);
4379 while (1 < yystack_.size ())
4381 yy_destroy_ (
"Cleanup: popping", yystack_[0]);
4390 YYCDEBUG <<
"Exception caught: cleaning lookahead and stack\n";
4394 yy_destroy_ (YY_NULLPTR, yyla);
4396 while (1 < yystack_.size ())
4398 yy_destroy_ (YY_NULLPTR, yystack_[0]);
4403 #endif // YY_EXCEPTIONS
4418 Dhcp4Parser::yytnamerr_ (
const char *yystr)
4423 char const *yyp = yystr;
4430 goto do_not_strip_quotes;
4434 goto do_not_strip_quotes;
4446 do_not_strip_quotes: ;
4455 return yytnamerr_ (yytname_[yysymbol]);
4462 : yyparser_ (yyparser)
4472 int yyn = yypact_[+yyparser_.yystack_[0].state];
4473 if (!yy_pact_value_is_default_ (yyn))
4478 int yyxbegin = yyn < 0 ? -yyn : 0;
4480 int yychecklim = yylast_ - yyn + 1;
4482 for (
int yyx = yyxbegin; yyx < yyxend; ++yyx)
4484 && !yy_table_value_is_error_ (yytable_[yyx + yyn]))
4488 else if (yycount == yyargn)
4495 if (yyarg && yycount == 0 && 0 < yyargn)
4503 Dhcp4Parser::yy_syntax_error_arguments_ (
const context& yyctx,
4534 yyarg[0] = yyctx.
token ();
4535 int yyn = yyctx.
expected_tokens (yyarg ? yyarg + 1 : yyarg, yyargn - 1);
4543 Dhcp4Parser::yysyntax_error_ (
const context& yyctx)
const
4546 enum { YYARGS_MAX = 5 };
4549 int yycount = yy_syntax_error_arguments_ (yyctx, yyarg, YYARGS_MAX);
4551 char const* yyformat = YY_NULLPTR;
4554 #define YYCASE_(N, S) \
4560 YYCASE_ (1,
YY_(
"syntax error, unexpected %s"));
4561 YYCASE_ (2,
YY_(
"syntax error, unexpected %s, expecting %s"));
4562 YYCASE_ (3,
YY_(
"syntax error, unexpected %s, expecting %s or %s"));
4563 YYCASE_ (4,
YY_(
"syntax error, unexpected %s, expecting %s or %s or %s"));
4564 YYCASE_ (5,
YY_(
"syntax error, unexpected %s, expecting %s or %s or %s or %s"));
4570 std::ptrdiff_t yyi = 0;
4571 for (
char const* yyp = yyformat; *yyp; ++yyp)
4572 if (yyp[0] ==
'%' && yyp[1] ==
's' && yyi < yycount)
4583 const short Dhcp4Parser::yypact_ninf_ = -954;
4585 const signed char Dhcp4Parser::yytable_ninf_ = -1;
4588 Dhcp4Parser::yypact_[] =
4590 404, -954, -954, -954, -954, -954, -954, -954, -954, -954,
4591 -954, -954, -954, -954, 28, 42, 30, 38, 41, 60,
4592 98, 110, 114, 124, 128, 163, 171, 177, -954, -954,
4593 -954, -954, -954, -954, -954, -954, -954, -954, -954, -954,
4594 -954, -954, -954, -954, -954, -954, -954, -954, -954, -954,
4595 -954, -954, -954, -954, -954, -954, -954, -954, -954, -954,
4596 -954, -954, -954, -954, 42, -150, 87, 186, 71, 608,
4597 90, 266, 1, 79, 130, -90, 416, 147, -954, 101,
4598 193, 204, 230, 227, -954, 231, -954, -954, -954, 268,
4599 269, 276, -954, -954, -954, -954, -954, -954, 302, 308,
4600 318, 329, 342, 345, 352, 353, 360, 371, 372, -954,
4601 379, 381, 383, 392, 396, -954, -954, -954, 408, 410,
4602 411, -954, -954, -954, -954, -954, -954, -954, 412, 413,
4603 414, -954, -954, -954, -954, -954, 415, -954, -954, -954,
4604 -954, -954, -954, 417, -954, -954, 419, -954, 56, -954,
4605 -954, -954, -954, -954, -954, -954, -954, -954, -954, -954,
4606 -954, -954, -954, -954, -954, -954, -954, -954, -954, -954,
4607 -954, -954, -954, -954, -954, -954, -954, -954, -954, -954,
4608 -954, -954, -954, -954, -954, -954, -954, -954, -954, -954,
4609 -954, -954, -954, -954, -954, -954, -954, -954, -954, -954,
4610 -954, -954, -954, -954, -954, -954, -954, -954, -954, -954,
4611 -954, -954, -954, 420, -954, 100, -954, -954, -954, -954,
4612 -954, -954, -954, -954, -954, -954, -954, -954, -954, 422,
4613 -954, -954, -954, -954, -954, -954, -954, -954, -954, -954,
4614 -954, -954, -954, -954, -954, -954, -954, -954, -954, -954,
4615 -954, -954, -954, -954, -954, -954, -954, 103, -954, -954,
4616 -954, -954, -954, -954, -954, -954, -954, -954, -954, -954,
4617 -954, -954, -954, -954, -954, -954, -954, -954, -954, -954,
4618 -954, -954, -954, -954, -954, 115, -954, -954, -954, -954,
4619 -954, -954, -954, -954, -954, -954, -954, -954, -954, -954,
4620 -954, -954, 275, 312, -954, -954, -954, -954, -954, -954,
4621 -954, -954, -954, -954, -954, -954, 340, -954, -954, 423,
4622 -954, -954, -954, 427, -954, -954, 369, 395, -954, -954,
4623 -954, -954, -954, -954, -954, -954, -954, -954, -954, -954,
4624 -954, 428, 429, -954, -954, -954, -954, 426, 432, -954,
4625 -954, -954, -954, -954, -954, -954, -954, -954, -954, -954,
4626 -954, 121, -954, -954, -954, 434, -954, -954, 436, -954,
4627 438, 439, -954, -954, 441, 442, -954, -954, -954, -954,
4628 -954, -954, -954, 158, -954, -954, -954, -954, -954, -954,
4629 -954, -954, -954, -954, -954, -954, -954, -954, -954, -954,
4630 -954, 443, 182, -954, -954, -954, -954, 42, 42, -954,
4631 -147, 446, -954, 452, 455, 457, 217, 233, 259, 459,
4632 460, 463, 464, 469, 471, 277, 280, 281, 284, 285,
4633 273, 287, 290, 291, 293, 296, 495, 299, 300, 301,
4634 303, 304, 499, 501, 506, 309, 317, 319, 507, 512,
4635 519, 520, 522, 524, 525, 327, 328, 331, 532, 536,
4636 537, 540, 542, 346, 547, 548, 550, 554, 555, 558,
4637 361, 559, 562, -954, 186, -954, 563, 564, 565, 380,
4638 71, -954, 580, 581, 582, 583, 584, 600, 405, 601,
4639 604, 606, 608, -954, 607, 90, -954, 609, 610, 611,
4640 613, 614, 616, 617, 618, -954, 266, -954, 619, 620,
4641 425, 623, 624, 625, 409, -954, 79, 626, 430, 437,
4642 -954, 130, 627, 628, 73, -954, 444, 635, 637, 447,
4643 638, 448, 450, 641, 648, 451, 453, 649, 651, 653,
4644 654, 416, -954, 659, 465, 147, -954, -954, -954, 660,
4645 658, 672, 673, 674, -954, -954, -954, 467, 482, 492,
4646 689, 691, 694, -954, -954, -954, -954, -954, -954, -954,
4647 -954, -954, -954, -954, 500, -954, -954, -954, -954, -954,
4648 32, 509, 516, -954, -954, -954, 696, 701, 702, 712,
4649 711, 523, 295, -954, -954, -954, 714, 719, 721, 722,
4650 723, -954, 724, 725, 726, 727, 535, 538, -954, 732,
4651 733, -954, 734, 150, 207, -954, -954, 541, 543, 544,
4652 737, 545, 546, -954, 734, 549, 740, -954, 551, -954,
4653 734, 552, 553, 556, 557, 560, 561, 566, -954, 567,
4654 568, -954, 569, 570, 571, -954, -954, 572, -954, -954,
4655 -954, 573, 711, -954, -954, 574, 575, -954, 576, -954,
4656 -954, 13, 586, -954, -954, 32, 577, 578, 579, -954,
4657 743, -954, -954, 42, 186, 147, 71, 731, -954, -954,
4658 -954, 105, 105, 751, -954, -954, -954, -954, -954, -954,
4659 -954, -954, -954, 752, 755, 756, 757, -954, -954, -954,
4660 -954, -954, -954, -954, -954, -47, 758, 773, 776, 205,
4661 -2, -64, 222, 416, -954, -954, 777, -142, -954, -954,
4662 -954, -954, -954, -954, -954, -954, -954, -954, -954, 778,
4663 -954, -954, -954, -954, -48, -954, -954, -954, -954, -954,
4664 -954, -954, -954, -954, -954, -954, -954, -954, -954, -954,
4665 -954, -954, -954, -954, -954, -954, -954, -954, -954, -954,
4666 -954, -954, -954, 751, -954, 191, 226, 228, -954, 238,
4667 -954, -954, -954, -954, -954, -954, 746, 782, 783, 784,
4668 785, -954, -954, -954, -954, 786, 787, -954, 788, 789,
4669 790, 791, -954, 278, -954, -954, -954, -954, -954, -954,
4670 -954, -954, -954, -954, -954, -954, -954, -954, -954, -954,
4671 -954, -954, -954, -954, -954, -954, 279, -954, 792, 793,
4672 -954, -954, 794, 796, -954, -954, 795, 799, -954, -954,
4673 797, 801, -954, -954, 800, 802, -954, -954, -954, -954,
4674 -954, -954, 49, -954, -954, -954, -954, -954, -954, -954,
4675 82, -954, -954, 803, 804, -954, -954, 805, 807, -954,
4676 808, 809, 810, 811, 812, 813, 289, -954, -954, -954,
4677 -954, -954, -954, -954, 814, 815, 816, -954, 305, -954,
4678 -954, -954, -954, -954, -954, -954, -954, -954, -954, -954,
4679 311, -954, -954, -954, 817, -954, 818, -954, -954, -954,
4680 313, -954, -954, -954, -954, -954, 315, -954, 93, -954,
4681 819, -954, 323, -954, -954, 597, -954, 820, 821, -954,
4682 -954, -954, -954, 822, 823, -954, -954, -954, 824, 731,
4683 -954, 827, 828, 829, 830, 634, 622, 636, 633, 639,
4684 834, 835, 837, 838, 642, 643, 841, 645, 646, 647,
4685 650, 105, -954, -954, 105, -954, 751, 608, -954, 752,
4686 79, -954, 755, 130, -954, 756, 1224, -954, 757, -47,
4687 -954, 248, 758, -954, 266, -954, 773, -90, -954, 776,
4688 652, 655, 656, 657, 661, 662, 205, -954, 663, 664,
4689 666, -2, -954, 844, 845, -64, -954, 665, 848, 668,
4690 850, 222, -954, -954, 201, 777, -954, 667, -142, -954,
4691 -954, 849, 856, 90, -954, 778, 857, -954, -954, 671,
4692 -954, 373, 675, 676, 677, -954, -954, -954, -954, -954,
4693 678, 679, 680, 681, -954, -954, 15, -954, -954, -954,
4694 -954, -954, 326, -954, 344, -954, 852, -954, 864, -954,
4695 -954, -954, -954, -954, -954, -954, -954, -954, -954, -954,
4696 -954, -954, -954, -954, -954, -954, -954, -954, -954, -954,
4697 -954, -954, -954, -954, -954, -954, -954, -954, -954, -954,
4698 -954, -954, -954, 355, -954, -954, -954, -954, -954, -954,
4699 -954, -954, -954, -954, -954, 860, -954, -954, -954, -954,
4700 -954, -954, -954, -954, -954, -954, -954, -954, 865, 871,
4701 -954, -954, -954, -954, -954, 874, -954, 362, -954, -954,
4702 -954, -954, -954, -954, -954, -954, -954, -954, -954, -954,
4703 683, 684, -954, -954, 685, -954, 42, -954, -954, 882,
4704 -954, -954, -954, -954, -954, 376, -954, -954, -954, -954,
4705 -954, -954, -954, -954, 687, 391, -954, 734, -954, -954,
4706 -954, -954, -954, -954, -954, -954, -954, -954, -954, -954,
4707 -954, -954, -954, -954, -954, -954, -954, -954, -954, 1224,
4708 -954, 884, 686, -954, 248, -954, -954, -954, -954, -954,
4709 -954, 887, 693, 888, 201, -954, -954, -954, -954, -954,
4710 695, -954, -954, 892, -954, 698, -954, -954, 896, -954,
4711 -954, 122, -954, 5, 896, -954, -954, 901, 904, 909,
4712 -954, 394, -954, -954, -954, -954, -954, -954, -954, 910,
4713 729, 728, 763, 931, 5, -954, 747, -954, -954, -954,
4714 765, -954, -954, -954
4718 Dhcp4Parser::yydefact_[] =
4720 0, 2, 4, 6, 8, 10, 12, 14, 16, 18,
4721 20, 22, 24, 26, 0, 0, 0, 0, 0, 0,
4722 0, 0, 0, 0, 0, 0, 0, 0, 1, 43,
4723 36, 32, 31, 28, 29, 30, 35, 3, 33, 34,
4724 56, 5, 60, 7, 176, 9, 340, 11, 540, 13,
4725 565, 15, 465, 17, 473, 19, 510, 21, 305, 23,
4726 674, 25, 724, 27, 45, 39, 0, 0, 0, 0,
4727 0, 567, 0, 475, 512, 0, 0, 0, 47, 0,
4728 46, 0, 0, 40, 58, 0, 722, 165, 191, 0,
4729 0, 0, 586, 588, 590, 189, 198, 200, 0, 0,
4730 0, 0, 0, 0, 0, 0, 0, 0, 0, 136,
4731 0, 0, 0, 0, 0, 144, 151, 153, 0, 0,
4732 0, 332, 463, 502, 413, 553, 555, 406, 0, 0,
4733 0, 270, 614, 557, 297, 316, 0, 284, 643, 656,
4734 672, 157, 159, 0, 733, 771, 0, 124, 0, 62,
4735 64, 65, 66, 67, 68, 102, 103, 104, 105, 106,
4736 69, 97, 86, 87, 88, 110, 111, 112, 113, 114,
4737 115, 116, 117, 108, 109, 118, 119, 120, 122, 72,
4738 73, 94, 74, 75, 76, 121, 80, 81, 70, 99,
4739 100, 101, 98, 71, 78, 79, 92, 93, 95, 89,
4740 90, 91, 77, 82, 83, 84, 85, 96, 107, 123,
4741 178, 180, 184, 0, 175, 0, 167, 169, 170, 171,
4742 172, 173, 174, 391, 393, 395, 532, 389, 397, 0,
4743 401, 399, 610, 388, 344, 345, 346, 347, 348, 372,
4744 373, 374, 375, 376, 362, 363, 377, 378, 379, 380,
4745 381, 382, 383, 384, 385, 386, 387, 0, 342, 351,
4746 367, 368, 369, 352, 354, 355, 358, 359, 360, 357,
4747 353, 349, 350, 370, 371, 356, 364, 365, 366, 361,
4748 551, 550, 546, 547, 545, 0, 542, 544, 548, 549,
4749 608, 596, 598, 602, 600, 606, 604, 592, 585, 579,
4750 583, 584, 0, 568, 569, 580, 581, 582, 576, 571,
4751 577, 573, 574, 575, 578, 572, 0, 492, 245, 0,
4752 496, 494, 499, 0, 488, 489, 0, 476, 477, 479,
4753 491, 480, 481, 482, 498, 483, 484, 485, 486, 487,
4754 526, 0, 0, 524, 525, 528, 529, 0, 513, 514,
4755 516, 517, 518, 519, 520, 521, 522, 523, 312, 314,
4756 309, 0, 307, 310, 311, 0, 710, 697, 0, 700,
4757 0, 0, 704, 708, 0, 0, 714, 716, 718, 720,
4758 695, 693, 694, 0, 676, 678, 679, 680, 681, 682,
4759 683, 684, 685, 690, 686, 687, 688, 689, 691, 692,
4760 730, 0, 0, 726, 728, 729, 44, 0, 0, 37,
4761 0, 0, 57, 0, 0, 0, 0, 0, 0, 0,
4762 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4763 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4764 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4765 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4766 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4767 0, 0, 0, 55, 0, 61, 0, 0, 0, 0,
4768 0, 177, 0, 0, 0, 0, 0, 0, 0, 0,
4769 0, 0, 0, 341, 0, 0, 541, 0, 0, 0,
4770 0, 0, 0, 0, 0, 566, 0, 466, 0, 0,
4771 0, 0, 0, 0, 0, 474, 0, 0, 0, 0,
4772 511, 0, 0, 0, 0, 306, 0, 0, 0, 0,
4773 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4774 0, 0, 675, 0, 0, 0, 725, 48, 41, 0,
4775 0, 0, 0, 0, 138, 139, 140, 0, 0, 0,
4776 0, 0, 0, 125, 126, 127, 128, 129, 130, 131,
4777 132, 133, 134, 135, 0, 162, 163, 141, 142, 143,
4778 0, 0, 0, 155, 156, 161, 0, 0, 0, 0,
4779 0, 0, 0, 403, 404, 405, 0, 0, 0, 0,
4780 0, 642, 0, 0, 0, 0, 0, 0, 164, 0,
4781 0, 63, 0, 0, 0, 188, 168, 0, 0, 0,
4782 0, 0, 0, 412, 0, 0, 0, 343, 0, 543,
4783 0, 0, 0, 0, 0, 0, 0, 0, 570, 0,
4784 0, 490, 0, 0, 0, 501, 478, 0, 530, 531,
4785 515, 0, 0, 308, 696, 0, 0, 699, 0, 702,
4786 703, 0, 0, 712, 713, 0, 0, 0, 0, 677,
4787 0, 732, 727, 0, 0, 0, 0, 0, 587, 589,
4788 591, 0, 0, 202, 137, 146, 147, 148, 149, 150,
4789 145, 152, 154, 334, 467, 504, 415, 38, 554, 556,
4790 408, 409, 410, 411, 407, 0, 0, 559, 299, 0,
4791 0, 0, 0, 0, 158, 160, 0, 0, 49, 179,
4792 182, 183, 181, 186, 187, 185, 392, 394, 396, 534,
4793 390, 398, 402, 400, 0, 552, 609, 597, 599, 603,
4794 601, 607, 605, 593, 493, 246, 497, 495, 500, 527,
4795 313, 315, 711, 698, 701, 706, 707, 705, 709, 715,
4796 717, 719, 721, 202, 42, 0, 0, 0, 196, 0,
4797 193, 195, 232, 238, 240, 242, 0, 0, 0, 0,
4798 0, 254, 256, 258, 260, 0, 0, 264, 0, 0,
4799 0, 0, 231, 0, 208, 210, 211, 212, 213, 214,
4800 215, 216, 217, 218, 219, 224, 225, 226, 220, 227,
4801 228, 229, 221, 222, 223, 230, 0, 206, 0, 203,
4802 204, 338, 0, 335, 336, 471, 0, 468, 469, 508,
4803 0, 505, 506, 419, 0, 416, 417, 279, 280, 281,
4804 282, 283, 0, 272, 274, 275, 276, 277, 278, 618,
4805 0, 616, 563, 0, 560, 561, 303, 0, 300, 301,
4806 0, 0, 0, 0, 0, 0, 0, 318, 320, 321,
4807 322, 323, 324, 325, 0, 0, 0, 293, 0, 286,
4808 288, 289, 290, 291, 292, 652, 654, 651, 649, 650,
4809 0, 645, 647, 648, 0, 667, 0, 670, 663, 664,
4810 0, 658, 660, 661, 662, 665, 0, 737, 0, 735,
4811 0, 776, 0, 773, 775, 51, 538, 0, 535, 536,
4812 594, 612, 613, 0, 0, 59, 723, 166, 0, 0,
4813 192, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4814 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4815 0, 0, 190, 199, 0, 201, 0, 0, 333, 0,
4816 475, 464, 0, 512, 503, 0, 0, 414, 0, 0,
4817 271, 620, 0, 615, 567, 558, 0, 0, 298, 0,
4818 0, 0, 0, 0, 0, 0, 0, 317, 0, 0,
4819 0, 0, 285, 0, 0, 0, 644, 0, 0, 0,
4820 0, 0, 657, 673, 0, 0, 734, 0, 0, 772,
4821 53, 0, 52, 0, 533, 0, 0, 611, 731, 0,
4822 194, 0, 0, 0, 0, 244, 247, 248, 249, 250,
4823 0, 0, 0, 0, 262, 263, 0, 251, 252, 253,
4824 269, 209, 0, 205, 0, 337, 0, 470, 0, 507,
4825 462, 441, 442, 443, 426, 427, 446, 447, 448, 449,
4826 450, 429, 430, 451, 452, 453, 454, 455, 456, 457,
4827 458, 459, 460, 461, 423, 424, 425, 439, 440, 436,
4828 437, 438, 435, 0, 421, 428, 444, 445, 431, 432,
4829 433, 434, 418, 273, 639, 0, 634, 635, 636, 637,
4830 638, 627, 628, 632, 633, 629, 630, 631, 0, 621,
4831 622, 624, 625, 626, 617, 0, 562, 0, 302, 326,
4832 327, 328, 329, 330, 331, 319, 294, 295, 296, 287,
4833 0, 0, 646, 666, 0, 669, 0, 659, 751, 0,
4834 749, 747, 741, 745, 746, 0, 739, 743, 744, 742,
4835 736, 777, 774, 50, 0, 0, 537, 0, 197, 234,
4836 235, 236, 237, 233, 239, 241, 243, 255, 257, 259,
4837 261, 266, 267, 268, 265, 207, 339, 472, 509, 0,
4838 420, 0, 0, 619, 0, 564, 304, 653, 655, 668,
4839 671, 0, 0, 0, 0, 738, 54, 539, 595, 422,
4840 0, 641, 623, 0, 748, 0, 740, 640, 0, 750,
4841 755, 0, 753, 0, 0, 752, 764, 0, 0, 0,
4842 769, 0, 757, 759, 760, 761, 762, 763, 754, 0,
4843 0, 0, 0, 0, 0, 756, 0, 766, 767, 768,
4848 Dhcp4Parser::yypgoto_[] =
4850 -954, -954, -954, -954, -954, -954, -954, -954, -954, -954,
4851 -954, -954, -954, -954, -954, -54, -954, -557, -954, 175,
4852 -954, -954, -954, -954, -954, -954, -609, -954, -954, -954,
4853 -67, -954, -954, -954, -954, -954, -954, 283, 494, 4,
4854 10, 23, -40, -23, -12, 22, 25, 29, 33, -954,
4855 -954, -954, -954, 35, 40, 43, 45, 46, 47, -954,
4856 307, 50, -954, 51, -954, 53, 57, 58, -954, 61,
4857 -954, 63, -954, -954, -954, -954, -954, 297, 504, -954,
4858 -954, -954, -954, -954, -954, -954, -954, -954, -954, -954,
4859 -954, -954, -954, -954, -954, 99, -954, -954, -954, -954,
4860 -954, -954, 235, -954, 76, -954, -670, 34, -954, -954,
4861 -954, -954, -954, -954, -954, -954, -954, -954, -33, -954,
4862 -954, -954, -954, -954, -954, -954, -954, -954, -954, -954,
4863 -954, -954, -954, -954, -954, -954, -954, -954, -954, -954,
4864 -954, -954, -954, -954, 72, -954, -954, -954, -954, -954,
4865 -954, -954, -954, 48, -954, -954, -954, -954, -954, -954,
4866 -954, 54, -954, -954, -954, 66, 513, -954, -954, -954,
4867 -954, -954, -954, -954, 52, -954, -954, -954, -954, -954,
4868 -954, -953, -954, -954, -954, 81, -954, -954, -954, 85,
4869 585, -954, -954, -954, -954, -954, -954, -954, -954, -942,
4870 -954, -65, -954, 70, -954, 64, 65, 68, 69, -954,
4871 -954, -954, -954, -954, -954, -954, 77, -954, -954, -135,
4872 -46, -954, -954, -954, -954, -954, 84, -954, -954, -954,
4873 88, -954, 531, -954, -63, -954, -954, -954, -954, -954,
4874 -42, -954, -954, -954, -954, -954, -35, -954, -954, -954,
4875 86, -954, -954, -954, 89, -954, 528, -954, -954, -954,
4876 -954, -954, -954, -954, -954, -954, -954, -954, 39, -954,
4877 -954, -954, 37, 589, -954, -954, -51, -954, -8, -954,
4878 -39, -954, -954, -954, 80, -954, -954, -954, 83, -954,
4879 587, -55, -954, -15, -954, 3, -954, 321, -954, -954,
4880 -954, -954, -954, -954, -954, -954, -954, -954, -954, -954,
4881 -954, -954, -954, -954, -954, -939, -954, -954, -954, -954,
4882 -954, 91, -954, -954, -954, -131, -954, -954, -954, -954,
4883 -954, -954, -954, -954, 67, -954, -954, -954, -954, -954,
4884 -954, -954, 59, -954, -954, -954, -954, -954, -954, -954,
4885 -954, -954, -954, 348, 517, -954, -954, -954, -954, -954,
4886 -954, -954, -954, -954, -954, -954, -954, -954, -954, -954,
4887 -954, -954, -954, -954, -954, -954, -954, -954, -954, -954,
4888 -954, -954, -954, -954, 384, 521, -954, -954, -954, -954,
4889 -954, -954, 62, -954, -954, -130, -954, -954, -954, -954,
4890 -954, -954, -149, -954, -954, -166, -954, -954, -954, -954,
4891 -954, -954, -954, -954, -954, -954, 78, -954
4895 Dhcp4Parser::yydefgoto_[] =
4897 0, 14, 15, 16, 17, 18, 19, 20, 21, 22,
4898 23, 24, 25, 26, 27, 36, 37, 38, 65, 698,
4899 82, 83, 39, 64, 79, 80, 719, 915, 1011, 1012,
4900 792, 41, 66, 85, 411, 43, 67, 148, 149, 150,
4901 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
4902 161, 436, 162, 163, 164, 165, 166, 167, 168, 442,
4903 690, 169, 443, 170, 444, 171, 172, 173, 468, 174,
4904 469, 175, 176, 177, 178, 179, 414, 215, 216, 45,
4905 68, 217, 476, 218, 477, 722, 219, 478, 725, 220,
4906 180, 422, 181, 415, 769, 770, 771, 928, 182, 423,
4907 183, 424, 818, 819, 820, 954, 793, 794, 795, 931,
4908 1163, 796, 932, 797, 933, 798, 934, 799, 800, 509,
4909 801, 802, 803, 804, 805, 806, 807, 808, 940, 809,
4910 941, 810, 942, 811, 943, 812, 813, 814, 946, 1174,
4911 815, 184, 458, 842, 843, 844, 845, 846, 847, 848,
4912 185, 464, 878, 879, 880, 881, 882, 186, 461, 857,
4913 858, 859, 977, 59, 75, 361, 362, 363, 522, 364,
4914 523, 187, 462, 866, 867, 868, 869, 870, 871, 872,
4915 873, 188, 448, 822, 823, 824, 957, 47, 69, 257,
4916 258, 259, 486, 260, 482, 261, 483, 262, 484, 263,
4917 487, 264, 490, 265, 489, 189, 190, 191, 192, 454,
4918 704, 270, 193, 451, 834, 835, 836, 966, 1083, 1084,
4919 194, 449, 53, 72, 826, 827, 828, 960, 55, 73,
4920 326, 327, 328, 329, 330, 331, 332, 508, 333, 512,
4921 334, 511, 335, 336, 513, 337, 195, 450, 830, 831,
4922 832, 963, 57, 74, 347, 348, 349, 350, 351, 517,
4923 352, 353, 354, 355, 272, 485, 917, 918, 919, 1013,
4924 49, 70, 285, 286, 287, 494, 196, 452, 197, 453,
4925 198, 460, 853, 854, 855, 974, 51, 71, 302, 303,
4926 304, 199, 419, 200, 420, 201, 421, 308, 504, 922,
4927 1016, 309, 498, 310, 499, 311, 501, 312, 500, 313,
4928 503, 314, 502, 315, 497, 279, 491, 923, 202, 459,
4929 850, 851, 971, 1108, 1109, 1110, 1111, 1112, 1181, 1113,
4930 203, 204, 465, 890, 891, 892, 993, 893, 994, 205,
4931 466, 900, 901, 902, 903, 998, 904, 905, 1000, 206,
4932 467, 61, 76, 383, 384, 385, 386, 528, 387, 388,
4933 530, 389, 390, 391, 533, 757, 392, 534, 393, 527,
4934 394, 395, 396, 537, 397, 538, 398, 539, 399, 540,
4935 207, 413, 63, 77, 402, 403, 404, 543, 405, 208,
4936 471, 908, 909, 1004, 1145, 1146, 1147, 1148, 1193, 1149,
4937 1191, 1211, 1212, 1213, 1221, 1222, 1223, 1229, 1224, 1225,
4938 1226, 1227, 1233, 209, 472, 912, 913, 914
4942 Dhcp4Parser::yytable_[] =
4944 147, 214, 233, 281, 298, 282, 324, 343, 360, 380,
4945 78, 345, 816, 1075, 276, 732, 305, 221, 273, 288,
4946 300, 736, 338, 356, 1076, 381, 316, 1091, 28, 237,
4947 275, 755, 346, 697, 271, 284, 299, 40, 125, 126,
4948 325, 344, 358, 359, 910, 42, 238, 29, 44, 30,
4949 81, 31, 969, 549, 277, 970, 306, 239, 146, 474,
4950 222, 274, 289, 301, 475, 339, 357, 46, 382, 1171,
4951 1172, 1173, 278, 234, 307, 837, 838, 839, 840, 235,
4952 841, 297, 920, 885, 886, 972, 210, 211, 973, 122,
4953 212, 240, 236, 213, 241, 697, 1005, 84, 242, 1006,
4954 125, 126, 243, 480, 244, 48, 492, 406, 481, 245,
4955 146, 493, 246, 317, 247, 248, 249, 50, 495, 250,
4956 251, 52, 252, 496, 524, 1214, 253, 254, 1215, 525,
4957 255, 54, 256, 266, 267, 56, 146, 268, 269, 772,
4958 283, 874, 875, 876, 773, 774, 775, 776, 777, 778,
4959 779, 780, 781, 782, 783, 784, 785, 786, 787, 400,
4960 401, 541, 788, 789, 790, 791, 542, 720, 721, 318,
4961 58, 319, 320, 125, 126, 321, 322, 323, 60, 123,
4962 756, 125, 126, 1216, 62, 545, 1217, 1218, 1219, 1220,
4963 546, 280, 125, 126, 474, 318, 407, 86, 146, 925,
4964 87, 685, 686, 687, 688, 358, 359, 230, 408, 88,
4965 231, 89, 90, 91, 92, 93, 94, 95, 96, 97,
4966 318, 340, 319, 320, 341, 342, 1075, 723, 724, 545,
4967 410, 480, 125, 126, 926, 689, 927, 1076, 409, 412,
4968 1091, 929, 32, 33, 34, 35, 930, 98, 99, 100,
4969 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
4970 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
4971 121, 146, 416, 417, 122, 123, 92, 93, 94, 146,
4972 418, 951, 951, 505, 1042, 124, 952, 953, 125, 126,
4973 146, 318, 986, 127, 92, 93, 94, 987, 128, 129,
4974 130, 131, 132, 125, 126, 146, 425, 133, 991, 98,
4975 99, 100, 426, 992, 995, 506, 1001, 134, 541, 996,
4976 135, 1002, 427, 1003, 125, 126, 1008, 136, 137, 951,
4977 146, 1009, 138, 428, 1175, 139, 122, 123, 318, 140,
4978 860, 861, 862, 863, 864, 865, 429, 492, 507, 430,
4979 125, 126, 1176, 547, 548, 123, 431, 432, 1179, 141,
4980 142, 143, 144, 1180, 433, 524, 1094, 1095, 125, 126,
4981 1186, 145, 894, 895, 896, 434, 435, 515, 1138, 1194,
4982 1139, 1140, 290, 437, 1195, 438, 146, 439, 291, 292,
4983 293, 294, 295, 296, 495, 297, 440, 1234, 516, 1197,
4984 441, 146, 1235, 700, 701, 702, 703, 147, 1159, 1160,
4985 1161, 1162, 445, 214, 446, 447, 455, 456, 457, 463,
4986 554, 470, 897, 473, 479, 233, 488, 510, 281, 221,
4987 282, 514, 518, 519, 520, 521, 555, 276, 526, 298,
4988 529, 273, 531, 532, 288, 535, 536, 544, 146, 324,
4989 550, 305, 237, 275, 343, 300, 551, 271, 345, 552,
4990 284, 553, 556, 557, 558, 338, 146, 559, 560, 238,
4991 356, 299, 222, 561, 380, 562, 568, 277, 563, 346,
4992 239, 564, 565, 325, 274, 566, 567, 289, 344, 569,
4993 381, 306, 570, 571, 572, 278, 234, 573, 301, 574,
4994 575, 576, 235, 580, 577, 581, 578, 579, 339, 307,
4995 582, 586, 583, 357, 240, 236, 587, 241, 125, 126,
4996 584, 242, 585, 588, 589, 243, 590, 244, 591, 592,
4997 593, 594, 245, 382, 595, 246, 596, 247, 248, 249,
4998 597, 598, 250, 251, 599, 252, 600, 601, 1198, 253,
4999 254, 602, 603, 255, 604, 256, 266, 267, 605, 606,
5000 268, 269, 607, 609, 608, 283, 610, 612, 613, 614,
5001 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
5002 375, 376, 377, 615, 617, 618, 619, 620, 621, 378,
5003 379, 1, 2, 3, 4, 5, 6, 7, 8, 9,
5004 10, 11, 12, 13, 622, 624, 623, 147, 625, 214,
5005 626, 628, 645, 630, 631, 632, 146, 633, 634, 764,
5006 635, 636, 637, 639, 640, 221, 641, 642, 643, 644,
5007 647, 651, 652, 648, 90, 91, 92, 93, 94, 655,
5008 649, 656, 658, 877, 887, 661, 380, 654, 657, 659,
5009 911, 660, 662, 665, 663, 666, 664, 667, 668, 883,
5010 888, 898, 381, 670, 673, 674, 671, 678, 222, 98,
5011 99, 100, 101, 102, 103, 104, 105, 106, 107, 675,
5012 676, 677, 679, 112, 113, 114, 115, 116, 117, 118,
5013 119, 120, 680, 223, 224, 225, 681, 123, 682, 683,
5014 684, 693, 884, 889, 899, 382, 694, 695, 226, 691,
5015 125, 126, 227, 228, 229, 127, 692, 696, 30, 705,
5016 128, 129, 130, 699, 706, 230, 707, 708, 231, 133,
5017 709, 710, 711, 712, 713, 714, 232, 716, 715, 718,
5018 717, 726, 729, 727, 728, 730, 731, 734, 763, 733,
5019 935, 735, 737, 738, 758, 768, 739, 740, 817, 821,
5020 741, 742, 825, 829, 833, 849, 743, 744, 745, 746,
5021 747, 748, 749, 750, 752, 753, 754, 760, 761, 762,
5022 852, 141, 142, 856, 907, 916, 936, 937, 938, 939,
5023 944, 945, 947, 948, 949, 950, 956, 1010, 955, 959,
5024 958, 961, 962, 964, 965, 968, 967, 976, 146, 975,
5025 979, 978, 980, 981, 982, 983, 984, 985, 988, 989,
5026 990, 997, 999, 1007, 1015, 1026, 1014, 751, 1019, 1018,
5027 1017, 1021, 1022, 1023, 1024, 1025, 1028, 1027, 1030, 1031,
5028 1029, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1130, 1131,
5029 1039, 1040, 1134, 1119, 1136, 1153, 1120, 1121, 1122, 1154,
5030 1177, 1157, 1123, 1124, 1182, 1127, 1126, 1128, 1133, 1135,
5031 1151, 1158, 1178, 1183, 1184, 1164, 1165, 1166, 1167, 1168,
5032 1169, 1170, 1185, 1187, 1188, 1189, 1192, 1196, 1200, 1201,
5033 233, 1203, 1205, 324, 1204, 1207, 343, 1208, 1209, 1050,
5034 345, 1077, 276, 1210, 1096, 1230, 273, 298, 1231, 338,
5035 360, 1088, 356, 1232, 1236, 1086, 1105, 237, 275, 305,
5036 1103, 346, 271, 300, 877, 1101, 1054, 325, 887, 1238,
5037 344, 1085, 1237, 1074, 238, 1240, 1102, 1141, 1100, 299,
5038 883, 911, 277, 1055, 888, 239, 281, 1242, 282, 274,
5039 898, 1089, 339, 1143, 1056, 357, 1106, 765, 1087, 306,
5040 278, 234, 288, 1104, 1239, 1243, 301, 235, 611, 1090,
5041 1051, 1142, 759, 767, 1107, 1097, 1052, 307, 284, 240,
5042 236, 1098, 241, 884, 616, 1041, 242, 889, 1057, 1053,
5043 243, 1058, 244, 899, 1099, 1059, 1144, 245, 924, 1060,
5044 246, 1061, 247, 248, 249, 289, 1062, 250, 251, 1063,
5045 252, 1064, 1065, 1066, 253, 254, 1067, 1068, 255, 1069,
5046 256, 266, 267, 1070, 1071, 268, 269, 1072, 1020, 1073,
5047 1079, 1080, 1043, 1118, 1081, 1082, 1078, 653, 1125, 1129,
5048 1045, 1093, 1044, 1117, 1199, 1092, 1047, 646, 1046, 650,
5049 1155, 1049, 1048, 1202, 1156, 921, 1116, 1115, 669, 766,
5050 1137, 906, 1132, 1114, 1206, 1228, 672, 1150, 1241, 0,
5051 0, 0, 0, 0, 0, 0, 0, 627, 0, 0,
5052 0, 0, 1190, 283, 629, 0, 1152, 0, 0, 0,
5053 0, 0, 0, 638, 0, 0, 0, 0, 0, 0,
5054 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5055 0, 0, 1050, 0, 1077, 0, 0, 1096, 0, 0,
5056 0, 0, 0, 0, 1088, 0, 0, 1141, 1086, 1105,
5057 0, 0, 0, 1103, 0, 0, 0, 0, 1101, 1054,
5058 0, 0, 0, 1143, 1085, 0, 1074, 0, 0, 1102,
5059 0, 1100, 0, 0, 0, 0, 1055, 0, 0, 0,
5060 0, 1142, 0, 0, 1089, 0, 0, 1056, 0, 1106,
5061 0, 1087, 0, 0, 0, 0, 1104, 0, 0, 0,
5062 0, 0, 1090, 1051, 0, 0, 1144, 1107, 1097, 1052,
5063 0, 0, 0, 0, 1098, 0, 0, 0, 0, 0,
5064 0, 1057, 1053, 0, 1058, 0, 0, 1099, 1059, 0,
5065 0, 0, 1060, 0, 1061, 0, 0, 0, 0, 1062,
5066 0, 0, 1063, 0, 1064, 1065, 1066, 0, 0, 1067,
5067 1068, 0, 1069, 0, 0, 0, 1070, 1071, 0, 0,
5068 1072, 0, 1073, 1079, 1080, 0, 0, 1081, 1082, 1078,
5069 90, 91, 92, 93, 94, 0, 0, 0, 0, 0,
5070 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5071 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5072 0, 0, 0, 0, 0, 98, 99, 100, 101, 102,
5073 103, 104, 105, 106, 107, 0, 0, 0, 0, 112,
5074 113, 114, 115, 116, 117, 118, 119, 120, 121, 0,
5075 0, 0, 0, 123, 318, 0, 0, 0, 0, 0,
5076 0, 0, 0, 0, 0, 0, 125, 126, 0, 228,
5077 0, 127, 0, 0, 0, 0, 128, 129, 130, 0,
5078 0, 230, 0, 0, 231, 0, 0, 0, 0, 0,
5079 0, 0, 232, 0, 0, 0, 0, 0, 0, 0,
5080 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5081 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5082 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5083 0, 0, 0, 0, 0, 0, 0, 141, 142, 0,
5084 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5085 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5090 Dhcp4Parser::yycheck_[] =
5092 67, 68, 69, 70, 71, 70, 73, 74, 75, 76,
5093 64, 74, 682, 966, 69, 624, 71, 68, 69, 70,
5094 71, 630, 73, 74, 966, 76, 72, 966, 0, 69,
5095 69, 18, 74, 590, 69, 70, 71, 7, 102, 103,
5096 73, 74, 132, 133, 186, 7, 69, 5, 7, 7,
5097 200, 9, 3, 200, 69, 6, 71, 69, 200, 3,
5098 68, 69, 70, 71, 8, 73, 74, 7, 76, 54,
5099 55, 56, 69, 69, 71, 122, 123, 124, 125, 69,
5100 127, 129, 130, 147, 148, 3, 15, 16, 6, 88,
5101 19, 69, 69, 22, 69, 652, 3, 10, 69, 6,
5102 102, 103, 69, 3, 69, 7, 3, 6, 8, 69,
5103 200, 8, 69, 34, 69, 69, 69, 7, 3, 69,
5104 69, 7, 69, 8, 3, 3, 69, 69, 6, 8,
5105 69, 7, 69, 69, 69, 7, 200, 69, 69, 34,
5106 70, 143, 144, 145, 39, 40, 41, 42, 43, 44,
5107 45, 46, 47, 48, 49, 50, 51, 52, 53, 12,
5108 13, 3, 57, 58, 59, 60, 8, 17, 18, 90,
5109 7, 92, 93, 102, 103, 96, 97, 98, 7, 89,
5110 167, 102, 103, 178, 7, 3, 181, 182, 183, 184,
5111 8, 101, 102, 103, 3, 90, 3, 11, 200, 8,
5112 14, 169, 170, 171, 172, 132, 133, 117, 4, 23,
5113 120, 25, 26, 27, 28, 29, 30, 31, 32, 33,
5114 90, 91, 92, 93, 94, 95, 1179, 20, 21, 3,
5115 3, 3, 102, 103, 8, 203, 8, 1179, 8, 8,
5116 1179, 3, 200, 201, 202, 203, 8, 61, 62, 63,
5117 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
5118 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
5119 84, 200, 4, 4, 88, 89, 28, 29, 30, 200,
5120 4, 3, 3, 8, 954, 99, 8, 8, 102, 103,
5121 200, 90, 3, 107, 28, 29, 30, 8, 112, 113,
5122 114, 115, 116, 102, 103, 200, 4, 121, 3, 61,
5123 62, 63, 4, 8, 3, 3, 3, 131, 3, 8,
5124 134, 8, 4, 8, 102, 103, 3, 141, 142, 3,
5125 200, 8, 146, 4, 8, 149, 88, 89, 90, 153,
5126 135, 136, 137, 138, 139, 140, 4, 3, 8, 4,
5127 102, 103, 8, 407, 408, 89, 4, 4, 3, 173,
5128 174, 175, 176, 8, 4, 3, 118, 119, 102, 103,
5129 8, 185, 150, 151, 152, 4, 4, 8, 177, 3,
5130 179, 180, 116, 4, 8, 4, 200, 4, 122, 123,
5131 124, 125, 126, 127, 3, 129, 4, 3, 3, 8,
5132 4, 200, 8, 108, 109, 110, 111, 474, 35, 36,
5133 37, 38, 4, 480, 4, 4, 4, 4, 4, 4,
5134 203, 4, 200, 4, 4, 492, 4, 4, 495, 480,
5135 495, 4, 4, 4, 8, 3, 203, 492, 4, 506,
5136 4, 492, 4, 4, 495, 4, 4, 4, 200, 516,
5137 4, 506, 492, 492, 521, 506, 4, 492, 521, 4,
5138 495, 4, 203, 4, 4, 516, 200, 4, 4, 492,
5139 521, 506, 480, 4, 541, 4, 203, 492, 201, 521,
5140 492, 201, 201, 516, 492, 201, 201, 495, 521, 202,
5141 541, 506, 202, 202, 201, 492, 492, 201, 506, 4,
5142 201, 201, 492, 4, 203, 4, 203, 203, 516, 506,
5143 4, 4, 203, 521, 492, 492, 4, 492, 102, 103,
5144 203, 492, 203, 4, 4, 492, 4, 492, 4, 4,
5145 203, 203, 492, 541, 203, 492, 4, 492, 492, 492,
5146 4, 4, 492, 492, 4, 492, 4, 201, 1157, 492,
5147 492, 4, 4, 492, 4, 492, 492, 492, 4, 4,
5148 492, 492, 4, 4, 203, 495, 4, 4, 4, 4,
5149 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
5150 164, 165, 166, 203, 4, 4, 4, 4, 4, 173,
5151 174, 187, 188, 189, 190, 191, 192, 193, 194, 195,
5152 196, 197, 198, 199, 4, 4, 201, 674, 4, 676,
5153 4, 4, 203, 4, 4, 4, 200, 4, 4, 673,
5154 4, 4, 4, 4, 4, 676, 201, 4, 4, 4,
5155 4, 4, 4, 203, 26, 27, 28, 29, 30, 4,
5156 203, 4, 4, 710, 711, 4, 713, 203, 201, 201,
5157 717, 201, 4, 4, 203, 4, 203, 4, 4, 710,
5158 711, 712, 713, 4, 4, 7, 201, 200, 676, 61,
5159 62, 63, 64, 65, 66, 67, 68, 69, 70, 7,
5160 7, 7, 200, 75, 76, 77, 78, 79, 80, 81,
5161 82, 83, 200, 85, 86, 87, 7, 89, 7, 5,
5162 200, 5, 710, 711, 712, 713, 5, 5, 100, 200,
5163 102, 103, 104, 105, 106, 107, 200, 5, 7, 5,
5164 112, 113, 114, 200, 5, 117, 5, 5, 120, 121,
5165 7, 7, 7, 7, 7, 200, 128, 5, 200, 5,
5166 7, 200, 5, 200, 200, 200, 200, 7, 5, 200,
5167 4, 200, 200, 200, 168, 24, 200, 200, 7, 7,
5168 200, 200, 7, 7, 7, 7, 200, 200, 200, 200,
5169 200, 200, 200, 200, 200, 200, 200, 200, 200, 200,
5170 7, 173, 174, 7, 7, 7, 4, 4, 4, 4,
5171 4, 4, 4, 4, 4, 4, 3, 200, 6, 3,
5172 6, 6, 3, 6, 3, 3, 6, 3, 200, 6,
5173 3, 6, 4, 4, 4, 4, 4, 4, 4, 4,
5174 4, 4, 4, 4, 3, 203, 6, 652, 4, 6,
5175 8, 4, 4, 4, 4, 201, 203, 201, 4, 4,
5176 201, 4, 4, 201, 201, 4, 201, 201, 4, 4,
5177 203, 201, 4, 201, 4, 6, 201, 201, 201, 3,
5178 8, 4, 201, 201, 4, 201, 203, 201, 203, 201,
5179 203, 200, 8, 8, 3, 200, 200, 200, 200, 200,
5180 200, 200, 8, 200, 200, 200, 4, 200, 4, 203,
5181 957, 4, 4, 960, 201, 200, 963, 5, 200, 966,
5182 963, 966, 957, 7, 971, 4, 957, 974, 4, 960,
5183 977, 966, 963, 4, 4, 966, 971, 957, 957, 974,
5184 971, 963, 957, 974, 991, 971, 966, 960, 995, 201,
5185 963, 966, 203, 966, 957, 4, 971, 1004, 971, 974,
5186 991, 1008, 957, 966, 995, 957, 1013, 200, 1013, 957,
5187 1001, 966, 960, 1004, 966, 963, 971, 674, 966, 974,
5188 957, 957, 1013, 971, 201, 200, 974, 957, 474, 966,
5189 966, 1004, 665, 676, 971, 971, 966, 974, 1013, 957,
5190 957, 971, 957, 991, 480, 951, 957, 995, 966, 966,
5191 957, 966, 957, 1001, 971, 966, 1004, 957, 763, 966,
5192 957, 966, 957, 957, 957, 1013, 966, 957, 957, 966,
5193 957, 966, 966, 966, 957, 957, 966, 966, 957, 966,
5194 957, 957, 957, 966, 966, 957, 957, 966, 929, 966,
5195 966, 966, 956, 979, 966, 966, 966, 524, 986, 991,
5196 959, 969, 957, 977, 1179, 968, 962, 516, 960, 521,
5197 1013, 965, 963, 1184, 1015, 734, 976, 974, 541, 675,
5198 1001, 713, 995, 972, 1194, 1214, 545, 1005, 1234, -1,
5199 -1, -1, -1, -1, -1, -1, -1, 492, -1, -1,
5200 -1, -1, 1136, 1013, 495, -1, 1008, -1, -1, -1,
5201 -1, -1, -1, 506, -1, -1, -1, -1, -1, -1,
5202 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5203 -1, -1, 1179, -1, 1179, -1, -1, 1184, -1, -1,
5204 -1, -1, -1, -1, 1179, -1, -1, 1194, 1179, 1184,
5205 -1, -1, -1, 1184, -1, -1, -1, -1, 1184, 1179,
5206 -1, -1, -1, 1194, 1179, -1, 1179, -1, -1, 1184,
5207 -1, 1184, -1, -1, -1, -1, 1179, -1, -1, -1,
5208 -1, 1194, -1, -1, 1179, -1, -1, 1179, -1, 1184,
5209 -1, 1179, -1, -1, -1, -1, 1184, -1, -1, -1,
5210 -1, -1, 1179, 1179, -1, -1, 1194, 1184, 1184, 1179,
5211 -1, -1, -1, -1, 1184, -1, -1, -1, -1, -1,
5212 -1, 1179, 1179, -1, 1179, -1, -1, 1184, 1179, -1,
5213 -1, -1, 1179, -1, 1179, -1, -1, -1, -1, 1179,
5214 -1, -1, 1179, -1, 1179, 1179, 1179, -1, -1, 1179,
5215 1179, -1, 1179, -1, -1, -1, 1179, 1179, -1, -1,
5216 1179, -1, 1179, 1179, 1179, -1, -1, 1179, 1179, 1179,
5217 26, 27, 28, 29, 30, -1, -1, -1, -1, -1,
5218 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5219 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5220 -1, -1, -1, -1, -1, 61, 62, 63, 64, 65,
5221 66, 67, 68, 69, 70, -1, -1, -1, -1, 75,
5222 76, 77, 78, 79, 80, 81, 82, 83, 84, -1,
5223 -1, -1, -1, 89, 90, -1, -1, -1, -1, -1,
5224 -1, -1, -1, -1, -1, -1, 102, 103, -1, 105,
5225 -1, 107, -1, -1, -1, -1, 112, 113, 114, -1,
5226 -1, 117, -1, -1, 120, -1, -1, -1, -1, -1,
5227 -1, -1, 128, -1, -1, -1, -1, -1, -1, -1,
5228 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5229 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5230 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5231 -1, -1, -1, -1, -1, -1, -1, 173, 174, -1,
5232 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5233 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5238 Dhcp4Parser::yystos_[] =
5240 0, 187, 188, 189, 190, 191, 192, 193, 194, 195,
5241 196, 197, 198, 199, 205, 206, 207, 208, 209, 210,
5242 211, 212, 213, 214, 215, 216, 217, 218, 0, 5,
5243 7, 9, 200, 201, 202, 203, 219, 220, 221, 226,
5244 7, 235, 7, 239, 7, 283, 7, 391, 7, 474,
5245 7, 490, 7, 426, 7, 432, 7, 456, 7, 367,
5246 7, 555, 7, 586, 227, 222, 236, 240, 284, 392,
5247 475, 491, 427, 433, 457, 368, 556, 587, 219, 228,
5248 229, 200, 224, 225, 10, 237, 11, 14, 23, 25,
5249 26, 27, 28, 29, 30, 31, 32, 33, 61, 62,
5250 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
5251 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
5252 83, 84, 88, 89, 99, 102, 103, 107, 112, 113,
5253 114, 115, 116, 121, 131, 134, 141, 142, 146, 149,
5254 153, 173, 174, 175, 176, 185, 200, 234, 241, 242,
5255 243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
5256 253, 254, 256, 257, 258, 259, 260, 261, 262, 265,
5257 267, 269, 270, 271, 273, 275, 276, 277, 278, 279,
5258 294, 296, 302, 304, 345, 354, 361, 375, 385, 409,
5259 410, 411, 412, 416, 424, 450, 480, 482, 484, 495,
5260 497, 499, 522, 534, 535, 543, 553, 584, 593, 617,
5261 15, 16, 19, 22, 234, 281, 282, 285, 287, 290,
5262 293, 480, 482, 85, 86, 87, 100, 104, 105, 106,
5263 117, 120, 128, 234, 243, 244, 245, 246, 247, 248,
5264 249, 250, 251, 252, 257, 258, 259, 260, 261, 262,
5265 265, 267, 269, 270, 271, 273, 275, 393, 394, 395,
5266 397, 399, 401, 403, 405, 407, 409, 410, 411, 412,
5267 415, 450, 468, 480, 482, 484, 495, 497, 499, 519,
5268 101, 234, 405, 407, 450, 476, 477, 478, 480, 482,
5269 116, 122, 123, 124, 125, 126, 127, 129, 234, 450,
5270 480, 482, 492, 493, 494, 495, 497, 499, 501, 505,
5271 507, 509, 511, 513, 515, 517, 424, 34, 90, 92,
5272 93, 96, 97, 98, 234, 322, 434, 435, 436, 437,
5273 438, 439, 440, 442, 444, 446, 447, 449, 480, 482,
5274 91, 94, 95, 234, 322, 438, 444, 458, 459, 460,
5275 461, 462, 464, 465, 466, 467, 480, 482, 132, 133,
5276 234, 369, 370, 371, 373, 154, 155, 156, 157, 158,
5277 159, 160, 161, 162, 163, 164, 165, 166, 173, 174,
5278 234, 480, 482, 557, 558, 559, 560, 562, 563, 565,
5279 566, 567, 570, 572, 574, 575, 576, 578, 580, 582,
5280 12, 13, 588, 589, 590, 592, 6, 3, 4, 8,
5281 3, 238, 8, 585, 280, 297, 4, 4, 4, 496,
5282 498, 500, 295, 303, 305, 4, 4, 4, 4, 4,
5283 4, 4, 4, 4, 4, 4, 255, 4, 4, 4,
5284 4, 4, 263, 266, 268, 4, 4, 4, 386, 425,
5285 451, 417, 481, 483, 413, 4, 4, 4, 346, 523,
5286 485, 362, 376, 4, 355, 536, 544, 554, 272, 274,
5287 4, 594, 618, 4, 3, 8, 286, 288, 291, 4,
5288 3, 8, 398, 400, 402, 469, 396, 404, 4, 408,
5289 406, 520, 3, 8, 479, 3, 8, 518, 506, 508,
5290 512, 510, 516, 514, 502, 8, 3, 8, 441, 323,
5291 4, 445, 443, 448, 4, 8, 3, 463, 4, 4,
5292 8, 3, 372, 374, 3, 8, 4, 573, 561, 4,
5293 564, 4, 4, 568, 571, 4, 4, 577, 579, 581,
5294 583, 3, 8, 591, 4, 3, 8, 219, 219, 200,
5295 4, 4, 4, 4, 203, 203, 203, 4, 4, 4,
5296 4, 4, 4, 201, 201, 201, 201, 201, 203, 202,
5297 202, 202, 201, 201, 4, 201, 201, 203, 203, 203,
5298 4, 4, 4, 203, 203, 203, 4, 4, 4, 4,
5299 4, 4, 4, 203, 203, 203, 4, 4, 4, 4,
5300 4, 201, 4, 4, 4, 4, 4, 4, 203, 4,
5301 4, 242, 4, 4, 4, 203, 282, 4, 4, 4,
5302 4, 4, 4, 201, 4, 4, 4, 394, 4, 477,
5303 4, 4, 4, 4, 4, 4, 4, 4, 494, 4,
5304 4, 201, 4, 4, 4, 203, 436, 4, 203, 203,
5305 460, 4, 4, 370, 203, 4, 4, 201, 4, 201,
5306 201, 4, 4, 203, 203, 4, 4, 4, 4, 558,
5307 4, 201, 589, 4, 7, 7, 7, 7, 200, 200,
5308 200, 7, 7, 5, 200, 169, 170, 171, 172, 203,
5309 264, 200, 200, 5, 5, 5, 5, 221, 223, 200,
5310 108, 109, 110, 111, 414, 5, 5, 5, 5, 7,
5311 7, 7, 7, 7, 200, 200, 5, 7, 5, 230,
5312 17, 18, 289, 20, 21, 292, 200, 200, 200, 5,
5313 200, 200, 230, 200, 7, 200, 230, 200, 200, 200,
5314 200, 200, 200, 200, 200, 200, 200, 200, 200, 200,
5315 200, 223, 200, 200, 200, 18, 167, 569, 168, 264,
5316 200, 200, 200, 5, 219, 241, 588, 281, 24, 298,
5317 299, 300, 34, 39, 40, 41, 42, 43, 44, 45,
5318 46, 47, 48, 49, 50, 51, 52, 53, 57, 58,
5319 59, 60, 234, 310, 311, 312, 315, 317, 319, 321,
5320 322, 324, 325, 326, 327, 328, 329, 330, 331, 333,
5321 335, 337, 339, 340, 341, 344, 310, 7, 306, 307,
5322 308, 7, 387, 388, 389, 7, 428, 429, 430, 7,
5323 452, 453, 454, 7, 418, 419, 420, 122, 123, 124,
5324 125, 127, 347, 348, 349, 350, 351, 352, 353, 7,
5325 524, 525, 7, 486, 487, 488, 7, 363, 364, 365,
5326 135, 136, 137, 138, 139, 140, 377, 378, 379, 380,
5327 381, 382, 383, 384, 143, 144, 145, 234, 356, 357,
5328 358, 359, 360, 480, 482, 147, 148, 234, 480, 482,
5329 537, 538, 539, 541, 150, 151, 152, 200, 480, 482,
5330 545, 546, 547, 548, 550, 551, 557, 7, 595, 596,
5331 186, 234, 619, 620, 621, 231, 7, 470, 471, 472,
5332 130, 501, 503, 521, 306, 8, 8, 8, 301, 3,
5333 8, 313, 316, 318, 320, 4, 4, 4, 4, 4,
5334 332, 334, 336, 338, 4, 4, 342, 4, 4, 4,
5335 4, 3, 8, 8, 309, 6, 3, 390, 6, 3,
5336 431, 6, 3, 455, 6, 3, 421, 6, 3, 3,
5337 6, 526, 3, 6, 489, 6, 3, 366, 6, 3,
5338 4, 4, 4, 4, 4, 4, 3, 8, 4, 4,
5339 4, 3, 8, 540, 542, 3, 8, 4, 549, 4,
5340 552, 3, 8, 8, 597, 3, 6, 4, 3, 8,
5341 200, 232, 233, 473, 6, 3, 504, 8, 6, 4,
5342 299, 4, 4, 4, 4, 201, 203, 201, 203, 201,
5343 4, 4, 4, 4, 201, 201, 4, 201, 201, 203,
5344 201, 311, 310, 308, 393, 389, 434, 430, 458, 454,
5345 234, 243, 244, 245, 246, 247, 248, 249, 250, 251,
5346 252, 257, 258, 259, 260, 261, 262, 265, 267, 269,
5347 270, 271, 273, 275, 322, 385, 403, 405, 407, 409,
5348 410, 411, 412, 422, 423, 450, 480, 482, 495, 497,
5349 499, 519, 420, 348, 118, 119, 234, 243, 244, 245,
5350 322, 424, 450, 480, 482, 495, 497, 499, 527, 528,
5351 529, 530, 531, 533, 525, 492, 488, 369, 365, 201,
5352 201, 201, 201, 201, 201, 378, 203, 201, 201, 357,
5353 4, 4, 538, 203, 4, 201, 4, 546, 177, 179,
5354 180, 234, 322, 480, 482, 598, 599, 600, 601, 603,
5355 596, 203, 620, 6, 3, 476, 472, 4, 200, 35,
5356 36, 37, 38, 314, 200, 200, 200, 200, 200, 200,
5357 200, 54, 55, 56, 343, 8, 8, 8, 8, 3,
5358 8, 532, 4, 8, 3, 8, 8, 200, 200, 200,
5359 219, 604, 4, 602, 3, 8, 200, 8, 230, 423,
5360 4, 203, 529, 4, 201, 4, 599, 200, 5, 200,
5361 7, 605, 606, 607, 3, 6, 178, 181, 182, 183,
5362 184, 608, 609, 610, 612, 613, 614, 615, 606, 611,
5363 4, 4, 4, 616, 3, 8, 4, 203, 201, 201,
5368 Dhcp4Parser::yyr1_[] =
5370 0, 204, 206, 205, 207, 205, 208, 205, 209, 205,
5371 210, 205, 211, 205, 212, 205, 213, 205, 214, 205,
5372 215, 205, 216, 205, 217, 205, 218, 205, 219, 219,
5373 219, 219, 219, 219, 219, 220, 222, 221, 223, 224,
5374 224, 225, 225, 227, 226, 228, 228, 229, 229, 231,
5375 230, 232, 232, 233, 233, 234, 236, 235, 238, 237,
5376 240, 239, 241, 241, 242, 242, 242, 242, 242, 242,
5377 242, 242, 242, 242, 242, 242, 242, 242, 242, 242,
5378 242, 242, 242, 242, 242, 242, 242, 242, 242, 242,
5379 242, 242, 242, 242, 242, 242, 242, 242, 242, 242,
5380 242, 242, 242, 242, 242, 242, 242, 242, 242, 242,
5381 242, 242, 242, 242, 242, 242, 242, 242, 242, 242,
5382 242, 242, 242, 242, 242, 243, 244, 245, 246, 247,
5383 248, 249, 250, 251, 252, 253, 255, 254, 256, 257,
5384 258, 259, 260, 261, 263, 262, 264, 264, 264, 264,
5385 264, 266, 265, 268, 267, 269, 270, 272, 271, 274,
5386 273, 275, 276, 277, 278, 280, 279, 281, 281, 282,
5387 282, 282, 282, 282, 282, 282, 284, 283, 286, 285,
5388 288, 287, 289, 289, 291, 290, 292, 292, 293, 295,
5389 294, 297, 296, 298, 298, 299, 301, 300, 303, 302,
5390 305, 304, 306, 306, 307, 307, 309, 308, 310, 310,
5391 311, 311, 311, 311, 311, 311, 311, 311, 311, 311,
5392 311, 311, 311, 311, 311, 311, 311, 311, 311, 311,
5393 311, 311, 313, 312, 314, 314, 314, 314, 316, 315,
5394 318, 317, 320, 319, 321, 323, 322, 324, 325, 326,
5395 327, 328, 329, 330, 332, 331, 334, 333, 336, 335,
5396 338, 337, 339, 340, 342, 341, 343, 343, 343, 344,
5397 346, 345, 347, 347, 348, 348, 348, 348, 348, 349,
5398 350, 351, 352, 353, 355, 354, 356, 356, 357, 357,
5399 357, 357, 357, 357, 358, 359, 360, 362, 361, 363,
5400 363, 364, 364, 366, 365, 368, 367, 369, 369, 369,
5401 370, 370, 372, 371, 374, 373, 376, 375, 377, 377,
5402 378, 378, 378, 378, 378, 378, 379, 380, 381, 382,
5403 383, 384, 386, 385, 387, 387, 388, 388, 390, 389,
5404 392, 391, 393, 393, 394, 394, 394, 394, 394, 394,
5405 394, 394, 394, 394, 394, 394, 394, 394, 394, 394,
5406 394, 394, 394, 394, 394, 394, 394, 394, 394, 394,
5407 394, 394, 394, 394, 394, 394, 394, 394, 394, 394,
5408 394, 394, 394, 394, 394, 394, 394, 394, 394, 396,
5409 395, 398, 397, 400, 399, 402, 401, 404, 403, 406,
5410 405, 408, 407, 409, 410, 411, 413, 412, 414, 414,
5411 414, 414, 415, 417, 416, 418, 418, 419, 419, 421,
5412 420, 422, 422, 423, 423, 423, 423, 423, 423, 423,
5413 423, 423, 423, 423, 423, 423, 423, 423, 423, 423,
5414 423, 423, 423, 423, 423, 423, 423, 423, 423, 423,
5415 423, 423, 423, 423, 423, 423, 423, 423, 423, 423,
5416 423, 423, 423, 425, 424, 427, 426, 428, 428, 429,
5417 429, 431, 430, 433, 432, 434, 434, 435, 435, 436,
5418 436, 436, 436, 436, 436, 436, 436, 436, 436, 437,
5419 438, 439, 441, 440, 443, 442, 445, 444, 446, 448,
5420 447, 449, 451, 450, 452, 452, 453, 453, 455, 454,
5421 457, 456, 458, 458, 459, 459, 460, 460, 460, 460,
5422 460, 460, 460, 460, 460, 461, 463, 462, 464, 465,
5423 466, 467, 469, 468, 470, 470, 471, 471, 473, 472,
5424 475, 474, 476, 476, 477, 477, 477, 477, 477, 477,
5425 477, 479, 478, 481, 480, 483, 482, 485, 484, 486,
5426 486, 487, 487, 489, 488, 491, 490, 492, 492, 493,
5427 493, 494, 494, 494, 494, 494, 494, 494, 494, 494,
5428 494, 494, 494, 494, 494, 494, 496, 495, 498, 497,
5429 500, 499, 502, 501, 504, 503, 506, 505, 508, 507,
5430 510, 509, 512, 511, 514, 513, 516, 515, 518, 517,
5431 520, 519, 521, 521, 523, 522, 524, 524, 526, 525,
5432 527, 527, 528, 528, 529, 529, 529, 529, 529, 529,
5433 529, 529, 529, 529, 529, 529, 529, 529, 530, 532,
5434 531, 533, 534, 536, 535, 537, 537, 538, 538, 538,
5435 538, 538, 540, 539, 542, 541, 544, 543, 545, 545,
5436 546, 546, 546, 546, 546, 546, 547, 549, 548, 550,
5437 552, 551, 554, 553, 556, 555, 557, 557, 558, 558,
5438 558, 558, 558, 558, 558, 558, 558, 558, 558, 558,
5439 558, 558, 558, 558, 558, 558, 559, 561, 560, 562,
5440 564, 563, 565, 566, 568, 567, 569, 569, 571, 570,
5441 573, 572, 574, 575, 577, 576, 579, 578, 581, 580,
5442 583, 582, 585, 584, 587, 586, 588, 588, 589, 589,
5443 591, 590, 592, 594, 593, 595, 595, 597, 596, 598,
5444 598, 599, 599, 599, 599, 599, 599, 599, 600, 602,
5445 601, 604, 603, 605, 605, 607, 606, 608, 608, 609,
5446 609, 609, 609, 609, 611, 610, 612, 613, 614, 616,
5447 615, 618, 617, 619, 619, 620, 620, 621
5451 Dhcp4Parser::yyr2_[] =
5453 0, 2, 0, 3, 0, 3, 0, 3, 0, 3,
5454 0, 3, 0, 3, 0, 3, 0, 3, 0, 3,
5455 0, 3, 0, 3, 0, 3, 0, 3, 1, 1,
5456 1, 1, 1, 1, 1, 1, 0, 4, 1, 0,
5457 1, 3, 5, 0, 4, 0, 1, 1, 3, 0,
5458 4, 0, 1, 1, 3, 2, 0, 4, 0, 6,
5459 0, 4, 1, 3, 1, 1, 1, 1, 1, 1,
5460 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
5461 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
5462 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
5463 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
5464 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
5465 1, 1, 1, 1, 1, 3, 3, 3, 3, 3,
5466 3, 3, 3, 3, 3, 3, 0, 4, 3, 3,
5467 3, 3, 3, 3, 0, 4, 1, 1, 1, 1,
5468 1, 0, 4, 0, 4, 3, 3, 0, 4, 0,
5469 4, 3, 3, 3, 3, 0, 6, 1, 3, 1,
5470 1, 1, 1, 1, 1, 1, 0, 4, 0, 4,
5471 0, 4, 1, 1, 0, 4, 1, 1, 3, 0,
5472 6, 0, 6, 1, 3, 1, 0, 4, 0, 6,
5473 0, 6, 0, 1, 1, 3, 0, 4, 1, 3,
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, 0, 4, 1, 1, 1, 1, 0, 4,
5477 0, 4, 0, 4, 3, 0, 4, 3, 3, 3,
5478 3, 3, 3, 3, 0, 4, 0, 4, 0, 4,
5479 0, 4, 3, 3, 0, 4, 1, 1, 1, 3,
5480 0, 6, 1, 3, 1, 1, 1, 1, 1, 1,
5481 1, 1, 1, 1, 0, 6, 1, 3, 1, 1,
5482 1, 1, 1, 1, 3, 3, 3, 0, 6, 0,
5483 1, 1, 3, 0, 4, 0, 4, 1, 3, 1,
5484 1, 1, 0, 4, 0, 4, 0, 6, 1, 3,
5485 1, 1, 1, 1, 1, 1, 3, 3, 3, 3,
5486 3, 3, 0, 6, 0, 1, 1, 3, 0, 4,
5487 0, 4, 1, 3, 1, 1, 1, 1, 1, 1,
5488 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
5489 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
5490 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
5491 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
5492 4, 0, 4, 0, 4, 0, 4, 0, 4, 0,
5493 4, 0, 4, 3, 3, 3, 0, 4, 1, 1,
5494 1, 1, 3, 0, 6, 0, 1, 1, 3, 0,
5495 4, 1, 3, 1, 1, 1, 1, 1, 1, 1,
5496 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
5497 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
5498 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
5499 1, 1, 1, 0, 6, 0, 4, 0, 1, 1,
5500 3, 0, 4, 0, 4, 0, 1, 1, 3, 1,
5501 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
5502 3, 1, 0, 4, 0, 4, 0, 4, 1, 0,
5503 4, 3, 0, 6, 0, 1, 1, 3, 0, 4,
5504 0, 4, 0, 1, 1, 3, 1, 1, 1, 1,
5505 1, 1, 1, 1, 1, 1, 0, 4, 1, 1,
5506 3, 3, 0, 6, 0, 1, 1, 3, 0, 4,
5507 0, 4, 1, 3, 1, 1, 1, 1, 1, 1,
5508 1, 0, 4, 0, 4, 0, 4, 0, 6, 0,
5509 1, 1, 3, 0, 4, 0, 4, 0, 1, 1,
5510 3, 1, 1, 1, 1, 1, 1, 1, 1, 1,
5511 1, 1, 1, 1, 1, 1, 0, 4, 0, 4,
5512 0, 4, 0, 4, 0, 4, 0, 4, 0, 4,
5513 0, 4, 0, 4, 0, 4, 0, 4, 0, 4,
5514 0, 6, 1, 1, 0, 6, 1, 3, 0, 4,
5515 0, 1, 1, 3, 1, 1, 1, 1, 1, 1,
5516 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
5517 4, 3, 3, 0, 6, 1, 3, 1, 1, 1,
5518 1, 1, 0, 4, 0, 4, 0, 6, 1, 3,
5519 1, 1, 1, 1, 1, 1, 3, 0, 4, 3,
5520 0, 4, 0, 6, 0, 4, 1, 3, 1, 1,
5521 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
5522 1, 1, 1, 1, 1, 1, 3, 0, 4, 3,
5523 0, 4, 3, 3, 0, 4, 1, 1, 0, 4,
5524 0, 4, 3, 3, 0, 4, 0, 4, 0, 4,
5525 0, 4, 0, 6, 0, 4, 1, 3, 1, 1,
5526 0, 6, 3, 0, 6, 1, 3, 0, 4, 1,
5527 3, 1, 1, 1, 1, 1, 1, 1, 3, 0,
5528 4, 0, 6, 1, 3, 0, 4, 1, 3, 1,
5529 1, 1, 1, 1, 0, 4, 3, 3, 3, 0,
5530 4, 0, 6, 1, 3, 1, 1, 3
5534 #if PARSER4_DEBUG || 1
5538 const Dhcp4Parser::yytname_[] =
5540 "\"end of file\"",
"error",
"\"invalid token\"",
"\",\"",
"\":\"",
5541 "\"[\"",
"\"]\"",
"\"{\"",
"\"}\"",
"\"null\"",
"\"Dhcp4\"",
5542 "\"config-control\"",
"\"config-databases\"",
5543 "\"config-fetch-wait-time\"",
"\"interfaces-config\"",
"\"interfaces\"",
5544 "\"dhcp-socket-type\"",
"\"raw\"",
"\"udp\"",
"\"outbound-interface\"",
5545 "\"same-as-inbound\"",
"\"use-routing\"",
"\"re-detect\"",
5546 "\"sanity-checks\"",
"\"lease-checks\"",
"\"echo-client-id\"",
5547 "\"match-client-id\"",
"\"authoritative\"",
"\"next-server\"",
5548 "\"server-hostname\"",
"\"boot-file-name\"",
"\"lease-database\"",
5549 "\"hosts-database\"",
"\"hosts-databases\"",
"\"type\"",
"\"memfile\"",
5550 "\"mysql\"",
"\"postgresql\"",
"\"cql\"",
"\"user\"",
"\"password\"",
5551 "\"host\"",
"\"port\"",
"\"persist\"",
"\"lfc-interval\"",
5552 "\"readonly\"",
"\"connect-timeout\"",
"\"contact-points\"",
5553 "\"keyspace\"",
"\"consistency\"",
"\"serial-consistency\"",
5554 "\"max-reconnect-tries\"",
"\"reconnect-wait-time\"",
"\"on-fail\"",
5555 "\"stop-retry-exit\"",
"\"serve-retry-exit\"",
5556 "\"serve-retry-continue\"",
"\"request-timeout\"",
"\"tcp-keepalive\"",
5557 "\"tcp-nodelay\"",
"\"max-row-errors\"",
"\"valid-lifetime\"",
5558 "\"min-valid-lifetime\"",
"\"max-valid-lifetime\"",
"\"renew-timer\"",
5559 "\"rebind-timer\"",
"\"calculate-tee-times\"",
"\"t1-percent\"",
5560 "\"t2-percent\"",
"\"cache-threshold\"",
"\"cache-max-age\"",
5561 "\"decline-probation-period\"",
"\"server-tag\"",
5562 "\"statistic-default-sample-count\"",
"\"statistic-default-sample-age\"",
5563 "\"ddns-send-updates\"",
"\"ddns-override-no-update\"",
5564 "\"ddns-override-client-update\"",
"\"ddns-replace-client-name\"",
5565 "\"ddns-generated-prefix\"",
"\"ddns-qualifying-suffix\"",
5566 "\"ddns-update-on-renew\"",
"\"ddns-use-conflict-resolution\"",
5567 "\"store-extended-info\"",
"\"subnet4\"",
"\"4o6-interface\"",
5568 "\"4o6-interface-id\"",
"\"4o6-subnet\"",
"\"option-def\"",
5569 "\"option-data\"",
"\"name\"",
"\"data\"",
"\"code\"",
"\"space\"",
5570 "\"csv-format\"",
"\"always-send\"",
"\"record-types\"",
5571 "\"encapsulate\"",
"\"array\"",
"\"shared-networks\"",
"\"pools\"",
5572 "\"pool\"",
"\"user-context\"",
"\"comment\"",
"\"subnet\"",
5573 "\"interface\"",
"\"id\"",
"\"reservation-mode\"",
"\"disabled\"",
5574 "\"out-of-pool\"",
"\"global\"",
"\"all\"",
"\"reservations-global\"",
5575 "\"reservations-in-subnet\"",
"\"reservations-out-of-pool\"",
5576 "\"host-reservation-identifiers\"",
"\"client-classes\"",
5577 "\"require-client-classes\"",
"\"test\"",
"\"only-if-required\"",
5578 "\"client-class\"",
"\"reservations\"",
"\"duid\"",
"\"hw-address\"",
5579 "\"circuit-id\"",
"\"client-id\"",
"\"hostname\"",
"\"flex-id\"",
5580 "\"relay\"",
"\"ip-address\"",
"\"ip-addresses\"",
"\"hooks-libraries\"",
5581 "\"library\"",
"\"parameters\"",
"\"expired-leases-processing\"",
5582 "\"reclaim-timer-wait-time\"",
"\"flush-reclaimed-timer-wait-time\"",
5583 "\"hold-reclaimed-time\"",
"\"max-reclaim-leases\"",
5584 "\"max-reclaim-time\"",
"\"unwarned-reclaim-cycles\"",
5585 "\"dhcp4o6-port\"",
"\"multi-threading\"",
"\"enable-multi-threading\"",
5586 "\"thread-pool-size\"",
"\"packet-queue-size\"",
"\"control-socket\"",
5587 "\"socket-type\"",
"\"socket-name\"",
"\"dhcp-queue-control\"",
5588 "\"enable-queue\"",
"\"queue-type\"",
"\"capacity\"",
"\"dhcp-ddns\"",
5589 "\"enable-updates\"",
"\"qualifying-suffix\"",
"\"server-ip\"",
5590 "\"server-port\"",
"\"sender-ip\"",
"\"sender-port\"",
5591 "\"max-queue-size\"",
"\"ncr-protocol\"",
"\"ncr-format\"",
5592 "\"override-no-update\"",
"\"override-client-update\"",
5593 "\"replace-client-name\"",
"\"generated-prefix\"",
"\"tcp\"",
"\"JSON\"",
5594 "\"when-present\"",
"\"never\"",
"\"always\"",
"\"when-not-present\"",
5595 "\"hostname-char-set\"",
"\"hostname-char-replacement\"",
5596 "\"ip-reservations-unique\"",
"\"loggers\"",
"\"output_options\"",
5597 "\"output\"",
"\"debuglevel\"",
"\"severity\"",
"\"flush\"",
5598 "\"maxsize\"",
"\"maxver\"",
"\"pattern\"",
"\"compatibility\"",
5599 "\"lenient-option-parsing\"",
"TOPLEVEL_JSON",
"TOPLEVEL_DHCP4",
5600 "SUB_DHCP4",
"SUB_INTERFACES4",
"SUB_SUBNET4",
"SUB_POOL4",
5601 "SUB_RESERVATION",
"SUB_OPTION_DEFS",
"SUB_OPTION_DEF",
5602 "SUB_OPTION_DATA",
"SUB_HOOKS_LIBRARY",
"SUB_DHCP_DDNS",
5603 "SUB_CONFIG_CONTROL",
"\"constant string\"",
"\"integer\"",
5604 "\"floating point\"",
"\"boolean\"",
"$accept",
"start",
"$@1",
"$@2",
5605 "$@3",
"$@4",
"$@5",
"$@6",
"$@7",
"$@8",
"$@9",
"$@10",
"$@11",
"$@12",
5606 "$@13",
"value",
"sub_json",
"map2",
"$@14",
"map_value",
"map_content",
5607 "not_empty_map",
"list_generic",
"$@15",
"list_content",
5608 "not_empty_list",
"list_strings",
"$@16",
"list_strings_content",
5609 "not_empty_list_strings",
"unknown_map_entry",
"syntax_map",
"$@17",
5610 "global_object",
"$@18",
"sub_dhcp4",
"$@19",
"global_params",
5611 "global_param",
"valid_lifetime",
"min_valid_lifetime",
5612 "max_valid_lifetime",
"renew_timer",
"rebind_timer",
5613 "calculate_tee_times",
"t1_percent",
"t2_percent",
"cache_threshold",
5614 "cache_max_age",
"decline_probation_period",
"server_tag",
"$@20",
5615 "echo_client_id",
"match_client_id",
"authoritative",
5616 "ddns_send_updates",
"ddns_override_no_update",
5617 "ddns_override_client_update",
"ddns_replace_client_name",
"$@21",
5618 "ddns_replace_client_name_value",
"ddns_generated_prefix",
"$@22",
5619 "ddns_qualifying_suffix",
"$@23",
"ddns_update_on_renew",
5620 "ddns_use_conflict_resolution",
"hostname_char_set",
"$@24",
5621 "hostname_char_replacement",
"$@25",
"store_extended_info",
5622 "statistic_default_sample_count",
"statistic_default_sample_age",
5623 "ip_reservations_unique",
"interfaces_config",
"$@26",
5624 "interfaces_config_params",
"interfaces_config_param",
"sub_interfaces4",
5625 "$@27",
"interfaces_list",
"$@28",
"dhcp_socket_type",
"$@29",
5626 "socket_type",
"outbound_interface",
"$@30",
"outbound_interface_value",
5627 "re_detect",
"lease_database",
"$@31",
"sanity_checks",
"$@32",
5628 "sanity_checks_params",
"sanity_checks_param",
"lease_checks",
"$@33",
5629 "hosts_database",
"$@34",
"hosts_databases",
"$@35",
"database_list",
5630 "not_empty_database_list",
"database",
"$@36",
"database_map_params",
5631 "database_map_param",
"database_type",
"$@37",
"db_type",
"user",
"$@38",
5632 "password",
"$@39",
"host",
"$@40",
"port",
"name",
"$@41",
"persist",
5633 "lfc_interval",
"readonly",
"connect_timeout",
"request_timeout",
5634 "tcp_keepalive",
"tcp_nodelay",
"contact_points",
"$@42",
"keyspace",
5635 "$@43",
"consistency",
"$@44",
"serial_consistency",
"$@45",
5636 "max_reconnect_tries",
"reconnect_wait_time",
"on_fail",
"$@46",
5637 "on_fail_mode",
"max_row_errors",
"host_reservation_identifiers",
"$@47",
5638 "host_reservation_identifiers_list",
"host_reservation_identifier",
5639 "duid_id",
"hw_address_id",
"circuit_id",
"client_id",
"flex_id",
5640 "dhcp_multi_threading",
"$@48",
"multi_threading_params",
5641 "multi_threading_param",
"enable_multi_threading",
"thread_pool_size",
5642 "packet_queue_size",
"hooks_libraries",
"$@49",
"hooks_libraries_list",
5643 "not_empty_hooks_libraries_list",
"hooks_library",
"$@50",
5644 "sub_hooks_library",
"$@51",
"hooks_params",
"hooks_param",
"library",
5645 "$@52",
"parameters",
"$@53",
"expired_leases_processing",
"$@54",
5646 "expired_leases_params",
"expired_leases_param",
5647 "reclaim_timer_wait_time",
"flush_reclaimed_timer_wait_time",
5648 "hold_reclaimed_time",
"max_reclaim_leases",
"max_reclaim_time",
5649 "unwarned_reclaim_cycles",
"subnet4_list",
"$@55",
5650 "subnet4_list_content",
"not_empty_subnet4_list",
"subnet4",
"$@56",
5651 "sub_subnet4",
"$@57",
"subnet4_params",
"subnet4_param",
"subnet",
5652 "$@58",
"subnet_4o6_interface",
"$@59",
"subnet_4o6_interface_id",
5653 "$@60",
"subnet_4o6_subnet",
"$@61",
"interface",
"$@62",
"client_class",
5654 "$@63",
"require_client_classes",
"$@64",
"reservations_global",
5655 "reservations_in_subnet",
"reservations_out_of_pool",
"reservation_mode",
5656 "$@65",
"hr_mode",
"id",
"shared_networks",
"$@66",
5657 "shared_networks_content",
"shared_networks_list",
"shared_network",
5658 "$@67",
"shared_network_params",
"shared_network_param",
5659 "option_def_list",
"$@68",
"sub_option_def_list",
"$@69",
5660 "option_def_list_content",
"not_empty_option_def_list",
5661 "option_def_entry",
"$@70",
"sub_option_def",
"$@71",
5662 "option_def_params",
"not_empty_option_def_params",
"option_def_param",
5663 "option_def_name",
"code",
"option_def_code",
"option_def_type",
"$@72",
5664 "option_def_record_types",
"$@73",
"space",
"$@74",
"option_def_space",
5665 "option_def_encapsulate",
"$@75",
"option_def_array",
"option_data_list",
5666 "$@76",
"option_data_list_content",
"not_empty_option_data_list",
5667 "option_data_entry",
"$@77",
"sub_option_data",
"$@78",
5668 "option_data_params",
"not_empty_option_data_params",
5669 "option_data_param",
"option_data_name",
"option_data_data",
"$@79",
5670 "option_data_code",
"option_data_space",
"option_data_csv_format",
5671 "option_data_always_send",
"pools_list",
"$@80",
"pools_list_content",
5672 "not_empty_pools_list",
"pool_list_entry",
"$@81",
"sub_pool4",
"$@82",
5673 "pool_params",
"pool_param",
"pool_entry",
"$@83",
"user_context",
5674 "$@84",
"comment",
"$@85",
"reservations",
"$@86",
"reservations_list",
5675 "not_empty_reservations_list",
"reservation",
"$@87",
"sub_reservation",
5676 "$@88",
"reservation_params",
"not_empty_reservation_params",
5677 "reservation_param",
"next_server",
"$@89",
"server_hostname",
"$@90",
5678 "boot_file_name",
"$@91",
"ip_address",
"$@92",
"ip_addresses",
"$@93",
5679 "duid",
"$@94",
"hw_address",
"$@95",
"client_id_value",
"$@96",
5680 "circuit_id_value",
"$@97",
"flex_id_value",
"$@98",
"hostname",
"$@99",
5681 "reservation_client_classes",
"$@100",
"relay",
"$@101",
"relay_map",
5682 "client_classes",
"$@102",
"client_classes_list",
"client_class_entry",
5683 "$@103",
"client_class_params",
"not_empty_client_class_params",
5684 "client_class_param",
"client_class_name",
"client_class_test",
"$@104",
5685 "only_if_required",
"dhcp4o6_port",
"control_socket",
"$@105",
5686 "control_socket_params",
"control_socket_param",
"control_socket_type",
5687 "$@106",
"control_socket_name",
"$@107",
"dhcp_queue_control",
"$@108",
5688 "queue_control_params",
"queue_control_param",
"enable_queue",
5689 "queue_type",
"$@109",
"capacity",
"arbitrary_map_entry",
"$@110",
5690 "dhcp_ddns",
"$@111",
"sub_dhcp_ddns",
"$@112",
"dhcp_ddns_params",
5691 "dhcp_ddns_param",
"enable_updates",
"server_ip",
"$@113",
"server_port",
5692 "sender_ip",
"$@114",
"sender_port",
"max_queue_size",
"ncr_protocol",
5693 "$@115",
"ncr_protocol_value",
"ncr_format",
"$@116",
5694 "dep_qualifying_suffix",
"$@117",
"dep_override_no_update",
5695 "dep_override_client_update",
"dep_replace_client_name",
"$@118",
5696 "dep_generated_prefix",
"$@119",
"dep_hostname_char_set",
"$@120",
5697 "dep_hostname_char_replacement",
"$@121",
"config_control",
"$@122",
5698 "sub_config_control",
"$@123",
"config_control_params",
5699 "config_control_param",
"config_databases",
"$@124",
5700 "config_fetch_wait_time",
"loggers",
"$@125",
"loggers_entries",
5701 "logger_entry",
"$@126",
"logger_params",
"logger_param",
"debuglevel",
5702 "severity",
"$@127",
"output_options_list",
"$@128",
5703 "output_options_list_content",
"output_entry",
"$@129",
5704 "output_params_list",
"output_params",
"output",
"$@130",
"flush",
5705 "maxsize",
"maxver",
"pattern",
"$@131",
"compatibility",
"$@132",
5706 "compatibility_params",
"compatibility_param",
"lenient_option_parsing", YY_NULLPTR
5713 Dhcp4Parser::yyrline_[] =
5715 0, 293, 293, 293, 294, 294, 295, 295, 296, 296,
5716 297, 297, 298, 298, 299, 299, 300, 300, 301, 301,
5717 302, 302, 303, 303, 304, 304, 305, 305, 313, 314,
5718 315, 316, 317, 318, 319, 322, 327, 327, 338, 341,
5719 342, 345, 350, 358, 358, 365, 366, 369, 373, 380,
5720 380, 387, 388, 391, 395, 406, 415, 415, 430, 430,
5721 447, 447, 456, 457, 462, 463, 464, 465, 466, 467,
5722 468, 469, 470, 471, 472, 473, 474, 475, 476, 477,
5723 478, 479, 480, 481, 482, 483, 484, 485, 486, 487,
5724 488, 489, 490, 491, 492, 493, 494, 495, 496, 497,
5725 498, 499, 500, 501, 502, 503, 504, 505, 506, 507,
5726 508, 509, 510, 511, 512, 513, 514, 515, 516, 517,
5727 518, 519, 520, 521, 522, 525, 531, 537, 543, 549,
5728 555, 561, 567, 573, 579, 585, 591, 591, 600, 606,
5729 612, 618, 624, 630, 636, 636, 645, 648, 651, 654,
5730 657, 663, 663, 672, 672, 681, 687, 693, 693, 702,
5731 702, 711, 717, 723, 729, 735, 735, 747, 748, 751,
5732 752, 753, 754, 755, 756, 757, 760, 760, 769, 769,
5733 780, 780, 788, 789, 792, 792, 800, 802, 806, 813,
5734 813, 826, 826, 837, 838, 840, 842, 842, 861, 861,
5735 874, 874, 885, 886, 889, 890, 893, 893, 903, 904,
5736 907, 908, 909, 910, 911, 912, 913, 914, 915, 916,
5737 917, 918, 919, 920, 921, 922, 923, 924, 925, 926,
5738 927, 928, 931, 931, 939, 940, 941, 942, 945, 945,
5739 954, 954, 963, 963, 972, 978, 978, 987, 993, 999,
5740 1005, 1011, 1017, 1023, 1029, 1029, 1038, 1038, 1047, 1047,
5741 1056, 1056, 1065, 1071, 1077, 1077, 1085, 1086, 1087, 1090,
5742 1097, 1097, 1108, 1109, 1112, 1113, 1114, 1115, 1116, 1119,
5743 1124, 1129, 1134, 1139, 1146, 1146, 1159, 1160, 1163, 1164,
5744 1165, 1166, 1167, 1168, 1171, 1177, 1183, 1189, 1189, 1200,
5745 1201, 1204, 1205, 1208, 1208, 1218, 1218, 1228, 1229, 1230,
5746 1233, 1234, 1237, 1237, 1246, 1246, 1255, 1255, 1267, 1268,
5747 1271, 1272, 1273, 1274, 1275, 1276, 1279, 1285, 1291, 1297,
5748 1303, 1309, 1318, 1318, 1332, 1333, 1336, 1337, 1344, 1344,
5749 1370, 1370, 1381, 1382, 1386, 1387, 1388, 1389, 1390, 1391,
5750 1392, 1393, 1394, 1395, 1396, 1397, 1398, 1399, 1400, 1401,
5751 1402, 1403, 1404, 1405, 1406, 1407, 1408, 1409, 1410, 1411,
5752 1412, 1413, 1414, 1415, 1416, 1417, 1418, 1419, 1420, 1421,
5753 1422, 1423, 1424, 1425, 1426, 1427, 1428, 1429, 1430, 1433,
5754 1433, 1442, 1442, 1451, 1451, 1460, 1460, 1469, 1469, 1478,
5755 1478, 1487, 1487, 1498, 1504, 1510, 1516, 1516, 1524, 1525,
5756 1526, 1527, 1530, 1538, 1538, 1550, 1551, 1555, 1556, 1559,
5757 1559, 1567, 1568, 1571, 1572, 1573, 1574, 1575, 1576, 1577,
5758 1578, 1579, 1580, 1581, 1582, 1583, 1584, 1585, 1586, 1587,
5759 1588, 1589, 1590, 1591, 1592, 1593, 1594, 1595, 1596, 1597,
5760 1598, 1599, 1600, 1601, 1602, 1603, 1604, 1605, 1606, 1607,
5761 1608, 1609, 1610, 1617, 1617, 1631, 1631, 1640, 1641, 1644,
5762 1645, 1650, 1650, 1665, 1665, 1679, 1680, 1683, 1684, 1687,
5763 1688, 1689, 1690, 1691, 1692, 1693, 1694, 1695, 1696, 1699,
5764 1701, 1707, 1709, 1709, 1718, 1718, 1727, 1727, 1736, 1738,
5765 1738, 1747, 1757, 1757, 1770, 1771, 1776, 1777, 1782, 1782,
5766 1794, 1794, 1806, 1807, 1812, 1813, 1818, 1819, 1820, 1821,
5767 1822, 1823, 1824, 1825, 1826, 1829, 1831, 1831, 1840, 1842,
5768 1844, 1850, 1859, 1859, 1872, 1873, 1876, 1877, 1880, 1880,
5769 1890, 1890, 1900, 1901, 1904, 1905, 1906, 1907, 1908, 1909,
5770 1910, 1913, 1913, 1922, 1922, 1947, 1947, 1977, 1977, 1988,
5771 1989, 1992, 1993, 1996, 1996, 2005, 2005, 2014, 2015, 2018,
5772 2019, 2023, 2024, 2025, 2026, 2027, 2028, 2029, 2030, 2031,
5773 2032, 2033, 2034, 2035, 2036, 2037, 2040, 2040, 2049, 2049,
5774 2058, 2058, 2067, 2067, 2076, 2076, 2087, 2087, 2096, 2096,
5775 2105, 2105, 2114, 2114, 2123, 2123, 2132, 2132, 2141, 2141,
5776 2155, 2155, 2166, 2167, 2173, 2173, 2184, 2185, 2188, 2188,
5777 2198, 2199, 2202, 2203, 2206, 2207, 2208, 2209, 2210, 2211,
5778 2212, 2213, 2214, 2215, 2216, 2217, 2218, 2219, 2222, 2224,
5779 2224, 2233, 2241, 2249, 2249, 2260, 2261, 2264, 2265, 2266,
5780 2267, 2268, 2271, 2271, 2280, 2280, 2292, 2292, 2305, 2306,
5781 2309, 2310, 2311, 2312, 2313, 2314, 2317, 2323, 2323, 2332,
5782 2338, 2338, 2348, 2348, 2361, 2361, 2371, 2372, 2375, 2376,
5783 2377, 2378, 2379, 2380, 2381, 2382, 2383, 2384, 2385, 2386,
5784 2387, 2388, 2389, 2390, 2391, 2392, 2395, 2401, 2401, 2410,
5785 2416, 2416, 2425, 2431, 2437, 2437, 2446, 2447, 2450, 2450,
5786 2460, 2460, 2470, 2477, 2484, 2484, 2493, 2493, 2503, 2503,
5787 2513, 2513, 2525, 2525, 2537, 2537, 2547, 2548, 2552, 2553,
5788 2556, 2556, 2567, 2575, 2575, 2588, 2589, 2593, 2593, 2601,
5789 2602, 2605, 2606, 2607, 2608, 2609, 2610, 2611, 2614, 2620,
5790 2620, 2629, 2629, 2640, 2641, 2644, 2644, 2652, 2653, 2656,
5791 2657, 2658, 2659, 2660, 2663, 2663, 2672, 2678, 2684, 2690,
5792 2690, 2699, 2699, 2710, 2711, 2714, 2715, 2718
5796 Dhcp4Parser::yy_stack_print_ ()
const
5798 *yycdebug_ <<
"Stack now";
5799 for (stack_type::const_iterator
5800 i = yystack_.begin (),
5801 i_end = yystack_.end ();
5803 *yycdebug_ <<
' ' <<
int (i->state);
5808 Dhcp4Parser::yy_reduce_print_ (
int yyrule)
const
5810 int yylno = yyrline_[yyrule];
5811 int yynrhs = yyr2_[yyrule];
5813 *yycdebug_ <<
"Reducing stack by rule " << yyrule - 1
5814 <<
" (line " << yylno <<
"):\n";
5816 for (
int yyi = 0; yyi < yynrhs; yyi++)
5818 yystack_[(yynrhs) - (yyi + 1)]);
5820 #endif // PARSER4_DEBUG
5823 #line 14 "dhcp4_parser.yy"
5825 #line 5826 "dhcp4_parser.cc"
5827 #line 2724 "dhcp4_parser.yy"
5832 const std::string& what)
5834 ctx.error(loc, what);
Used while parsing Dhcp4/hosts-database[s] structures.
Used while parsing Dhcp4/*-database/on-fail.
Used while parsing Dhcp4/dhcp-ddns/ncr-protocol.
~syntax_error() YY_NOEXCEPT YY_NOTHROW
Used while parsing Dhcp4/hooks-libraries.
symbol_kind_type kind() const YY_NOEXCEPT
The (internal) type number (corresponding to type).
void set_debug_stream(std::ostream &)
Set the current debugging stream.
void leave()
Leave a syntactic context.
Used while parsing Dhcp4/dhcp-ddns/ncr-format.
#define YY_CAST(Type, Val)
int debug_level_type
Type for debugging levels.
Used while parsing Dhcp4/interfaces/outbound-interface structures.
Used while parsing Dhcp4/client-classes structures.
const std::string contextName()
Get the syntactic context name.
isc::data::Element::Position loc2pos(isc::dhcp::location &loc)
Converts bison's position to one understandable by isc::data::Element.
void move(basic_symbol &s)
Destructive move, s is emptied into this.
Evaluation context, an interface to the expression evaluation.
Used while parsing Dhcp4/*-database/type.
Used while parsing Dhcp4/host-reservation-identifiers.
Used while parsing Dhcp4/multi-threading structures.
#define YY_MOVE_REF(Type)
virtual void error(const location_type &loc, const std::string &msg)
Report a syntax error.
boost::shared_ptr< Element > ElementPtr
void enter(const ParserContext &ctx)
Enter a new syntactic context.
Used while parsing Dhcp4/reservations structures.
#define YYLLOC_DEFAULT(Current, Rhs, N)
Used while parsing Dhcp4/lease-database structures.
#define YY_REDUCE_PRINT(Rule)
#define YY_SYMBOL_PRINT(Title, Symbol)
Used while parsing Dhcp4/dhcp-ddns.
"External" symbols: returned by the scanner.
Used while parsing Dhcp4/interfaces/dhcp-socket-type structures.
Define the isc::dhcp::parser class.
Used while parsing Dhcp4/control-socket structures.
virtual int parse()
Parse.
static const symbol_kind_type YYNTOKENS
The number of tokens.
Used while parsing Dhcp4/subnet4/pools structures.
Used while parsing Dhcp4/dhcp-queue-control structures.
Used while parsing shared-networks structures.
bool empty() const YY_NOEXCEPT
Whether empty.
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...
ParserContext ctx_
Current syntactic context.
std::vector< isc::data::ElementPtr > stack_
JSON elements being parsed.
Used while parsing Dhcp4/dhcp-ddns/replace-client-name.
Used while parsing Dhcp4/loggers/output_options structures.
Notes: IntElement type is changed to int64_t.
symbol_kind_type kind_
The symbol kind.
boost::shared_ptr< const Element > ConstElementPtr
static std::string symbol_name(symbol_kind_type yysymbol)
The user-facing name of the symbol whose (internal) number is YYSYMBOL.
Used while parsing Dhcp4/Subnet4 structures.
Used while parsing Dhcp4/option-def structures.
Used while parsing Dhcp4/option-data, Dhcp4/subnet4/option-data or anywhere option-data is present (c...
Used while parsing Dhcp4/interfaces structures.
Used while parsing content of Dhcp4.
Used while parsing Dhcp4/subnet4relay structures.
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.
Defines the logger used by the top-level component of kea-dhcp-ddns.
void set_debug_level(debug_level_type l)
Set the current debugging level.
Syntax errors thrown from user actions.
void merge(ElementPtr element, ConstElementPtr other)
Merges the data from other into element.
context(const Dhcp4Parser &yyparser, const symbol_type &yyla)
Used while parsing Dhcp4/loggers structures.
Dhcp4Parser(isc::dhcp::Parser4Context &ctx_yyarg)
Build a parser object.
symbol_kind_type token() const YY_NOEXCEPT
This one is used in pure JSON mode.
Used while parsing compatibility parameters.
location location_type
Symbol locations.
void unique(const std::string &name, isc::data::Element::Position loc)
Check if a parameter is already present.
debug_level_type debug_level() const YY_ATTRIBUTE_PURE
The current debugging level.
Used while parsing Dhcp4/expired-leases-processing.
const symbol_type & lookahead() const YY_NOEXCEPT
std::ostream & debug_stream() const YY_ATTRIBUTE_PURE
The current debugging stream.
Used while parsing config-control/config-databases.
location_type location
The location.
symbol_kind::symbol_kind_type symbol_kind_type
(Internal) symbol kind.
void clear() YY_NOEXCEPT
Destroy contents, and record that is empty.
Used while parsing Dhcp4/config-control.
Used while parsing Dhcp4/reservation-mode.