39#define yylex parser4_lex
47#line 34 "dhcp4_parser.yy"
52#if defined(__GNUC__) || defined(__clang__)
53#pragma GCC diagnostic ignored "-Wunused-but-set-variable"
56#line 57 "dhcp4_parser.cc"
60# if defined YYENABLE_NLS && YYENABLE_NLS
63# define YY_(msgid) dgettext ("bison-runtime", msgid)
67# define YY_(msgid) msgid
74# if defined __GNUC__ && !defined __EXCEPTIONS
75# define YY_EXCEPTIONS 0
77# define YY_EXCEPTIONS 1
81#define YYRHSLOC(Rhs, K) ((Rhs)[K].location)
86# ifndef YYLLOC_DEFAULT
87# define YYLLOC_DEFAULT(Current, Rhs, N) \
91 (Current).begin = YYRHSLOC (Rhs, 1).begin; \
92 (Current).end = YYRHSLOC (Rhs, N).end; \
96 (Current).begin = (Current).end = YYRHSLOC (Rhs, 0).end; \
106# define YYCDEBUG if (yydebug_) (*yycdebug_)
108# define YY_SYMBOL_PRINT(Title, Symbol) \
112 *yycdebug_ << Title << ' '; \
113 yy_print_ (*yycdebug_, Symbol); \
114 *yycdebug_ << '\n'; \
118# define YY_REDUCE_PRINT(Rule) \
121 yy_reduce_print_ (Rule); \
124# define YY_STACK_PRINT() \
127 yy_stack_print_ (); \
132# define YYCDEBUG if (false) std::cerr
133# define YY_SYMBOL_PRINT(Title, Symbol) YY_USE (Symbol)
134# define YY_REDUCE_PRINT(Rule) static_cast<void> (0)
135# define YY_STACK_PRINT() static_cast<void> (0)
139#define yyerrok (yyerrstatus_ = 0)
140#define yyclearin (yyla.clear ())
142#define YYACCEPT goto yyacceptlab
143#define YYABORT goto yyabortlab
144#define YYERROR goto yyerrorlab
145#define YYRECOVERING() (!!yyerrstatus_)
147#line 14 "dhcp4_parser.yy"
148namespace isc {
namespace dhcp {
149#line 150 "dhcp4_parser.cc"
155 yycdebug_ (&std::cerr),
176 : state (empty_state)
179 Dhcp4Parser::by_state::by_state (
const by_state& that)
YY_NOEXCEPT
190 Dhcp4Parser::by_state::move (by_state& that)
196 Dhcp4Parser::by_state::by_state (state_type s)
YY_NOEXCEPT
203 if (state == empty_state)
209 Dhcp4Parser::stack_symbol_type::stack_symbol_type ()
212 Dhcp4Parser::stack_symbol_type::stack_symbol_type (
YY_RVREF (stack_symbol_type) that)
215 switch (that.kind ())
217 case symbol_kind::S_value:
218 case symbol_kind::S_map_value:
219 case symbol_kind::S_ddns_replace_client_name_value:
220 case symbol_kind::S_ddns_conflict_resolution_mode_value:
221 case symbol_kind::S_socket_type:
222 case symbol_kind::S_outbound_interface_value:
223 case symbol_kind::S_on_fail_mode:
224 case symbol_kind::S_ssl_mode:
225 case symbol_kind::S_control_socket_type_value:
226 case symbol_kind::S_auth_type_value:
227 case symbol_kind::S_ncr_protocol_value:
228 value.YY_MOVE_OR_COPY< ElementPtr > (YY_MOVE (that.value));
231 case symbol_kind::S_BOOLEAN:
232 value.YY_MOVE_OR_COPY< bool > (YY_MOVE (that.value));
235 case symbol_kind::S_FLOAT:
236 value.YY_MOVE_OR_COPY< double > (YY_MOVE (that.value));
239 case symbol_kind::S_INTEGER:
240 value.YY_MOVE_OR_COPY< int64_t > (YY_MOVE (that.value));
243 case symbol_kind::S_STRING:
244 value.YY_MOVE_OR_COPY< std::string > (YY_MOVE (that.value));
253 that.state = empty_state;
258 : super_type (s,
YY_MOVE (that.location))
260 switch (that.kind ())
262 case symbol_kind::S_value:
263 case symbol_kind::S_map_value:
264 case symbol_kind::S_ddns_replace_client_name_value:
265 case symbol_kind::S_ddns_conflict_resolution_mode_value:
266 case symbol_kind::S_socket_type:
267 case symbol_kind::S_outbound_interface_value:
268 case symbol_kind::S_on_fail_mode:
269 case symbol_kind::S_ssl_mode:
270 case symbol_kind::S_control_socket_type_value:
271 case symbol_kind::S_auth_type_value:
272 case symbol_kind::S_ncr_protocol_value:
273 value.move< ElementPtr > (YY_MOVE (that.value));
276 case symbol_kind::S_BOOLEAN:
277 value.move< bool > (YY_MOVE (that.value));
280 case symbol_kind::S_FLOAT:
281 value.move< double > (YY_MOVE (that.value));
284 case symbol_kind::S_INTEGER:
285 value.move< int64_t > (YY_MOVE (that.value));
288 case symbol_kind::S_STRING:
289 value.move< std::string > (YY_MOVE (that.value));
300#if YY_CPLUSPLUS < 201103L
301 Dhcp4Parser::stack_symbol_type&
302 Dhcp4Parser::stack_symbol_type::operator= (
const stack_symbol_type& that)
305 switch (that.kind ())
322 value.copy<
bool > (that.value);
326 value.copy<
double > (that.value);
330 value.copy< int64_t > (that.value);
334 value.copy< std::string > (that.value);
341 location = that.location;
345 Dhcp4Parser::stack_symbol_type&
346 Dhcp4Parser::stack_symbol_type::operator= (stack_symbol_type& that)
349 switch (that.kind ())
366 value.move<
bool > (that.value);
370 value.move<
double > (that.value);
374 value.move< int64_t > (that.value);
378 value.move< std::string > (that.value);
385 location = that.location;
387 that.state = empty_state;
392 template <
typename Base>
401 template <
typename Base>
405 std::ostream& yyoutput = yyo;
408 yyo <<
"empty symbol";
412 yyo << (yykind <
YYNTOKENS ?
"token" :
"nterm")
413 <<
' ' << yysym.name () <<
" ("
414 << yysym.location <<
": ";
418#line 328 "dhcp4_parser.yy"
419 { yyoutput << yysym.value.template as < std::string > (); }
420#line 421 "dhcp4_parser.cc"
424#line 328 "dhcp4_parser.yy"
425 { yyoutput << yysym.value.template as < int64_t > (); }
426#line 427 "dhcp4_parser.cc"
430#line 328 "dhcp4_parser.yy"
431 { yyoutput << yysym.value.template as < double > (); }
432#line 433 "dhcp4_parser.cc"
436#line 328 "dhcp4_parser.yy"
437 { yyoutput << yysym.value.template as < bool > (); }
438#line 439 "dhcp4_parser.cc"
442#line 328 "dhcp4_parser.yy"
443 { yyoutput << yysym.value.template as < ElementPtr > (); }
444#line 445 "dhcp4_parser.cc"
448#line 328 "dhcp4_parser.yy"
449 { yyoutput << yysym.value.template as < ElementPtr > (); }
450#line 451 "dhcp4_parser.cc"
454#line 328 "dhcp4_parser.yy"
455 { yyoutput << yysym.value.template as < ElementPtr > (); }
456#line 457 "dhcp4_parser.cc"
460#line 328 "dhcp4_parser.yy"
461 { yyoutput << yysym.value.template as < ElementPtr > (); }
462#line 463 "dhcp4_parser.cc"
466#line 328 "dhcp4_parser.yy"
467 { yyoutput << yysym.value.template as < ElementPtr > (); }
468#line 469 "dhcp4_parser.cc"
472#line 328 "dhcp4_parser.yy"
473 { yyoutput << yysym.value.template as < ElementPtr > (); }
474#line 475 "dhcp4_parser.cc"
478#line 328 "dhcp4_parser.yy"
479 { yyoutput << yysym.value.template as < ElementPtr > (); }
480#line 481 "dhcp4_parser.cc"
484#line 328 "dhcp4_parser.yy"
485 { yyoutput << yysym.value.template as < ElementPtr > (); }
486#line 487 "dhcp4_parser.cc"
490#line 328 "dhcp4_parser.yy"
491 { yyoutput << yysym.value.template as < ElementPtr > (); }
492#line 493 "dhcp4_parser.cc"
496#line 328 "dhcp4_parser.yy"
497 { yyoutput << yysym.value.template as < ElementPtr > (); }
498#line 499 "dhcp4_parser.cc"
502#line 328 "dhcp4_parser.yy"
503 { yyoutput << yysym.value.template as < ElementPtr > (); }
504#line 505 "dhcp4_parser.cc"
516 Dhcp4Parser::yypush_ (
const char* m,
YY_MOVE_REF (stack_symbol_type) sym)
526#if 201103L <= YY_CPLUSPLUS
527 yypush_ (m, stack_symbol_type (s, std::move (sym)));
529 stack_symbol_type ss (s, sym);
542 Dhcp4Parser::debug_stream ()
const
548 Dhcp4Parser::set_debug_stream (std::ostream& o)
554 Dhcp4Parser::debug_level_type
555 Dhcp4Parser::debug_level ()
const
561 Dhcp4Parser::set_debug_level (debug_level_type l)
567 Dhcp4Parser::state_type
568 Dhcp4Parser::yy_lr_goto_state_ (state_type yystate,
int yysym)
570 int yyr = yypgoto_[yysym -
YYNTOKENS] + yystate;
571 if (0 <= yyr && yyr <= yylast_ && yycheck_[yyr] == yystate)
572 return yytable_[yyr];
578 Dhcp4Parser::yy_pact_value_is_default_ (
int yyvalue)
YY_NOEXCEPT
580 return yyvalue == yypact_ninf_;
584 Dhcp4Parser::yy_table_value_is_error_ (
int yyvalue)
YY_NOEXCEPT
586 return yyvalue == yytable_ninf_;
604 int yyerrstatus_ = 0;
610 stack_symbol_type yyerror_range[3];
627 yypush_ (YY_NULLPTR, 0,
YY_MOVE (yyla));
633 YYCDEBUG <<
"Entering state " << int (yystack_[0].state) <<
'\n';
637 if (yystack_[0].state == yyfinal_)
648 yyn = yypact_[+yystack_[0].state];
649 if (yy_pact_value_is_default_ (yyn))
661 yyla.
move (yylookahead);
666 YYCDEBUG <<
"Caught exception: " << yyexc.what() <<
'\n';
687 if (yyn < 0 || yylast_ < yyn || yycheck_[yyn] != yyla.
kind ())
696 if (yy_table_value_is_error_ (yyn))
707 yypush_ (
"Shifting", state_type (yyn),
YY_MOVE (yyla));
715 yyn = yydefact_[+yystack_[0].state];
727 stack_symbol_type yylhs;
728 yylhs.state = yy_lr_goto_state_ (yystack_[yylen].state, yyr1_[yyn]);
771 stack_type::slice range (yystack_, yylen);
785#line 337 "dhcp4_parser.yy"
786 { ctx.ctx_ = ctx.NO_KEYWORD; }
787#line 788 "dhcp4_parser.cc"
791#line 338 "dhcp4_parser.yy"
792 { ctx.ctx_ = ctx.CONFIG; }
793#line 794 "dhcp4_parser.cc"
797#line 339 "dhcp4_parser.yy"
798 { ctx.ctx_ = ctx.DHCP4; }
799#line 800 "dhcp4_parser.cc"
803#line 340 "dhcp4_parser.yy"
804 { ctx.ctx_ = ctx.INTERFACES_CONFIG; }
805#line 806 "dhcp4_parser.cc"
809#line 341 "dhcp4_parser.yy"
810 { ctx.ctx_ = ctx.SUBNET4; }
811#line 812 "dhcp4_parser.cc"
815#line 342 "dhcp4_parser.yy"
816 { ctx.ctx_ = ctx.POOLS; }
817#line 818 "dhcp4_parser.cc"
821#line 343 "dhcp4_parser.yy"
822 { ctx.ctx_ = ctx.RESERVATIONS; }
823#line 824 "dhcp4_parser.cc"
827#line 344 "dhcp4_parser.yy"
828 { ctx.ctx_ = ctx.DHCP4; }
829#line 830 "dhcp4_parser.cc"
833#line 345 "dhcp4_parser.yy"
834 { ctx.ctx_ = ctx.OPTION_DEF; }
835#line 836 "dhcp4_parser.cc"
839#line 346 "dhcp4_parser.yy"
840 { ctx.ctx_ = ctx.OPTION_DATA; }
841#line 842 "dhcp4_parser.cc"
845#line 347 "dhcp4_parser.yy"
846 { ctx.ctx_ = ctx.HOOKS_LIBRARIES; }
847#line 848 "dhcp4_parser.cc"
851#line 348 "dhcp4_parser.yy"
852 { ctx.ctx_ = ctx.DHCP_DDNS; }
853#line 854 "dhcp4_parser.cc"
857#line 349 "dhcp4_parser.yy"
858 { ctx.ctx_ = ctx.CONFIG_CONTROL; }
859#line 860 "dhcp4_parser.cc"
863#line 357 "dhcp4_parser.yy"
865#line 866 "dhcp4_parser.cc"
869#line 358 "dhcp4_parser.yy"
871#line 872 "dhcp4_parser.cc"
875#line 359 "dhcp4_parser.yy"
877#line 878 "dhcp4_parser.cc"
881#line 360 "dhcp4_parser.yy"
883#line 884 "dhcp4_parser.cc"
887#line 361 "dhcp4_parser.yy"
889#line 890 "dhcp4_parser.cc"
893#line 362 "dhcp4_parser.yy"
895#line 896 "dhcp4_parser.cc"
899#line 363 "dhcp4_parser.yy"
901#line 902 "dhcp4_parser.cc"
905#line 366 "dhcp4_parser.yy"
908 ctx.stack_.push_back(yystack_[0].value.as <
ElementPtr > ());
910#line 911 "dhcp4_parser.cc"
914#line 371 "dhcp4_parser.yy"
919 ctx.stack_.push_back(m);
921#line 922 "dhcp4_parser.cc"
925#line 376 "dhcp4_parser.yy"
931#line 932 "dhcp4_parser.cc"
935#line 382 "dhcp4_parser.yy"
937#line 938 "dhcp4_parser.cc"
941#line 389 "dhcp4_parser.yy"
944 ctx.unique(yystack_[2].value.as < std::string > (), ctx.loc2pos(yystack_[2].location));
945 ctx.stack_.back()->set(yystack_[2].value.as < std::string > (), yystack_[0].value.as <
ElementPtr > ());
947#line 948 "dhcp4_parser.cc"
951#line 394 "dhcp4_parser.yy"
955 ctx.unique(yystack_[2].value.as < std::string > (), ctx.loc2pos(yystack_[2].location));
956 ctx.stack_.back()->set(yystack_[2].value.as < std::string > (), yystack_[0].value.as <
ElementPtr > ());
958#line 959 "dhcp4_parser.cc"
962#line 400 "dhcp4_parser.yy"
964 ctx.warnAboutExtraCommas(yystack_[0].location);
966#line 967 "dhcp4_parser.cc"
970#line 405 "dhcp4_parser.yy"
973 ctx.stack_.push_back(l);
975#line 976 "dhcp4_parser.cc"
979#line 408 "dhcp4_parser.yy"
983#line 984 "dhcp4_parser.cc"
987#line 416 "dhcp4_parser.yy"
990 ctx.stack_.back()->add(yystack_[0].value.as <
ElementPtr > ());
992#line 993 "dhcp4_parser.cc"
996#line 420 "dhcp4_parser.yy"
999 ctx.stack_.back()->add(yystack_[0].value.as <
ElementPtr > ());
1001#line 1002 "dhcp4_parser.cc"
1005#line 424 "dhcp4_parser.yy"
1007 ctx.warnAboutExtraCommas(yystack_[0].location);
1009#line 1010 "dhcp4_parser.cc"
1013#line 430 "dhcp4_parser.yy"
1017#line 1018 "dhcp4_parser.cc"
1021#line 432 "dhcp4_parser.yy"
1026#line 1027 "dhcp4_parser.cc"
1030#line 441 "dhcp4_parser.yy"
1033 ctx.stack_.back()->add(s);
1035#line 1036 "dhcp4_parser.cc"
1039#line 445 "dhcp4_parser.yy"
1042 ctx.stack_.back()->add(s);
1044#line 1045 "dhcp4_parser.cc"
1048#line 449 "dhcp4_parser.yy"
1050 ctx.warnAboutExtraCommas(yystack_[0].location);
1052#line 1053 "dhcp4_parser.cc"
1056#line 459 "dhcp4_parser.yy"
1058 const std::string& where = ctx.contextName();
1059 const std::string& keyword = yystack_[1].value.as < std::string > ();
1060 error(yystack_[1].location,
1061 "got unexpected keyword \"" + keyword +
"\" in " + where +
" map.");
1063#line 1064 "dhcp4_parser.cc"
1067#line 468 "dhcp4_parser.yy"
1072 ctx.stack_.push_back(m);
1074#line 1075 "dhcp4_parser.cc"
1078#line 473 "dhcp4_parser.yy"
1085 ctx.require(
"Dhcp4", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
1087#line 1088 "dhcp4_parser.cc"
1091#line 483 "dhcp4_parser.yy"
1096 ctx.unique(
"Dhcp4", ctx.loc2pos(yystack_[0].location));
1098 ctx.stack_.back()->set(
"Dhcp4", m);
1099 ctx.stack_.push_back(m);
1100 ctx.enter(ctx.DHCP4);
1102#line 1103 "dhcp4_parser.cc"
1106#line 492 "dhcp4_parser.yy"
1109 ctx.stack_.pop_back();
1112#line 1113 "dhcp4_parser.cc"
1116#line 500 "dhcp4_parser.yy"
1118 ctx.warnAboutExtraCommas(yystack_[0].location);
1120#line 1121 "dhcp4_parser.cc"
1124#line 506 "dhcp4_parser.yy"
1128 ctx.stack_.push_back(m);
1130#line 1131 "dhcp4_parser.cc"
1134#line 510 "dhcp4_parser.yy"
1139#line 1140 "dhcp4_parser.cc"
1143#line 517 "dhcp4_parser.yy"
1145 ctx.warnAboutExtraCommas(yystack_[0].location);
1147#line 1148 "dhcp4_parser.cc"
1151#line 599 "dhcp4_parser.yy"
1153 ctx.unique(
"valid-lifetime", ctx.loc2pos(yystack_[2].location));
1154 ElementPtr prf(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
1155 ctx.stack_.back()->set(
"valid-lifetime", prf);
1157#line 1158 "dhcp4_parser.cc"
1161#line 605 "dhcp4_parser.yy"
1163 ctx.unique(
"min-valid-lifetime", ctx.loc2pos(yystack_[2].location));
1164 ElementPtr prf(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
1165 ctx.stack_.back()->set(
"min-valid-lifetime", prf);
1167#line 1168 "dhcp4_parser.cc"
1171#line 611 "dhcp4_parser.yy"
1173 ctx.unique(
"max-valid-lifetime", ctx.loc2pos(yystack_[2].location));
1174 ElementPtr prf(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
1175 ctx.stack_.back()->set(
"max-valid-lifetime", prf);
1177#line 1178 "dhcp4_parser.cc"
1181#line 617 "dhcp4_parser.yy"
1183 ctx.unique(
"renew-timer", ctx.loc2pos(yystack_[2].location));
1184 ElementPtr prf(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
1185 ctx.stack_.back()->set(
"renew-timer", prf);
1187#line 1188 "dhcp4_parser.cc"
1191#line 623 "dhcp4_parser.yy"
1193 ctx.unique(
"rebind-timer", ctx.loc2pos(yystack_[2].location));
1194 ElementPtr prf(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
1195 ctx.stack_.back()->set(
"rebind-timer", prf);
1197#line 1198 "dhcp4_parser.cc"
1201#line 629 "dhcp4_parser.yy"
1203 ctx.unique(
"calculate-tee-times", ctx.loc2pos(yystack_[2].location));
1204 ElementPtr ctt(
new BoolElement(yystack_[0].value.as <
bool > (), ctx.loc2pos(yystack_[0].location)));
1205 ctx.stack_.back()->set(
"calculate-tee-times", ctt);
1207#line 1208 "dhcp4_parser.cc"
1211#line 635 "dhcp4_parser.yy"
1213 ctx.unique(
"t1-percent", ctx.loc2pos(yystack_[2].location));
1215 ctx.stack_.back()->set(
"t1-percent", t1);
1217#line 1218 "dhcp4_parser.cc"
1221#line 641 "dhcp4_parser.yy"
1223 ctx.unique(
"t2-percent", ctx.loc2pos(yystack_[2].location));
1225 ctx.stack_.back()->set(
"t2-percent", t2);
1227#line 1228 "dhcp4_parser.cc"
1231#line 647 "dhcp4_parser.yy"
1233 ctx.unique(
"cache-threshold", ctx.loc2pos(yystack_[2].location));
1235 ctx.stack_.back()->set(
"cache-threshold", ct);
1237#line 1238 "dhcp4_parser.cc"
1241#line 653 "dhcp4_parser.yy"
1243 ctx.unique(
"cache-max-age", ctx.loc2pos(yystack_[2].location));
1244 ElementPtr cm(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
1245 ctx.stack_.back()->set(
"cache-max-age", cm);
1247#line 1248 "dhcp4_parser.cc"
1251#line 659 "dhcp4_parser.yy"
1253 ctx.unique(
"adaptive-lease-time-threshold", ctx.loc2pos(yystack_[2].location));
1255 ctx.stack_.back()->set(
"adaptive-lease-time-threshold", altt);
1257#line 1258 "dhcp4_parser.cc"
1261#line 665 "dhcp4_parser.yy"
1263 ctx.unique(
"decline-probation-period", ctx.loc2pos(yystack_[2].location));
1264 ElementPtr dpp(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
1265 ctx.stack_.back()->set(
"decline-probation-period", dpp);
1267#line 1268 "dhcp4_parser.cc"
1271#line 671 "dhcp4_parser.yy"
1273 ctx.unique(
"server-tag", ctx.loc2pos(yystack_[0].location));
1274 ctx.enter(ctx.NO_KEYWORD);
1276#line 1277 "dhcp4_parser.cc"
1280#line 674 "dhcp4_parser.yy"
1282 ElementPtr stag(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
1283 ctx.stack_.back()->set(
"server-tag", stag);
1286#line 1287 "dhcp4_parser.cc"
1290#line 680 "dhcp4_parser.yy"
1292 ctx.unique(
"parked-packet-limit", ctx.loc2pos(yystack_[2].location));
1293 ElementPtr ppl(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
1294 ctx.stack_.back()->set(
"parked-packet-limit", ppl);
1296#line 1297 "dhcp4_parser.cc"
1300#line 686 "dhcp4_parser.yy"
1302 ctx.unique(
"allocator", ctx.loc2pos(yystack_[0].location));
1303 ctx.enter(ctx.NO_KEYWORD);
1305#line 1306 "dhcp4_parser.cc"
1309#line 689 "dhcp4_parser.yy"
1312 ctx.stack_.back()->set(
"allocator", al);
1315#line 1316 "dhcp4_parser.cc"
1319#line 695 "dhcp4_parser.yy"
1321 ctx.unique(
"echo-client-id", ctx.loc2pos(yystack_[2].location));
1322 ElementPtr echo(
new BoolElement(yystack_[0].value.as <
bool > (), ctx.loc2pos(yystack_[0].location)));
1323 ctx.stack_.back()->set(
"echo-client-id", echo);
1325#line 1326 "dhcp4_parser.cc"
1329#line 701 "dhcp4_parser.yy"
1331 ctx.unique(
"match-client-id", ctx.loc2pos(yystack_[2].location));
1332 ElementPtr match(
new BoolElement(yystack_[0].value.as <
bool > (), ctx.loc2pos(yystack_[0].location)));
1333 ctx.stack_.back()->set(
"match-client-id", match);
1335#line 1336 "dhcp4_parser.cc"
1339#line 707 "dhcp4_parser.yy"
1341 ctx.unique(
"authoritative", ctx.loc2pos(yystack_[2].location));
1342 ElementPtr prf(
new BoolElement(yystack_[0].value.as <
bool > (), ctx.loc2pos(yystack_[0].location)));
1343 ctx.stack_.back()->set(
"authoritative", prf);
1345#line 1346 "dhcp4_parser.cc"
1349#line 713 "dhcp4_parser.yy"
1351 ctx.unique(
"ddns-send-updates", ctx.loc2pos(yystack_[2].location));
1353 ctx.stack_.back()->set(
"ddns-send-updates", b);
1355#line 1356 "dhcp4_parser.cc"
1359#line 719 "dhcp4_parser.yy"
1361 ctx.unique(
"ddns-override-no-update", ctx.loc2pos(yystack_[2].location));
1363 ctx.stack_.back()->set(
"ddns-override-no-update", b);
1365#line 1366 "dhcp4_parser.cc"
1369#line 725 "dhcp4_parser.yy"
1371 ctx.unique(
"ddns-override-client-update", ctx.loc2pos(yystack_[2].location));
1373 ctx.stack_.back()->set(
"ddns-override-client-update", b);
1375#line 1376 "dhcp4_parser.cc"
1379#line 731 "dhcp4_parser.yy"
1381 ctx.enter(ctx.REPLACE_CLIENT_NAME);
1382 ctx.unique(
"ddns-replace-client-name", ctx.loc2pos(yystack_[0].location));
1384#line 1385 "dhcp4_parser.cc"
1388#line 734 "dhcp4_parser.yy"
1390 ctx.stack_.back()->set(
"ddns-replace-client-name", yystack_[0].value.as <
ElementPtr > ());
1393#line 1394 "dhcp4_parser.cc"
1397#line 740 "dhcp4_parser.yy"
1401#line 1402 "dhcp4_parser.cc"
1405#line 743 "dhcp4_parser.yy"
1409#line 1410 "dhcp4_parser.cc"
1413#line 746 "dhcp4_parser.yy"
1417#line 1418 "dhcp4_parser.cc"
1421#line 749 "dhcp4_parser.yy"
1425#line 1426 "dhcp4_parser.cc"
1429#line 752 "dhcp4_parser.yy"
1431 error(yystack_[0].location,
"boolean values for the ddns-replace-client-name are "
1432 "no longer supported");
1434#line 1435 "dhcp4_parser.cc"
1438#line 758 "dhcp4_parser.yy"
1440 ctx.unique(
"ddns-generated-prefix", ctx.loc2pos(yystack_[0].location));
1441 ctx.enter(ctx.NO_KEYWORD);
1443#line 1444 "dhcp4_parser.cc"
1447#line 761 "dhcp4_parser.yy"
1450 ctx.stack_.back()->set(
"ddns-generated-prefix", s);
1453#line 1454 "dhcp4_parser.cc"
1457#line 767 "dhcp4_parser.yy"
1459 ctx.unique(
"ddns-qualifying-suffix", ctx.loc2pos(yystack_[0].location));
1460 ctx.enter(ctx.NO_KEYWORD);
1462#line 1463 "dhcp4_parser.cc"
1466#line 770 "dhcp4_parser.yy"
1469 ctx.stack_.back()->set(
"ddns-qualifying-suffix", s);
1472#line 1473 "dhcp4_parser.cc"
1476#line 776 "dhcp4_parser.yy"
1478 ctx.unique(
"ddns-reverse-zone", ctx.loc2pos(yystack_[0].location));
1479 ctx.enter(ctx.NO_KEYWORD);
1481#line 1482 "dhcp4_parser.cc"
1485#line 779 "dhcp4_parser.yy"
1488 ctx.stack_.back()->set(
"ddns-reverse-zone", s);
1491#line 1492 "dhcp4_parser.cc"
1495#line 785 "dhcp4_parser.yy"
1497 ctx.unique(
"ddns-update-on-renew", ctx.loc2pos(yystack_[2].location));
1499 ctx.stack_.back()->set(
"ddns-update-on-renew", b);
1501#line 1502 "dhcp4_parser.cc"
1505#line 794 "dhcp4_parser.yy"
1507 ctx.unique(
"ddns-use-conflict-resolution", ctx.loc2pos(yystack_[2].location));
1509 ctx.warning(yystack_[1].location,
"ddns-use-conflict-resolution is deprecated. "
1510 "Substituting ddns-conflict-resolution-mode");
1512 :
"no-check-with-dhcid"));
1513 ctx.stack_.back()->set(
"ddns-conflict-resolution-mode", mode);
1515#line 1516 "dhcp4_parser.cc"
1519#line 804 "dhcp4_parser.yy"
1521 ctx.unique(
"ddns-conflict-resolution-mode", ctx.loc2pos(yystack_[0].location));
1522 ctx.enter(ctx.DDNS_CONFLICT_RESOLUTION_MODE);
1524#line 1525 "dhcp4_parser.cc"
1528#line 807 "dhcp4_parser.yy"
1530 ctx.stack_.back()->set(
"ddns-conflict-resolution-mode", yystack_[0].value.as <
ElementPtr > ());
1533#line 1534 "dhcp4_parser.cc"
1537#line 813 "dhcp4_parser.yy"
1541#line 1542 "dhcp4_parser.cc"
1545#line 816 "dhcp4_parser.yy"
1549#line 1550 "dhcp4_parser.cc"
1553#line 819 "dhcp4_parser.yy"
1557#line 1558 "dhcp4_parser.cc"
1561#line 822 "dhcp4_parser.yy"
1565#line 1566 "dhcp4_parser.cc"
1569#line 827 "dhcp4_parser.yy"
1571 ctx.unique(
"ddns-ttl-percent", ctx.loc2pos(yystack_[2].location));
1573 ctx.stack_.back()->set(
"ddns-ttl-percent", ttl);
1575#line 1576 "dhcp4_parser.cc"
1579#line 833 "dhcp4_parser.yy"
1581 ctx.unique(
"ddns-ttl", ctx.loc2pos(yystack_[2].location));
1582 ElementPtr ttl(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
1583 ctx.stack_.back()->set(
"ddns-ttl", ttl);
1585#line 1586 "dhcp4_parser.cc"
1589#line 839 "dhcp4_parser.yy"
1591 ctx.unique(
"ddns-ttl-min", ctx.loc2pos(yystack_[2].location));
1592 ElementPtr ttl(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
1593 ctx.stack_.back()->set(
"ddns-ttl-min", ttl);
1595#line 1596 "dhcp4_parser.cc"
1599#line 845 "dhcp4_parser.yy"
1601 ctx.unique(
"ddns-ttl-max", ctx.loc2pos(yystack_[2].location));
1602 ElementPtr ttl(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
1603 ctx.stack_.back()->set(
"ddns-ttl-max", ttl);
1605#line 1606 "dhcp4_parser.cc"
1609#line 851 "dhcp4_parser.yy"
1611 ctx.unique(
"hostname-char-set", ctx.loc2pos(yystack_[0].location));
1612 ctx.enter(ctx.NO_KEYWORD);
1614#line 1615 "dhcp4_parser.cc"
1618#line 854 "dhcp4_parser.yy"
1621 ctx.stack_.back()->set(
"hostname-char-set", s);
1624#line 1625 "dhcp4_parser.cc"
1628#line 860 "dhcp4_parser.yy"
1630 ctx.unique(
"hostname-char-replacement", ctx.loc2pos(yystack_[0].location));
1631 ctx.enter(ctx.NO_KEYWORD);
1633#line 1634 "dhcp4_parser.cc"
1637#line 863 "dhcp4_parser.yy"
1640 ctx.stack_.back()->set(
"hostname-char-replacement", s);
1643#line 1644 "dhcp4_parser.cc"
1647#line 869 "dhcp4_parser.yy"
1649 ctx.unique(
"store-extended-info", ctx.loc2pos(yystack_[2].location));
1651 ctx.stack_.back()->set(
"store-extended-info", b);
1653#line 1654 "dhcp4_parser.cc"
1657#line 875 "dhcp4_parser.yy"
1659 ctx.unique(
"statistic-default-sample-count", ctx.loc2pos(yystack_[2].location));
1660 ElementPtr count(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
1661 ctx.stack_.back()->set(
"statistic-default-sample-count", count);
1663#line 1664 "dhcp4_parser.cc"
1667#line 881 "dhcp4_parser.yy"
1669 ctx.unique(
"statistic-default-sample-age", ctx.loc2pos(yystack_[2].location));
1670 ElementPtr age(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
1671 ctx.stack_.back()->set(
"statistic-default-sample-age", age);
1673#line 1674 "dhcp4_parser.cc"
1677#line 887 "dhcp4_parser.yy"
1679 ctx.unique(
"early-global-reservations-lookup", ctx.loc2pos(yystack_[2].location));
1680 ElementPtr early(
new BoolElement(yystack_[0].value.as <
bool > (), ctx.loc2pos(yystack_[0].location)));
1681 ctx.stack_.back()->set(
"early-global-reservations-lookup", early);
1683#line 1684 "dhcp4_parser.cc"
1687#line 893 "dhcp4_parser.yy"
1689 ctx.unique(
"ip-reservations-unique", ctx.loc2pos(yystack_[2].location));
1690 ElementPtr unique(
new BoolElement(yystack_[0].value.as <
bool > (), ctx.loc2pos(yystack_[0].location)));
1691 ctx.stack_.back()->set(
"ip-reservations-unique", unique);
1693#line 1694 "dhcp4_parser.cc"
1697#line 899 "dhcp4_parser.yy"
1699 ctx.unique(
"reservations-lookup-first", ctx.loc2pos(yystack_[2].location));
1700 ElementPtr first(
new BoolElement(yystack_[0].value.as <
bool > (), ctx.loc2pos(yystack_[0].location)));
1701 ctx.stack_.back()->set(
"reservations-lookup-first", first);
1703#line 1704 "dhcp4_parser.cc"
1707#line 905 "dhcp4_parser.yy"
1709 ctx.unique(
"offer-lifetime", ctx.loc2pos(yystack_[2].location));
1710 ElementPtr offer_lifetime(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
1711 ctx.stack_.back()->set(
"offer-lifetime", offer_lifetime);
1713#line 1714 "dhcp4_parser.cc"
1717#line 911 "dhcp4_parser.yy"
1719 ctx.unique(
"stash-agent-options", ctx.loc2pos(yystack_[2].location));
1720 ElementPtr stash(
new BoolElement(yystack_[0].value.as <
bool > (), ctx.loc2pos(yystack_[0].location)));
1721 ctx.stack_.back()->set(
"stash-agent-options", stash);
1723#line 1724 "dhcp4_parser.cc"
1727#line 917 "dhcp4_parser.yy"
1729 ctx.unique(
"interfaces-config", ctx.loc2pos(yystack_[0].location));
1731 ctx.stack_.back()->set(
"interfaces-config", i);
1732 ctx.stack_.push_back(i);
1733 ctx.enter(ctx.INTERFACES_CONFIG);
1735#line 1736 "dhcp4_parser.cc"
1739#line 923 "dhcp4_parser.yy"
1742 ctx.stack_.pop_back();
1745#line 1746 "dhcp4_parser.cc"
1749#line 931 "dhcp4_parser.yy"
1751 ctx.warnAboutExtraCommas(yystack_[0].location);
1753#line 1754 "dhcp4_parser.cc"
1757#line 948 "dhcp4_parser.yy"
1761 ctx.stack_.push_back(m);
1763#line 1764 "dhcp4_parser.cc"
1767#line 952 "dhcp4_parser.yy"
1772#line 1773 "dhcp4_parser.cc"
1776#line 957 "dhcp4_parser.yy"
1778 ctx.unique(
"interfaces", ctx.loc2pos(yystack_[0].location));
1780 ctx.stack_.back()->set(
"interfaces", l);
1781 ctx.stack_.push_back(l);
1782 ctx.enter(ctx.NO_KEYWORD);
1784#line 1785 "dhcp4_parser.cc"
1788#line 963 "dhcp4_parser.yy"
1790 ctx.stack_.pop_back();
1793#line 1794 "dhcp4_parser.cc"
1797#line 968 "dhcp4_parser.yy"
1799 ctx.unique(
"dhcp-socket-type", ctx.loc2pos(yystack_[0].location));
1800 ctx.enter(ctx.DHCP_SOCKET_TYPE);
1802#line 1803 "dhcp4_parser.cc"
1806#line 971 "dhcp4_parser.yy"
1808 ctx.stack_.back()->set(
"dhcp-socket-type", yystack_[0].value.as <
ElementPtr > ());
1811#line 1812 "dhcp4_parser.cc"
1815#line 976 "dhcp4_parser.yy"
1817#line 1818 "dhcp4_parser.cc"
1821#line 977 "dhcp4_parser.yy"
1823#line 1824 "dhcp4_parser.cc"
1827#line 980 "dhcp4_parser.yy"
1829 ctx.unique(
"outbound-interface", ctx.loc2pos(yystack_[0].location));
1830 ctx.enter(ctx.OUTBOUND_INTERFACE);
1832#line 1833 "dhcp4_parser.cc"
1836#line 983 "dhcp4_parser.yy"
1838 ctx.stack_.back()->set(
"outbound-interface", yystack_[0].value.as <
ElementPtr > ());
1841#line 1842 "dhcp4_parser.cc"
1845#line 988 "dhcp4_parser.yy"
1849#line 1850 "dhcp4_parser.cc"
1853#line 990 "dhcp4_parser.yy"
1857#line 1858 "dhcp4_parser.cc"
1861#line 994 "dhcp4_parser.yy"
1863 ctx.unique(
"re-detect", ctx.loc2pos(yystack_[2].location));
1865 ctx.stack_.back()->set(
"re-detect", b);
1867#line 1868 "dhcp4_parser.cc"
1871#line 1000 "dhcp4_parser.yy"
1873 ctx.unique(
"service-sockets-require-all", ctx.loc2pos(yystack_[2].location));
1875 ctx.stack_.back()->set(
"service-sockets-require-all", b);
1877#line 1878 "dhcp4_parser.cc"
1881#line 1006 "dhcp4_parser.yy"
1883 ctx.unique(
"service-sockets-retry-wait-time", ctx.loc2pos(yystack_[2].location));
1884 ElementPtr n(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
1885 ctx.stack_.back()->set(
"service-sockets-retry-wait-time", n);
1887#line 1888 "dhcp4_parser.cc"
1891#line 1012 "dhcp4_parser.yy"
1893 ctx.unique(
"service-sockets-max-retries", ctx.loc2pos(yystack_[2].location));
1894 ElementPtr n(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
1895 ctx.stack_.back()->set(
"service-sockets-max-retries", n);
1897#line 1898 "dhcp4_parser.cc"
1901#line 1018 "dhcp4_parser.yy"
1903 ctx.unique(
"lease-database", ctx.loc2pos(yystack_[0].location));
1905 ctx.stack_.back()->set(
"lease-database", i);
1906 ctx.stack_.push_back(i);
1907 ctx.enter(ctx.LEASE_DATABASE);
1909#line 1910 "dhcp4_parser.cc"
1913#line 1024 "dhcp4_parser.yy"
1916 ctx.require(
"type", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location));
1917 ctx.stack_.pop_back();
1920#line 1921 "dhcp4_parser.cc"
1924#line 1031 "dhcp4_parser.yy"
1926 ctx.unique(
"sanity-checks", ctx.loc2pos(yystack_[0].location));
1928 ctx.stack_.back()->set(
"sanity-checks", m);
1929 ctx.stack_.push_back(m);
1930 ctx.enter(ctx.SANITY_CHECKS);
1932#line 1933 "dhcp4_parser.cc"
1936#line 1037 "dhcp4_parser.yy"
1938 ctx.stack_.pop_back();
1941#line 1942 "dhcp4_parser.cc"
1945#line 1044 "dhcp4_parser.yy"
1947 ctx.warnAboutExtraCommas(yystack_[0].location);
1949#line 1950 "dhcp4_parser.cc"
1953#line 1053 "dhcp4_parser.yy"
1955 ctx.unique(
"lease-checks", ctx.loc2pos(yystack_[0].location));
1956 ctx.enter(ctx.NO_KEYWORD);
1958#line 1959 "dhcp4_parser.cc"
1962#line 1056 "dhcp4_parser.yy"
1965 if ( (
string(yystack_[0].value.as < std::string > ()) ==
"none") ||
1966 (
string(yystack_[0].value.as < std::string > ()) ==
"warn") ||
1967 (
string(yystack_[0].value.as < std::string > ()) ==
"fix") ||
1968 (
string(yystack_[0].value.as < std::string > ()) ==
"fix-del") ||
1969 (
string(yystack_[0].value.as < std::string > ()) ==
"del")) {
1970 ElementPtr user(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
1971 ctx.stack_.back()->set(
"lease-checks", user);
1974 error(yystack_[0].location,
"Unsupported 'lease-checks value: " +
string(yystack_[0].value.as < std::string > ()) +
1975 ", supported values are: none, warn, fix, fix-del, del");
1978#line 1979 "dhcp4_parser.cc"
1982#line 1072 "dhcp4_parser.yy"
1984 ctx.unique(
"extended-info-checks", ctx.loc2pos(yystack_[0].location));
1985 ctx.enter(ctx.NO_KEYWORD);
1987#line 1988 "dhcp4_parser.cc"
1991#line 1075 "dhcp4_parser.yy"
1994 if ( (
string(yystack_[0].value.as < std::string > ()) ==
"none") ||
1995 (
string(yystack_[0].value.as < std::string > ()) ==
"fix") ||
1996 (
string(yystack_[0].value.as < std::string > ()) ==
"strict") ||
1997 (
string(yystack_[0].value.as < std::string > ()) ==
"pedantic")) {
1998 ElementPtr user(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
1999 ctx.stack_.back()->set(
"extended-info-checks", user);
2002 error(yystack_[0].location,
"Unsupported 'extended-info-checks value: " +
string(yystack_[0].value.as < std::string > ()) +
2003 ", supported values are: none, fix, strict, pedantic");
2006#line 2007 "dhcp4_parser.cc"
2010#line 1090 "dhcp4_parser.yy"
2012 ctx.unique(
"hosts-database", ctx.loc2pos(yystack_[0].location));
2014 ctx.stack_.back()->set(
"hosts-database", i);
2015 ctx.stack_.push_back(i);
2016 ctx.enter(ctx.HOSTS_DATABASE);
2018#line 2019 "dhcp4_parser.cc"
2022#line 1096 "dhcp4_parser.yy"
2025 ctx.require(
"type", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location));
2026 ctx.stack_.pop_back();
2029#line 2030 "dhcp4_parser.cc"
2033#line 1103 "dhcp4_parser.yy"
2035 ctx.unique(
"hosts-databases", ctx.loc2pos(yystack_[0].location));
2037 ctx.stack_.back()->set(
"hosts-databases", l);
2038 ctx.stack_.push_back(l);
2039 ctx.enter(ctx.HOSTS_DATABASE);
2041#line 2042 "dhcp4_parser.cc"
2045#line 1109 "dhcp4_parser.yy"
2047 ctx.stack_.pop_back();
2050#line 2051 "dhcp4_parser.cc"
2054#line 1120 "dhcp4_parser.yy"
2056 ctx.warnAboutExtraCommas(yystack_[0].location);
2058#line 2059 "dhcp4_parser.cc"
2062#line 1125 "dhcp4_parser.yy"
2065 ctx.stack_.back()->add(m);
2066 ctx.stack_.push_back(m);
2068#line 2069 "dhcp4_parser.cc"
2072#line 1129 "dhcp4_parser.yy"
2075 ctx.require(
"type", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
2076 ctx.stack_.pop_back();
2078#line 2079 "dhcp4_parser.cc"
2082#line 1137 "dhcp4_parser.yy"
2084 ctx.warnAboutExtraCommas(yystack_[0].location);
2086#line 2087 "dhcp4_parser.cc"
2090#line 1169 "dhcp4_parser.yy"
2092 ctx.unique(
"type", ctx.loc2pos(yystack_[0].location));
2093 ctx.enter(ctx.NO_KEYWORD);
2095#line 2096 "dhcp4_parser.cc"
2099#line 1172 "dhcp4_parser.yy"
2101 ElementPtr db_type(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
2102 ctx.stack_.back()->set(
"type", db_type);
2105#line 2106 "dhcp4_parser.cc"
2109#line 1178 "dhcp4_parser.yy"
2111 ctx.unique(
"user", ctx.loc2pos(yystack_[0].location));
2112 ctx.enter(ctx.NO_KEYWORD);
2114#line 2115 "dhcp4_parser.cc"
2118#line 1181 "dhcp4_parser.yy"
2120 ElementPtr user(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
2121 ctx.stack_.back()->set(
"user", user);
2124#line 2125 "dhcp4_parser.cc"
2128#line 1187 "dhcp4_parser.yy"
2130 ctx.unique(
"password", ctx.loc2pos(yystack_[0].location));
2131 ctx.enter(ctx.NO_KEYWORD);
2133#line 2134 "dhcp4_parser.cc"
2137#line 1190 "dhcp4_parser.yy"
2139 ElementPtr pwd(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
2140 ctx.stack_.back()->set(
"password", pwd);
2143#line 2144 "dhcp4_parser.cc"
2147#line 1196 "dhcp4_parser.yy"
2149 ctx.unique(
"password-file", ctx.loc2pos(yystack_[0].location));
2150 ctx.enter(ctx.NO_KEYWORD);
2152#line 2153 "dhcp4_parser.cc"
2156#line 1199 "dhcp4_parser.yy"
2158 ElementPtr password(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
2159 ctx.stack_.back()->set(
"password-file", password);
2162#line 2163 "dhcp4_parser.cc"
2166#line 1205 "dhcp4_parser.yy"
2168 ctx.unique(
"host", ctx.loc2pos(yystack_[0].location));
2169 ctx.enter(ctx.NO_KEYWORD);
2171#line 2172 "dhcp4_parser.cc"
2175#line 1208 "dhcp4_parser.yy"
2178 ctx.stack_.back()->set(
"host", h);
2181#line 2182 "dhcp4_parser.cc"
2185#line 1214 "dhcp4_parser.yy"
2187 ctx.unique(
"port", ctx.loc2pos(yystack_[2].location));
2188 ElementPtr p(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
2189 ctx.stack_.back()->set(
"port", p);
2191#line 2192 "dhcp4_parser.cc"
2195#line 1220 "dhcp4_parser.yy"
2197 ctx.unique(
"name", ctx.loc2pos(yystack_[0].location));
2198 ctx.enter(ctx.NO_KEYWORD);
2200#line 2201 "dhcp4_parser.cc"
2204#line 1223 "dhcp4_parser.yy"
2206 ElementPtr name(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
2207 ctx.stack_.back()->set(
"name", name);
2210#line 2211 "dhcp4_parser.cc"
2214#line 1229 "dhcp4_parser.yy"
2216 ctx.unique(
"persist", ctx.loc2pos(yystack_[2].location));
2218 ctx.stack_.back()->set(
"persist", n);
2220#line 2221 "dhcp4_parser.cc"
2224#line 1235 "dhcp4_parser.yy"
2226 ctx.unique(
"lfc-interval", ctx.loc2pos(yystack_[2].location));
2227 ElementPtr n(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
2228 ctx.stack_.back()->set(
"lfc-interval", n);
2230#line 2231 "dhcp4_parser.cc"
2234#line 1241 "dhcp4_parser.yy"
2236 ctx.unique(
"readonly", ctx.loc2pos(yystack_[2].location));
2238 ctx.stack_.back()->set(
"readonly", n);
2240#line 2241 "dhcp4_parser.cc"
2244#line 1247 "dhcp4_parser.yy"
2246 ctx.unique(
"connect-timeout", ctx.loc2pos(yystack_[2].location));
2247 ElementPtr n(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
2248 ctx.stack_.back()->set(
"connect-timeout", n);
2250#line 2251 "dhcp4_parser.cc"
2254#line 1253 "dhcp4_parser.yy"
2256 ctx.unique(
"read-timeout", ctx.loc2pos(yystack_[2].location));
2257 ElementPtr n(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
2258 ctx.stack_.back()->set(
"read-timeout", n);
2260#line 2261 "dhcp4_parser.cc"
2264#line 1259 "dhcp4_parser.yy"
2266 ctx.unique(
"write-timeout", ctx.loc2pos(yystack_[2].location));
2267 ElementPtr n(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
2268 ctx.stack_.back()->set(
"write-timeout", n);
2270#line 2271 "dhcp4_parser.cc"
2274#line 1265 "dhcp4_parser.yy"
2276 ctx.unique(
"tcp-user-timeout", ctx.loc2pos(yystack_[2].location));
2277 ElementPtr n(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
2278 ctx.stack_.back()->set(
"tcp-user-timeout", n);
2280#line 2281 "dhcp4_parser.cc"
2284#line 1271 "dhcp4_parser.yy"
2286 ctx.unique(
"max-reconnect-tries", ctx.loc2pos(yystack_[2].location));
2287 ElementPtr n(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
2288 ctx.stack_.back()->set(
"max-reconnect-tries", n);
2290#line 2291 "dhcp4_parser.cc"
2294#line 1277 "dhcp4_parser.yy"
2296 ctx.unique(
"reconnect-wait-time", ctx.loc2pos(yystack_[2].location));
2297 ElementPtr n(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
2298 ctx.stack_.back()->set(
"reconnect-wait-time", n);
2300#line 2301 "dhcp4_parser.cc"
2304#line 1283 "dhcp4_parser.yy"
2306 ctx.unique(
"on-fail", ctx.loc2pos(yystack_[0].location));
2307 ctx.enter(ctx.DATABASE_ON_FAIL);
2309#line 2310 "dhcp4_parser.cc"
2313#line 1286 "dhcp4_parser.yy"
2315 ctx.stack_.back()->set(
"on-fail", yystack_[0].value.as <
ElementPtr > ());
2318#line 2319 "dhcp4_parser.cc"
2322#line 1291 "dhcp4_parser.yy"
2324#line 2325 "dhcp4_parser.cc"
2328#line 1292 "dhcp4_parser.yy"
2330#line 2331 "dhcp4_parser.cc"
2334#line 1293 "dhcp4_parser.yy"
2336#line 2337 "dhcp4_parser.cc"
2340#line 1296 "dhcp4_parser.yy"
2342 ctx.unique(
"retry-on-startup", ctx.loc2pos(yystack_[2].location));
2344 ctx.stack_.back()->set(
"retry-on-startup", n);
2346#line 2347 "dhcp4_parser.cc"
2350#line 1302 "dhcp4_parser.yy"
2352 ctx.unique(
"max-row-errors", ctx.loc2pos(yystack_[2].location));
2353 ElementPtr n(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
2354 ctx.stack_.back()->set(
"max-row-errors", n);
2356#line 2357 "dhcp4_parser.cc"
2360#line 1308 "dhcp4_parser.yy"
2362 ctx.unique(
"trust-anchor", ctx.loc2pos(yystack_[0].location));
2363 ctx.enter(ctx.NO_KEYWORD);
2365#line 2366 "dhcp4_parser.cc"
2369#line 1311 "dhcp4_parser.yy"
2372 ctx.stack_.back()->set(
"trust-anchor", ca);
2375#line 2376 "dhcp4_parser.cc"
2379#line 1317 "dhcp4_parser.yy"
2381 ctx.unique(
"cert-file", ctx.loc2pos(yystack_[0].location));
2382 ctx.enter(ctx.NO_KEYWORD);
2384#line 2385 "dhcp4_parser.cc"
2388#line 1320 "dhcp4_parser.yy"
2390 ElementPtr cert(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
2391 ctx.stack_.back()->set(
"cert-file", cert);
2394#line 2395 "dhcp4_parser.cc"
2398#line 1326 "dhcp4_parser.yy"
2400 ctx.unique(
"key-file", ctx.loc2pos(yystack_[0].location));
2401 ctx.enter(ctx.NO_KEYWORD);
2403#line 2404 "dhcp4_parser.cc"
2407#line 1329 "dhcp4_parser.yy"
2409 ElementPtr key(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
2410 ctx.stack_.back()->set(
"key-file", key);
2413#line 2414 "dhcp4_parser.cc"
2417#line 1335 "dhcp4_parser.yy"
2419 ctx.unique(
"ssl-mode", ctx.loc2pos(yystack_[0].location));
2420 ctx.enter(ctx.SSL_MODE);
2422#line 2423 "dhcp4_parser.cc"
2426#line 1338 "dhcp4_parser.yy"
2428 ctx.stack_.back()->set(
"ssl-mode", yystack_[0].value.as <
ElementPtr > ());
2431#line 2432 "dhcp4_parser.cc"
2435#line 1343 "dhcp4_parser.yy"
2439#line 2440 "dhcp4_parser.cc"
2443#line 1346 "dhcp4_parser.yy"
2447#line 2448 "dhcp4_parser.cc"
2451#line 1349 "dhcp4_parser.yy"
2455#line 2456 "dhcp4_parser.cc"
2459#line 1352 "dhcp4_parser.yy"
2463#line 2464 "dhcp4_parser.cc"
2467#line 1355 "dhcp4_parser.yy"
2471#line 2472 "dhcp4_parser.cc"
2475#line 1360 "dhcp4_parser.yy"
2477 ctx.unique(
"cipher-list", ctx.loc2pos(yystack_[0].location));
2478 ctx.enter(ctx.NO_KEYWORD);
2480#line 2481 "dhcp4_parser.cc"
2484#line 1363 "dhcp4_parser.yy"
2487 ctx.stack_.back()->set(
"cipher-list", cl);
2490#line 2491 "dhcp4_parser.cc"
2494#line 1369 "dhcp4_parser.yy"
2496 ctx.unique(
"host-reservation-identifiers", ctx.loc2pos(yystack_[0].location));
2498 ctx.stack_.back()->set(
"host-reservation-identifiers", l);
2499 ctx.stack_.push_back(l);
2500 ctx.enter(ctx.HOST_RESERVATION_IDENTIFIERS);
2502#line 2503 "dhcp4_parser.cc"
2506#line 1375 "dhcp4_parser.yy"
2508 ctx.stack_.pop_back();
2511#line 2512 "dhcp4_parser.cc"
2515#line 1382 "dhcp4_parser.yy"
2517 ctx.warnAboutExtraCommas(yystack_[0].location);
2519#line 2520 "dhcp4_parser.cc"
2523#line 1394 "dhcp4_parser.yy"
2526 ctx.stack_.back()->add(duid);
2528#line 2529 "dhcp4_parser.cc"
2532#line 1399 "dhcp4_parser.yy"
2535 ctx.stack_.back()->add(hwaddr);
2537#line 2538 "dhcp4_parser.cc"
2541#line 1404 "dhcp4_parser.yy"
2544 ctx.stack_.back()->add(circuit);
2546#line 2547 "dhcp4_parser.cc"
2550#line 1409 "dhcp4_parser.yy"
2553 ctx.stack_.back()->add(client);
2555#line 2556 "dhcp4_parser.cc"
2559#line 1414 "dhcp4_parser.yy"
2562 ctx.stack_.back()->add(
flex_id);
2564#line 2565 "dhcp4_parser.cc"
2568#line 1421 "dhcp4_parser.yy"
2570 ctx.unique(
"multi-threading", ctx.loc2pos(yystack_[0].location));
2572 ctx.stack_.back()->set(
"multi-threading", mt);
2573 ctx.stack_.push_back(mt);
2574 ctx.enter(ctx.DHCP_MULTI_THREADING);
2576#line 2577 "dhcp4_parser.cc"
2580#line 1427 "dhcp4_parser.yy"
2583 ctx.require(
"enable-multi-threading", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location));
2584 ctx.stack_.pop_back();
2587#line 2588 "dhcp4_parser.cc"
2591#line 1436 "dhcp4_parser.yy"
2593 ctx.warnAboutExtraCommas(yystack_[0].location);
2595#line 2596 "dhcp4_parser.cc"
2599#line 1449 "dhcp4_parser.yy"
2601 ctx.unique(
"enable-multi-threading", ctx.loc2pos(yystack_[2].location));
2603 ctx.stack_.back()->set(
"enable-multi-threading", b);
2605#line 2606 "dhcp4_parser.cc"
2609#line 1455 "dhcp4_parser.yy"
2611 ctx.unique(
"thread-pool-size", ctx.loc2pos(yystack_[2].location));
2612 ElementPtr prf(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
2613 ctx.stack_.back()->set(
"thread-pool-size", prf);
2615#line 2616 "dhcp4_parser.cc"
2619#line 1461 "dhcp4_parser.yy"
2621 ctx.unique(
"packet-queue-size", ctx.loc2pos(yystack_[2].location));
2622 ElementPtr prf(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
2623 ctx.stack_.back()->set(
"packet-queue-size", prf);
2625#line 2626 "dhcp4_parser.cc"
2629#line 1467 "dhcp4_parser.yy"
2631 ctx.unique(
"hooks-libraries", ctx.loc2pos(yystack_[0].location));
2633 ctx.stack_.back()->set(
"hooks-libraries", l);
2634 ctx.stack_.push_back(l);
2635 ctx.enter(ctx.HOOKS_LIBRARIES);
2637#line 2638 "dhcp4_parser.cc"
2641#line 1473 "dhcp4_parser.yy"
2643 ctx.stack_.pop_back();
2646#line 2647 "dhcp4_parser.cc"
2650#line 1484 "dhcp4_parser.yy"
2652 ctx.warnAboutExtraCommas(yystack_[0].location);
2654#line 2655 "dhcp4_parser.cc"
2658#line 1489 "dhcp4_parser.yy"
2661 ctx.stack_.back()->add(m);
2662 ctx.stack_.push_back(m);
2664#line 2665 "dhcp4_parser.cc"
2668#line 1493 "dhcp4_parser.yy"
2671 ctx.require(
"library", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
2672 ctx.stack_.pop_back();
2674#line 2675 "dhcp4_parser.cc"
2678#line 1499 "dhcp4_parser.yy"
2682 ctx.stack_.push_back(m);
2684#line 2685 "dhcp4_parser.cc"
2688#line 1503 "dhcp4_parser.yy"
2691 ctx.require(
"library", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
2694#line 2695 "dhcp4_parser.cc"
2698#line 1511 "dhcp4_parser.yy"
2700 ctx.warnAboutExtraCommas(yystack_[0].location);
2702#line 2703 "dhcp4_parser.cc"
2706#line 1521 "dhcp4_parser.yy"
2708 ctx.unique(
"library", ctx.loc2pos(yystack_[0].location));
2709 ctx.enter(ctx.NO_KEYWORD);
2711#line 2712 "dhcp4_parser.cc"
2715#line 1524 "dhcp4_parser.yy"
2717 ElementPtr lib(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
2718 ctx.stack_.back()->set(
"library", lib);
2721#line 2722 "dhcp4_parser.cc"
2725#line 1530 "dhcp4_parser.yy"
2727 ctx.unique(
"parameters", ctx.loc2pos(yystack_[0].location));
2728 ctx.enter(ctx.NO_KEYWORD);
2730#line 2731 "dhcp4_parser.cc"
2734#line 1533 "dhcp4_parser.yy"
2736 ctx.stack_.back()->set(
"parameters", yystack_[0].value.as <
ElementPtr > ());
2739#line 2740 "dhcp4_parser.cc"
2743#line 1539 "dhcp4_parser.yy"
2745 ctx.unique(
"expired-leases-processing", ctx.loc2pos(yystack_[0].location));
2747 ctx.stack_.back()->set(
"expired-leases-processing", m);
2748 ctx.stack_.push_back(m);
2749 ctx.enter(ctx.EXPIRED_LEASES_PROCESSING);
2751#line 2752 "dhcp4_parser.cc"
2755#line 1545 "dhcp4_parser.yy"
2758 ctx.stack_.pop_back();
2761#line 2762 "dhcp4_parser.cc"
2765#line 1553 "dhcp4_parser.yy"
2767 ctx.warnAboutExtraCommas(yystack_[0].location);
2769#line 2770 "dhcp4_parser.cc"
2773#line 1566 "dhcp4_parser.yy"
2775 ctx.unique(
"reclaim-timer-wait-time", ctx.loc2pos(yystack_[2].location));
2776 ElementPtr value(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
2777 ctx.stack_.back()->set(
"reclaim-timer-wait-time", value);
2779#line 2780 "dhcp4_parser.cc"
2783#line 1572 "dhcp4_parser.yy"
2785 ctx.unique(
"flush-reclaimed-timer-wait-time", ctx.loc2pos(yystack_[2].location));
2786 ElementPtr value(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
2787 ctx.stack_.back()->set(
"flush-reclaimed-timer-wait-time", value);
2789#line 2790 "dhcp4_parser.cc"
2793#line 1578 "dhcp4_parser.yy"
2795 ctx.unique(
"hold-reclaimed-time", ctx.loc2pos(yystack_[2].location));
2796 ElementPtr value(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
2797 ctx.stack_.back()->set(
"hold-reclaimed-time", value);
2799#line 2800 "dhcp4_parser.cc"
2803#line 1584 "dhcp4_parser.yy"
2805 ctx.unique(
"max-reclaim-leases", ctx.loc2pos(yystack_[2].location));
2806 ElementPtr value(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
2807 ctx.stack_.back()->set(
"max-reclaim-leases", value);
2809#line 2810 "dhcp4_parser.cc"
2813#line 1590 "dhcp4_parser.yy"
2815 ctx.unique(
"max-reclaim-time", ctx.loc2pos(yystack_[2].location));
2816 ElementPtr value(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
2817 ctx.stack_.back()->set(
"max-reclaim-time", value);
2819#line 2820 "dhcp4_parser.cc"
2823#line 1596 "dhcp4_parser.yy"
2825 ctx.unique(
"unwarned-reclaim-cycles", ctx.loc2pos(yystack_[2].location));
2826 ElementPtr value(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
2827 ctx.stack_.back()->set(
"unwarned-reclaim-cycles", value);
2829#line 2830 "dhcp4_parser.cc"
2833#line 1605 "dhcp4_parser.yy"
2835 ctx.unique(
"subnet4", ctx.loc2pos(yystack_[0].location));
2837 ctx.stack_.back()->set(
"subnet4", l);
2838 ctx.stack_.push_back(l);
2839 ctx.enter(ctx.SUBNET4);
2841#line 2842 "dhcp4_parser.cc"
2845#line 1611 "dhcp4_parser.yy"
2847 ctx.stack_.pop_back();
2850#line 2851 "dhcp4_parser.cc"
2854#line 1625 "dhcp4_parser.yy"
2856 ctx.warnAboutExtraCommas(yystack_[0].location);
2858#line 2859 "dhcp4_parser.cc"
2862#line 1634 "dhcp4_parser.yy"
2865 ctx.stack_.back()->add(m);
2866 ctx.stack_.push_back(m);
2868#line 2869 "dhcp4_parser.cc"
2872#line 1638 "dhcp4_parser.yy"
2891 ctx.require(
"subnet", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
2892 ctx.stack_.pop_back();
2894#line 2895 "dhcp4_parser.cc"
2898#line 1660 "dhcp4_parser.yy"
2902 ctx.stack_.push_back(m);
2904#line 2905 "dhcp4_parser.cc"
2908#line 1664 "dhcp4_parser.yy"
2911 ctx.require(
"subnet", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
2914#line 2915 "dhcp4_parser.cc"
2918#line 1673 "dhcp4_parser.yy"
2920 ctx.warnAboutExtraCommas(yystack_[0].location);
2922#line 2923 "dhcp4_parser.cc"
2926#line 1736 "dhcp4_parser.yy"
2928 ctx.unique(
"subnet", ctx.loc2pos(yystack_[0].location));
2929 ctx.enter(ctx.NO_KEYWORD);
2931#line 2932 "dhcp4_parser.cc"
2935#line 1739 "dhcp4_parser.yy"
2937 ElementPtr subnet(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
2938 ctx.stack_.back()->set(
"subnet", subnet);
2941#line 2942 "dhcp4_parser.cc"
2945#line 1745 "dhcp4_parser.yy"
2947 ctx.unique(
"4o6-interface", ctx.loc2pos(yystack_[0].location));
2948 ctx.enter(ctx.NO_KEYWORD);
2950#line 2951 "dhcp4_parser.cc"
2954#line 1748 "dhcp4_parser.yy"
2956 ElementPtr iface(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
2957 ctx.stack_.back()->set(
"4o6-interface", iface);
2960#line 2961 "dhcp4_parser.cc"
2964#line 1754 "dhcp4_parser.yy"
2966 ctx.unique(
"4o6-interface-id", ctx.loc2pos(yystack_[0].location));
2967 ctx.enter(ctx.NO_KEYWORD);
2969#line 2970 "dhcp4_parser.cc"
2973#line 1757 "dhcp4_parser.yy"
2975 ElementPtr iface(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
2976 ctx.stack_.back()->set(
"4o6-interface-id", iface);
2979#line 2980 "dhcp4_parser.cc"
2983#line 1763 "dhcp4_parser.yy"
2985 ctx.unique(
"4o6-subnet", ctx.loc2pos(yystack_[0].location));
2986 ctx.enter(ctx.NO_KEYWORD);
2988#line 2989 "dhcp4_parser.cc"
2992#line 1766 "dhcp4_parser.yy"
2994 ElementPtr iface(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
2995 ctx.stack_.back()->set(
"4o6-subnet", iface);
2998#line 2999 "dhcp4_parser.cc"
3002#line 1772 "dhcp4_parser.yy"
3004 ctx.unique(
"interface", ctx.loc2pos(yystack_[0].location));
3005 ctx.enter(ctx.NO_KEYWORD);
3007#line 3008 "dhcp4_parser.cc"
3011#line 1775 "dhcp4_parser.yy"
3013 ElementPtr iface(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
3014 ctx.stack_.back()->set(
"interface", iface);
3017#line 3018 "dhcp4_parser.cc"
3021#line 1781 "dhcp4_parser.yy"
3023 ctx.unique(
"client-class", ctx.loc2pos(yystack_[0].location));
3024 ctx.enter(ctx.NO_KEYWORD);
3026#line 3027 "dhcp4_parser.cc"
3030#line 1784 "dhcp4_parser.yy"
3032 ElementPtr cls(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
3033 ctx.stack_.back()->set(
"client-class", cls);
3036#line 3037 "dhcp4_parser.cc"
3040#line 1791 "dhcp4_parser.yy"
3042 ctx.unique(
"client-classes", ctx.loc2pos(yystack_[0].location));
3044 ctx.stack_.back()->set(
"client-classes", c);
3045 ctx.stack_.push_back(c);
3046 ctx.enter(ctx.NO_KEYWORD);
3048#line 3049 "dhcp4_parser.cc"
3052#line 1797 "dhcp4_parser.yy"
3054 ctx.stack_.pop_back();
3057#line 3058 "dhcp4_parser.cc"
3061#line 1803 "dhcp4_parser.yy"
3063 ctx.unique(
"require-client-classes", ctx.loc2pos(yystack_[0].location));
3065 ctx.stack_.back()->set(
"require-client-classes", c);
3066 ctx.stack_.push_back(c);
3067 ctx.enter(ctx.NO_KEYWORD);
3069#line 3070 "dhcp4_parser.cc"
3073#line 1809 "dhcp4_parser.yy"
3075 ctx.stack_.pop_back();
3078#line 3079 "dhcp4_parser.cc"
3082#line 1814 "dhcp4_parser.yy"
3084 ctx.unique(
"evaluate-additional-classes", ctx.loc2pos(yystack_[0].location));
3086 ctx.stack_.back()->set(
"evaluate-additional-classes", c);
3087 ctx.stack_.push_back(c);
3088 ctx.enter(ctx.NO_KEYWORD);
3090#line 3091 "dhcp4_parser.cc"
3094#line 1820 "dhcp4_parser.yy"
3096 ctx.stack_.pop_back();
3099#line 3100 "dhcp4_parser.cc"
3103#line 1825 "dhcp4_parser.yy"
3105 ctx.unique(
"reservations-global", ctx.loc2pos(yystack_[2].location));
3107 ctx.stack_.back()->set(
"reservations-global", b);
3109#line 3110 "dhcp4_parser.cc"
3113#line 1831 "dhcp4_parser.yy"
3115 ctx.unique(
"reservations-in-subnet", ctx.loc2pos(yystack_[2].location));
3117 ctx.stack_.back()->set(
"reservations-in-subnet", b);
3119#line 3120 "dhcp4_parser.cc"
3123#line 1837 "dhcp4_parser.yy"
3125 ctx.unique(
"reservations-out-of-pool", ctx.loc2pos(yystack_[2].location));
3127 ctx.stack_.back()->set(
"reservations-out-of-pool", b);
3129#line 3130 "dhcp4_parser.cc"
3133#line 1843 "dhcp4_parser.yy"
3135 ctx.unique(
"id", ctx.loc2pos(yystack_[2].location));
3136 ElementPtr id(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
3137 ctx.stack_.back()->set(
"id",
id);
3139#line 3140 "dhcp4_parser.cc"
3143#line 1851 "dhcp4_parser.yy"
3145 ctx.unique(
"shared-networks", ctx.loc2pos(yystack_[0].location));
3147 ctx.stack_.back()->set(
"shared-networks", l);
3148 ctx.stack_.push_back(l);
3149 ctx.enter(ctx.SHARED_NETWORK);
3151#line 3152 "dhcp4_parser.cc"
3155#line 1857 "dhcp4_parser.yy"
3157 ctx.stack_.pop_back();
3160#line 3161 "dhcp4_parser.cc"
3164#line 1870 "dhcp4_parser.yy"
3166 ctx.warnAboutExtraCommas(yystack_[0].location);
3168#line 3169 "dhcp4_parser.cc"
3172#line 1875 "dhcp4_parser.yy"
3175 ctx.stack_.back()->add(m);
3176 ctx.stack_.push_back(m);
3178#line 3179 "dhcp4_parser.cc"
3182#line 1879 "dhcp4_parser.yy"
3184 ctx.stack_.pop_back();
3186#line 3187 "dhcp4_parser.cc"
3190#line 1885 "dhcp4_parser.yy"
3192 ctx.warnAboutExtraCommas(yystack_[0].location);
3194#line 3195 "dhcp4_parser.cc"
3198#line 1946 "dhcp4_parser.yy"
3200 ctx.unique(
"option-def", ctx.loc2pos(yystack_[0].location));
3202 ctx.stack_.back()->set(
"option-def", l);
3203 ctx.stack_.push_back(l);
3204 ctx.enter(ctx.OPTION_DEF);
3206#line 3207 "dhcp4_parser.cc"
3210#line 1952 "dhcp4_parser.yy"
3212 ctx.stack_.pop_back();
3215#line 3216 "dhcp4_parser.cc"
3219#line 1960 "dhcp4_parser.yy"
3222 ctx.stack_.push_back(m);
3224#line 3225 "dhcp4_parser.cc"
3228#line 1963 "dhcp4_parser.yy"
3232#line 3233 "dhcp4_parser.cc"
3236#line 1975 "dhcp4_parser.yy"
3238 ctx.warnAboutExtraCommas(yystack_[0].location);
3240#line 3241 "dhcp4_parser.cc"
3244#line 1982 "dhcp4_parser.yy"
3247 ctx.stack_.back()->add(m);
3248 ctx.stack_.push_back(m);
3250#line 3251 "dhcp4_parser.cc"
3254#line 1986 "dhcp4_parser.yy"
3257 ctx.require(
"name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
3258 ctx.require(
"code", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
3259 ctx.require(
"type", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
3260 ctx.stack_.pop_back();
3262#line 3263 "dhcp4_parser.cc"
3266#line 1997 "dhcp4_parser.yy"
3270 ctx.stack_.push_back(m);
3272#line 3273 "dhcp4_parser.cc"
3276#line 2001 "dhcp4_parser.yy"
3279 ctx.require(
"name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
3280 ctx.require(
"code", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
3281 ctx.require(
"type", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
3284#line 3285 "dhcp4_parser.cc"
3288#line 2017 "dhcp4_parser.yy"
3290 ctx.warnAboutExtraCommas(yystack_[0].location);
3292#line 3293 "dhcp4_parser.cc"
3296#line 2036 "dhcp4_parser.yy"
3298 ctx.unique(
"code", ctx.loc2pos(yystack_[2].location));
3299 ElementPtr code(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
3300 ctx.stack_.back()->set(
"code", code);
3302#line 3303 "dhcp4_parser.cc"
3306#line 2044 "dhcp4_parser.yy"
3308 ctx.unique(
"type", ctx.loc2pos(yystack_[0].location));
3309 ctx.enter(ctx.NO_KEYWORD);
3311#line 3312 "dhcp4_parser.cc"
3315#line 2047 "dhcp4_parser.yy"
3317 ElementPtr prf(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
3318 ctx.stack_.back()->set(
"type", prf);
3321#line 3322 "dhcp4_parser.cc"
3325#line 2053 "dhcp4_parser.yy"
3327 ctx.unique(
"record-types", ctx.loc2pos(yystack_[0].location));
3328 ctx.enter(ctx.NO_KEYWORD);
3330#line 3331 "dhcp4_parser.cc"
3334#line 2056 "dhcp4_parser.yy"
3336 ElementPtr rtypes(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
3337 ctx.stack_.back()->set(
"record-types", rtypes);
3340#line 3341 "dhcp4_parser.cc"
3344#line 2062 "dhcp4_parser.yy"
3346 ctx.unique(
"space", ctx.loc2pos(yystack_[0].location));
3347 ctx.enter(ctx.NO_KEYWORD);
3349#line 3350 "dhcp4_parser.cc"
3353#line 2065 "dhcp4_parser.yy"
3355 ElementPtr space(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
3356 ctx.stack_.back()->set(
"space", space);
3359#line 3360 "dhcp4_parser.cc"
3363#line 2073 "dhcp4_parser.yy"
3365 ctx.unique(
"encapsulate", ctx.loc2pos(yystack_[0].location));
3366 ctx.enter(ctx.NO_KEYWORD);
3368#line 3369 "dhcp4_parser.cc"
3372#line 2076 "dhcp4_parser.yy"
3374 ElementPtr encap(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
3375 ctx.stack_.back()->set(
"encapsulate", encap);
3378#line 3379 "dhcp4_parser.cc"
3382#line 2082 "dhcp4_parser.yy"
3384 ctx.unique(
"array", ctx.loc2pos(yystack_[2].location));
3385 ElementPtr array(
new BoolElement(yystack_[0].value.as <
bool > (), ctx.loc2pos(yystack_[0].location)));
3386 ctx.stack_.back()->set(
"array", array);
3388#line 3389 "dhcp4_parser.cc"
3392#line 2092 "dhcp4_parser.yy"
3394 ctx.unique(
"option-data", ctx.loc2pos(yystack_[0].location));
3396 ctx.stack_.back()->set(
"option-data", l);
3397 ctx.stack_.push_back(l);
3398 ctx.enter(ctx.OPTION_DATA);
3400#line 3401 "dhcp4_parser.cc"
3404#line 2098 "dhcp4_parser.yy"
3406 ctx.stack_.pop_back();
3409#line 3410 "dhcp4_parser.cc"
3413#line 2113 "dhcp4_parser.yy"
3415 ctx.warnAboutExtraCommas(yystack_[0].location);
3417#line 3418 "dhcp4_parser.cc"
3421#line 2120 "dhcp4_parser.yy"
3424 ctx.stack_.back()->add(m);
3425 ctx.stack_.push_back(m);
3427#line 3428 "dhcp4_parser.cc"
3431#line 2124 "dhcp4_parser.yy"
3434 ctx.stack_.pop_back();
3436#line 3437 "dhcp4_parser.cc"
3440#line 2132 "dhcp4_parser.yy"
3444 ctx.stack_.push_back(m);
3446#line 3447 "dhcp4_parser.cc"
3450#line 2136 "dhcp4_parser.yy"
3455#line 3456 "dhcp4_parser.cc"
3459#line 2152 "dhcp4_parser.yy"
3461 ctx.warnAboutExtraCommas(yystack_[0].location);
3463#line 3464 "dhcp4_parser.cc"
3467#line 2174 "dhcp4_parser.yy"
3469 ctx.unique(
"data", ctx.loc2pos(yystack_[0].location));
3470 ctx.enter(ctx.NO_KEYWORD);
3472#line 3473 "dhcp4_parser.cc"
3476#line 2177 "dhcp4_parser.yy"
3479 ctx.stack_.back()->set(
"data",
data);
3482#line 3483 "dhcp4_parser.cc"
3486#line 2187 "dhcp4_parser.yy"
3488 ctx.unique(
"csv-format", ctx.loc2pos(yystack_[2].location));
3489 ElementPtr csv(
new BoolElement(yystack_[0].value.as <
bool > (), ctx.loc2pos(yystack_[0].location)));
3490 ctx.stack_.back()->set(
"csv-format", csv);
3492#line 3493 "dhcp4_parser.cc"
3496#line 2193 "dhcp4_parser.yy"
3498 ctx.unique(
"always-send", ctx.loc2pos(yystack_[2].location));
3499 ElementPtr persist(
new BoolElement(yystack_[0].value.as <
bool > (), ctx.loc2pos(yystack_[0].location)));
3500 ctx.stack_.back()->set(
"always-send", persist);
3502#line 3503 "dhcp4_parser.cc"
3506#line 2199 "dhcp4_parser.yy"
3508 ctx.unique(
"never-send", ctx.loc2pos(yystack_[2].location));
3509 ElementPtr cancel(
new BoolElement(yystack_[0].value.as <
bool > (), ctx.loc2pos(yystack_[0].location)));
3510 ctx.stack_.back()->set(
"never-send", cancel);
3512#line 3513 "dhcp4_parser.cc"
3516#line 2205 "dhcp4_parser.yy"
3518 ctx.unique(
"client-classes", ctx.loc2pos(yystack_[0].location));
3520 ctx.stack_.back()->set(
"client-classes", c);
3521 ctx.stack_.push_back(c);
3522 ctx.enter(ctx.NO_KEYWORD);
3524#line 3525 "dhcp4_parser.cc"
3528#line 2211 "dhcp4_parser.yy"
3530 ctx.stack_.pop_back();
3533#line 3534 "dhcp4_parser.cc"
3537#line 2219 "dhcp4_parser.yy"
3539 ctx.unique(
"pools", ctx.loc2pos(yystack_[0].location));
3541 ctx.stack_.back()->set(
"pools", l);
3542 ctx.stack_.push_back(l);
3543 ctx.enter(ctx.POOLS);
3545#line 3546 "dhcp4_parser.cc"
3549#line 2225 "dhcp4_parser.yy"
3551 ctx.stack_.pop_back();
3554#line 3555 "dhcp4_parser.cc"
3558#line 2238 "dhcp4_parser.yy"
3560 ctx.warnAboutExtraCommas(yystack_[0].location);
3562#line 3563 "dhcp4_parser.cc"
3566#line 2243 "dhcp4_parser.yy"
3569 ctx.stack_.back()->add(m);
3570 ctx.stack_.push_back(m);
3572#line 3573 "dhcp4_parser.cc"
3576#line 2247 "dhcp4_parser.yy"
3579 ctx.require(
"pool", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
3580 ctx.stack_.pop_back();
3582#line 3583 "dhcp4_parser.cc"
3586#line 2253 "dhcp4_parser.yy"
3590 ctx.stack_.push_back(m);
3592#line 3593 "dhcp4_parser.cc"
3596#line 2257 "dhcp4_parser.yy"
3599 ctx.require(
"pool", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
3602#line 3603 "dhcp4_parser.cc"
3606#line 2265 "dhcp4_parser.yy"
3608 ctx.warnAboutExtraCommas(yystack_[0].location);
3610#line 3611 "dhcp4_parser.cc"
3614#line 2297 "dhcp4_parser.yy"
3616 ctx.unique(
"pool", ctx.loc2pos(yystack_[0].location));
3617 ctx.enter(ctx.NO_KEYWORD);
3619#line 3620 "dhcp4_parser.cc"
3623#line 2300 "dhcp4_parser.yy"
3625 ElementPtr pool(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
3626 ctx.stack_.back()->set(
"pool", pool);
3629#line 3630 "dhcp4_parser.cc"
3633#line 2306 "dhcp4_parser.yy"
3635 ctx.unique(
"pool-id", ctx.loc2pos(yystack_[2].location));
3636 ElementPtr id(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
3637 ctx.stack_.back()->set(
"pool-id",
id);
3639#line 3640 "dhcp4_parser.cc"
3643#line 2312 "dhcp4_parser.yy"
3645 ctx.enter(ctx.NO_KEYWORD);
3647#line 3648 "dhcp4_parser.cc"
3651#line 2314 "dhcp4_parser.yy"
3660 if ((old->size() != 1) || !old->contains(
"comment")) {
3661 std::stringstream msg;
3662 msg <<
"duplicate user-context entries (previous at "
3663 << old->getPosition().str() <<
")";
3664 error(yystack_[3].location, msg.str());
3667 user_context->set(
"comment", old->get(
"comment"));
3671 parent->set(
"user-context", user_context);
3674#line 3675 "dhcp4_parser.cc"
3678#line 2337 "dhcp4_parser.yy"
3680 ctx.enter(ctx.NO_KEYWORD);
3682#line 3683 "dhcp4_parser.cc"
3686#line 2339 "dhcp4_parser.yy"
3690 ElementPtr comment(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
3691 user_context->set(
"comment", comment);
3697 if (old->contains(
"comment")) {
3698 std::stringstream msg;
3699 msg <<
"duplicate user-context/comment entries (previous at "
3700 << old->getPosition().str() <<
")";
3701 error(yystack_[3].location, msg.str());
3704 merge(user_context, old);
3708 parent->set(
"user-context", user_context);
3711#line 3712 "dhcp4_parser.cc"
3715#line 2367 "dhcp4_parser.yy"
3717 ctx.unique(
"reservations", ctx.loc2pos(yystack_[0].location));
3719 ctx.stack_.back()->set(
"reservations", l);
3720 ctx.stack_.push_back(l);
3721 ctx.enter(ctx.RESERVATIONS);
3723#line 3724 "dhcp4_parser.cc"
3727#line 2373 "dhcp4_parser.yy"
3729 ctx.stack_.pop_back();
3732#line 3733 "dhcp4_parser.cc"
3736#line 2384 "dhcp4_parser.yy"
3738 ctx.warnAboutExtraCommas(yystack_[0].location);
3740#line 3741 "dhcp4_parser.cc"
3744#line 2389 "dhcp4_parser.yy"
3747 ctx.stack_.back()->add(m);
3748 ctx.stack_.push_back(m);
3750#line 3751 "dhcp4_parser.cc"
3754#line 2393 "dhcp4_parser.yy"
3757 ctx.stack_.pop_back();
3759#line 3760 "dhcp4_parser.cc"
3763#line 2398 "dhcp4_parser.yy"
3767 ctx.stack_.push_back(m);
3769#line 3770 "dhcp4_parser.cc"
3773#line 2402 "dhcp4_parser.yy"
3778#line 3779 "dhcp4_parser.cc"
3782#line 2413 "dhcp4_parser.yy"
3784 ctx.warnAboutExtraCommas(yystack_[0].location);
3786#line 3787 "dhcp4_parser.cc"
3790#line 2436 "dhcp4_parser.yy"
3792 ctx.unique(
"next-server", ctx.loc2pos(yystack_[0].location));
3793 ctx.enter(ctx.NO_KEYWORD);
3795#line 3796 "dhcp4_parser.cc"
3799#line 2439 "dhcp4_parser.yy"
3801 ElementPtr next_server(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
3802 ctx.stack_.back()->set(
"next-server", next_server);
3805#line 3806 "dhcp4_parser.cc"
3809#line 2445 "dhcp4_parser.yy"
3811 ctx.unique(
"server-hostname", ctx.loc2pos(yystack_[0].location));
3812 ctx.enter(ctx.NO_KEYWORD);
3814#line 3815 "dhcp4_parser.cc"
3818#line 2448 "dhcp4_parser.yy"
3820 ElementPtr srv(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
3821 ctx.stack_.back()->set(
"server-hostname", srv);
3824#line 3825 "dhcp4_parser.cc"
3828#line 2454 "dhcp4_parser.yy"
3830 ctx.unique(
"boot-file-name", ctx.loc2pos(yystack_[0].location));
3831 ctx.enter(ctx.NO_KEYWORD);
3833#line 3834 "dhcp4_parser.cc"
3837#line 2457 "dhcp4_parser.yy"
3839 ElementPtr bootfile(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
3840 ctx.stack_.back()->set(
"boot-file-name", bootfile);
3843#line 3844 "dhcp4_parser.cc"
3847#line 2463 "dhcp4_parser.yy"
3849 ctx.unique(
"ip-address", ctx.loc2pos(yystack_[0].location));
3850 ctx.enter(ctx.NO_KEYWORD);
3852#line 3853 "dhcp4_parser.cc"
3856#line 2466 "dhcp4_parser.yy"
3858 ElementPtr addr(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
3859 ctx.stack_.back()->set(
"ip-address", addr);
3862#line 3863 "dhcp4_parser.cc"
3866#line 2472 "dhcp4_parser.yy"
3868 ctx.unique(
"duid", ctx.loc2pos(yystack_[0].location));
3869 ctx.enter(ctx.NO_KEYWORD);
3871#line 3872 "dhcp4_parser.cc"
3875#line 2475 "dhcp4_parser.yy"
3878 ctx.stack_.back()->set(
"duid", d);
3881#line 3882 "dhcp4_parser.cc"
3885#line 2481 "dhcp4_parser.yy"
3887 ctx.unique(
"hw-address", ctx.loc2pos(yystack_[0].location));
3888 ctx.enter(ctx.NO_KEYWORD);
3890#line 3891 "dhcp4_parser.cc"
3894#line 2484 "dhcp4_parser.yy"
3897 ctx.stack_.back()->set(
"hw-address", hw);
3900#line 3901 "dhcp4_parser.cc"
3904#line 2490 "dhcp4_parser.yy"
3906 ctx.unique(
"client-id", ctx.loc2pos(yystack_[0].location));
3907 ctx.enter(ctx.NO_KEYWORD);
3909#line 3910 "dhcp4_parser.cc"
3913#line 2493 "dhcp4_parser.yy"
3916 ctx.stack_.back()->set(
"client-id", hw);
3919#line 3920 "dhcp4_parser.cc"
3923#line 2499 "dhcp4_parser.yy"
3925 ctx.unique(
"circuit-id", ctx.loc2pos(yystack_[0].location));
3926 ctx.enter(ctx.NO_KEYWORD);
3928#line 3929 "dhcp4_parser.cc"
3932#line 2502 "dhcp4_parser.yy"
3935 ctx.stack_.back()->set(
"circuit-id", hw);
3938#line 3939 "dhcp4_parser.cc"
3942#line 2508 "dhcp4_parser.yy"
3944 ctx.unique(
"flex-id", ctx.loc2pos(yystack_[0].location));
3945 ctx.enter(ctx.NO_KEYWORD);
3947#line 3948 "dhcp4_parser.cc"
3951#line 2511 "dhcp4_parser.yy"
3954 ctx.stack_.back()->set(
"flex-id", hw);
3957#line 3958 "dhcp4_parser.cc"
3961#line 2517 "dhcp4_parser.yy"
3963 ctx.unique(
"hostname", ctx.loc2pos(yystack_[0].location));
3964 ctx.enter(ctx.NO_KEYWORD);
3966#line 3967 "dhcp4_parser.cc"
3970#line 2520 "dhcp4_parser.yy"
3972 ElementPtr host(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
3973 ctx.stack_.back()->set(
"hostname", host);
3976#line 3977 "dhcp4_parser.cc"
3980#line 2526 "dhcp4_parser.yy"
3982 ctx.unique(
"client-classes", ctx.loc2pos(yystack_[0].location));
3984 ctx.stack_.back()->set(
"client-classes", c);
3985 ctx.stack_.push_back(c);
3986 ctx.enter(ctx.NO_KEYWORD);
3988#line 3989 "dhcp4_parser.cc"
3992#line 2532 "dhcp4_parser.yy"
3994 ctx.stack_.pop_back();
3997#line 3998 "dhcp4_parser.cc"
4001#line 2540 "dhcp4_parser.yy"
4003 ctx.unique(
"relay", ctx.loc2pos(yystack_[0].location));
4005 ctx.stack_.back()->set(
"relay", m);
4006 ctx.stack_.push_back(m);
4007 ctx.enter(ctx.RELAY);
4009#line 4010 "dhcp4_parser.cc"
4013#line 2546 "dhcp4_parser.yy"
4015 ctx.stack_.pop_back();
4018#line 4019 "dhcp4_parser.cc"
4022#line 2554 "dhcp4_parser.yy"
4024 ctx.unique(
"ip-addresses", ctx.loc2pos(yystack_[0].location));
4026 ctx.stack_.back()->set(
"ip-addresses", l);
4027 ctx.stack_.push_back(l);
4028 ctx.enter(ctx.NO_KEYWORD);
4030#line 4031 "dhcp4_parser.cc"
4034#line 2560 "dhcp4_parser.yy"
4036 ctx.stack_.pop_back();
4039#line 4040 "dhcp4_parser.cc"
4043#line 2568 "dhcp4_parser.yy"
4045 ctx.unique(
"client-classes", ctx.loc2pos(yystack_[0].location));
4047 ctx.stack_.back()->set(
"client-classes", l);
4048 ctx.stack_.push_back(l);
4049 ctx.enter(ctx.CLIENT_CLASSES);
4051#line 4052 "dhcp4_parser.cc"
4055#line 2574 "dhcp4_parser.yy"
4057 ctx.stack_.pop_back();
4060#line 4061 "dhcp4_parser.cc"
4064#line 2585 "dhcp4_parser.yy"
4066 ctx.warnAboutExtraCommas(yystack_[0].location);
4068#line 4069 "dhcp4_parser.cc"
4072#line 2590 "dhcp4_parser.yy"
4075 ctx.stack_.back()->add(m);
4076 ctx.stack_.push_back(m);
4078#line 4079 "dhcp4_parser.cc"
4082#line 2594 "dhcp4_parser.yy"
4085 ctx.require(
"name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
4086 ctx.stack_.pop_back();
4088#line 4089 "dhcp4_parser.cc"
4092#line 2606 "dhcp4_parser.yy"
4094 ctx.warnAboutExtraCommas(yystack_[0].location);
4096#line 4097 "dhcp4_parser.cc"
4100#line 2632 "dhcp4_parser.yy"
4102 ctx.unique(
"test", ctx.loc2pos(yystack_[0].location));
4103 ctx.enter(ctx.NO_KEYWORD);
4105#line 4106 "dhcp4_parser.cc"
4109#line 2635 "dhcp4_parser.yy"
4112 ctx.stack_.back()->set(
"test",
test);
4115#line 4116 "dhcp4_parser.cc"
4119#line 2641 "dhcp4_parser.yy"
4121 ctx.unique(
"template-test", ctx.loc2pos(yystack_[0].location));
4122 ctx.enter(ctx.NO_KEYWORD);
4124#line 4125 "dhcp4_parser.cc"
4128#line 2644 "dhcp4_parser.yy"
4130 ElementPtr template_test(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
4131 ctx.stack_.back()->set(
"template-test", template_test);
4134#line 4135 "dhcp4_parser.cc"
4138#line 2651 "dhcp4_parser.yy"
4140 ctx.unique(
"only-if-required", ctx.loc2pos(yystack_[2].location));
4142 ctx.stack_.back()->set(
"only-if-required", b);
4144#line 4145 "dhcp4_parser.cc"
4148#line 2657 "dhcp4_parser.yy"
4150 ctx.unique(
"only-in-additional-list", ctx.loc2pos(yystack_[2].location));
4152 ctx.stack_.back()->set(
"only-in-additional-list", b);
4154#line 4155 "dhcp4_parser.cc"
4158#line 2665 "dhcp4_parser.yy"
4160 ctx.unique(
"dhcp4o6-port", ctx.loc2pos(yystack_[2].location));
4161 ElementPtr time(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
4162 ctx.stack_.back()->set(
"dhcp4o6-port", time);
4164#line 4165 "dhcp4_parser.cc"
4168#line 2673 "dhcp4_parser.yy"
4170 ctx.unique(
"control-sockets", ctx.loc2pos(yystack_[0].location));
4172 ctx.stack_.back()->set(
"control-sockets", l);
4173 ctx.stack_.push_back(l);
4174 ctx.enter(ctx.CONTROL_SOCKETS);
4176#line 4177 "dhcp4_parser.cc"
4180#line 2679 "dhcp4_parser.yy"
4182 ctx.stack_.pop_back();
4185#line 4186 "dhcp4_parser.cc"
4189#line 2690 "dhcp4_parser.yy"
4191 ctx.warnAboutExtraCommas(yystack_[0].location);
4193#line 4194 "dhcp4_parser.cc"
4197#line 2695 "dhcp4_parser.yy"
4200 ctx.stack_.back()->add(m);
4201 ctx.stack_.push_back(m);
4203#line 4204 "dhcp4_parser.cc"
4207#line 2699 "dhcp4_parser.yy"
4209 ctx.stack_.pop_back();
4211#line 4212 "dhcp4_parser.cc"
4215#line 2705 "dhcp4_parser.yy"
4217 ctx.warnAboutExtraCommas(yystack_[0].location);
4219#line 4220 "dhcp4_parser.cc"
4223#line 2725 "dhcp4_parser.yy"
4225 ctx.unique(
"socket-type", ctx.loc2pos(yystack_[0].location));
4226 ctx.enter(ctx.CONTROL_SOCKET_TYPE);
4228#line 4229 "dhcp4_parser.cc"
4232#line 2728 "dhcp4_parser.yy"
4234 ctx.stack_.back()->set(
"socket-type", yystack_[0].value.as <
ElementPtr > ());
4237#line 4238 "dhcp4_parser.cc"
4241#line 2734 "dhcp4_parser.yy"
4243#line 4244 "dhcp4_parser.cc"
4247#line 2735 "dhcp4_parser.yy"
4249#line 4250 "dhcp4_parser.cc"
4253#line 2736 "dhcp4_parser.yy"
4255#line 4256 "dhcp4_parser.cc"
4259#line 2739 "dhcp4_parser.yy"
4261 ctx.unique(
"socket-name", ctx.loc2pos(yystack_[0].location));
4262 ctx.enter(ctx.NO_KEYWORD);
4264#line 4265 "dhcp4_parser.cc"
4268#line 2742 "dhcp4_parser.yy"
4270 ElementPtr name(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
4271 ctx.stack_.back()->set(
"socket-name", name);
4274#line 4275 "dhcp4_parser.cc"
4278#line 2748 "dhcp4_parser.yy"
4280 ctx.unique(
"socket-address", ctx.loc2pos(yystack_[0].location));
4281 ctx.enter(ctx.NO_KEYWORD);
4283#line 4284 "dhcp4_parser.cc"
4287#line 2751 "dhcp4_parser.yy"
4289 ElementPtr address(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
4290 ctx.stack_.back()->set(
"socket-address", address);
4293#line 4294 "dhcp4_parser.cc"
4297#line 2757 "dhcp4_parser.yy"
4299 ctx.unique(
"socket-port", ctx.loc2pos(yystack_[2].location));
4300 ElementPtr port(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
4301 ctx.stack_.back()->set(
"socket-port", port);
4303#line 4304 "dhcp4_parser.cc"
4307#line 2763 "dhcp4_parser.yy"
4309 ctx.unique(
"cert-required", ctx.loc2pos(yystack_[2].location));
4310 ElementPtr req(
new BoolElement(yystack_[0].value.as <
bool > (), ctx.loc2pos(yystack_[0].location)));
4311 ctx.stack_.back()->set(
"cert-required", req);
4313#line 4314 "dhcp4_parser.cc"
4317#line 2769 "dhcp4_parser.yy"
4319 ctx.unique(
"http-headers", ctx.loc2pos(yystack_[0].location));
4321 ctx.stack_.back()->set(
"http-headers", l);
4322 ctx.stack_.push_back(l);
4323 ctx.enter(ctx.HTTP_HEADERS);
4325#line 4326 "dhcp4_parser.cc"
4329#line 2775 "dhcp4_parser.yy"
4331 ctx.stack_.pop_back();
4334#line 4335 "dhcp4_parser.cc"
4338#line 2786 "dhcp4_parser.yy"
4340 ctx.warnAboutExtraCommas(yystack_[0].location);
4342#line 4343 "dhcp4_parser.cc"
4346#line 2791 "dhcp4_parser.yy"
4349 ctx.stack_.back()->add(m);
4350 ctx.stack_.push_back(m);
4352#line 4353 "dhcp4_parser.cc"
4356#line 2795 "dhcp4_parser.yy"
4358 ctx.stack_.pop_back();
4360#line 4361 "dhcp4_parser.cc"
4364#line 2801 "dhcp4_parser.yy"
4366 ctx.warnAboutExtraCommas(yystack_[0].location);
4368#line 4369 "dhcp4_parser.cc"
4372#line 2813 "dhcp4_parser.yy"
4374 ctx.unique(
"value", ctx.loc2pos(yystack_[0].location));
4375 ctx.enter(ctx.NO_KEYWORD);
4377#line 4378 "dhcp4_parser.cc"
4381#line 2816 "dhcp4_parser.yy"
4383 ElementPtr value(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
4384 ctx.stack_.back()->set(
"value", value);
4387#line 4388 "dhcp4_parser.cc"
4391#line 2824 "dhcp4_parser.yy"
4393 ctx.unique(
"authentication", ctx.loc2pos(yystack_[0].location));
4395 ctx.stack_.back()->set(
"authentication", m);
4396 ctx.stack_.push_back(m);
4397 ctx.enter(ctx.AUTHENTICATION);
4399#line 4400 "dhcp4_parser.cc"
4403#line 2830 "dhcp4_parser.yy"
4406 ctx.require(
"type", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location));
4407 ctx.stack_.pop_back();
4410#line 4411 "dhcp4_parser.cc"
4414#line 2839 "dhcp4_parser.yy"
4416 ctx.warnAboutExtraCommas(yystack_[0].location);
4418#line 4419 "dhcp4_parser.cc"
4422#line 2853 "dhcp4_parser.yy"
4424 ctx.unique(
"type", ctx.loc2pos(yystack_[0].location));
4425 ctx.enter(ctx.AUTH_TYPE);
4427#line 4428 "dhcp4_parser.cc"
4431#line 2856 "dhcp4_parser.yy"
4433 ctx.stack_.back()->set(
"type", yystack_[0].value.as <
ElementPtr > ());
4436#line 4437 "dhcp4_parser.cc"
4440#line 2861 "dhcp4_parser.yy"
4442#line 4443 "dhcp4_parser.cc"
4446#line 2864 "dhcp4_parser.yy"
4448 ctx.unique(
"realm", ctx.loc2pos(yystack_[0].location));
4449 ctx.enter(ctx.NO_KEYWORD);
4451#line 4452 "dhcp4_parser.cc"
4455#line 2867 "dhcp4_parser.yy"
4457 ElementPtr realm(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
4458 ctx.stack_.back()->set(
"realm", realm);
4461#line 4462 "dhcp4_parser.cc"
4465#line 2873 "dhcp4_parser.yy"
4467 ctx.unique(
"directory", ctx.loc2pos(yystack_[0].location));
4468 ctx.enter(ctx.NO_KEYWORD);
4470#line 4471 "dhcp4_parser.cc"
4474#line 2876 "dhcp4_parser.yy"
4476 ElementPtr directory(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
4477 ctx.stack_.back()->set(
"directory", directory);
4480#line 4481 "dhcp4_parser.cc"
4484#line 2882 "dhcp4_parser.yy"
4486 ctx.unique(
"clients", ctx.loc2pos(yystack_[0].location));
4488 ctx.stack_.back()->set(
"clients", l);
4489 ctx.stack_.push_back(l);
4490 ctx.enter(ctx.CLIENTS);
4492#line 4493 "dhcp4_parser.cc"
4496#line 2888 "dhcp4_parser.yy"
4498 ctx.stack_.pop_back();
4501#line 4502 "dhcp4_parser.cc"
4505#line 2899 "dhcp4_parser.yy"
4507 ctx.warnAboutExtraCommas(yystack_[0].location);
4509#line 4510 "dhcp4_parser.cc"
4513#line 2904 "dhcp4_parser.yy"
4516 ctx.stack_.back()->add(m);
4517 ctx.stack_.push_back(m);
4519#line 4520 "dhcp4_parser.cc"
4523#line 2908 "dhcp4_parser.yy"
4525 ctx.stack_.pop_back();
4527#line 4528 "dhcp4_parser.cc"
4531#line 2914 "dhcp4_parser.yy"
4533 ctx.warnAboutExtraCommas(yystack_[0].location);
4535#line 4536 "dhcp4_parser.cc"
4539#line 2928 "dhcp4_parser.yy"
4541 ctx.unique(
"user-file", ctx.loc2pos(yystack_[0].location));
4542 ctx.enter(ctx.NO_KEYWORD);
4544#line 4545 "dhcp4_parser.cc"
4548#line 2931 "dhcp4_parser.yy"
4550 ElementPtr user(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
4551 ctx.stack_.back()->set(
"user-file", user);
4554#line 4555 "dhcp4_parser.cc"
4558#line 2939 "dhcp4_parser.yy"
4560 ctx.unique(
"dhcp-queue-control", ctx.loc2pos(yystack_[0].location));
4562 ctx.stack_.back()->set(
"dhcp-queue-control", qc);
4563 ctx.stack_.push_back(qc);
4564 ctx.enter(ctx.DHCP_QUEUE_CONTROL);
4566#line 4567 "dhcp4_parser.cc"
4570#line 2945 "dhcp4_parser.yy"
4573 ctx.require(
"enable-queue", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location));
4574 ctx.stack_.pop_back();
4577#line 4578 "dhcp4_parser.cc"
4581#line 2954 "dhcp4_parser.yy"
4583 ctx.warnAboutExtraCommas(yystack_[0].location);
4585#line 4586 "dhcp4_parser.cc"
4589#line 2967 "dhcp4_parser.yy"
4591 ctx.unique(
"enable-queue", ctx.loc2pos(yystack_[2].location));
4593 ctx.stack_.back()->set(
"enable-queue", b);
4595#line 4596 "dhcp4_parser.cc"
4599#line 2973 "dhcp4_parser.yy"
4601 ctx.unique(
"queue-type", ctx.loc2pos(yystack_[0].location));
4602 ctx.enter(ctx.NO_KEYWORD);
4604#line 4605 "dhcp4_parser.cc"
4608#line 2976 "dhcp4_parser.yy"
4611 ctx.stack_.back()->set(
"queue-type", qt);
4614#line 4615 "dhcp4_parser.cc"
4618#line 2982 "dhcp4_parser.yy"
4620 ctx.unique(
"capacity", ctx.loc2pos(yystack_[2].location));
4621 ElementPtr c(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
4622 ctx.stack_.back()->set(
"capacity", c);
4624#line 4625 "dhcp4_parser.cc"
4628#line 2988 "dhcp4_parser.yy"
4630 ctx.unique(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location));
4631 ctx.enter(ctx.NO_KEYWORD);
4633#line 4634 "dhcp4_parser.cc"
4637#line 2991 "dhcp4_parser.yy"
4639 ctx.stack_.back()->set(yystack_[3].value.as < std::string > (), yystack_[0].value.as <
ElementPtr > ());
4642#line 4643 "dhcp4_parser.cc"
4646#line 2998 "dhcp4_parser.yy"
4648 ctx.unique(
"dhcp-ddns", ctx.loc2pos(yystack_[0].location));
4650 ctx.stack_.back()->set(
"dhcp-ddns", m);
4651 ctx.stack_.push_back(m);
4652 ctx.enter(ctx.DHCP_DDNS);
4654#line 4655 "dhcp4_parser.cc"
4658#line 3004 "dhcp4_parser.yy"
4661 ctx.require(
"enable-updates", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location));
4662 ctx.stack_.pop_back();
4665#line 4666 "dhcp4_parser.cc"
4669#line 3011 "dhcp4_parser.yy"
4673 ctx.stack_.push_back(m);
4675#line 4676 "dhcp4_parser.cc"
4679#line 3015 "dhcp4_parser.yy"
4682 ctx.require(
"enable-updates", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
4685#line 4686 "dhcp4_parser.cc"
4689#line 3023 "dhcp4_parser.yy"
4691 ctx.warnAboutExtraCommas(yystack_[0].location);
4693#line 4694 "dhcp4_parser.cc"
4697#line 3041 "dhcp4_parser.yy"
4699 ctx.unique(
"enable-updates", ctx.loc2pos(yystack_[2].location));
4701 ctx.stack_.back()->set(
"enable-updates", b);
4703#line 4704 "dhcp4_parser.cc"
4707#line 3047 "dhcp4_parser.yy"
4709 ctx.unique(
"server-ip", ctx.loc2pos(yystack_[0].location));
4710 ctx.enter(ctx.NO_KEYWORD);
4712#line 4713 "dhcp4_parser.cc"
4716#line 3050 "dhcp4_parser.yy"
4719 ctx.stack_.back()->set(
"server-ip", s);
4722#line 4723 "dhcp4_parser.cc"
4726#line 3056 "dhcp4_parser.yy"
4728 ctx.unique(
"server-port", ctx.loc2pos(yystack_[2].location));
4729 ElementPtr i(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
4730 ctx.stack_.back()->set(
"server-port", i);
4732#line 4733 "dhcp4_parser.cc"
4736#line 3062 "dhcp4_parser.yy"
4738 ctx.unique(
"sender-ip", ctx.loc2pos(yystack_[0].location));
4739 ctx.enter(ctx.NO_KEYWORD);
4741#line 4742 "dhcp4_parser.cc"
4745#line 3065 "dhcp4_parser.yy"
4748 ctx.stack_.back()->set(
"sender-ip", s);
4751#line 4752 "dhcp4_parser.cc"
4755#line 3071 "dhcp4_parser.yy"
4757 ctx.unique(
"sender-port", ctx.loc2pos(yystack_[2].location));
4758 ElementPtr i(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
4759 ctx.stack_.back()->set(
"sender-port", i);
4761#line 4762 "dhcp4_parser.cc"
4765#line 3077 "dhcp4_parser.yy"
4767 ctx.unique(
"max-queue-size", ctx.loc2pos(yystack_[2].location));
4768 ElementPtr i(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
4769 ctx.stack_.back()->set(
"max-queue-size", i);
4771#line 4772 "dhcp4_parser.cc"
4775#line 3083 "dhcp4_parser.yy"
4777 ctx.unique(
"ncr-protocol", ctx.loc2pos(yystack_[0].location));
4778 ctx.enter(ctx.NCR_PROTOCOL);
4780#line 4781 "dhcp4_parser.cc"
4784#line 3086 "dhcp4_parser.yy"
4786 ctx.stack_.back()->set(
"ncr-protocol", yystack_[0].value.as <
ElementPtr > ());
4789#line 4790 "dhcp4_parser.cc"
4793#line 3092 "dhcp4_parser.yy"
4795#line 4796 "dhcp4_parser.cc"
4799#line 3093 "dhcp4_parser.yy"
4801#line 4802 "dhcp4_parser.cc"
4805#line 3096 "dhcp4_parser.yy"
4807 ctx.unique(
"ncr-format", ctx.loc2pos(yystack_[0].location));
4808 ctx.enter(ctx.NCR_FORMAT);
4810#line 4811 "dhcp4_parser.cc"
4814#line 3099 "dhcp4_parser.yy"
4817 ctx.stack_.back()->set(
"ncr-format", json);
4820#line 4821 "dhcp4_parser.cc"
4824#line 3107 "dhcp4_parser.yy"
4826 ctx.unique(
"config-control", ctx.loc2pos(yystack_[0].location));
4828 ctx.stack_.back()->set(
"config-control", i);
4829 ctx.stack_.push_back(i);
4830 ctx.enter(ctx.CONFIG_CONTROL);
4832#line 4833 "dhcp4_parser.cc"
4836#line 3113 "dhcp4_parser.yy"
4839 ctx.stack_.pop_back();
4842#line 4843 "dhcp4_parser.cc"
4846#line 3119 "dhcp4_parser.yy"
4850 ctx.stack_.push_back(m);
4852#line 4853 "dhcp4_parser.cc"
4856#line 3123 "dhcp4_parser.yy"
4861#line 4862 "dhcp4_parser.cc"
4865#line 3131 "dhcp4_parser.yy"
4867 ctx.warnAboutExtraCommas(yystack_[0].location);
4869#line 4870 "dhcp4_parser.cc"
4873#line 3141 "dhcp4_parser.yy"
4875 ctx.unique(
"config-databases", ctx.loc2pos(yystack_[0].location));
4877 ctx.stack_.back()->set(
"config-databases", l);
4878 ctx.stack_.push_back(l);
4879 ctx.enter(ctx.CONFIG_DATABASE);
4881#line 4882 "dhcp4_parser.cc"
4885#line 3147 "dhcp4_parser.yy"
4887 ctx.stack_.pop_back();
4890#line 4891 "dhcp4_parser.cc"
4894#line 3152 "dhcp4_parser.yy"
4896 ctx.unique(
"config-fetch-wait-time", ctx.loc2pos(yystack_[2].location));
4897 ElementPtr value(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
4898 ctx.stack_.back()->set(
"config-fetch-wait-time", value);
4900#line 4901 "dhcp4_parser.cc"
4904#line 3160 "dhcp4_parser.yy"
4906 ctx.unique(
"loggers", ctx.loc2pos(yystack_[0].location));
4908 ctx.stack_.back()->set(
"loggers", l);
4909 ctx.stack_.push_back(l);
4910 ctx.enter(ctx.LOGGERS);
4912#line 4913 "dhcp4_parser.cc"
4916#line 3166 "dhcp4_parser.yy"
4918 ctx.stack_.pop_back();
4921#line 4922 "dhcp4_parser.cc"
4925#line 3175 "dhcp4_parser.yy"
4927 ctx.warnAboutExtraCommas(yystack_[0].location);
4929#line 4930 "dhcp4_parser.cc"
4933#line 3181 "dhcp4_parser.yy"
4936 ctx.stack_.back()->add(l);
4937 ctx.stack_.push_back(l);
4939#line 4940 "dhcp4_parser.cc"
4943#line 3185 "dhcp4_parser.yy"
4945 ctx.stack_.pop_back();
4947#line 4948 "dhcp4_parser.cc"
4951#line 3191 "dhcp4_parser.yy"
4953 ctx.warnAboutExtraCommas(yystack_[0].location);
4955#line 4956 "dhcp4_parser.cc"
4959#line 3205 "dhcp4_parser.yy"
4961 ctx.unique(
"debuglevel", ctx.loc2pos(yystack_[2].location));
4962 ElementPtr dl(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
4963 ctx.stack_.back()->set(
"debuglevel", dl);
4965#line 4966 "dhcp4_parser.cc"
4969#line 3211 "dhcp4_parser.yy"
4971 ctx.unique(
"severity", ctx.loc2pos(yystack_[0].location));
4972 ctx.enter(ctx.NO_KEYWORD);
4974#line 4975 "dhcp4_parser.cc"
4978#line 3214 "dhcp4_parser.yy"
4980 ElementPtr sev(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
4981 ctx.stack_.back()->set(
"severity", sev);
4984#line 4985 "dhcp4_parser.cc"
4988#line 3220 "dhcp4_parser.yy"
4990 ctx.unique(
"output-options", ctx.loc2pos(yystack_[0].location));
4992 ctx.stack_.back()->set(
"output-options", l);
4993 ctx.stack_.push_back(l);
4994 ctx.enter(ctx.OUTPUT_OPTIONS);
4996#line 4997 "dhcp4_parser.cc"
5000#line 3226 "dhcp4_parser.yy"
5002 ctx.stack_.pop_back();
5005#line 5006 "dhcp4_parser.cc"
5009#line 3233 "dhcp4_parser.yy"
5011 ctx.warnAboutExtraCommas(yystack_[0].location);
5013#line 5014 "dhcp4_parser.cc"
5017#line 3238 "dhcp4_parser.yy"
5020 ctx.stack_.back()->add(m);
5021 ctx.stack_.push_back(m);
5023#line 5024 "dhcp4_parser.cc"
5027#line 3242 "dhcp4_parser.yy"
5029 ctx.stack_.pop_back();
5031#line 5032 "dhcp4_parser.cc"
5035#line 3248 "dhcp4_parser.yy"
5037 ctx.warnAboutExtraCommas(yystack_[0].location);
5039#line 5040 "dhcp4_parser.cc"
5043#line 3260 "dhcp4_parser.yy"
5045 ctx.unique(
"output", ctx.loc2pos(yystack_[0].location));
5046 ctx.enter(ctx.NO_KEYWORD);
5048#line 5049 "dhcp4_parser.cc"
5052#line 3263 "dhcp4_parser.yy"
5054 ElementPtr sev(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
5055 ctx.stack_.back()->set(
"output", sev);
5058#line 5059 "dhcp4_parser.cc"
5062#line 3269 "dhcp4_parser.yy"
5064 ctx.unique(
"flush", ctx.loc2pos(yystack_[2].location));
5065 ElementPtr flush(
new BoolElement(yystack_[0].value.as <
bool > (), ctx.loc2pos(yystack_[0].location)));
5066 ctx.stack_.back()->set(
"flush", flush);
5068#line 5069 "dhcp4_parser.cc"
5072#line 3275 "dhcp4_parser.yy"
5074 ctx.unique(
"maxsize", ctx.loc2pos(yystack_[2].location));
5075 ElementPtr maxsize(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
5076 ctx.stack_.back()->set(
"maxsize", maxsize);
5078#line 5079 "dhcp4_parser.cc"
5082#line 3281 "dhcp4_parser.yy"
5084 ctx.unique(
"maxver", ctx.loc2pos(yystack_[2].location));
5085 ElementPtr maxver(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
5086 ctx.stack_.back()->set(
"maxver", maxver);
5088#line 5089 "dhcp4_parser.cc"
5092#line 3287 "dhcp4_parser.yy"
5094 ctx.unique(
"pattern", ctx.loc2pos(yystack_[0].location));
5095 ctx.enter(ctx.NO_KEYWORD);
5097#line 5098 "dhcp4_parser.cc"
5101#line 3290 "dhcp4_parser.yy"
5103 ElementPtr sev(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
5104 ctx.stack_.back()->set(
"pattern", sev);
5107#line 5108 "dhcp4_parser.cc"
5111#line 3296 "dhcp4_parser.yy"
5113 ctx.unique(
"compatibility", ctx.loc2pos(yystack_[0].location));
5115 ctx.stack_.back()->set(
"compatibility", i);
5116 ctx.stack_.push_back(i);
5117 ctx.enter(ctx.COMPATIBILITY);
5119#line 5120 "dhcp4_parser.cc"
5123#line 3302 "dhcp4_parser.yy"
5125 ctx.stack_.pop_back();
5128#line 5129 "dhcp4_parser.cc"
5132#line 3309 "dhcp4_parser.yy"
5134 ctx.warnAboutExtraCommas(yystack_[0].location);
5136#line 5137 "dhcp4_parser.cc"
5140#line 3321 "dhcp4_parser.yy"
5142 ctx.unique(
"lenient-option-parsing", ctx.loc2pos(yystack_[2].location));
5144 ctx.stack_.back()->set(
"lenient-option-parsing", b);
5146#line 5147 "dhcp4_parser.cc"
5150#line 3327 "dhcp4_parser.yy"
5152 ctx.unique(
"ignore-dhcp-server-identifier", ctx.loc2pos(yystack_[2].location));
5154 ctx.stack_.back()->set(
"ignore-dhcp-server-identifier", b);
5156#line 5157 "dhcp4_parser.cc"
5160#line 3333 "dhcp4_parser.yy"
5162 ctx.unique(
"ignore-rai-link-selection", ctx.loc2pos(yystack_[2].location));
5164 ctx.stack_.back()->set(
"ignore-rai-link-selection", b);
5166#line 5167 "dhcp4_parser.cc"
5170#line 3339 "dhcp4_parser.yy"
5172 ctx.unique(
"exclude-first-last-24", ctx.loc2pos(yystack_[2].location));
5174 ctx.stack_.back()->set(
"exclude-first-last-24", b);
5176#line 5177 "dhcp4_parser.cc"
5180#line 5181 "dhcp4_parser.cc"
5189 YYCDEBUG <<
"Caught exception: " << yyexc.what() <<
'\n';
5199 yypush_ (YY_NULLPTR,
YY_MOVE (yylhs));
5213 std::string msg = yysyntax_error_ (yyctx);
5219 if (yyerrstatus_ == 3)
5227 else if (!yyla.
empty ())
5229 yy_destroy_ (
"Error: discarding", yyla);
5263 yyn = yypact_[+yystack_[0].state];
5264 if (!yy_pact_value_is_default_ (yyn))
5267 if (0 <= yyn && yyn <= yylast_
5270 yyn = yytable_[yyn];
5277 if (yystack_.size () == 1)
5280 yyerror_range[1].
location = yystack_[0].location;
5281 yy_destroy_ (
"Error: popping", yystack_[0]);
5286 stack_symbol_type error_token;
5292 error_token.state = state_type (yyn);
5293 yypush_ (
"Shifting",
YY_MOVE (error_token));
5319 yy_destroy_ (
"Cleanup: discarding lookahead", yyla);
5325 while (1 < yystack_.size ())
5327 yy_destroy_ (
"Cleanup: popping", yystack_[0]);
5336 YYCDEBUG <<
"Exception caught: cleaning lookahead and stack\n";
5340 yy_destroy_ (YY_NULLPTR, yyla);
5342 while (1 < yystack_.size ())
5344 yy_destroy_ (YY_NULLPTR, yystack_[0]);
5364 Dhcp4Parser::yytnamerr_ (
const char *yystr)
5369 char const *yyp = yystr;
5376 goto do_not_strip_quotes;
5380 goto do_not_strip_quotes;
5392 do_not_strip_quotes: ;
5401 return yytnamerr_ (yytname_[yysymbol]);
5408 : yyparser_ (yyparser)
5418 const int yyn = yypact_[+yyparser_.yystack_[0].state];
5419 if (!yy_pact_value_is_default_ (yyn))
5424 const int yyxbegin = yyn < 0 ? -yyn : 0;
5426 const int yychecklim = yylast_ - yyn + 1;
5428 for (
int yyx = yyxbegin; yyx < yyxend; ++yyx)
5430 && !yy_table_value_is_error_ (yytable_[yyx + yyn]))
5434 else if (yycount == yyargn)
5441 if (yyarg && yycount == 0 && 0 < yyargn)
5452 Dhcp4Parser::yy_syntax_error_arguments_ (
const context& yyctx,
5483 yyarg[0] = yyctx.
token ();
5484 int yyn = yyctx.
expected_tokens (yyarg ? yyarg + 1 : yyarg, yyargn - 1);
5492 Dhcp4Parser::yysyntax_error_ (
const context& yyctx)
const
5495 enum { YYARGS_MAX = 5 };
5498 int yycount = yy_syntax_error_arguments_ (yyctx, yyarg, YYARGS_MAX);
5500 char const* yyformat = YY_NULLPTR;
5503#define YYCASE_(N, S) \
5509 YYCASE_ (1,
YY_(
"syntax error, unexpected %s"));
5510 YYCASE_ (2,
YY_(
"syntax error, unexpected %s, expecting %s"));
5511 YYCASE_ (3,
YY_(
"syntax error, unexpected %s, expecting %s or %s"));
5512 YYCASE_ (4,
YY_(
"syntax error, unexpected %s, expecting %s or %s or %s"));
5513 YYCASE_ (5,
YY_(
"syntax error, unexpected %s, expecting %s or %s or %s or %s"));
5519 std::ptrdiff_t yyi = 0;
5520 for (
char const* yyp = yyformat; *yyp; ++yyp)
5521 if (yyp[0] ==
'%' && yyp[1] ==
's' && yyi < yycount)
5532 const short Dhcp4Parser::yypact_ninf_ = -1427;
5534 const signed char Dhcp4Parser::yytable_ninf_ = -1;
5537 Dhcp4Parser::yypact_[] =
5539 538, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427,
5540 -1427, -1427, -1427, -1427, 39, 57, 67, 96, 132, 150,
5541 220, 232, 249, 256, 273, 275, 282, 291, -1427, -1427,
5542 -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427,
5543 -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427,
5544 -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427,
5545 -1427, -1427, -1427, -1427, 57, -191, 53, 279, 63, 714,
5546 792, 88, -33, 153, 627, -110, 521, 172, -1427, 70,
5547 92, 297, 294, 320, -1427, 40, -1427, -1427, -1427, -1427,
5548 344, 387, 394, -1427, -1427, -1427, 395, 396, -1427, -1427,
5549 -1427, 404, 419, 423, 432, 433, 436, 437, 440, 441,
5550 444, 445, 451, -1427, 452, 453, 454, 455, 458, -1427,
5551 -1427, -1427, -1427, 459, 460, 462, 463, 464, 466, 467,
5552 -1427, -1427, -1427, 469, -1427, -1427, -1427, -1427, -1427, 470,
5553 471, 472, -1427, -1427, -1427, -1427, -1427, 473, -1427, -1427,
5554 -1427, -1427, -1427, -1427, 474, 475, 476, -1427, -1427, 478,
5555 -1427, 93, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427,
5556 -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427,
5557 -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427,
5558 -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427,
5559 -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427,
5560 -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427,
5561 -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427,
5562 -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, 479, 486,
5563 487, 488, -1427, 94, -1427, -1427, -1427, -1427, -1427, -1427,
5564 -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427,
5565 489, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427,
5566 -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427,
5567 -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427,
5568 -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, 111,
5569 -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427,
5570 -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427,
5571 -1427, -1427, -1427, -1427, 490, -1427, -1427, -1427, -1427, -1427,
5572 -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427,
5573 -1427, -1427, -1427, -1427, -1427, -1427, 129, -1427, -1427, -1427,
5574 -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427,
5575 -1427, -1427, -1427, -1427, 372, 386, -1427, -1427, -1427, -1427,
5576 -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, 426, -1427,
5577 -1427, 492, -1427, -1427, -1427, 496, -1427, -1427, 493, 499,
5578 -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427,
5579 -1427, -1427, -1427, 500, 501, 502, -1427, -1427, -1427, -1427,
5580 -1427, 504, 506, -1427, -1427, -1427, -1427, -1427, -1427, -1427,
5581 -1427, -1427, -1427, -1427, -1427, -1427, -1427, 139, -1427, -1427,
5582 -1427, 509, -1427, 514, -1427, 515, 517, -1427, -1427, -1427,
5583 -1427, -1427, 151, -1427, -1427, -1427, -1427, -1427, -1427, -1427,
5584 -1427, -1427, -1427, 519, 160, -1427, -1427, -1427, -1427, 57,
5585 57, -1427, 287, 524, -1427, -1427, 525, 527, 529, 295,
5586 298, 299, 530, 533, 537, 307, 308, 543, 545, 547,
5587 314, 315, 321, 322, 325, 326, 328, 330, 331, 327,
5588 336, 334, 550, 338, 342, 341, 343, 346, 578, 580,
5589 584, 585, 350, 352, 355, 357, 358, 360, 359, 596,
5590 598, 600, 368, 607, 609, 611, 613, 615, 391, 399,
5591 410, 625, 631, 648, 649, 650, 420, 651, 652, 653,
5592 655, 656, 657, 425, 427, 428, 659, 662, -1427, 279,
5593 -1427, 666, 667, 668, 434, 435, 438, 439, 63, -1427,
5594 669, 674, 675, 677, 678, 680, 447, 683, 685, 686,
5595 687, 688, 714, -1427, 690, 465, 792, -1427, 692, 697,
5596 698, 701, 702, 703, 704, 705, -1427, 88, -1427, 706,
5597 707, 482, 717, 718, 719, 485, -1427, 153, 722, 510,
5598 511, 516, 724, -1427, 627, 725, 726, -48, -1427, 520,
5599 737, 541, 750, 542, 544, 751, 753, 521, -1427, 755,
5600 557, 172, -1427, -1427, -1427, 772, 774, 776, 789, 790,
5601 -1427, -1427, -1427, 561, 576, 582, -1427, -1427, 810, 813,
5602 816, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427,
5603 -1427, -1427, -1427, 586, -1427, -1427, -1427, -1427, -1427, -37,
5604 587, 588, 589, -1427, -1427, -1427, -1427, -1427, -1427, -1427,
5605 817, 822, 823, -1427, 592, 226, 827, 826, 597, -1427,
5606 -1427, -1427, 830, 831, 833, 842, 844, -1427, 845, 848,
5607 847, 849, 621, 622, -1427, -1427, -1427, 855, 854, -1427,
5608 857, 274, 210, -1427, -1427, -1427, -1427, -1427, 626, 629,
5609 630, 863, 632, 633, -1427, 857, 857, 857, 634, 865,
5610 -1427, 636, -1427, -1427, 857, 637, 638, 639, 654, 658,
5611 660, 661, -1427, 663, 664, -1427, 665, 670, 671, -1427,
5612 -1427, 673, -1427, -1427, -1427, 857, -1427, 676, 826, -1427,
5613 -1427, 684, -1427, 693, -1427, -1427, 18, 694, -1427, 880,
5614 -1427, -1427, 57, 279, 172, 63, 293, -1427, -1427, -1427,
5615 1523, 1523, 883, -1427, -1427, -1427, -1427, -1427, -1427, -1427,
5616 -1427, -1427, -1427, 885, 886, 892, -1427, -1427, -1427, -1427,
5617 -1427, -1427, 896, -1427, -1427, -1427, 51, 897, 898, 899,
5618 84, 103, 904, -27, 521, -1427, -1427, 905, 3, -1427,
5619 -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427,
5620 907, -1427, -1427, -1427, -1427, -1427, -1427, 763, -1427, -1427,
5621 -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427,
5622 -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427,
5623 -1427, -1427, 883, -1427, 167, 169, 170, -1427, -1427, 171,
5624 -1427, -1427, -1427, -1427, -1427, -1427, -1427, 918, 919, 920,
5625 921, 925, 927, 928, 931, 932, 933, -1427, 934, 935,
5626 -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427,
5627 -1427, -1427, 183, -1427, -1427, -1427, -1427, -1427, -1427, -1427,
5628 -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427,
5629 -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, 203, -1427,
5630 936, 937, -1427, -1427, 938, 940, -1427, -1427, 939, 943,
5631 -1427, -1427, 941, 945, -1427, -1427, 944, 946, -1427, -1427,
5632 -1427, -1427, -1427, -1427, 44, -1427, -1427, -1427, -1427, -1427,
5633 -1427, -1427, 947, 949, -1427, -1427, 948, 952, -1427, -1427,
5634 950, 954, -1427, 955, 956, 957, 958, 959, 960, 213,
5635 -1427, -1427, -1427, -1427, -1427, -1427, -1427, 961, 962, 963,
5636 -1427, 247, -1427, -1427, -1427, -1427, -1427, -1427, -1427, 964,
5637 965, -1427, 967, -1427, 968, -1427, -1427, -1427, 251, -1427,
5638 -1427, -1427, -1427, -1427, 254, -1427, 77, -1427, 969, 970,
5639 971, 972, -1427, 269, -1427, -1427, -1427, -1427, -1427, 721,
5640 -1427, 973, 966, -1427, -1427, 974, -1427, 975, -1427, -1427,
5641 -1427, 976, 979, 293, -1427, 980, 981, 982, 984, 739,
5642 738, 754, 749, 756, 762, 764, 773, 777, 780, 1015,
5643 784, 788, 1026, 1028, 1031, 1038, 1049, 1053, 1523, -1427,
5644 -1427, 1523, -1427, 883, 714, -1427, 885, 153, -1427, 886,
5645 627, -1427, 892, 1411, -1427, 896, 51, -1427, 148, -1427,
5646 897, 88, -1427, 898, -110, -1427, 899, 820, 824, 852,
5647 867, 869, 874, 84, -1427, 853, 878, 888, 103, -1427,
5648 277, -1427, 904, 861, 1056, 894, 1067, -27, -1427, -1427,
5649 217, 905, -1427, 881, 906, 908, 911, 3, -1427, -1427,
5650 1076, 1084, 792, -1427, 907, 1088, -1427, -1427, 866, 901,
5651 -1427, 922, 930, 942, 977, -1427, -1427, -1427, -1427, -1427,
5652 -1427, -1427, -1427, -1427, -1427, 34, -1427, -1427, 978, 983,
5653 985, 351, 986, 987, -1427, 296, -1427, 316, -1427, 1115,
5654 -1427, 1149, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427,
5655 -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427,
5656 -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427,
5657 -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427,
5658 -1427, -1427, -1427, -1427, -1427, -1427, 333, -1427, -1427, -1427,
5659 -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, 1158,
5660 1160, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427,
5661 -1427, -1427, -1427, -1427, 1161, 1171, -1427, -1427, -1427, -1427,
5662 -1427, -1427, -1427, 1169, -1427, 376, -1427, -1427, -1427, -1427,
5663 -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427,
5664 -1427, 1178, -1427, 1189, -1427, -1427, -1427, -1427, -1427, -1427,
5665 -1427, 378, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427,
5666 -1427, -1427, 988, -1427, 57, -1427, -1427, 1191, -1427, -1427,
5667 -1427, -1427, -1427, 385, -1427, -1427, -1427, -1427, -1427, -1427,
5668 -1427, -1427, -1427, -1427, -1427, 989, 389, -1427, 857, -1427,
5669 -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427,
5670 -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, 1411,
5671 -1427, 1193, 1196, 990, 991, -1427, 148, -1427, -1427, 1198,
5672 1199, 1200, 994, 1201, 993, 1202, 277, -1427, -1427, -1427,
5673 1203, 996, 1204, 217, -1427, -1427, -1427, -1427, -1427, 992,
5674 998, -1427, -1427, -1427, 163, 999, 1000, -1427, 1205, -1427,
5675 1206, -1427, 1208, -1427, 1001, -1427, -1427, -1427, -1427, -1427,
5676 -1427, -1427, -1427, -1427, 69, 1209, 1210, -1427, -1427, -1427,
5677 -1427, -1427, -1427, -1427, -1427, 417, -1427, -1427, -1427, -1427,
5678 -1427, -1427, 1212, 1207, -1427, -1427, 209, -1427, 1215, 1223,
5679 1224, 1235, 69, -1427, 202, -1427, 1209, 114, 1210, -1427,
5680 1032, 1003, 1004, 1237, -1427, -1427, -1427, -1427, -1427, -1427,
5681 418, -1427, -1427, -1427, -1427, 1239, 1240, 1241, -1427, 421,
5682 -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427,
5683 -1427, 1242, 1243, 202, -1427, 1244, 1006, 1012, 1013, 1249,
5684 114, -1427, -1427, 1248, 1252, -1427, 1019, -1427, 1020, -1427,
5685 -1427, -1427, 1021, -1427, 27, -1427, 1242, -1427, -1427, -1427,
5686 -1427, -1427, -1427, -1427, -1427, -1427, -1427, 430, -1427, -1427,
5687 -1427, 1256, 27, -1427, 1025, -1427, -1427
5691 Dhcp4Parser::yydefact_[] =
5693 0, 2, 4, 6, 8, 10, 12, 14, 16, 18,
5694 20, 22, 24, 26, 0, 0, 0, 0, 0, 0,
5695 0, 0, 0, 0, 0, 0, 0, 0, 1, 44,
5696 36, 32, 31, 28, 29, 30, 35, 3, 33, 34,
5697 59, 5, 65, 7, 218, 9, 406, 11, 637, 13,
5698 683, 15, 552, 17, 561, 19, 600, 21, 368, 23,
5699 885, 25, 917, 27, 46, 39, 0, 0, 0, 0,
5700 0, 685, 0, 563, 602, 0, 0, 0, 48, 0,
5701 47, 0, 0, 40, 61, 0, 63, 915, 203, 236,
5702 0, 0, 0, 705, 707, 709, 0, 0, 234, 247,
5703 249, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5704 0, 0, 0, 155, 0, 0, 0, 0, 0, 166,
5705 173, 175, 177, 0, 0, 0, 0, 0, 0, 0,
5706 397, 550, 591, 0, 158, 181, 488, 670, 672, 0,
5707 0, 0, 330, 732, 674, 359, 380, 0, 345, 771,
5708 866, 883, 191, 193, 0, 0, 0, 927, 969, 0,
5709 142, 0, 67, 70, 71, 72, 73, 74, 107, 108,
5710 109, 110, 111, 112, 75, 103, 138, 139, 92, 93,
5711 94, 116, 117, 118, 119, 120, 121, 122, 123, 124,
5712 125, 126, 127, 128, 129, 114, 115, 130, 131, 132,
5713 134, 135, 136, 140, 141, 78, 79, 100, 80, 81,
5714 82, 133, 86, 87, 76, 104, 105, 106, 77, 84,
5715 85, 98, 99, 101, 95, 96, 97, 83, 88, 89,
5716 90, 91, 102, 113, 137, 220, 222, 226, 0, 0,
5717 0, 0, 217, 0, 205, 208, 209, 210, 211, 212,
5718 213, 214, 215, 216, 468, 470, 472, 628, 466, 474,
5719 0, 478, 480, 482, 476, 727, 465, 411, 412, 413,
5720 414, 415, 440, 441, 442, 443, 444, 445, 463, 430,
5721 431, 446, 447, 448, 449, 450, 451, 452, 453, 454,
5722 455, 456, 457, 458, 459, 460, 461, 462, 464, 0,
5723 408, 418, 435, 436, 437, 419, 421, 422, 423, 424,
5724 426, 427, 428, 420, 416, 417, 438, 439, 425, 432,
5725 433, 434, 429, 667, 0, 666, 649, 650, 651, 652,
5726 653, 654, 655, 656, 657, 658, 659, 660, 661, 662,
5727 663, 645, 646, 647, 648, 644, 0, 639, 642, 643,
5728 664, 665, 725, 711, 713, 715, 719, 717, 723, 721,
5729 704, 698, 702, 703, 0, 686, 687, 699, 700, 701,
5730 695, 690, 696, 692, 693, 694, 697, 691, 0, 581,
5731 297, 0, 585, 583, 588, 0, 577, 578, 0, 564,
5732 565, 568, 580, 569, 570, 571, 587, 572, 573, 574,
5733 575, 576, 619, 0, 0, 0, 626, 617, 618, 621,
5734 622, 0, 603, 604, 607, 608, 609, 610, 611, 612,
5735 613, 616, 614, 615, 376, 378, 373, 0, 370, 374,
5736 375, 0, 902, 0, 905, 0, 0, 909, 913, 900,
5737 898, 899, 0, 887, 890, 891, 892, 893, 894, 895,
5738 896, 897, 924, 0, 0, 919, 922, 923, 45, 50,
5739 0, 37, 43, 0, 64, 60, 0, 0, 0, 0,
5740 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5741 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5742 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5743 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5744 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5745 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5746 0, 0, 0, 0, 0, 0, 0, 0, 58, 69,
5747 66, 0, 0, 0, 0, 0, 0, 0, 207, 219,
5748 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5749 0, 0, 410, 407, 0, 0, 641, 638, 0, 0,
5750 0, 0, 0, 0, 0, 0, 684, 689, 553, 0,
5751 0, 0, 0, 0, 0, 0, 562, 567, 0, 0,
5752 0, 0, 0, 601, 606, 0, 0, 372, 369, 0,
5753 0, 0, 0, 0, 0, 0, 0, 889, 886, 0,
5754 0, 921, 918, 49, 41, 0, 0, 0, 0, 0,
5755 160, 161, 162, 0, 0, 0, 201, 202, 0, 0,
5756 0, 143, 144, 145, 146, 147, 148, 149, 150, 151,
5757 152, 153, 154, 0, 196, 197, 163, 164, 165, 0,
5758 0, 0, 0, 179, 180, 187, 188, 189, 190, 195,
5759 0, 0, 0, 157, 0, 0, 0, 0, 0, 484,
5760 485, 486, 0, 0, 0, 0, 0, 770, 0, 0,
5761 0, 0, 0, 0, 198, 199, 200, 0, 0, 68,
5762 0, 0, 0, 230, 231, 232, 233, 206, 0, 0,
5763 0, 0, 0, 0, 487, 0, 0, 0, 0, 0,
5764 409, 0, 669, 640, 0, 0, 0, 0, 0, 0,
5765 0, 0, 688, 0, 0, 579, 0, 0, 0, 590,
5766 566, 0, 623, 624, 625, 0, 605, 0, 0, 371,
5767 901, 0, 904, 0, 907, 908, 0, 0, 888, 0,
5768 926, 920, 0, 0, 0, 0, 0, 706, 708, 710,
5769 0, 0, 251, 156, 168, 169, 170, 171, 172, 167,
5770 174, 176, 178, 399, 554, 593, 159, 183, 184, 185,
5771 186, 182, 490, 38, 671, 673, 0, 734, 676, 361,
5772 0, 0, 773, 0, 0, 192, 194, 0, 0, 51,
5773 221, 224, 225, 223, 228, 229, 227, 469, 471, 473,
5774 630, 467, 475, 479, 481, 483, 477, 0, 668, 726,
5775 712, 714, 716, 720, 718, 724, 722, 582, 298, 586,
5776 584, 589, 620, 627, 377, 379, 903, 906, 911, 912,
5777 910, 914, 251, 42, 0, 0, 0, 243, 245, 0,
5778 238, 241, 242, 286, 288, 290, 294, 0, 0, 0,
5779 0, 0, 0, 0, 0, 0, 0, 308, 0, 0,
5780 315, 317, 319, 321, 323, 324, 325, 326, 327, 328,
5781 292, 285, 0, 258, 261, 262, 263, 264, 265, 266,
5782 267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
5783 277, 278, 279, 280, 281, 282, 283, 284, 0, 256,
5784 0, 252, 253, 404, 0, 400, 401, 559, 0, 555,
5785 556, 598, 0, 594, 595, 495, 0, 491, 492, 340,
5786 341, 342, 343, 344, 0, 332, 335, 336, 337, 338,
5787 339, 739, 0, 735, 736, 681, 0, 677, 678, 366,
5788 0, 362, 363, 0, 0, 0, 0, 0, 0, 0,
5789 382, 385, 386, 387, 388, 389, 390, 0, 0, 0,
5790 355, 0, 347, 350, 351, 352, 353, 354, 778, 0,
5791 774, 775, 0, 878, 0, 881, 874, 875, 0, 868,
5792 871, 872, 873, 876, 0, 932, 0, 929, 0, 0,
5793 0, 0, 978, 0, 971, 974, 975, 976, 977, 53,
5794 635, 0, 631, 632, 730, 0, 729, 0, 62, 916,
5795 204, 0, 0, 240, 237, 0, 0, 0, 0, 0,
5796 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5797 0, 0, 0, 0, 0, 0, 0, 0, 260, 235,
5798 248, 0, 250, 255, 0, 398, 403, 563, 551, 558,
5799 602, 592, 597, 0, 489, 494, 334, 331, 741, 733,
5800 738, 685, 675, 680, 0, 360, 365, 0, 0, 0,
5801 0, 0, 0, 384, 381, 0, 0, 0, 349, 346,
5802 0, 772, 777, 0, 0, 0, 0, 870, 867, 884,
5803 0, 931, 928, 0, 0, 0, 0, 973, 970, 55,
5804 0, 54, 0, 629, 634, 0, 728, 925, 0, 0,
5805 239, 0, 0, 0, 0, 296, 299, 300, 301, 302,
5806 303, 304, 305, 306, 307, 0, 313, 314, 0, 0,
5807 0, 0, 0, 0, 259, 0, 254, 0, 402, 0,
5808 557, 0, 596, 549, 519, 520, 521, 503, 504, 524,
5809 525, 526, 527, 528, 529, 547, 506, 507, 530, 531,
5810 532, 533, 534, 535, 536, 537, 538, 539, 540, 541,
5811 542, 543, 544, 545, 546, 548, 500, 501, 502, 515,
5812 516, 517, 518, 512, 513, 514, 0, 497, 505, 522,
5813 523, 508, 509, 510, 511, 493, 333, 764, 766, 0,
5814 0, 758, 759, 760, 761, 762, 763, 751, 752, 756,
5815 757, 753, 754, 755, 0, 742, 743, 746, 747, 748,
5816 749, 750, 737, 0, 679, 0, 364, 391, 392, 393,
5817 394, 395, 396, 383, 356, 357, 358, 348, 796, 801,
5818 803, 0, 826, 0, 807, 795, 788, 789, 790, 793,
5819 794, 0, 780, 783, 784, 785, 786, 791, 792, 787,
5820 776, 877, 0, 880, 0, 869, 947, 0, 945, 943,
5821 937, 941, 942, 0, 934, 939, 940, 938, 930, 979,
5822 980, 981, 982, 972, 52, 57, 0, 633, 0, 244,
5823 246, 287, 289, 291, 295, 310, 311, 312, 309, 316,
5824 318, 320, 322, 329, 293, 257, 405, 560, 599, 499,
5825 496, 0, 0, 0, 0, 740, 745, 682, 367, 0,
5826 0, 0, 0, 0, 0, 0, 782, 779, 879, 882,
5827 0, 0, 0, 936, 933, 56, 636, 731, 498, 0,
5828 0, 768, 769, 744, 0, 0, 0, 805, 0, 806,
5829 0, 781, 0, 944, 0, 935, 765, 767, 798, 799,
5830 800, 797, 802, 804, 0, 809, 0, 946, 838, 841,
5831 843, 845, 837, 836, 835, 0, 828, 831, 832, 833,
5832 834, 814, 0, 810, 811, 952, 0, 949, 0, 0,
5833 0, 0, 830, 827, 0, 808, 813, 0, 951, 948,
5834 0, 0, 0, 0, 829, 824, 823, 819, 821, 822,
5835 0, 816, 820, 812, 962, 0, 0, 0, 967, 0,
5836 954, 957, 958, 959, 960, 961, 950, 840, 839, 842,
5837 844, 847, 0, 818, 815, 0, 0, 0, 0, 0,
5838 956, 953, 852, 0, 848, 849, 0, 817, 0, 964,
5839 965, 966, 0, 955, 0, 846, 851, 825, 963, 968,
5840 864, 863, 857, 859, 860, 861, 862, 0, 854, 858,
5841 850, 0, 856, 853, 0, 855, 865
5845 Dhcp4Parser::yypgoto_[] =
5847 -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427,
5848 -1427, -1427, -1427, -1427, -1427, -53, -1427, -630, -1427, 528,
5849 -1427, -1427, -1427, -1427, -1427, -1427, -674, -1427, -1427, -1427,
5850 -67, -1427, -1427, -1427, -1427, -1427, -1427, -1427, 188, 728,
5851 12, 15, 23, 25, 81, 82, 86, 87, 89, 100,
5852 102, -1427, -1427, -1427, -1427, 107, -1427, -1427, 118, 121,
5853 35, 41, 43, 46, -1427, -1427, 48, -1427, 54, -1427,
5854 56, -1427, 59, 131, 61, -1427, -1427, 64, 66, 71,
5855 74, 76, -1427, 79, -1427, 133, -1427, -1427, -1427, -1427,
5856 -1427, 31, -1427, -1427, -1427, 508, 729, -1427, -1427, -1427,
5857 -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427,
5858 -1427, -1427, -1427, -1427, -1427, -1427, 242, -1427, -1427, -1427,
5859 -1427, -1427, -1427, -1427, -1427, 431, -1427, 219, -1427, -748,
5860 230, -1427, -1427, -1426, -1427, -1405, -1427, -1389, -1427, -1427,
5861 -1427, -1427, -32, -1427, -1427, -1427, -1427, -1427, -1427, -1427,
5862 -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1061, -1427,
5863 -1060, -1427, -1055, -1427, 140, -1427, -1427, -1427, -1427, -1427,
5864 -1427, 208, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427,
5865 191, -1427, -1427, -1427, -1427, -1427, -1427, -1427, 206, -1427,
5866 -1427, -1427, 212, 691, -1427, -1427, -1427, -1427, -1427, -1427,
5867 -1427, 201, -1427, -1427, -1427, -1427, -1427, -1427, -1048, -1427,
5868 -1427, -1427, 233, -1427, -1427, -1427, 236, 731, -1427, -1427,
5869 -1427, -1427, -1427, -1427, -1427, -1427, -1036, -1427, -58, -1427,
5870 -49, -1427, -36, -1427, 68, -1427, 135, 136, 138, -1427,
5871 -1427, -1427, -1427, -1427, 231, -1427, -1427, -28, -46, -1427,
5872 -1427, -1427, -1427, -1427, 238, -1427, -1427, -1427, 241, -1427,
5873 708, -1427, -69, -1427, -1427, -1427, -1427, -1427, -50, -1427,
5874 -1427, -1427, -1427, -1427, 2, -1427, -1427, -1427, 239, -1427,
5875 -1427, -1427, 240, -1427, 710, -1427, -1427, -1427, -1427, -1427,
5876 -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, 194,
5877 -1427, -1427, -1427, 190, 743, -1427, -1427, -1427, -51, -1427,
5878 -16, -1427, -59, -1427, -1427, -1427, 243, -1427, -1427, -1427,
5879 234, -1427, 735, -55, -1427, -20, -1427, -4, -1427, -1427,
5880 -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427,
5881 -1427, -1427, -1427, -1427, -1427, -1035, -1427, -1427, -1427, -1427,
5882 -1427, -1427, -1427, -1427, 244, -1427, -1427, -1427, -13, -1427,
5883 -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427,
5884 -1427, 225, -1427, -1427, -18, -1427, -1427, -1427, -1427, -1427,
5885 -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -87, -1427,
5886 -1427, -119, -1427, -1427, -1427, -1427, -1427, -77, -1427, -1427,
5887 -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -140,
5888 -1427, -1427, -153, -1427, -1427, -1427, -1427, -1427, 235, -1427,
5889 -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, 536,
5890 732, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427,
5891 -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, 579, 734,
5892 -1427, -1427, -1427, -1427, -1427, -1427, 245, -1427, -1427, -7,
5893 -1427, -1427, -1427, -1427, -1427, -1427, -68, -1427, -1427, -107,
5894 -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427, -1427,
5895 248, -1427, -1427, -1427, -1427
5899 Dhcp4Parser::yydefgoto_[] =
5901 0, 14, 15, 16, 17, 18, 19, 20, 21, 22,
5902 23, 24, 25, 26, 27, 36, 37, 38, 65, 784,
5903 82, 83, 39, 64, 79, 80, 800, 1009, 1110, 1111,
5904 881, 41, 66, 85, 463, 86, 43, 67, 161, 162,
5905 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
5906 173, 174, 175, 492, 176, 177, 513, 178, 179, 180,
5907 181, 182, 183, 184, 498, 769, 185, 499, 186, 500,
5908 187, 501, 188, 189, 190, 514, 781, 191, 192, 193,
5909 194, 195, 531, 196, 532, 197, 198, 199, 200, 201,
5910 202, 203, 204, 205, 467, 243, 244, 45, 68, 245,
5911 541, 246, 542, 803, 247, 543, 806, 248, 249, 250,
5912 251, 206, 477, 207, 468, 849, 850, 851, 1021, 852,
5913 1022, 208, 478, 209, 479, 910, 911, 912, 1051, 882,
5914 883, 884, 1025, 885, 1026, 886, 1027, 887, 1047, 888,
5915 1028, 889, 890, 580, 891, 892, 893, 894, 895, 896,
5916 897, 898, 899, 900, 1039, 1308, 901, 902, 903, 1042,
5917 904, 1043, 905, 1044, 906, 1045, 907, 1046, 210, 521,
5918 934, 935, 936, 937, 938, 939, 940, 211, 527, 971,
5919 972, 973, 974, 975, 212, 524, 950, 951, 952, 1074,
5920 59, 75, 427, 428, 429, 595, 430, 596, 213, 525,
5921 959, 960, 961, 962, 963, 964, 965, 966, 214, 509,
5922 914, 915, 916, 1054, 47, 69, 299, 300, 301, 554,
5923 302, 550, 303, 551, 304, 552, 305, 555, 306, 560,
5924 307, 557, 308, 558, 309, 559, 215, 216, 217, 313,
5925 218, 515, 926, 927, 928, 1063, 1196, 1197, 219, 510,
5926 53, 72, 918, 919, 920, 1057, 55, 73, 388, 389,
5927 390, 391, 392, 393, 394, 579, 395, 583, 396, 582,
5928 397, 398, 584, 399, 220, 511, 922, 923, 924, 1060,
5929 57, 74, 411, 412, 413, 414, 415, 588, 416, 417,
5930 418, 419, 420, 421, 592, 315, 553, 1011, 1012, 1013,
5931 1112, 49, 70, 346, 347, 348, 564, 349, 221, 516,
5932 222, 517, 223, 523, 946, 947, 948, 1071, 51, 71,
5933 364, 365, 366, 224, 472, 225, 473, 226, 474, 370,
5934 569, 371, 570, 372, 571, 373, 573, 374, 572, 375,
5935 575, 376, 574, 377, 568, 322, 561, 1015, 1016, 1115,
5936 227, 522, 942, 943, 944, 1068, 1224, 1225, 1226, 1227,
5937 1228, 1321, 1229, 1322, 1230, 1231, 228, 229, 528, 979,
5938 980, 981, 1090, 1261, 1262, 1263, 1329, 1371, 1264, 1330,
5939 1265, 1331, 1266, 1267, 1268, 1335, 1392, 1393, 1394, 1404,
5940 1420, 1421, 1422, 1442, 1269, 1333, 1385, 1386, 1387, 1398,
5941 1438, 1388, 1399, 1389, 1400, 1390, 1401, 1453, 1454, 1455,
5942 1464, 1477, 1478, 1479, 1481, 230, 529, 988, 989, 990,
5943 991, 1094, 992, 993, 1096, 231, 530, 61, 76, 442,
5944 443, 444, 445, 600, 446, 447, 602, 448, 449, 450,
5945 605, 840, 451, 606, 232, 466, 63, 77, 454, 455,
5946 456, 609, 457, 233, 536, 996, 997, 1100, 1283, 1284,
5947 1285, 1286, 1342, 1287, 1340, 1396, 1397, 1407, 1429, 1430,
5948 1431, 1445, 1432, 1433, 1434, 1435, 1449, 234, 537, 1003,
5949 1004, 1005, 1006, 1007, 1008
5953 Dhcp4Parser::yytable_[] =
5955 160, 242, 266, 325, 360, 409, 386, 407, 426, 439,
5956 318, 78, 341, 908, 319, 1187, 367, 252, 316, 350,
5957 362, 342, 400, 422, 410, 440, 378, 1188, 1204, 1256,
5958 1257, 813, 814, 815, 343, 1258, 838, 783, 1472, 28,
5959 819, 387, 408, 464, 424, 425, 81, 1066, 465, 320,
5960 1067, 368, 253, 317, 351, 363, 1472, 401, 423, 1473,
5961 441, 833, 29, 84, 30, 321, 31, 369, 854, 855,
5962 131, 314, 345, 361, 40, 1474, 458, 1473, 235, 236,
5963 1101, 267, 237, 1102, 268, 238, 239, 240, 241, 1305,
5964 1306, 1307, 269, 1474, 270, 459, 539, 548, 137, 138,
5965 298, 540, 549, 42, 281, 326, 424, 425, 783, 1378,
5966 282, 327, 283, 328, 562, 284, 329, 285, 330, 563,
5967 93, 94, 95, 286, 331, 287, 332, 159, 288, 333,
5968 290, 334, 566, 291, 335, 292, 336, 567, 344, 44,
5969 293, 337, 597, 294, 338, 295, 339, 598, 296, 340,
5970 271, 272, 137, 138, 607, 273, 274, 46, 275, 608,
5971 982, 983, 984, 611, 764, 765, 766, 767, 612, 276,
5972 539, 277, 611, 548, 1023, 1018, 278, 1019, 1020, 1024,
5973 93, 94, 95, 96, 452, 453, 1048, 279, 137, 138,
5974 280, 1049, 132, 379, 137, 138, 929, 930, 931, 932,
5975 289, 933, 297, 768, 310, 311, 1048, 312, 1470, 880,
5976 985, 1050, 1408, 137, 138, 1409, 1083, 839, 101, 102,
5977 103, 1084, 352, 998, 999, 1000, 1001, 48, 137, 138,
5978 804, 805, 353, 354, 355, 356, 357, 358, 359, 50,
5979 159, 953, 954, 955, 956, 957, 958, 1379, 1380, 1381,
5980 1088, 131, 132, 380, 1097, 1089, 52, 607, 380, 1098,
5981 381, 382, 1099, 54, 159, 383, 384, 385, 967, 968,
5982 969, 1187, 1107, 137, 138, 1256, 1257, 1108, 137, 138,
5983 56, 1258, 58, 1188, 1204, 1207, 1208, 1209, 1210, 60,
5984 87, 801, 802, 88, 32, 33, 34, 35, 62, 1048,
5985 159, 460, 461, 1145, 1315, 89, 159, 380, 90, 91,
5986 92, 93, 94, 95, 96, 97, 98, 99, 100, 562,
5987 847, 848, 380, 462, 1316, 159, 1424, 137, 138, 1425,
5988 1426, 1427, 1428, 1368, 1369, 1370, 1319, 870, 871, 872,
5989 159, 1320, 137, 138, 777, 778, 779, 780, 469, 101,
5990 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
5991 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
5992 122, 123, 124, 125, 126, 127, 128, 129, 130, 597,
5993 576, 1336, 131, 132, 1328, 159, 1337, 1415, 1343, 577,
5994 159, 470, 566, 1344, 133, 134, 135, 1346, 471, 475,
5995 476, 136, 137, 138, 137, 138, 613, 614, 480, 139,
5996 140, 141, 142, 143, 873, 874, 875, 876, 877, 878,
5997 1402, 1443, 144, 481, 1450, 1403, 1444, 482, 1276, 1451,
5998 1277, 1278, 145, 1482, 578, 146, 483, 484, 1483, 159,
5999 485, 486, 147, 148, 487, 488, 1248, 149, 489, 490,
6000 1249, 1250, 1251, 1252, 159, 491, 493, 494, 495, 496,
6001 1253, 1254, 497, 502, 503, 150, 504, 505, 506, 151,
6002 507, 508, 160, 512, 518, 519, 520, 526, 533, 534,
6003 535, 242, 538, 544, 152, 153, 154, 155, 156, 157,
6004 545, 546, 547, 556, 565, 266, 581, 252, 158, 325,
6005 585, 586, 587, 318, 589, 590, 591, 319, 341, 594,
6006 360, 316, 593, 599, 159, 350, 159, 342, 601, 603,
6007 386, 604, 367, 610, 615, 409, 362, 407, 616, 617,
6008 343, 618, 253, 619, 623, 620, 400, 624, 621, 622,
6009 439, 625, 320, 422, 410, 626, 317, 628, 627, 629,
6010 351, 630, 631, 632, 643, 387, 440, 368, 321, 633,
6011 634, 363, 408, 635, 314, 640, 636, 637, 345, 638,
6012 639, 401, 642, 369, 267, 641, 644, 268, 423, 361,
6013 645, 646, 649, 647, 650, 269, 648, 270, 651, 652,
6014 653, 441, 654, 298, 655, 656, 657, 281, 658, 659,
6015 660, 326, 661, 282, 662, 283, 663, 327, 284, 328,
6016 285, 664, 329, 665, 330, 666, 286, 667, 287, 668,
6017 331, 288, 332, 290, 1347, 333, 291, 334, 292, 672,
6018 335, 669, 336, 293, 344, 673, 294, 337, 295, 670,
6019 338, 296, 339, 271, 272, 340, 137, 138, 273, 274,
6020 671, 275, 674, 675, 676, 678, 679, 680, 677, 681,
6021 682, 683, 276, 687, 277, 684, 688, 685, 686, 278,
6022 690, 691, 692, 698, 693, 694, 695, 696, 699, 700,
6023 279, 701, 702, 280, 703, 704, 160, 705, 242, 706,
6024 707, 708, 709, 289, 711, 297, 714, 310, 311, 843,
6025 312, 715, 716, 712, 252, 717, 718, 719, 720, 721,
6026 723, 724, 431, 432, 433, 434, 435, 436, 437, 438,
6027 725, 726, 727, 728, 970, 729, 731, 439, 735, 737,
6028 738, 1002, 380, 402, 381, 382, 403, 404, 405, 253,
6029 976, 741, 986, 440, 91, 92, 93, 94, 95, 96,
6030 732, 733, 137, 138, 743, 746, 734, 747, 159, 749,
6031 740, 406, 1, 2, 3, 4, 5, 6, 7, 8,
6032 9, 10, 11, 12, 13, 977, 752, 987, 441, 742,
6033 744, 753, 745, 754, 101, 102, 103, 104, 105, 106,
6034 107, 108, 109, 110, 111, 750, 755, 756, 757, 116,
6035 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
6036 127, 128, 129, 758, 254, 255, 256, 760, 132, 759,
6037 761, 762, 773, 763, 770, 771, 772, 774, 775, 776,
6038 134, 135, 782, 30, 785, 786, 787, 257, 788, 137,
6039 138, 258, 259, 260, 139, 140, 141, 789, 261, 262,
6040 263, 790, 791, 792, 793, 264, 794, 144, 795, 796,
6041 797, 798, 799, 807, 159, 265, 808, 809, 810, 811,
6042 812, 816, 817, 818, 820, 821, 822, 116, 117, 118,
6043 119, 120, 121, 122, 123, 842, 125, 126, 127, 128,
6044 909, 823, 913, 917, 841, 824, 132, 825, 826, 921,
6045 827, 828, 829, 925, 941, 945, 949, 830, 831, 135,
6046 832, 978, 995, 834, 1010, 1014, 323, 137, 138, 152,
6047 153, 836, 1029, 1030, 1031, 1032, 261, 262, 263, 1033,
6048 837, 1034, 1035, 264, 324, 1036, 1037, 1038, 1040, 1041,
6049 1053, 844, 1052, 1056, 1055, 1058, 1059, 1061, 1062, 1065,
6050 1064, 159, 1070, 1069, 1072, 1073, 1075, 1076, 1109, 1077,
6051 1078, 1079, 1080, 1081, 1082, 1085, 1086, 1087, 1092, 1114,
6052 1091, 1093, 1095, 1103, 1104, 1105, 1106, 1125, 1126, 1113,
6053 1118, 1117, 1116, 1119, 1121, 1122, 1123, 266, 1124, 1128,
6054 386, 409, 1127, 407, 1129, 318, 1153, 152, 153, 319,
6055 1130, 1211, 1131, 316, 360, 1189, 400, 426, 1201, 422,
6056 410, 1132, 1199, 1221, 1190, 1133, 367, 1219, 1134, 1135,
6057 362, 970, 1217, 1255, 1136, 387, 1137, 1191, 408, 159,
6058 1138, 1186, 1139, 1279, 320, 1140, 1216, 976, 317, 1259,
6059 1002, 401, 1141, 1202, 423, 325, 986, 1200, 1222, 1281,
6060 321, 368, 1220, 1142, 341, 363, 314, 1143, 1237, 1203,
6061 1272, 350, 1238, 342, 1223, 1198, 267, 369, 1280, 268,
6062 1218, 1274, 977, 361, 1260, 1154, 343, 269, 1155, 270,
6063 1212, 987, 1294, 1213, 1282, 298, 1156, 1295, 1157, 281,
6064 1239, 1214, 1298, 1244, 1185, 282, 351, 283, 1168, 1215,
6065 284, 1271, 285, 1299, 1169, 1240, 1170, 1241, 286, 1171,
6066 287, 1172, 1242, 288, 345, 290, 1245, 1173, 291, 1174,
6067 292, 1289, 1175, 1317, 1177, 293, 1246, 1178, 294, 1179,
6068 295, 1192, 1273, 296, 1180, 271, 272, 1181, 1300, 1182,
6069 273, 274, 1183, 275, 1158, 1159, 1290, 326, 1291, 1160,
6070 1161, 1292, 1162, 327, 276, 328, 277, 1318, 329, 1301,
6071 330, 278, 1323, 1163, 1324, 1164, 331, 1302, 332, 1325,
6072 1165, 333, 279, 334, 1326, 280, 335, 1327, 336, 1303,
6073 344, 1166, 1332, 337, 1167, 289, 338, 297, 339, 310,
6074 311, 340, 312, 1334, 1176, 1341, 1184, 1349, 1193, 1194,
6075 1350, 1195, 1354, 1355, 1356, 1358, 1360, 1362, 1364, 1437,
6076 1406, 1375, 1374, 1376, 1304, 1309, 1391, 1395, 1405, 1410,
6077 1310, 1339, 1311, 1313, 1314, 1338, 1345, 1411, 1412, 1366,
6078 1351, 1352, 1357, 1359, 1363, 1367, 1372, 1373, 1377, 1413,
6079 1439, 1440, 1441, 1446, 1447, 1448, 1459, 1456, 1458, 1452,
6080 1460, 1461, 1153, 1462, 1465, 1466, 1467, 1468, 1469, 1211,
6081 1484, 1189, 1486, 846, 1201, 1120, 835, 689, 1199, 1255,
6082 1190, 1221, 1146, 1017, 1206, 1219, 1279, 697, 1144, 1247,
6083 1217, 1312, 1236, 1191, 1243, 1259, 1235, 1186, 739, 1148,
6084 1147, 1348, 1281, 710, 1216, 730, 1205, 1150, 1149, 1202,
6085 1151, 1152, 1296, 1200, 736, 1233, 1222, 1382, 1297, 713,
6086 1220, 1280, 722, 1353, 1232, 1203, 1234, 1270, 1361, 1423,
6087 1260, 1198, 1223, 1383, 1457, 1414, 1480, 1282, 1218, 1485,
6088 994, 1154, 1275, 845, 1155, 1382, 1365, 1416, 1212, 748,
6089 1436, 1213, 1156, 1463, 1157, 751, 1288, 0, 0, 1214,
6090 1185, 1383, 0, 1418, 1168, 1293, 0, 1215, 1384, 0,
6091 1169, 0, 1170, 0, 0, 1171, 0, 1172, 0, 0,
6092 0, 0, 1417, 1173, 0, 1174, 1416, 0, 1175, 0,
6093 1177, 0, 0, 1178, 0, 1179, 1384, 1192, 1419, 0,
6094 1180, 0, 1418, 1181, 0, 1182, 0, 1471, 1183, 0,
6095 1158, 1159, 0, 0, 0, 1160, 1161, 0, 1162, 0,
6096 0, 1417, 0, 1475, 0, 1471, 0, 0, 0, 1163,
6097 0, 1164, 0, 0, 0, 0, 1165, 1419, 0, 0,
6098 0, 1475, 0, 0, 0, 0, 0, 1166, 0, 0,
6099 1167, 91, 92, 93, 94, 95, 96, 0, 1476, 0,
6100 1176, 0, 1184, 0, 1193, 1194, 0, 1195, 0, 0,
6101 0, 0, 0, 0, 0, 0, 1476, 0, 0, 0,
6102 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
6103 0, 101, 102, 103, 104, 105, 106, 107, 108, 109,
6104 110, 111, 0, 0, 0, 0, 116, 117, 118, 119,
6105 120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
6106 130, 0, 0, 0, 0, 132, 380, 0, 0, 0,
6107 0, 0, 0, 0, 0, 0, 0, 134, 135, 0,
6108 0, 0, 0, 0, 0, 0, 137, 138, 0, 259,
6109 0, 139, 140, 141, 0, 261, 262, 263, 0, 0,
6110 0, 0, 264, 0, 0, 0, 0, 0, 0, 0,
6111 0, 0, 265, 853, 854, 855, 856, 857, 858, 859,
6112 860, 861, 862, 863, 864, 865, 866, 867, 0, 0,
6113 0, 868, 869, 870, 871, 872, 873, 874, 875, 876,
6114 877, 878, 879, 0, 0, 0, 0, 0, 0, 0,
6115 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
6116 0, 0, 0, 0, 0, 0, 152, 153, 0, 0,
6117 0, 0, 0, 0, 0, 0, 0, 0, 380, 0,
6118 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
6119 0, 0, 0, 0, 0, 0, 0, 0, 159, 0,
6120 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
6121 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
6122 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
6123 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
6124 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
6125 0, 0, 0, 0, 0, 880, 0, 0, 0, 0,
6126 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
6127 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
6128 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
6129 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
6130 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
6135 Dhcp4Parser::yycheck_[] =
6137 67, 68, 69, 70, 71, 74, 73, 74, 75, 76,
6138 69, 64, 70, 761, 69, 1063, 71, 68, 69, 70,
6139 71, 70, 73, 74, 74, 76, 72, 1063, 1063, 1090,
6140 1090, 705, 706, 707, 70, 1090, 18, 667, 1464, 0,
6141 714, 73, 74, 3, 154, 155, 237, 3, 8, 69,
6142 6, 71, 68, 69, 70, 71, 1482, 73, 74, 1464,
6143 76, 735, 5, 10, 7, 69, 9, 71, 41, 42,
6144 103, 69, 70, 71, 7, 1464, 6, 1482, 15, 16,
6145 3, 69, 19, 6, 69, 22, 23, 24, 25, 55,
6146 56, 57, 69, 1482, 69, 3, 3, 3, 125, 126,
6147 69, 8, 8, 7, 69, 70, 154, 155, 738, 40,
6148 69, 70, 69, 70, 3, 69, 70, 69, 70, 8,
6149 32, 33, 34, 69, 70, 69, 70, 237, 69, 70,
6150 69, 70, 3, 69, 70, 69, 70, 8, 70, 7,
6151 69, 70, 3, 69, 70, 69, 70, 8, 69, 70,
6152 69, 69, 125, 126, 3, 69, 69, 7, 69, 8,
6153 187, 188, 189, 3, 201, 202, 203, 204, 8, 69,
6154 3, 69, 3, 3, 3, 8, 69, 8, 8, 8,
6155 32, 33, 34, 35, 12, 13, 3, 69, 125, 126,
6156 69, 8, 104, 40, 125, 126, 145, 146, 147, 148,
6157 69, 150, 69, 240, 69, 69, 3, 69, 181, 182,
6158 237, 8, 3, 125, 126, 6, 3, 199, 70, 71,
6159 72, 8, 134, 220, 221, 222, 223, 7, 125, 126,
6160 20, 21, 144, 145, 146, 147, 148, 149, 150, 7,
6161 237, 157, 158, 159, 160, 161, 162, 178, 179, 180,
6162 3, 103, 104, 105, 3, 8, 7, 3, 105, 8,
6163 107, 108, 8, 7, 237, 112, 113, 114, 165, 166,
6164 167, 1319, 3, 125, 126, 1336, 1336, 8, 125, 126,
6165 7, 1336, 7, 1319, 1319, 137, 138, 139, 140, 7,
6166 11, 17, 18, 14, 237, 238, 239, 240, 7, 3,
6167 237, 4, 8, 1051, 8, 26, 237, 105, 29, 30,
6168 31, 32, 33, 34, 35, 36, 37, 38, 39, 3,
6169 27, 28, 105, 3, 8, 237, 212, 125, 126, 215,
6170 216, 217, 218, 170, 171, 172, 3, 60, 61, 62,
6171 237, 8, 125, 126, 118, 119, 120, 121, 4, 70,
6172 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
6173 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
6174 91, 92, 93, 94, 95, 96, 97, 98, 99, 3,
6175 8, 3, 103, 104, 8, 237, 8, 185, 3, 3,
6176 237, 4, 3, 8, 115, 116, 117, 8, 4, 4,
6177 4, 122, 125, 126, 125, 126, 459, 460, 4, 130,
6178 131, 132, 133, 134, 63, 64, 65, 66, 67, 68,
6179 3, 3, 143, 4, 3, 8, 8, 4, 211, 8,
6180 213, 214, 153, 3, 8, 156, 4, 4, 8, 237,
6181 4, 4, 163, 164, 4, 4, 169, 168, 4, 4,
6182 173, 174, 175, 176, 237, 4, 4, 4, 4, 4,
6183 183, 184, 4, 4, 4, 186, 4, 4, 4, 190,
6184 4, 4, 539, 4, 4, 4, 4, 4, 4, 4,
6185 4, 548, 4, 4, 205, 206, 207, 208, 209, 210,
6186 4, 4, 4, 4, 4, 562, 4, 548, 219, 566,
6187 4, 8, 3, 562, 4, 4, 4, 562, 566, 3,
6188 577, 562, 8, 4, 237, 566, 237, 566, 4, 4,
6189 587, 4, 577, 4, 237, 594, 577, 594, 4, 4,
6190 566, 4, 548, 4, 4, 240, 587, 4, 240, 240,
6191 607, 4, 562, 594, 594, 238, 562, 4, 240, 4,
6192 566, 4, 238, 238, 4, 587, 607, 577, 562, 238,
6193 238, 577, 594, 238, 562, 238, 240, 239, 566, 239,
6194 239, 587, 238, 577, 562, 239, 238, 562, 594, 577,
6195 238, 240, 4, 240, 4, 562, 240, 562, 4, 4,
6196 240, 607, 240, 562, 239, 238, 238, 562, 238, 240,
6197 4, 566, 4, 562, 4, 562, 238, 566, 562, 566,
6198 562, 4, 566, 4, 566, 4, 562, 4, 562, 4,
6199 566, 562, 566, 562, 1298, 566, 562, 566, 562, 4,
6200 566, 240, 566, 562, 566, 4, 562, 566, 562, 240,
6201 566, 562, 566, 562, 562, 566, 125, 126, 562, 562,
6202 240, 562, 4, 4, 4, 4, 4, 4, 238, 4,
6203 4, 4, 562, 4, 562, 240, 4, 240, 240, 562,
6204 4, 4, 4, 4, 240, 240, 238, 238, 4, 4,
6205 562, 4, 4, 562, 4, 238, 753, 4, 755, 4,
6206 4, 4, 4, 562, 4, 562, 4, 562, 562, 752,
6207 562, 4, 4, 238, 755, 4, 4, 4, 4, 4,
6208 4, 4, 191, 192, 193, 194, 195, 196, 197, 198,
6209 238, 4, 4, 4, 791, 240, 4, 794, 4, 4,
6210 4, 798, 105, 106, 107, 108, 109, 110, 111, 755,
6211 791, 4, 793, 794, 30, 31, 32, 33, 34, 35,
6212 240, 240, 125, 126, 4, 4, 240, 4, 237, 4,
6213 240, 134, 224, 225, 226, 227, 228, 229, 230, 231,
6214 232, 233, 234, 235, 236, 791, 4, 793, 794, 238,
6215 238, 7, 238, 7, 70, 71, 72, 73, 74, 75,
6216 76, 77, 78, 79, 80, 238, 7, 7, 237, 85,
6217 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
6218 96, 97, 98, 237, 100, 101, 102, 7, 104, 237,
6219 7, 5, 5, 237, 237, 237, 237, 5, 5, 237,
6220 116, 117, 5, 7, 237, 5, 5, 123, 5, 125,
6221 126, 127, 128, 129, 130, 131, 132, 5, 134, 135,
6222 136, 7, 7, 5, 7, 141, 7, 143, 237, 237,
6223 5, 7, 5, 237, 237, 151, 237, 237, 5, 237,
6224 237, 237, 7, 237, 237, 237, 237, 85, 86, 87,
6225 88, 89, 90, 91, 92, 5, 94, 95, 96, 97,
6226 7, 237, 7, 7, 200, 237, 104, 237, 237, 7,
6227 237, 237, 237, 7, 7, 7, 7, 237, 237, 117,
6228 237, 7, 7, 237, 7, 152, 124, 125, 126, 205,
6229 206, 237, 4, 4, 4, 4, 134, 135, 136, 4,
6230 237, 4, 4, 141, 142, 4, 4, 4, 4, 4,
6231 3, 753, 6, 3, 6, 6, 3, 6, 3, 3,
6232 6, 237, 3, 6, 6, 3, 6, 3, 237, 4,
6233 4, 4, 4, 4, 4, 4, 4, 4, 3, 3,
6234 6, 4, 4, 4, 4, 4, 4, 238, 240, 6,
6235 4, 6, 8, 4, 4, 4, 4, 1054, 4, 240,
6236 1057, 1060, 238, 1060, 238, 1054, 1063, 205, 206, 1054,
6237 238, 1068, 238, 1054, 1071, 1063, 1057, 1074, 1063, 1060,
6238 1060, 238, 1063, 1068, 1063, 238, 1071, 1068, 238, 4,
6239 1071, 1088, 1068, 1090, 240, 1057, 238, 1063, 1060, 237,
6240 4, 1063, 4, 1100, 1054, 4, 1068, 1088, 1054, 1090,
6241 1107, 1057, 4, 1063, 1060, 1112, 1097, 1063, 1068, 1100,
6242 1054, 1071, 1068, 4, 1112, 1071, 1054, 4, 238, 1063,
6243 4, 1112, 238, 1112, 1068, 1063, 1054, 1071, 1100, 1054,
6244 1068, 4, 1088, 1071, 1090, 1063, 1112, 1054, 1063, 1054,
6245 1068, 1097, 6, 1068, 1100, 1054, 1063, 3, 1063, 1054,
6246 238, 1068, 4, 240, 1063, 1054, 1112, 1054, 1063, 1068,
6247 1054, 240, 1054, 237, 1063, 238, 1063, 238, 1054, 1063,
6248 1054, 1063, 238, 1054, 1112, 1054, 238, 1063, 1054, 1063,
6249 1054, 240, 1063, 8, 1063, 1054, 238, 1063, 1054, 1063,
6250 1054, 1063, 238, 1054, 1063, 1054, 1054, 1063, 237, 1063,
6251 1054, 1054, 1063, 1054, 1063, 1063, 240, 1112, 240, 1063,
6252 1063, 240, 1063, 1112, 1054, 1112, 1054, 8, 1112, 237,
6253 1112, 1054, 4, 1063, 4, 1063, 1112, 237, 1112, 8,
6254 1063, 1112, 1054, 1112, 3, 1054, 1112, 8, 1112, 237,
6255 1112, 1063, 4, 1112, 1063, 1054, 1112, 1054, 1112, 1054,
6256 1054, 1112, 1054, 4, 1063, 4, 1063, 4, 1063, 1063,
6257 4, 1063, 4, 4, 4, 4, 4, 4, 4, 177,
6258 3, 5, 7, 5, 237, 237, 7, 7, 6, 4,
6259 237, 1274, 237, 237, 237, 237, 237, 4, 4, 237,
6260 240, 240, 238, 240, 238, 237, 237, 237, 237, 4,
6261 237, 237, 5, 4, 4, 4, 240, 4, 4, 7,
6262 238, 238, 1319, 4, 6, 3, 237, 237, 237, 1326,
6263 4, 1319, 237, 755, 1319, 1023, 738, 539, 1319, 1336,
6264 1319, 1326, 1053, 842, 1066, 1326, 1343, 548, 1048, 1088,
6265 1326, 1141, 1076, 1319, 1083, 1336, 1074, 1319, 597, 1056,
6266 1054, 1319, 1343, 562, 1326, 587, 1065, 1059, 1057, 1319,
6267 1060, 1062, 1112, 1319, 594, 1071, 1326, 1374, 1114, 566,
6268 1326, 1343, 577, 1326, 1070, 1319, 1073, 1092, 1336, 1406,
6269 1336, 1319, 1326, 1374, 1443, 1402, 1466, 1343, 1326, 1482,
6270 794, 1319, 1097, 754, 1319, 1402, 1343, 1404, 1326, 607,
6271 1408, 1326, 1319, 1450, 1319, 611, 1101, -1, -1, 1326,
6272 1319, 1402, -1, 1404, 1319, 1107, -1, 1326, 1374, -1,
6273 1319, -1, 1319, -1, -1, 1319, -1, 1319, -1, -1,
6274 -1, -1, 1404, 1319, -1, 1319, 1443, -1, 1319, -1,
6275 1319, -1, -1, 1319, -1, 1319, 1402, 1319, 1404, -1,
6276 1319, -1, 1443, 1319, -1, 1319, -1, 1464, 1319, -1,
6277 1319, 1319, -1, -1, -1, 1319, 1319, -1, 1319, -1,
6278 -1, 1443, -1, 1464, -1, 1482, -1, -1, -1, 1319,
6279 -1, 1319, -1, -1, -1, -1, 1319, 1443, -1, -1,
6280 -1, 1482, -1, -1, -1, -1, -1, 1319, -1, -1,
6281 1319, 30, 31, 32, 33, 34, 35, -1, 1464, -1,
6282 1319, -1, 1319, -1, 1319, 1319, -1, 1319, -1, -1,
6283 -1, -1, -1, -1, -1, -1, 1482, -1, -1, -1,
6284 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6285 -1, 70, 71, 72, 73, 74, 75, 76, 77, 78,
6286 79, 80, -1, -1, -1, -1, 85, 86, 87, 88,
6287 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
6288 99, -1, -1, -1, -1, 104, 105, -1, -1, -1,
6289 -1, -1, -1, -1, -1, -1, -1, 116, 117, -1,
6290 -1, -1, -1, -1, -1, -1, 125, 126, -1, 128,
6291 -1, 130, 131, 132, -1, 134, 135, 136, -1, -1,
6292 -1, -1, 141, -1, -1, -1, -1, -1, -1, -1,
6293 -1, -1, 151, 40, 41, 42, 43, 44, 45, 46,
6294 47, 48, 49, 50, 51, 52, 53, 54, -1, -1,
6295 -1, 58, 59, 60, 61, 62, 63, 64, 65, 66,
6296 67, 68, 69, -1, -1, -1, -1, -1, -1, -1,
6297 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6298 -1, -1, -1, -1, -1, -1, 205, 206, -1, -1,
6299 -1, -1, -1, -1, -1, -1, -1, -1, 105, -1,
6300 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6301 -1, -1, -1, -1, -1, -1, -1, -1, 237, -1,
6302 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6303 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6304 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6305 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6306 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6307 -1, -1, -1, -1, -1, 182, -1, -1, -1, -1,
6308 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6309 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6310 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6311 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6312 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6317 Dhcp4Parser::yystos_[] =
6319 0, 224, 225, 226, 227, 228, 229, 230, 231, 232,
6320 233, 234, 235, 236, 242, 243, 244, 245, 246, 247,
6321 248, 249, 250, 251, 252, 253, 254, 255, 0, 5,
6322 7, 9, 237, 238, 239, 240, 256, 257, 258, 263,
6323 7, 272, 7, 277, 7, 338, 7, 455, 7, 542,
6324 7, 559, 7, 491, 7, 497, 7, 521, 7, 431,
6325 7, 668, 7, 687, 264, 259, 273, 278, 339, 456,
6326 543, 560, 492, 498, 522, 432, 669, 688, 256, 265,
6327 266, 237, 261, 262, 10, 274, 276, 11, 14, 26,
6328 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
6329 39, 70, 71, 72, 73, 74, 75, 76, 77, 78,
6330 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
6331 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
6332 99, 103, 104, 115, 116, 117, 122, 125, 126, 130,
6333 131, 132, 133, 134, 143, 153, 156, 163, 164, 168,
6334 186, 190, 205, 206, 207, 208, 209, 210, 219, 237,
6335 271, 279, 280, 281, 282, 283, 284, 285, 286, 287,
6336 288, 289, 290, 291, 292, 293, 295, 296, 298, 299,
6337 300, 301, 302, 303, 304, 307, 309, 311, 313, 314,
6338 315, 318, 319, 320, 321, 322, 324, 326, 327, 328,
6339 329, 330, 331, 332, 333, 334, 352, 354, 362, 364,
6340 409, 418, 425, 439, 449, 477, 478, 479, 481, 489,
6341 515, 549, 551, 553, 564, 566, 568, 591, 607, 608,
6342 656, 666, 685, 694, 718, 15, 16, 19, 22, 23,
6343 24, 25, 271, 336, 337, 340, 342, 345, 348, 349,
6344 350, 351, 549, 551, 100, 101, 102, 123, 127, 128,
6345 129, 134, 135, 136, 141, 151, 271, 281, 282, 283,
6346 284, 285, 286, 287, 288, 289, 290, 291, 296, 299,
6347 300, 301, 302, 303, 304, 307, 309, 311, 313, 314,
6348 315, 318, 319, 320, 321, 322, 324, 326, 332, 457,
6349 458, 459, 461, 463, 465, 467, 469, 471, 473, 475,
6350 477, 478, 479, 480, 515, 536, 549, 551, 553, 564,
6351 566, 568, 586, 124, 142, 271, 301, 302, 303, 304,
6352 307, 309, 311, 313, 315, 318, 319, 320, 321, 322,
6353 324, 469, 471, 473, 475, 515, 544, 545, 546, 548,
6354 549, 551, 134, 144, 145, 146, 147, 148, 149, 150,
6355 271, 515, 549, 551, 561, 562, 563, 564, 566, 568,
6356 570, 572, 574, 576, 578, 580, 582, 584, 489, 40,
6357 105, 107, 108, 112, 113, 114, 271, 383, 499, 500,
6358 501, 502, 503, 504, 505, 507, 509, 511, 512, 514,
6359 549, 551, 106, 109, 110, 111, 134, 271, 383, 503,
6360 509, 523, 524, 525, 526, 527, 529, 530, 531, 532,
6361 533, 534, 549, 551, 154, 155, 271, 433, 434, 435,
6362 437, 191, 192, 193, 194, 195, 196, 197, 198, 271,
6363 549, 551, 670, 671, 672, 673, 675, 676, 678, 679,
6364 680, 683, 12, 13, 689, 690, 691, 693, 6, 3,
6365 4, 8, 3, 275, 3, 8, 686, 335, 355, 4,
6366 4, 4, 565, 567, 569, 4, 4, 353, 363, 365,
6367 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
6368 4, 4, 294, 4, 4, 4, 4, 4, 305, 308,
6369 310, 312, 4, 4, 4, 4, 4, 4, 4, 450,
6370 490, 516, 4, 297, 316, 482, 550, 552, 4, 4,
6371 4, 410, 592, 554, 426, 440, 4, 419, 609, 657,
6372 667, 323, 325, 4, 4, 4, 695, 719, 4, 3,
6373 8, 341, 343, 346, 4, 4, 4, 4, 3, 8,
6374 462, 464, 466, 537, 460, 468, 4, 472, 474, 476,
6375 470, 587, 3, 8, 547, 4, 3, 8, 585, 571,
6376 573, 575, 579, 577, 583, 581, 8, 3, 8, 506,
6377 384, 4, 510, 508, 513, 4, 8, 3, 528, 4,
6378 4, 4, 535, 8, 3, 436, 438, 3, 8, 4,
6379 674, 4, 677, 4, 4, 681, 684, 3, 8, 692,
6380 4, 3, 8, 256, 256, 237, 4, 4, 4, 4,
6381 240, 240, 240, 4, 4, 4, 238, 240, 4, 4,
6382 4, 238, 238, 238, 238, 238, 240, 239, 239, 239,
6383 238, 239, 238, 4, 238, 238, 240, 240, 240, 4,
6384 4, 4, 4, 240, 240, 239, 238, 238, 238, 240,
6385 4, 4, 4, 238, 4, 4, 4, 4, 4, 240,
6386 240, 240, 4, 4, 4, 4, 4, 238, 4, 4,
6387 4, 4, 4, 4, 240, 240, 240, 4, 4, 280,
6388 4, 4, 4, 240, 240, 238, 238, 337, 4, 4,
6389 4, 4, 4, 4, 238, 4, 4, 4, 4, 4,
6390 458, 4, 238, 545, 4, 4, 4, 4, 4, 4,
6391 4, 4, 563, 4, 4, 238, 4, 4, 4, 240,
6392 501, 4, 240, 240, 240, 4, 525, 4, 4, 434,
6393 240, 4, 238, 4, 238, 238, 4, 4, 671, 4,
6394 238, 690, 4, 7, 7, 7, 7, 237, 237, 237,
6395 7, 7, 5, 237, 201, 202, 203, 204, 240, 306,
6396 237, 237, 237, 5, 5, 5, 237, 118, 119, 120,
6397 121, 317, 5, 258, 260, 237, 5, 5, 5, 5,
6398 7, 7, 5, 7, 7, 237, 237, 5, 7, 5,
6399 267, 17, 18, 344, 20, 21, 347, 237, 237, 237,
6400 5, 237, 237, 267, 267, 267, 237, 7, 237, 267,
6401 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
6402 237, 237, 237, 267, 237, 260, 237, 237, 18, 199,
6403 682, 200, 5, 256, 279, 689, 336, 27, 28, 356,
6404 357, 358, 360, 40, 41, 42, 43, 44, 45, 46,
6405 47, 48, 49, 50, 51, 52, 53, 54, 58, 59,
6406 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
6407 182, 271, 370, 371, 372, 374, 376, 378, 380, 382,
6408 383, 385, 386, 387, 388, 389, 390, 391, 392, 393,
6409 394, 397, 398, 399, 401, 403, 405, 407, 370, 7,
6410 366, 367, 368, 7, 451, 452, 453, 7, 493, 494,
6411 495, 7, 517, 518, 519, 7, 483, 484, 485, 145,
6412 146, 147, 148, 150, 411, 412, 413, 414, 415, 416,
6413 417, 7, 593, 594, 595, 7, 555, 556, 557, 7,
6414 427, 428, 429, 157, 158, 159, 160, 161, 162, 441,
6415 442, 443, 444, 445, 446, 447, 448, 165, 166, 167,
6416 271, 420, 421, 422, 423, 424, 549, 551, 7, 610,
6417 611, 612, 187, 188, 189, 237, 549, 551, 658, 659,
6418 660, 661, 663, 664, 670, 7, 696, 697, 220, 221,
6419 222, 223, 271, 720, 721, 722, 723, 724, 725, 268,
6420 7, 538, 539, 540, 152, 588, 589, 366, 8, 8,
6421 8, 359, 361, 3, 8, 373, 375, 377, 381, 4,
6422 4, 4, 4, 4, 4, 4, 4, 4, 4, 395,
6423 4, 4, 400, 402, 404, 406, 408, 379, 3, 8,
6424 8, 369, 6, 3, 454, 6, 3, 496, 6, 3,
6425 520, 6, 3, 486, 6, 3, 3, 6, 596, 6,
6426 3, 558, 6, 3, 430, 6, 3, 4, 4, 4,
6427 4, 4, 4, 3, 8, 4, 4, 4, 3, 8,
6428 613, 6, 3, 4, 662, 4, 665, 3, 8, 8,
6429 698, 3, 6, 4, 4, 4, 4, 3, 8, 237,
6430 269, 270, 541, 6, 3, 590, 8, 6, 4, 4,
6431 357, 4, 4, 4, 4, 238, 240, 238, 240, 238,
6432 238, 238, 238, 238, 238, 4, 240, 238, 4, 4,
6433 4, 4, 4, 4, 371, 370, 368, 457, 453, 499,
6434 495, 523, 519, 271, 281, 282, 283, 284, 285, 286,
6435 287, 288, 289, 290, 291, 296, 299, 300, 301, 302,
6436 303, 304, 307, 309, 311, 313, 314, 315, 318, 319,
6437 320, 321, 322, 324, 326, 332, 383, 449, 467, 469,
6438 471, 473, 475, 477, 478, 479, 487, 488, 515, 549,
6439 551, 564, 566, 568, 586, 485, 412, 137, 138, 139,
6440 140, 271, 281, 282, 283, 332, 383, 489, 515, 549,
6441 551, 564, 566, 568, 597, 598, 599, 600, 601, 603,
6442 605, 606, 595, 561, 557, 433, 429, 238, 238, 238,
6443 238, 238, 238, 442, 240, 238, 238, 421, 169, 173,
6444 174, 175, 176, 183, 184, 271, 399, 401, 403, 549,
6445 551, 614, 615, 616, 619, 621, 623, 624, 625, 635,
6446 612, 240, 4, 238, 4, 659, 211, 213, 214, 271,
6447 383, 549, 551, 699, 700, 701, 702, 704, 697, 240,
6448 240, 240, 240, 721, 6, 3, 544, 540, 4, 237,
6449 237, 237, 237, 237, 237, 55, 56, 57, 396, 237,
6450 237, 237, 405, 237, 237, 8, 8, 8, 8, 3,
6451 8, 602, 604, 4, 4, 8, 3, 8, 8, 617,
6452 620, 622, 4, 636, 4, 626, 3, 8, 237, 256,
6453 705, 4, 703, 3, 8, 237, 8, 267, 488, 4,
6454 4, 240, 240, 599, 4, 4, 4, 238, 4, 240,
6455 4, 615, 4, 238, 4, 700, 237, 237, 170, 171,
6456 172, 618, 237, 237, 7, 5, 5, 237, 40, 178,
6457 179, 180, 271, 549, 551, 637, 638, 639, 642, 644,
6458 646, 7, 627, 628, 629, 7, 706, 707, 640, 643,
6459 645, 647, 3, 8, 630, 6, 3, 708, 3, 6,
6460 4, 4, 4, 4, 638, 185, 271, 383, 549, 551,
6461 631, 632, 633, 629, 212, 215, 216, 217, 218, 709,
6462 710, 711, 713, 714, 715, 716, 707, 177, 641, 237,
6463 237, 5, 634, 3, 8, 712, 4, 4, 4, 717,
6464 3, 8, 7, 648, 649, 650, 4, 632, 4, 240,
6465 238, 238, 4, 710, 651, 6, 3, 237, 237, 237,
6466 181, 271, 374, 376, 378, 549, 551, 652, 653, 654,
6467 650, 655, 3, 8, 4, 653, 237
6471 Dhcp4Parser::yyr1_[] =
6473 0, 241, 243, 242, 244, 242, 245, 242, 246, 242,
6474 247, 242, 248, 242, 249, 242, 250, 242, 251, 242,
6475 252, 242, 253, 242, 254, 242, 255, 242, 256, 256,
6476 256, 256, 256, 256, 256, 257, 259, 258, 260, 261,
6477 261, 262, 262, 262, 264, 263, 265, 265, 266, 266,
6478 266, 268, 267, 269, 269, 270, 270, 270, 271, 273,
6479 272, 275, 274, 274, 276, 278, 277, 279, 279, 279,
6480 280, 280, 280, 280, 280, 280, 280, 280, 280, 280,
6481 280, 280, 280, 280, 280, 280, 280, 280, 280, 280,
6482 280, 280, 280, 280, 280, 280, 280, 280, 280, 280,
6483 280, 280, 280, 280, 280, 280, 280, 280, 280, 280,
6484 280, 280, 280, 280, 280, 280, 280, 280, 280, 280,
6485 280, 280, 280, 280, 280, 280, 280, 280, 280, 280,
6486 280, 280, 280, 280, 280, 280, 280, 280, 280, 280,
6487 280, 280, 280, 281, 282, 283, 284, 285, 286, 287,
6488 288, 289, 290, 291, 292, 294, 293, 295, 297, 296,
6489 298, 299, 300, 301, 302, 303, 305, 304, 306, 306,
6490 306, 306, 306, 308, 307, 310, 309, 312, 311, 313,
6491 314, 316, 315, 317, 317, 317, 317, 318, 319, 320,
6492 321, 323, 322, 325, 324, 326, 327, 328, 329, 330,
6493 331, 332, 333, 335, 334, 336, 336, 336, 337, 337,
6494 337, 337, 337, 337, 337, 337, 337, 337, 339, 338,
6495 341, 340, 343, 342, 344, 344, 346, 345, 347, 347,
6496 348, 349, 350, 351, 353, 352, 355, 354, 356, 356,
6497 356, 357, 357, 359, 358, 361, 360, 363, 362, 365,
6498 364, 366, 366, 367, 367, 367, 369, 368, 370, 370,
6499 370, 371, 371, 371, 371, 371, 371, 371, 371, 371,
6500 371, 371, 371, 371, 371, 371, 371, 371, 371, 371,
6501 371, 371, 371, 371, 371, 371, 373, 372, 375, 374,
6502 377, 376, 379, 378, 381, 380, 382, 384, 383, 385,
6503 386, 387, 388, 389, 390, 391, 392, 393, 395, 394,
6504 396, 396, 396, 397, 398, 400, 399, 402, 401, 404,
6505 403, 406, 405, 405, 405, 405, 405, 405, 408, 407,
6506 410, 409, 411, 411, 411, 412, 412, 412, 412, 412,
6507 413, 414, 415, 416, 417, 419, 418, 420, 420, 420,
6508 421, 421, 421, 421, 421, 421, 422, 423, 424, 426,
6509 425, 427, 427, 428, 428, 428, 430, 429, 432, 431,
6510 433, 433, 433, 433, 434, 434, 436, 435, 438, 437,
6511 440, 439, 441, 441, 441, 442, 442, 442, 442, 442,
6512 442, 443, 444, 445, 446, 447, 448, 450, 449, 451,
6513 451, 452, 452, 452, 454, 453, 456, 455, 457, 457,
6514 457, 458, 458, 458, 458, 458, 458, 458, 458, 458,
6515 458, 458, 458, 458, 458, 458, 458, 458, 458, 458,
6516 458, 458, 458, 458, 458, 458, 458, 458, 458, 458,
6517 458, 458, 458, 458, 458, 458, 458, 458, 458, 458,
6518 458, 458, 458, 458, 458, 458, 458, 458, 458, 458,
6519 458, 458, 458, 458, 458, 458, 460, 459, 462, 461,
6520 464, 463, 466, 465, 468, 467, 470, 469, 472, 471,
6521 474, 473, 476, 475, 477, 478, 479, 480, 482, 481,
6522 483, 483, 484, 484, 484, 486, 485, 487, 487, 487,
6523 488, 488, 488, 488, 488, 488, 488, 488, 488, 488,
6524 488, 488, 488, 488, 488, 488, 488, 488, 488, 488,
6525 488, 488, 488, 488, 488, 488, 488, 488, 488, 488,
6526 488, 488, 488, 488, 488, 488, 488, 488, 488, 488,
6527 488, 488, 488, 488, 488, 488, 488, 488, 488, 488,
6528 490, 489, 492, 491, 493, 493, 494, 494, 494, 496,
6529 495, 498, 497, 499, 499, 500, 500, 500, 501, 501,
6530 501, 501, 501, 501, 501, 501, 501, 501, 502, 503,
6531 504, 506, 505, 508, 507, 510, 509, 511, 513, 512,
6532 514, 516, 515, 517, 517, 518, 518, 518, 520, 519,
6533 522, 521, 523, 523, 524, 524, 524, 525, 525, 525,
6534 525, 525, 525, 525, 525, 525, 525, 525, 526, 528,
6535 527, 529, 530, 531, 532, 533, 535, 534, 537, 536,
6536 538, 538, 539, 539, 539, 541, 540, 543, 542, 544,
6537 544, 544, 545, 545, 545, 545, 545, 545, 545, 545,
6538 545, 545, 545, 545, 545, 545, 545, 545, 545, 545,
6539 545, 545, 545, 545, 545, 545, 545, 547, 546, 548,
6540 550, 549, 552, 551, 554, 553, 555, 555, 556, 556,
6541 556, 558, 557, 560, 559, 561, 561, 562, 562, 562,
6542 563, 563, 563, 563, 563, 563, 563, 563, 563, 563,
6543 563, 563, 563, 563, 563, 565, 564, 567, 566, 569,
6544 568, 571, 570, 573, 572, 575, 574, 577, 576, 579,
6545 578, 581, 580, 583, 582, 585, 584, 587, 586, 588,
6546 590, 589, 592, 591, 593, 593, 594, 594, 594, 596,
6547 595, 597, 597, 598, 598, 598, 599, 599, 599, 599,
6548 599, 599, 599, 599, 599, 599, 599, 599, 599, 599,
6549 599, 599, 599, 600, 602, 601, 604, 603, 605, 606,
6550 607, 609, 608, 610, 610, 611, 611, 611, 613, 612,
6551 614, 614, 614, 615, 615, 615, 615, 615, 615, 615,
6552 615, 615, 615, 615, 615, 615, 617, 616, 618, 618,
6553 618, 620, 619, 622, 621, 623, 624, 626, 625, 627,
6554 627, 628, 628, 628, 630, 629, 631, 631, 631, 632,
6555 632, 632, 632, 632, 634, 633, 636, 635, 637, 637,
6556 637, 638, 638, 638, 638, 638, 638, 638, 640, 639,
6557 641, 643, 642, 645, 644, 647, 646, 648, 648, 649,
6558 649, 649, 651, 650, 652, 652, 652, 653, 653, 653,
6559 653, 653, 653, 653, 655, 654, 657, 656, 658, 658,
6560 658, 659, 659, 659, 659, 659, 659, 660, 662, 661,
6561 663, 665, 664, 667, 666, 669, 668, 670, 670, 670,
6562 671, 671, 671, 671, 671, 671, 671, 671, 671, 671,
6563 671, 672, 674, 673, 675, 677, 676, 678, 679, 681,
6564 680, 682, 682, 684, 683, 686, 685, 688, 687, 689,
6565 689, 689, 690, 690, 692, 691, 693, 695, 694, 696,
6566 696, 696, 698, 697, 699, 699, 699, 700, 700, 700,
6567 700, 700, 700, 700, 701, 703, 702, 705, 704, 706,
6568 706, 706, 708, 707, 709, 709, 709, 710, 710, 710,
6569 710, 710, 712, 711, 713, 714, 715, 717, 716, 719,
6570 718, 720, 720, 720, 721, 721, 721, 721, 721, 722,
6575 Dhcp4Parser::yyr2_[] =
6577 0, 2, 0, 3, 0, 3, 0, 3, 0, 3,
6578 0, 3, 0, 3, 0, 3, 0, 3, 0, 3,
6579 0, 3, 0, 3, 0, 3, 0, 3, 1, 1,
6580 1, 1, 1, 1, 1, 1, 0, 4, 1, 0,
6581 1, 3, 5, 2, 0, 4, 0, 1, 1, 3,
6582 2, 0, 4, 0, 1, 1, 3, 2, 2, 0,
6583 4, 0, 6, 1, 2, 0, 4, 1, 3, 2,
6584 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6585 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6586 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6587 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6588 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6589 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6590 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6591 1, 1, 1, 3, 3, 3, 3, 3, 3, 3,
6592 3, 3, 3, 3, 3, 0, 4, 3, 0, 4,
6593 3, 3, 3, 3, 3, 3, 0, 4, 1, 1,
6594 1, 1, 1, 0, 4, 0, 4, 0, 4, 3,
6595 3, 0, 4, 1, 1, 1, 1, 3, 3, 3,
6596 3, 0, 4, 0, 4, 3, 3, 3, 3, 3,
6597 3, 3, 3, 0, 6, 1, 3, 2, 1, 1,
6598 1, 1, 1, 1, 1, 1, 1, 1, 0, 4,
6599 0, 4, 0, 4, 1, 1, 0, 4, 1, 1,
6600 3, 3, 3, 3, 0, 6, 0, 6, 1, 3,
6601 2, 1, 1, 0, 4, 0, 4, 0, 6, 0,
6602 6, 0, 1, 1, 3, 2, 0, 4, 1, 3,
6603 2, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6604 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6605 1, 1, 1, 1, 1, 1, 0, 4, 0, 4,
6606 0, 4, 0, 4, 0, 4, 3, 0, 4, 3,
6607 3, 3, 3, 3, 3, 3, 3, 3, 0, 4,
6608 1, 1, 1, 3, 3, 0, 4, 0, 4, 0,
6609 4, 0, 4, 1, 1, 1, 1, 1, 0, 4,
6610 0, 6, 1, 3, 2, 1, 1, 1, 1, 1,
6611 1, 1, 1, 1, 1, 0, 6, 1, 3, 2,
6612 1, 1, 1, 1, 1, 1, 3, 3, 3, 0,
6613 6, 0, 1, 1, 3, 2, 0, 4, 0, 4,
6614 1, 3, 2, 1, 1, 1, 0, 4, 0, 4,
6615 0, 6, 1, 3, 2, 1, 1, 1, 1, 1,
6616 1, 3, 3, 3, 3, 3, 3, 0, 6, 0,
6617 1, 1, 3, 2, 0, 4, 0, 4, 1, 3,
6618 2, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6619 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6620 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6621 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6622 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6623 1, 1, 1, 1, 1, 1, 0, 4, 0, 4,
6624 0, 4, 0, 4, 0, 4, 0, 4, 0, 4,
6625 0, 4, 0, 4, 3, 3, 3, 3, 0, 6,
6626 0, 1, 1, 3, 2, 0, 4, 1, 3, 2,
6627 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6628 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6629 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6630 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6631 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6632 0, 6, 0, 4, 0, 1, 1, 3, 2, 0,
6633 4, 0, 4, 0, 1, 1, 3, 2, 1, 1,
6634 1, 1, 1, 1, 1, 1, 1, 1, 1, 3,
6635 1, 0, 4, 0, 4, 0, 4, 1, 0, 4,
6636 3, 0, 6, 0, 1, 1, 3, 2, 0, 4,
6637 0, 4, 0, 1, 1, 3, 2, 1, 1, 1,
6638 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
6639 4, 1, 1, 3, 3, 3, 0, 4, 0, 6,
6640 0, 1, 1, 3, 2, 0, 4, 0, 4, 1,
6641 3, 2, 1, 1, 1, 1, 1, 1, 1, 1,
6642 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6643 1, 1, 1, 1, 1, 1, 1, 0, 4, 3,
6644 0, 4, 0, 4, 0, 6, 0, 1, 1, 3,
6645 2, 0, 4, 0, 4, 0, 1, 1, 3, 2,
6646 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6647 1, 1, 1, 1, 1, 0, 4, 0, 4, 0,
6648 4, 0, 4, 0, 4, 0, 4, 0, 4, 0,
6649 4, 0, 4, 0, 4, 0, 4, 0, 6, 1,
6650 0, 4, 0, 6, 0, 1, 1, 3, 2, 0,
6651 4, 0, 1, 1, 3, 2, 1, 1, 1, 1,
6652 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6653 1, 1, 1, 1, 0, 4, 0, 4, 3, 3,
6654 3, 0, 6, 0, 1, 1, 3, 2, 0, 4,
6655 1, 3, 2, 1, 1, 1, 1, 1, 1, 1,
6656 1, 1, 1, 1, 1, 1, 0, 4, 1, 1,
6657 1, 0, 4, 0, 4, 3, 3, 0, 6, 0,
6658 1, 1, 3, 2, 0, 4, 1, 3, 2, 1,
6659 1, 1, 1, 1, 0, 4, 0, 6, 1, 3,
6660 2, 1, 1, 1, 1, 1, 1, 1, 0, 4,
6661 1, 0, 4, 0, 4, 0, 6, 0, 1, 1,
6662 3, 2, 0, 4, 1, 3, 2, 1, 1, 1,
6663 1, 1, 1, 1, 0, 4, 0, 6, 1, 3,
6664 2, 1, 1, 1, 1, 1, 1, 3, 0, 4,
6665 3, 0, 4, 0, 6, 0, 4, 1, 3, 2,
6666 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6667 1, 3, 0, 4, 3, 0, 4, 3, 3, 0,
6668 4, 1, 1, 0, 4, 0, 6, 0, 4, 1,
6669 3, 2, 1, 1, 0, 6, 3, 0, 6, 1,
6670 3, 2, 0, 4, 1, 3, 2, 1, 1, 1,
6671 1, 1, 1, 1, 3, 0, 4, 0, 6, 1,
6672 3, 2, 0, 4, 1, 3, 2, 1, 1, 1,
6673 1, 1, 0, 4, 3, 3, 3, 0, 4, 0,
6674 6, 1, 3, 2, 1, 1, 1, 1, 1, 3,
6679#if PARSER4_DEBUG || 1
6683 const Dhcp4Parser::yytname_[] =
6685 "\"end of file\"",
"error",
"\"invalid token\"",
"\",\"",
"\":\"",
6686 "\"[\"",
"\"]\"",
"\"{\"",
"\"}\"",
"\"null\"",
"\"Dhcp4\"",
6687 "\"config-control\"",
"\"config-databases\"",
6688 "\"config-fetch-wait-time\"",
"\"interfaces-config\"",
"\"interfaces\"",
6689 "\"dhcp-socket-type\"",
"\"raw\"",
"\"udp\"",
"\"outbound-interface\"",
6690 "\"same-as-inbound\"",
"\"use-routing\"",
"\"re-detect\"",
6691 "\"service-sockets-require-all\"",
"\"service-sockets-retry-wait-time\"",
6692 "\"service-sockets-max-retries\"",
"\"sanity-checks\"",
6693 "\"lease-checks\"",
"\"extended-info-checks\"",
"\"echo-client-id\"",
6694 "\"match-client-id\"",
"\"authoritative\"",
"\"next-server\"",
6695 "\"server-hostname\"",
"\"boot-file-name\"",
"\"offer-lifetime\"",
6696 "\"stash-agent-options\"",
"\"lease-database\"",
"\"hosts-database\"",
6697 "\"hosts-databases\"",
"\"type\"",
"\"user\"",
"\"password\"",
6698 "\"host\"",
"\"port\"",
"\"persist\"",
"\"lfc-interval\"",
6699 "\"readonly\"",
"\"connect-timeout\"",
"\"read-timeout\"",
6700 "\"write-timeout\"",
"\"tcp-user-timeout\"",
"\"max-reconnect-tries\"",
6701 "\"reconnect-wait-time\"",
"\"on-fail\"",
"\"stop-retry-exit\"",
6702 "\"serve-retry-exit\"",
"\"serve-retry-continue\"",
6703 "\"retry-on-startup\"",
"\"max-row-errors\"",
"\"trust-anchor\"",
6704 "\"cert-file\"",
"\"key-file\"",
"\"ssl-mode\"",
"\"disable\"",
6705 "\"prefer\"",
"\"require\"",
"\"verify-ca\"",
"\"verify-full\"",
6706 "\"cipher-list\"",
"\"valid-lifetime\"",
"\"min-valid-lifetime\"",
6707 "\"max-valid-lifetime\"",
"\"renew-timer\"",
"\"rebind-timer\"",
6708 "\"calculate-tee-times\"",
"\"t1-percent\"",
"\"t2-percent\"",
6709 "\"cache-threshold\"",
"\"cache-max-age\"",
6710 "\"adaptive-lease-time-threshold\"",
"\"decline-probation-period\"",
6711 "\"server-tag\"",
"\"statistic-default-sample-count\"",
6712 "\"statistic-default-sample-age\"",
"\"ddns-send-updates\"",
6713 "\"ddns-override-no-update\"",
"\"ddns-override-client-update\"",
6714 "\"ddns-replace-client-name\"",
"\"ddns-generated-prefix\"",
6715 "\"ddns-qualifying-suffix\"",
"\"ddns-reverse-zone\"",
6716 "\"ddns-update-on-renew\"",
"\"ddns-use-conflict-resolution\"",
6717 "\"ddns-ttl-percent\"",
"\"ddns-ttl\"",
"\"ddns-ttl-min\"",
6718 "\"ddns-ttl-max\"",
"\"store-extended-info\"",
"\"subnet4\"",
6719 "\"4o6-interface\"",
"\"4o6-interface-id\"",
"\"4o6-subnet\"",
6720 "\"option-def\"",
"\"option-data\"",
"\"name\"",
"\"data\"",
"\"code\"",
6721 "\"space\"",
"\"csv-format\"",
"\"always-send\"",
"\"never-send\"",
6722 "\"record-types\"",
"\"encapsulate\"",
"\"array\"",
6723 "\"parked-packet-limit\"",
"\"allocator\"",
6724 "\"ddns-conflict-resolution-mode\"",
"\"check-with-dhcid\"",
6725 "\"no-check-with-dhcid\"",
"\"check-exists-with-dhcid\"",
6726 "\"no-check-without-dhcid\"",
"\"shared-networks\"",
"\"pools\"",
6727 "\"pool\"",
"\"user-context\"",
"\"comment\"",
"\"subnet\"",
6728 "\"interface\"",
"\"id\"",
"\"reservations-global\"",
6729 "\"reservations-in-subnet\"",
"\"reservations-out-of-pool\"",
6730 "\"host-reservation-identifiers\"",
"\"client-classes\"",
6731 "\"require-client-classes\"",
"\"evaluate-additional-classes\"",
6732 "\"test\"",
"\"template-test\"",
"\"only-if-required\"",
6733 "\"only-in-additional-list\"",
"\"client-class\"",
"\"pool-id\"",
6734 "\"reservations\"",
"\"ip-address\"",
"\"duid\"",
"\"hw-address\"",
6735 "\"circuit-id\"",
"\"client-id\"",
"\"hostname\"",
"\"flex-id\"",
6736 "\"relay\"",
"\"ip-addresses\"",
"\"hooks-libraries\"",
"\"library\"",
6737 "\"parameters\"",
"\"expired-leases-processing\"",
6738 "\"reclaim-timer-wait-time\"",
"\"flush-reclaimed-timer-wait-time\"",
6739 "\"hold-reclaimed-time\"",
"\"max-reclaim-leases\"",
6740 "\"max-reclaim-time\"",
"\"unwarned-reclaim-cycles\"",
6741 "\"dhcp4o6-port\"",
"\"multi-threading\"",
"\"enable-multi-threading\"",
6742 "\"thread-pool-size\"",
"\"packet-queue-size\"",
"\"control-sockets\"",
6743 "\"socket-type\"",
"\"unix\"",
"\"http\"",
"\"https\"",
6744 "\"socket-name\"",
"\"socket-address\"",
"\"socket-port\"",
6745 "\"authentication\"",
"\"basic\"",
"\"realm\"",
"\"directory\"",
6746 "\"clients\"",
"\"user-file\"",
"\"password-file\"",
"\"cert-required\"",
6747 "\"http-headers\"",
"\"value\"",
"\"dhcp-queue-control\"",
6748 "\"enable-queue\"",
"\"queue-type\"",
"\"capacity\"",
"\"dhcp-ddns\"",
6749 "\"enable-updates\"",
"\"server-ip\"",
"\"server-port\"",
6750 "\"sender-ip\"",
"\"sender-port\"",
"\"max-queue-size\"",
6751 "\"ncr-protocol\"",
"\"ncr-format\"",
"\"tcp\"",
"\"JSON\"",
6752 "\"when-present\"",
"\"never\"",
"\"always\"",
"\"when-not-present\"",
6753 "\"hostname-char-set\"",
"\"hostname-char-replacement\"",
6754 "\"early-global-reservations-lookup\"",
"\"ip-reservations-unique\"",
6755 "\"reservations-lookup-first\"",
"\"loggers\"",
"\"output-options\"",
6756 "\"output\"",
"\"debuglevel\"",
"\"severity\"",
"\"flush\"",
6757 "\"maxsize\"",
"\"maxver\"",
"\"pattern\"",
"\"compatibility\"",
6758 "\"lenient-option-parsing\"",
"\"ignore-dhcp-server-identifier\"",
6759 "\"ignore-rai-link-selection\"",
"\"exclude-first-last-24\"",
6760 "TOPLEVEL_JSON",
"TOPLEVEL_DHCP4",
"SUB_DHCP4",
"SUB_INTERFACES4",
6761 "SUB_SUBNET4",
"SUB_POOL4",
"SUB_RESERVATION",
"SUB_OPTION_DEFS",
6762 "SUB_OPTION_DEF",
"SUB_OPTION_DATA",
"SUB_HOOKS_LIBRARY",
6763 "SUB_DHCP_DDNS",
"SUB_CONFIG_CONTROL",
"\"constant string\"",
6764 "\"integer\"",
"\"floating point\"",
"\"boolean\"",
"$accept",
"start",
6765 "$@1",
"$@2",
"$@3",
"$@4",
"$@5",
"$@6",
"$@7",
"$@8",
"$@9",
"$@10",
6766 "$@11",
"$@12",
"$@13",
"value",
"sub_json",
"map2",
"$@14",
"map_value",
6767 "map_content",
"not_empty_map",
"list_generic",
"$@15",
"list_content",
6768 "not_empty_list",
"list_strings",
"$@16",
"list_strings_content",
6769 "not_empty_list_strings",
"unknown_map_entry",
"syntax_map",
"$@17",
6770 "global_object",
"$@18",
"global_object_comma",
"sub_dhcp4",
"$@19",
6771 "global_params",
"global_param",
"valid_lifetime",
"min_valid_lifetime",
6772 "max_valid_lifetime",
"renew_timer",
"rebind_timer",
6773 "calculate_tee_times",
"t1_percent",
"t2_percent",
"cache_threshold",
6774 "cache_max_age",
"adaptive_lease_time_threshold",
6775 "decline_probation_period",
"server_tag",
"$@20",
"parked_packet_limit",
6776 "allocator",
"$@21",
"echo_client_id",
"match_client_id",
6777 "authoritative",
"ddns_send_updates",
"ddns_override_no_update",
6778 "ddns_override_client_update",
"ddns_replace_client_name",
"$@22",
6779 "ddns_replace_client_name_value",
"ddns_generated_prefix",
"$@23",
6780 "ddns_qualifying_suffix",
"$@24",
"ddns_reverse_zone",
"$@25",
6781 "ddns_update_on_renew",
"ddns_use_conflict_resolution",
6782 "ddns_conflict_resolution_mode",
"$@26",
6783 "ddns_conflict_resolution_mode_value",
"ddns_ttl_percent",
"ddns_ttl",
6784 "ddns_ttl_min",
"ddns_ttl_max",
"hostname_char_set",
"$@27",
6785 "hostname_char_replacement",
"$@28",
"store_extended_info",
6786 "statistic_default_sample_count",
"statistic_default_sample_age",
6787 "early_global_reservations_lookup",
"ip_reservations_unique",
6788 "reservations_lookup_first",
"offer_lifetime",
"stash_agent_options",
6789 "interfaces_config",
"$@29",
"interfaces_config_params",
6790 "interfaces_config_param",
"sub_interfaces4",
"$@30",
"interfaces_list",
6791 "$@31",
"dhcp_socket_type",
"$@32",
"socket_type",
"outbound_interface",
6792 "$@33",
"outbound_interface_value",
"re_detect",
6793 "service_sockets_require_all",
"service_sockets_retry_wait_time",
6794 "service_sockets_max_retries",
"lease_database",
"$@34",
"sanity_checks",
6795 "$@35",
"sanity_checks_params",
"sanity_checks_param",
"lease_checks",
6796 "$@36",
"extended_info_checks",
"$@37",
"hosts_database",
"$@38",
6797 "hosts_databases",
"$@39",
"database_list",
"not_empty_database_list",
6798 "database",
"$@40",
"database_map_params",
"database_map_param",
6799 "database_type",
"$@41",
"user",
"$@42",
"password",
"$@43",
6800 "password_file",
"$@44",
"host",
"$@45",
"port",
"name",
"$@46",
6801 "persist",
"lfc_interval",
"readonly",
"connect_timeout",
"read_timeout",
6802 "write_timeout",
"tcp_user_timeout",
"max_reconnect_tries",
6803 "reconnect_wait_time",
"on_fail",
"$@47",
"on_fail_mode",
6804 "retry_on_startup",
"max_row_errors",
"trust_anchor",
"$@48",
6805 "cert_file",
"$@49",
"key_file",
"$@50",
"ssl_mode",
"$@51",
6806 "cipher_list",
"$@52",
"host_reservation_identifiers",
"$@53",
6807 "host_reservation_identifiers_list",
"host_reservation_identifier",
6808 "duid_id",
"hw_address_id",
"circuit_id",
"client_id",
"flex_id",
6809 "dhcp_multi_threading",
"$@54",
"multi_threading_params",
6810 "multi_threading_param",
"enable_multi_threading",
"thread_pool_size",
6811 "packet_queue_size",
"hooks_libraries",
"$@55",
"hooks_libraries_list",
6812 "not_empty_hooks_libraries_list",
"hooks_library",
"$@56",
6813 "sub_hooks_library",
"$@57",
"hooks_params",
"hooks_param",
"library",
6814 "$@58",
"parameters",
"$@59",
"expired_leases_processing",
"$@60",
6815 "expired_leases_params",
"expired_leases_param",
6816 "reclaim_timer_wait_time",
"flush_reclaimed_timer_wait_time",
6817 "hold_reclaimed_time",
"max_reclaim_leases",
"max_reclaim_time",
6818 "unwarned_reclaim_cycles",
"subnet4_list",
"$@61",
6819 "subnet4_list_content",
"not_empty_subnet4_list",
"subnet4",
"$@62",
6820 "sub_subnet4",
"$@63",
"subnet4_params",
"subnet4_param",
"subnet",
6821 "$@64",
"subnet_4o6_interface",
"$@65",
"subnet_4o6_interface_id",
6822 "$@66",
"subnet_4o6_subnet",
"$@67",
"interface",
"$@68",
"client_class",
6823 "$@69",
"network_client_classes",
"$@70",
"require_client_classes",
6824 "$@71",
"evaluate_additional_classes",
"$@72",
"reservations_global",
6825 "reservations_in_subnet",
"reservations_out_of_pool",
"id",
6826 "shared_networks",
"$@73",
"shared_networks_content",
6827 "shared_networks_list",
"shared_network",
"$@74",
6828 "shared_network_params",
"shared_network_param",
"option_def_list",
6829 "$@75",
"sub_option_def_list",
"$@76",
"option_def_list_content",
6830 "not_empty_option_def_list",
"option_def_entry",
"$@77",
6831 "sub_option_def",
"$@78",
"option_def_params",
6832 "not_empty_option_def_params",
"option_def_param",
"option_def_name",
6833 "code",
"option_def_code",
"option_def_type",
"$@79",
6834 "option_def_record_types",
"$@80",
"space",
"$@81",
"option_def_space",
6835 "option_def_encapsulate",
"$@82",
"option_def_array",
"option_data_list",
6836 "$@83",
"option_data_list_content",
"not_empty_option_data_list",
6837 "option_data_entry",
"$@84",
"sub_option_data",
"$@85",
6838 "option_data_params",
"not_empty_option_data_params",
6839 "option_data_param",
"option_data_name",
"option_data_data",
"$@86",
6840 "option_data_code",
"option_data_space",
"option_data_csv_format",
6841 "option_data_always_send",
"option_data_never_send",
6842 "option_data_client_classes",
"$@87",
"pools_list",
"$@88",
6843 "pools_list_content",
"not_empty_pools_list",
"pool_list_entry",
"$@89",
6844 "sub_pool4",
"$@90",
"pool_params",
"pool_param",
"pool_entry",
"$@91",
6845 "pool_id",
"user_context",
"$@92",
"comment",
"$@93",
"reservations",
6846 "$@94",
"reservations_list",
"not_empty_reservations_list",
6847 "reservation",
"$@95",
"sub_reservation",
"$@96",
"reservation_params",
6848 "not_empty_reservation_params",
"reservation_param",
"next_server",
6849 "$@97",
"server_hostname",
"$@98",
"boot_file_name",
"$@99",
6850 "ip_address",
"$@100",
"duid",
"$@101",
"hw_address",
"$@102",
6851 "client_id_value",
"$@103",
"circuit_id_value",
"$@104",
"flex_id_value",
6852 "$@105",
"hostname",
"$@106",
"reservation_client_classes",
"$@107",
6853 "relay",
"$@108",
"relay_map",
"ip_addresses",
"$@109",
"client_classes",
6854 "$@110",
"client_classes_list",
"not_empty_classes_list",
6855 "client_class_entry",
"$@111",
"client_class_params",
6856 "not_empty_client_class_params",
"client_class_param",
6857 "client_class_name",
"client_class_test",
"$@112",
6858 "client_class_template_test",
"$@113",
"only_if_required",
6859 "only_in_additional_list",
"dhcp4o6_port",
"control_sockets",
"$@114",
6860 "control_socket_list",
"not_empty_control_socket_list",
6861 "control_socket_entry",
"$@115",
"control_socket_params",
6862 "control_socket_param",
"control_socket_type",
"$@116",
6863 "control_socket_type_value",
"control_socket_name",
"$@117",
6864 "control_socket_address",
"$@118",
"control_socket_port",
6865 "cert_required",
"http_headers",
"$@119",
"http_header_list",
6866 "not_empty_http_header_list",
"http_header",
"$@120",
6867 "http_header_params",
"http_header_param",
"header_value",
"$@121",
6868 "authentication",
"$@122",
"auth_params",
"auth_param",
"auth_type",
6869 "$@123",
"auth_type_value",
"realm",
"$@124",
"directory",
"$@125",
6870 "clients",
"$@126",
"clients_list",
"not_empty_clients_list",
6871 "basic_auth",
"$@127",
"clients_params",
"clients_param",
"user_file",
6872 "$@128",
"dhcp_queue_control",
"$@129",
"queue_control_params",
6873 "queue_control_param",
"enable_queue",
"queue_type",
"$@130",
"capacity",
6874 "arbitrary_map_entry",
"$@131",
"dhcp_ddns",
"$@132",
"sub_dhcp_ddns",
6875 "$@133",
"dhcp_ddns_params",
"dhcp_ddns_param",
"enable_updates",
6876 "server_ip",
"$@134",
"server_port",
"sender_ip",
"$@135",
"sender_port",
6877 "max_queue_size",
"ncr_protocol",
"$@136",
"ncr_protocol_value",
6878 "ncr_format",
"$@137",
"config_control",
"$@138",
"sub_config_control",
6879 "$@139",
"config_control_params",
"config_control_param",
6880 "config_databases",
"$@140",
"config_fetch_wait_time",
"loggers",
6881 "$@141",
"loggers_entries",
"logger_entry",
"$@142",
"logger_params",
6882 "logger_param",
"debuglevel",
"severity",
"$@143",
"output_options_list",
6883 "$@144",
"output_options_list_content",
"output_entry",
"$@145",
6884 "output_params_list",
"output_params",
"output",
"$@146",
"flush",
6885 "maxsize",
"maxver",
"pattern",
"$@147",
"compatibility",
"$@148",
6886 "compatibility_params",
"compatibility_param",
"lenient_option_parsing",
6887 "ignore_dhcp_server_identifier",
"ignore_rai_link_selection",
6888 "exclude_first_last_24", YY_NULLPTR
6895 Dhcp4Parser::yyrline_[] =
6897 0, 337, 337, 337, 338, 338, 339, 339, 340, 340,
6898 341, 341, 342, 342, 343, 343, 344, 344, 345, 345,
6899 346, 346, 347, 347, 348, 348, 349, 349, 357, 358,
6900 359, 360, 361, 362, 363, 366, 371, 371, 382, 385,
6901 386, 389, 394, 400, 405, 405, 412, 413, 416, 420,
6902 424, 430, 430, 437, 438, 441, 445, 449, 459, 468,
6903 468, 483, 483, 497, 500, 506, 506, 515, 516, 517,
6904 524, 525, 526, 527, 528, 529, 530, 531, 532, 533,
6905 534, 535, 536, 537, 538, 539, 540, 541, 542, 543,
6906 544, 545, 546, 547, 548, 549, 550, 551, 552, 553,
6907 554, 555, 556, 557, 558, 559, 560, 561, 562, 563,
6908 564, 565, 566, 567, 568, 569, 570, 571, 572, 573,
6909 574, 575, 576, 577, 578, 579, 580, 581, 582, 583,
6910 584, 585, 586, 587, 588, 589, 590, 591, 592, 593,
6911 594, 595, 596, 599, 605, 611, 617, 623, 629, 635,
6912 641, 647, 653, 659, 665, 671, 671, 680, 686, 686,
6913 695, 701, 707, 713, 719, 725, 731, 731, 740, 743,
6914 746, 749, 752, 758, 758, 767, 767, 776, 776, 785,
6915 794, 804, 804, 813, 816, 819, 822, 827, 833, 839,
6916 845, 851, 851, 860, 860, 869, 875, 881, 887, 893,
6917 899, 905, 911, 917, 917, 929, 930, 931, 936, 937,
6918 938, 939, 940, 941, 942, 943, 944, 945, 948, 948,
6919 957, 957, 968, 968, 976, 977, 980, 980, 988, 990,
6920 994, 1000, 1006, 1012, 1018, 1018, 1031, 1031, 1042, 1043,
6921 1044, 1049, 1050, 1053, 1053, 1072, 1072, 1090, 1090, 1103,
6922 1103, 1114, 1115, 1118, 1119, 1120, 1125, 1125, 1135, 1136,
6923 1137, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 1149, 1150,
6924 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 1159, 1160,
6925 1161, 1162, 1163, 1164, 1165, 1166, 1169, 1169, 1178, 1178,
6926 1187, 1187, 1196, 1196, 1205, 1205, 1214, 1220, 1220, 1229,
6927 1235, 1241, 1247, 1253, 1259, 1265, 1271, 1277, 1283, 1283,
6928 1291, 1292, 1293, 1296, 1302, 1308, 1308, 1317, 1317, 1326,
6929 1326, 1335, 1335, 1343, 1346, 1349, 1352, 1355, 1360, 1360,
6930 1369, 1369, 1380, 1381, 1382, 1387, 1388, 1389, 1390, 1391,
6931 1394, 1399, 1404, 1409, 1414, 1421, 1421, 1434, 1435, 1436,
6932 1441, 1442, 1443, 1444, 1445, 1446, 1449, 1455, 1461, 1467,
6933 1467, 1478, 1479, 1482, 1483, 1484, 1489, 1489, 1499, 1499,
6934 1509, 1510, 1511, 1514, 1517, 1518, 1521, 1521, 1530, 1530,
6935 1539, 1539, 1551, 1552, 1553, 1558, 1559, 1560, 1561, 1562,
6936 1563, 1566, 1572, 1578, 1584, 1590, 1596, 1605, 1605, 1619,
6937 1620, 1623, 1624, 1625, 1634, 1634, 1660, 1660, 1671, 1672,
6938 1673, 1679, 1680, 1681, 1682, 1683, 1684, 1685, 1686, 1687,
6939 1688, 1689, 1690, 1691, 1692, 1693, 1694, 1695, 1696, 1697,
6940 1698, 1699, 1700, 1701, 1702, 1703, 1704, 1705, 1706, 1707,
6941 1708, 1709, 1710, 1711, 1712, 1713, 1714, 1715, 1716, 1717,
6942 1718, 1719, 1720, 1721, 1722, 1723, 1724, 1725, 1726, 1727,
6943 1728, 1729, 1730, 1731, 1732, 1733, 1736, 1736, 1745, 1745,
6944 1754, 1754, 1763, 1763, 1772, 1772, 1781, 1781, 1791, 1791,
6945 1803, 1803, 1814, 1814, 1825, 1831, 1837, 1843, 1851, 1851,
6946 1863, 1864, 1868, 1869, 1870, 1875, 1875, 1883, 1884, 1885,
6947 1890, 1891, 1892, 1893, 1894, 1895, 1896, 1897, 1898, 1899,
6948 1900, 1901, 1902, 1903, 1904, 1905, 1906, 1907, 1908, 1909,
6949 1910, 1911, 1912, 1913, 1914, 1915, 1916, 1917, 1918, 1919,
6950 1920, 1921, 1922, 1923, 1924, 1925, 1926, 1927, 1928, 1929,
6951 1930, 1931, 1932, 1933, 1934, 1935, 1936, 1937, 1938, 1939,
6952 1946, 1946, 1960, 1960, 1969, 1970, 1973, 1974, 1975, 1982,
6953 1982, 1997, 1997, 2011, 2012, 2015, 2016, 2017, 2022, 2023,
6954 2024, 2025, 2026, 2027, 2028, 2029, 2030, 2031, 2034, 2036,
6955 2042, 2044, 2044, 2053, 2053, 2062, 2062, 2071, 2073, 2073,
6956 2082, 2092, 2092, 2105, 2106, 2111, 2112, 2113, 2120, 2120,
6957 2132, 2132, 2144, 2145, 2150, 2151, 2152, 2159, 2160, 2161,
6958 2162, 2163, 2164, 2165, 2166, 2167, 2168, 2169, 2172, 2174,
6959 2174, 2183, 2185, 2187, 2193, 2199, 2205, 2205, 2219, 2219,
6960 2232, 2233, 2236, 2237, 2238, 2243, 2243, 2253, 2253, 2263,
6961 2264, 2265, 2270, 2271, 2272, 2273, 2274, 2275, 2276, 2277,
6962 2278, 2279, 2280, 2281, 2282, 2283, 2284, 2285, 2286, 2287,
6963 2288, 2289, 2290, 2291, 2292, 2293, 2294, 2297, 2297, 2306,
6964 2312, 2312, 2337, 2337, 2367, 2367, 2378, 2379, 2382, 2383,
6965 2384, 2389, 2389, 2398, 2398, 2407, 2408, 2411, 2412, 2413,
6966 2419, 2420, 2421, 2422, 2423, 2424, 2425, 2426, 2427, 2428,
6967 2429, 2430, 2431, 2432, 2433, 2436, 2436, 2445, 2445, 2454,
6968 2454, 2463, 2463, 2472, 2472, 2481, 2481, 2490, 2490, 2499,
6969 2499, 2508, 2508, 2517, 2517, 2526, 2526, 2540, 2540, 2551,
6970 2554, 2554, 2568, 2568, 2579, 2580, 2583, 2584, 2585, 2590,
6971 2590, 2600, 2601, 2604, 2605, 2606, 2611, 2612, 2613, 2614,
6972 2615, 2616, 2617, 2618, 2619, 2620, 2621, 2622, 2623, 2624,
6973 2625, 2626, 2627, 2630, 2632, 2632, 2641, 2641, 2651, 2657,
6974 2665, 2673, 2673, 2684, 2685, 2688, 2689, 2690, 2695, 2695,
6975 2703, 2704, 2705, 2710, 2711, 2712, 2713, 2714, 2715, 2716,
6976 2717, 2718, 2719, 2720, 2721, 2722, 2725, 2725, 2734, 2735,
6977 2736, 2739, 2739, 2748, 2748, 2757, 2763, 2769, 2769, 2780,
6978 2781, 2784, 2785, 2786, 2791, 2791, 2799, 2800, 2801, 2806,
6979 2807, 2808, 2809, 2810, 2813, 2813, 2824, 2824, 2837, 2838,
6980 2839, 2844, 2845, 2846, 2847, 2848, 2849, 2850, 2853, 2853,
6981 2861, 2864, 2864, 2873, 2873, 2882, 2882, 2893, 2894, 2897,
6982 2898, 2899, 2904, 2904, 2912, 2913, 2914, 2919, 2920, 2921,
6983 2922, 2923, 2924, 2925, 2928, 2928, 2939, 2939, 2952, 2953,
6984 2954, 2959, 2960, 2961, 2962, 2963, 2964, 2967, 2973, 2973,
6985 2982, 2988, 2988, 2998, 2998, 3011, 3011, 3021, 3022, 3023,
6986 3028, 3029, 3030, 3031, 3032, 3033, 3034, 3035, 3036, 3037,
6987 3038, 3041, 3047, 3047, 3056, 3062, 3062, 3071, 3077, 3083,
6988 3083, 3092, 3093, 3096, 3096, 3107, 3107, 3119, 3119, 3129,
6989 3130, 3131, 3137, 3138, 3141, 3141, 3152, 3160, 3160, 3173,
6990 3174, 3175, 3181, 3181, 3189, 3190, 3191, 3196, 3197, 3198,
6991 3199, 3200, 3201, 3202, 3205, 3211, 3211, 3220, 3220, 3231,
6992 3232, 3233, 3238, 3238, 3246, 3247, 3248, 3253, 3254, 3255,
6993 3256, 3257, 3260, 3260, 3269, 3275, 3281, 3287, 3287, 3296,
6994 3296, 3307, 3308, 3309, 3314, 3315, 3316, 3317, 3318, 3321,
6999 Dhcp4Parser::yy_stack_print_ ()
const
7001 *yycdebug_ <<
"Stack now";
7002 for (stack_type::const_iterator
7003 i = yystack_.begin (),
7004 i_end = yystack_.end ();
7006 *yycdebug_ <<
' ' << int (i->state);
7011 Dhcp4Parser::yy_reduce_print_ (
int yyrule)
const
7013 int yylno = yyrline_[yyrule];
7014 int yynrhs = yyr2_[yyrule];
7016 *yycdebug_ <<
"Reducing stack by rule " << yyrule - 1
7017 <<
" (line " << yylno <<
"):\n";
7019 for (
int yyi = 0; yyi < yynrhs; yyi++)
7021 yystack_[(yynrhs) - (yyi + 1)]);
7026#line 14 "dhcp4_parser.yy"
7028#line 7029 "dhcp4_parser.cc"
7030#line 3345 "dhcp4_parser.yy"
7035 const std::string& what)
7037 ctx.error(loc, what);
Notes: IntElement type is changed to int64_t.
symbol_kind_type token() const YY_NOEXCEPT
context(const Dhcp4Parser &yyparser, const symbol_type &yyla)
const symbol_type & lookahead() const YY_NOEXCEPT
int expected_tokens(symbol_kind_type yyarg[], int yyargn) const
Put in YYARG at most YYARGN of the expected tokens, and return the number of tokens stored in YYARG.
T & emplace()
Instantiate an empty T in here.
T & as() YY_NOEXCEPT
Accessor to a built T.
virtual void error(const location_type &loc, const std::string &msg)
Report a syntax error.
virtual int parse()
Parse.
location location_type
Symbol locations.
symbol_kind::symbol_kind_type symbol_kind_type
(Internal) symbol kind.
static const symbol_kind_type YYNTOKENS
The number of tokens.
static std::string symbol_name(symbol_kind_type yysymbol)
The user-facing name of the symbol whose (internal) number is YYSYMBOL.
Dhcp4Parser(isc::dhcp::Parser4Context &ctx_yyarg)
Build a parser object.
Evaluation context, an interface to the expression evaluation.
#define YYLLOC_DEFAULT(Current, Rhs, N)
#define YY_REDUCE_PRINT(Rule)
#define YY_SYMBOL_PRINT(Title, Symbol)
#define YY_CAST(Type, Val)
#define YY_MOVE_REF(Type)
#define YY_ATTRIBUTE_UNUSED
Define the isc::dhcp::parser class.
void merge(ElementPtr element, ConstElementPtr other)
Merges the data from other into element. (on the first level).
boost::shared_ptr< const Element > ConstElementPtr
boost::shared_ptr< Element > ElementPtr
Defines the logger used by the top-level component of kea-lfc.
location_type location
The location.
value_type value
The semantic value.
bool empty() const YY_NOEXCEPT
Whether empty.
void move(basic_symbol &s)
Destructive move, s is emptied into this.
void clear() YY_NOEXCEPT
Destroy contents, and record that is empty.
symbol_kind_type kind() const YY_NOEXCEPT
The (internal) type number (corresponding to type).
symbol_kind_type kind_
The symbol kind.
@ S_control_socket_type_value
@ S_ddns_conflict_resolution_mode_value
@ S_ddns_replace_client_name_value
@ S_outbound_interface_value
"External" symbols: returned by the scanner.
Syntax errors thrown from user actions.
~syntax_error() YY_NOEXCEPT YY_NOTHROW