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 2559 "dhcp4_parser.yy"
4028 ctx.warnAboutExtraCommas(yystack_[0].location);
4030#line 4031 "dhcp4_parser.cc"
4034#line 2564 "dhcp4_parser.yy"
4037 ctx.stack_.back()->add(m);
4038 ctx.stack_.push_back(m);
4040#line 4041 "dhcp4_parser.cc"
4044#line 2568 "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 2580 "dhcp4_parser.yy"
4056 ctx.warnAboutExtraCommas(yystack_[0].location);
4058#line 4059 "dhcp4_parser.cc"
4062#line 2606 "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 2609 "dhcp4_parser.yy"
4074 ctx.stack_.back()->set(
"test",
test);
4077#line 4078 "dhcp4_parser.cc"
4081#line 2615 "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 2618 "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 2625 "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 2631 "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 2639 "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 2647 "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 2654 "dhcp4_parser.yy"
4145 ctx.stack_.pop_back();
4148#line 4149 "dhcp4_parser.cc"
4152#line 2659 "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 2666 "dhcp4_parser.yy"
4167 ctx.stack_.pop_back();
4170#line 4171 "dhcp4_parser.cc"
4174#line 2677 "dhcp4_parser.yy"
4176 ctx.warnAboutExtraCommas(yystack_[0].location);
4178#line 4179 "dhcp4_parser.cc"
4182#line 2682 "dhcp4_parser.yy"
4185 ctx.stack_.back()->add(m);
4186 ctx.stack_.push_back(m);
4188#line 4189 "dhcp4_parser.cc"
4192#line 2686 "dhcp4_parser.yy"
4194 ctx.stack_.pop_back();
4196#line 4197 "dhcp4_parser.cc"
4200#line 2692 "dhcp4_parser.yy"
4202 ctx.warnAboutExtraCommas(yystack_[0].location);
4204#line 4205 "dhcp4_parser.cc"
4208#line 2712 "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 2715 "dhcp4_parser.yy"
4219 ctx.stack_.back()->set(
"socket-type", yystack_[0].value.as <
ElementPtr > ());
4222#line 4223 "dhcp4_parser.cc"
4226#line 2721 "dhcp4_parser.yy"
4228#line 4229 "dhcp4_parser.cc"
4232#line 2722 "dhcp4_parser.yy"
4234#line 4235 "dhcp4_parser.cc"
4238#line 2723 "dhcp4_parser.yy"
4240#line 4241 "dhcp4_parser.cc"
4244#line 2726 "dhcp4_parser.yy"
4246 ctx.unique(
"socket-name", ctx.loc2pos(yystack_[0].location));
4247 ctx.unique(
"socket-address", ctx.loc2pos(yystack_[0].location));
4248 ctx.enter(ctx.NO_KEYWORD);
4250#line 4251 "dhcp4_parser.cc"
4254#line 2730 "dhcp4_parser.yy"
4256 ElementPtr name(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
4257 ctx.stack_.back()->set(
"socket-name", name);
4260#line 4261 "dhcp4_parser.cc"
4264#line 2736 "dhcp4_parser.yy"
4266 ctx.unique(
"socket-address", ctx.loc2pos(yystack_[0].location));
4267 ctx.unique(
"socket-name", ctx.loc2pos(yystack_[0].location));
4268 ctx.enter(ctx.NO_KEYWORD);
4270#line 4271 "dhcp4_parser.cc"
4274#line 2740 "dhcp4_parser.yy"
4276 ElementPtr address(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
4277 ctx.stack_.back()->set(
"socket-address", address);
4280#line 4281 "dhcp4_parser.cc"
4284#line 2746 "dhcp4_parser.yy"
4286 ctx.unique(
"socket-port", ctx.loc2pos(yystack_[2].location));
4287 ElementPtr port(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
4288 ctx.stack_.back()->set(
"socket-port", port);
4290#line 4291 "dhcp4_parser.cc"
4294#line 2752 "dhcp4_parser.yy"
4296 ctx.unique(
"cert-required", ctx.loc2pos(yystack_[2].location));
4297 ElementPtr req(
new BoolElement(yystack_[0].value.as <
bool > (), ctx.loc2pos(yystack_[0].location)));
4298 ctx.stack_.back()->set(
"cert-required", req);
4300#line 4301 "dhcp4_parser.cc"
4304#line 2758 "dhcp4_parser.yy"
4306 ctx.unique(
"http-headers", ctx.loc2pos(yystack_[0].location));
4308 ctx.stack_.back()->set(
"http-headers", l);
4309 ctx.stack_.push_back(l);
4310 ctx.enter(ctx.HTTP_HEADERS);
4312#line 4313 "dhcp4_parser.cc"
4316#line 2764 "dhcp4_parser.yy"
4318 ctx.stack_.pop_back();
4321#line 4322 "dhcp4_parser.cc"
4325#line 2775 "dhcp4_parser.yy"
4327 ctx.warnAboutExtraCommas(yystack_[0].location);
4329#line 4330 "dhcp4_parser.cc"
4333#line 2780 "dhcp4_parser.yy"
4336 ctx.stack_.back()->add(m);
4337 ctx.stack_.push_back(m);
4339#line 4340 "dhcp4_parser.cc"
4343#line 2784 "dhcp4_parser.yy"
4345 ctx.stack_.pop_back();
4347#line 4348 "dhcp4_parser.cc"
4351#line 2790 "dhcp4_parser.yy"
4353 ctx.warnAboutExtraCommas(yystack_[0].location);
4355#line 4356 "dhcp4_parser.cc"
4359#line 2802 "dhcp4_parser.yy"
4361 ctx.unique(
"value", ctx.loc2pos(yystack_[0].location));
4362 ctx.enter(ctx.NO_KEYWORD);
4364#line 4365 "dhcp4_parser.cc"
4368#line 2805 "dhcp4_parser.yy"
4370 ElementPtr value(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
4371 ctx.stack_.back()->set(
"value", value);
4374#line 4375 "dhcp4_parser.cc"
4378#line 2813 "dhcp4_parser.yy"
4380 ctx.unique(
"authentication", ctx.loc2pos(yystack_[0].location));
4382 ctx.stack_.back()->set(
"authentication", m);
4383 ctx.stack_.push_back(m);
4384 ctx.enter(ctx.AUTHENTICATION);
4386#line 4387 "dhcp4_parser.cc"
4390#line 2819 "dhcp4_parser.yy"
4393 ctx.require(
"type", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location));
4394 ctx.stack_.pop_back();
4397#line 4398 "dhcp4_parser.cc"
4401#line 2828 "dhcp4_parser.yy"
4403 ctx.warnAboutExtraCommas(yystack_[0].location);
4405#line 4406 "dhcp4_parser.cc"
4409#line 2842 "dhcp4_parser.yy"
4411 ctx.unique(
"type", ctx.loc2pos(yystack_[0].location));
4412 ctx.enter(ctx.AUTH_TYPE);
4414#line 4415 "dhcp4_parser.cc"
4418#line 2845 "dhcp4_parser.yy"
4420 ctx.stack_.back()->set(
"type", yystack_[0].value.as <
ElementPtr > ());
4423#line 4424 "dhcp4_parser.cc"
4427#line 2850 "dhcp4_parser.yy"
4429#line 4430 "dhcp4_parser.cc"
4433#line 2853 "dhcp4_parser.yy"
4435 ctx.unique(
"realm", ctx.loc2pos(yystack_[0].location));
4436 ctx.enter(ctx.NO_KEYWORD);
4438#line 4439 "dhcp4_parser.cc"
4442#line 2856 "dhcp4_parser.yy"
4444 ElementPtr realm(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
4445 ctx.stack_.back()->set(
"realm", realm);
4448#line 4449 "dhcp4_parser.cc"
4452#line 2862 "dhcp4_parser.yy"
4454 ctx.unique(
"directory", ctx.loc2pos(yystack_[0].location));
4455 ctx.enter(ctx.NO_KEYWORD);
4457#line 4458 "dhcp4_parser.cc"
4461#line 2865 "dhcp4_parser.yy"
4463 ElementPtr directory(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
4464 ctx.stack_.back()->set(
"directory", directory);
4467#line 4468 "dhcp4_parser.cc"
4471#line 2871 "dhcp4_parser.yy"
4473 ctx.unique(
"clients", ctx.loc2pos(yystack_[0].location));
4475 ctx.stack_.back()->set(
"clients", l);
4476 ctx.stack_.push_back(l);
4477 ctx.enter(ctx.CLIENTS);
4479#line 4480 "dhcp4_parser.cc"
4483#line 2877 "dhcp4_parser.yy"
4485 ctx.stack_.pop_back();
4488#line 4489 "dhcp4_parser.cc"
4492#line 2888 "dhcp4_parser.yy"
4494 ctx.warnAboutExtraCommas(yystack_[0].location);
4496#line 4497 "dhcp4_parser.cc"
4500#line 2893 "dhcp4_parser.yy"
4503 ctx.stack_.back()->add(m);
4504 ctx.stack_.push_back(m);
4506#line 4507 "dhcp4_parser.cc"
4510#line 2897 "dhcp4_parser.yy"
4512 ctx.stack_.pop_back();
4514#line 4515 "dhcp4_parser.cc"
4518#line 2903 "dhcp4_parser.yy"
4520 ctx.warnAboutExtraCommas(yystack_[0].location);
4522#line 4523 "dhcp4_parser.cc"
4526#line 2917 "dhcp4_parser.yy"
4528 ctx.unique(
"user-file", ctx.loc2pos(yystack_[0].location));
4529 ctx.enter(ctx.NO_KEYWORD);
4531#line 4532 "dhcp4_parser.cc"
4535#line 2920 "dhcp4_parser.yy"
4537 ElementPtr user(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
4538 ctx.stack_.back()->set(
"user-file", user);
4541#line 4542 "dhcp4_parser.cc"
4545#line 2926 "dhcp4_parser.yy"
4547 ctx.unique(
"password-file", ctx.loc2pos(yystack_[0].location));
4548 ctx.enter(ctx.NO_KEYWORD);
4550#line 4551 "dhcp4_parser.cc"
4554#line 2929 "dhcp4_parser.yy"
4556 ElementPtr password(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
4557 ctx.stack_.back()->set(
"password-file", password);
4560#line 4561 "dhcp4_parser.cc"
4564#line 2937 "dhcp4_parser.yy"
4566 ctx.unique(
"dhcp-queue-control", ctx.loc2pos(yystack_[0].location));
4568 ctx.stack_.back()->set(
"dhcp-queue-control", qc);
4569 ctx.stack_.push_back(qc);
4570 ctx.enter(ctx.DHCP_QUEUE_CONTROL);
4572#line 4573 "dhcp4_parser.cc"
4576#line 2943 "dhcp4_parser.yy"
4579 ctx.require(
"enable-queue", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location));
4580 ctx.stack_.pop_back();
4583#line 4584 "dhcp4_parser.cc"
4587#line 2952 "dhcp4_parser.yy"
4589 ctx.warnAboutExtraCommas(yystack_[0].location);
4591#line 4592 "dhcp4_parser.cc"
4595#line 2965 "dhcp4_parser.yy"
4597 ctx.unique(
"enable-queue", ctx.loc2pos(yystack_[2].location));
4599 ctx.stack_.back()->set(
"enable-queue", b);
4601#line 4602 "dhcp4_parser.cc"
4605#line 2971 "dhcp4_parser.yy"
4607 ctx.unique(
"queue-type", ctx.loc2pos(yystack_[0].location));
4608 ctx.enter(ctx.NO_KEYWORD);
4610#line 4611 "dhcp4_parser.cc"
4614#line 2974 "dhcp4_parser.yy"
4617 ctx.stack_.back()->set(
"queue-type", qt);
4620#line 4621 "dhcp4_parser.cc"
4624#line 2980 "dhcp4_parser.yy"
4626 ctx.unique(
"capacity", ctx.loc2pos(yystack_[2].location));
4627 ElementPtr c(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
4628 ctx.stack_.back()->set(
"capacity", c);
4630#line 4631 "dhcp4_parser.cc"
4634#line 2986 "dhcp4_parser.yy"
4636 ctx.unique(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location));
4637 ctx.enter(ctx.NO_KEYWORD);
4639#line 4640 "dhcp4_parser.cc"
4643#line 2989 "dhcp4_parser.yy"
4645 ctx.stack_.back()->set(yystack_[3].value.as < std::string > (), yystack_[0].value.as <
ElementPtr > ());
4648#line 4649 "dhcp4_parser.cc"
4652#line 2996 "dhcp4_parser.yy"
4654 ctx.unique(
"dhcp-ddns", ctx.loc2pos(yystack_[0].location));
4656 ctx.stack_.back()->set(
"dhcp-ddns", m);
4657 ctx.stack_.push_back(m);
4658 ctx.enter(ctx.DHCP_DDNS);
4660#line 4661 "dhcp4_parser.cc"
4664#line 3002 "dhcp4_parser.yy"
4667 ctx.require(
"enable-updates", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location));
4668 ctx.stack_.pop_back();
4671#line 4672 "dhcp4_parser.cc"
4675#line 3009 "dhcp4_parser.yy"
4679 ctx.stack_.push_back(m);
4681#line 4682 "dhcp4_parser.cc"
4685#line 3013 "dhcp4_parser.yy"
4688 ctx.require(
"enable-updates", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
4691#line 4692 "dhcp4_parser.cc"
4695#line 3021 "dhcp4_parser.yy"
4697 ctx.warnAboutExtraCommas(yystack_[0].location);
4699#line 4700 "dhcp4_parser.cc"
4703#line 3039 "dhcp4_parser.yy"
4705 ctx.unique(
"enable-updates", ctx.loc2pos(yystack_[2].location));
4707 ctx.stack_.back()->set(
"enable-updates", b);
4709#line 4710 "dhcp4_parser.cc"
4713#line 3045 "dhcp4_parser.yy"
4715 ctx.unique(
"server-ip", ctx.loc2pos(yystack_[0].location));
4716 ctx.enter(ctx.NO_KEYWORD);
4718#line 4719 "dhcp4_parser.cc"
4722#line 3048 "dhcp4_parser.yy"
4725 ctx.stack_.back()->set(
"server-ip", s);
4728#line 4729 "dhcp4_parser.cc"
4732#line 3054 "dhcp4_parser.yy"
4734 ctx.unique(
"server-port", ctx.loc2pos(yystack_[2].location));
4735 ElementPtr i(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
4736 ctx.stack_.back()->set(
"server-port", i);
4738#line 4739 "dhcp4_parser.cc"
4742#line 3060 "dhcp4_parser.yy"
4744 ctx.unique(
"sender-ip", ctx.loc2pos(yystack_[0].location));
4745 ctx.enter(ctx.NO_KEYWORD);
4747#line 4748 "dhcp4_parser.cc"
4751#line 3063 "dhcp4_parser.yy"
4754 ctx.stack_.back()->set(
"sender-ip", s);
4757#line 4758 "dhcp4_parser.cc"
4761#line 3069 "dhcp4_parser.yy"
4763 ctx.unique(
"sender-port", ctx.loc2pos(yystack_[2].location));
4764 ElementPtr i(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
4765 ctx.stack_.back()->set(
"sender-port", i);
4767#line 4768 "dhcp4_parser.cc"
4771#line 3075 "dhcp4_parser.yy"
4773 ctx.unique(
"max-queue-size", ctx.loc2pos(yystack_[2].location));
4774 ElementPtr i(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
4775 ctx.stack_.back()->set(
"max-queue-size", i);
4777#line 4778 "dhcp4_parser.cc"
4781#line 3081 "dhcp4_parser.yy"
4783 ctx.unique(
"ncr-protocol", ctx.loc2pos(yystack_[0].location));
4784 ctx.enter(ctx.NCR_PROTOCOL);
4786#line 4787 "dhcp4_parser.cc"
4790#line 3084 "dhcp4_parser.yy"
4792 ctx.stack_.back()->set(
"ncr-protocol", yystack_[0].value.as <
ElementPtr > ());
4795#line 4796 "dhcp4_parser.cc"
4799#line 3090 "dhcp4_parser.yy"
4801#line 4802 "dhcp4_parser.cc"
4805#line 3091 "dhcp4_parser.yy"
4807#line 4808 "dhcp4_parser.cc"
4811#line 3094 "dhcp4_parser.yy"
4813 ctx.unique(
"ncr-format", ctx.loc2pos(yystack_[0].location));
4814 ctx.enter(ctx.NCR_FORMAT);
4816#line 4817 "dhcp4_parser.cc"
4820#line 3097 "dhcp4_parser.yy"
4823 ctx.stack_.back()->set(
"ncr-format", json);
4826#line 4827 "dhcp4_parser.cc"
4830#line 3105 "dhcp4_parser.yy"
4832 ctx.unique(
"config-control", ctx.loc2pos(yystack_[0].location));
4834 ctx.stack_.back()->set(
"config-control", i);
4835 ctx.stack_.push_back(i);
4836 ctx.enter(ctx.CONFIG_CONTROL);
4838#line 4839 "dhcp4_parser.cc"
4842#line 3111 "dhcp4_parser.yy"
4845 ctx.stack_.pop_back();
4848#line 4849 "dhcp4_parser.cc"
4852#line 3117 "dhcp4_parser.yy"
4856 ctx.stack_.push_back(m);
4858#line 4859 "dhcp4_parser.cc"
4862#line 3121 "dhcp4_parser.yy"
4867#line 4868 "dhcp4_parser.cc"
4871#line 3129 "dhcp4_parser.yy"
4873 ctx.warnAboutExtraCommas(yystack_[0].location);
4875#line 4876 "dhcp4_parser.cc"
4879#line 3139 "dhcp4_parser.yy"
4881 ctx.unique(
"config-databases", ctx.loc2pos(yystack_[0].location));
4883 ctx.stack_.back()->set(
"config-databases", l);
4884 ctx.stack_.push_back(l);
4885 ctx.enter(ctx.CONFIG_DATABASE);
4887#line 4888 "dhcp4_parser.cc"
4891#line 3145 "dhcp4_parser.yy"
4893 ctx.stack_.pop_back();
4896#line 4897 "dhcp4_parser.cc"
4900#line 3150 "dhcp4_parser.yy"
4902 ctx.unique(
"config-fetch-wait-time", ctx.loc2pos(yystack_[2].location));
4903 ElementPtr value(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
4904 ctx.stack_.back()->set(
"config-fetch-wait-time", value);
4906#line 4907 "dhcp4_parser.cc"
4910#line 3158 "dhcp4_parser.yy"
4912 ctx.unique(
"loggers", ctx.loc2pos(yystack_[0].location));
4914 ctx.stack_.back()->set(
"loggers", l);
4915 ctx.stack_.push_back(l);
4916 ctx.enter(ctx.LOGGERS);
4918#line 4919 "dhcp4_parser.cc"
4922#line 3164 "dhcp4_parser.yy"
4924 ctx.stack_.pop_back();
4927#line 4928 "dhcp4_parser.cc"
4931#line 3173 "dhcp4_parser.yy"
4933 ctx.warnAboutExtraCommas(yystack_[0].location);
4935#line 4936 "dhcp4_parser.cc"
4939#line 3179 "dhcp4_parser.yy"
4942 ctx.stack_.back()->add(l);
4943 ctx.stack_.push_back(l);
4945#line 4946 "dhcp4_parser.cc"
4949#line 3183 "dhcp4_parser.yy"
4951 ctx.stack_.pop_back();
4953#line 4954 "dhcp4_parser.cc"
4957#line 3189 "dhcp4_parser.yy"
4959 ctx.warnAboutExtraCommas(yystack_[0].location);
4961#line 4962 "dhcp4_parser.cc"
4965#line 3203 "dhcp4_parser.yy"
4967 ctx.unique(
"debuglevel", ctx.loc2pos(yystack_[2].location));
4968 ElementPtr dl(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
4969 ctx.stack_.back()->set(
"debuglevel", dl);
4971#line 4972 "dhcp4_parser.cc"
4975#line 3209 "dhcp4_parser.yy"
4977 ctx.unique(
"severity", ctx.loc2pos(yystack_[0].location));
4978 ctx.enter(ctx.NO_KEYWORD);
4980#line 4981 "dhcp4_parser.cc"
4984#line 3212 "dhcp4_parser.yy"
4986 ElementPtr sev(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
4987 ctx.stack_.back()->set(
"severity", sev);
4990#line 4991 "dhcp4_parser.cc"
4994#line 3218 "dhcp4_parser.yy"
4996 ctx.unique(
"output-options", ctx.loc2pos(yystack_[0].location));
4998 ctx.stack_.back()->set(
"output-options", l);
4999 ctx.stack_.push_back(l);
5000 ctx.enter(ctx.OUTPUT_OPTIONS);
5002#line 5003 "dhcp4_parser.cc"
5006#line 3224 "dhcp4_parser.yy"
5008 ctx.stack_.pop_back();
5011#line 5012 "dhcp4_parser.cc"
5015#line 3231 "dhcp4_parser.yy"
5017 ctx.warnAboutExtraCommas(yystack_[0].location);
5019#line 5020 "dhcp4_parser.cc"
5023#line 3236 "dhcp4_parser.yy"
5026 ctx.stack_.back()->add(m);
5027 ctx.stack_.push_back(m);
5029#line 5030 "dhcp4_parser.cc"
5033#line 3240 "dhcp4_parser.yy"
5035 ctx.stack_.pop_back();
5037#line 5038 "dhcp4_parser.cc"
5041#line 3246 "dhcp4_parser.yy"
5043 ctx.warnAboutExtraCommas(yystack_[0].location);
5045#line 5046 "dhcp4_parser.cc"
5049#line 3258 "dhcp4_parser.yy"
5051 ctx.unique(
"output", ctx.loc2pos(yystack_[0].location));
5052 ctx.enter(ctx.NO_KEYWORD);
5054#line 5055 "dhcp4_parser.cc"
5058#line 3261 "dhcp4_parser.yy"
5060 ElementPtr sev(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
5061 ctx.stack_.back()->set(
"output", sev);
5064#line 5065 "dhcp4_parser.cc"
5068#line 3267 "dhcp4_parser.yy"
5070 ctx.unique(
"flush", ctx.loc2pos(yystack_[2].location));
5071 ElementPtr flush(
new BoolElement(yystack_[0].value.as <
bool > (), ctx.loc2pos(yystack_[0].location)));
5072 ctx.stack_.back()->set(
"flush", flush);
5074#line 5075 "dhcp4_parser.cc"
5078#line 3273 "dhcp4_parser.yy"
5080 ctx.unique(
"maxsize", ctx.loc2pos(yystack_[2].location));
5081 ElementPtr maxsize(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
5082 ctx.stack_.back()->set(
"maxsize", maxsize);
5084#line 5085 "dhcp4_parser.cc"
5088#line 3279 "dhcp4_parser.yy"
5090 ctx.unique(
"maxver", ctx.loc2pos(yystack_[2].location));
5091 ElementPtr maxver(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
5092 ctx.stack_.back()->set(
"maxver", maxver);
5094#line 5095 "dhcp4_parser.cc"
5098#line 3285 "dhcp4_parser.yy"
5100 ctx.unique(
"pattern", ctx.loc2pos(yystack_[0].location));
5101 ctx.enter(ctx.NO_KEYWORD);
5103#line 5104 "dhcp4_parser.cc"
5107#line 3288 "dhcp4_parser.yy"
5109 ElementPtr sev(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
5110 ctx.stack_.back()->set(
"pattern", sev);
5113#line 5114 "dhcp4_parser.cc"
5117#line 3294 "dhcp4_parser.yy"
5119 ctx.unique(
"compatibility", ctx.loc2pos(yystack_[0].location));
5121 ctx.stack_.back()->set(
"compatibility", i);
5122 ctx.stack_.push_back(i);
5123 ctx.enter(ctx.COMPATIBILITY);
5125#line 5126 "dhcp4_parser.cc"
5129#line 3300 "dhcp4_parser.yy"
5131 ctx.stack_.pop_back();
5134#line 5135 "dhcp4_parser.cc"
5138#line 3307 "dhcp4_parser.yy"
5140 ctx.warnAboutExtraCommas(yystack_[0].location);
5142#line 5143 "dhcp4_parser.cc"
5146#line 3319 "dhcp4_parser.yy"
5148 ctx.unique(
"lenient-option-parsing", ctx.loc2pos(yystack_[2].location));
5150 ctx.stack_.back()->set(
"lenient-option-parsing", b);
5152#line 5153 "dhcp4_parser.cc"
5156#line 3325 "dhcp4_parser.yy"
5158 ctx.unique(
"ignore-dhcp-server-identifier", ctx.loc2pos(yystack_[2].location));
5160 ctx.stack_.back()->set(
"ignore-dhcp-server-identifier", b);
5162#line 5163 "dhcp4_parser.cc"
5166#line 3331 "dhcp4_parser.yy"
5168 ctx.unique(
"ignore-rai-link-selection", ctx.loc2pos(yystack_[2].location));
5170 ctx.stack_.back()->set(
"ignore-rai-link-selection", b);
5172#line 5173 "dhcp4_parser.cc"
5176#line 3337 "dhcp4_parser.yy"
5178 ctx.unique(
"exclude-first-last-24", ctx.loc2pos(yystack_[2].location));
5180 ctx.stack_.back()->set(
"exclude-first-last-24", b);
5182#line 5183 "dhcp4_parser.cc"
5186#line 5187 "dhcp4_parser.cc"
5195 YYCDEBUG <<
"Caught exception: " << yyexc.what() <<
'\n';
5205 yypush_ (YY_NULLPTR,
YY_MOVE (yylhs));
5219 std::string msg = yysyntax_error_ (yyctx);
5225 if (yyerrstatus_ == 3)
5233 else if (!yyla.
empty ())
5235 yy_destroy_ (
"Error: discarding", yyla);
5269 yyn = yypact_[+yystack_[0].state];
5270 if (!yy_pact_value_is_default_ (yyn))
5273 if (0 <= yyn && yyn <= yylast_
5276 yyn = yytable_[yyn];
5283 if (yystack_.size () == 1)
5286 yyerror_range[1].
location = yystack_[0].location;
5287 yy_destroy_ (
"Error: popping", yystack_[0]);
5292 stack_symbol_type error_token;
5298 error_token.state = state_type (yyn);
5299 yypush_ (
"Shifting",
YY_MOVE (error_token));
5325 yy_destroy_ (
"Cleanup: discarding lookahead", yyla);
5331 while (1 < yystack_.size ())
5333 yy_destroy_ (
"Cleanup: popping", yystack_[0]);
5342 YYCDEBUG <<
"Exception caught: cleaning lookahead and stack\n";
5346 yy_destroy_ (YY_NULLPTR, yyla);
5348 while (1 < yystack_.size ())
5350 yy_destroy_ (YY_NULLPTR, yystack_[0]);
5370 Dhcp4Parser::yytnamerr_ (
const char *yystr)
5375 char const *yyp = yystr;
5382 goto do_not_strip_quotes;
5386 goto do_not_strip_quotes;
5398 do_not_strip_quotes: ;
5407 return yytnamerr_ (yytname_[yysymbol]);
5414 : yyparser_ (yyparser)
5424 const int yyn = yypact_[+yyparser_.yystack_[0].state];
5425 if (!yy_pact_value_is_default_ (yyn))
5430 const int yyxbegin = yyn < 0 ? -yyn : 0;
5432 const int yychecklim = yylast_ - yyn + 1;
5434 for (
int yyx = yyxbegin; yyx < yyxend; ++yyx)
5436 && !yy_table_value_is_error_ (yytable_[yyx + yyn]))
5440 else if (yycount == yyargn)
5447 if (yyarg && yycount == 0 && 0 < yyargn)
5458 Dhcp4Parser::yy_syntax_error_arguments_ (
const context& yyctx,
5489 yyarg[0] = yyctx.
token ();
5490 int yyn = yyctx.
expected_tokens (yyarg ? yyarg + 1 : yyarg, yyargn - 1);
5498 Dhcp4Parser::yysyntax_error_ (
const context& yyctx)
const
5501 enum { YYARGS_MAX = 5 };
5504 int yycount = yy_syntax_error_arguments_ (yyctx, yyarg, YYARGS_MAX);
5506 char const* yyformat = YY_NULLPTR;
5509#define YYCASE_(N, S) \
5515 YYCASE_ (1,
YY_(
"syntax error, unexpected %s"));
5516 YYCASE_ (2,
YY_(
"syntax error, unexpected %s, expecting %s"));
5517 YYCASE_ (3,
YY_(
"syntax error, unexpected %s, expecting %s or %s"));
5518 YYCASE_ (4,
YY_(
"syntax error, unexpected %s, expecting %s or %s or %s"));
5519 YYCASE_ (5,
YY_(
"syntax error, unexpected %s, expecting %s or %s or %s or %s"));
5525 std::ptrdiff_t yyi = 0;
5526 for (
char const* yyp = yyformat; *yyp; ++yyp)
5527 if (yyp[0] ==
'%' && yyp[1] ==
's' && yyi < yycount)
5538 const short Dhcp4Parser::yypact_ninf_ = -1384;
5540 const signed char Dhcp4Parser::yytable_ninf_ = -1;
5543 Dhcp4Parser::yypact_[] =
5545 468, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384,
5546 -1384, -1384, -1384, -1384, 80, 37, 44, 46, 109, 117,
5547 120, 150, 161, 168, 176, 195, 213, 223, -1384, -1384,
5548 -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384,
5549 -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384,
5550 -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384,
5551 -1384, -1384, -1384, -1384, 37, -150, 85, 276, 82, 727,
5552 1476, 98, -3, 343, 88, -118, 544, 96, -1384, 180,
5553 254, 114, 256, 262, -1384, 25, -1384, -1384, -1384, -1384,
5554 275, 296, 299, -1384, -1384, -1384, 300, 330, -1384, -1384,
5555 -1384, 332, 341, 376, 382, 408, 409, 430, 438, 442,
5556 444, 447, 448, -1384, 449, 453, 454, 455, 456, -1384,
5557 -1384, -1384, 457, 459, 460, 461, 465, 467, 469, -1384,
5558 -1384, -1384, 470, -1384, -1384, -1384, -1384, -1384, 471, 472,
5559 473, -1384, -1384, -1384, -1384, -1384, 474, -1384, -1384, -1384,
5560 -1384, -1384, -1384, -1384, 476, 483, 484, -1384, -1384, 485,
5561 -1384, 62, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384,
5562 -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384,
5563 -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384,
5564 -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384,
5565 -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384,
5566 -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384,
5567 -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384,
5568 -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, 486, 487,
5569 488, 490, -1384, 134, -1384, -1384, -1384, -1384, -1384, -1384,
5570 -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384,
5571 492, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384,
5572 -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384,
5573 -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384,
5574 -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, 144, -1384,
5575 -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384,
5576 -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384,
5577 -1384, -1384, -1384, 494, -1384, -1384, -1384, -1384, -1384, -1384,
5578 -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384,
5579 -1384, -1384, -1384, -1384, 151, -1384, -1384, -1384, -1384, -1384,
5580 -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384,
5581 -1384, -1384, 277, 294, -1384, -1384, -1384, -1384, -1384, -1384,
5582 -1384, -1384, -1384, -1384, -1384, -1384, 325, -1384, -1384, 497,
5583 -1384, -1384, -1384, 499, -1384, -1384, 335, 420, -1384, -1384,
5584 -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384,
5585 -1384, 501, 502, 503, -1384, -1384, -1384, -1384, -1384, 425,
5586 506, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384,
5587 -1384, -1384, -1384, -1384, -1384, 169, -1384, -1384, -1384, 507,
5588 -1384, 510, -1384, 511, 513, -1384, -1384, -1384, -1384, -1384,
5589 177, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384,
5590 -1384, 515, 179, -1384, -1384, -1384, -1384, 37, 37, -1384,
5591 -124, 517, -1384, -1384, 519, 520, 522, 270, 290, 297,
5592 529, 532, 535, 234, 302, 536, 540, 541, 312, 314,
5593 316, 317, 321, 322, 327, 331, 333, 326, 340, 336,
5594 567, 344, 345, 346, 347, 349, 577, 580, 581, 352,
5595 354, 357, 359, 360, 361, 362, 596, 600, 602, 369,
5596 605, 606, 610, 614, 617, 385, 387, 391, 618, 628,
5597 631, 633, 638, 410, 646, 649, 651, 652, 654, 662,
5598 667, 434, 436, 439, 669, 673, -1384, 276, -1384, 674,
5599 676, 677, 443, 445, 450, 451, 82, -1384, 678, 683,
5600 686, 701, 702, 703, 475, 704, 706, 707, 708, 710,
5601 727, -1384, 711, 478, 1476, -1384, 713, 714, 715, 716,
5602 722, 723, 724, 726, -1384, 98, -1384, 728, 729, 493,
5603 730, 739, 742, 509, -1384, 343, 746, 512, 514, 523,
5604 747, -1384, 88, 749, 751, -85, -1384, 524, 761, 528,
5605 763, 531, 533, 766, 772, 544, -1384, 773, 542, 96,
5606 -1384, -1384, -1384, 774, 777, 778, 779, 780, -1384, -1384,
5607 -1384, 551, 552, 553, -1384, -1384, 786, 789, 803, -1384,
5608 -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384,
5609 -1384, 572, -1384, -1384, -1384, -1384, -1384, 14, 573, 574,
5610 -1384, -1384, -1384, -1384, -1384, -1384, -1384, 820, 824, 826,
5611 -1384, 595, 203, 828, 827, 598, -1384, -1384, -1384, 832,
5612 833, 834, 835, 837, -1384, 838, 839, 836, 840, 841,
5613 613, 622, -1384, -1384, -1384, 858, 857, -1384, 860, 123,
5614 228, -1384, -1384, -1384, -1384, -1384, 629, 634, 635, 863,
5615 636, 637, -1384, 860, 860, 860, 639, 868, -1384, 641,
5616 -1384, -1384, 860, 642, 643, 644, 645, 647, 648, 650,
5617 -1384, 653, 670, -1384, 671, 684, 685, -1384, -1384, 687,
5618 -1384, -1384, -1384, 860, -1384, 688, 827, -1384, -1384, 689,
5619 -1384, 690, -1384, -1384, 4, 579, -1384, 865, -1384, -1384,
5620 37, 276, 96, 82, 137, -1384, -1384, -1384, 851, 851,
5621 876, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384,
5622 879, 881, 882, -1384, -1384, -1384, -1384, -1384, -1384, 899,
5623 -1384, -1384, -1384, 106, 916, 921, 922, 170, -75, 599,
5624 923, 45, 544, -1384, -1384, 924, -12, -1384, -1384, -1384,
5625 -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, 927, -1384,
5626 -1384, -1384, -1384, -1384, -1384, 784, -1384, -1384, -1384, -1384,
5627 -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384,
5628 -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384,
5629 876, -1384, 196, 197, 211, -1384, -1384, 221, -1384, -1384,
5630 -1384, -1384, -1384, -1384, -1384, 932, 933, 934, 935, 936,
5631 937, 938, 939, 940, 941, -1384, 942, 943, -1384, -1384,
5632 -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, 253,
5633 -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384,
5634 -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384,
5635 -1384, -1384, -1384, -1384, 280, -1384, 944, 945, -1384, -1384,
5636 946, 948, -1384, -1384, 947, 951, -1384, -1384, 950, 954,
5637 -1384, -1384, 952, 956, -1384, -1384, -1384, -1384, -1384, -1384,
5638 42, -1384, -1384, -1384, -1384, -1384, -1384, -1384, 75, -1384,
5639 -1384, 955, 957, -1384, -1384, 959, 960, -1384, 958, 962,
5640 963, 964, 965, 966, 281, -1384, -1384, -1384, -1384, -1384,
5641 -1384, -1384, 967, 968, 969, -1384, 283, -1384, -1384, -1384,
5642 -1384, -1384, -1384, -1384, -1384, -1384, 970, -1384, 971, -1384,
5643 -1384, -1384, -1384, -1384, -1384, -1384, 293, -1384, -1384, -1384,
5644 -1384, -1384, -1384, -1384, -1384, -1384, 972, 973, -1384, 975,
5645 -1384, 976, -1384, -1384, -1384, 329, -1384, -1384, -1384, -1384,
5646 -1384, 373, -1384, 90, -1384, 977, 978, 979, 980, -1384,
5647 374, -1384, -1384, -1384, -1384, -1384, 712, -1384, 981, 974,
5648 -1384, -1384, 982, -1384, 983, -1384, -1384, -1384, 984, 987,
5649 137, -1384, 988, 989, 990, 991, 748, 745, 758, 757,
5650 760, 762, 764, 767, 769, 770, 995, 771, 781, 997,
5651 1000, 1011, 1014, 1021, 851, -1384, -1384, 851, -1384, 876,
5652 727, -1384, 879, 343, -1384, 881, 88, -1384, 882, 1418,
5653 -1384, 899, 106, -1384, 156, 916, -1384, 98, -1384, 921,
5654 -118, -1384, 922, 790, 792, 795, 796, 807, 813, 170,
5655 -1384, 787, 816, 818, -75, -1384, 1037, 1055, 1060, 829,
5656 1064, 849, 1070, 599, -1384, 599, -1384, 923, 856, 1087,
5657 859, 1094, 45, -1384, -1384, 174, 924, -1384, 864, 866,
5658 869, 874, -12, -1384, -1384, 1125, 1134, 1476, -1384, 927,
5659 1137, -1384, -1384, 910, 915, -1384, 961, 985, 986, 992,
5660 -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384,
5661 339, -1384, -1384, 993, 994, 996, 172, 998, -1384, 381,
5662 -1384, 407, -1384, 1161, -1384, 1171, -1384, -1384, -1384, -1384,
5663 -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384,
5664 -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384,
5665 -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384,
5666 -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, 411,
5667 -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384,
5668 -1384, -1384, 1183, 1188, -1384, -1384, -1384, -1384, -1384, -1384,
5669 -1384, -1384, -1384, -1384, -1384, -1384, -1384, 1187, 1194, -1384,
5670 -1384, -1384, -1384, -1384, -1384, -1384, 1191, -1384, 417, -1384,
5671 -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384,
5672 -1384, 232, 999, 1001, -1384, 1193, -1384, 1197, -1384, 418,
5673 -1384, -1384, 1002, -1384, 37, -1384, -1384, 1200, -1384, -1384,
5674 -1384, -1384, -1384, 419, -1384, -1384, -1384, -1384, -1384, -1384,
5675 -1384, -1384, -1384, -1384, -1384, 1003, 421, -1384, 860, -1384,
5676 -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384,
5677 -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, 1418, -1384,
5678 1201, 1203, 1004, 1005, -1384, 156, -1384, -1384, -1384, -1384,
5679 -1384, -1384, -1384, -1384, 138, 1202, -1384, -1384, -1384, 1204,
5680 1008, 1206, 174, -1384, -1384, -1384, -1384, -1384, 1006, 1010,
5681 -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384,
5682 427, -1384, -1384, -1384, -1384, -1384, -1384, 1208, 1209, -1384,
5683 1210, -1384, 1012, -1384, -1384, -1384, 1213, 1215, 1216, 1217,
5684 138, -1384, -70, -1384, 1202, 1219, -1384, 1047, 1013, 1015,
5685 1222, -1384, -1384, -1384, -1384, -1384, -1384, 429, -1384, -1384,
5686 -1384, -1384, 111, -1384, -1384, -1384, -1384, -1384, 1221, 1228,
5687 -70, -1384, 55, 1219, -1384, -1384, 1231, 1238, -1384, 1016,
5688 -1384, -1384, 1230, 1244, 1247, -1384, 433, -1384, -1384, -1384,
5689 -1384, -1384, -1384, -1384, 375, -1384, 1221, -1384, 1250, 1017,
5690 1018, 1020, 1251, 55, -1384, -1384, -1384, -1384, -1384, -1384,
5691 -1384, -1384, 437, -1384, -1384, -1384, -1384, 1022, -1384, -1384,
5692 -1384, 1023, -1384, 1258, 1259, 375, -1384, -1384, -1384, 1027,
5693 1029, -1384, -1384, -1384
5697 Dhcp4Parser::yydefact_[] =
5699 0, 2, 4, 6, 8, 10, 12, 14, 16, 18,
5700 20, 22, 24, 26, 0, 0, 0, 0, 0, 0,
5701 0, 0, 0, 0, 0, 0, 0, 0, 1, 44,
5702 36, 32, 31, 28, 29, 30, 35, 3, 33, 34,
5703 59, 5, 65, 7, 216, 9, 401, 11, 630, 13,
5704 675, 15, 545, 17, 554, 19, 593, 21, 363, 23,
5705 879, 25, 911, 27, 46, 39, 0, 0, 0, 0,
5706 0, 677, 0, 556, 595, 0, 0, 0, 48, 0,
5707 47, 0, 0, 40, 61, 0, 63, 909, 201, 234,
5708 0, 0, 0, 697, 699, 701, 0, 0, 232, 245,
5709 247, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5710 0, 0, 0, 155, 0, 0, 0, 0, 0, 166,
5711 173, 175, 0, 0, 0, 0, 0, 0, 0, 392,
5712 543, 584, 0, 158, 179, 482, 662, 664, 0, 0,
5713 0, 325, 724, 666, 354, 375, 0, 340, 761, 763,
5714 860, 877, 189, 191, 0, 0, 0, 921, 963, 0,
5715 142, 0, 67, 70, 71, 72, 73, 74, 108, 109,
5716 110, 111, 112, 113, 75, 104, 138, 139, 93, 94,
5717 95, 117, 118, 119, 120, 121, 122, 123, 124, 125,
5718 126, 127, 128, 129, 115, 116, 130, 131, 132, 134,
5719 135, 136, 140, 141, 78, 79, 101, 80, 81, 82,
5720 133, 86, 87, 76, 105, 106, 107, 77, 84, 85,
5721 99, 100, 102, 96, 97, 98, 83, 88, 89, 90,
5722 91, 92, 103, 114, 137, 218, 220, 224, 0, 0,
5723 0, 0, 215, 0, 203, 206, 207, 208, 209, 210,
5724 211, 212, 213, 214, 462, 464, 466, 621, 460, 468,
5725 0, 472, 474, 476, 470, 719, 459, 406, 407, 408,
5726 409, 410, 435, 436, 437, 438, 439, 440, 457, 425,
5727 426, 441, 442, 443, 444, 445, 446, 447, 448, 449,
5728 450, 451, 452, 453, 454, 455, 456, 458, 0, 403,
5729 413, 430, 431, 432, 414, 416, 417, 418, 419, 421,
5730 422, 423, 415, 411, 412, 433, 434, 420, 427, 428,
5731 429, 424, 659, 0, 658, 642, 643, 644, 645, 646,
5732 647, 648, 649, 650, 651, 652, 653, 654, 655, 638,
5733 639, 640, 641, 637, 0, 632, 635, 636, 656, 657,
5734 717, 703, 705, 707, 711, 709, 715, 713, 696, 690,
5735 694, 695, 0, 678, 679, 691, 692, 693, 687, 682,
5736 688, 684, 685, 686, 689, 683, 0, 574, 292, 0,
5737 578, 576, 581, 0, 570, 571, 0, 557, 558, 561,
5738 573, 562, 563, 564, 580, 565, 566, 567, 568, 569,
5739 612, 0, 0, 0, 619, 610, 611, 614, 615, 0,
5740 596, 597, 600, 601, 602, 603, 604, 605, 606, 609,
5741 607, 608, 371, 373, 368, 0, 365, 369, 370, 0,
5742 896, 0, 899, 0, 0, 903, 907, 894, 892, 893,
5743 0, 881, 884, 885, 886, 887, 888, 889, 890, 891,
5744 918, 0, 0, 913, 916, 917, 45, 50, 0, 37,
5745 43, 0, 64, 60, 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, 0, 0, 0, 0,
5751 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5752 0, 0, 0, 0, 0, 0, 58, 69, 66, 0,
5753 0, 0, 0, 0, 0, 0, 205, 217, 0, 0,
5754 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5755 405, 402, 0, 0, 634, 631, 0, 0, 0, 0,
5756 0, 0, 0, 0, 676, 681, 546, 0, 0, 0,
5757 0, 0, 0, 0, 555, 560, 0, 0, 0, 0,
5758 0, 594, 599, 0, 0, 367, 364, 0, 0, 0,
5759 0, 0, 0, 0, 0, 883, 880, 0, 0, 915,
5760 912, 49, 41, 0, 0, 0, 0, 0, 160, 161,
5761 162, 0, 0, 0, 199, 200, 0, 0, 0, 143,
5762 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
5763 154, 0, 194, 195, 163, 164, 165, 0, 0, 0,
5764 177, 178, 185, 186, 187, 188, 193, 0, 0, 0,
5765 157, 0, 0, 0, 0, 0, 478, 479, 480, 0,
5766 0, 0, 0, 0, 760, 0, 0, 0, 0, 0,
5767 0, 0, 196, 197, 198, 0, 0, 68, 0, 0,
5768 0, 228, 229, 230, 231, 204, 0, 0, 0, 0,
5769 0, 0, 481, 0, 0, 0, 0, 0, 404, 0,
5770 661, 633, 0, 0, 0, 0, 0, 0, 0, 0,
5771 680, 0, 0, 572, 0, 0, 0, 583, 559, 0,
5772 616, 617, 618, 0, 598, 0, 0, 366, 895, 0,
5773 898, 0, 901, 902, 0, 0, 882, 0, 920, 914,
5774 0, 0, 0, 0, 0, 698, 700, 702, 0, 0,
5775 249, 156, 168, 169, 170, 171, 172, 167, 174, 176,
5776 394, 547, 586, 159, 181, 182, 183, 184, 180, 484,
5777 38, 663, 665, 0, 0, 668, 356, 0, 0, 0,
5778 765, 0, 0, 190, 192, 0, 0, 51, 219, 222,
5779 223, 221, 226, 227, 225, 463, 465, 467, 623, 461,
5780 469, 473, 475, 477, 471, 0, 660, 718, 704, 706,
5781 708, 712, 710, 716, 714, 575, 293, 579, 577, 582,
5782 613, 620, 372, 374, 897, 900, 905, 906, 904, 908,
5783 249, 42, 0, 0, 0, 241, 243, 0, 236, 239,
5784 240, 283, 285, 287, 289, 0, 0, 0, 0, 0,
5785 0, 0, 0, 0, 0, 303, 0, 0, 310, 312,
5786 314, 316, 318, 319, 320, 321, 322, 323, 282, 0,
5787 256, 259, 260, 261, 262, 263, 264, 265, 266, 267,
5788 268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
5789 278, 279, 280, 281, 0, 254, 0, 250, 251, 399,
5790 0, 395, 396, 552, 0, 548, 549, 591, 0, 587,
5791 588, 489, 0, 485, 486, 335, 336, 337, 338, 339,
5792 0, 327, 330, 331, 332, 333, 334, 729, 0, 726,
5793 673, 0, 669, 670, 361, 0, 357, 358, 0, 0,
5794 0, 0, 0, 0, 0, 377, 380, 381, 382, 383,
5795 384, 385, 0, 0, 0, 350, 0, 342, 345, 346,
5796 347, 348, 349, 788, 793, 795, 0, 818, 0, 799,
5797 787, 780, 781, 782, 785, 786, 0, 772, 775, 776,
5798 777, 778, 783, 784, 779, 770, 0, 766, 767, 0,
5799 872, 0, 875, 868, 869, 0, 862, 865, 866, 867,
5800 870, 0, 926, 0, 923, 0, 0, 0, 0, 972,
5801 0, 965, 968, 969, 970, 971, 53, 628, 0, 624,
5802 625, 722, 0, 721, 0, 62, 910, 202, 0, 0,
5803 238, 235, 0, 0, 0, 0, 0, 0, 0, 0,
5804 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5805 0, 0, 0, 0, 258, 233, 246, 0, 248, 253,
5806 0, 393, 398, 556, 544, 551, 595, 585, 590, 0,
5807 483, 488, 329, 326, 731, 728, 725, 677, 667, 672,
5808 0, 355, 360, 0, 0, 0, 0, 0, 0, 379,
5809 376, 0, 0, 0, 344, 341, 0, 0, 0, 0,
5810 0, 0, 0, 774, 762, 0, 764, 769, 0, 0,
5811 0, 0, 864, 861, 878, 0, 925, 922, 0, 0,
5812 0, 0, 967, 964, 55, 0, 54, 0, 622, 627,
5813 0, 720, 919, 0, 0, 237, 0, 0, 0, 0,
5814 291, 294, 295, 296, 297, 298, 299, 300, 301, 302,
5815 0, 308, 309, 0, 0, 0, 0, 0, 257, 0,
5816 252, 0, 397, 0, 550, 0, 589, 542, 513, 514,
5817 515, 497, 498, 518, 519, 520, 521, 522, 523, 540,
5818 500, 501, 524, 525, 526, 527, 528, 529, 530, 531,
5819 532, 533, 534, 535, 536, 537, 538, 539, 541, 494,
5820 495, 496, 509, 510, 511, 512, 506, 507, 508, 0,
5821 491, 499, 516, 517, 502, 503, 504, 505, 487, 328,
5822 754, 756, 0, 0, 748, 749, 750, 751, 752, 753,
5823 741, 742, 746, 747, 743, 744, 745, 0, 732, 733,
5824 736, 737, 738, 739, 740, 727, 0, 671, 0, 359,
5825 386, 387, 388, 389, 390, 391, 378, 351, 352, 353,
5826 343, 0, 0, 0, 797, 0, 798, 0, 773, 0,
5827 768, 871, 0, 874, 0, 863, 941, 0, 939, 937,
5828 931, 935, 936, 0, 928, 933, 934, 932, 924, 973,
5829 974, 975, 976, 966, 52, 57, 0, 626, 0, 242,
5830 244, 284, 286, 288, 290, 305, 306, 307, 304, 311,
5831 313, 315, 317, 324, 255, 400, 553, 592, 493, 490,
5832 0, 0, 0, 0, 730, 735, 674, 362, 790, 791,
5833 792, 789, 794, 796, 0, 801, 771, 873, 876, 0,
5834 0, 0, 930, 927, 56, 629, 723, 492, 0, 0,
5835 758, 759, 734, 830, 833, 835, 837, 829, 828, 827,
5836 0, 820, 823, 824, 825, 826, 806, 0, 802, 803,
5837 0, 938, 0, 929, 755, 757, 0, 0, 0, 0,
5838 822, 819, 0, 800, 805, 0, 940, 0, 0, 0,
5839 0, 821, 816, 815, 811, 813, 814, 0, 808, 812,
5840 804, 946, 0, 943, 832, 831, 834, 836, 839, 0,
5841 810, 807, 0, 945, 942, 844, 0, 840, 841, 0,
5842 809, 956, 0, 0, 0, 961, 0, 948, 951, 952,
5843 953, 954, 955, 944, 0, 838, 843, 817, 0, 0,
5844 0, 0, 0, 950, 947, 856, 858, 855, 849, 851,
5845 853, 854, 0, 846, 850, 852, 842, 0, 958, 959,
5846 960, 0, 949, 0, 0, 848, 845, 957, 962, 0,
5851 Dhcp4Parser::yypgoto_[] =
5853 -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384,
5854 -1384, -1384, -1384, -1384, -1384, -59, -1384, -633, -1384, 534,
5855 -1384, -1384, -1384, -1384, -1384, -1384, -645, -1384, -1384, -1384,
5856 -67, -1384, -1384, -1384, -1384, -1384, -1384, -1384, 491, 732,
5857 16, 31, 33, -26, 84, 86, 87, 89, 91, 92,
5858 94, -1384, -1384, -1384, -1384, 97, -1384, -1384, 102, 104,
5859 -13, 13, 41, 51, -1384, -1384, 53, -1384, 56, -1384,
5860 59, 105, 64, -1384, -1384, 66, 69, 74, 76, 79,
5861 -1384, 81, -1384, 107, -1384, -1384, -1384, -1384, -1384, 43,
5862 -1384, -1384, -1384, 518, 721, -1384, -1384, -1384, -1384, -1384,
5863 -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384,
5864 -1384, -1384, -1384, -1384, 233, -1384, -1384, -1384, -1384, -1384,
5865 -1384, -1384, -1384, 441, -1384, 205, -1384, -743, 212, -1384,
5866 -1384, -1383, -1384, -1381, -1384, -1384, -1384, -1384, -63, -1384,
5867 -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384,
5868 -1384, -1384, -1384, -1384, -775, -1384, -774, -1384, -771, -1384,
5869 113, -1384, -1384, -1384, -1384, -1384, -1384, 200, -1384, -1384,
5870 -1384, -1384, -1384, -1384, -1384, -1384, 182, -1384, -1384, -1384,
5871 -1384, -1384, -1384, -1384, 186, -1384, -1384, -1384, 193, 693,
5872 -1384, -1384, -1384, -1384, -1384, -1384, -1384, 191, -1384, -1384,
5873 -1384, -1384, -1384, -1384, -1062, -1384, -1384, -1384, 220, -1384,
5874 -1384, -1384, 224, 733, -1384, -1384, -1384, -1384, -1384, -1384,
5875 -1384, -1384, -1060, -1384, -29, -1384, -18, -1384, -4, -1384,
5876 5, -1384, 110, 112, 115, -1384, -1384, -1384, -1384, -1384,
5877 214, -1384, -1384, -31, -60, -1384, -1384, -1384, -1384, -1384,
5878 226, -1384, -1384, -1384, 225, -1384, 719, -1384, -34, -1384,
5879 -1384, -1384, -1384, -1384, -27, -1384, -1384, -1384, -1384, -1384,
5880 -32, -1384, -1384, -1384, 227, -1384, -1384, -1384, 230, -1384,
5881 717, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384,
5882 -1384, -1384, -1384, -1384, -1384, 173, -1384, -1384, -1384, 181,
5883 743, -1384, -1384, -1384, -44, -1384, 3, -1384, -56, -1384,
5884 -1384, -1384, 222, -1384, -1384, -1384, 229, -1384, 738, -48,
5885 -1384, -7, -1384, 15, -1384, -1384, -1384, -1384, -1384, -1384,
5886 -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384,
5887 -1384, -1059, -1384, -1384, -1384, -1384, -1384, -1384, -1384, 235,
5888 -1384, -1384, -1384, -21, -1384, -1384, -1384, -1384, -1384, -1384,
5889 -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, 202, -1384,
5890 207, 204, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384,
5891 -1384, -1384, -1384, -1384, -1384, -68, -1384, -1384, -93, -1384,
5892 -1384, -1384, -1384, -1384, -58, -1384, -1384, -1384, -1384, -1384,
5893 -1384, -1384, -1384, -1384, -1384, -1384, -116, -1384, -1384, -141,
5894 -1384, -1384, -1384, -1384, -1384, -1384, -1384, 215, -1384, -1384,
5895 -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, 543, 731,
5896 -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384,
5897 -1384, -1384, -1384, -1384, -1384, -1384, -1384, 587, 736, -1384,
5898 -1384, -1384, -1384, -1384, -1384, 216, -1384, -1384, 0, -1384,
5899 -1384, -1384, -1384, -1384, -1384, -83, -1384, -1384, -104, -1384,
5900 -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, -1384, 231,
5901 -1384, -1384, -1384, -1384
5905 Dhcp4Parser::yydefgoto_[] =
5907 0, 14, 15, 16, 17, 18, 19, 20, 21, 22,
5908 23, 24, 25, 26, 27, 36, 37, 38, 65, 781,
5909 82, 83, 39, 64, 79, 80, 798, 1026, 1135, 1136,
5910 878, 41, 66, 85, 461, 86, 43, 67, 161, 162,
5911 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
5912 173, 174, 175, 490, 176, 177, 510, 178, 179, 180,
5913 181, 182, 183, 184, 496, 767, 185, 497, 186, 498,
5914 187, 188, 189, 511, 778, 190, 191, 192, 193, 194,
5915 529, 195, 530, 196, 197, 198, 199, 200, 201, 202,
5916 203, 204, 465, 243, 244, 45, 68, 245, 539, 246,
5917 540, 801, 247, 541, 804, 248, 249, 250, 251, 205,
5918 475, 206, 466, 847, 848, 849, 1038, 850, 1039, 207,
5919 476, 208, 477, 906, 907, 908, 1067, 879, 880, 881,
5920 1042, 882, 1043, 883, 1044, 884, 1045, 885, 886, 578,
5921 887, 888, 889, 890, 891, 892, 893, 894, 895, 896,
5922 1056, 1318, 897, 898, 899, 1059, 900, 1060, 901, 1061,
5923 902, 1062, 903, 1063, 209, 518, 930, 931, 932, 933,
5924 934, 935, 936, 210, 524, 966, 967, 968, 969, 970,
5925 211, 521, 945, 946, 947, 1090, 59, 75, 425, 426,
5926 427, 593, 428, 594, 212, 522, 954, 955, 956, 957,
5927 958, 959, 960, 961, 213, 506, 910, 911, 912, 1070,
5928 47, 69, 298, 299, 300, 552, 301, 548, 302, 549,
5929 303, 550, 304, 553, 305, 558, 306, 555, 307, 556,
5930 308, 557, 214, 215, 216, 312, 217, 512, 922, 923,
5931 924, 1079, 1219, 1220, 218, 507, 53, 72, 914, 915,
5932 916, 1073, 55, 73, 386, 387, 388, 389, 390, 391,
5933 392, 577, 393, 581, 394, 580, 395, 396, 582, 397,
5934 219, 508, 918, 919, 920, 1076, 57, 74, 409, 410,
5935 411, 412, 413, 586, 414, 415, 416, 417, 418, 419,
5936 590, 314, 551, 1028, 1029, 1030, 1137, 49, 70, 344,
5937 345, 346, 562, 347, 220, 513, 221, 514, 222, 520,
5938 941, 942, 943, 1087, 51, 71, 362, 363, 364, 223,
5939 470, 224, 471, 225, 472, 368, 567, 369, 568, 370,
5940 569, 371, 571, 372, 570, 373, 573, 374, 572, 375,
5941 566, 321, 559, 1032, 1033, 1140, 226, 519, 938, 939,
5942 1084, 1247, 1248, 1249, 1250, 1251, 1330, 1252, 1331, 1253,
5943 1254, 227, 228, 525, 229, 526, 996, 997, 998, 1115,
5944 986, 987, 988, 1106, 1341, 989, 1107, 990, 1108, 991,
5945 992, 993, 1112, 1377, 1378, 1379, 1392, 1407, 1408, 1409,
5946 1419, 994, 1110, 1370, 1371, 1372, 1386, 1415, 1373, 1387,
5947 1374, 1388, 1375, 1389, 1426, 1427, 1428, 1444, 1462, 1463,
5948 1464, 1473, 1465, 1474, 230, 527, 1005, 1006, 1007, 1008,
5949 1119, 1009, 1010, 1121, 231, 528, 61, 76, 440, 441,
5950 442, 443, 598, 444, 445, 600, 446, 447, 448, 603,
5951 838, 449, 604, 232, 464, 63, 77, 452, 453, 454,
5952 607, 455, 233, 534, 1013, 1014, 1125, 1293, 1294, 1295,
5953 1296, 1351, 1297, 1349, 1412, 1413, 1422, 1436, 1437, 1438,
5954 1448, 1439, 1440, 1441, 1442, 1452, 234, 535, 1020, 1021,
5955 1022, 1023, 1024, 1025
5959 Dhcp4Parser::yytable_[] =
5961 160, 242, 266, 324, 358, 78, 384, 405, 424, 437,
5962 385, 406, 376, 317, 981, 982, 904, 1210, 983, 1211,
5963 1227, 318, 836, 365, 252, 315, 348, 360, 462, 398,
5964 420, 780, 438, 463, 378, 422, 423, 313, 343, 359,
5965 407, 339, 29, 270, 30, 1082, 31, 408, 1083, 136,
5966 137, 40, 340, 42, 136, 137, 281, 325, 811, 812,
5967 813, 1458, 319, 1459, 366, 537, 341, 817, 422, 423,
5968 538, 253, 316, 349, 361, 342, 399, 421, 1085, 439,
5969 28, 1086, 282, 326, 320, 267, 367, 81, 831, 962,
5970 963, 964, 1458, 1126, 1459, 84, 1127, 235, 236, 130,
5971 268, 237, 269, 780, 238, 239, 240, 241, 450, 451,
5972 283, 327, 297, 613, 1423, 1402, 44, 1424, 458, 159,
5973 284, 328, 285, 329, 46, 286, 330, 48, 287, 331,
5974 93, 94, 95, 289, 332, 290, 333, 546, 291, 334,
5975 799, 800, 547, 292, 335, 293, 336, 560, 294, 337,
5976 295, 338, 561, 271, 564, 272, 273, 50, 274, 565,
5977 275, 276, 159, 277, 845, 846, 278, 159, 52, 136,
5978 137, 279, 595, 280, 288, 54, 296, 596, 1363, 309,
5979 605, 310, 609, 56, 311, 606, 456, 610, 93, 94,
5980 95, 96, 378, 400, 379, 380, 401, 402, 403, 537,
5981 609, 131, 58, 837, 1035, 1036, 136, 137, 1015, 1016,
5982 1017, 1018, 136, 137, 546, 762, 763, 764, 765, 1037,
5983 60, 404, 136, 137, 1040, 159, 101, 102, 103, 1041,
5984 62, 350, 999, 1000, 1001, 871, 872, 873, 874, 875,
5985 876, 351, 352, 353, 354, 355, 356, 357, 802, 803,
5986 925, 926, 927, 928, 766, 929, 1064, 457, 130, 131,
5987 378, 1065, 136, 137, 459, 460, 1210, 1431, 1211, 1227,
5988 1432, 1433, 1434, 1435, 32, 33, 34, 35, 378, 467,
5989 136, 137, 1002, 1064, 1099, 574, 1104, 87, 1066, 1100,
5990 88, 1105, 1230, 1231, 1232, 1233, 1113, 575, 136, 137,
5991 468, 1114, 89, 469, 473, 90, 91, 92, 93, 94,
5992 95, 96, 97, 98, 99, 100, 1364, 1365, 1366, 159,
5993 774, 775, 776, 777, 1169, 159, 948, 949, 950, 951,
5994 952, 953, 1122, 576, 474, 159, 478, 1123, 981, 982,
5995 981, 982, 983, 584, 983, 479, 101, 102, 103, 104,
5996 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
5997 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
5998 125, 126, 127, 128, 129, 159, 605, 1132, 130, 131,
5999 480, 1124, 1133, 377, 1064, 1286, 481, 1287, 1288, 1324,
6000 132, 133, 134, 159, 1315, 1316, 1317, 135, 611, 612,
6001 136, 137, 1338, 1339, 1340, 138, 139, 140, 141, 142,
6002 560, 159, 482, 483, 1328, 1325, 852, 853, 143, 1329,
6003 595, 1113, 1352, 585, 564, 1337, 1346, 1353, 144, 1355,
6004 1390, 145, 1420, 591, 484, 1391, 1453, 1421, 146, 147,
6005 1475, 1454, 485, 148, 149, 1476, 486, 378, 487, 379,
6006 380, 488, 489, 491, 381, 382, 383, 492, 493, 494,
6007 495, 499, 150, 500, 501, 502, 151, 136, 137, 503,
6008 160, 504, 624, 505, 509, 515, 516, 517, 523, 242,
6009 531, 152, 153, 154, 155, 156, 157, 532, 533, 536,
6010 542, 543, 544, 266, 545, 158, 554, 324, 563, 136,
6011 137, 579, 252, 583, 317, 587, 588, 589, 358, 592,
6012 618, 597, 318, 159, 599, 601, 315, 602, 384, 608,
6013 348, 614, 385, 615, 616, 405, 617, 365, 313, 406,
6014 619, 360, 343, 621, 270, 339, 622, 620, 437, 623,
6015 626, 398, 625, 359, 627, 628, 340, 281, 420, 253,
6016 629, 325, 630, 319, 631, 632, 1455, 1456, 407, 633,
6017 341, 438, 634, 316, 638, 408, 635, 349, 366, 342,
6018 636, 641, 637, 282, 640, 320, 267, 326, 361, 639,
6019 159, 647, 642, 643, 648, 649, 644, 645, 399, 646,
6020 367, 268, 650, 269, 651, 421, 652, 653, 654, 655,
6021 657, 283, 656, 297, 658, 327, 659, 660, 439, 661,
6022 662, 284, 159, 285, 663, 328, 286, 329, 664, 287,
6023 330, 665, 669, 331, 289, 666, 290, 667, 332, 291,
6024 333, 668, 670, 334, 292, 671, 293, 672, 335, 294,
6025 336, 295, 673, 337, 271, 338, 272, 273, 674, 274,
6026 675, 275, 276, 676, 277, 677, 678, 278, 679, 868,
6027 869, 870, 279, 1356, 280, 288, 680, 296, 136, 137,
6028 309, 681, 310, 685, 682, 311, 683, 686, 688, 684,
6029 689, 690, 696, 691, 160, 692, 242, 697, 693, 694,
6030 698, 841, 1, 2, 3, 4, 5, 6, 7, 8,
6031 9, 10, 11, 12, 13, 699, 700, 701, 703, 252,
6032 704, 705, 706, 702, 707, 709, 710, 712, 713, 714,
6033 715, 965, 980, 136, 137, 437, 716, 717, 718, 1019,
6034 719, 723, 721, 722, 724, 429, 430, 431, 432, 433,
6035 434, 435, 436, 725, 971, 984, 726, 1003, 438, 727,
6036 729, 733, 730, 735, 731, 736, 253, 91, 92, 93,
6037 94, 95, 96, 732, 738, 739, 740, 741, 973, 742,
6038 744, 743, 974, 975, 976, 977, 745, 747, 750, 839,
6039 748, 159, 978, 979, 751, 752, 753, 754, 755, 756,
6040 757, 972, 985, 758, 1004, 439, 759, 101, 102, 103,
6041 104, 105, 106, 107, 108, 109, 110, 111, 760, 761,
6042 768, 769, 116, 117, 118, 119, 120, 121, 122, 123,
6043 124, 125, 126, 127, 128, 770, 254, 255, 256, 771,
6044 131, 772, 773, 779, 30, 782, 159, 783, 784, 785,
6045 786, 790, 133, 134, 787, 788, 789, 791, 792, 257,
6046 793, 136, 137, 258, 259, 260, 138, 139, 140, 794,
6047 261, 262, 263, 795, 796, 797, 805, 264, 808, 143,
6048 840, 806, 807, 809, 810, 815, 814, 265, 816, 818,
6049 819, 820, 821, 905, 822, 823, 909, 824, 913, 917,
6050 825, 851, 852, 853, 854, 855, 856, 857, 858, 859,
6051 860, 861, 862, 863, 864, 865, 921, 826, 827, 866,
6052 867, 868, 869, 870, 871, 872, 873, 874, 875, 876,
6053 877, 828, 829, 937, 830, 832, 834, 835, 940, 944,
6054 995, 1012, 152, 153, 1027, 1031, 1046, 1047, 1048, 1049,
6055 1050, 1051, 1052, 1053, 1054, 1055, 1057, 1058, 1069, 1134,
6056 1068, 1072, 1071, 1074, 1075, 378, 1077, 1078, 1080, 1081,
6057 1089, 1088, 1093, 1092, 159, 1091, 1094, 1095, 1096, 1097,
6058 1098, 1101, 1102, 1103, 1109, 1111, 1117, 1139, 1116, 1118,
6059 1120, 1128, 1129, 1130, 1131, 1151, 1150, 1138, 1143, 1142,
6060 1141, 1144, 1146, 1147, 1148, 1149, 1152, 1153, 1154, 1160,
6061 1155, 1163, 1156, 266, 1164, 1157, 384, 1158, 1159, 405,
6062 385, 1161, 1177, 406, 317, 1165, 1209, 1234, 1166, 1162,
6063 358, 1239, 318, 424, 1240, 1167, 315, 1267, 1260, 398,
6064 1261, 1224, 420, 1262, 1263, 1222, 1244, 965, 313, 365,
6065 1242, 1271, 407, 360, 270, 1264, 980, 1221, 980, 408,
6066 1212, 1265, 1241, 1181, 1268, 359, 1269, 281, 1289, 1272,
6067 971, 1213, 1290, 319, 1273, 1019, 1192, 1274, 1275, 984,
6068 324, 984, 1225, 316, 1277, 1214, 399, 1245, 1003, 421,
6069 366, 1291, 1223, 282, 1215, 320, 267, 1243, 159, 1276,
6070 361, 1282, 1193, 348, 1226, 1178, 1281, 1283, 1284, 1246,
6071 1235, 268, 367, 269, 1299, 343, 1300, 972, 339, 1301,
6072 1179, 283, 1180, 297, 1302, 1236, 985, 1237, 985, 340,
6073 1194, 284, 1208, 285, 325, 1004, 286, 1238, 1292, 287,
6074 1195, 1304, 1196, 341, 289, 1197, 290, 1305, 1198, 291,
6075 349, 1308, 342, 1200, 292, 1201, 293, 1309, 1202, 294,
6076 326, 295, 1310, 1203, 271, 1204, 272, 273, 1205, 274,
6077 1206, 275, 276, 1182, 277, 1183, 1184, 278, 1185, 1326,
6078 1186, 1187, 279, 1188, 280, 288, 1189, 296, 327, 1327,
6079 309, 1190, 310, 1191, 1199, 311, 1207, 1332, 328, 1216,
6080 329, 1217, 1333, 330, 1218, 1334, 331, 1335, 1311, 1336,
6081 1344, 332, 1345, 333, 1350, 1358, 334, 1359, 1380, 1376,
6082 1382, 335, 1394, 336, 1393, 1395, 337, 1397, 338, 1398,
6083 1399, 1400, 1312, 1313, 1414, 1348, 1411, 1418, 1425, 1314,
6084 1319, 1320, 1429, 1321, 1449, 1323, 1342, 1445, 1343, 1347,
6085 1354, 1446, 842, 1384, 1360, 1361, 1381, 1385, 1450, 1396,
6086 1416, 1451, 1417, 1447, 1467, 1471, 1469, 1468, 1470, 1477,
6087 1478, 1177, 1479, 1480, 1482, 1209, 1483, 695, 1234, 687,
6088 833, 844, 1239, 1145, 1170, 1240, 1168, 1367, 1259, 1322,
6089 1224, 1034, 1229, 1258, 1222, 1289, 1270, 1244, 737, 1290,
6090 1266, 1242, 1172, 708, 1171, 1228, 1221, 1357, 1173, 1212,
6091 1368, 1174, 1181, 1241, 728, 1176, 1175, 711, 1291, 734,
6092 1213, 1257, 1307, 720, 1362, 1192, 1256, 1278, 1306, 1280,
6093 1255, 1225, 1279, 1367, 1214, 1403, 1410, 1430, 1245, 1404,
6094 1466, 1223, 1401, 1215, 1481, 1011, 746, 1285, 1243, 843,
6095 1443, 1193, 1298, 1226, 1178, 749, 1368, 1369, 1405, 1472,
6096 1246, 1235, 1383, 1403, 0, 1292, 0, 1404, 0, 1179,
6097 0, 1180, 0, 1303, 0, 0, 1236, 0, 1237, 1194,
6098 0, 1208, 0, 0, 0, 0, 1405, 1457, 1238, 1195,
6099 0, 1196, 0, 0, 1197, 0, 0, 1198, 0, 0,
6100 0, 0, 1200, 1369, 1201, 1406, 0, 1202, 0, 0,
6101 1460, 0, 1203, 0, 1204, 0, 0, 1205, 1457, 1206,
6102 0, 0, 1182, 0, 1183, 1184, 0, 1185, 0, 1186,
6103 1187, 0, 1188, 1406, 0, 1189, 0, 0, 0, 0,
6104 1190, 1460, 1191, 1199, 0, 1207, 0, 0, 1216, 0,
6105 1217, 0, 0, 1218, 0, 0, 0, 1461, 91, 92,
6106 93, 94, 95, 96, 0, 0, 0, 0, 0, 0,
6107 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
6108 0, 0, 0, 0, 0, 0, 0, 0, 1461, 0,
6109 0, 0, 0, 0, 0, 0, 0, 0, 101, 102,
6110 103, 104, 105, 106, 107, 108, 109, 110, 111, 0,
6111 0, 0, 0, 116, 117, 118, 119, 120, 121, 122,
6112 123, 124, 125, 126, 127, 128, 129, 0, 0, 0,
6113 0, 131, 378, 0, 0, 0, 0, 0, 0, 0,
6114 0, 0, 0, 133, 134, 0, 0, 0, 0, 0,
6115 0, 0, 136, 137, 0, 259, 0, 138, 139, 140,
6116 0, 261, 262, 263, 0, 0, 0, 0, 264, 0,
6117 0, 116, 117, 118, 119, 120, 121, 122, 265, 124,
6118 125, 126, 127, 0, 0, 0, 0, 0, 0, 131,
6119 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
6120 0, 0, 134, 0, 0, 0, 0, 0, 0, 322,
6121 136, 137, 0, 0, 0, 0, 0, 0, 0, 261,
6122 262, 263, 0, 0, 0, 0, 264, 323, 0, 0,
6123 0, 0, 0, 152, 153, 0, 0, 0, 0, 0,
6124 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
6125 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
6126 0, 0, 0, 0, 0, 159, 0, 0, 0, 0,
6127 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
6128 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
6129 0, 152, 153, 0, 0, 0, 0, 0, 0, 0,
6130 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
6131 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
6136 Dhcp4Parser::yycheck_[] =
6138 67, 68, 69, 70, 71, 64, 73, 74, 75, 76,
6139 73, 74, 72, 69, 789, 789, 759, 1079, 789, 1079,
6140 1079, 69, 18, 71, 68, 69, 70, 71, 3, 73,
6141 74, 664, 76, 8, 104, 153, 154, 69, 70, 71,
6142 74, 70, 5, 69, 7, 3, 9, 74, 6, 124,
6143 125, 7, 70, 7, 124, 125, 69, 70, 703, 704,
6144 705, 1444, 69, 1444, 71, 3, 70, 712, 153, 154,
6145 8, 68, 69, 70, 71, 70, 73, 74, 3, 76,
6146 0, 6, 69, 70, 69, 69, 71, 237, 733, 164,
6147 165, 166, 1475, 3, 1475, 10, 6, 15, 16, 102,
6148 69, 19, 69, 736, 22, 23, 24, 25, 12, 13,
6149 69, 70, 69, 237, 3, 185, 7, 6, 4, 237,
6150 69, 70, 69, 70, 7, 69, 70, 7, 69, 70,
6151 32, 33, 34, 69, 70, 69, 70, 3, 69, 70,
6152 17, 18, 8, 69, 70, 69, 70, 3, 69, 70,
6153 69, 70, 8, 69, 3, 69, 69, 7, 69, 8,
6154 69, 69, 237, 69, 27, 28, 69, 237, 7, 124,
6155 125, 69, 3, 69, 69, 7, 69, 8, 40, 69,
6156 3, 69, 3, 7, 69, 8, 6, 8, 32, 33,
6157 34, 35, 104, 105, 106, 107, 108, 109, 110, 3,
6158 3, 103, 7, 199, 8, 8, 124, 125, 220, 221,
6159 222, 223, 124, 125, 3, 201, 202, 203, 204, 8,
6160 7, 133, 124, 125, 3, 237, 70, 71, 72, 8,
6161 7, 133, 187, 188, 189, 63, 64, 65, 66, 67,
6162 68, 143, 144, 145, 146, 147, 148, 149, 20, 21,
6163 144, 145, 146, 147, 240, 149, 3, 3, 102, 103,
6164 104, 8, 124, 125, 8, 3, 1328, 212, 1328, 1328,
6165 215, 216, 217, 218, 237, 238, 239, 240, 104, 4,
6166 124, 125, 237, 3, 3, 8, 3, 11, 8, 8,
6167 14, 8, 136, 137, 138, 139, 3, 3, 124, 125,
6168 4, 8, 26, 4, 4, 29, 30, 31, 32, 33,
6169 34, 35, 36, 37, 38, 39, 178, 179, 180, 237,
6170 117, 118, 119, 120, 1067, 237, 156, 157, 158, 159,
6171 160, 161, 3, 8, 4, 237, 4, 8, 1113, 1113,
6172 1115, 1115, 1113, 8, 1115, 4, 70, 71, 72, 73,
6173 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
6174 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
6175 94, 95, 96, 97, 98, 237, 3, 3, 102, 103,
6176 4, 8, 8, 40, 3, 211, 4, 213, 214, 8,
6177 114, 115, 116, 237, 55, 56, 57, 121, 457, 458,
6178 124, 125, 170, 171, 172, 129, 130, 131, 132, 133,
6179 3, 237, 4, 4, 3, 8, 41, 42, 142, 8,
6180 3, 3, 3, 3, 3, 8, 8, 8, 152, 8,
6181 3, 155, 3, 8, 4, 8, 3, 8, 162, 163,
6182 3, 8, 4, 167, 168, 8, 4, 104, 4, 106,
6183 107, 4, 4, 4, 111, 112, 113, 4, 4, 4,
6184 4, 4, 186, 4, 4, 4, 190, 124, 125, 4,
6185 537, 4, 238, 4, 4, 4, 4, 4, 4, 546,
6186 4, 205, 206, 207, 208, 209, 210, 4, 4, 4,
6187 4, 4, 4, 560, 4, 219, 4, 564, 4, 124,
6188 125, 4, 546, 4, 560, 4, 4, 4, 575, 3,
6189 240, 4, 560, 237, 4, 4, 560, 4, 585, 4,
6190 564, 4, 585, 4, 4, 592, 4, 575, 560, 592,
6191 240, 575, 564, 4, 560, 564, 4, 240, 605, 4,
6192 4, 585, 240, 575, 4, 4, 564, 560, 592, 546,
6193 238, 564, 238, 560, 238, 238, 181, 182, 592, 238,
6194 564, 605, 240, 560, 238, 592, 239, 564, 575, 564,
6195 239, 4, 239, 560, 238, 560, 560, 564, 575, 239,
6196 237, 4, 238, 238, 4, 4, 240, 240, 585, 240,
6197 575, 560, 240, 560, 240, 592, 239, 238, 238, 238,
6198 4, 560, 240, 560, 4, 564, 4, 238, 605, 4,
6199 4, 560, 237, 560, 4, 564, 560, 564, 4, 560,
6200 564, 4, 4, 564, 560, 240, 560, 240, 564, 560,
6201 564, 240, 4, 564, 560, 4, 560, 4, 564, 560,
6202 564, 560, 4, 564, 560, 564, 560, 560, 238, 560,
6203 4, 560, 560, 4, 560, 4, 4, 560, 4, 60,
6204 61, 62, 560, 1308, 560, 560, 4, 560, 124, 125,
6205 560, 4, 560, 4, 240, 560, 240, 4, 4, 240,
6206 4, 4, 4, 240, 751, 240, 753, 4, 238, 238,
6207 4, 750, 224, 225, 226, 227, 228, 229, 230, 231,
6208 232, 233, 234, 235, 236, 4, 4, 4, 4, 753,
6209 4, 4, 4, 238, 4, 4, 238, 4, 4, 4,
6210 4, 788, 789, 124, 125, 792, 4, 4, 4, 796,
6211 4, 238, 4, 4, 4, 191, 192, 193, 194, 195,
6212 196, 197, 198, 4, 788, 789, 4, 791, 792, 240,
6213 4, 4, 240, 4, 240, 4, 753, 30, 31, 32,
6214 33, 34, 35, 240, 240, 4, 238, 4, 169, 238,
6215 4, 238, 173, 174, 175, 176, 4, 4, 4, 200,
6216 238, 237, 183, 184, 7, 7, 7, 7, 237, 237,
6217 237, 788, 789, 7, 791, 792, 7, 70, 71, 72,
6218 73, 74, 75, 76, 77, 78, 79, 80, 5, 237,
6219 237, 237, 85, 86, 87, 88, 89, 90, 91, 92,
6220 93, 94, 95, 96, 97, 5, 99, 100, 101, 5,
6221 103, 5, 237, 5, 7, 237, 237, 5, 5, 5,
6222 5, 5, 115, 116, 7, 7, 7, 7, 7, 122,
6223 237, 124, 125, 126, 127, 128, 129, 130, 131, 237,
6224 133, 134, 135, 5, 7, 5, 237, 140, 5, 142,
6225 5, 237, 237, 237, 237, 7, 237, 150, 237, 237,
6226 237, 237, 237, 7, 237, 237, 7, 237, 7, 7,
6227 237, 40, 41, 42, 43, 44, 45, 46, 47, 48,
6228 49, 50, 51, 52, 53, 54, 7, 237, 237, 58,
6229 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
6230 69, 237, 237, 7, 237, 237, 237, 237, 7, 7,
6231 7, 7, 205, 206, 7, 151, 4, 4, 4, 4,
6232 4, 4, 4, 4, 4, 4, 4, 4, 3, 237,
6233 6, 3, 6, 6, 3, 104, 6, 3, 6, 3,
6234 3, 6, 4, 3, 237, 6, 4, 4, 4, 4,
6235 4, 4, 4, 4, 4, 4, 3, 3, 6, 4,
6236 4, 4, 4, 4, 4, 240, 238, 6, 4, 6,
6237 8, 4, 4, 4, 4, 4, 238, 240, 238, 4,
6238 238, 4, 238, 1070, 4, 238, 1073, 238, 238, 1076,
6239 1073, 240, 1079, 1076, 1070, 4, 1079, 1084, 4, 238,
6240 1087, 1084, 1070, 1090, 1084, 4, 1070, 240, 238, 1073,
6241 238, 1079, 1076, 238, 238, 1079, 1084, 1104, 1070, 1087,
6242 1084, 4, 1076, 1087, 1070, 238, 1113, 1079, 1115, 1076,
6243 1079, 238, 1084, 1079, 238, 1087, 238, 1070, 1125, 4,
6244 1104, 1079, 1125, 1070, 4, 1132, 1079, 238, 4, 1113,
6245 1137, 1115, 1079, 1070, 4, 1079, 1073, 1084, 1122, 1076,
6246 1087, 1125, 1079, 1070, 1079, 1070, 1070, 1084, 237, 240,
6247 1087, 4, 1079, 1137, 1079, 1079, 240, 238, 4, 1084,
6248 1084, 1070, 1087, 1070, 240, 1137, 240, 1104, 1137, 240,
6249 1079, 1070, 1079, 1070, 240, 1084, 1113, 1084, 1115, 1137,
6250 1079, 1070, 1079, 1070, 1137, 1122, 1070, 1084, 1125, 1070,
6251 1079, 6, 1079, 1137, 1070, 1079, 1070, 3, 1079, 1070,
6252 1137, 4, 1137, 1079, 1070, 1079, 1070, 237, 1079, 1070,
6253 1137, 1070, 237, 1079, 1070, 1079, 1070, 1070, 1079, 1070,
6254 1079, 1070, 1070, 1079, 1070, 1079, 1079, 1070, 1079, 8,
6255 1079, 1079, 1070, 1079, 1070, 1070, 1079, 1070, 1137, 8,
6256 1070, 1079, 1070, 1079, 1079, 1070, 1079, 4, 1137, 1079,
6257 1137, 1079, 4, 1137, 1079, 8, 1137, 3, 237, 8,
6258 7, 1137, 5, 1137, 4, 4, 1137, 4, 4, 7,
6259 4, 1137, 3, 1137, 6, 5, 1137, 4, 1137, 4,
6260 4, 4, 237, 237, 177, 1284, 7, 5, 7, 237,
6261 237, 237, 4, 237, 4, 237, 237, 6, 237, 237,
6262 237, 3, 751, 237, 240, 240, 238, 237, 4, 237,
6263 237, 4, 237, 237, 4, 4, 238, 240, 238, 237,
6264 237, 1328, 4, 4, 237, 1328, 237, 546, 1335, 537,
6265 736, 753, 1335, 1040, 1069, 1335, 1064, 1344, 1092, 1166,
6266 1328, 840, 1082, 1090, 1328, 1352, 1104, 1335, 595, 1352,
6267 1099, 1335, 1072, 560, 1070, 1081, 1328, 1328, 1073, 1328,
6268 1344, 1075, 1328, 1335, 585, 1078, 1076, 564, 1352, 592,
6269 1328, 1089, 1139, 575, 1335, 1328, 1087, 1113, 1137, 1117,
6270 1085, 1328, 1115, 1390, 1328, 1392, 1394, 1420, 1335, 1392,
6271 1446, 1328, 1390, 1328, 1475, 792, 605, 1122, 1335, 752,
6272 1423, 1328, 1126, 1328, 1328, 609, 1390, 1344, 1392, 1453,
6273 1335, 1335, 1352, 1420, -1, 1352, -1, 1420, -1, 1328,
6274 -1, 1328, -1, 1132, -1, -1, 1335, -1, 1335, 1328,
6275 -1, 1328, -1, -1, -1, -1, 1420, 1444, 1335, 1328,
6276 -1, 1328, -1, -1, 1328, -1, -1, 1328, -1, -1,
6277 -1, -1, 1328, 1390, 1328, 1392, -1, 1328, -1, -1,
6278 1444, -1, 1328, -1, 1328, -1, -1, 1328, 1475, 1328,
6279 -1, -1, 1328, -1, 1328, 1328, -1, 1328, -1, 1328,
6280 1328, -1, 1328, 1420, -1, 1328, -1, -1, -1, -1,
6281 1328, 1475, 1328, 1328, -1, 1328, -1, -1, 1328, -1,
6282 1328, -1, -1, 1328, -1, -1, -1, 1444, 30, 31,
6283 32, 33, 34, 35, -1, -1, -1, -1, -1, -1,
6284 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6285 -1, -1, -1, -1, -1, -1, -1, -1, 1475, -1,
6286 -1, -1, -1, -1, -1, -1, -1, -1, 70, 71,
6287 72, 73, 74, 75, 76, 77, 78, 79, 80, -1,
6288 -1, -1, -1, 85, 86, 87, 88, 89, 90, 91,
6289 92, 93, 94, 95, 96, 97, 98, -1, -1, -1,
6290 -1, 103, 104, -1, -1, -1, -1, -1, -1, -1,
6291 -1, -1, -1, 115, 116, -1, -1, -1, -1, -1,
6292 -1, -1, 124, 125, -1, 127, -1, 129, 130, 131,
6293 -1, 133, 134, 135, -1, -1, -1, -1, 140, -1,
6294 -1, 85, 86, 87, 88, 89, 90, 91, 150, 93,
6295 94, 95, 96, -1, -1, -1, -1, -1, -1, 103,
6296 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6297 -1, -1, 116, -1, -1, -1, -1, -1, -1, 123,
6298 124, 125, -1, -1, -1, -1, -1, -1, -1, 133,
6299 134, 135, -1, -1, -1, -1, 140, 141, -1, -1,
6300 -1, -1, -1, 205, 206, -1, -1, -1, -1, -1,
6301 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6302 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6303 -1, -1, -1, -1, -1, 237, -1, -1, -1, -1,
6304 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6305 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6306 -1, 205, 206, -1, -1, -1, -1, -1, -1, -1,
6307 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6308 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6313 Dhcp4Parser::yystos_[] =
6315 0, 224, 225, 226, 227, 228, 229, 230, 231, 232,
6316 233, 234, 235, 236, 242, 243, 244, 245, 246, 247,
6317 248, 249, 250, 251, 252, 253, 254, 255, 0, 5,
6318 7, 9, 237, 238, 239, 240, 256, 257, 258, 263,
6319 7, 272, 7, 277, 7, 336, 7, 451, 7, 538,
6320 7, 555, 7, 487, 7, 493, 7, 517, 7, 427,
6321 7, 667, 7, 686, 264, 259, 273, 278, 337, 452,
6322 539, 556, 488, 494, 518, 428, 668, 687, 256, 265,
6323 266, 237, 261, 262, 10, 274, 276, 11, 14, 26,
6324 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
6325 39, 70, 71, 72, 73, 74, 75, 76, 77, 78,
6326 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
6327 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
6328 102, 103, 114, 115, 116, 121, 124, 125, 129, 130,
6329 131, 132, 133, 142, 152, 155, 162, 163, 167, 168,
6330 186, 190, 205, 206, 207, 208, 209, 210, 219, 237,
6331 271, 279, 280, 281, 282, 283, 284, 285, 286, 287,
6332 288, 289, 290, 291, 292, 293, 295, 296, 298, 299,
6333 300, 301, 302, 303, 304, 307, 309, 311, 312, 313,
6334 316, 317, 318, 319, 320, 322, 324, 325, 326, 327,
6335 328, 329, 330, 331, 332, 350, 352, 360, 362, 405,
6336 414, 421, 435, 445, 473, 474, 475, 477, 485, 511,
6337 545, 547, 549, 560, 562, 564, 587, 602, 603, 605,
6338 655, 665, 684, 693, 717, 15, 16, 19, 22, 23,
6339 24, 25, 271, 334, 335, 338, 340, 343, 346, 347,
6340 348, 349, 545, 547, 99, 100, 101, 122, 126, 127,
6341 128, 133, 134, 135, 140, 150, 271, 281, 282, 283,
6342 284, 285, 286, 287, 288, 289, 290, 291, 296, 299,
6343 300, 301, 302, 303, 304, 307, 309, 311, 312, 313,
6344 316, 317, 318, 319, 320, 322, 324, 330, 453, 454,
6345 455, 457, 459, 461, 463, 465, 467, 469, 471, 473,
6346 474, 475, 476, 511, 532, 545, 547, 549, 560, 562,
6347 564, 582, 123, 141, 271, 301, 302, 303, 304, 307,
6348 309, 311, 313, 316, 317, 318, 319, 320, 322, 465,
6349 467, 469, 471, 511, 540, 541, 542, 544, 545, 547,
6350 133, 143, 144, 145, 146, 147, 148, 149, 271, 511,
6351 545, 547, 557, 558, 559, 560, 562, 564, 566, 568,
6352 570, 572, 574, 576, 578, 580, 485, 40, 104, 106,
6353 107, 111, 112, 113, 271, 379, 495, 496, 497, 498,
6354 499, 500, 501, 503, 505, 507, 508, 510, 545, 547,
6355 105, 108, 109, 110, 133, 271, 379, 499, 505, 519,
6356 520, 521, 522, 523, 525, 526, 527, 528, 529, 530,
6357 545, 547, 153, 154, 271, 429, 430, 431, 433, 191,
6358 192, 193, 194, 195, 196, 197, 198, 271, 545, 547,
6359 669, 670, 671, 672, 674, 675, 677, 678, 679, 682,
6360 12, 13, 688, 689, 690, 692, 6, 3, 4, 8,
6361 3, 275, 3, 8, 685, 333, 353, 4, 4, 4,
6362 561, 563, 565, 4, 4, 351, 361, 363, 4, 4,
6363 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
6364 294, 4, 4, 4, 4, 4, 305, 308, 310, 4,
6365 4, 4, 4, 4, 4, 4, 446, 486, 512, 4,
6366 297, 314, 478, 546, 548, 4, 4, 4, 406, 588,
6367 550, 422, 436, 4, 415, 604, 606, 656, 666, 321,
6368 323, 4, 4, 4, 694, 718, 4, 3, 8, 339,
6369 341, 344, 4, 4, 4, 4, 3, 8, 458, 460,
6370 462, 533, 456, 464, 4, 468, 470, 472, 466, 583,
6371 3, 8, 543, 4, 3, 8, 581, 567, 569, 571,
6372 575, 573, 579, 577, 8, 3, 8, 502, 380, 4,
6373 506, 504, 509, 4, 8, 3, 524, 4, 4, 4,
6374 531, 8, 3, 432, 434, 3, 8, 4, 673, 4,
6375 676, 4, 4, 680, 683, 3, 8, 691, 4, 3,
6376 8, 256, 256, 237, 4, 4, 4, 4, 240, 240,
6377 240, 4, 4, 4, 238, 240, 4, 4, 4, 238,
6378 238, 238, 238, 238, 240, 239, 239, 239, 238, 239,
6379 238, 4, 238, 238, 240, 240, 240, 4, 4, 4,
6380 240, 240, 239, 238, 238, 238, 240, 4, 4, 4,
6381 238, 4, 4, 4, 4, 4, 240, 240, 240, 4,
6382 4, 4, 4, 4, 238, 4, 4, 4, 4, 4,
6383 4, 4, 240, 240, 240, 4, 4, 280, 4, 4,
6384 4, 240, 240, 238, 238, 335, 4, 4, 4, 4,
6385 4, 4, 238, 4, 4, 4, 4, 4, 454, 4,
6386 238, 541, 4, 4, 4, 4, 4, 4, 4, 4,
6387 559, 4, 4, 238, 4, 4, 4, 240, 497, 4,
6388 240, 240, 240, 4, 521, 4, 4, 430, 240, 4,
6389 238, 4, 238, 238, 4, 4, 670, 4, 238, 689,
6390 4, 7, 7, 7, 7, 237, 237, 237, 7, 7,
6391 5, 237, 201, 202, 203, 204, 240, 306, 237, 237,
6392 5, 5, 5, 237, 117, 118, 119, 120, 315, 5,
6393 258, 260, 237, 5, 5, 5, 5, 7, 7, 7,
6394 5, 7, 7, 237, 237, 5, 7, 5, 267, 17,
6395 18, 342, 20, 21, 345, 237, 237, 237, 5, 237,
6396 237, 267, 267, 267, 237, 7, 237, 267, 237, 237,
6397 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
6398 237, 267, 237, 260, 237, 237, 18, 199, 681, 200,
6399 5, 256, 279, 688, 334, 27, 28, 354, 355, 356,
6400 358, 40, 41, 42, 43, 44, 45, 46, 47, 48,
6401 49, 50, 51, 52, 53, 54, 58, 59, 60, 61,
6402 62, 63, 64, 65, 66, 67, 68, 69, 271, 368,
6403 369, 370, 372, 374, 376, 378, 379, 381, 382, 383,
6404 384, 385, 386, 387, 388, 389, 390, 393, 394, 395,
6405 397, 399, 401, 403, 368, 7, 364, 365, 366, 7,
6406 447, 448, 449, 7, 489, 490, 491, 7, 513, 514,
6407 515, 7, 479, 480, 481, 144, 145, 146, 147, 149,
6408 407, 408, 409, 410, 411, 412, 413, 7, 589, 590,
6409 7, 551, 552, 553, 7, 423, 424, 425, 156, 157,
6410 158, 159, 160, 161, 437, 438, 439, 440, 441, 442,
6411 443, 444, 164, 165, 166, 271, 416, 417, 418, 419,
6412 420, 545, 547, 169, 173, 174, 175, 176, 183, 184,
6413 271, 395, 397, 399, 545, 547, 611, 612, 613, 616,
6414 618, 620, 621, 622, 632, 7, 607, 608, 609, 187,
6415 188, 189, 237, 545, 547, 657, 658, 659, 660, 662,
6416 663, 669, 7, 695, 696, 220, 221, 222, 223, 271,
6417 719, 720, 721, 722, 723, 724, 268, 7, 534, 535,
6418 536, 151, 584, 585, 364, 8, 8, 8, 357, 359,
6419 3, 8, 371, 373, 375, 377, 4, 4, 4, 4,
6420 4, 4, 4, 4, 4, 4, 391, 4, 4, 396,
6421 398, 400, 402, 404, 3, 8, 8, 367, 6, 3,
6422 450, 6, 3, 492, 6, 3, 516, 6, 3, 482,
6423 6, 3, 3, 6, 591, 3, 6, 554, 6, 3,
6424 426, 6, 3, 4, 4, 4, 4, 4, 4, 3,
6425 8, 4, 4, 4, 3, 8, 614, 617, 619, 4,
6426 633, 4, 623, 3, 8, 610, 6, 3, 4, 661,
6427 4, 664, 3, 8, 8, 697, 3, 6, 4, 4,
6428 4, 4, 3, 8, 237, 269, 270, 537, 6, 3,
6429 586, 8, 6, 4, 4, 355, 4, 4, 4, 4,
6430 238, 240, 238, 240, 238, 238, 238, 238, 238, 238,
6431 4, 240, 238, 4, 4, 4, 4, 4, 369, 368,
6432 366, 453, 449, 495, 491, 519, 515, 271, 281, 282,
6433 283, 284, 285, 286, 287, 288, 289, 290, 291, 296,
6434 299, 300, 301, 302, 303, 304, 307, 309, 311, 312,
6435 313, 316, 317, 318, 319, 320, 322, 324, 330, 379,
6436 445, 463, 465, 467, 469, 471, 473, 474, 475, 483,
6437 484, 511, 545, 547, 560, 562, 564, 582, 481, 408,
6438 136, 137, 138, 139, 271, 281, 282, 283, 330, 379,
6439 485, 511, 545, 547, 560, 562, 564, 592, 593, 594,
6440 595, 596, 598, 600, 601, 590, 557, 553, 429, 425,
6441 238, 238, 238, 238, 238, 238, 438, 240, 238, 238,
6442 417, 4, 4, 4, 238, 4, 240, 4, 612, 611,
6443 609, 240, 4, 238, 4, 658, 211, 213, 214, 271,
6444 379, 545, 547, 698, 699, 700, 701, 703, 696, 240,
6445 240, 240, 240, 720, 6, 3, 540, 536, 4, 237,
6446 237, 237, 237, 237, 237, 55, 56, 57, 392, 237,
6447 237, 237, 401, 237, 8, 8, 8, 8, 3, 8,
6448 597, 599, 4, 4, 8, 3, 8, 8, 170, 171,
6449 172, 615, 237, 237, 7, 5, 8, 237, 256, 704,
6450 4, 702, 3, 8, 237, 8, 267, 484, 4, 4,
6451 240, 240, 594, 40, 178, 179, 180, 271, 545, 547,
6452 634, 635, 636, 639, 641, 643, 7, 624, 625, 626,
6453 4, 238, 4, 699, 237, 237, 637, 640, 642, 644,
6454 3, 8, 627, 6, 3, 5, 237, 4, 4, 4,
6455 4, 635, 185, 271, 379, 545, 547, 628, 629, 630,
6456 626, 7, 705, 706, 177, 638, 237, 237, 5, 631,
6457 3, 8, 707, 3, 6, 7, 645, 646, 647, 4,
6458 629, 212, 215, 216, 217, 218, 708, 709, 710, 712,
6459 713, 714, 715, 706, 648, 6, 3, 237, 711, 4,
6460 4, 4, 716, 3, 8, 181, 182, 271, 372, 374,
6461 545, 547, 649, 650, 651, 653, 647, 4, 240, 238,
6462 238, 4, 709, 652, 654, 3, 8, 237, 237, 4,
6467 Dhcp4Parser::yyr1_[] =
6469 0, 241, 243, 242, 244, 242, 245, 242, 246, 242,
6470 247, 242, 248, 242, 249, 242, 250, 242, 251, 242,
6471 252, 242, 253, 242, 254, 242, 255, 242, 256, 256,
6472 256, 256, 256, 256, 256, 257, 259, 258, 260, 261,
6473 261, 262, 262, 262, 264, 263, 265, 265, 266, 266,
6474 266, 268, 267, 269, 269, 270, 270, 270, 271, 273,
6475 272, 275, 274, 274, 276, 278, 277, 279, 279, 279,
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, 280, 280, 280, 280, 280, 280, 280,
6482 280, 280, 280, 280, 280, 280, 280, 280, 280, 280,
6483 280, 280, 280, 281, 282, 283, 284, 285, 286, 287,
6484 288, 289, 290, 291, 292, 294, 293, 295, 297, 296,
6485 298, 299, 300, 301, 302, 303, 305, 304, 306, 306,
6486 306, 306, 306, 308, 307, 310, 309, 311, 312, 314,
6487 313, 315, 315, 315, 315, 316, 317, 318, 319, 321,
6488 320, 323, 322, 324, 325, 326, 327, 328, 329, 330,
6489 331, 333, 332, 334, 334, 334, 335, 335, 335, 335,
6490 335, 335, 335, 335, 335, 335, 337, 336, 339, 338,
6491 341, 340, 342, 342, 344, 343, 345, 345, 346, 347,
6492 348, 349, 351, 350, 353, 352, 354, 354, 354, 355,
6493 355, 357, 356, 359, 358, 361, 360, 363, 362, 364,
6494 364, 365, 365, 365, 367, 366, 368, 368, 368, 369,
6495 369, 369, 369, 369, 369, 369, 369, 369, 369, 369,
6496 369, 369, 369, 369, 369, 369, 369, 369, 369, 369,
6497 369, 369, 369, 371, 370, 373, 372, 375, 374, 377,
6498 376, 378, 380, 379, 381, 382, 383, 384, 385, 386,
6499 387, 388, 389, 391, 390, 392, 392, 392, 393, 394,
6500 396, 395, 398, 397, 400, 399, 402, 401, 401, 401,
6501 401, 401, 401, 404, 403, 406, 405, 407, 407, 407,
6502 408, 408, 408, 408, 408, 409, 410, 411, 412, 413,
6503 415, 414, 416, 416, 416, 417, 417, 417, 417, 417,
6504 417, 418, 419, 420, 422, 421, 423, 423, 424, 424,
6505 424, 426, 425, 428, 427, 429, 429, 429, 429, 430,
6506 430, 432, 431, 434, 433, 436, 435, 437, 437, 437,
6507 438, 438, 438, 438, 438, 438, 439, 440, 441, 442,
6508 443, 444, 446, 445, 447, 447, 448, 448, 448, 450,
6509 449, 452, 451, 453, 453, 453, 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 454, 454, 454, 454, 454, 454, 454, 454, 454, 454,
6514 454, 454, 454, 454, 454, 454, 454, 454, 454, 454,
6515 456, 455, 458, 457, 460, 459, 462, 461, 464, 463,
6516 466, 465, 468, 467, 470, 469, 472, 471, 473, 474,
6517 475, 476, 478, 477, 479, 479, 480, 480, 480, 482,
6518 481, 483, 483, 483, 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, 484, 484, 484, 484, 484, 484, 484,
6522 484, 484, 484, 484, 484, 484, 484, 484, 484, 484,
6523 484, 484, 484, 486, 485, 488, 487, 489, 489, 490,
6524 490, 490, 492, 491, 494, 493, 495, 495, 496, 496,
6525 496, 497, 497, 497, 497, 497, 497, 497, 497, 497,
6526 497, 498, 499, 500, 502, 501, 504, 503, 506, 505,
6527 507, 509, 508, 510, 512, 511, 513, 513, 514, 514,
6528 514, 516, 515, 518, 517, 519, 519, 520, 520, 520,
6529 521, 521, 521, 521, 521, 521, 521, 521, 521, 521,
6530 521, 522, 524, 523, 525, 526, 527, 528, 529, 531,
6531 530, 533, 532, 534, 534, 535, 535, 535, 537, 536,
6532 539, 538, 540, 540, 540, 541, 541, 541, 541, 541,
6533 541, 541, 541, 541, 541, 541, 541, 541, 541, 541,
6534 541, 541, 541, 541, 541, 541, 541, 541, 541, 543,
6535 542, 544, 546, 545, 548, 547, 550, 549, 551, 551,
6536 552, 552, 552, 554, 553, 556, 555, 557, 557, 558,
6537 558, 558, 559, 559, 559, 559, 559, 559, 559, 559,
6538 559, 559, 559, 559, 559, 559, 559, 561, 560, 563,
6539 562, 565, 564, 567, 566, 569, 568, 571, 570, 573,
6540 572, 575, 574, 577, 576, 579, 578, 581, 580, 583,
6541 582, 584, 586, 585, 588, 587, 589, 589, 589, 591,
6542 590, 592, 592, 593, 593, 593, 594, 594, 594, 594,
6543 594, 594, 594, 594, 594, 594, 594, 594, 594, 594,
6544 594, 594, 594, 595, 597, 596, 599, 598, 600, 601,
6545 602, 604, 603, 606, 605, 607, 607, 608, 608, 608,
6546 610, 609, 611, 611, 611, 612, 612, 612, 612, 612,
6547 612, 612, 612, 612, 612, 612, 612, 612, 614, 613,
6548 615, 615, 615, 617, 616, 619, 618, 620, 621, 623,
6549 622, 624, 624, 625, 625, 625, 627, 626, 628, 628,
6550 628, 629, 629, 629, 629, 629, 631, 630, 633, 632,
6551 634, 634, 634, 635, 635, 635, 635, 635, 635, 635,
6552 637, 636, 638, 640, 639, 642, 641, 644, 643, 645,
6553 645, 646, 646, 646, 648, 647, 649, 649, 649, 650,
6554 650, 650, 650, 650, 650, 650, 652, 651, 654, 653,
6555 656, 655, 657, 657, 657, 658, 658, 658, 658, 658,
6556 658, 659, 661, 660, 662, 664, 663, 666, 665, 668,
6557 667, 669, 669, 669, 670, 670, 670, 670, 670, 670,
6558 670, 670, 670, 670, 670, 671, 673, 672, 674, 676,
6559 675, 677, 678, 680, 679, 681, 681, 683, 682, 685,
6560 684, 687, 686, 688, 688, 688, 689, 689, 691, 690,
6561 692, 694, 693, 695, 695, 695, 697, 696, 698, 698,
6562 698, 699, 699, 699, 699, 699, 699, 699, 700, 702,
6563 701, 704, 703, 705, 705, 705, 707, 706, 708, 708,
6564 708, 709, 709, 709, 709, 709, 711, 710, 712, 713,
6565 714, 716, 715, 718, 717, 719, 719, 719, 720, 720,
6566 720, 720, 720, 721, 722, 723, 724
6570 Dhcp4Parser::yyr2_[] =
6572 0, 2, 0, 3, 0, 3, 0, 3, 0, 3,
6573 0, 3, 0, 3, 0, 3, 0, 3, 0, 3,
6574 0, 3, 0, 3, 0, 3, 0, 3, 1, 1,
6575 1, 1, 1, 1, 1, 1, 0, 4, 1, 0,
6576 1, 3, 5, 2, 0, 4, 0, 1, 1, 3,
6577 2, 0, 4, 0, 1, 1, 3, 2, 2, 0,
6578 4, 0, 6, 1, 2, 0, 4, 1, 3, 2,
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, 1, 1, 1, 1, 1, 1, 1,
6585 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6586 1, 1, 1, 3, 3, 3, 3, 3, 3, 3,
6587 3, 3, 3, 3, 3, 0, 4, 3, 0, 4,
6588 3, 3, 3, 3, 3, 3, 0, 4, 1, 1,
6589 1, 1, 1, 0, 4, 0, 4, 3, 3, 0,
6590 4, 1, 1, 1, 1, 3, 3, 3, 3, 0,
6591 4, 0, 4, 3, 3, 3, 3, 3, 3, 3,
6592 3, 0, 6, 1, 3, 2, 1, 1, 1, 1,
6593 1, 1, 1, 1, 1, 1, 0, 4, 0, 4,
6594 0, 4, 1, 1, 0, 4, 1, 1, 3, 3,
6595 3, 3, 0, 6, 0, 6, 1, 3, 2, 1,
6596 1, 0, 4, 0, 4, 0, 6, 0, 6, 0,
6597 1, 1, 3, 2, 0, 4, 1, 3, 2, 1,
6598 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6599 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6600 1, 1, 1, 0, 4, 0, 4, 0, 4, 0,
6601 4, 3, 0, 4, 3, 3, 3, 3, 3, 3,
6602 3, 3, 3, 0, 4, 1, 1, 1, 3, 3,
6603 0, 4, 0, 4, 0, 4, 0, 4, 1, 1,
6604 1, 1, 1, 0, 4, 0, 6, 1, 3, 2,
6605 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6606 0, 6, 1, 3, 2, 1, 1, 1, 1, 1,
6607 1, 3, 3, 3, 0, 6, 0, 1, 1, 3,
6608 2, 0, 4, 0, 4, 1, 3, 2, 1, 1,
6609 1, 0, 4, 0, 4, 0, 6, 1, 3, 2,
6610 1, 1, 1, 1, 1, 1, 3, 3, 3, 3,
6611 3, 3, 0, 6, 0, 1, 1, 3, 2, 0,
6612 4, 0, 4, 1, 3, 2, 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 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6617 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6618 0, 4, 0, 4, 0, 4, 0, 4, 0, 4,
6619 0, 4, 0, 4, 0, 4, 0, 4, 3, 3,
6620 3, 3, 0, 6, 0, 1, 1, 3, 2, 0,
6621 4, 1, 3, 2, 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, 1, 1, 1, 1, 1, 1, 1,
6625 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6626 1, 1, 1, 0, 6, 0, 4, 0, 1, 1,
6627 3, 2, 0, 4, 0, 4, 0, 1, 1, 3,
6628 2, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6629 1, 1, 3, 1, 0, 4, 0, 4, 0, 4,
6630 1, 0, 4, 3, 0, 6, 0, 1, 1, 3,
6631 2, 0, 4, 0, 4, 0, 1, 1, 3, 2,
6632 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6633 1, 1, 0, 4, 1, 1, 3, 3, 3, 0,
6634 4, 0, 6, 0, 1, 1, 3, 2, 0, 4,
6635 0, 4, 1, 3, 2, 1, 1, 1, 1, 1,
6636 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6637 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
6638 4, 3, 0, 4, 0, 4, 0, 6, 0, 1,
6639 1, 3, 2, 0, 4, 0, 4, 0, 1, 1,
6640 3, 2, 1, 1, 1, 1, 1, 1, 1, 1,
6641 1, 1, 1, 1, 1, 1, 1, 0, 4, 0,
6642 4, 0, 4, 0, 4, 0, 4, 0, 4, 0,
6643 4, 0, 4, 0, 4, 0, 4, 0, 4, 0,
6644 6, 1, 0, 4, 0, 6, 1, 3, 2, 0,
6645 4, 0, 1, 1, 3, 2, 1, 1, 1, 1,
6646 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6647 1, 1, 1, 1, 0, 4, 0, 4, 3, 3,
6648 3, 0, 6, 0, 6, 0, 1, 1, 3, 2,
6649 0, 4, 1, 3, 2, 1, 1, 1, 1, 1,
6650 1, 1, 1, 1, 1, 1, 1, 1, 0, 4,
6651 1, 1, 1, 0, 4, 0, 4, 3, 3, 0,
6652 6, 0, 1, 1, 3, 2, 0, 4, 1, 3,
6653 2, 1, 1, 1, 1, 1, 0, 4, 0, 6,
6654 1, 3, 2, 1, 1, 1, 1, 1, 1, 1,
6655 0, 4, 1, 0, 4, 0, 4, 0, 6, 0,
6656 1, 1, 3, 2, 0, 4, 1, 3, 2, 1,
6657 1, 1, 1, 1, 1, 1, 0, 4, 0, 4,
6658 0, 6, 1, 3, 2, 1, 1, 1, 1, 1,
6659 1, 3, 0, 4, 3, 0, 4, 0, 6, 0,
6660 4, 1, 3, 2, 1, 1, 1, 1, 1, 1,
6661 1, 1, 1, 1, 1, 3, 0, 4, 3, 0,
6662 4, 3, 3, 0, 4, 1, 1, 0, 4, 0,
6663 6, 0, 4, 1, 3, 2, 1, 1, 0, 6,
6664 3, 0, 6, 1, 3, 2, 0, 4, 1, 3,
6665 2, 1, 1, 1, 1, 1, 1, 1, 3, 0,
6666 4, 0, 6, 1, 3, 2, 0, 4, 1, 3,
6667 2, 1, 1, 1, 1, 1, 0, 4, 3, 3,
6668 3, 0, 4, 0, 6, 1, 3, 2, 1, 1,
6673#if PARSER4_DEBUG || 1
6677 const Dhcp4Parser::yytname_[] =
6679 "\"end of file\"",
"error",
"\"invalid token\"",
"\",\"",
"\":\"",
6680 "\"[\"",
"\"]\"",
"\"{\"",
"\"}\"",
"\"null\"",
"\"Dhcp4\"",
6681 "\"config-control\"",
"\"config-databases\"",
6682 "\"config-fetch-wait-time\"",
"\"interfaces-config\"",
"\"interfaces\"",
6683 "\"dhcp-socket-type\"",
"\"raw\"",
"\"udp\"",
"\"outbound-interface\"",
6684 "\"same-as-inbound\"",
"\"use-routing\"",
"\"re-detect\"",
6685 "\"service-sockets-require-all\"",
"\"service-sockets-retry-wait-time\"",
6686 "\"service-sockets-max-retries\"",
"\"sanity-checks\"",
6687 "\"lease-checks\"",
"\"extended-info-checks\"",
"\"echo-client-id\"",
6688 "\"match-client-id\"",
"\"authoritative\"",
"\"next-server\"",
6689 "\"server-hostname\"",
"\"boot-file-name\"",
"\"offer-lifetime\"",
6690 "\"stash-agent-options\"",
"\"lease-database\"",
"\"hosts-database\"",
6691 "\"hosts-databases\"",
"\"type\"",
"\"user\"",
"\"password\"",
6692 "\"host\"",
"\"port\"",
"\"persist\"",
"\"lfc-interval\"",
6693 "\"readonly\"",
"\"connect-timeout\"",
"\"read-timeout\"",
6694 "\"write-timeout\"",
"\"tcp-user-timeout\"",
"\"max-reconnect-tries\"",
6695 "\"reconnect-wait-time\"",
"\"on-fail\"",
"\"stop-retry-exit\"",
6696 "\"serve-retry-exit\"",
"\"serve-retry-continue\"",
6697 "\"retry-on-startup\"",
"\"max-row-errors\"",
"\"trust-anchor\"",
6698 "\"cert-file\"",
"\"key-file\"",
"\"ssl-mode\"",
"\"disable\"",
6699 "\"prefer\"",
"\"require\"",
"\"verify-ca\"",
"\"verify-full\"",
6700 "\"cipher-list\"",
"\"valid-lifetime\"",
"\"min-valid-lifetime\"",
6701 "\"max-valid-lifetime\"",
"\"renew-timer\"",
"\"rebind-timer\"",
6702 "\"calculate-tee-times\"",
"\"t1-percent\"",
"\"t2-percent\"",
6703 "\"cache-threshold\"",
"\"cache-max-age\"",
6704 "\"adaptive-lease-time-threshold\"",
"\"decline-probation-period\"",
6705 "\"server-tag\"",
"\"statistic-default-sample-count\"",
6706 "\"statistic-default-sample-age\"",
"\"ddns-send-updates\"",
6707 "\"ddns-override-no-update\"",
"\"ddns-override-client-update\"",
6708 "\"ddns-replace-client-name\"",
"\"ddns-generated-prefix\"",
6709 "\"ddns-qualifying-suffix\"",
"\"ddns-update-on-renew\"",
6710 "\"ddns-use-conflict-resolution\"",
"\"ddns-ttl-percent\"",
6711 "\"ddns-ttl\"",
"\"ddns-ttl-min\"",
"\"ddns-ttl-mix\"",
6712 "\"store-extended-info\"",
"\"subnet4\"",
"\"4o6-interface\"",
6713 "\"4o6-interface-id\"",
"\"4o6-subnet\"",
"\"option-def\"",
6714 "\"option-data\"",
"\"name\"",
"\"data\"",
"\"code\"",
"\"space\"",
6715 "\"csv-format\"",
"\"always-send\"",
"\"never-send\"",
6716 "\"record-types\"",
"\"encapsulate\"",
"\"array\"",
6717 "\"parked-packet-limit\"",
"\"allocator\"",
6718 "\"ddns-conflict-resolution-mode\"",
"\"check-with-dhcid\"",
6719 "\"no-check-with-dhcid\"",
"\"check-exists-with-dhcid\"",
6720 "\"no-check-without-dhcid\"",
"\"shared-networks\"",
"\"pools\"",
6721 "\"pool\"",
"\"user-context\"",
"\"comment\"",
"\"subnet\"",
6722 "\"interface\"",
"\"id\"",
"\"reservations-global\"",
6723 "\"reservations-in-subnet\"",
"\"reservations-out-of-pool\"",
6724 "\"host-reservation-identifiers\"",
"\"client-classes\"",
6725 "\"require-client-classes\"",
"\"evaluate-additional-classes\"",
6726 "\"test\"",
"\"template-test\"",
"\"only-if-required\"",
6727 "\"only-in-additional-list\"",
"\"client-class\"",
"\"pool-id\"",
6728 "\"reservations\"",
"\"ip-address\"",
"\"duid\"",
"\"hw-address\"",
6729 "\"circuit-id\"",
"\"client-id\"",
"\"hostname\"",
"\"flex-id\"",
6730 "\"relay\"",
"\"ip-addresses\"",
"\"hooks-libraries\"",
"\"library\"",
6731 "\"parameters\"",
"\"expired-leases-processing\"",
6732 "\"reclaim-timer-wait-time\"",
"\"flush-reclaimed-timer-wait-time\"",
6733 "\"hold-reclaimed-time\"",
"\"max-reclaim-leases\"",
6734 "\"max-reclaim-time\"",
"\"unwarned-reclaim-cycles\"",
6735 "\"dhcp4o6-port\"",
"\"multi-threading\"",
"\"enable-multi-threading\"",
6736 "\"thread-pool-size\"",
"\"packet-queue-size\"",
"\"control-socket\"",
6737 "\"control-sockets\"",
"\"socket-type\"",
"\"unix\"",
"\"http\"",
6738 "\"https\"",
"\"socket-name\"",
"\"socket-address\"",
"\"socket-port\"",
6739 "\"authentication\"",
"\"basic\"",
"\"realm\"",
"\"directory\"",
6740 "\"clients\"",
"\"user-file\"",
"\"password-file\"",
"\"cert-required\"",
6741 "\"http-headers\"",
"\"value\"",
"\"dhcp-queue-control\"",
6742 "\"enable-queue\"",
"\"queue-type\"",
"\"capacity\"",
"\"dhcp-ddns\"",
6743 "\"enable-updates\"",
"\"server-ip\"",
"\"server-port\"",
6744 "\"sender-ip\"",
"\"sender-port\"",
"\"max-queue-size\"",
6745 "\"ncr-protocol\"",
"\"ncr-format\"",
"\"tcp\"",
"\"JSON\"",
6746 "\"when-present\"",
"\"never\"",
"\"always\"",
"\"when-not-present\"",
6747 "\"hostname-char-set\"",
"\"hostname-char-replacement\"",
6748 "\"early-global-reservations-lookup\"",
"\"ip-reservations-unique\"",
6749 "\"reservations-lookup-first\"",
"\"loggers\"",
"\"output-options\"",
6750 "\"output\"",
"\"debuglevel\"",
"\"severity\"",
"\"flush\"",
6751 "\"maxsize\"",
"\"maxver\"",
"\"pattern\"",
"\"compatibility\"",
6752 "\"lenient-option-parsing\"",
"\"ignore-dhcp-server-identifier\"",
6753 "\"ignore-rai-link-selection\"",
"\"exclude-first-last-24\"",
6754 "TOPLEVEL_JSON",
"TOPLEVEL_DHCP4",
"SUB_DHCP4",
"SUB_INTERFACES4",
6755 "SUB_SUBNET4",
"SUB_POOL4",
"SUB_RESERVATION",
"SUB_OPTION_DEFS",
6756 "SUB_OPTION_DEF",
"SUB_OPTION_DATA",
"SUB_HOOKS_LIBRARY",
6757 "SUB_DHCP_DDNS",
"SUB_CONFIG_CONTROL",
"\"constant string\"",
6758 "\"integer\"",
"\"floating point\"",
"\"boolean\"",
"$accept",
"start",
6759 "$@1",
"$@2",
"$@3",
"$@4",
"$@5",
"$@6",
"$@7",
"$@8",
"$@9",
"$@10",
6760 "$@11",
"$@12",
"$@13",
"value",
"sub_json",
"map2",
"$@14",
"map_value",
6761 "map_content",
"not_empty_map",
"list_generic",
"$@15",
"list_content",
6762 "not_empty_list",
"list_strings",
"$@16",
"list_strings_content",
6763 "not_empty_list_strings",
"unknown_map_entry",
"syntax_map",
"$@17",
6764 "global_object",
"$@18",
"global_object_comma",
"sub_dhcp4",
"$@19",
6765 "global_params",
"global_param",
"valid_lifetime",
"min_valid_lifetime",
6766 "max_valid_lifetime",
"renew_timer",
"rebind_timer",
6767 "calculate_tee_times",
"t1_percent",
"t2_percent",
"cache_threshold",
6768 "cache_max_age",
"adaptive_lease_time_threshold",
6769 "decline_probation_period",
"server_tag",
"$@20",
"parked_packet_limit",
6770 "allocator",
"$@21",
"echo_client_id",
"match_client_id",
6771 "authoritative",
"ddns_send_updates",
"ddns_override_no_update",
6772 "ddns_override_client_update",
"ddns_replace_client_name",
"$@22",
6773 "ddns_replace_client_name_value",
"ddns_generated_prefix",
"$@23",
6774 "ddns_qualifying_suffix",
"$@24",
"ddns_update_on_renew",
6775 "ddns_use_conflict_resolution",
"ddns_conflict_resolution_mode",
"$@25",
6776 "ddns_conflict_resolution_mode_value",
"ddns_ttl_percent",
"ddns_ttl",
6777 "ddns_ttl_min",
"ddns_ttl_max",
"hostname_char_set",
"$@26",
6778 "hostname_char_replacement",
"$@27",
"store_extended_info",
6779 "statistic_default_sample_count",
"statistic_default_sample_age",
6780 "early_global_reservations_lookup",
"ip_reservations_unique",
6781 "reservations_lookup_first",
"offer_lifetime",
"stash_agent_options",
6782 "interfaces_config",
"$@28",
"interfaces_config_params",
6783 "interfaces_config_param",
"sub_interfaces4",
"$@29",
"interfaces_list",
6784 "$@30",
"dhcp_socket_type",
"$@31",
"socket_type",
"outbound_interface",
6785 "$@32",
"outbound_interface_value",
"re_detect",
6786 "service_sockets_require_all",
"service_sockets_retry_wait_time",
6787 "service_sockets_max_retries",
"lease_database",
"$@33",
"sanity_checks",
6788 "$@34",
"sanity_checks_params",
"sanity_checks_param",
"lease_checks",
6789 "$@35",
"extended_info_checks",
"$@36",
"hosts_database",
"$@37",
6790 "hosts_databases",
"$@38",
"database_list",
"not_empty_database_list",
6791 "database",
"$@39",
"database_map_params",
"database_map_param",
6792 "database_type",
"$@40",
"user",
"$@41",
"password",
"$@42",
"host",
6793 "$@43",
"port",
"name",
"$@44",
"persist",
"lfc_interval",
"readonly",
6794 "connect_timeout",
"read_timeout",
"write_timeout",
"tcp_user_timeout",
6795 "max_reconnect_tries",
"reconnect_wait_time",
"on_fail",
"$@45",
6796 "on_fail_mode",
"retry_on_startup",
"max_row_errors",
"trust_anchor",
6797 "$@46",
"cert_file",
"$@47",
"key_file",
"$@48",
"ssl_mode",
"$@49",
6798 "cipher_list",
"$@50",
"host_reservation_identifiers",
"$@51",
6799 "host_reservation_identifiers_list",
"host_reservation_identifier",
6800 "duid_id",
"hw_address_id",
"circuit_id",
"client_id",
"flex_id",
6801 "dhcp_multi_threading",
"$@52",
"multi_threading_params",
6802 "multi_threading_param",
"enable_multi_threading",
"thread_pool_size",
6803 "packet_queue_size",
"hooks_libraries",
"$@53",
"hooks_libraries_list",
6804 "not_empty_hooks_libraries_list",
"hooks_library",
"$@54",
6805 "sub_hooks_library",
"$@55",
"hooks_params",
"hooks_param",
"library",
6806 "$@56",
"parameters",
"$@57",
"expired_leases_processing",
"$@58",
6807 "expired_leases_params",
"expired_leases_param",
6808 "reclaim_timer_wait_time",
"flush_reclaimed_timer_wait_time",
6809 "hold_reclaimed_time",
"max_reclaim_leases",
"max_reclaim_time",
6810 "unwarned_reclaim_cycles",
"subnet4_list",
"$@59",
6811 "subnet4_list_content",
"not_empty_subnet4_list",
"subnet4",
"$@60",
6812 "sub_subnet4",
"$@61",
"subnet4_params",
"subnet4_param",
"subnet",
6813 "$@62",
"subnet_4o6_interface",
"$@63",
"subnet_4o6_interface_id",
6814 "$@64",
"subnet_4o6_subnet",
"$@65",
"interface",
"$@66",
"client_class",
6815 "$@67",
"network_client_classes",
"$@68",
"require_client_classes",
6816 "$@69",
"evaluate_additional_classes",
"$@70",
"reservations_global",
6817 "reservations_in_subnet",
"reservations_out_of_pool",
"id",
6818 "shared_networks",
"$@71",
"shared_networks_content",
6819 "shared_networks_list",
"shared_network",
"$@72",
6820 "shared_network_params",
"shared_network_param",
"option_def_list",
6821 "$@73",
"sub_option_def_list",
"$@74",
"option_def_list_content",
6822 "not_empty_option_def_list",
"option_def_entry",
"$@75",
6823 "sub_option_def",
"$@76",
"option_def_params",
6824 "not_empty_option_def_params",
"option_def_param",
"option_def_name",
6825 "code",
"option_def_code",
"option_def_type",
"$@77",
6826 "option_def_record_types",
"$@78",
"space",
"$@79",
"option_def_space",
6827 "option_def_encapsulate",
"$@80",
"option_def_array",
"option_data_list",
6828 "$@81",
"option_data_list_content",
"not_empty_option_data_list",
6829 "option_data_entry",
"$@82",
"sub_option_data",
"$@83",
6830 "option_data_params",
"not_empty_option_data_params",
6831 "option_data_param",
"option_data_name",
"option_data_data",
"$@84",
6832 "option_data_code",
"option_data_space",
"option_data_csv_format",
6833 "option_data_always_send",
"option_data_never_send",
6834 "option_data_client_classes",
"$@85",
"pools_list",
"$@86",
6835 "pools_list_content",
"not_empty_pools_list",
"pool_list_entry",
"$@87",
6836 "sub_pool4",
"$@88",
"pool_params",
"pool_param",
"pool_entry",
"$@89",
6837 "pool_id",
"user_context",
"$@90",
"comment",
"$@91",
"reservations",
6838 "$@92",
"reservations_list",
"not_empty_reservations_list",
6839 "reservation",
"$@93",
"sub_reservation",
"$@94",
"reservation_params",
6840 "not_empty_reservation_params",
"reservation_param",
"next_server",
6841 "$@95",
"server_hostname",
"$@96",
"boot_file_name",
"$@97",
6842 "ip_address",
"$@98",
"duid",
"$@99",
"hw_address",
"$@100",
6843 "client_id_value",
"$@101",
"circuit_id_value",
"$@102",
"flex_id_value",
6844 "$@103",
"hostname",
"$@104",
"reservation_client_classes",
"$@105",
6845 "relay",
"$@106",
"relay_map",
"ip_addresses",
"$@107",
"client_classes",
6846 "$@108",
"client_classes_list",
"client_class_entry",
"$@109",
6847 "client_class_params",
"not_empty_client_class_params",
6848 "client_class_param",
"client_class_name",
"client_class_test",
"$@110",
6849 "client_class_template_test",
"$@111",
"only_if_required",
6850 "only_in_additional_list",
"dhcp4o6_port",
"control_socket",
"$@112",
6851 "control_sockets",
"$@113",
"control_socket_list",
6852 "not_empty_control_socket_list",
"control_socket_entry",
"$@114",
6853 "control_socket_params",
"control_socket_param",
"control_socket_type",
6854 "$@115",
"control_socket_type_value",
"control_socket_name",
"$@116",
6855 "control_socket_address",
"$@117",
"control_socket_port",
6856 "cert_required",
"http_headers",
"$@118",
"http_header_list",
6857 "not_empty_http_header_list",
"http_header",
"$@119",
6858 "http_header_params",
"http_header_param",
"header_value",
"$@120",
6859 "authentication",
"$@121",
"auth_params",
"auth_param",
"auth_type",
6860 "$@122",
"auth_type_value",
"realm",
"$@123",
"directory",
"$@124",
6861 "clients",
"$@125",
"clients_list",
"not_empty_clients_list",
6862 "basic_auth",
"$@126",
"clients_params",
"clients_param",
"user_file",
6863 "$@127",
"password_file",
"$@128",
"dhcp_queue_control",
"$@129",
6864 "queue_control_params",
"queue_control_param",
"enable_queue",
6865 "queue_type",
"$@130",
"capacity",
"arbitrary_map_entry",
"$@131",
6866 "dhcp_ddns",
"$@132",
"sub_dhcp_ddns",
"$@133",
"dhcp_ddns_params",
6867 "dhcp_ddns_param",
"enable_updates",
"server_ip",
"$@134",
"server_port",
6868 "sender_ip",
"$@135",
"sender_port",
"max_queue_size",
"ncr_protocol",
6869 "$@136",
"ncr_protocol_value",
"ncr_format",
"$@137",
"config_control",
6870 "$@138",
"sub_config_control",
"$@139",
"config_control_params",
6871 "config_control_param",
"config_databases",
"$@140",
6872 "config_fetch_wait_time",
"loggers",
"$@141",
"loggers_entries",
6873 "logger_entry",
"$@142",
"logger_params",
"logger_param",
"debuglevel",
6874 "severity",
"$@143",
"output_options_list",
"$@144",
6875 "output_options_list_content",
"output_entry",
"$@145",
6876 "output_params_list",
"output_params",
"output",
"$@146",
"flush",
6877 "maxsize",
"maxver",
"pattern",
"$@147",
"compatibility",
"$@148",
6878 "compatibility_params",
"compatibility_param",
"lenient_option_parsing",
6879 "ignore_dhcp_server_identifier",
"ignore_rai_link_selection",
6880 "exclude_first_last_24", YY_NULLPTR
6887 Dhcp4Parser::yyrline_[] =
6889 0, 337, 337, 337, 338, 338, 339, 339, 340, 340,
6890 341, 341, 342, 342, 343, 343, 344, 344, 345, 345,
6891 346, 346, 347, 347, 348, 348, 349, 349, 357, 358,
6892 359, 360, 361, 362, 363, 366, 371, 371, 382, 385,
6893 386, 389, 394, 400, 405, 405, 412, 413, 416, 420,
6894 424, 430, 430, 437, 438, 441, 445, 449, 459, 468,
6895 468, 483, 483, 497, 500, 506, 506, 515, 516, 517,
6896 524, 525, 526, 527, 528, 529, 530, 531, 532, 533,
6897 534, 535, 536, 537, 538, 539, 540, 541, 542, 543,
6898 544, 545, 546, 547, 548, 549, 550, 551, 552, 553,
6899 554, 555, 556, 557, 558, 559, 560, 561, 562, 563,
6900 564, 565, 566, 567, 568, 569, 570, 571, 572, 573,
6901 574, 575, 576, 577, 578, 579, 580, 581, 582, 583,
6902 584, 585, 586, 587, 588, 589, 590, 591, 592, 593,
6903 594, 595, 596, 599, 605, 611, 617, 623, 629, 635,
6904 641, 647, 653, 659, 665, 671, 671, 680, 686, 686,
6905 695, 701, 707, 713, 719, 725, 731, 731, 740, 743,
6906 746, 749, 752, 758, 758, 767, 767, 776, 785, 795,
6907 795, 804, 807, 810, 813, 818, 824, 830, 836, 842,
6908 842, 851, 851, 860, 866, 872, 878, 884, 890, 896,
6909 902, 908, 908, 920, 921, 922, 927, 928, 929, 930,
6910 931, 932, 933, 934, 935, 936, 939, 939, 948, 948,
6911 959, 959, 967, 968, 971, 971, 979, 981, 985, 991,
6912 997, 1003, 1009, 1009, 1022, 1022, 1033, 1034, 1035, 1040,
6913 1041, 1044, 1044, 1063, 1063, 1081, 1081, 1094, 1094, 1105,
6914 1106, 1109, 1110, 1111, 1116, 1116, 1126, 1127, 1128, 1133,
6915 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143,
6916 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151, 1152, 1153,
6917 1154, 1155, 1156, 1159, 1159, 1168, 1168, 1177, 1177, 1186,
6918 1186, 1195, 1201, 1201, 1210, 1216, 1222, 1228, 1234, 1240,
6919 1246, 1252, 1258, 1264, 1264, 1272, 1273, 1274, 1277, 1283,
6920 1289, 1289, 1298, 1298, 1307, 1307, 1316, 1316, 1324, 1327,
6921 1330, 1333, 1336, 1341, 1341, 1350, 1350, 1361, 1362, 1363,
6922 1368, 1369, 1370, 1371, 1372, 1375, 1380, 1385, 1390, 1395,
6923 1402, 1402, 1415, 1416, 1417, 1422, 1423, 1424, 1425, 1426,
6924 1427, 1430, 1436, 1442, 1448, 1448, 1459, 1460, 1463, 1464,
6925 1465, 1470, 1470, 1480, 1480, 1490, 1491, 1492, 1495, 1498,
6926 1499, 1502, 1502, 1511, 1511, 1520, 1520, 1532, 1533, 1534,
6927 1539, 1540, 1541, 1542, 1543, 1544, 1547, 1553, 1559, 1565,
6928 1571, 1577, 1586, 1586, 1600, 1601, 1604, 1605, 1606, 1615,
6929 1615, 1641, 1641, 1652, 1653, 1654, 1660, 1661, 1662, 1663,
6930 1664, 1665, 1666, 1667, 1668, 1669, 1670, 1671, 1672, 1673,
6931 1674, 1675, 1676, 1677, 1678, 1679, 1680, 1681, 1682, 1683,
6932 1684, 1685, 1686, 1687, 1688, 1689, 1690, 1691, 1692, 1693,
6933 1694, 1695, 1696, 1697, 1698, 1699, 1700, 1701, 1702, 1703,
6934 1704, 1705, 1706, 1707, 1708, 1709, 1710, 1711, 1712, 1713,
6935 1716, 1716, 1725, 1725, 1734, 1734, 1743, 1743, 1752, 1752,
6936 1761, 1761, 1771, 1771, 1783, 1783, 1794, 1794, 1805, 1811,
6937 1817, 1823, 1831, 1831, 1843, 1844, 1848, 1849, 1850, 1855,
6938 1855, 1863, 1864, 1865, 1870, 1871, 1872, 1873, 1874, 1875,
6939 1876, 1877, 1878, 1879, 1880, 1881, 1882, 1883, 1884, 1885,
6940 1886, 1887, 1888, 1889, 1890, 1891, 1892, 1893, 1894, 1895,
6941 1896, 1897, 1898, 1899, 1900, 1901, 1902, 1903, 1904, 1905,
6942 1906, 1907, 1908, 1909, 1910, 1911, 1912, 1913, 1914, 1915,
6943 1916, 1917, 1918, 1925, 1925, 1939, 1939, 1948, 1949, 1952,
6944 1953, 1954, 1961, 1961, 1976, 1976, 1990, 1991, 1994, 1995,
6945 1996, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
6946 2010, 2013, 2015, 2021, 2023, 2023, 2032, 2032, 2041, 2041,
6947 2050, 2052, 2052, 2061, 2071, 2071, 2084, 2085, 2090, 2091,
6948 2092, 2099, 2099, 2111, 2111, 2123, 2124, 2129, 2130, 2131,
6949 2138, 2139, 2140, 2141, 2142, 2143, 2144, 2145, 2146, 2147,
6950 2148, 2151, 2153, 2153, 2162, 2164, 2166, 2172, 2178, 2184,
6951 2184, 2198, 2198, 2211, 2212, 2215, 2216, 2217, 2222, 2222,
6952 2232, 2232, 2242, 2243, 2244, 2249, 2250, 2251, 2252, 2253,
6953 2254, 2255, 2256, 2257, 2258, 2259, 2260, 2261, 2262, 2263,
6954 2264, 2265, 2266, 2267, 2268, 2269, 2270, 2271, 2272, 2275,
6955 2275, 2284, 2290, 2290, 2315, 2315, 2345, 2345, 2356, 2357,
6956 2360, 2361, 2362, 2367, 2367, 2376, 2376, 2385, 2386, 2389,
6957 2390, 2391, 2397, 2398, 2399, 2400, 2401, 2402, 2403, 2404,
6958 2405, 2406, 2407, 2408, 2409, 2410, 2411, 2414, 2414, 2423,
6959 2423, 2432, 2432, 2441, 2441, 2450, 2450, 2459, 2459, 2468,
6960 2468, 2477, 2477, 2486, 2486, 2495, 2495, 2504, 2504, 2518,
6961 2518, 2529, 2532, 2532, 2546, 2546, 2557, 2558, 2559, 2564,
6962 2564, 2574, 2575, 2578, 2579, 2580, 2585, 2586, 2587, 2588,
6963 2589, 2590, 2591, 2592, 2593, 2594, 2595, 2596, 2597, 2598,
6964 2599, 2600, 2601, 2604, 2606, 2606, 2615, 2615, 2625, 2631,
6965 2639, 2647, 2647, 2659, 2659, 2671, 2672, 2675, 2676, 2677,
6966 2682, 2682, 2690, 2691, 2692, 2697, 2698, 2699, 2700, 2701,
6967 2702, 2703, 2704, 2705, 2706, 2707, 2708, 2709, 2712, 2712,
6968 2721, 2722, 2723, 2726, 2726, 2736, 2736, 2746, 2752, 2758,
6969 2758, 2769, 2770, 2773, 2774, 2775, 2780, 2780, 2788, 2789,
6970 2790, 2795, 2796, 2797, 2798, 2799, 2802, 2802, 2813, 2813,
6971 2826, 2827, 2828, 2833, 2834, 2835, 2836, 2837, 2838, 2839,
6972 2842, 2842, 2850, 2853, 2853, 2862, 2862, 2871, 2871, 2882,
6973 2883, 2886, 2887, 2888, 2893, 2893, 2901, 2902, 2903, 2908,
6974 2909, 2910, 2911, 2912, 2913, 2914, 2917, 2917, 2926, 2926,
6975 2937, 2937, 2950, 2951, 2952, 2957, 2958, 2959, 2960, 2961,
6976 2962, 2965, 2971, 2971, 2980, 2986, 2986, 2996, 2996, 3009,
6977 3009, 3019, 3020, 3021, 3026, 3027, 3028, 3029, 3030, 3031,
6978 3032, 3033, 3034, 3035, 3036, 3039, 3045, 3045, 3054, 3060,
6979 3060, 3069, 3075, 3081, 3081, 3090, 3091, 3094, 3094, 3105,
6980 3105, 3117, 3117, 3127, 3128, 3129, 3135, 3136, 3139, 3139,
6981 3150, 3158, 3158, 3171, 3172, 3173, 3179, 3179, 3187, 3188,
6982 3189, 3194, 3195, 3196, 3197, 3198, 3199, 3200, 3203, 3209,
6983 3209, 3218, 3218, 3229, 3230, 3231, 3236, 3236, 3244, 3245,
6984 3246, 3251, 3252, 3253, 3254, 3255, 3258, 3258, 3267, 3273,
6985 3279, 3285, 3285, 3294, 3294, 3305, 3306, 3307, 3312, 3313,
6986 3314, 3315, 3316, 3319, 3325, 3331, 3337
6990 Dhcp4Parser::yy_stack_print_ ()
const
6992 *yycdebug_ <<
"Stack now";
6993 for (stack_type::const_iterator
6994 i = yystack_.begin (),
6995 i_end = yystack_.end ();
6997 *yycdebug_ <<
' ' << int (i->state);
7002 Dhcp4Parser::yy_reduce_print_ (
int yyrule)
const
7004 int yylno = yyrline_[yyrule];
7005 int yynrhs = yyr2_[yyrule];
7007 *yycdebug_ <<
"Reducing stack by rule " << yyrule - 1
7008 <<
" (line " << yylno <<
"):\n";
7010 for (
int yyi = 0; yyi < yynrhs; yyi++)
7012 yystack_[(yynrhs) - (yyi + 1)]);
7017#line 14 "dhcp4_parser.yy"
7019#line 7020 "dhcp4_parser.cc"
7021#line 3343 "dhcp4_parser.yy"
7026 const std::string& what)
7028 ctx.error(loc, what);
#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)
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 the isc::dhcp::parser class.
void merge(ElementPtr element, ConstElementPtr other)
Merges the data from other into element.
boost::shared_ptr< const Element > ConstElementPtr
boost::shared_ptr< Element > ElementPtr
Defines the logger used by the top-level component of kea-lfc.
location_type location
The location.
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