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-update-on-renew", ctx.loc2pos(yystack_[2].location));
1480 ctx.stack_.back()->set(
"ddns-update-on-renew", b);
1482#line 1483 "dhcp4_parser.cc"
1486#line 785 "dhcp4_parser.yy"
1488 ctx.unique(
"ddns-use-conflict-resolution", ctx.loc2pos(yystack_[2].location));
1490 ctx.warning(yystack_[1].location,
"ddns-use-conflict-resolution is deprecated. "
1491 "Substituting ddns-conflict-resolution-mode");
1493 :
"no-check-with-dhcid"));
1494 ctx.stack_.back()->set(
"ddns-conflict-resolution-mode", mode);
1496#line 1497 "dhcp4_parser.cc"
1500#line 795 "dhcp4_parser.yy"
1502 ctx.unique(
"ddns-conflict-resolution-mode", ctx.loc2pos(yystack_[0].location));
1503 ctx.enter(ctx.DDNS_CONFLICT_RESOLUTION_MODE);
1505#line 1506 "dhcp4_parser.cc"
1509#line 798 "dhcp4_parser.yy"
1511 ctx.stack_.back()->set(
"ddns-conflict-resolution-mode", yystack_[0].value.as <
ElementPtr > ());
1514#line 1515 "dhcp4_parser.cc"
1518#line 804 "dhcp4_parser.yy"
1522#line 1523 "dhcp4_parser.cc"
1526#line 807 "dhcp4_parser.yy"
1530#line 1531 "dhcp4_parser.cc"
1534#line 810 "dhcp4_parser.yy"
1538#line 1539 "dhcp4_parser.cc"
1542#line 813 "dhcp4_parser.yy"
1546#line 1547 "dhcp4_parser.cc"
1550#line 818 "dhcp4_parser.yy"
1552 ctx.unique(
"ddns-ttl-percent", ctx.loc2pos(yystack_[2].location));
1554 ctx.stack_.back()->set(
"ddns-ttl-percent", ttl);
1556#line 1557 "dhcp4_parser.cc"
1560#line 824 "dhcp4_parser.yy"
1562 ctx.unique(
"ddns-ttl", ctx.loc2pos(yystack_[2].location));
1563 ElementPtr ttl(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
1564 ctx.stack_.back()->set(
"ddns-ttl", ttl);
1566#line 1567 "dhcp4_parser.cc"
1570#line 830 "dhcp4_parser.yy"
1572 ctx.unique(
"ddns-ttl-min", ctx.loc2pos(yystack_[2].location));
1573 ElementPtr ttl(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
1574 ctx.stack_.back()->set(
"ddns-ttl-min", ttl);
1576#line 1577 "dhcp4_parser.cc"
1580#line 836 "dhcp4_parser.yy"
1582 ctx.unique(
"ddns-ttl-max", ctx.loc2pos(yystack_[2].location));
1583 ElementPtr ttl(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
1584 ctx.stack_.back()->set(
"ddns-ttl-max", ttl);
1586#line 1587 "dhcp4_parser.cc"
1590#line 842 "dhcp4_parser.yy"
1592 ctx.unique(
"hostname-char-set", ctx.loc2pos(yystack_[0].location));
1593 ctx.enter(ctx.NO_KEYWORD);
1595#line 1596 "dhcp4_parser.cc"
1599#line 845 "dhcp4_parser.yy"
1602 ctx.stack_.back()->set(
"hostname-char-set", s);
1605#line 1606 "dhcp4_parser.cc"
1609#line 851 "dhcp4_parser.yy"
1611 ctx.unique(
"hostname-char-replacement", 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-replacement", s);
1624#line 1625 "dhcp4_parser.cc"
1628#line 860 "dhcp4_parser.yy"
1630 ctx.unique(
"store-extended-info", ctx.loc2pos(yystack_[2].location));
1632 ctx.stack_.back()->set(
"store-extended-info", b);
1634#line 1635 "dhcp4_parser.cc"
1638#line 866 "dhcp4_parser.yy"
1640 ctx.unique(
"statistic-default-sample-count", ctx.loc2pos(yystack_[2].location));
1641 ElementPtr count(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
1642 ctx.stack_.back()->set(
"statistic-default-sample-count", count);
1644#line 1645 "dhcp4_parser.cc"
1648#line 872 "dhcp4_parser.yy"
1650 ctx.unique(
"statistic-default-sample-age", ctx.loc2pos(yystack_[2].location));
1651 ElementPtr age(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
1652 ctx.stack_.back()->set(
"statistic-default-sample-age", age);
1654#line 1655 "dhcp4_parser.cc"
1658#line 878 "dhcp4_parser.yy"
1660 ctx.unique(
"early-global-reservations-lookup", ctx.loc2pos(yystack_[2].location));
1661 ElementPtr early(
new BoolElement(yystack_[0].value.as <
bool > (), ctx.loc2pos(yystack_[0].location)));
1662 ctx.stack_.back()->set(
"early-global-reservations-lookup", early);
1664#line 1665 "dhcp4_parser.cc"
1668#line 884 "dhcp4_parser.yy"
1670 ctx.unique(
"ip-reservations-unique", ctx.loc2pos(yystack_[2].location));
1671 ElementPtr unique(
new BoolElement(yystack_[0].value.as <
bool > (), ctx.loc2pos(yystack_[0].location)));
1672 ctx.stack_.back()->set(
"ip-reservations-unique", unique);
1674#line 1675 "dhcp4_parser.cc"
1678#line 890 "dhcp4_parser.yy"
1680 ctx.unique(
"reservations-lookup-first", ctx.loc2pos(yystack_[2].location));
1681 ElementPtr first(
new BoolElement(yystack_[0].value.as <
bool > (), ctx.loc2pos(yystack_[0].location)));
1682 ctx.stack_.back()->set(
"reservations-lookup-first", first);
1684#line 1685 "dhcp4_parser.cc"
1688#line 896 "dhcp4_parser.yy"
1690 ctx.unique(
"offer-lifetime", ctx.loc2pos(yystack_[2].location));
1691 ElementPtr offer_lifetime(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
1692 ctx.stack_.back()->set(
"offer-lifetime", offer_lifetime);
1694#line 1695 "dhcp4_parser.cc"
1698#line 902 "dhcp4_parser.yy"
1700 ctx.unique(
"stash-agent-options", ctx.loc2pos(yystack_[2].location));
1701 ElementPtr stash(
new BoolElement(yystack_[0].value.as <
bool > (), ctx.loc2pos(yystack_[0].location)));
1702 ctx.stack_.back()->set(
"stash-agent-options", stash);
1704#line 1705 "dhcp4_parser.cc"
1708#line 908 "dhcp4_parser.yy"
1710 ctx.unique(
"interfaces-config", ctx.loc2pos(yystack_[0].location));
1712 ctx.stack_.back()->set(
"interfaces-config", i);
1713 ctx.stack_.push_back(i);
1714 ctx.enter(ctx.INTERFACES_CONFIG);
1716#line 1717 "dhcp4_parser.cc"
1720#line 914 "dhcp4_parser.yy"
1723 ctx.stack_.pop_back();
1726#line 1727 "dhcp4_parser.cc"
1730#line 922 "dhcp4_parser.yy"
1732 ctx.warnAboutExtraCommas(yystack_[0].location);
1734#line 1735 "dhcp4_parser.cc"
1738#line 939 "dhcp4_parser.yy"
1742 ctx.stack_.push_back(m);
1744#line 1745 "dhcp4_parser.cc"
1748#line 943 "dhcp4_parser.yy"
1753#line 1754 "dhcp4_parser.cc"
1757#line 948 "dhcp4_parser.yy"
1759 ctx.unique(
"interfaces", ctx.loc2pos(yystack_[0].location));
1761 ctx.stack_.back()->set(
"interfaces", l);
1762 ctx.stack_.push_back(l);
1763 ctx.enter(ctx.NO_KEYWORD);
1765#line 1766 "dhcp4_parser.cc"
1769#line 954 "dhcp4_parser.yy"
1771 ctx.stack_.pop_back();
1774#line 1775 "dhcp4_parser.cc"
1778#line 959 "dhcp4_parser.yy"
1780 ctx.unique(
"dhcp-socket-type", ctx.loc2pos(yystack_[0].location));
1781 ctx.enter(ctx.DHCP_SOCKET_TYPE);
1783#line 1784 "dhcp4_parser.cc"
1787#line 962 "dhcp4_parser.yy"
1789 ctx.stack_.back()->set(
"dhcp-socket-type", yystack_[0].value.as <
ElementPtr > ());
1792#line 1793 "dhcp4_parser.cc"
1796#line 967 "dhcp4_parser.yy"
1798#line 1799 "dhcp4_parser.cc"
1802#line 968 "dhcp4_parser.yy"
1804#line 1805 "dhcp4_parser.cc"
1808#line 971 "dhcp4_parser.yy"
1810 ctx.unique(
"outbound-interface", ctx.loc2pos(yystack_[0].location));
1811 ctx.enter(ctx.OUTBOUND_INTERFACE);
1813#line 1814 "dhcp4_parser.cc"
1817#line 974 "dhcp4_parser.yy"
1819 ctx.stack_.back()->set(
"outbound-interface", yystack_[0].value.as <
ElementPtr > ());
1822#line 1823 "dhcp4_parser.cc"
1826#line 979 "dhcp4_parser.yy"
1830#line 1831 "dhcp4_parser.cc"
1834#line 981 "dhcp4_parser.yy"
1838#line 1839 "dhcp4_parser.cc"
1842#line 985 "dhcp4_parser.yy"
1844 ctx.unique(
"re-detect", ctx.loc2pos(yystack_[2].location));
1846 ctx.stack_.back()->set(
"re-detect", b);
1848#line 1849 "dhcp4_parser.cc"
1852#line 991 "dhcp4_parser.yy"
1854 ctx.unique(
"service-sockets-require-all", ctx.loc2pos(yystack_[2].location));
1856 ctx.stack_.back()->set(
"service-sockets-require-all", b);
1858#line 1859 "dhcp4_parser.cc"
1862#line 997 "dhcp4_parser.yy"
1864 ctx.unique(
"service-sockets-retry-wait-time", ctx.loc2pos(yystack_[2].location));
1865 ElementPtr n(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
1866 ctx.stack_.back()->set(
"service-sockets-retry-wait-time", n);
1868#line 1869 "dhcp4_parser.cc"
1872#line 1003 "dhcp4_parser.yy"
1874 ctx.unique(
"service-sockets-max-retries", ctx.loc2pos(yystack_[2].location));
1875 ElementPtr n(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
1876 ctx.stack_.back()->set(
"service-sockets-max-retries", n);
1878#line 1879 "dhcp4_parser.cc"
1882#line 1009 "dhcp4_parser.yy"
1884 ctx.unique(
"lease-database", ctx.loc2pos(yystack_[0].location));
1886 ctx.stack_.back()->set(
"lease-database", i);
1887 ctx.stack_.push_back(i);
1888 ctx.enter(ctx.LEASE_DATABASE);
1890#line 1891 "dhcp4_parser.cc"
1894#line 1015 "dhcp4_parser.yy"
1897 ctx.require(
"type", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location));
1898 ctx.stack_.pop_back();
1901#line 1902 "dhcp4_parser.cc"
1905#line 1022 "dhcp4_parser.yy"
1907 ctx.unique(
"sanity-checks", ctx.loc2pos(yystack_[0].location));
1909 ctx.stack_.back()->set(
"sanity-checks", m);
1910 ctx.stack_.push_back(m);
1911 ctx.enter(ctx.SANITY_CHECKS);
1913#line 1914 "dhcp4_parser.cc"
1917#line 1028 "dhcp4_parser.yy"
1919 ctx.stack_.pop_back();
1922#line 1923 "dhcp4_parser.cc"
1926#line 1035 "dhcp4_parser.yy"
1928 ctx.warnAboutExtraCommas(yystack_[0].location);
1930#line 1931 "dhcp4_parser.cc"
1934#line 1044 "dhcp4_parser.yy"
1936 ctx.unique(
"lease-checks", ctx.loc2pos(yystack_[0].location));
1937 ctx.enter(ctx.NO_KEYWORD);
1939#line 1940 "dhcp4_parser.cc"
1943#line 1047 "dhcp4_parser.yy"
1946 if ( (
string(yystack_[0].value.as < std::string > ()) ==
"none") ||
1947 (
string(yystack_[0].value.as < std::string > ()) ==
"warn") ||
1948 (
string(yystack_[0].value.as < std::string > ()) ==
"fix") ||
1949 (
string(yystack_[0].value.as < std::string > ()) ==
"fix-del") ||
1950 (
string(yystack_[0].value.as < std::string > ()) ==
"del")) {
1951 ElementPtr user(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
1952 ctx.stack_.back()->set(
"lease-checks", user);
1955 error(yystack_[0].location,
"Unsupported 'lease-checks value: " +
string(yystack_[0].value.as < std::string > ()) +
1956 ", supported values are: none, warn, fix, fix-del, del");
1959#line 1960 "dhcp4_parser.cc"
1963#line 1063 "dhcp4_parser.yy"
1965 ctx.unique(
"extended-info-checks", ctx.loc2pos(yystack_[0].location));
1966 ctx.enter(ctx.NO_KEYWORD);
1968#line 1969 "dhcp4_parser.cc"
1972#line 1066 "dhcp4_parser.yy"
1975 if ( (
string(yystack_[0].value.as < std::string > ()) ==
"none") ||
1976 (
string(yystack_[0].value.as < std::string > ()) ==
"fix") ||
1977 (
string(yystack_[0].value.as < std::string > ()) ==
"strict") ||
1978 (
string(yystack_[0].value.as < std::string > ()) ==
"pedantic")) {
1979 ElementPtr user(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
1980 ctx.stack_.back()->set(
"extended-info-checks", user);
1983 error(yystack_[0].location,
"Unsupported 'extended-info-checks value: " +
string(yystack_[0].value.as < std::string > ()) +
1984 ", supported values are: none, fix, strict, pedantic");
1987#line 1988 "dhcp4_parser.cc"
1991#line 1081 "dhcp4_parser.yy"
1993 ctx.unique(
"hosts-database", ctx.loc2pos(yystack_[0].location));
1995 ctx.stack_.back()->set(
"hosts-database", i);
1996 ctx.stack_.push_back(i);
1997 ctx.enter(ctx.HOSTS_DATABASE);
1999#line 2000 "dhcp4_parser.cc"
2003#line 1087 "dhcp4_parser.yy"
2006 ctx.require(
"type", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location));
2007 ctx.stack_.pop_back();
2010#line 2011 "dhcp4_parser.cc"
2014#line 1094 "dhcp4_parser.yy"
2016 ctx.unique(
"hosts-databases", ctx.loc2pos(yystack_[0].location));
2018 ctx.stack_.back()->set(
"hosts-databases", l);
2019 ctx.stack_.push_back(l);
2020 ctx.enter(ctx.HOSTS_DATABASE);
2022#line 2023 "dhcp4_parser.cc"
2026#line 1100 "dhcp4_parser.yy"
2028 ctx.stack_.pop_back();
2031#line 2032 "dhcp4_parser.cc"
2035#line 1111 "dhcp4_parser.yy"
2037 ctx.warnAboutExtraCommas(yystack_[0].location);
2039#line 2040 "dhcp4_parser.cc"
2043#line 1116 "dhcp4_parser.yy"
2046 ctx.stack_.back()->add(m);
2047 ctx.stack_.push_back(m);
2049#line 2050 "dhcp4_parser.cc"
2053#line 1120 "dhcp4_parser.yy"
2056 ctx.require(
"type", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
2057 ctx.stack_.pop_back();
2059#line 2060 "dhcp4_parser.cc"
2063#line 1128 "dhcp4_parser.yy"
2065 ctx.warnAboutExtraCommas(yystack_[0].location);
2067#line 2068 "dhcp4_parser.cc"
2071#line 1159 "dhcp4_parser.yy"
2073 ctx.unique(
"type", ctx.loc2pos(yystack_[0].location));
2074 ctx.enter(ctx.NO_KEYWORD);
2076#line 2077 "dhcp4_parser.cc"
2080#line 1162 "dhcp4_parser.yy"
2082 ElementPtr db_type(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
2083 ctx.stack_.back()->set(
"type", db_type);
2086#line 2087 "dhcp4_parser.cc"
2090#line 1168 "dhcp4_parser.yy"
2092 ctx.unique(
"user", ctx.loc2pos(yystack_[0].location));
2093 ctx.enter(ctx.NO_KEYWORD);
2095#line 2096 "dhcp4_parser.cc"
2099#line 1171 "dhcp4_parser.yy"
2101 ElementPtr user(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
2102 ctx.stack_.back()->set(
"user", user);
2105#line 2106 "dhcp4_parser.cc"
2109#line 1177 "dhcp4_parser.yy"
2111 ctx.unique(
"password", ctx.loc2pos(yystack_[0].location));
2112 ctx.enter(ctx.NO_KEYWORD);
2114#line 2115 "dhcp4_parser.cc"
2118#line 1180 "dhcp4_parser.yy"
2120 ElementPtr pwd(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
2121 ctx.stack_.back()->set(
"password", pwd);
2124#line 2125 "dhcp4_parser.cc"
2128#line 1186 "dhcp4_parser.yy"
2130 ctx.unique(
"host", ctx.loc2pos(yystack_[0].location));
2131 ctx.enter(ctx.NO_KEYWORD);
2133#line 2134 "dhcp4_parser.cc"
2137#line 1189 "dhcp4_parser.yy"
2140 ctx.stack_.back()->set(
"host", h);
2143#line 2144 "dhcp4_parser.cc"
2147#line 1195 "dhcp4_parser.yy"
2149 ctx.unique(
"port", ctx.loc2pos(yystack_[2].location));
2150 ElementPtr p(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
2151 ctx.stack_.back()->set(
"port", p);
2153#line 2154 "dhcp4_parser.cc"
2157#line 1201 "dhcp4_parser.yy"
2159 ctx.unique(
"name", ctx.loc2pos(yystack_[0].location));
2160 ctx.enter(ctx.NO_KEYWORD);
2162#line 2163 "dhcp4_parser.cc"
2166#line 1204 "dhcp4_parser.yy"
2168 ElementPtr name(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
2169 ctx.stack_.back()->set(
"name", name);
2172#line 2173 "dhcp4_parser.cc"
2176#line 1210 "dhcp4_parser.yy"
2178 ctx.unique(
"persist", ctx.loc2pos(yystack_[2].location));
2180 ctx.stack_.back()->set(
"persist", n);
2182#line 2183 "dhcp4_parser.cc"
2186#line 1216 "dhcp4_parser.yy"
2188 ctx.unique(
"lfc-interval", ctx.loc2pos(yystack_[2].location));
2189 ElementPtr n(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
2190 ctx.stack_.back()->set(
"lfc-interval", n);
2192#line 2193 "dhcp4_parser.cc"
2196#line 1222 "dhcp4_parser.yy"
2198 ctx.unique(
"readonly", ctx.loc2pos(yystack_[2].location));
2200 ctx.stack_.back()->set(
"readonly", n);
2202#line 2203 "dhcp4_parser.cc"
2206#line 1228 "dhcp4_parser.yy"
2208 ctx.unique(
"connect-timeout", ctx.loc2pos(yystack_[2].location));
2209 ElementPtr n(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
2210 ctx.stack_.back()->set(
"connect-timeout", n);
2212#line 2213 "dhcp4_parser.cc"
2216#line 1234 "dhcp4_parser.yy"
2218 ctx.unique(
"read-timeout", ctx.loc2pos(yystack_[2].location));
2219 ElementPtr n(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
2220 ctx.stack_.back()->set(
"read-timeout", n);
2222#line 2223 "dhcp4_parser.cc"
2226#line 1240 "dhcp4_parser.yy"
2228 ctx.unique(
"write-timeout", ctx.loc2pos(yystack_[2].location));
2229 ElementPtr n(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
2230 ctx.stack_.back()->set(
"write-timeout", n);
2232#line 2233 "dhcp4_parser.cc"
2236#line 1246 "dhcp4_parser.yy"
2238 ctx.unique(
"tcp-user-timeout", ctx.loc2pos(yystack_[2].location));
2239 ElementPtr n(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
2240 ctx.stack_.back()->set(
"tcp-user-timeout", n);
2242#line 2243 "dhcp4_parser.cc"
2246#line 1252 "dhcp4_parser.yy"
2248 ctx.unique(
"max-reconnect-tries", ctx.loc2pos(yystack_[2].location));
2249 ElementPtr n(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
2250 ctx.stack_.back()->set(
"max-reconnect-tries", n);
2252#line 2253 "dhcp4_parser.cc"
2256#line 1258 "dhcp4_parser.yy"
2258 ctx.unique(
"reconnect-wait-time", ctx.loc2pos(yystack_[2].location));
2259 ElementPtr n(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
2260 ctx.stack_.back()->set(
"reconnect-wait-time", n);
2262#line 2263 "dhcp4_parser.cc"
2266#line 1264 "dhcp4_parser.yy"
2268 ctx.unique(
"on-fail", ctx.loc2pos(yystack_[0].location));
2269 ctx.enter(ctx.DATABASE_ON_FAIL);
2271#line 2272 "dhcp4_parser.cc"
2275#line 1267 "dhcp4_parser.yy"
2277 ctx.stack_.back()->set(
"on-fail", yystack_[0].value.as <
ElementPtr > ());
2280#line 2281 "dhcp4_parser.cc"
2284#line 1272 "dhcp4_parser.yy"
2286#line 2287 "dhcp4_parser.cc"
2290#line 1273 "dhcp4_parser.yy"
2292#line 2293 "dhcp4_parser.cc"
2296#line 1274 "dhcp4_parser.yy"
2298#line 2299 "dhcp4_parser.cc"
2302#line 1277 "dhcp4_parser.yy"
2304 ctx.unique(
"retry-on-startup", ctx.loc2pos(yystack_[2].location));
2306 ctx.stack_.back()->set(
"retry-on-startup", n);
2308#line 2309 "dhcp4_parser.cc"
2312#line 1283 "dhcp4_parser.yy"
2314 ctx.unique(
"max-row-errors", ctx.loc2pos(yystack_[2].location));
2315 ElementPtr n(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
2316 ctx.stack_.back()->set(
"max-row-errors", n);
2318#line 2319 "dhcp4_parser.cc"
2322#line 1289 "dhcp4_parser.yy"
2324 ctx.unique(
"trust-anchor", ctx.loc2pos(yystack_[0].location));
2325 ctx.enter(ctx.NO_KEYWORD);
2327#line 2328 "dhcp4_parser.cc"
2331#line 1292 "dhcp4_parser.yy"
2334 ctx.stack_.back()->set(
"trust-anchor", ca);
2337#line 2338 "dhcp4_parser.cc"
2341#line 1298 "dhcp4_parser.yy"
2343 ctx.unique(
"cert-file", ctx.loc2pos(yystack_[0].location));
2344 ctx.enter(ctx.NO_KEYWORD);
2346#line 2347 "dhcp4_parser.cc"
2350#line 1301 "dhcp4_parser.yy"
2352 ElementPtr cert(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
2353 ctx.stack_.back()->set(
"cert-file", cert);
2356#line 2357 "dhcp4_parser.cc"
2360#line 1307 "dhcp4_parser.yy"
2362 ctx.unique(
"key-file", ctx.loc2pos(yystack_[0].location));
2363 ctx.enter(ctx.NO_KEYWORD);
2365#line 2366 "dhcp4_parser.cc"
2369#line 1310 "dhcp4_parser.yy"
2371 ElementPtr key(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
2372 ctx.stack_.back()->set(
"key-file", key);
2375#line 2376 "dhcp4_parser.cc"
2379#line 1316 "dhcp4_parser.yy"
2381 ctx.unique(
"ssl-mode", ctx.loc2pos(yystack_[0].location));
2382 ctx.enter(ctx.SSL_MODE);
2384#line 2385 "dhcp4_parser.cc"
2388#line 1319 "dhcp4_parser.yy"
2390 ctx.stack_.back()->set(
"ssl-mode", yystack_[0].value.as <
ElementPtr > ());
2393#line 2394 "dhcp4_parser.cc"
2397#line 1324 "dhcp4_parser.yy"
2401#line 2402 "dhcp4_parser.cc"
2405#line 1327 "dhcp4_parser.yy"
2409#line 2410 "dhcp4_parser.cc"
2413#line 1330 "dhcp4_parser.yy"
2417#line 2418 "dhcp4_parser.cc"
2421#line 1333 "dhcp4_parser.yy"
2425#line 2426 "dhcp4_parser.cc"
2429#line 1336 "dhcp4_parser.yy"
2433#line 2434 "dhcp4_parser.cc"
2437#line 1341 "dhcp4_parser.yy"
2439 ctx.unique(
"cipher-list", ctx.loc2pos(yystack_[0].location));
2440 ctx.enter(ctx.NO_KEYWORD);
2442#line 2443 "dhcp4_parser.cc"
2446#line 1344 "dhcp4_parser.yy"
2449 ctx.stack_.back()->set(
"cipher-list", cl);
2452#line 2453 "dhcp4_parser.cc"
2456#line 1350 "dhcp4_parser.yy"
2458 ctx.unique(
"host-reservation-identifiers", ctx.loc2pos(yystack_[0].location));
2460 ctx.stack_.back()->set(
"host-reservation-identifiers", l);
2461 ctx.stack_.push_back(l);
2462 ctx.enter(ctx.HOST_RESERVATION_IDENTIFIERS);
2464#line 2465 "dhcp4_parser.cc"
2468#line 1356 "dhcp4_parser.yy"
2470 ctx.stack_.pop_back();
2473#line 2474 "dhcp4_parser.cc"
2477#line 1363 "dhcp4_parser.yy"
2479 ctx.warnAboutExtraCommas(yystack_[0].location);
2481#line 2482 "dhcp4_parser.cc"
2485#line 1375 "dhcp4_parser.yy"
2488 ctx.stack_.back()->add(duid);
2490#line 2491 "dhcp4_parser.cc"
2494#line 1380 "dhcp4_parser.yy"
2497 ctx.stack_.back()->add(hwaddr);
2499#line 2500 "dhcp4_parser.cc"
2503#line 1385 "dhcp4_parser.yy"
2506 ctx.stack_.back()->add(circuit);
2508#line 2509 "dhcp4_parser.cc"
2512#line 1390 "dhcp4_parser.yy"
2515 ctx.stack_.back()->add(client);
2517#line 2518 "dhcp4_parser.cc"
2521#line 1395 "dhcp4_parser.yy"
2524 ctx.stack_.back()->add(
flex_id);
2526#line 2527 "dhcp4_parser.cc"
2530#line 1402 "dhcp4_parser.yy"
2532 ctx.unique(
"multi-threading", ctx.loc2pos(yystack_[0].location));
2534 ctx.stack_.back()->set(
"multi-threading", mt);
2535 ctx.stack_.push_back(mt);
2536 ctx.enter(ctx.DHCP_MULTI_THREADING);
2538#line 2539 "dhcp4_parser.cc"
2542#line 1408 "dhcp4_parser.yy"
2545 ctx.require(
"enable-multi-threading", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location));
2546 ctx.stack_.pop_back();
2549#line 2550 "dhcp4_parser.cc"
2553#line 1417 "dhcp4_parser.yy"
2555 ctx.warnAboutExtraCommas(yystack_[0].location);
2557#line 2558 "dhcp4_parser.cc"
2561#line 1430 "dhcp4_parser.yy"
2563 ctx.unique(
"enable-multi-threading", ctx.loc2pos(yystack_[2].location));
2565 ctx.stack_.back()->set(
"enable-multi-threading", b);
2567#line 2568 "dhcp4_parser.cc"
2571#line 1436 "dhcp4_parser.yy"
2573 ctx.unique(
"thread-pool-size", ctx.loc2pos(yystack_[2].location));
2574 ElementPtr prf(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
2575 ctx.stack_.back()->set(
"thread-pool-size", prf);
2577#line 2578 "dhcp4_parser.cc"
2581#line 1442 "dhcp4_parser.yy"
2583 ctx.unique(
"packet-queue-size", ctx.loc2pos(yystack_[2].location));
2584 ElementPtr prf(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
2585 ctx.stack_.back()->set(
"packet-queue-size", prf);
2587#line 2588 "dhcp4_parser.cc"
2591#line 1448 "dhcp4_parser.yy"
2593 ctx.unique(
"hooks-libraries", ctx.loc2pos(yystack_[0].location));
2595 ctx.stack_.back()->set(
"hooks-libraries", l);
2596 ctx.stack_.push_back(l);
2597 ctx.enter(ctx.HOOKS_LIBRARIES);
2599#line 2600 "dhcp4_parser.cc"
2603#line 1454 "dhcp4_parser.yy"
2605 ctx.stack_.pop_back();
2608#line 2609 "dhcp4_parser.cc"
2612#line 1465 "dhcp4_parser.yy"
2614 ctx.warnAboutExtraCommas(yystack_[0].location);
2616#line 2617 "dhcp4_parser.cc"
2620#line 1470 "dhcp4_parser.yy"
2623 ctx.stack_.back()->add(m);
2624 ctx.stack_.push_back(m);
2626#line 2627 "dhcp4_parser.cc"
2630#line 1474 "dhcp4_parser.yy"
2633 ctx.require(
"library", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
2634 ctx.stack_.pop_back();
2636#line 2637 "dhcp4_parser.cc"
2640#line 1480 "dhcp4_parser.yy"
2644 ctx.stack_.push_back(m);
2646#line 2647 "dhcp4_parser.cc"
2650#line 1484 "dhcp4_parser.yy"
2653 ctx.require(
"library", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
2656#line 2657 "dhcp4_parser.cc"
2660#line 1492 "dhcp4_parser.yy"
2662 ctx.warnAboutExtraCommas(yystack_[0].location);
2664#line 2665 "dhcp4_parser.cc"
2668#line 1502 "dhcp4_parser.yy"
2670 ctx.unique(
"library", ctx.loc2pos(yystack_[0].location));
2671 ctx.enter(ctx.NO_KEYWORD);
2673#line 2674 "dhcp4_parser.cc"
2677#line 1505 "dhcp4_parser.yy"
2679 ElementPtr lib(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
2680 ctx.stack_.back()->set(
"library", lib);
2683#line 2684 "dhcp4_parser.cc"
2687#line 1511 "dhcp4_parser.yy"
2689 ctx.unique(
"parameters", ctx.loc2pos(yystack_[0].location));
2690 ctx.enter(ctx.NO_KEYWORD);
2692#line 2693 "dhcp4_parser.cc"
2696#line 1514 "dhcp4_parser.yy"
2698 ctx.stack_.back()->set(
"parameters", yystack_[0].value.as <
ElementPtr > ());
2701#line 2702 "dhcp4_parser.cc"
2705#line 1520 "dhcp4_parser.yy"
2707 ctx.unique(
"expired-leases-processing", ctx.loc2pos(yystack_[0].location));
2709 ctx.stack_.back()->set(
"expired-leases-processing", m);
2710 ctx.stack_.push_back(m);
2711 ctx.enter(ctx.EXPIRED_LEASES_PROCESSING);
2713#line 2714 "dhcp4_parser.cc"
2717#line 1526 "dhcp4_parser.yy"
2720 ctx.stack_.pop_back();
2723#line 2724 "dhcp4_parser.cc"
2727#line 1534 "dhcp4_parser.yy"
2729 ctx.warnAboutExtraCommas(yystack_[0].location);
2731#line 2732 "dhcp4_parser.cc"
2735#line 1547 "dhcp4_parser.yy"
2737 ctx.unique(
"reclaim-timer-wait-time", ctx.loc2pos(yystack_[2].location));
2738 ElementPtr value(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
2739 ctx.stack_.back()->set(
"reclaim-timer-wait-time", value);
2741#line 2742 "dhcp4_parser.cc"
2745#line 1553 "dhcp4_parser.yy"
2747 ctx.unique(
"flush-reclaimed-timer-wait-time", ctx.loc2pos(yystack_[2].location));
2748 ElementPtr value(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
2749 ctx.stack_.back()->set(
"flush-reclaimed-timer-wait-time", value);
2751#line 2752 "dhcp4_parser.cc"
2755#line 1559 "dhcp4_parser.yy"
2757 ctx.unique(
"hold-reclaimed-time", ctx.loc2pos(yystack_[2].location));
2758 ElementPtr value(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
2759 ctx.stack_.back()->set(
"hold-reclaimed-time", value);
2761#line 2762 "dhcp4_parser.cc"
2765#line 1565 "dhcp4_parser.yy"
2767 ctx.unique(
"max-reclaim-leases", ctx.loc2pos(yystack_[2].location));
2768 ElementPtr value(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
2769 ctx.stack_.back()->set(
"max-reclaim-leases", value);
2771#line 2772 "dhcp4_parser.cc"
2775#line 1571 "dhcp4_parser.yy"
2777 ctx.unique(
"max-reclaim-time", ctx.loc2pos(yystack_[2].location));
2778 ElementPtr value(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
2779 ctx.stack_.back()->set(
"max-reclaim-time", value);
2781#line 2782 "dhcp4_parser.cc"
2785#line 1577 "dhcp4_parser.yy"
2787 ctx.unique(
"unwarned-reclaim-cycles", ctx.loc2pos(yystack_[2].location));
2788 ElementPtr value(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
2789 ctx.stack_.back()->set(
"unwarned-reclaim-cycles", value);
2791#line 2792 "dhcp4_parser.cc"
2795#line 1586 "dhcp4_parser.yy"
2797 ctx.unique(
"subnet4", ctx.loc2pos(yystack_[0].location));
2799 ctx.stack_.back()->set(
"subnet4", l);
2800 ctx.stack_.push_back(l);
2801 ctx.enter(ctx.SUBNET4);
2803#line 2804 "dhcp4_parser.cc"
2807#line 1592 "dhcp4_parser.yy"
2809 ctx.stack_.pop_back();
2812#line 2813 "dhcp4_parser.cc"
2816#line 1606 "dhcp4_parser.yy"
2818 ctx.warnAboutExtraCommas(yystack_[0].location);
2820#line 2821 "dhcp4_parser.cc"
2824#line 1615 "dhcp4_parser.yy"
2827 ctx.stack_.back()->add(m);
2828 ctx.stack_.push_back(m);
2830#line 2831 "dhcp4_parser.cc"
2834#line 1619 "dhcp4_parser.yy"
2853 ctx.require(
"subnet", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
2854 ctx.stack_.pop_back();
2856#line 2857 "dhcp4_parser.cc"
2860#line 1641 "dhcp4_parser.yy"
2864 ctx.stack_.push_back(m);
2866#line 2867 "dhcp4_parser.cc"
2870#line 1645 "dhcp4_parser.yy"
2873 ctx.require(
"subnet", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
2876#line 2877 "dhcp4_parser.cc"
2880#line 1654 "dhcp4_parser.yy"
2882 ctx.warnAboutExtraCommas(yystack_[0].location);
2884#line 2885 "dhcp4_parser.cc"
2888#line 1716 "dhcp4_parser.yy"
2890 ctx.unique(
"subnet", ctx.loc2pos(yystack_[0].location));
2891 ctx.enter(ctx.NO_KEYWORD);
2893#line 2894 "dhcp4_parser.cc"
2897#line 1719 "dhcp4_parser.yy"
2899 ElementPtr subnet(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
2900 ctx.stack_.back()->set(
"subnet", subnet);
2903#line 2904 "dhcp4_parser.cc"
2907#line 1725 "dhcp4_parser.yy"
2909 ctx.unique(
"4o6-interface", ctx.loc2pos(yystack_[0].location));
2910 ctx.enter(ctx.NO_KEYWORD);
2912#line 2913 "dhcp4_parser.cc"
2916#line 1728 "dhcp4_parser.yy"
2918 ElementPtr iface(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
2919 ctx.stack_.back()->set(
"4o6-interface", iface);
2922#line 2923 "dhcp4_parser.cc"
2926#line 1734 "dhcp4_parser.yy"
2928 ctx.unique(
"4o6-interface-id", ctx.loc2pos(yystack_[0].location));
2929 ctx.enter(ctx.NO_KEYWORD);
2931#line 2932 "dhcp4_parser.cc"
2935#line 1737 "dhcp4_parser.yy"
2937 ElementPtr iface(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
2938 ctx.stack_.back()->set(
"4o6-interface-id", iface);
2941#line 2942 "dhcp4_parser.cc"
2945#line 1743 "dhcp4_parser.yy"
2947 ctx.unique(
"4o6-subnet", ctx.loc2pos(yystack_[0].location));
2948 ctx.enter(ctx.NO_KEYWORD);
2950#line 2951 "dhcp4_parser.cc"
2954#line 1746 "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-subnet", iface);
2960#line 2961 "dhcp4_parser.cc"
2964#line 1752 "dhcp4_parser.yy"
2966 ctx.unique(
"interface", ctx.loc2pos(yystack_[0].location));
2967 ctx.enter(ctx.NO_KEYWORD);
2969#line 2970 "dhcp4_parser.cc"
2973#line 1755 "dhcp4_parser.yy"
2975 ElementPtr iface(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
2976 ctx.stack_.back()->set(
"interface", iface);
2979#line 2980 "dhcp4_parser.cc"
2983#line 1761 "dhcp4_parser.yy"
2985 ctx.unique(
"client-class", ctx.loc2pos(yystack_[0].location));
2986 ctx.enter(ctx.NO_KEYWORD);
2988#line 2989 "dhcp4_parser.cc"
2992#line 1764 "dhcp4_parser.yy"
2994 ElementPtr cls(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
2995 ctx.stack_.back()->set(
"client-class", cls);
2998#line 2999 "dhcp4_parser.cc"
3002#line 1771 "dhcp4_parser.yy"
3004 ctx.unique(
"client-classes", ctx.loc2pos(yystack_[0].location));
3006 ctx.stack_.back()->set(
"client-classes", c);
3007 ctx.stack_.push_back(c);
3008 ctx.enter(ctx.NO_KEYWORD);
3010#line 3011 "dhcp4_parser.cc"
3014#line 1777 "dhcp4_parser.yy"
3016 ctx.stack_.pop_back();
3019#line 3020 "dhcp4_parser.cc"
3023#line 1783 "dhcp4_parser.yy"
3025 ctx.unique(
"require-client-classes", ctx.loc2pos(yystack_[0].location));
3027 ctx.stack_.back()->set(
"require-client-classes", c);
3028 ctx.stack_.push_back(c);
3029 ctx.enter(ctx.NO_KEYWORD);
3031#line 3032 "dhcp4_parser.cc"
3035#line 1789 "dhcp4_parser.yy"
3037 ctx.stack_.pop_back();
3040#line 3041 "dhcp4_parser.cc"
3044#line 1794 "dhcp4_parser.yy"
3046 ctx.unique(
"evaluate-additional-classes", ctx.loc2pos(yystack_[0].location));
3048 ctx.stack_.back()->set(
"evaluate-additional-classes", c);
3049 ctx.stack_.push_back(c);
3050 ctx.enter(ctx.NO_KEYWORD);
3052#line 3053 "dhcp4_parser.cc"
3056#line 1800 "dhcp4_parser.yy"
3058 ctx.stack_.pop_back();
3061#line 3062 "dhcp4_parser.cc"
3065#line 1805 "dhcp4_parser.yy"
3067 ctx.unique(
"reservations-global", ctx.loc2pos(yystack_[2].location));
3069 ctx.stack_.back()->set(
"reservations-global", b);
3071#line 3072 "dhcp4_parser.cc"
3075#line 1811 "dhcp4_parser.yy"
3077 ctx.unique(
"reservations-in-subnet", ctx.loc2pos(yystack_[2].location));
3079 ctx.stack_.back()->set(
"reservations-in-subnet", b);
3081#line 3082 "dhcp4_parser.cc"
3085#line 1817 "dhcp4_parser.yy"
3087 ctx.unique(
"reservations-out-of-pool", ctx.loc2pos(yystack_[2].location));
3089 ctx.stack_.back()->set(
"reservations-out-of-pool", b);
3091#line 3092 "dhcp4_parser.cc"
3095#line 1823 "dhcp4_parser.yy"
3097 ctx.unique(
"id", ctx.loc2pos(yystack_[2].location));
3098 ElementPtr id(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
3099 ctx.stack_.back()->set(
"id",
id);
3101#line 3102 "dhcp4_parser.cc"
3105#line 1831 "dhcp4_parser.yy"
3107 ctx.unique(
"shared-networks", ctx.loc2pos(yystack_[0].location));
3109 ctx.stack_.back()->set(
"shared-networks", l);
3110 ctx.stack_.push_back(l);
3111 ctx.enter(ctx.SHARED_NETWORK);
3113#line 3114 "dhcp4_parser.cc"
3117#line 1837 "dhcp4_parser.yy"
3119 ctx.stack_.pop_back();
3122#line 3123 "dhcp4_parser.cc"
3126#line 1850 "dhcp4_parser.yy"
3128 ctx.warnAboutExtraCommas(yystack_[0].location);
3130#line 3131 "dhcp4_parser.cc"
3134#line 1855 "dhcp4_parser.yy"
3137 ctx.stack_.back()->add(m);
3138 ctx.stack_.push_back(m);
3140#line 3141 "dhcp4_parser.cc"
3144#line 1859 "dhcp4_parser.yy"
3146 ctx.stack_.pop_back();
3148#line 3149 "dhcp4_parser.cc"
3152#line 1865 "dhcp4_parser.yy"
3154 ctx.warnAboutExtraCommas(yystack_[0].location);
3156#line 3157 "dhcp4_parser.cc"
3160#line 1925 "dhcp4_parser.yy"
3162 ctx.unique(
"option-def", ctx.loc2pos(yystack_[0].location));
3164 ctx.stack_.back()->set(
"option-def", l);
3165 ctx.stack_.push_back(l);
3166 ctx.enter(ctx.OPTION_DEF);
3168#line 3169 "dhcp4_parser.cc"
3172#line 1931 "dhcp4_parser.yy"
3174 ctx.stack_.pop_back();
3177#line 3178 "dhcp4_parser.cc"
3181#line 1939 "dhcp4_parser.yy"
3184 ctx.stack_.push_back(m);
3186#line 3187 "dhcp4_parser.cc"
3190#line 1942 "dhcp4_parser.yy"
3194#line 3195 "dhcp4_parser.cc"
3198#line 1954 "dhcp4_parser.yy"
3200 ctx.warnAboutExtraCommas(yystack_[0].location);
3202#line 3203 "dhcp4_parser.cc"
3206#line 1961 "dhcp4_parser.yy"
3209 ctx.stack_.back()->add(m);
3210 ctx.stack_.push_back(m);
3212#line 3213 "dhcp4_parser.cc"
3216#line 1965 "dhcp4_parser.yy"
3219 ctx.require(
"name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
3220 ctx.require(
"code", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
3221 ctx.require(
"type", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
3222 ctx.stack_.pop_back();
3224#line 3225 "dhcp4_parser.cc"
3228#line 1976 "dhcp4_parser.yy"
3232 ctx.stack_.push_back(m);
3234#line 3235 "dhcp4_parser.cc"
3238#line 1980 "dhcp4_parser.yy"
3241 ctx.require(
"name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
3242 ctx.require(
"code", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
3243 ctx.require(
"type", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
3246#line 3247 "dhcp4_parser.cc"
3250#line 1996 "dhcp4_parser.yy"
3252 ctx.warnAboutExtraCommas(yystack_[0].location);
3254#line 3255 "dhcp4_parser.cc"
3258#line 2015 "dhcp4_parser.yy"
3260 ctx.unique(
"code", ctx.loc2pos(yystack_[2].location));
3261 ElementPtr code(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
3262 ctx.stack_.back()->set(
"code", code);
3264#line 3265 "dhcp4_parser.cc"
3268#line 2023 "dhcp4_parser.yy"
3270 ctx.unique(
"type", ctx.loc2pos(yystack_[0].location));
3271 ctx.enter(ctx.NO_KEYWORD);
3273#line 3274 "dhcp4_parser.cc"
3277#line 2026 "dhcp4_parser.yy"
3279 ElementPtr prf(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
3280 ctx.stack_.back()->set(
"type", prf);
3283#line 3284 "dhcp4_parser.cc"
3287#line 2032 "dhcp4_parser.yy"
3289 ctx.unique(
"record-types", ctx.loc2pos(yystack_[0].location));
3290 ctx.enter(ctx.NO_KEYWORD);
3292#line 3293 "dhcp4_parser.cc"
3296#line 2035 "dhcp4_parser.yy"
3298 ElementPtr rtypes(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
3299 ctx.stack_.back()->set(
"record-types", rtypes);
3302#line 3303 "dhcp4_parser.cc"
3306#line 2041 "dhcp4_parser.yy"
3308 ctx.unique(
"space", ctx.loc2pos(yystack_[0].location));
3309 ctx.enter(ctx.NO_KEYWORD);
3311#line 3312 "dhcp4_parser.cc"
3315#line 2044 "dhcp4_parser.yy"
3317 ElementPtr space(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
3318 ctx.stack_.back()->set(
"space", space);
3321#line 3322 "dhcp4_parser.cc"
3325#line 2052 "dhcp4_parser.yy"
3327 ctx.unique(
"encapsulate", ctx.loc2pos(yystack_[0].location));
3328 ctx.enter(ctx.NO_KEYWORD);
3330#line 3331 "dhcp4_parser.cc"
3334#line 2055 "dhcp4_parser.yy"
3336 ElementPtr encap(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
3337 ctx.stack_.back()->set(
"encapsulate", encap);
3340#line 3341 "dhcp4_parser.cc"
3344#line 2061 "dhcp4_parser.yy"
3346 ctx.unique(
"array", ctx.loc2pos(yystack_[2].location));
3347 ElementPtr array(
new BoolElement(yystack_[0].value.as <
bool > (), ctx.loc2pos(yystack_[0].location)));
3348 ctx.stack_.back()->set(
"array", array);
3350#line 3351 "dhcp4_parser.cc"
3354#line 2071 "dhcp4_parser.yy"
3356 ctx.unique(
"option-data", ctx.loc2pos(yystack_[0].location));
3358 ctx.stack_.back()->set(
"option-data", l);
3359 ctx.stack_.push_back(l);
3360 ctx.enter(ctx.OPTION_DATA);
3362#line 3363 "dhcp4_parser.cc"
3366#line 2077 "dhcp4_parser.yy"
3368 ctx.stack_.pop_back();
3371#line 3372 "dhcp4_parser.cc"
3375#line 2092 "dhcp4_parser.yy"
3377 ctx.warnAboutExtraCommas(yystack_[0].location);
3379#line 3380 "dhcp4_parser.cc"
3383#line 2099 "dhcp4_parser.yy"
3386 ctx.stack_.back()->add(m);
3387 ctx.stack_.push_back(m);
3389#line 3390 "dhcp4_parser.cc"
3393#line 2103 "dhcp4_parser.yy"
3396 ctx.stack_.pop_back();
3398#line 3399 "dhcp4_parser.cc"
3402#line 2111 "dhcp4_parser.yy"
3406 ctx.stack_.push_back(m);
3408#line 3409 "dhcp4_parser.cc"
3412#line 2115 "dhcp4_parser.yy"
3417#line 3418 "dhcp4_parser.cc"
3421#line 2131 "dhcp4_parser.yy"
3423 ctx.warnAboutExtraCommas(yystack_[0].location);
3425#line 3426 "dhcp4_parser.cc"
3429#line 2153 "dhcp4_parser.yy"
3431 ctx.unique(
"data", ctx.loc2pos(yystack_[0].location));
3432 ctx.enter(ctx.NO_KEYWORD);
3434#line 3435 "dhcp4_parser.cc"
3438#line 2156 "dhcp4_parser.yy"
3441 ctx.stack_.back()->set(
"data",
data);
3444#line 3445 "dhcp4_parser.cc"
3448#line 2166 "dhcp4_parser.yy"
3450 ctx.unique(
"csv-format", ctx.loc2pos(yystack_[2].location));
3451 ElementPtr csv(
new BoolElement(yystack_[0].value.as <
bool > (), ctx.loc2pos(yystack_[0].location)));
3452 ctx.stack_.back()->set(
"csv-format", csv);
3454#line 3455 "dhcp4_parser.cc"
3458#line 2172 "dhcp4_parser.yy"
3460 ctx.unique(
"always-send", ctx.loc2pos(yystack_[2].location));
3461 ElementPtr persist(
new BoolElement(yystack_[0].value.as <
bool > (), ctx.loc2pos(yystack_[0].location)));
3462 ctx.stack_.back()->set(
"always-send", persist);
3464#line 3465 "dhcp4_parser.cc"
3468#line 2178 "dhcp4_parser.yy"
3470 ctx.unique(
"never-send", ctx.loc2pos(yystack_[2].location));
3471 ElementPtr cancel(
new BoolElement(yystack_[0].value.as <
bool > (), ctx.loc2pos(yystack_[0].location)));
3472 ctx.stack_.back()->set(
"never-send", cancel);
3474#line 3475 "dhcp4_parser.cc"
3478#line 2184 "dhcp4_parser.yy"
3480 ctx.unique(
"client-classes", ctx.loc2pos(yystack_[0].location));
3482 ctx.stack_.back()->set(
"client-classes", c);
3483 ctx.stack_.push_back(c);
3484 ctx.enter(ctx.NO_KEYWORD);
3486#line 3487 "dhcp4_parser.cc"
3490#line 2190 "dhcp4_parser.yy"
3492 ctx.stack_.pop_back();
3495#line 3496 "dhcp4_parser.cc"
3499#line 2198 "dhcp4_parser.yy"
3501 ctx.unique(
"pools", ctx.loc2pos(yystack_[0].location));
3503 ctx.stack_.back()->set(
"pools", l);
3504 ctx.stack_.push_back(l);
3505 ctx.enter(ctx.POOLS);
3507#line 3508 "dhcp4_parser.cc"
3511#line 2204 "dhcp4_parser.yy"
3513 ctx.stack_.pop_back();
3516#line 3517 "dhcp4_parser.cc"
3520#line 2217 "dhcp4_parser.yy"
3522 ctx.warnAboutExtraCommas(yystack_[0].location);
3524#line 3525 "dhcp4_parser.cc"
3528#line 2222 "dhcp4_parser.yy"
3531 ctx.stack_.back()->add(m);
3532 ctx.stack_.push_back(m);
3534#line 3535 "dhcp4_parser.cc"
3538#line 2226 "dhcp4_parser.yy"
3541 ctx.require(
"pool", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
3542 ctx.stack_.pop_back();
3544#line 3545 "dhcp4_parser.cc"
3548#line 2232 "dhcp4_parser.yy"
3552 ctx.stack_.push_back(m);
3554#line 3555 "dhcp4_parser.cc"
3558#line 2236 "dhcp4_parser.yy"
3561 ctx.require(
"pool", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
3564#line 3565 "dhcp4_parser.cc"
3568#line 2244 "dhcp4_parser.yy"
3570 ctx.warnAboutExtraCommas(yystack_[0].location);
3572#line 3573 "dhcp4_parser.cc"
3576#line 2275 "dhcp4_parser.yy"
3578 ctx.unique(
"pool", ctx.loc2pos(yystack_[0].location));
3579 ctx.enter(ctx.NO_KEYWORD);
3581#line 3582 "dhcp4_parser.cc"
3585#line 2278 "dhcp4_parser.yy"
3587 ElementPtr pool(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
3588 ctx.stack_.back()->set(
"pool", pool);
3591#line 3592 "dhcp4_parser.cc"
3595#line 2284 "dhcp4_parser.yy"
3597 ctx.unique(
"pool-id", ctx.loc2pos(yystack_[2].location));
3598 ElementPtr id(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
3599 ctx.stack_.back()->set(
"pool-id",
id);
3601#line 3602 "dhcp4_parser.cc"
3605#line 2290 "dhcp4_parser.yy"
3607 ctx.enter(ctx.NO_KEYWORD);
3609#line 3610 "dhcp4_parser.cc"
3613#line 2292 "dhcp4_parser.yy"
3622 if ((old->size() != 1) || !old->contains(
"comment")) {
3623 std::stringstream msg;
3624 msg <<
"duplicate user-context entries (previous at "
3625 << old->getPosition().str() <<
")";
3626 error(yystack_[3].location, msg.str());
3629 user_context->set(
"comment", old->get(
"comment"));
3633 parent->set(
"user-context", user_context);
3636#line 3637 "dhcp4_parser.cc"
3640#line 2315 "dhcp4_parser.yy"
3642 ctx.enter(ctx.NO_KEYWORD);
3644#line 3645 "dhcp4_parser.cc"
3648#line 2317 "dhcp4_parser.yy"
3652 ElementPtr comment(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
3653 user_context->set(
"comment", comment);
3659 if (old->contains(
"comment")) {
3660 std::stringstream msg;
3661 msg <<
"duplicate user-context/comment entries (previous at "
3662 << old->getPosition().str() <<
")";
3663 error(yystack_[3].location, msg.str());
3666 merge(user_context, old);
3670 parent->set(
"user-context", user_context);
3673#line 3674 "dhcp4_parser.cc"
3677#line 2345 "dhcp4_parser.yy"
3679 ctx.unique(
"reservations", ctx.loc2pos(yystack_[0].location));
3681 ctx.stack_.back()->set(
"reservations", l);
3682 ctx.stack_.push_back(l);
3683 ctx.enter(ctx.RESERVATIONS);
3685#line 3686 "dhcp4_parser.cc"
3689#line 2351 "dhcp4_parser.yy"
3691 ctx.stack_.pop_back();
3694#line 3695 "dhcp4_parser.cc"
3698#line 2362 "dhcp4_parser.yy"
3700 ctx.warnAboutExtraCommas(yystack_[0].location);
3702#line 3703 "dhcp4_parser.cc"
3706#line 2367 "dhcp4_parser.yy"
3709 ctx.stack_.back()->add(m);
3710 ctx.stack_.push_back(m);
3712#line 3713 "dhcp4_parser.cc"
3716#line 2371 "dhcp4_parser.yy"
3719 ctx.stack_.pop_back();
3721#line 3722 "dhcp4_parser.cc"
3725#line 2376 "dhcp4_parser.yy"
3729 ctx.stack_.push_back(m);
3731#line 3732 "dhcp4_parser.cc"
3735#line 2380 "dhcp4_parser.yy"
3740#line 3741 "dhcp4_parser.cc"
3744#line 2391 "dhcp4_parser.yy"
3746 ctx.warnAboutExtraCommas(yystack_[0].location);
3748#line 3749 "dhcp4_parser.cc"
3752#line 2414 "dhcp4_parser.yy"
3754 ctx.unique(
"next-server", ctx.loc2pos(yystack_[0].location));
3755 ctx.enter(ctx.NO_KEYWORD);
3757#line 3758 "dhcp4_parser.cc"
3761#line 2417 "dhcp4_parser.yy"
3763 ElementPtr next_server(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
3764 ctx.stack_.back()->set(
"next-server", next_server);
3767#line 3768 "dhcp4_parser.cc"
3771#line 2423 "dhcp4_parser.yy"
3773 ctx.unique(
"server-hostname", ctx.loc2pos(yystack_[0].location));
3774 ctx.enter(ctx.NO_KEYWORD);
3776#line 3777 "dhcp4_parser.cc"
3780#line 2426 "dhcp4_parser.yy"
3782 ElementPtr srv(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
3783 ctx.stack_.back()->set(
"server-hostname", srv);
3786#line 3787 "dhcp4_parser.cc"
3790#line 2432 "dhcp4_parser.yy"
3792 ctx.unique(
"boot-file-name", ctx.loc2pos(yystack_[0].location));
3793 ctx.enter(ctx.NO_KEYWORD);
3795#line 3796 "dhcp4_parser.cc"
3799#line 2435 "dhcp4_parser.yy"
3801 ElementPtr bootfile(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
3802 ctx.stack_.back()->set(
"boot-file-name", bootfile);
3805#line 3806 "dhcp4_parser.cc"
3809#line 2441 "dhcp4_parser.yy"
3811 ctx.unique(
"ip-address", ctx.loc2pos(yystack_[0].location));
3812 ctx.enter(ctx.NO_KEYWORD);
3814#line 3815 "dhcp4_parser.cc"
3818#line 2444 "dhcp4_parser.yy"
3820 ElementPtr addr(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
3821 ctx.stack_.back()->set(
"ip-address", addr);
3824#line 3825 "dhcp4_parser.cc"
3828#line 2450 "dhcp4_parser.yy"
3830 ctx.unique(
"duid", ctx.loc2pos(yystack_[0].location));
3831 ctx.enter(ctx.NO_KEYWORD);
3833#line 3834 "dhcp4_parser.cc"
3837#line 2453 "dhcp4_parser.yy"
3840 ctx.stack_.back()->set(
"duid", d);
3843#line 3844 "dhcp4_parser.cc"
3847#line 2459 "dhcp4_parser.yy"
3849 ctx.unique(
"hw-address", ctx.loc2pos(yystack_[0].location));
3850 ctx.enter(ctx.NO_KEYWORD);
3852#line 3853 "dhcp4_parser.cc"
3856#line 2462 "dhcp4_parser.yy"
3859 ctx.stack_.back()->set(
"hw-address", hw);
3862#line 3863 "dhcp4_parser.cc"
3866#line 2468 "dhcp4_parser.yy"
3868 ctx.unique(
"client-id", ctx.loc2pos(yystack_[0].location));
3869 ctx.enter(ctx.NO_KEYWORD);
3871#line 3872 "dhcp4_parser.cc"
3875#line 2471 "dhcp4_parser.yy"
3878 ctx.stack_.back()->set(
"client-id", hw);
3881#line 3882 "dhcp4_parser.cc"
3885#line 2477 "dhcp4_parser.yy"
3887 ctx.unique(
"circuit-id", ctx.loc2pos(yystack_[0].location));
3888 ctx.enter(ctx.NO_KEYWORD);
3890#line 3891 "dhcp4_parser.cc"
3894#line 2480 "dhcp4_parser.yy"
3897 ctx.stack_.back()->set(
"circuit-id", hw);
3900#line 3901 "dhcp4_parser.cc"
3904#line 2486 "dhcp4_parser.yy"
3906 ctx.unique(
"flex-id", ctx.loc2pos(yystack_[0].location));
3907 ctx.enter(ctx.NO_KEYWORD);
3909#line 3910 "dhcp4_parser.cc"
3913#line 2489 "dhcp4_parser.yy"
3916 ctx.stack_.back()->set(
"flex-id", hw);
3919#line 3920 "dhcp4_parser.cc"
3923#line 2495 "dhcp4_parser.yy"
3925 ctx.unique(
"hostname", ctx.loc2pos(yystack_[0].location));
3926 ctx.enter(ctx.NO_KEYWORD);
3928#line 3929 "dhcp4_parser.cc"
3932#line 2498 "dhcp4_parser.yy"
3934 ElementPtr host(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
3935 ctx.stack_.back()->set(
"hostname", host);
3938#line 3939 "dhcp4_parser.cc"
3942#line 2504 "dhcp4_parser.yy"
3944 ctx.unique(
"client-classes", ctx.loc2pos(yystack_[0].location));
3946 ctx.stack_.back()->set(
"client-classes", c);
3947 ctx.stack_.push_back(c);
3948 ctx.enter(ctx.NO_KEYWORD);
3950#line 3951 "dhcp4_parser.cc"
3954#line 2510 "dhcp4_parser.yy"
3956 ctx.stack_.pop_back();
3959#line 3960 "dhcp4_parser.cc"
3963#line 2518 "dhcp4_parser.yy"
3965 ctx.unique(
"relay", ctx.loc2pos(yystack_[0].location));
3967 ctx.stack_.back()->set(
"relay", m);
3968 ctx.stack_.push_back(m);
3969 ctx.enter(ctx.RELAY);
3971#line 3972 "dhcp4_parser.cc"
3975#line 2524 "dhcp4_parser.yy"
3977 ctx.stack_.pop_back();
3980#line 3981 "dhcp4_parser.cc"
3984#line 2532 "dhcp4_parser.yy"
3986 ctx.unique(
"ip-addresses", ctx.loc2pos(yystack_[0].location));
3988 ctx.stack_.back()->set(
"ip-addresses", l);
3989 ctx.stack_.push_back(l);
3990 ctx.enter(ctx.NO_KEYWORD);
3992#line 3993 "dhcp4_parser.cc"
3996#line 2538 "dhcp4_parser.yy"
3998 ctx.stack_.pop_back();
4001#line 4002 "dhcp4_parser.cc"
4005#line 2546 "dhcp4_parser.yy"
4007 ctx.unique(
"client-classes", ctx.loc2pos(yystack_[0].location));
4009 ctx.stack_.back()->set(
"client-classes", l);
4010 ctx.stack_.push_back(l);
4011 ctx.enter(ctx.CLIENT_CLASSES);
4013#line 4014 "dhcp4_parser.cc"
4017#line 2552 "dhcp4_parser.yy"
4019 ctx.stack_.pop_back();
4022#line 4023 "dhcp4_parser.cc"
4026#line 2563 "dhcp4_parser.yy"
4028 ctx.warnAboutExtraCommas(yystack_[0].location);
4030#line 4031 "dhcp4_parser.cc"
4034#line 2568 "dhcp4_parser.yy"
4037 ctx.stack_.back()->add(m);
4038 ctx.stack_.push_back(m);
4040#line 4041 "dhcp4_parser.cc"
4044#line 2572 "dhcp4_parser.yy"
4047 ctx.require(
"name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
4048 ctx.stack_.pop_back();
4050#line 4051 "dhcp4_parser.cc"
4054#line 2584 "dhcp4_parser.yy"
4056 ctx.warnAboutExtraCommas(yystack_[0].location);
4058#line 4059 "dhcp4_parser.cc"
4062#line 2610 "dhcp4_parser.yy"
4064 ctx.unique(
"test", ctx.loc2pos(yystack_[0].location));
4065 ctx.enter(ctx.NO_KEYWORD);
4067#line 4068 "dhcp4_parser.cc"
4071#line 2613 "dhcp4_parser.yy"
4074 ctx.stack_.back()->set(
"test",
test);
4077#line 4078 "dhcp4_parser.cc"
4081#line 2619 "dhcp4_parser.yy"
4083 ctx.unique(
"template-test", ctx.loc2pos(yystack_[0].location));
4084 ctx.enter(ctx.NO_KEYWORD);
4086#line 4087 "dhcp4_parser.cc"
4090#line 2622 "dhcp4_parser.yy"
4092 ElementPtr template_test(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
4093 ctx.stack_.back()->set(
"template-test", template_test);
4096#line 4097 "dhcp4_parser.cc"
4100#line 2629 "dhcp4_parser.yy"
4102 ctx.unique(
"only-if-required", ctx.loc2pos(yystack_[2].location));
4104 ctx.stack_.back()->set(
"only-if-required", b);
4106#line 4107 "dhcp4_parser.cc"
4110#line 2635 "dhcp4_parser.yy"
4112 ctx.unique(
"only-in-additional-list", ctx.loc2pos(yystack_[2].location));
4114 ctx.stack_.back()->set(
"only-in-additional-list", b);
4116#line 4117 "dhcp4_parser.cc"
4120#line 2643 "dhcp4_parser.yy"
4122 ctx.unique(
"dhcp4o6-port", ctx.loc2pos(yystack_[2].location));
4123 ElementPtr time(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
4124 ctx.stack_.back()->set(
"dhcp4o6-port", time);
4126#line 4127 "dhcp4_parser.cc"
4130#line 2651 "dhcp4_parser.yy"
4132 ctx.unique(
"control-socket", ctx.loc2pos(yystack_[0].location));
4133 ctx.unique(
"control-sockets", ctx.loc2pos(yystack_[0].location));
4135 ctx.stack_.back()->set(
"control-socket", m);
4136 ctx.stack_.push_back(m);
4137 ctx.enter(ctx.CONTROL_SOCKET);
4139#line 4140 "dhcp4_parser.cc"
4143#line 2658 "dhcp4_parser.yy"
4145 ctx.stack_.pop_back();
4148#line 4149 "dhcp4_parser.cc"
4152#line 2663 "dhcp4_parser.yy"
4154 ctx.unique(
"control-sockets", ctx.loc2pos(yystack_[0].location));
4155 ctx.unique(
"control-socket", ctx.loc2pos(yystack_[0].location));
4157 ctx.stack_.back()->set(
"control-sockets", l);
4158 ctx.stack_.push_back(l);
4159 ctx.enter(ctx.CONTROL_SOCKET);
4161#line 4162 "dhcp4_parser.cc"
4165#line 2670 "dhcp4_parser.yy"
4167 ctx.stack_.pop_back();
4170#line 4171 "dhcp4_parser.cc"
4174#line 2681 "dhcp4_parser.yy"
4176 ctx.warnAboutExtraCommas(yystack_[0].location);
4178#line 4179 "dhcp4_parser.cc"
4182#line 2686 "dhcp4_parser.yy"
4185 ctx.stack_.back()->add(m);
4186 ctx.stack_.push_back(m);
4188#line 4189 "dhcp4_parser.cc"
4192#line 2690 "dhcp4_parser.yy"
4194 ctx.stack_.pop_back();
4196#line 4197 "dhcp4_parser.cc"
4200#line 2696 "dhcp4_parser.yy"
4202 ctx.warnAboutExtraCommas(yystack_[0].location);
4204#line 4205 "dhcp4_parser.cc"
4208#line 2716 "dhcp4_parser.yy"
4210 ctx.unique(
"socket-type", ctx.loc2pos(yystack_[0].location));
4211 ctx.enter(ctx.CONTROL_SOCKET_TYPE);
4213#line 4214 "dhcp4_parser.cc"
4217#line 2719 "dhcp4_parser.yy"
4219 ctx.stack_.back()->set(
"socket-type", yystack_[0].value.as <
ElementPtr > ());
4222#line 4223 "dhcp4_parser.cc"
4226#line 2725 "dhcp4_parser.yy"
4228#line 4229 "dhcp4_parser.cc"
4232#line 2726 "dhcp4_parser.yy"
4234#line 4235 "dhcp4_parser.cc"
4238#line 2727 "dhcp4_parser.yy"
4240#line 4241 "dhcp4_parser.cc"
4244#line 2730 "dhcp4_parser.yy"
4246 ctx.unique(
"socket-name", ctx.loc2pos(yystack_[0].location));
4247 ctx.enter(ctx.NO_KEYWORD);
4249#line 4250 "dhcp4_parser.cc"
4253#line 2733 "dhcp4_parser.yy"
4255 ElementPtr name(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
4256 ctx.stack_.back()->set(
"socket-name", name);
4259#line 4260 "dhcp4_parser.cc"
4263#line 2739 "dhcp4_parser.yy"
4265 ctx.unique(
"socket-address", ctx.loc2pos(yystack_[0].location));
4266 ctx.enter(ctx.NO_KEYWORD);
4268#line 4269 "dhcp4_parser.cc"
4272#line 2742 "dhcp4_parser.yy"
4274 ElementPtr address(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
4275 ctx.stack_.back()->set(
"socket-address", address);
4278#line 4279 "dhcp4_parser.cc"
4282#line 2748 "dhcp4_parser.yy"
4284 ctx.unique(
"socket-port", ctx.loc2pos(yystack_[2].location));
4285 ElementPtr port(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
4286 ctx.stack_.back()->set(
"socket-port", port);
4288#line 4289 "dhcp4_parser.cc"
4292#line 2754 "dhcp4_parser.yy"
4294 ctx.unique(
"cert-required", ctx.loc2pos(yystack_[2].location));
4295 ElementPtr req(
new BoolElement(yystack_[0].value.as <
bool > (), ctx.loc2pos(yystack_[0].location)));
4296 ctx.stack_.back()->set(
"cert-required", req);
4298#line 4299 "dhcp4_parser.cc"
4302#line 2760 "dhcp4_parser.yy"
4304 ctx.unique(
"http-headers", ctx.loc2pos(yystack_[0].location));
4306 ctx.stack_.back()->set(
"http-headers", l);
4307 ctx.stack_.push_back(l);
4308 ctx.enter(ctx.HTTP_HEADERS);
4310#line 4311 "dhcp4_parser.cc"
4314#line 2766 "dhcp4_parser.yy"
4316 ctx.stack_.pop_back();
4319#line 4320 "dhcp4_parser.cc"
4323#line 2777 "dhcp4_parser.yy"
4325 ctx.warnAboutExtraCommas(yystack_[0].location);
4327#line 4328 "dhcp4_parser.cc"
4331#line 2782 "dhcp4_parser.yy"
4334 ctx.stack_.back()->add(m);
4335 ctx.stack_.push_back(m);
4337#line 4338 "dhcp4_parser.cc"
4341#line 2786 "dhcp4_parser.yy"
4343 ctx.stack_.pop_back();
4345#line 4346 "dhcp4_parser.cc"
4349#line 2792 "dhcp4_parser.yy"
4351 ctx.warnAboutExtraCommas(yystack_[0].location);
4353#line 4354 "dhcp4_parser.cc"
4357#line 2804 "dhcp4_parser.yy"
4359 ctx.unique(
"value", ctx.loc2pos(yystack_[0].location));
4360 ctx.enter(ctx.NO_KEYWORD);
4362#line 4363 "dhcp4_parser.cc"
4366#line 2807 "dhcp4_parser.yy"
4368 ElementPtr value(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
4369 ctx.stack_.back()->set(
"value", value);
4372#line 4373 "dhcp4_parser.cc"
4376#line 2815 "dhcp4_parser.yy"
4378 ctx.unique(
"authentication", ctx.loc2pos(yystack_[0].location));
4380 ctx.stack_.back()->set(
"authentication", m);
4381 ctx.stack_.push_back(m);
4382 ctx.enter(ctx.AUTHENTICATION);
4384#line 4385 "dhcp4_parser.cc"
4388#line 2821 "dhcp4_parser.yy"
4391 ctx.require(
"type", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location));
4392 ctx.stack_.pop_back();
4395#line 4396 "dhcp4_parser.cc"
4399#line 2830 "dhcp4_parser.yy"
4401 ctx.warnAboutExtraCommas(yystack_[0].location);
4403#line 4404 "dhcp4_parser.cc"
4407#line 2844 "dhcp4_parser.yy"
4409 ctx.unique(
"type", ctx.loc2pos(yystack_[0].location));
4410 ctx.enter(ctx.AUTH_TYPE);
4412#line 4413 "dhcp4_parser.cc"
4416#line 2847 "dhcp4_parser.yy"
4418 ctx.stack_.back()->set(
"type", yystack_[0].value.as <
ElementPtr > ());
4421#line 4422 "dhcp4_parser.cc"
4425#line 2852 "dhcp4_parser.yy"
4427#line 4428 "dhcp4_parser.cc"
4431#line 2855 "dhcp4_parser.yy"
4433 ctx.unique(
"realm", ctx.loc2pos(yystack_[0].location));
4434 ctx.enter(ctx.NO_KEYWORD);
4436#line 4437 "dhcp4_parser.cc"
4440#line 2858 "dhcp4_parser.yy"
4442 ElementPtr realm(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
4443 ctx.stack_.back()->set(
"realm", realm);
4446#line 4447 "dhcp4_parser.cc"
4450#line 2864 "dhcp4_parser.yy"
4452 ctx.unique(
"directory", ctx.loc2pos(yystack_[0].location));
4453 ctx.enter(ctx.NO_KEYWORD);
4455#line 4456 "dhcp4_parser.cc"
4459#line 2867 "dhcp4_parser.yy"
4461 ElementPtr directory(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
4462 ctx.stack_.back()->set(
"directory", directory);
4465#line 4466 "dhcp4_parser.cc"
4469#line 2873 "dhcp4_parser.yy"
4471 ctx.unique(
"clients", ctx.loc2pos(yystack_[0].location));
4473 ctx.stack_.back()->set(
"clients", l);
4474 ctx.stack_.push_back(l);
4475 ctx.enter(ctx.CLIENTS);
4477#line 4478 "dhcp4_parser.cc"
4481#line 2879 "dhcp4_parser.yy"
4483 ctx.stack_.pop_back();
4486#line 4487 "dhcp4_parser.cc"
4490#line 2890 "dhcp4_parser.yy"
4492 ctx.warnAboutExtraCommas(yystack_[0].location);
4494#line 4495 "dhcp4_parser.cc"
4498#line 2895 "dhcp4_parser.yy"
4501 ctx.stack_.back()->add(m);
4502 ctx.stack_.push_back(m);
4504#line 4505 "dhcp4_parser.cc"
4508#line 2899 "dhcp4_parser.yy"
4510 ctx.stack_.pop_back();
4512#line 4513 "dhcp4_parser.cc"
4516#line 2905 "dhcp4_parser.yy"
4518 ctx.warnAboutExtraCommas(yystack_[0].location);
4520#line 4521 "dhcp4_parser.cc"
4524#line 2919 "dhcp4_parser.yy"
4526 ctx.unique(
"user-file", ctx.loc2pos(yystack_[0].location));
4527 ctx.enter(ctx.NO_KEYWORD);
4529#line 4530 "dhcp4_parser.cc"
4533#line 2922 "dhcp4_parser.yy"
4535 ElementPtr user(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
4536 ctx.stack_.back()->set(
"user-file", user);
4539#line 4540 "dhcp4_parser.cc"
4543#line 2928 "dhcp4_parser.yy"
4545 ctx.unique(
"password-file", ctx.loc2pos(yystack_[0].location));
4546 ctx.enter(ctx.NO_KEYWORD);
4548#line 4549 "dhcp4_parser.cc"
4552#line 2931 "dhcp4_parser.yy"
4554 ElementPtr password(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
4555 ctx.stack_.back()->set(
"password-file", password);
4558#line 4559 "dhcp4_parser.cc"
4562#line 2939 "dhcp4_parser.yy"
4564 ctx.unique(
"dhcp-queue-control", ctx.loc2pos(yystack_[0].location));
4566 ctx.stack_.back()->set(
"dhcp-queue-control", qc);
4567 ctx.stack_.push_back(qc);
4568 ctx.enter(ctx.DHCP_QUEUE_CONTROL);
4570#line 4571 "dhcp4_parser.cc"
4574#line 2945 "dhcp4_parser.yy"
4577 ctx.require(
"enable-queue", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location));
4578 ctx.stack_.pop_back();
4581#line 4582 "dhcp4_parser.cc"
4585#line 2954 "dhcp4_parser.yy"
4587 ctx.warnAboutExtraCommas(yystack_[0].location);
4589#line 4590 "dhcp4_parser.cc"
4593#line 2967 "dhcp4_parser.yy"
4595 ctx.unique(
"enable-queue", ctx.loc2pos(yystack_[2].location));
4597 ctx.stack_.back()->set(
"enable-queue", b);
4599#line 4600 "dhcp4_parser.cc"
4603#line 2973 "dhcp4_parser.yy"
4605 ctx.unique(
"queue-type", ctx.loc2pos(yystack_[0].location));
4606 ctx.enter(ctx.NO_KEYWORD);
4608#line 4609 "dhcp4_parser.cc"
4612#line 2976 "dhcp4_parser.yy"
4615 ctx.stack_.back()->set(
"queue-type", qt);
4618#line 4619 "dhcp4_parser.cc"
4622#line 2982 "dhcp4_parser.yy"
4624 ctx.unique(
"capacity", ctx.loc2pos(yystack_[2].location));
4625 ElementPtr c(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
4626 ctx.stack_.back()->set(
"capacity", c);
4628#line 4629 "dhcp4_parser.cc"
4632#line 2988 "dhcp4_parser.yy"
4634 ctx.unique(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location));
4635 ctx.enter(ctx.NO_KEYWORD);
4637#line 4638 "dhcp4_parser.cc"
4641#line 2991 "dhcp4_parser.yy"
4643 ctx.stack_.back()->set(yystack_[3].value.as < std::string > (), yystack_[0].value.as <
ElementPtr > ());
4646#line 4647 "dhcp4_parser.cc"
4650#line 2998 "dhcp4_parser.yy"
4652 ctx.unique(
"dhcp-ddns", ctx.loc2pos(yystack_[0].location));
4654 ctx.stack_.back()->set(
"dhcp-ddns", m);
4655 ctx.stack_.push_back(m);
4656 ctx.enter(ctx.DHCP_DDNS);
4658#line 4659 "dhcp4_parser.cc"
4662#line 3004 "dhcp4_parser.yy"
4665 ctx.require(
"enable-updates", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location));
4666 ctx.stack_.pop_back();
4669#line 4670 "dhcp4_parser.cc"
4673#line 3011 "dhcp4_parser.yy"
4677 ctx.stack_.push_back(m);
4679#line 4680 "dhcp4_parser.cc"
4683#line 3015 "dhcp4_parser.yy"
4686 ctx.require(
"enable-updates", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
4689#line 4690 "dhcp4_parser.cc"
4693#line 3023 "dhcp4_parser.yy"
4695 ctx.warnAboutExtraCommas(yystack_[0].location);
4697#line 4698 "dhcp4_parser.cc"
4701#line 3041 "dhcp4_parser.yy"
4703 ctx.unique(
"enable-updates", ctx.loc2pos(yystack_[2].location));
4705 ctx.stack_.back()->set(
"enable-updates", b);
4707#line 4708 "dhcp4_parser.cc"
4711#line 3047 "dhcp4_parser.yy"
4713 ctx.unique(
"server-ip", ctx.loc2pos(yystack_[0].location));
4714 ctx.enter(ctx.NO_KEYWORD);
4716#line 4717 "dhcp4_parser.cc"
4720#line 3050 "dhcp4_parser.yy"
4723 ctx.stack_.back()->set(
"server-ip", s);
4726#line 4727 "dhcp4_parser.cc"
4730#line 3056 "dhcp4_parser.yy"
4732 ctx.unique(
"server-port", ctx.loc2pos(yystack_[2].location));
4733 ElementPtr i(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
4734 ctx.stack_.back()->set(
"server-port", i);
4736#line 4737 "dhcp4_parser.cc"
4740#line 3062 "dhcp4_parser.yy"
4742 ctx.unique(
"sender-ip", ctx.loc2pos(yystack_[0].location));
4743 ctx.enter(ctx.NO_KEYWORD);
4745#line 4746 "dhcp4_parser.cc"
4749#line 3065 "dhcp4_parser.yy"
4752 ctx.stack_.back()->set(
"sender-ip", s);
4755#line 4756 "dhcp4_parser.cc"
4759#line 3071 "dhcp4_parser.yy"
4761 ctx.unique(
"sender-port", ctx.loc2pos(yystack_[2].location));
4762 ElementPtr i(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
4763 ctx.stack_.back()->set(
"sender-port", i);
4765#line 4766 "dhcp4_parser.cc"
4769#line 3077 "dhcp4_parser.yy"
4771 ctx.unique(
"max-queue-size", ctx.loc2pos(yystack_[2].location));
4772 ElementPtr i(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
4773 ctx.stack_.back()->set(
"max-queue-size", i);
4775#line 4776 "dhcp4_parser.cc"
4779#line 3083 "dhcp4_parser.yy"
4781 ctx.unique(
"ncr-protocol", ctx.loc2pos(yystack_[0].location));
4782 ctx.enter(ctx.NCR_PROTOCOL);
4784#line 4785 "dhcp4_parser.cc"
4788#line 3086 "dhcp4_parser.yy"
4790 ctx.stack_.back()->set(
"ncr-protocol", yystack_[0].value.as <
ElementPtr > ());
4793#line 4794 "dhcp4_parser.cc"
4797#line 3092 "dhcp4_parser.yy"
4799#line 4800 "dhcp4_parser.cc"
4803#line 3093 "dhcp4_parser.yy"
4805#line 4806 "dhcp4_parser.cc"
4809#line 3096 "dhcp4_parser.yy"
4811 ctx.unique(
"ncr-format", ctx.loc2pos(yystack_[0].location));
4812 ctx.enter(ctx.NCR_FORMAT);
4814#line 4815 "dhcp4_parser.cc"
4818#line 3099 "dhcp4_parser.yy"
4821 ctx.stack_.back()->set(
"ncr-format", json);
4824#line 4825 "dhcp4_parser.cc"
4828#line 3107 "dhcp4_parser.yy"
4830 ctx.unique(
"config-control", ctx.loc2pos(yystack_[0].location));
4832 ctx.stack_.back()->set(
"config-control", i);
4833 ctx.stack_.push_back(i);
4834 ctx.enter(ctx.CONFIG_CONTROL);
4836#line 4837 "dhcp4_parser.cc"
4840#line 3113 "dhcp4_parser.yy"
4843 ctx.stack_.pop_back();
4846#line 4847 "dhcp4_parser.cc"
4850#line 3119 "dhcp4_parser.yy"
4854 ctx.stack_.push_back(m);
4856#line 4857 "dhcp4_parser.cc"
4860#line 3123 "dhcp4_parser.yy"
4865#line 4866 "dhcp4_parser.cc"
4869#line 3131 "dhcp4_parser.yy"
4871 ctx.warnAboutExtraCommas(yystack_[0].location);
4873#line 4874 "dhcp4_parser.cc"
4877#line 3141 "dhcp4_parser.yy"
4879 ctx.unique(
"config-databases", ctx.loc2pos(yystack_[0].location));
4881 ctx.stack_.back()->set(
"config-databases", l);
4882 ctx.stack_.push_back(l);
4883 ctx.enter(ctx.CONFIG_DATABASE);
4885#line 4886 "dhcp4_parser.cc"
4889#line 3147 "dhcp4_parser.yy"
4891 ctx.stack_.pop_back();
4894#line 4895 "dhcp4_parser.cc"
4898#line 3152 "dhcp4_parser.yy"
4900 ctx.unique(
"config-fetch-wait-time", ctx.loc2pos(yystack_[2].location));
4901 ElementPtr value(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
4902 ctx.stack_.back()->set(
"config-fetch-wait-time", value);
4904#line 4905 "dhcp4_parser.cc"
4908#line 3160 "dhcp4_parser.yy"
4910 ctx.unique(
"loggers", ctx.loc2pos(yystack_[0].location));
4912 ctx.stack_.back()->set(
"loggers", l);
4913 ctx.stack_.push_back(l);
4914 ctx.enter(ctx.LOGGERS);
4916#line 4917 "dhcp4_parser.cc"
4920#line 3166 "dhcp4_parser.yy"
4922 ctx.stack_.pop_back();
4925#line 4926 "dhcp4_parser.cc"
4929#line 3175 "dhcp4_parser.yy"
4931 ctx.warnAboutExtraCommas(yystack_[0].location);
4933#line 4934 "dhcp4_parser.cc"
4937#line 3181 "dhcp4_parser.yy"
4940 ctx.stack_.back()->add(l);
4941 ctx.stack_.push_back(l);
4943#line 4944 "dhcp4_parser.cc"
4947#line 3185 "dhcp4_parser.yy"
4949 ctx.stack_.pop_back();
4951#line 4952 "dhcp4_parser.cc"
4955#line 3191 "dhcp4_parser.yy"
4957 ctx.warnAboutExtraCommas(yystack_[0].location);
4959#line 4960 "dhcp4_parser.cc"
4963#line 3205 "dhcp4_parser.yy"
4965 ctx.unique(
"debuglevel", ctx.loc2pos(yystack_[2].location));
4966 ElementPtr dl(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
4967 ctx.stack_.back()->set(
"debuglevel", dl);
4969#line 4970 "dhcp4_parser.cc"
4973#line 3211 "dhcp4_parser.yy"
4975 ctx.unique(
"severity", ctx.loc2pos(yystack_[0].location));
4976 ctx.enter(ctx.NO_KEYWORD);
4978#line 4979 "dhcp4_parser.cc"
4982#line 3214 "dhcp4_parser.yy"
4984 ElementPtr sev(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
4985 ctx.stack_.back()->set(
"severity", sev);
4988#line 4989 "dhcp4_parser.cc"
4992#line 3220 "dhcp4_parser.yy"
4994 ctx.unique(
"output-options", ctx.loc2pos(yystack_[0].location));
4996 ctx.stack_.back()->set(
"output-options", l);
4997 ctx.stack_.push_back(l);
4998 ctx.enter(ctx.OUTPUT_OPTIONS);
5000#line 5001 "dhcp4_parser.cc"
5004#line 3226 "dhcp4_parser.yy"
5006 ctx.stack_.pop_back();
5009#line 5010 "dhcp4_parser.cc"
5013#line 3233 "dhcp4_parser.yy"
5015 ctx.warnAboutExtraCommas(yystack_[0].location);
5017#line 5018 "dhcp4_parser.cc"
5021#line 3238 "dhcp4_parser.yy"
5024 ctx.stack_.back()->add(m);
5025 ctx.stack_.push_back(m);
5027#line 5028 "dhcp4_parser.cc"
5031#line 3242 "dhcp4_parser.yy"
5033 ctx.stack_.pop_back();
5035#line 5036 "dhcp4_parser.cc"
5039#line 3248 "dhcp4_parser.yy"
5041 ctx.warnAboutExtraCommas(yystack_[0].location);
5043#line 5044 "dhcp4_parser.cc"
5047#line 3260 "dhcp4_parser.yy"
5049 ctx.unique(
"output", ctx.loc2pos(yystack_[0].location));
5050 ctx.enter(ctx.NO_KEYWORD);
5052#line 5053 "dhcp4_parser.cc"
5056#line 3263 "dhcp4_parser.yy"
5058 ElementPtr sev(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
5059 ctx.stack_.back()->set(
"output", sev);
5062#line 5063 "dhcp4_parser.cc"
5066#line 3269 "dhcp4_parser.yy"
5068 ctx.unique(
"flush", ctx.loc2pos(yystack_[2].location));
5069 ElementPtr flush(
new BoolElement(yystack_[0].value.as <
bool > (), ctx.loc2pos(yystack_[0].location)));
5070 ctx.stack_.back()->set(
"flush", flush);
5072#line 5073 "dhcp4_parser.cc"
5076#line 3275 "dhcp4_parser.yy"
5078 ctx.unique(
"maxsize", ctx.loc2pos(yystack_[2].location));
5079 ElementPtr maxsize(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
5080 ctx.stack_.back()->set(
"maxsize", maxsize);
5082#line 5083 "dhcp4_parser.cc"
5086#line 3281 "dhcp4_parser.yy"
5088 ctx.unique(
"maxver", ctx.loc2pos(yystack_[2].location));
5089 ElementPtr maxver(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
5090 ctx.stack_.back()->set(
"maxver", maxver);
5092#line 5093 "dhcp4_parser.cc"
5096#line 3287 "dhcp4_parser.yy"
5098 ctx.unique(
"pattern", ctx.loc2pos(yystack_[0].location));
5099 ctx.enter(ctx.NO_KEYWORD);
5101#line 5102 "dhcp4_parser.cc"
5105#line 3290 "dhcp4_parser.yy"
5107 ElementPtr sev(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
5108 ctx.stack_.back()->set(
"pattern", sev);
5111#line 5112 "dhcp4_parser.cc"
5115#line 3296 "dhcp4_parser.yy"
5117 ctx.unique(
"compatibility", ctx.loc2pos(yystack_[0].location));
5119 ctx.stack_.back()->set(
"compatibility", i);
5120 ctx.stack_.push_back(i);
5121 ctx.enter(ctx.COMPATIBILITY);
5123#line 5124 "dhcp4_parser.cc"
5127#line 3302 "dhcp4_parser.yy"
5129 ctx.stack_.pop_back();
5132#line 5133 "dhcp4_parser.cc"
5136#line 3309 "dhcp4_parser.yy"
5138 ctx.warnAboutExtraCommas(yystack_[0].location);
5140#line 5141 "dhcp4_parser.cc"
5144#line 3321 "dhcp4_parser.yy"
5146 ctx.unique(
"lenient-option-parsing", ctx.loc2pos(yystack_[2].location));
5148 ctx.stack_.back()->set(
"lenient-option-parsing", b);
5150#line 5151 "dhcp4_parser.cc"
5154#line 3327 "dhcp4_parser.yy"
5156 ctx.unique(
"ignore-dhcp-server-identifier", ctx.loc2pos(yystack_[2].location));
5158 ctx.stack_.back()->set(
"ignore-dhcp-server-identifier", b);
5160#line 5161 "dhcp4_parser.cc"
5164#line 3333 "dhcp4_parser.yy"
5166 ctx.unique(
"ignore-rai-link-selection", ctx.loc2pos(yystack_[2].location));
5168 ctx.stack_.back()->set(
"ignore-rai-link-selection", b);
5170#line 5171 "dhcp4_parser.cc"
5174#line 3339 "dhcp4_parser.yy"
5176 ctx.unique(
"exclude-first-last-24", ctx.loc2pos(yystack_[2].location));
5178 ctx.stack_.back()->set(
"exclude-first-last-24", b);
5180#line 5181 "dhcp4_parser.cc"
5184#line 5185 "dhcp4_parser.cc"
5193 YYCDEBUG <<
"Caught exception: " << yyexc.what() <<
'\n';
5203 yypush_ (YY_NULLPTR,
YY_MOVE (yylhs));
5217 std::string msg = yysyntax_error_ (yyctx);
5223 if (yyerrstatus_ == 3)
5231 else if (!yyla.
empty ())
5233 yy_destroy_ (
"Error: discarding", yyla);
5267 yyn = yypact_[+yystack_[0].state];
5268 if (!yy_pact_value_is_default_ (yyn))
5271 if (0 <= yyn && yyn <= yylast_
5274 yyn = yytable_[yyn];
5281 if (yystack_.size () == 1)
5284 yyerror_range[1].
location = yystack_[0].location;
5285 yy_destroy_ (
"Error: popping", yystack_[0]);
5290 stack_symbol_type error_token;
5296 error_token.state = state_type (yyn);
5297 yypush_ (
"Shifting",
YY_MOVE (error_token));
5323 yy_destroy_ (
"Cleanup: discarding lookahead", yyla);
5329 while (1 < yystack_.size ())
5331 yy_destroy_ (
"Cleanup: popping", yystack_[0]);
5340 YYCDEBUG <<
"Exception caught: cleaning lookahead and stack\n";
5344 yy_destroy_ (YY_NULLPTR, yyla);
5346 while (1 < yystack_.size ())
5348 yy_destroy_ (YY_NULLPTR, yystack_[0]);
5368 Dhcp4Parser::yytnamerr_ (
const char *yystr)
5373 char const *yyp = yystr;
5380 goto do_not_strip_quotes;
5384 goto do_not_strip_quotes;
5396 do_not_strip_quotes: ;
5405 return yytnamerr_ (yytname_[yysymbol]);
5412 : yyparser_ (yyparser)
5422 const int yyn = yypact_[+yyparser_.yystack_[0].state];
5423 if (!yy_pact_value_is_default_ (yyn))
5428 const int yyxbegin = yyn < 0 ? -yyn : 0;
5430 const int yychecklim = yylast_ - yyn + 1;
5432 for (
int yyx = yyxbegin; yyx < yyxend; ++yyx)
5434 && !yy_table_value_is_error_ (yytable_[yyx + yyn]))
5438 else if (yycount == yyargn)
5445 if (yyarg && yycount == 0 && 0 < yyargn)
5456 Dhcp4Parser::yy_syntax_error_arguments_ (
const context& yyctx,
5487 yyarg[0] = yyctx.
token ();
5488 int yyn = yyctx.
expected_tokens (yyarg ? yyarg + 1 : yyarg, yyargn - 1);
5496 Dhcp4Parser::yysyntax_error_ (
const context& yyctx)
const
5499 enum { YYARGS_MAX = 5 };
5502 int yycount = yy_syntax_error_arguments_ (yyctx, yyarg, YYARGS_MAX);
5504 char const* yyformat = YY_NULLPTR;
5507#define YYCASE_(N, S) \
5513 YYCASE_ (1,
YY_(
"syntax error, unexpected %s"));
5514 YYCASE_ (2,
YY_(
"syntax error, unexpected %s, expecting %s"));
5515 YYCASE_ (3,
YY_(
"syntax error, unexpected %s, expecting %s or %s"));
5516 YYCASE_ (4,
YY_(
"syntax error, unexpected %s, expecting %s or %s or %s"));
5517 YYCASE_ (5,
YY_(
"syntax error, unexpected %s, expecting %s or %s or %s or %s"));
5523 std::ptrdiff_t yyi = 0;
5524 for (
char const* yyp = yyformat; *yyp; ++yyp)
5525 if (yyp[0] ==
'%' && yyp[1] ==
's' && yyi < yycount)
5536 const short Dhcp4Parser::yypact_ninf_ = -1397;
5538 const signed char Dhcp4Parser::yytable_ninf_ = -1;
5541 Dhcp4Parser::yypact_[] =
5543 470, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397,
5544 -1397, -1397, -1397, -1397, 67, 37, 44, 46, 54, 71,
5545 83, 88, 109, 111, 161, 168, 173, 176, -1397, -1397,
5546 -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397,
5547 -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397,
5548 -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397,
5549 -1397, -1397, -1397, -1397, 37, -138, 103, 276, 82, 727,
5550 1477, 98, 100, 343, 367, -118, 544, 287, -1397, 187,
5551 193, 204, 213, 209, -1397, 25, -1397, -1397, -1397, -1397,
5552 226, 251, 257, -1397, -1397, -1397, 260, 263, -1397, -1397,
5553 -1397, 267, 275, 285, 293, 316, 330, 334, 376, 390,
5554 391, 392, 398, -1397, 399, 400, 428, 429, 430, -1397,
5555 -1397, -1397, 432, 433, 436, 437, 438, 441, 442, -1397,
5556 -1397, -1397, 444, -1397, -1397, -1397, -1397, -1397, 447, 448,
5557 449, -1397, -1397, -1397, -1397, -1397, 457, -1397, -1397, -1397,
5558 -1397, -1397, -1397, -1397, 459, 460, 461, -1397, -1397, 465,
5559 -1397, 57, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397,
5560 -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397,
5561 -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397,
5562 -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397,
5563 -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397,
5564 -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397,
5565 -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397,
5566 -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, 474, 476,
5567 483, 484, -1397, 60, -1397, -1397, -1397, -1397, -1397, -1397,
5568 -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397,
5569 485, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397,
5570 -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397,
5571 -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397,
5572 -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, 106, -1397,
5573 -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397,
5574 -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397,
5575 -1397, -1397, -1397, 486, -1397, -1397, -1397, -1397, -1397, -1397,
5576 -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397,
5577 -1397, -1397, -1397, -1397, 144, -1397, -1397, -1397, -1397, -1397,
5578 -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397,
5579 -1397, -1397, 245, 341, -1397, -1397, -1397, -1397, -1397, -1397,
5580 -1397, -1397, -1397, -1397, -1397, -1397, 405, -1397, -1397, 490,
5581 -1397, -1397, -1397, 492, -1397, -1397, 415, 495, -1397, -1397,
5582 -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397,
5583 -1397, 497, 499, 501, -1397, -1397, -1397, -1397, -1397, 491,
5584 503, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397,
5585 -1397, -1397, -1397, -1397, -1397, 151, -1397, -1397, -1397, 505,
5586 -1397, 506, -1397, 507, 510, -1397, -1397, -1397, -1397, -1397,
5587 154, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397,
5588 -1397, 511, 169, -1397, -1397, -1397, -1397, 37, 37, -1397,
5589 280, 515, -1397, -1397, 517, 519, 520, 286, 290, 296,
5590 529, 533, 535, 269, 300, 538, 540, 541, 312, 314,
5591 317, 319, 324, 326, 315, 320, 325, 332, 333, 336,
5592 552, 344, 345, 331, 339, 346, 577, 580, 581, 347,
5593 349, 353, 356, 358, 359, 360, 594, 595, 598, 368,
5594 603, 605, 606, 608, 610, 378, 381, 382, 621, 623,
5595 627, 628, 631, 404, 633, 644, 646, 649, 651, 652,
5596 654, 423, 426, 431, 669, 670, -1397, 276, -1397, 672,
5597 673, 674, 439, 440, 443, 445, 82, -1397, 678, 681,
5598 683, 684, 685, 686, 454, 703, 704, 706, 707, 708,
5599 727, -1397, 709, 477, 1477, -1397, 710, 712, 713, 714,
5600 715, 716, 722, 723, -1397, 98, -1397, 724, 726, 493,
5601 728, 729, 730, 509, -1397, 343, 739, 512, 513, 514,
5602 742, -1397, 367, 746, 747, -84, -1397, 523, 751, 526,
5603 761, 528, 531, 763, 766, 544, -1397, 767, 539, 287,
5604 -1397, -1397, -1397, 772, 771, 773, 777, 778, -1397, -1397,
5605 -1397, 542, 549, 550, -1397, -1397, 781, 782, 785, -1397,
5606 -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397,
5607 -1397, 556, -1397, -1397, -1397, -1397, -1397, 32, 559, 571,
5608 -1397, -1397, -1397, -1397, -1397, -1397, -1397, 804, 805, 806,
5609 -1397, 588, 340, 824, 825, 596, -1397, -1397, -1397, 826,
5610 829, 830, 832, 831, -1397, 833, 834, 839, 840, 841,
5611 602, 609, -1397, -1397, -1397, 845, 852, -1397, 858, 147,
5612 184, -1397, -1397, -1397, -1397, -1397, 629, 634, 635, 859,
5613 636, 637, -1397, 858, 858, 858, 638, 861, -1397, 639,
5614 -1397, -1397, 858, 656, 657, 658, 671, 675, 676, 677,
5615 -1397, 679, 680, -1397, 682, 687, 688, -1397, -1397, 689,
5616 -1397, -1397, -1397, 858, -1397, 690, 825, -1397, -1397, 691,
5617 -1397, 692, -1397, -1397, 4, 645, -1397, 860, -1397, -1397,
5618 37, 276, 287, 82, 309, -1397, -1397, -1397, 838, 838,
5619 863, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397,
5620 902, 903, 904, -1397, -1397, -1397, -1397, -1397, -1397, 908,
5621 -1397, -1397, -1397, 139, 911, 913, 914, 172, 45, 599,
5622 915, 61, 544, -1397, -1397, 916, -129, -1397, -1397, -1397,
5623 -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, 923, -1397,
5624 -1397, -1397, -1397, -1397, -1397, 780, -1397, -1397, -1397, -1397,
5625 -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397,
5626 -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397,
5627 863, -1397, 179, 189, 192, -1397, -1397, 217, -1397, -1397,
5628 -1397, -1397, -1397, -1397, -1397, 930, 931, 932, 933, 934,
5629 935, 936, 937, 939, 940, -1397, 941, 942, -1397, -1397,
5630 -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, 221,
5631 -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397,
5632 -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397,
5633 -1397, -1397, -1397, -1397, 229, -1397, 943, 944, -1397, -1397,
5634 945, 947, -1397, -1397, 946, 950, -1397, -1397, 948, 952,
5635 -1397, -1397, 951, 953, -1397, -1397, -1397, -1397, -1397, -1397,
5636 42, -1397, -1397, -1397, -1397, -1397, -1397, -1397, 954, 955,
5637 -1397, -1397, 956, 958, -1397, -1397, 957, 962, -1397, 963,
5638 964, 965, 966, 967, 968, 248, -1397, -1397, -1397, -1397,
5639 -1397, -1397, -1397, 969, 970, 971, -1397, 249, -1397, -1397,
5640 -1397, -1397, -1397, -1397, -1397, -1397, -1397, 972, -1397, 973,
5641 -1397, -1397, -1397, -1397, -1397, -1397, -1397, 262, -1397, -1397,
5642 -1397, -1397, -1397, -1397, -1397, -1397, -1397, 960, 975, -1397,
5643 976, -1397, 977, -1397, -1397, -1397, 270, -1397, -1397, -1397,
5644 -1397, -1397, 288, -1397, 121, -1397, 978, 979, 980, 981,
5645 -1397, 318, -1397, -1397, -1397, -1397, -1397, 711, -1397, 982,
5646 983, -1397, -1397, 984, -1397, 985, -1397, -1397, -1397, 986,
5647 989, 309, -1397, 990, 991, 992, 993, 721, 749, 741,
5648 758, 762, 764, 765, 768, 770, 774, 995, 769, 788,
5649 997, 1001, 1012, 1015, 1016, 838, -1397, -1397, 838, -1397,
5650 863, 727, -1397, 902, 343, -1397, 903, 367, -1397, 904,
5651 1419, -1397, 908, 139, -1397, 156, -1397, 911, 98, -1397,
5652 913, -118, -1397, 914, 790, 791, 793, 796, 797, 808,
5653 172, -1397, 802, 814, 817, 45, -1397, 1053, 1056, 1061,
5654 851, 1064, 850, 1065, 599, -1397, 599, -1397, 915, 857,
5655 1088, 867, 1094, 61, -1397, -1397, 90, 916, -1397, 870,
5656 875, 892, 898, -129, -1397, -1397, 1093, 1104, 1477, -1397,
5657 923, 1138, -1397, -1397, 750, 959, -1397, 961, 974, 987,
5658 988, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397,
5659 -1397, 183, -1397, -1397, 994, 996, 998, 321, 999, -1397,
5660 373, -1397, 374, -1397, 1140, -1397, 1145, -1397, -1397, -1397,
5661 -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397,
5662 -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397,
5663 -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397,
5664 -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397,
5665 407, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397,
5666 -1397, -1397, -1397, 1166, 1176, -1397, -1397, -1397, -1397, -1397,
5667 -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, 1180, 1190,
5668 -1397, -1397, -1397, -1397, -1397, -1397, -1397, 1191, -1397, 408,
5669 -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397,
5670 -1397, -1397, 152, 1000, 1002, -1397, 1193, -1397, 1196, -1397,
5671 409, -1397, -1397, 1003, -1397, 37, -1397, -1397, 1199, -1397,
5672 -1397, -1397, -1397, -1397, 411, -1397, -1397, -1397, -1397, -1397,
5673 -1397, -1397, -1397, -1397, -1397, -1397, 1004, 417, -1397, 858,
5674 -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397,
5675 -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, 1419,
5676 -1397, 1201, 1202, 1005, 1006, -1397, 156, -1397, -1397, -1397,
5677 -1397, -1397, -1397, -1397, -1397, 138, 1203, -1397, -1397, -1397,
5678 1204, 1009, 1205, 90, -1397, -1397, -1397, -1397, -1397, 1007,
5679 1011, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397,
5680 -1397, 418, -1397, -1397, -1397, -1397, -1397, -1397, 1207, 1212,
5681 -1397, 1211, -1397, 1013, -1397, -1397, -1397, 1214, 1216, 1217,
5682 1218, 138, -1397, -70, -1397, 1203, 1220, -1397, 1046, 1014,
5683 1017, 1223, -1397, -1397, -1397, -1397, -1397, -1397, 419, -1397,
5684 -1397, -1397, -1397, 134, -1397, -1397, -1397, -1397, -1397, 1222,
5685 1226, -70, -1397, 1, 1220, -1397, -1397, 1228, 1229, -1397,
5686 1018, -1397, -1397, 1234, 1238, 1239, -1397, 421, -1397, -1397,
5687 -1397, -1397, -1397, -1397, -1397, 17, -1397, 1222, -1397, 1245,
5688 1019, 1020, 1022, 1248, 1, -1397, -1397, -1397, -1397, -1397,
5689 -1397, -1397, -1397, 427, -1397, -1397, -1397, -1397, 1024, -1397,
5690 -1397, -1397, 1026, -1397, 1249, 1252, 17, -1397, -1397, -1397,
5691 1027, 1028, -1397, -1397, -1397
5695 Dhcp4Parser::yydefact_[] =
5697 0, 2, 4, 6, 8, 10, 12, 14, 16, 18,
5698 20, 22, 24, 26, 0, 0, 0, 0, 0, 0,
5699 0, 0, 0, 0, 0, 0, 0, 0, 1, 44,
5700 36, 32, 31, 28, 29, 30, 35, 3, 33, 34,
5701 59, 5, 65, 7, 216, 9, 401, 11, 630, 13,
5702 675, 15, 545, 17, 554, 19, 593, 21, 363, 23,
5703 881, 25, 913, 27, 46, 39, 0, 0, 0, 0,
5704 0, 677, 0, 556, 595, 0, 0, 0, 48, 0,
5705 47, 0, 0, 40, 61, 0, 63, 911, 201, 234,
5706 0, 0, 0, 697, 699, 701, 0, 0, 232, 245,
5707 247, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5708 0, 0, 0, 155, 0, 0, 0, 0, 0, 166,
5709 173, 175, 0, 0, 0, 0, 0, 0, 0, 392,
5710 543, 584, 0, 158, 179, 482, 662, 664, 0, 0,
5711 0, 325, 724, 666, 354, 375, 0, 340, 763, 765,
5712 862, 879, 189, 191, 0, 0, 0, 923, 965, 0,
5713 142, 0, 67, 70, 71, 72, 73, 74, 108, 109,
5714 110, 111, 112, 113, 75, 104, 138, 139, 93, 94,
5715 95, 117, 118, 119, 120, 121, 122, 123, 124, 125,
5716 126, 127, 128, 129, 115, 116, 130, 131, 132, 134,
5717 135, 136, 140, 141, 78, 79, 101, 80, 81, 82,
5718 133, 86, 87, 76, 105, 106, 107, 77, 84, 85,
5719 99, 100, 102, 96, 97, 98, 83, 88, 89, 90,
5720 91, 92, 103, 114, 137, 218, 220, 224, 0, 0,
5721 0, 0, 215, 0, 203, 206, 207, 208, 209, 210,
5722 211, 212, 213, 214, 462, 464, 466, 621, 460, 468,
5723 0, 472, 474, 476, 470, 719, 459, 406, 407, 408,
5724 409, 410, 435, 436, 437, 438, 439, 440, 457, 425,
5725 426, 441, 442, 443, 444, 445, 446, 447, 448, 449,
5726 450, 451, 452, 453, 454, 455, 456, 458, 0, 403,
5727 413, 430, 431, 432, 414, 416, 417, 418, 419, 421,
5728 422, 423, 415, 411, 412, 433, 434, 420, 427, 428,
5729 429, 424, 659, 0, 658, 642, 643, 644, 645, 646,
5730 647, 648, 649, 650, 651, 652, 653, 654, 655, 638,
5731 639, 640, 641, 637, 0, 632, 635, 636, 656, 657,
5732 717, 703, 705, 707, 711, 709, 715, 713, 696, 690,
5733 694, 695, 0, 678, 679, 691, 692, 693, 687, 682,
5734 688, 684, 685, 686, 689, 683, 0, 574, 292, 0,
5735 578, 576, 581, 0, 570, 571, 0, 557, 558, 561,
5736 573, 562, 563, 564, 580, 565, 566, 567, 568, 569,
5737 612, 0, 0, 0, 619, 610, 611, 614, 615, 0,
5738 596, 597, 600, 601, 602, 603, 604, 605, 606, 609,
5739 607, 608, 371, 373, 368, 0, 365, 369, 370, 0,
5740 898, 0, 901, 0, 0, 905, 909, 896, 894, 895,
5741 0, 883, 886, 887, 888, 889, 890, 891, 892, 893,
5742 920, 0, 0, 915, 918, 919, 45, 50, 0, 37,
5743 43, 0, 64, 60, 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, 0, 0,
5747 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5748 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5749 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5750 0, 0, 0, 0, 0, 0, 58, 69, 66, 0,
5751 0, 0, 0, 0, 0, 0, 205, 217, 0, 0,
5752 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5753 405, 402, 0, 0, 634, 631, 0, 0, 0, 0,
5754 0, 0, 0, 0, 676, 681, 546, 0, 0, 0,
5755 0, 0, 0, 0, 555, 560, 0, 0, 0, 0,
5756 0, 594, 599, 0, 0, 367, 364, 0, 0, 0,
5757 0, 0, 0, 0, 0, 885, 882, 0, 0, 917,
5758 914, 49, 41, 0, 0, 0, 0, 0, 160, 161,
5759 162, 0, 0, 0, 199, 200, 0, 0, 0, 143,
5760 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
5761 154, 0, 194, 195, 163, 164, 165, 0, 0, 0,
5762 177, 178, 185, 186, 187, 188, 193, 0, 0, 0,
5763 157, 0, 0, 0, 0, 0, 478, 479, 480, 0,
5764 0, 0, 0, 0, 762, 0, 0, 0, 0, 0,
5765 0, 0, 196, 197, 198, 0, 0, 68, 0, 0,
5766 0, 228, 229, 230, 231, 204, 0, 0, 0, 0,
5767 0, 0, 481, 0, 0, 0, 0, 0, 404, 0,
5768 661, 633, 0, 0, 0, 0, 0, 0, 0, 0,
5769 680, 0, 0, 572, 0, 0, 0, 583, 559, 0,
5770 616, 617, 618, 0, 598, 0, 0, 366, 897, 0,
5771 900, 0, 903, 904, 0, 0, 884, 0, 922, 916,
5772 0, 0, 0, 0, 0, 698, 700, 702, 0, 0,
5773 249, 156, 168, 169, 170, 171, 172, 167, 174, 176,
5774 394, 547, 586, 159, 181, 182, 183, 184, 180, 484,
5775 38, 663, 665, 0, 726, 668, 356, 0, 0, 0,
5776 767, 0, 0, 190, 192, 0, 0, 51, 219, 222,
5777 223, 221, 226, 227, 225, 463, 465, 467, 623, 461,
5778 469, 473, 475, 477, 471, 0, 660, 718, 704, 706,
5779 708, 712, 710, 716, 714, 575, 293, 579, 577, 582,
5780 613, 620, 372, 374, 899, 902, 907, 908, 906, 910,
5781 249, 42, 0, 0, 0, 241, 243, 0, 236, 239,
5782 240, 283, 285, 287, 289, 0, 0, 0, 0, 0,
5783 0, 0, 0, 0, 0, 303, 0, 0, 310, 312,
5784 314, 316, 318, 319, 320, 321, 322, 323, 282, 0,
5785 256, 259, 260, 261, 262, 263, 264, 265, 266, 267,
5786 268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
5787 278, 279, 280, 281, 0, 254, 0, 250, 251, 399,
5788 0, 395, 396, 552, 0, 548, 549, 591, 0, 587,
5789 588, 489, 0, 485, 486, 335, 336, 337, 338, 339,
5790 0, 327, 330, 331, 332, 333, 334, 731, 0, 727,
5791 728, 673, 0, 669, 670, 361, 0, 357, 358, 0,
5792 0, 0, 0, 0, 0, 0, 377, 380, 381, 382,
5793 383, 384, 385, 0, 0, 0, 350, 0, 342, 345,
5794 346, 347, 348, 349, 790, 795, 797, 0, 820, 0,
5795 801, 789, 782, 783, 784, 787, 788, 0, 774, 777,
5796 778, 779, 780, 785, 786, 781, 772, 0, 768, 769,
5797 0, 874, 0, 877, 870, 871, 0, 864, 867, 868,
5798 869, 872, 0, 928, 0, 925, 0, 0, 0, 0,
5799 974, 0, 967, 970, 971, 972, 973, 53, 628, 0,
5800 624, 625, 722, 0, 721, 0, 62, 912, 202, 0,
5801 0, 238, 235, 0, 0, 0, 0, 0, 0, 0,
5802 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5803 0, 0, 0, 0, 0, 258, 233, 246, 0, 248,
5804 253, 0, 393, 398, 556, 544, 551, 595, 585, 590,
5805 0, 483, 488, 329, 326, 733, 725, 730, 677, 667,
5806 672, 0, 355, 360, 0, 0, 0, 0, 0, 0,
5807 379, 376, 0, 0, 0, 344, 341, 0, 0, 0,
5808 0, 0, 0, 0, 776, 764, 0, 766, 771, 0,
5809 0, 0, 0, 866, 863, 880, 0, 927, 924, 0,
5810 0, 0, 0, 969, 966, 55, 0, 54, 0, 622,
5811 627, 0, 720, 921, 0, 0, 237, 0, 0, 0,
5812 0, 291, 294, 295, 296, 297, 298, 299, 300, 301,
5813 302, 0, 308, 309, 0, 0, 0, 0, 0, 257,
5814 0, 252, 0, 397, 0, 550, 0, 589, 542, 513,
5815 514, 515, 497, 498, 518, 519, 520, 521, 522, 523,
5816 540, 500, 501, 524, 525, 526, 527, 528, 529, 530,
5817 531, 532, 533, 534, 535, 536, 537, 538, 539, 541,
5818 494, 495, 496, 509, 510, 511, 512, 506, 507, 508,
5819 0, 491, 499, 516, 517, 502, 503, 504, 505, 487,
5820 328, 756, 758, 0, 0, 750, 751, 752, 753, 754,
5821 755, 743, 744, 748, 749, 745, 746, 747, 0, 734,
5822 735, 738, 739, 740, 741, 742, 729, 0, 671, 0,
5823 359, 386, 387, 388, 389, 390, 391, 378, 351, 352,
5824 353, 343, 0, 0, 0, 799, 0, 800, 0, 775,
5825 0, 770, 873, 0, 876, 0, 865, 943, 0, 941,
5826 939, 933, 937, 938, 0, 930, 935, 936, 934, 926,
5827 975, 976, 977, 978, 968, 52, 57, 0, 626, 0,
5828 242, 244, 284, 286, 288, 290, 305, 306, 307, 304,
5829 311, 313, 315, 317, 324, 255, 400, 553, 592, 493,
5830 490, 0, 0, 0, 0, 732, 737, 674, 362, 792,
5831 793, 794, 791, 796, 798, 0, 803, 773, 875, 878,
5832 0, 0, 0, 932, 929, 56, 629, 723, 492, 0,
5833 0, 760, 761, 736, 832, 835, 837, 839, 831, 830,
5834 829, 0, 822, 825, 826, 827, 828, 808, 0, 804,
5835 805, 0, 940, 0, 931, 757, 759, 0, 0, 0,
5836 0, 824, 821, 0, 802, 807, 0, 942, 0, 0,
5837 0, 0, 823, 818, 817, 813, 815, 816, 0, 810,
5838 814, 806, 948, 0, 945, 834, 833, 836, 838, 841,
5839 0, 812, 809, 0, 947, 944, 846, 0, 842, 843,
5840 0, 811, 958, 0, 0, 0, 963, 0, 950, 953,
5841 954, 955, 956, 957, 946, 0, 840, 845, 819, 0,
5842 0, 0, 0, 0, 952, 949, 858, 860, 857, 851,
5843 853, 855, 856, 0, 848, 852, 854, 844, 0, 960,
5844 961, 962, 0, 951, 0, 0, 850, 847, 959, 964,
5849 Dhcp4Parser::yypgoto_[] =
5851 -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397,
5852 -1397, -1397, -1397, -1397, -1397, -59, -1397, -633, -1397, 521,
5853 -1397, -1397, -1397, -1397, -1397, -1397, -616, -1397, -1397, -1397,
5854 -67, -1397, -1397, -1397, -1397, -1397, -1397, -1397, 516, 731,
5855 16, 31, 33, -26, 84, 86, 87, 89, 91, 92,
5856 94, -1397, -1397, -1397, -1397, 97, -1397, -1397, 102, 104,
5857 -13, 13, 41, 51, -1397, -1397, 53, -1397, 56, -1397,
5858 59, 105, 64, -1397, -1397, 66, 69, 74, 76, 79,
5859 -1397, 81, -1397, 107, -1397, -1397, -1397, -1397, -1397, 43,
5860 -1397, -1397, -1397, 518, 733, -1397, -1397, -1397, -1397, -1397,
5861 -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397,
5862 -1397, -1397, -1397, -1397, 231, -1397, -1397, -1397, -1397, -1397,
5863 -1397, -1397, -1397, 434, -1397, 200, -1397, -743, 210, -1397,
5864 -1397, -1396, -1397, -1395, -1397, -1397, -1397, -1397, -63, -1397,
5865 -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397,
5866 -1397, -1397, -1397, -1397, -775, -1397, -774, -1397, -771, -1397,
5867 113, -1397, -1397, -1397, -1397, -1397, -1397, 194, -1397, -1397,
5868 -1397, -1397, -1397, -1397, -1397, -1397, 177, -1397, -1397, -1397,
5869 -1397, -1397, -1397, -1397, 190, -1397, -1397, -1397, 196, 694,
5870 -1397, -1397, -1397, -1397, -1397, -1397, -1397, 191, -1397, -1397,
5871 -1397, -1397, -1397, -1397, -1063, -1397, -1397, -1397, 211, -1397,
5872 -1397, -1397, 222, 734, -1397, -1397, -1397, -1397, -1397, -1397,
5873 -1397, -1397, -1061, -1397, -29, -1397, -18, -1397, -4, -1397,
5874 5, -1397, 110, 112, 115, -1397, -1397, -1397, -1397, -1397,
5875 214, -1397, -1397, -31, -60, -1397, -1397, -1397, -1397, -1397,
5876 219, -1397, -1397, -1397, 225, -1397, 717, -1397, -34, -1397,
5877 -1397, -1397, -1397, -1397, -27, -1397, -1397, -1397, -1397, -1397,
5878 -32, -1397, -1397, -1397, 227, -1397, -1397, -1397, 228, -1397,
5879 718, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397,
5880 -1397, -1397, -1397, -1397, -1397, 167, -1397, -1397, -1397, 170,
5881 748, -1397, -1397, -1397, -44, -1397, 3, -1397, -56, -1397,
5882 -1397, -1397, 223, -1397, -1397, -1397, 230, -1397, 740, -48,
5883 -1397, -7, -1397, 15, -1397, -1397, -1397, -1397, -1397, -1397,
5884 -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397,
5885 -1397, -1060, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397,
5886 232, -1397, -1397, -1397, -22, -1397, -1397, -1397, -1397, -1397,
5887 -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, 199,
5888 -1397, 205, 206, -1397, -1397, -1397, -1397, -1397, -1397, -1397,
5889 -1397, -1397, -1397, -1397, -1397, -1397, -72, -1397, -1397, -94,
5890 -1397, -1397, -1397, -1397, -1397, -58, -1397, -1397, -1397, -1397,
5891 -1397, -1397, -1397, -1397, -1397, -1397, -1397, -119, -1397, -1397,
5892 -145, -1397, -1397, -1397, -1397, -1397, -1397, -1397, 212, -1397,
5893 -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, 545,
5894 735, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397,
5895 -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, 584, 732,
5896 -1397, -1397, -1397, -1397, -1397, -1397, 216, -1397, -1397, -15,
5897 -1397, -1397, -1397, -1397, -1397, -1397, -78, -1397, -1397, -104,
5898 -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397, -1397,
5899 220, -1397, -1397, -1397, -1397
5903 Dhcp4Parser::yydefgoto_[] =
5905 0, 14, 15, 16, 17, 18, 19, 20, 21, 22,
5906 23, 24, 25, 26, 27, 36, 37, 38, 65, 781,
5907 82, 83, 39, 64, 79, 80, 798, 1027, 1136, 1137,
5908 878, 41, 66, 85, 461, 86, 43, 67, 161, 162,
5909 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
5910 173, 174, 175, 490, 176, 177, 510, 178, 179, 180,
5911 181, 182, 183, 184, 496, 767, 185, 497, 186, 498,
5912 187, 188, 189, 511, 778, 190, 191, 192, 193, 194,
5913 529, 195, 530, 196, 197, 198, 199, 200, 201, 202,
5914 203, 204, 465, 243, 244, 45, 68, 245, 539, 246,
5915 540, 801, 247, 541, 804, 248, 249, 250, 251, 205,
5916 475, 206, 466, 847, 848, 849, 1039, 850, 1040, 207,
5917 476, 208, 477, 906, 907, 908, 1068, 879, 880, 881,
5918 1043, 882, 1044, 883, 1045, 884, 1046, 885, 886, 578,
5919 887, 888, 889, 890, 891, 892, 893, 894, 895, 896,
5920 1057, 1319, 897, 898, 899, 1060, 900, 1061, 901, 1062,
5921 902, 1063, 903, 1064, 209, 518, 930, 931, 932, 933,
5922 934, 935, 936, 210, 524, 967, 968, 969, 970, 971,
5923 211, 521, 946, 947, 948, 1091, 59, 75, 425, 426,
5924 427, 593, 428, 594, 212, 522, 955, 956, 957, 958,
5925 959, 960, 961, 962, 213, 506, 910, 911, 912, 1071,
5926 47, 69, 298, 299, 300, 552, 301, 548, 302, 549,
5927 303, 550, 304, 553, 305, 558, 306, 555, 307, 556,
5928 308, 557, 214, 215, 216, 312, 217, 512, 922, 923,
5929 924, 1080, 1220, 1221, 218, 507, 53, 72, 914, 915,
5930 916, 1074, 55, 73, 386, 387, 388, 389, 390, 391,
5931 392, 577, 393, 581, 394, 580, 395, 396, 582, 397,
5932 219, 508, 918, 919, 920, 1077, 57, 74, 409, 410,
5933 411, 412, 413, 586, 414, 415, 416, 417, 418, 419,
5934 590, 314, 551, 1029, 1030, 1031, 1138, 49, 70, 344,
5935 345, 346, 562, 347, 220, 513, 221, 514, 222, 520,
5936 942, 943, 944, 1088, 51, 71, 362, 363, 364, 223,
5937 470, 224, 471, 225, 472, 368, 567, 369, 568, 370,
5938 569, 371, 571, 372, 570, 373, 573, 374, 572, 375,
5939 566, 321, 559, 1033, 1034, 1141, 226, 519, 938, 939,
5940 940, 1085, 1248, 1249, 1250, 1251, 1252, 1331, 1253, 1332,
5941 1254, 1255, 227, 228, 525, 229, 526, 997, 998, 999,
5942 1116, 987, 988, 989, 1107, 1342, 990, 1108, 991, 1109,
5943 992, 993, 994, 1113, 1378, 1379, 1380, 1393, 1408, 1409,
5944 1410, 1420, 995, 1111, 1371, 1372, 1373, 1387, 1416, 1374,
5945 1388, 1375, 1389, 1376, 1390, 1427, 1428, 1429, 1445, 1463,
5946 1464, 1465, 1474, 1466, 1475, 230, 527, 1006, 1007, 1008,
5947 1009, 1120, 1010, 1011, 1122, 231, 528, 61, 76, 440,
5948 441, 442, 443, 598, 444, 445, 600, 446, 447, 448,
5949 603, 838, 449, 604, 232, 464, 63, 77, 452, 453,
5950 454, 607, 455, 233, 534, 1014, 1015, 1126, 1294, 1295,
5951 1296, 1297, 1352, 1298, 1350, 1413, 1414, 1423, 1437, 1438,
5952 1439, 1449, 1440, 1441, 1442, 1443, 1453, 234, 535, 1021,
5953 1022, 1023, 1024, 1025, 1026
5957 Dhcp4Parser::yytable_[] =
5959 160, 242, 266, 324, 358, 78, 384, 405, 424, 437,
5960 385, 406, 376, 317, 982, 983, 904, 1211, 984, 1212,
5961 1228, 318, 836, 365, 252, 315, 348, 360, 462, 398,
5962 420, 780, 438, 463, 378, 422, 423, 313, 343, 359,
5963 407, 339, 29, 270, 30, 1083, 31, 408, 1084, 1459,
5964 1460, 40, 340, 42, 136, 137, 281, 325, 852, 853,
5965 537, 44, 319, 546, 366, 538, 341, 28, 547, 422,
5966 423, 253, 316, 349, 361, 342, 399, 421, 46, 439,
5967 1459, 1460, 282, 326, 320, 267, 367, 811, 812, 813,
5968 48, 1016, 1017, 1018, 1019, 50, 817, 235, 236, 81,
5969 268, 237, 269, 780, 238, 239, 240, 241, 159, 560,
5970 283, 327, 297, 84, 561, 1403, 52, 831, 54, 159,
5971 284, 328, 285, 329, 1127, 286, 330, 1128, 287, 331,
5972 93, 94, 95, 289, 332, 290, 333, 1424, 291, 334,
5973 1425, 136, 137, 292, 335, 293, 336, 564, 294, 337,
5974 295, 338, 565, 271, 595, 272, 273, 605, 274, 596,
5975 275, 276, 606, 277, 799, 800, 278, 159, 56, 136,
5976 137, 279, 609, 280, 288, 58, 296, 610, 1364, 309,
5977 60, 310, 537, 62, 311, 136, 137, 1036, 93, 94,
5978 95, 96, 609, 456, 378, 546, 457, 1037, 1456, 1457,
5979 1038, 131, 130, 837, 802, 803, 136, 137, 458, 963,
5980 964, 965, 460, 1432, 136, 137, 1433, 1434, 1435, 1436,
5981 1041, 459, 136, 137, 1065, 1042, 101, 102, 103, 1066,
5982 467, 350, 1065, 762, 763, 764, 765, 1067, 1316, 1317,
5983 1318, 351, 352, 353, 354, 355, 356, 357, 1000, 1001,
5984 1002, 1100, 1105, 574, 159, 468, 1101, 1106, 130, 131,
5985 378, 469, 136, 137, 473, 1114, 1211, 474, 1212, 1228,
5986 1115, 478, 766, 1123, 32, 33, 34, 35, 1124, 479,
5987 136, 137, 159, 925, 926, 927, 928, 87, 929, 480,
5988 88, 605, 1231, 1232, 1233, 1234, 1125, 481, 1003, 450,
5989 451, 1287, 89, 1288, 1289, 90, 91, 92, 93, 94,
5990 95, 96, 97, 98, 99, 100, 1365, 1366, 1367, 159,
5991 482, 1133, 1339, 1340, 1341, 1170, 1134, 159, 949, 950,
5992 951, 952, 953, 954, 483, 159, 845, 846, 484, 982,
5993 983, 982, 983, 984, 575, 984, 101, 102, 103, 104,
5994 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
5995 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
5996 125, 126, 127, 128, 129, 159, 1065, 560, 130, 131,
5997 485, 1325, 1326, 377, 871, 872, 873, 874, 875, 876,
5998 132, 133, 134, 159, 486, 487, 488, 135, 611, 612,
5999 136, 137, 489, 491, 492, 138, 139, 140, 141, 142,
6000 1329, 595, 1114, 576, 1353, 1330, 1338, 1347, 143, 1354,
6001 564, 1391, 1421, 584, 1454, 1356, 1392, 1422, 144, 1455,
6002 1476, 145, 493, 494, 495, 1477, 499, 500, 146, 147,
6003 501, 502, 503, 148, 149, 504, 505, 378, 509, 379,
6004 380, 515, 516, 517, 381, 382, 383, 774, 775, 776,
6005 777, 523, 150, 531, 532, 533, 151, 136, 137, 536,
6006 160, 378, 400, 379, 380, 401, 402, 403, 542, 242,
6007 543, 152, 153, 154, 155, 156, 157, 544, 545, 554,
6008 563, 136, 137, 266, 579, 158, 583, 324, 585, 591,
6009 404, 587, 252, 588, 317, 589, 592, 624, 358, 597,
6010 599, 601, 318, 159, 602, 608, 315, 613, 384, 614,
6011 348, 615, 385, 616, 617, 405, 618, 365, 313, 406,
6012 619, 360, 343, 621, 270, 339, 620, 622, 437, 623,
6013 625, 398, 626, 359, 627, 628, 340, 281, 420, 253,
6014 629, 325, 630, 319, 635, 631, 641, 632, 407, 636,
6015 341, 438, 633, 316, 637, 408, 634, 349, 366, 342,
6016 638, 644, 639, 282, 640, 320, 267, 326, 361, 645,
6017 159, 647, 642, 643, 648, 649, 646, 650, 399, 651,
6018 367, 268, 652, 269, 653, 421, 654, 655, 657, 658,
6019 656, 283, 659, 297, 159, 327, 660, 661, 439, 662,
6020 663, 284, 664, 285, 665, 328, 286, 329, 666, 287,
6021 330, 667, 668, 331, 289, 669, 290, 670, 332, 291,
6022 333, 671, 672, 334, 292, 673, 293, 675, 335, 294,
6023 336, 295, 674, 337, 271, 338, 272, 273, 676, 274,
6024 677, 275, 276, 678, 277, 679, 680, 278, 681, 868,
6025 869, 870, 279, 682, 280, 288, 683, 296, 136, 137,
6026 309, 684, 310, 685, 686, 311, 688, 689, 690, 691,
6027 692, 693, 696, 694, 160, 697, 242, 698, 699, 700,
6028 701, 841, 702, 1357, 1, 2, 3, 4, 5, 6,
6029 7, 8, 9, 10, 11, 12, 13, 703, 704, 252,
6030 705, 706, 707, 709, 712, 710, 713, 714, 715, 716,
6031 717, 966, 981, 136, 137, 437, 718, 719, 721, 1020,
6032 722, 723, 724, 725, 726, 429, 430, 431, 432, 433,
6033 434, 435, 436, 729, 972, 985, 733, 1004, 438, 727,
6034 735, 736, 730, 731, 732, 739, 253, 91, 92, 93,
6035 94, 95, 96, 738, 740, 741, 742, 744, 974, 743,
6036 745, 747, 975, 976, 977, 978, 750, 748, 751, 755,
6037 752, 159, 979, 980, 753, 754, 756, 757, 758, 759,
6038 760, 973, 986, 761, 1005, 439, 768, 101, 102, 103,
6039 104, 105, 106, 107, 108, 109, 110, 111, 769, 770,
6040 771, 772, 116, 117, 118, 119, 120, 121, 122, 123,
6041 124, 125, 126, 127, 128, 773, 254, 255, 256, 779,
6042 131, 783, 30, 782, 784, 785, 159, 786, 787, 793,
6043 788, 789, 133, 134, 790, 839, 794, 791, 792, 257,
6044 795, 136, 137, 258, 259, 260, 138, 139, 140, 796,
6045 261, 262, 263, 797, 808, 840, 805, 264, 815, 143,
6046 905, 806, 807, 809, 810, 814, 816, 265, 851, 852,
6047 853, 854, 855, 856, 857, 858, 859, 860, 861, 862,
6048 863, 864, 865, 818, 819, 820, 866, 867, 868, 869,
6049 870, 871, 872, 873, 874, 875, 876, 877, 821, 909,
6050 913, 917, 822, 823, 824, 921, 825, 826, 937, 827,
6051 941, 945, 996, 1013, 828, 829, 830, 832, 834, 835,
6052 1028, 1032, 152, 153, 1047, 1048, 1049, 1050, 1051, 1052,
6053 1053, 1054, 378, 1055, 1056, 1058, 1059, 1070, 1135, 1069,
6054 1073, 1072, 1075, 1076, 1078, 1079, 1082, 1081, 1087, 1151,
6055 1086, 1090, 1089, 1092, 159, 1093, 1117, 1094, 1095, 1096,
6056 1097, 1098, 1099, 1102, 1103, 1104, 1110, 1112, 1118, 1153,
6057 1119, 1121, 1129, 1130, 1131, 1132, 1140, 1310, 1139, 1152,
6058 1144, 1143, 1142, 1145, 1147, 1148, 1149, 1150, 1154, 1161,
6059 1155, 1164, 1156, 1157, 266, 1165, 1158, 384, 1159, 1162,
6060 405, 385, 1160, 1178, 406, 317, 1166, 1210, 1235, 1167,
6061 1168, 358, 1240, 318, 424, 1241, 1163, 315, 1261, 1262,
6062 398, 1263, 1225, 420, 1264, 1265, 1223, 1245, 966, 313,
6063 365, 1243, 1268, 407, 360, 270, 1266, 981, 1222, 981,
6064 408, 1213, 1269, 1242, 1182, 1270, 359, 1272, 281, 1290,
6065 1273, 972, 1214, 1291, 319, 1274, 1020, 1193, 1276, 1278,
6066 985, 324, 985, 1226, 316, 159, 1215, 399, 1246, 1004,
6067 421, 366, 1292, 1224, 282, 1216, 320, 267, 1244, 1275,
6068 1277, 361, 1283, 1194, 348, 1227, 1179, 1282, 1285, 1305,
6069 1247, 1236, 268, 367, 269, 1284, 343, 1306, 973, 339,
6070 1300, 1180, 283, 1181, 297, 1301, 1237, 986, 1238, 986,
6071 340, 1195, 284, 1209, 285, 325, 1005, 286, 1239, 1293,
6072 287, 1196, 1302, 1197, 341, 289, 1198, 290, 1303, 1199,
6073 291, 349, 1309, 342, 1201, 292, 1202, 293, 1327, 1203,
6074 294, 326, 295, 1328, 1204, 271, 1205, 272, 273, 1206,
6075 274, 1207, 275, 276, 1183, 277, 1184, 1185, 278, 1186,
6076 1333, 1187, 1188, 279, 1189, 280, 288, 1190, 296, 327,
6077 1334, 309, 1191, 310, 1192, 1200, 311, 1208, 1335, 328,
6078 1217, 329, 1218, 1336, 330, 1219, 1311, 331, 1312, 1337,
6079 1345, 1346, 332, 1351, 333, 1359, 1360, 334, 1381, 1383,
6080 1377, 1313, 335, 1394, 336, 1395, 1396, 337, 1398, 338,
6081 1399, 1400, 1401, 1415, 1314, 1315, 1349, 1412, 1419, 1426,
6082 1430, 1320, 1447, 1321, 1446, 1322, 1324, 1343, 1450, 1344,
6083 1348, 1355, 1451, 1452, 1385, 1361, 1362, 1382, 1386, 1468,
6084 1397, 1417, 1472, 1480, 1418, 1448, 1481, 833, 1470, 1469,
6085 1471, 1478, 1178, 1479, 1483, 1484, 1210, 842, 687, 1235,
6086 1171, 844, 1146, 1240, 1035, 1169, 1241, 1230, 1368, 695,
6087 1323, 1225, 1271, 1260, 1173, 1223, 1290, 1259, 1245, 737,
6088 1291, 1267, 1243, 1172, 708, 1175, 1229, 1222, 1358, 1174,
6089 1213, 1369, 728, 1182, 1242, 1176, 1177, 1308, 1307, 1292,
6090 734, 1214, 711, 1258, 1363, 720, 1193, 1281, 1257, 1256,
6091 1279, 1280, 1226, 1411, 1368, 1215, 1404, 1431, 1467, 1246,
6092 1405, 1482, 1224, 1402, 1216, 1286, 843, 1012, 1384, 1244,
6093 746, 749, 1194, 1299, 1227, 1179, 1444, 1369, 1370, 1406,
6094 1473, 1247, 1236, 1304, 1404, 0, 1293, 0, 1405, 0,
6095 1180, 0, 1181, 0, 0, 0, 0, 1237, 0, 1238,
6096 1195, 0, 1209, 0, 0, 0, 0, 1406, 1458, 1239,
6097 1196, 0, 1197, 0, 0, 1198, 0, 0, 1199, 0,
6098 0, 0, 0, 1201, 1370, 1202, 1407, 0, 1203, 0,
6099 0, 1461, 0, 1204, 0, 1205, 0, 0, 1206, 1458,
6100 1207, 0, 0, 1183, 0, 1184, 1185, 0, 1186, 0,
6101 1187, 1188, 0, 1189, 1407, 0, 1190, 0, 0, 0,
6102 0, 1191, 1461, 1192, 1200, 0, 1208, 0, 0, 1217,
6103 0, 1218, 0, 0, 1219, 0, 0, 0, 1462, 91,
6104 92, 93, 94, 95, 96, 0, 0, 0, 0, 0,
6105 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
6106 0, 0, 0, 0, 0, 0, 0, 0, 0, 1462,
6107 0, 0, 0, 0, 0, 0, 0, 0, 0, 101,
6108 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
6109 0, 0, 0, 0, 116, 117, 118, 119, 120, 121,
6110 122, 123, 124, 125, 126, 127, 128, 129, 0, 0,
6111 0, 0, 131, 378, 0, 0, 0, 0, 0, 0,
6112 0, 0, 0, 0, 133, 134, 0, 0, 0, 0,
6113 0, 0, 0, 136, 137, 0, 259, 0, 138, 139,
6114 140, 0, 261, 262, 263, 0, 0, 0, 0, 264,
6115 0, 0, 116, 117, 118, 119, 120, 121, 122, 265,
6116 124, 125, 126, 127, 0, 0, 0, 0, 0, 0,
6117 131, 0, 0, 0, 0, 0, 0, 0, 0, 0,
6118 0, 0, 0, 134, 0, 0, 0, 0, 0, 0,
6119 322, 136, 137, 0, 0, 0, 0, 0, 0, 0,
6120 261, 262, 263, 0, 0, 0, 0, 264, 323, 0,
6121 0, 0, 0, 0, 152, 153, 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, 159, 0, 0, 0,
6125 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
6126 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
6127 0, 0, 152, 153, 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,
6134 Dhcp4Parser::yycheck_[] =
6136 67, 68, 69, 70, 71, 64, 73, 74, 75, 76,
6137 73, 74, 72, 69, 789, 789, 759, 1080, 789, 1080,
6138 1080, 69, 18, 71, 68, 69, 70, 71, 3, 73,
6139 74, 664, 76, 8, 104, 153, 154, 69, 70, 71,
6140 74, 70, 5, 69, 7, 3, 9, 74, 6, 1445,
6141 1445, 7, 70, 7, 124, 125, 69, 70, 41, 42,
6142 3, 7, 69, 3, 71, 8, 70, 0, 8, 153,
6143 154, 68, 69, 70, 71, 70, 73, 74, 7, 76,
6144 1476, 1476, 69, 70, 69, 69, 71, 703, 704, 705,
6145 7, 220, 221, 222, 223, 7, 712, 15, 16, 237,
6146 69, 19, 69, 736, 22, 23, 24, 25, 237, 3,
6147 69, 70, 69, 10, 8, 185, 7, 733, 7, 237,
6148 69, 70, 69, 70, 3, 69, 70, 6, 69, 70,
6149 32, 33, 34, 69, 70, 69, 70, 3, 69, 70,
6150 6, 124, 125, 69, 70, 69, 70, 3, 69, 70,
6151 69, 70, 8, 69, 3, 69, 69, 3, 69, 8,
6152 69, 69, 8, 69, 17, 18, 69, 237, 7, 124,
6153 125, 69, 3, 69, 69, 7, 69, 8, 40, 69,
6154 7, 69, 3, 7, 69, 124, 125, 8, 32, 33,
6155 34, 35, 3, 6, 104, 3, 3, 8, 181, 182,
6156 8, 103, 102, 199, 20, 21, 124, 125, 4, 164,
6157 165, 166, 3, 212, 124, 125, 215, 216, 217, 218,
6158 3, 8, 124, 125, 3, 8, 70, 71, 72, 8,
6159 4, 133, 3, 201, 202, 203, 204, 8, 55, 56,
6160 57, 143, 144, 145, 146, 147, 148, 149, 187, 188,
6161 189, 3, 3, 8, 237, 4, 8, 8, 102, 103,
6162 104, 4, 124, 125, 4, 3, 1329, 4, 1329, 1329,
6163 8, 4, 240, 3, 237, 238, 239, 240, 8, 4,
6164 124, 125, 237, 144, 145, 146, 147, 11, 149, 4,
6165 14, 3, 136, 137, 138, 139, 8, 4, 237, 12,
6166 13, 211, 26, 213, 214, 29, 30, 31, 32, 33,
6167 34, 35, 36, 37, 38, 39, 178, 179, 180, 237,
6168 4, 3, 170, 171, 172, 1068, 8, 237, 156, 157,
6169 158, 159, 160, 161, 4, 237, 27, 28, 4, 1114,
6170 1114, 1116, 1116, 1114, 3, 1116, 70, 71, 72, 73,
6171 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
6172 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
6173 94, 95, 96, 97, 98, 237, 3, 3, 102, 103,
6174 4, 8, 8, 40, 63, 64, 65, 66, 67, 68,
6175 114, 115, 116, 237, 4, 4, 4, 121, 457, 458,
6176 124, 125, 4, 4, 4, 129, 130, 131, 132, 133,
6177 3, 3, 3, 8, 3, 8, 8, 8, 142, 8,
6178 3, 3, 3, 8, 3, 8, 8, 8, 152, 8,
6179 3, 155, 4, 4, 4, 8, 4, 4, 162, 163,
6180 4, 4, 4, 167, 168, 4, 4, 104, 4, 106,
6181 107, 4, 4, 4, 111, 112, 113, 117, 118, 119,
6182 120, 4, 186, 4, 4, 4, 190, 124, 125, 4,
6183 537, 104, 105, 106, 107, 108, 109, 110, 4, 546,
6184 4, 205, 206, 207, 208, 209, 210, 4, 4, 4,
6185 4, 124, 125, 560, 4, 219, 4, 564, 3, 8,
6186 133, 4, 546, 4, 560, 4, 3, 238, 575, 4,
6187 4, 4, 560, 237, 4, 4, 560, 237, 585, 4,
6188 564, 4, 585, 4, 4, 592, 240, 575, 560, 592,
6189 240, 575, 564, 4, 560, 564, 240, 4, 605, 4,
6190 240, 585, 4, 575, 4, 4, 564, 560, 592, 546,
6191 238, 564, 238, 560, 239, 238, 4, 238, 592, 239,
6192 564, 605, 238, 560, 239, 592, 240, 564, 575, 564,
6193 238, 240, 239, 560, 238, 560, 560, 564, 575, 240,
6194 237, 4, 238, 238, 4, 4, 240, 240, 585, 240,
6195 575, 560, 239, 560, 238, 592, 238, 238, 4, 4,
6196 240, 560, 4, 560, 237, 564, 238, 4, 605, 4,
6197 4, 560, 4, 560, 4, 564, 560, 564, 240, 560,
6198 564, 240, 240, 564, 560, 4, 560, 4, 564, 560,
6199 564, 4, 4, 564, 560, 4, 560, 4, 564, 560,
6200 564, 560, 238, 564, 560, 564, 560, 560, 4, 560,
6201 4, 560, 560, 4, 560, 4, 4, 560, 4, 60,
6202 61, 62, 560, 240, 560, 560, 240, 560, 124, 125,
6203 560, 240, 560, 4, 4, 560, 4, 4, 4, 240,
6204 240, 238, 4, 238, 751, 4, 753, 4, 4, 4,
6205 4, 750, 238, 1309, 224, 225, 226, 227, 228, 229,
6206 230, 231, 232, 233, 234, 235, 236, 4, 4, 753,
6207 4, 4, 4, 4, 4, 238, 4, 4, 4, 4,
6208 4, 788, 789, 124, 125, 792, 4, 4, 4, 796,
6209 4, 238, 4, 4, 4, 191, 192, 193, 194, 195,
6210 196, 197, 198, 4, 788, 789, 4, 791, 792, 240,
6211 4, 4, 240, 240, 240, 4, 753, 30, 31, 32,
6212 33, 34, 35, 240, 238, 4, 238, 4, 169, 238,
6213 4, 4, 173, 174, 175, 176, 4, 238, 7, 237,
6214 7, 237, 183, 184, 7, 7, 237, 237, 7, 7,
6215 5, 788, 789, 237, 791, 792, 237, 70, 71, 72,
6216 73, 74, 75, 76, 77, 78, 79, 80, 237, 5,
6217 5, 5, 85, 86, 87, 88, 89, 90, 91, 92,
6218 93, 94, 95, 96, 97, 237, 99, 100, 101, 5,
6219 103, 5, 7, 237, 5, 5, 237, 5, 7, 237,
6220 7, 7, 115, 116, 5, 200, 237, 7, 7, 122,
6221 5, 124, 125, 126, 127, 128, 129, 130, 131, 7,
6222 133, 134, 135, 5, 5, 5, 237, 140, 7, 142,
6223 7, 237, 237, 237, 237, 237, 237, 150, 40, 41,
6224 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
6225 52, 53, 54, 237, 237, 237, 58, 59, 60, 61,
6226 62, 63, 64, 65, 66, 67, 68, 69, 237, 7,
6227 7, 7, 237, 237, 237, 7, 237, 237, 7, 237,
6228 7, 7, 7, 7, 237, 237, 237, 237, 237, 237,
6229 7, 151, 205, 206, 4, 4, 4, 4, 4, 4,
6230 4, 4, 104, 4, 4, 4, 4, 3, 237, 6,
6231 3, 6, 6, 3, 6, 3, 3, 6, 3, 238,
6232 6, 3, 6, 6, 237, 3, 6, 4, 4, 4,
6233 4, 4, 4, 4, 4, 4, 4, 4, 3, 238,
6234 4, 4, 4, 4, 4, 4, 3, 237, 6, 240,
6235 4, 6, 8, 4, 4, 4, 4, 4, 240, 4,
6236 238, 4, 238, 238, 1071, 4, 238, 1074, 238, 240,
6237 1077, 1074, 238, 1080, 1077, 1071, 4, 1080, 1085, 4,
6238 4, 1088, 1085, 1071, 1091, 1085, 238, 1071, 238, 238,
6239 1074, 238, 1080, 1077, 238, 238, 1080, 1085, 1105, 1071,
6240 1088, 1085, 240, 1077, 1088, 1071, 238, 1114, 1080, 1116,
6241 1077, 1080, 238, 1085, 1080, 238, 1088, 4, 1071, 1126,
6242 4, 1105, 1080, 1126, 1071, 4, 1133, 1080, 4, 4,
6243 1114, 1138, 1116, 1080, 1071, 237, 1080, 1074, 1085, 1123,
6244 1077, 1088, 1126, 1080, 1071, 1080, 1071, 1071, 1085, 238,
6245 240, 1088, 4, 1080, 1138, 1080, 1080, 240, 4, 6,
6246 1085, 1085, 1071, 1088, 1071, 238, 1138, 3, 1105, 1138,
6247 240, 1080, 1071, 1080, 1071, 240, 1085, 1114, 1085, 1116,
6248 1138, 1080, 1071, 1080, 1071, 1138, 1123, 1071, 1085, 1126,
6249 1071, 1080, 240, 1080, 1138, 1071, 1080, 1071, 240, 1080,
6250 1071, 1138, 4, 1138, 1080, 1071, 1080, 1071, 8, 1080,
6251 1071, 1138, 1071, 8, 1080, 1071, 1080, 1071, 1071, 1080,
6252 1071, 1080, 1071, 1071, 1080, 1071, 1080, 1080, 1071, 1080,
6253 4, 1080, 1080, 1071, 1080, 1071, 1071, 1080, 1071, 1138,
6254 4, 1071, 1080, 1071, 1080, 1080, 1071, 1080, 8, 1138,
6255 1080, 1138, 1080, 3, 1138, 1080, 237, 1138, 237, 8,
6256 7, 5, 1138, 4, 1138, 4, 4, 1138, 4, 4,
6257 7, 237, 1138, 6, 1138, 3, 5, 1138, 4, 1138,
6258 4, 4, 4, 177, 237, 237, 1285, 7, 5, 7,
6259 4, 237, 3, 237, 6, 237, 237, 237, 4, 237,
6260 237, 237, 4, 4, 237, 240, 240, 238, 237, 4,
6261 237, 237, 4, 4, 237, 237, 4, 736, 238, 240,
6262 238, 237, 1329, 237, 237, 237, 1329, 751, 537, 1336,
6263 1070, 753, 1041, 1336, 840, 1065, 1336, 1083, 1345, 546,
6264 1167, 1329, 1105, 1093, 1073, 1329, 1353, 1091, 1336, 595,
6265 1353, 1100, 1336, 1071, 560, 1076, 1082, 1329, 1329, 1074,
6266 1329, 1345, 585, 1329, 1336, 1077, 1079, 1140, 1138, 1353,
6267 592, 1329, 564, 1090, 1336, 575, 1329, 1118, 1088, 1087,
6268 1114, 1116, 1329, 1395, 1391, 1329, 1393, 1421, 1447, 1336,
6269 1393, 1476, 1329, 1391, 1329, 1123, 752, 792, 1353, 1336,
6270 605, 609, 1329, 1127, 1329, 1329, 1424, 1391, 1345, 1393,
6271 1454, 1336, 1336, 1133, 1421, -1, 1353, -1, 1421, -1,
6272 1329, -1, 1329, -1, -1, -1, -1, 1336, -1, 1336,
6273 1329, -1, 1329, -1, -1, -1, -1, 1421, 1445, 1336,
6274 1329, -1, 1329, -1, -1, 1329, -1, -1, 1329, -1,
6275 -1, -1, -1, 1329, 1391, 1329, 1393, -1, 1329, -1,
6276 -1, 1445, -1, 1329, -1, 1329, -1, -1, 1329, 1476,
6277 1329, -1, -1, 1329, -1, 1329, 1329, -1, 1329, -1,
6278 1329, 1329, -1, 1329, 1421, -1, 1329, -1, -1, -1,
6279 -1, 1329, 1476, 1329, 1329, -1, 1329, -1, -1, 1329,
6280 -1, 1329, -1, -1, 1329, -1, -1, -1, 1445, 30,
6281 31, 32, 33, 34, 35, -1, -1, -1, -1, -1,
6282 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6283 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1476,
6284 -1, -1, -1, -1, -1, -1, -1, -1, -1, 70,
6285 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
6286 -1, -1, -1, -1, 85, 86, 87, 88, 89, 90,
6287 91, 92, 93, 94, 95, 96, 97, 98, -1, -1,
6288 -1, -1, 103, 104, -1, -1, -1, -1, -1, -1,
6289 -1, -1, -1, -1, 115, 116, -1, -1, -1, -1,
6290 -1, -1, -1, 124, 125, -1, 127, -1, 129, 130,
6291 131, -1, 133, 134, 135, -1, -1, -1, -1, 140,
6292 -1, -1, 85, 86, 87, 88, 89, 90, 91, 150,
6293 93, 94, 95, 96, -1, -1, -1, -1, -1, -1,
6294 103, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6295 -1, -1, -1, 116, -1, -1, -1, -1, -1, -1,
6296 123, 124, 125, -1, -1, -1, -1, -1, -1, -1,
6297 133, 134, 135, -1, -1, -1, -1, 140, 141, -1,
6298 -1, -1, -1, -1, 205, 206, -1, -1, -1, -1,
6299 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6300 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6301 -1, -1, -1, -1, -1, -1, 237, -1, -1, -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, 205, 206, -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,
6311 Dhcp4Parser::yystos_[] =
6313 0, 224, 225, 226, 227, 228, 229, 230, 231, 232,
6314 233, 234, 235, 236, 242, 243, 244, 245, 246, 247,
6315 248, 249, 250, 251, 252, 253, 254, 255, 0, 5,
6316 7, 9, 237, 238, 239, 240, 256, 257, 258, 263,
6317 7, 272, 7, 277, 7, 336, 7, 451, 7, 538,
6318 7, 555, 7, 487, 7, 493, 7, 517, 7, 427,
6319 7, 668, 7, 687, 264, 259, 273, 278, 337, 452,
6320 539, 556, 488, 494, 518, 428, 669, 688, 256, 265,
6321 266, 237, 261, 262, 10, 274, 276, 11, 14, 26,
6322 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
6323 39, 70, 71, 72, 73, 74, 75, 76, 77, 78,
6324 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
6325 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
6326 102, 103, 114, 115, 116, 121, 124, 125, 129, 130,
6327 131, 132, 133, 142, 152, 155, 162, 163, 167, 168,
6328 186, 190, 205, 206, 207, 208, 209, 210, 219, 237,
6329 271, 279, 280, 281, 282, 283, 284, 285, 286, 287,
6330 288, 289, 290, 291, 292, 293, 295, 296, 298, 299,
6331 300, 301, 302, 303, 304, 307, 309, 311, 312, 313,
6332 316, 317, 318, 319, 320, 322, 324, 325, 326, 327,
6333 328, 329, 330, 331, 332, 350, 352, 360, 362, 405,
6334 414, 421, 435, 445, 473, 474, 475, 477, 485, 511,
6335 545, 547, 549, 560, 562, 564, 587, 603, 604, 606,
6336 656, 666, 685, 694, 718, 15, 16, 19, 22, 23,
6337 24, 25, 271, 334, 335, 338, 340, 343, 346, 347,
6338 348, 349, 545, 547, 99, 100, 101, 122, 126, 127,
6339 128, 133, 134, 135, 140, 150, 271, 281, 282, 283,
6340 284, 285, 286, 287, 288, 289, 290, 291, 296, 299,
6341 300, 301, 302, 303, 304, 307, 309, 311, 312, 313,
6342 316, 317, 318, 319, 320, 322, 324, 330, 453, 454,
6343 455, 457, 459, 461, 463, 465, 467, 469, 471, 473,
6344 474, 475, 476, 511, 532, 545, 547, 549, 560, 562,
6345 564, 582, 123, 141, 271, 301, 302, 303, 304, 307,
6346 309, 311, 313, 316, 317, 318, 319, 320, 322, 465,
6347 467, 469, 471, 511, 540, 541, 542, 544, 545, 547,
6348 133, 143, 144, 145, 146, 147, 148, 149, 271, 511,
6349 545, 547, 557, 558, 559, 560, 562, 564, 566, 568,
6350 570, 572, 574, 576, 578, 580, 485, 40, 104, 106,
6351 107, 111, 112, 113, 271, 379, 495, 496, 497, 498,
6352 499, 500, 501, 503, 505, 507, 508, 510, 545, 547,
6353 105, 108, 109, 110, 133, 271, 379, 499, 505, 519,
6354 520, 521, 522, 523, 525, 526, 527, 528, 529, 530,
6355 545, 547, 153, 154, 271, 429, 430, 431, 433, 191,
6356 192, 193, 194, 195, 196, 197, 198, 271, 545, 547,
6357 670, 671, 672, 673, 675, 676, 678, 679, 680, 683,
6358 12, 13, 689, 690, 691, 693, 6, 3, 4, 8,
6359 3, 275, 3, 8, 686, 333, 353, 4, 4, 4,
6360 561, 563, 565, 4, 4, 351, 361, 363, 4, 4,
6361 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
6362 294, 4, 4, 4, 4, 4, 305, 308, 310, 4,
6363 4, 4, 4, 4, 4, 4, 446, 486, 512, 4,
6364 297, 314, 478, 546, 548, 4, 4, 4, 406, 588,
6365 550, 422, 436, 4, 415, 605, 607, 657, 667, 321,
6366 323, 4, 4, 4, 695, 719, 4, 3, 8, 339,
6367 341, 344, 4, 4, 4, 4, 3, 8, 458, 460,
6368 462, 533, 456, 464, 4, 468, 470, 472, 466, 583,
6369 3, 8, 543, 4, 3, 8, 581, 567, 569, 571,
6370 575, 573, 579, 577, 8, 3, 8, 502, 380, 4,
6371 506, 504, 509, 4, 8, 3, 524, 4, 4, 4,
6372 531, 8, 3, 432, 434, 3, 8, 4, 674, 4,
6373 677, 4, 4, 681, 684, 3, 8, 692, 4, 3,
6374 8, 256, 256, 237, 4, 4, 4, 4, 240, 240,
6375 240, 4, 4, 4, 238, 240, 4, 4, 4, 238,
6376 238, 238, 238, 238, 240, 239, 239, 239, 238, 239,
6377 238, 4, 238, 238, 240, 240, 240, 4, 4, 4,
6378 240, 240, 239, 238, 238, 238, 240, 4, 4, 4,
6379 238, 4, 4, 4, 4, 4, 240, 240, 240, 4,
6380 4, 4, 4, 4, 238, 4, 4, 4, 4, 4,
6381 4, 4, 240, 240, 240, 4, 4, 280, 4, 4,
6382 4, 240, 240, 238, 238, 335, 4, 4, 4, 4,
6383 4, 4, 238, 4, 4, 4, 4, 4, 454, 4,
6384 238, 541, 4, 4, 4, 4, 4, 4, 4, 4,
6385 559, 4, 4, 238, 4, 4, 4, 240, 497, 4,
6386 240, 240, 240, 4, 521, 4, 4, 430, 240, 4,
6387 238, 4, 238, 238, 4, 4, 671, 4, 238, 690,
6388 4, 7, 7, 7, 7, 237, 237, 237, 7, 7,
6389 5, 237, 201, 202, 203, 204, 240, 306, 237, 237,
6390 5, 5, 5, 237, 117, 118, 119, 120, 315, 5,
6391 258, 260, 237, 5, 5, 5, 5, 7, 7, 7,
6392 5, 7, 7, 237, 237, 5, 7, 5, 267, 17,
6393 18, 342, 20, 21, 345, 237, 237, 237, 5, 237,
6394 237, 267, 267, 267, 237, 7, 237, 267, 237, 237,
6395 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
6396 237, 267, 237, 260, 237, 237, 18, 199, 682, 200,
6397 5, 256, 279, 689, 334, 27, 28, 354, 355, 356,
6398 358, 40, 41, 42, 43, 44, 45, 46, 47, 48,
6399 49, 50, 51, 52, 53, 54, 58, 59, 60, 61,
6400 62, 63, 64, 65, 66, 67, 68, 69, 271, 368,
6401 369, 370, 372, 374, 376, 378, 379, 381, 382, 383,
6402 384, 385, 386, 387, 388, 389, 390, 393, 394, 395,
6403 397, 399, 401, 403, 368, 7, 364, 365, 366, 7,
6404 447, 448, 449, 7, 489, 490, 491, 7, 513, 514,
6405 515, 7, 479, 480, 481, 144, 145, 146, 147, 149,
6406 407, 408, 409, 410, 411, 412, 413, 7, 589, 590,
6407 591, 7, 551, 552, 553, 7, 423, 424, 425, 156,
6408 157, 158, 159, 160, 161, 437, 438, 439, 440, 441,
6409 442, 443, 444, 164, 165, 166, 271, 416, 417, 418,
6410 419, 420, 545, 547, 169, 173, 174, 175, 176, 183,
6411 184, 271, 395, 397, 399, 545, 547, 612, 613, 614,
6412 617, 619, 621, 622, 623, 633, 7, 608, 609, 610,
6413 187, 188, 189, 237, 545, 547, 658, 659, 660, 661,
6414 663, 664, 670, 7, 696, 697, 220, 221, 222, 223,
6415 271, 720, 721, 722, 723, 724, 725, 268, 7, 534,
6416 535, 536, 151, 584, 585, 364, 8, 8, 8, 357,
6417 359, 3, 8, 371, 373, 375, 377, 4, 4, 4,
6418 4, 4, 4, 4, 4, 4, 4, 391, 4, 4,
6419 396, 398, 400, 402, 404, 3, 8, 8, 367, 6,
6420 3, 450, 6, 3, 492, 6, 3, 516, 6, 3,
6421 482, 6, 3, 3, 6, 592, 6, 3, 554, 6,
6422 3, 426, 6, 3, 4, 4, 4, 4, 4, 4,
6423 3, 8, 4, 4, 4, 3, 8, 615, 618, 620,
6424 4, 634, 4, 624, 3, 8, 611, 6, 3, 4,
6425 662, 4, 665, 3, 8, 8, 698, 3, 6, 4,
6426 4, 4, 4, 3, 8, 237, 269, 270, 537, 6,
6427 3, 586, 8, 6, 4, 4, 355, 4, 4, 4,
6428 4, 238, 240, 238, 240, 238, 238, 238, 238, 238,
6429 238, 4, 240, 238, 4, 4, 4, 4, 4, 369,
6430 368, 366, 453, 449, 495, 491, 519, 515, 271, 281,
6431 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
6432 296, 299, 300, 301, 302, 303, 304, 307, 309, 311,
6433 312, 313, 316, 317, 318, 319, 320, 322, 324, 330,
6434 379, 445, 463, 465, 467, 469, 471, 473, 474, 475,
6435 483, 484, 511, 545, 547, 560, 562, 564, 582, 481,
6436 408, 136, 137, 138, 139, 271, 281, 282, 283, 330,
6437 379, 485, 511, 545, 547, 560, 562, 564, 593, 594,
6438 595, 596, 597, 599, 601, 602, 591, 557, 553, 429,
6439 425, 238, 238, 238, 238, 238, 238, 438, 240, 238,
6440 238, 417, 4, 4, 4, 238, 4, 240, 4, 613,
6441 612, 610, 240, 4, 238, 4, 659, 211, 213, 214,
6442 271, 379, 545, 547, 699, 700, 701, 702, 704, 697,
6443 240, 240, 240, 240, 721, 6, 3, 540, 536, 4,
6444 237, 237, 237, 237, 237, 237, 55, 56, 57, 392,
6445 237, 237, 237, 401, 237, 8, 8, 8, 8, 3,
6446 8, 598, 600, 4, 4, 8, 3, 8, 8, 170,
6447 171, 172, 616, 237, 237, 7, 5, 8, 237, 256,
6448 705, 4, 703, 3, 8, 237, 8, 267, 484, 4,
6449 4, 240, 240, 595, 40, 178, 179, 180, 271, 545,
6450 547, 635, 636, 637, 640, 642, 644, 7, 625, 626,
6451 627, 4, 238, 4, 700, 237, 237, 638, 641, 643,
6452 645, 3, 8, 628, 6, 3, 5, 237, 4, 4,
6453 4, 4, 636, 185, 271, 379, 545, 547, 629, 630,
6454 631, 627, 7, 706, 707, 177, 639, 237, 237, 5,
6455 632, 3, 8, 708, 3, 6, 7, 646, 647, 648,
6456 4, 630, 212, 215, 216, 217, 218, 709, 710, 711,
6457 713, 714, 715, 716, 707, 649, 6, 3, 237, 712,
6458 4, 4, 4, 717, 3, 8, 181, 182, 271, 372,
6459 374, 545, 547, 650, 651, 652, 654, 648, 4, 240,
6460 238, 238, 4, 710, 653, 655, 3, 8, 237, 237,
6465 Dhcp4Parser::yyr1_[] =
6467 0, 241, 243, 242, 244, 242, 245, 242, 246, 242,
6468 247, 242, 248, 242, 249, 242, 250, 242, 251, 242,
6469 252, 242, 253, 242, 254, 242, 255, 242, 256, 256,
6470 256, 256, 256, 256, 256, 257, 259, 258, 260, 261,
6471 261, 262, 262, 262, 264, 263, 265, 265, 266, 266,
6472 266, 268, 267, 269, 269, 270, 270, 270, 271, 273,
6473 272, 275, 274, 274, 276, 278, 277, 279, 279, 279,
6474 280, 280, 280, 280, 280, 280, 280, 280, 280, 280,
6475 280, 280, 280, 280, 280, 280, 280, 280, 280, 280,
6476 280, 280, 280, 280, 280, 280, 280, 280, 280, 280,
6477 280, 280, 280, 280, 280, 280, 280, 280, 280, 280,
6478 280, 280, 280, 280, 280, 280, 280, 280, 280, 280,
6479 280, 280, 280, 280, 280, 280, 280, 280, 280, 280,
6480 280, 280, 280, 280, 280, 280, 280, 280, 280, 280,
6481 280, 280, 280, 281, 282, 283, 284, 285, 286, 287,
6482 288, 289, 290, 291, 292, 294, 293, 295, 297, 296,
6483 298, 299, 300, 301, 302, 303, 305, 304, 306, 306,
6484 306, 306, 306, 308, 307, 310, 309, 311, 312, 314,
6485 313, 315, 315, 315, 315, 316, 317, 318, 319, 321,
6486 320, 323, 322, 324, 325, 326, 327, 328, 329, 330,
6487 331, 333, 332, 334, 334, 334, 335, 335, 335, 335,
6488 335, 335, 335, 335, 335, 335, 337, 336, 339, 338,
6489 341, 340, 342, 342, 344, 343, 345, 345, 346, 347,
6490 348, 349, 351, 350, 353, 352, 354, 354, 354, 355,
6491 355, 357, 356, 359, 358, 361, 360, 363, 362, 364,
6492 364, 365, 365, 365, 367, 366, 368, 368, 368, 369,
6493 369, 369, 369, 369, 369, 369, 369, 369, 369, 369,
6494 369, 369, 369, 369, 369, 369, 369, 369, 369, 369,
6495 369, 369, 369, 371, 370, 373, 372, 375, 374, 377,
6496 376, 378, 380, 379, 381, 382, 383, 384, 385, 386,
6497 387, 388, 389, 391, 390, 392, 392, 392, 393, 394,
6498 396, 395, 398, 397, 400, 399, 402, 401, 401, 401,
6499 401, 401, 401, 404, 403, 406, 405, 407, 407, 407,
6500 408, 408, 408, 408, 408, 409, 410, 411, 412, 413,
6501 415, 414, 416, 416, 416, 417, 417, 417, 417, 417,
6502 417, 418, 419, 420, 422, 421, 423, 423, 424, 424,
6503 424, 426, 425, 428, 427, 429, 429, 429, 429, 430,
6504 430, 432, 431, 434, 433, 436, 435, 437, 437, 437,
6505 438, 438, 438, 438, 438, 438, 439, 440, 441, 442,
6506 443, 444, 446, 445, 447, 447, 448, 448, 448, 450,
6507 449, 452, 451, 453, 453, 453, 454, 454, 454, 454,
6508 454, 454, 454, 454, 454, 454, 454, 454, 454, 454,
6509 454, 454, 454, 454, 454, 454, 454, 454, 454, 454,
6510 454, 454, 454, 454, 454, 454, 454, 454, 454, 454,
6511 454, 454, 454, 454, 454, 454, 454, 454, 454, 454,
6512 454, 454, 454, 454, 454, 454, 454, 454, 454, 454,
6513 456, 455, 458, 457, 460, 459, 462, 461, 464, 463,
6514 466, 465, 468, 467, 470, 469, 472, 471, 473, 474,
6515 475, 476, 478, 477, 479, 479, 480, 480, 480, 482,
6516 481, 483, 483, 483, 484, 484, 484, 484, 484, 484,
6517 484, 484, 484, 484, 484, 484, 484, 484, 484, 484,
6518 484, 484, 484, 484, 484, 484, 484, 484, 484, 484,
6519 484, 484, 484, 484, 484, 484, 484, 484, 484, 484,
6520 484, 484, 484, 484, 484, 484, 484, 484, 484, 484,
6521 484, 484, 484, 486, 485, 488, 487, 489, 489, 490,
6522 490, 490, 492, 491, 494, 493, 495, 495, 496, 496,
6523 496, 497, 497, 497, 497, 497, 497, 497, 497, 497,
6524 497, 498, 499, 500, 502, 501, 504, 503, 506, 505,
6525 507, 509, 508, 510, 512, 511, 513, 513, 514, 514,
6526 514, 516, 515, 518, 517, 519, 519, 520, 520, 520,
6527 521, 521, 521, 521, 521, 521, 521, 521, 521, 521,
6528 521, 522, 524, 523, 525, 526, 527, 528, 529, 531,
6529 530, 533, 532, 534, 534, 535, 535, 535, 537, 536,
6530 539, 538, 540, 540, 540, 541, 541, 541, 541, 541,
6531 541, 541, 541, 541, 541, 541, 541, 541, 541, 541,
6532 541, 541, 541, 541, 541, 541, 541, 541, 541, 543,
6533 542, 544, 546, 545, 548, 547, 550, 549, 551, 551,
6534 552, 552, 552, 554, 553, 556, 555, 557, 557, 558,
6535 558, 558, 559, 559, 559, 559, 559, 559, 559, 559,
6536 559, 559, 559, 559, 559, 559, 559, 561, 560, 563,
6537 562, 565, 564, 567, 566, 569, 568, 571, 570, 573,
6538 572, 575, 574, 577, 576, 579, 578, 581, 580, 583,
6539 582, 584, 586, 585, 588, 587, 589, 589, 590, 590,
6540 590, 592, 591, 593, 593, 594, 594, 594, 595, 595,
6541 595, 595, 595, 595, 595, 595, 595, 595, 595, 595,
6542 595, 595, 595, 595, 595, 596, 598, 597, 600, 599,
6543 601, 602, 603, 605, 604, 607, 606, 608, 608, 609,
6544 609, 609, 611, 610, 612, 612, 612, 613, 613, 613,
6545 613, 613, 613, 613, 613, 613, 613, 613, 613, 613,
6546 615, 614, 616, 616, 616, 618, 617, 620, 619, 621,
6547 622, 624, 623, 625, 625, 626, 626, 626, 628, 627,
6548 629, 629, 629, 630, 630, 630, 630, 630, 632, 631,
6549 634, 633, 635, 635, 635, 636, 636, 636, 636, 636,
6550 636, 636, 638, 637, 639, 641, 640, 643, 642, 645,
6551 644, 646, 646, 647, 647, 647, 649, 648, 650, 650,
6552 650, 651, 651, 651, 651, 651, 651, 651, 653, 652,
6553 655, 654, 657, 656, 658, 658, 658, 659, 659, 659,
6554 659, 659, 659, 660, 662, 661, 663, 665, 664, 667,
6555 666, 669, 668, 670, 670, 670, 671, 671, 671, 671,
6556 671, 671, 671, 671, 671, 671, 671, 672, 674, 673,
6557 675, 677, 676, 678, 679, 681, 680, 682, 682, 684,
6558 683, 686, 685, 688, 687, 689, 689, 689, 690, 690,
6559 692, 691, 693, 695, 694, 696, 696, 696, 698, 697,
6560 699, 699, 699, 700, 700, 700, 700, 700, 700, 700,
6561 701, 703, 702, 705, 704, 706, 706, 706, 708, 707,
6562 709, 709, 709, 710, 710, 710, 710, 710, 712, 711,
6563 713, 714, 715, 717, 716, 719, 718, 720, 720, 720,
6564 721, 721, 721, 721, 721, 722, 723, 724, 725
6568 Dhcp4Parser::yyr2_[] =
6570 0, 2, 0, 3, 0, 3, 0, 3, 0, 3,
6571 0, 3, 0, 3, 0, 3, 0, 3, 0, 3,
6572 0, 3, 0, 3, 0, 3, 0, 3, 1, 1,
6573 1, 1, 1, 1, 1, 1, 0, 4, 1, 0,
6574 1, 3, 5, 2, 0, 4, 0, 1, 1, 3,
6575 2, 0, 4, 0, 1, 1, 3, 2, 2, 0,
6576 4, 0, 6, 1, 2, 0, 4, 1, 3, 2,
6577 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6578 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6579 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6580 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6581 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6582 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6583 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6584 1, 1, 1, 3, 3, 3, 3, 3, 3, 3,
6585 3, 3, 3, 3, 3, 0, 4, 3, 0, 4,
6586 3, 3, 3, 3, 3, 3, 0, 4, 1, 1,
6587 1, 1, 1, 0, 4, 0, 4, 3, 3, 0,
6588 4, 1, 1, 1, 1, 3, 3, 3, 3, 0,
6589 4, 0, 4, 3, 3, 3, 3, 3, 3, 3,
6590 3, 0, 6, 1, 3, 2, 1, 1, 1, 1,
6591 1, 1, 1, 1, 1, 1, 0, 4, 0, 4,
6592 0, 4, 1, 1, 0, 4, 1, 1, 3, 3,
6593 3, 3, 0, 6, 0, 6, 1, 3, 2, 1,
6594 1, 0, 4, 0, 4, 0, 6, 0, 6, 0,
6595 1, 1, 3, 2, 0, 4, 1, 3, 2, 1,
6596 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6597 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6598 1, 1, 1, 0, 4, 0, 4, 0, 4, 0,
6599 4, 3, 0, 4, 3, 3, 3, 3, 3, 3,
6600 3, 3, 3, 0, 4, 1, 1, 1, 3, 3,
6601 0, 4, 0, 4, 0, 4, 0, 4, 1, 1,
6602 1, 1, 1, 0, 4, 0, 6, 1, 3, 2,
6603 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6604 0, 6, 1, 3, 2, 1, 1, 1, 1, 1,
6605 1, 3, 3, 3, 0, 6, 0, 1, 1, 3,
6606 2, 0, 4, 0, 4, 1, 3, 2, 1, 1,
6607 1, 0, 4, 0, 4, 0, 6, 1, 3, 2,
6608 1, 1, 1, 1, 1, 1, 3, 3, 3, 3,
6609 3, 3, 0, 6, 0, 1, 1, 3, 2, 0,
6610 4, 0, 4, 1, 3, 2, 1, 1, 1, 1,
6611 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6612 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6613 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6614 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6615 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6616 0, 4, 0, 4, 0, 4, 0, 4, 0, 4,
6617 0, 4, 0, 4, 0, 4, 0, 4, 3, 3,
6618 3, 3, 0, 6, 0, 1, 1, 3, 2, 0,
6619 4, 1, 3, 2, 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, 1, 1, 1, 1,
6624 1, 1, 1, 0, 6, 0, 4, 0, 1, 1,
6625 3, 2, 0, 4, 0, 4, 0, 1, 1, 3,
6626 2, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6627 1, 1, 3, 1, 0, 4, 0, 4, 0, 4,
6628 1, 0, 4, 3, 0, 6, 0, 1, 1, 3,
6629 2, 0, 4, 0, 4, 0, 1, 1, 3, 2,
6630 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6631 1, 1, 0, 4, 1, 1, 3, 3, 3, 0,
6632 4, 0, 6, 0, 1, 1, 3, 2, 0, 4,
6633 0, 4, 1, 3, 2, 1, 1, 1, 1, 1,
6634 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6635 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
6636 4, 3, 0, 4, 0, 4, 0, 6, 0, 1,
6637 1, 3, 2, 0, 4, 0, 4, 0, 1, 1,
6638 3, 2, 1, 1, 1, 1, 1, 1, 1, 1,
6639 1, 1, 1, 1, 1, 1, 1, 0, 4, 0,
6640 4, 0, 4, 0, 4, 0, 4, 0, 4, 0,
6641 4, 0, 4, 0, 4, 0, 4, 0, 4, 0,
6642 6, 1, 0, 4, 0, 6, 0, 1, 1, 3,
6643 2, 0, 4, 0, 1, 1, 3, 2, 1, 1,
6644 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6645 1, 1, 1, 1, 1, 1, 0, 4, 0, 4,
6646 3, 3, 3, 0, 6, 0, 6, 0, 1, 1,
6647 3, 2, 0, 4, 1, 3, 2, 1, 1, 1,
6648 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6649 0, 4, 1, 1, 1, 0, 4, 0, 4, 3,
6650 3, 0, 6, 0, 1, 1, 3, 2, 0, 4,
6651 1, 3, 2, 1, 1, 1, 1, 1, 0, 4,
6652 0, 6, 1, 3, 2, 1, 1, 1, 1, 1,
6653 1, 1, 0, 4, 1, 0, 4, 0, 4, 0,
6654 6, 0, 1, 1, 3, 2, 0, 4, 1, 3,
6655 2, 1, 1, 1, 1, 1, 1, 1, 0, 4,
6656 0, 4, 0, 6, 1, 3, 2, 1, 1, 1,
6657 1, 1, 1, 3, 0, 4, 3, 0, 4, 0,
6658 6, 0, 4, 1, 3, 2, 1, 1, 1, 1,
6659 1, 1, 1, 1, 1, 1, 1, 3, 0, 4,
6660 3, 0, 4, 3, 3, 0, 4, 1, 1, 0,
6661 4, 0, 6, 0, 4, 1, 3, 2, 1, 1,
6662 0, 6, 3, 0, 6, 1, 3, 2, 0, 4,
6663 1, 3, 2, 1, 1, 1, 1, 1, 1, 1,
6664 3, 0, 4, 0, 6, 1, 3, 2, 0, 4,
6665 1, 3, 2, 1, 1, 1, 1, 1, 0, 4,
6666 3, 3, 3, 0, 4, 0, 6, 1, 3, 2,
6667 1, 1, 1, 1, 1, 3, 3, 3, 3
6671#if PARSER4_DEBUG || 1
6675 const Dhcp4Parser::yytname_[] =
6677 "\"end of file\"",
"error",
"\"invalid token\"",
"\",\"",
"\":\"",
6678 "\"[\"",
"\"]\"",
"\"{\"",
"\"}\"",
"\"null\"",
"\"Dhcp4\"",
6679 "\"config-control\"",
"\"config-databases\"",
6680 "\"config-fetch-wait-time\"",
"\"interfaces-config\"",
"\"interfaces\"",
6681 "\"dhcp-socket-type\"",
"\"raw\"",
"\"udp\"",
"\"outbound-interface\"",
6682 "\"same-as-inbound\"",
"\"use-routing\"",
"\"re-detect\"",
6683 "\"service-sockets-require-all\"",
"\"service-sockets-retry-wait-time\"",
6684 "\"service-sockets-max-retries\"",
"\"sanity-checks\"",
6685 "\"lease-checks\"",
"\"extended-info-checks\"",
"\"echo-client-id\"",
6686 "\"match-client-id\"",
"\"authoritative\"",
"\"next-server\"",
6687 "\"server-hostname\"",
"\"boot-file-name\"",
"\"offer-lifetime\"",
6688 "\"stash-agent-options\"",
"\"lease-database\"",
"\"hosts-database\"",
6689 "\"hosts-databases\"",
"\"type\"",
"\"user\"",
"\"password\"",
6690 "\"host\"",
"\"port\"",
"\"persist\"",
"\"lfc-interval\"",
6691 "\"readonly\"",
"\"connect-timeout\"",
"\"read-timeout\"",
6692 "\"write-timeout\"",
"\"tcp-user-timeout\"",
"\"max-reconnect-tries\"",
6693 "\"reconnect-wait-time\"",
"\"on-fail\"",
"\"stop-retry-exit\"",
6694 "\"serve-retry-exit\"",
"\"serve-retry-continue\"",
6695 "\"retry-on-startup\"",
"\"max-row-errors\"",
"\"trust-anchor\"",
6696 "\"cert-file\"",
"\"key-file\"",
"\"ssl-mode\"",
"\"disable\"",
6697 "\"prefer\"",
"\"require\"",
"\"verify-ca\"",
"\"verify-full\"",
6698 "\"cipher-list\"",
"\"valid-lifetime\"",
"\"min-valid-lifetime\"",
6699 "\"max-valid-lifetime\"",
"\"renew-timer\"",
"\"rebind-timer\"",
6700 "\"calculate-tee-times\"",
"\"t1-percent\"",
"\"t2-percent\"",
6701 "\"cache-threshold\"",
"\"cache-max-age\"",
6702 "\"adaptive-lease-time-threshold\"",
"\"decline-probation-period\"",
6703 "\"server-tag\"",
"\"statistic-default-sample-count\"",
6704 "\"statistic-default-sample-age\"",
"\"ddns-send-updates\"",
6705 "\"ddns-override-no-update\"",
"\"ddns-override-client-update\"",
6706 "\"ddns-replace-client-name\"",
"\"ddns-generated-prefix\"",
6707 "\"ddns-qualifying-suffix\"",
"\"ddns-update-on-renew\"",
6708 "\"ddns-use-conflict-resolution\"",
"\"ddns-ttl-percent\"",
6709 "\"ddns-ttl\"",
"\"ddns-ttl-min\"",
"\"ddns-ttl-max\"",
6710 "\"store-extended-info\"",
"\"subnet4\"",
"\"4o6-interface\"",
6711 "\"4o6-interface-id\"",
"\"4o6-subnet\"",
"\"option-def\"",
6712 "\"option-data\"",
"\"name\"",
"\"data\"",
"\"code\"",
"\"space\"",
6713 "\"csv-format\"",
"\"always-send\"",
"\"never-send\"",
6714 "\"record-types\"",
"\"encapsulate\"",
"\"array\"",
6715 "\"parked-packet-limit\"",
"\"allocator\"",
6716 "\"ddns-conflict-resolution-mode\"",
"\"check-with-dhcid\"",
6717 "\"no-check-with-dhcid\"",
"\"check-exists-with-dhcid\"",
6718 "\"no-check-without-dhcid\"",
"\"shared-networks\"",
"\"pools\"",
6719 "\"pool\"",
"\"user-context\"",
"\"comment\"",
"\"subnet\"",
6720 "\"interface\"",
"\"id\"",
"\"reservations-global\"",
6721 "\"reservations-in-subnet\"",
"\"reservations-out-of-pool\"",
6722 "\"host-reservation-identifiers\"",
"\"client-classes\"",
6723 "\"require-client-classes\"",
"\"evaluate-additional-classes\"",
6724 "\"test\"",
"\"template-test\"",
"\"only-if-required\"",
6725 "\"only-in-additional-list\"",
"\"client-class\"",
"\"pool-id\"",
6726 "\"reservations\"",
"\"ip-address\"",
"\"duid\"",
"\"hw-address\"",
6727 "\"circuit-id\"",
"\"client-id\"",
"\"hostname\"",
"\"flex-id\"",
6728 "\"relay\"",
"\"ip-addresses\"",
"\"hooks-libraries\"",
"\"library\"",
6729 "\"parameters\"",
"\"expired-leases-processing\"",
6730 "\"reclaim-timer-wait-time\"",
"\"flush-reclaimed-timer-wait-time\"",
6731 "\"hold-reclaimed-time\"",
"\"max-reclaim-leases\"",
6732 "\"max-reclaim-time\"",
"\"unwarned-reclaim-cycles\"",
6733 "\"dhcp4o6-port\"",
"\"multi-threading\"",
"\"enable-multi-threading\"",
6734 "\"thread-pool-size\"",
"\"packet-queue-size\"",
"\"control-socket\"",
6735 "\"control-sockets\"",
"\"socket-type\"",
"\"unix\"",
"\"http\"",
6736 "\"https\"",
"\"socket-name\"",
"\"socket-address\"",
"\"socket-port\"",
6737 "\"authentication\"",
"\"basic\"",
"\"realm\"",
"\"directory\"",
6738 "\"clients\"",
"\"user-file\"",
"\"password-file\"",
"\"cert-required\"",
6739 "\"http-headers\"",
"\"value\"",
"\"dhcp-queue-control\"",
6740 "\"enable-queue\"",
"\"queue-type\"",
"\"capacity\"",
"\"dhcp-ddns\"",
6741 "\"enable-updates\"",
"\"server-ip\"",
"\"server-port\"",
6742 "\"sender-ip\"",
"\"sender-port\"",
"\"max-queue-size\"",
6743 "\"ncr-protocol\"",
"\"ncr-format\"",
"\"tcp\"",
"\"JSON\"",
6744 "\"when-present\"",
"\"never\"",
"\"always\"",
"\"when-not-present\"",
6745 "\"hostname-char-set\"",
"\"hostname-char-replacement\"",
6746 "\"early-global-reservations-lookup\"",
"\"ip-reservations-unique\"",
6747 "\"reservations-lookup-first\"",
"\"loggers\"",
"\"output-options\"",
6748 "\"output\"",
"\"debuglevel\"",
"\"severity\"",
"\"flush\"",
6749 "\"maxsize\"",
"\"maxver\"",
"\"pattern\"",
"\"compatibility\"",
6750 "\"lenient-option-parsing\"",
"\"ignore-dhcp-server-identifier\"",
6751 "\"ignore-rai-link-selection\"",
"\"exclude-first-last-24\"",
6752 "TOPLEVEL_JSON",
"TOPLEVEL_DHCP4",
"SUB_DHCP4",
"SUB_INTERFACES4",
6753 "SUB_SUBNET4",
"SUB_POOL4",
"SUB_RESERVATION",
"SUB_OPTION_DEFS",
6754 "SUB_OPTION_DEF",
"SUB_OPTION_DATA",
"SUB_HOOKS_LIBRARY",
6755 "SUB_DHCP_DDNS",
"SUB_CONFIG_CONTROL",
"\"constant string\"",
6756 "\"integer\"",
"\"floating point\"",
"\"boolean\"",
"$accept",
"start",
6757 "$@1",
"$@2",
"$@3",
"$@4",
"$@5",
"$@6",
"$@7",
"$@8",
"$@9",
"$@10",
6758 "$@11",
"$@12",
"$@13",
"value",
"sub_json",
"map2",
"$@14",
"map_value",
6759 "map_content",
"not_empty_map",
"list_generic",
"$@15",
"list_content",
6760 "not_empty_list",
"list_strings",
"$@16",
"list_strings_content",
6761 "not_empty_list_strings",
"unknown_map_entry",
"syntax_map",
"$@17",
6762 "global_object",
"$@18",
"global_object_comma",
"sub_dhcp4",
"$@19",
6763 "global_params",
"global_param",
"valid_lifetime",
"min_valid_lifetime",
6764 "max_valid_lifetime",
"renew_timer",
"rebind_timer",
6765 "calculate_tee_times",
"t1_percent",
"t2_percent",
"cache_threshold",
6766 "cache_max_age",
"adaptive_lease_time_threshold",
6767 "decline_probation_period",
"server_tag",
"$@20",
"parked_packet_limit",
6768 "allocator",
"$@21",
"echo_client_id",
"match_client_id",
6769 "authoritative",
"ddns_send_updates",
"ddns_override_no_update",
6770 "ddns_override_client_update",
"ddns_replace_client_name",
"$@22",
6771 "ddns_replace_client_name_value",
"ddns_generated_prefix",
"$@23",
6772 "ddns_qualifying_suffix",
"$@24",
"ddns_update_on_renew",
6773 "ddns_use_conflict_resolution",
"ddns_conflict_resolution_mode",
"$@25",
6774 "ddns_conflict_resolution_mode_value",
"ddns_ttl_percent",
"ddns_ttl",
6775 "ddns_ttl_min",
"ddns_ttl_max",
"hostname_char_set",
"$@26",
6776 "hostname_char_replacement",
"$@27",
"store_extended_info",
6777 "statistic_default_sample_count",
"statistic_default_sample_age",
6778 "early_global_reservations_lookup",
"ip_reservations_unique",
6779 "reservations_lookup_first",
"offer_lifetime",
"stash_agent_options",
6780 "interfaces_config",
"$@28",
"interfaces_config_params",
6781 "interfaces_config_param",
"sub_interfaces4",
"$@29",
"interfaces_list",
6782 "$@30",
"dhcp_socket_type",
"$@31",
"socket_type",
"outbound_interface",
6783 "$@32",
"outbound_interface_value",
"re_detect",
6784 "service_sockets_require_all",
"service_sockets_retry_wait_time",
6785 "service_sockets_max_retries",
"lease_database",
"$@33",
"sanity_checks",
6786 "$@34",
"sanity_checks_params",
"sanity_checks_param",
"lease_checks",
6787 "$@35",
"extended_info_checks",
"$@36",
"hosts_database",
"$@37",
6788 "hosts_databases",
"$@38",
"database_list",
"not_empty_database_list",
6789 "database",
"$@39",
"database_map_params",
"database_map_param",
6790 "database_type",
"$@40",
"user",
"$@41",
"password",
"$@42",
"host",
6791 "$@43",
"port",
"name",
"$@44",
"persist",
"lfc_interval",
"readonly",
6792 "connect_timeout",
"read_timeout",
"write_timeout",
"tcp_user_timeout",
6793 "max_reconnect_tries",
"reconnect_wait_time",
"on_fail",
"$@45",
6794 "on_fail_mode",
"retry_on_startup",
"max_row_errors",
"trust_anchor",
6795 "$@46",
"cert_file",
"$@47",
"key_file",
"$@48",
"ssl_mode",
"$@49",
6796 "cipher_list",
"$@50",
"host_reservation_identifiers",
"$@51",
6797 "host_reservation_identifiers_list",
"host_reservation_identifier",
6798 "duid_id",
"hw_address_id",
"circuit_id",
"client_id",
"flex_id",
6799 "dhcp_multi_threading",
"$@52",
"multi_threading_params",
6800 "multi_threading_param",
"enable_multi_threading",
"thread_pool_size",
6801 "packet_queue_size",
"hooks_libraries",
"$@53",
"hooks_libraries_list",
6802 "not_empty_hooks_libraries_list",
"hooks_library",
"$@54",
6803 "sub_hooks_library",
"$@55",
"hooks_params",
"hooks_param",
"library",
6804 "$@56",
"parameters",
"$@57",
"expired_leases_processing",
"$@58",
6805 "expired_leases_params",
"expired_leases_param",
6806 "reclaim_timer_wait_time",
"flush_reclaimed_timer_wait_time",
6807 "hold_reclaimed_time",
"max_reclaim_leases",
"max_reclaim_time",
6808 "unwarned_reclaim_cycles",
"subnet4_list",
"$@59",
6809 "subnet4_list_content",
"not_empty_subnet4_list",
"subnet4",
"$@60",
6810 "sub_subnet4",
"$@61",
"subnet4_params",
"subnet4_param",
"subnet",
6811 "$@62",
"subnet_4o6_interface",
"$@63",
"subnet_4o6_interface_id",
6812 "$@64",
"subnet_4o6_subnet",
"$@65",
"interface",
"$@66",
"client_class",
6813 "$@67",
"network_client_classes",
"$@68",
"require_client_classes",
6814 "$@69",
"evaluate_additional_classes",
"$@70",
"reservations_global",
6815 "reservations_in_subnet",
"reservations_out_of_pool",
"id",
6816 "shared_networks",
"$@71",
"shared_networks_content",
6817 "shared_networks_list",
"shared_network",
"$@72",
6818 "shared_network_params",
"shared_network_param",
"option_def_list",
6819 "$@73",
"sub_option_def_list",
"$@74",
"option_def_list_content",
6820 "not_empty_option_def_list",
"option_def_entry",
"$@75",
6821 "sub_option_def",
"$@76",
"option_def_params",
6822 "not_empty_option_def_params",
"option_def_param",
"option_def_name",
6823 "code",
"option_def_code",
"option_def_type",
"$@77",
6824 "option_def_record_types",
"$@78",
"space",
"$@79",
"option_def_space",
6825 "option_def_encapsulate",
"$@80",
"option_def_array",
"option_data_list",
6826 "$@81",
"option_data_list_content",
"not_empty_option_data_list",
6827 "option_data_entry",
"$@82",
"sub_option_data",
"$@83",
6828 "option_data_params",
"not_empty_option_data_params",
6829 "option_data_param",
"option_data_name",
"option_data_data",
"$@84",
6830 "option_data_code",
"option_data_space",
"option_data_csv_format",
6831 "option_data_always_send",
"option_data_never_send",
6832 "option_data_client_classes",
"$@85",
"pools_list",
"$@86",
6833 "pools_list_content",
"not_empty_pools_list",
"pool_list_entry",
"$@87",
6834 "sub_pool4",
"$@88",
"pool_params",
"pool_param",
"pool_entry",
"$@89",
6835 "pool_id",
"user_context",
"$@90",
"comment",
"$@91",
"reservations",
6836 "$@92",
"reservations_list",
"not_empty_reservations_list",
6837 "reservation",
"$@93",
"sub_reservation",
"$@94",
"reservation_params",
6838 "not_empty_reservation_params",
"reservation_param",
"next_server",
6839 "$@95",
"server_hostname",
"$@96",
"boot_file_name",
"$@97",
6840 "ip_address",
"$@98",
"duid",
"$@99",
"hw_address",
"$@100",
6841 "client_id_value",
"$@101",
"circuit_id_value",
"$@102",
"flex_id_value",
6842 "$@103",
"hostname",
"$@104",
"reservation_client_classes",
"$@105",
6843 "relay",
"$@106",
"relay_map",
"ip_addresses",
"$@107",
"client_classes",
6844 "$@108",
"client_classes_list",
"not_empty_classes_list",
6845 "client_class_entry",
"$@109",
"client_class_params",
6846 "not_empty_client_class_params",
"client_class_param",
6847 "client_class_name",
"client_class_test",
"$@110",
6848 "client_class_template_test",
"$@111",
"only_if_required",
6849 "only_in_additional_list",
"dhcp4o6_port",
"control_socket",
"$@112",
6850 "control_sockets",
"$@113",
"control_socket_list",
6851 "not_empty_control_socket_list",
"control_socket_entry",
"$@114",
6852 "control_socket_params",
"control_socket_param",
"control_socket_type",
6853 "$@115",
"control_socket_type_value",
"control_socket_name",
"$@116",
6854 "control_socket_address",
"$@117",
"control_socket_port",
6855 "cert_required",
"http_headers",
"$@118",
"http_header_list",
6856 "not_empty_http_header_list",
"http_header",
"$@119",
6857 "http_header_params",
"http_header_param",
"header_value",
"$@120",
6858 "authentication",
"$@121",
"auth_params",
"auth_param",
"auth_type",
6859 "$@122",
"auth_type_value",
"realm",
"$@123",
"directory",
"$@124",
6860 "clients",
"$@125",
"clients_list",
"not_empty_clients_list",
6861 "basic_auth",
"$@126",
"clients_params",
"clients_param",
"user_file",
6862 "$@127",
"password_file",
"$@128",
"dhcp_queue_control",
"$@129",
6863 "queue_control_params",
"queue_control_param",
"enable_queue",
6864 "queue_type",
"$@130",
"capacity",
"arbitrary_map_entry",
"$@131",
6865 "dhcp_ddns",
"$@132",
"sub_dhcp_ddns",
"$@133",
"dhcp_ddns_params",
6866 "dhcp_ddns_param",
"enable_updates",
"server_ip",
"$@134",
"server_port",
6867 "sender_ip",
"$@135",
"sender_port",
"max_queue_size",
"ncr_protocol",
6868 "$@136",
"ncr_protocol_value",
"ncr_format",
"$@137",
"config_control",
6869 "$@138",
"sub_config_control",
"$@139",
"config_control_params",
6870 "config_control_param",
"config_databases",
"$@140",
6871 "config_fetch_wait_time",
"loggers",
"$@141",
"loggers_entries",
6872 "logger_entry",
"$@142",
"logger_params",
"logger_param",
"debuglevel",
6873 "severity",
"$@143",
"output_options_list",
"$@144",
6874 "output_options_list_content",
"output_entry",
"$@145",
6875 "output_params_list",
"output_params",
"output",
"$@146",
"flush",
6876 "maxsize",
"maxver",
"pattern",
"$@147",
"compatibility",
"$@148",
6877 "compatibility_params",
"compatibility_param",
"lenient_option_parsing",
6878 "ignore_dhcp_server_identifier",
"ignore_rai_link_selection",
6879 "exclude_first_last_24", YY_NULLPTR
6886 Dhcp4Parser::yyrline_[] =
6888 0, 337, 337, 337, 338, 338, 339, 339, 340, 340,
6889 341, 341, 342, 342, 343, 343, 344, 344, 345, 345,
6890 346, 346, 347, 347, 348, 348, 349, 349, 357, 358,
6891 359, 360, 361, 362, 363, 366, 371, 371, 382, 385,
6892 386, 389, 394, 400, 405, 405, 412, 413, 416, 420,
6893 424, 430, 430, 437, 438, 441, 445, 449, 459, 468,
6894 468, 483, 483, 497, 500, 506, 506, 515, 516, 517,
6895 524, 525, 526, 527, 528, 529, 530, 531, 532, 533,
6896 534, 535, 536, 537, 538, 539, 540, 541, 542, 543,
6897 544, 545, 546, 547, 548, 549, 550, 551, 552, 553,
6898 554, 555, 556, 557, 558, 559, 560, 561, 562, 563,
6899 564, 565, 566, 567, 568, 569, 570, 571, 572, 573,
6900 574, 575, 576, 577, 578, 579, 580, 581, 582, 583,
6901 584, 585, 586, 587, 588, 589, 590, 591, 592, 593,
6902 594, 595, 596, 599, 605, 611, 617, 623, 629, 635,
6903 641, 647, 653, 659, 665, 671, 671, 680, 686, 686,
6904 695, 701, 707, 713, 719, 725, 731, 731, 740, 743,
6905 746, 749, 752, 758, 758, 767, 767, 776, 785, 795,
6906 795, 804, 807, 810, 813, 818, 824, 830, 836, 842,
6907 842, 851, 851, 860, 866, 872, 878, 884, 890, 896,
6908 902, 908, 908, 920, 921, 922, 927, 928, 929, 930,
6909 931, 932, 933, 934, 935, 936, 939, 939, 948, 948,
6910 959, 959, 967, 968, 971, 971, 979, 981, 985, 991,
6911 997, 1003, 1009, 1009, 1022, 1022, 1033, 1034, 1035, 1040,
6912 1041, 1044, 1044, 1063, 1063, 1081, 1081, 1094, 1094, 1105,
6913 1106, 1109, 1110, 1111, 1116, 1116, 1126, 1127, 1128, 1133,
6914 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143,
6915 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151, 1152, 1153,
6916 1154, 1155, 1156, 1159, 1159, 1168, 1168, 1177, 1177, 1186,
6917 1186, 1195, 1201, 1201, 1210, 1216, 1222, 1228, 1234, 1240,
6918 1246, 1252, 1258, 1264, 1264, 1272, 1273, 1274, 1277, 1283,
6919 1289, 1289, 1298, 1298, 1307, 1307, 1316, 1316, 1324, 1327,
6920 1330, 1333, 1336, 1341, 1341, 1350, 1350, 1361, 1362, 1363,
6921 1368, 1369, 1370, 1371, 1372, 1375, 1380, 1385, 1390, 1395,
6922 1402, 1402, 1415, 1416, 1417, 1422, 1423, 1424, 1425, 1426,
6923 1427, 1430, 1436, 1442, 1448, 1448, 1459, 1460, 1463, 1464,
6924 1465, 1470, 1470, 1480, 1480, 1490, 1491, 1492, 1495, 1498,
6925 1499, 1502, 1502, 1511, 1511, 1520, 1520, 1532, 1533, 1534,
6926 1539, 1540, 1541, 1542, 1543, 1544, 1547, 1553, 1559, 1565,
6927 1571, 1577, 1586, 1586, 1600, 1601, 1604, 1605, 1606, 1615,
6928 1615, 1641, 1641, 1652, 1653, 1654, 1660, 1661, 1662, 1663,
6929 1664, 1665, 1666, 1667, 1668, 1669, 1670, 1671, 1672, 1673,
6930 1674, 1675, 1676, 1677, 1678, 1679, 1680, 1681, 1682, 1683,
6931 1684, 1685, 1686, 1687, 1688, 1689, 1690, 1691, 1692, 1693,
6932 1694, 1695, 1696, 1697, 1698, 1699, 1700, 1701, 1702, 1703,
6933 1704, 1705, 1706, 1707, 1708, 1709, 1710, 1711, 1712, 1713,
6934 1716, 1716, 1725, 1725, 1734, 1734, 1743, 1743, 1752, 1752,
6935 1761, 1761, 1771, 1771, 1783, 1783, 1794, 1794, 1805, 1811,
6936 1817, 1823, 1831, 1831, 1843, 1844, 1848, 1849, 1850, 1855,
6937 1855, 1863, 1864, 1865, 1870, 1871, 1872, 1873, 1874, 1875,
6938 1876, 1877, 1878, 1879, 1880, 1881, 1882, 1883, 1884, 1885,
6939 1886, 1887, 1888, 1889, 1890, 1891, 1892, 1893, 1894, 1895,
6940 1896, 1897, 1898, 1899, 1900, 1901, 1902, 1903, 1904, 1905,
6941 1906, 1907, 1908, 1909, 1910, 1911, 1912, 1913, 1914, 1915,
6942 1916, 1917, 1918, 1925, 1925, 1939, 1939, 1948, 1949, 1952,
6943 1953, 1954, 1961, 1961, 1976, 1976, 1990, 1991, 1994, 1995,
6944 1996, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
6945 2010, 2013, 2015, 2021, 2023, 2023, 2032, 2032, 2041, 2041,
6946 2050, 2052, 2052, 2061, 2071, 2071, 2084, 2085, 2090, 2091,
6947 2092, 2099, 2099, 2111, 2111, 2123, 2124, 2129, 2130, 2131,
6948 2138, 2139, 2140, 2141, 2142, 2143, 2144, 2145, 2146, 2147,
6949 2148, 2151, 2153, 2153, 2162, 2164, 2166, 2172, 2178, 2184,
6950 2184, 2198, 2198, 2211, 2212, 2215, 2216, 2217, 2222, 2222,
6951 2232, 2232, 2242, 2243, 2244, 2249, 2250, 2251, 2252, 2253,
6952 2254, 2255, 2256, 2257, 2258, 2259, 2260, 2261, 2262, 2263,
6953 2264, 2265, 2266, 2267, 2268, 2269, 2270, 2271, 2272, 2275,
6954 2275, 2284, 2290, 2290, 2315, 2315, 2345, 2345, 2356, 2357,
6955 2360, 2361, 2362, 2367, 2367, 2376, 2376, 2385, 2386, 2389,
6956 2390, 2391, 2397, 2398, 2399, 2400, 2401, 2402, 2403, 2404,
6957 2405, 2406, 2407, 2408, 2409, 2410, 2411, 2414, 2414, 2423,
6958 2423, 2432, 2432, 2441, 2441, 2450, 2450, 2459, 2459, 2468,
6959 2468, 2477, 2477, 2486, 2486, 2495, 2495, 2504, 2504, 2518,
6960 2518, 2529, 2532, 2532, 2546, 2546, 2557, 2558, 2561, 2562,
6961 2563, 2568, 2568, 2578, 2579, 2582, 2583, 2584, 2589, 2590,
6962 2591, 2592, 2593, 2594, 2595, 2596, 2597, 2598, 2599, 2600,
6963 2601, 2602, 2603, 2604, 2605, 2608, 2610, 2610, 2619, 2619,
6964 2629, 2635, 2643, 2651, 2651, 2663, 2663, 2675, 2676, 2679,
6965 2680, 2681, 2686, 2686, 2694, 2695, 2696, 2701, 2702, 2703,
6966 2704, 2705, 2706, 2707, 2708, 2709, 2710, 2711, 2712, 2713,
6967 2716, 2716, 2725, 2726, 2727, 2730, 2730, 2739, 2739, 2748,
6968 2754, 2760, 2760, 2771, 2772, 2775, 2776, 2777, 2782, 2782,
6969 2790, 2791, 2792, 2797, 2798, 2799, 2800, 2801, 2804, 2804,
6970 2815, 2815, 2828, 2829, 2830, 2835, 2836, 2837, 2838, 2839,
6971 2840, 2841, 2844, 2844, 2852, 2855, 2855, 2864, 2864, 2873,
6972 2873, 2884, 2885, 2888, 2889, 2890, 2895, 2895, 2903, 2904,
6973 2905, 2910, 2911, 2912, 2913, 2914, 2915, 2916, 2919, 2919,
6974 2928, 2928, 2939, 2939, 2952, 2953, 2954, 2959, 2960, 2961,
6975 2962, 2963, 2964, 2967, 2973, 2973, 2982, 2988, 2988, 2998,
6976 2998, 3011, 3011, 3021, 3022, 3023, 3028, 3029, 3030, 3031,
6977 3032, 3033, 3034, 3035, 3036, 3037, 3038, 3041, 3047, 3047,
6978 3056, 3062, 3062, 3071, 3077, 3083, 3083, 3092, 3093, 3096,
6979 3096, 3107, 3107, 3119, 3119, 3129, 3130, 3131, 3137, 3138,
6980 3141, 3141, 3152, 3160, 3160, 3173, 3174, 3175, 3181, 3181,
6981 3189, 3190, 3191, 3196, 3197, 3198, 3199, 3200, 3201, 3202,
6982 3205, 3211, 3211, 3220, 3220, 3231, 3232, 3233, 3238, 3238,
6983 3246, 3247, 3248, 3253, 3254, 3255, 3256, 3257, 3260, 3260,
6984 3269, 3275, 3281, 3287, 3287, 3296, 3296, 3307, 3308, 3309,
6985 3314, 3315, 3316, 3317, 3318, 3321, 3327, 3333, 3339
6989 Dhcp4Parser::yy_stack_print_ ()
const
6991 *yycdebug_ <<
"Stack now";
6992 for (stack_type::const_iterator
6993 i = yystack_.begin (),
6994 i_end = yystack_.end ();
6996 *yycdebug_ <<
' ' << int (i->state);
7001 Dhcp4Parser::yy_reduce_print_ (
int yyrule)
const
7003 int yylno = yyrline_[yyrule];
7004 int yynrhs = yyr2_[yyrule];
7006 *yycdebug_ <<
"Reducing stack by rule " << yyrule - 1
7007 <<
" (line " << yylno <<
"):\n";
7009 for (
int yyi = 0; yyi < yynrhs; yyi++)
7011 yystack_[(yynrhs) - (yyi + 1)]);
7016#line 14 "dhcp4_parser.yy"
7018#line 7019 "dhcp4_parser.cc"
7020#line 3345 "dhcp4_parser.yy"
7025 const std::string& what)
7027 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 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