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 327 "dhcp4_parser.yy"
419 { yyoutput << yysym.value.template as < std::string > (); }
420#line 421 "dhcp4_parser.cc"
424#line 327 "dhcp4_parser.yy"
425 { yyoutput << yysym.value.template as < int64_t > (); }
426#line 427 "dhcp4_parser.cc"
430#line 327 "dhcp4_parser.yy"
431 { yyoutput << yysym.value.template as < double > (); }
432#line 433 "dhcp4_parser.cc"
436#line 327 "dhcp4_parser.yy"
437 { yyoutput << yysym.value.template as < bool > (); }
438#line 439 "dhcp4_parser.cc"
442#line 327 "dhcp4_parser.yy"
443 { yyoutput << yysym.value.template as < ElementPtr > (); }
444#line 445 "dhcp4_parser.cc"
448#line 327 "dhcp4_parser.yy"
449 { yyoutput << yysym.value.template as < ElementPtr > (); }
450#line 451 "dhcp4_parser.cc"
454#line 327 "dhcp4_parser.yy"
455 { yyoutput << yysym.value.template as < ElementPtr > (); }
456#line 457 "dhcp4_parser.cc"
460#line 327 "dhcp4_parser.yy"
461 { yyoutput << yysym.value.template as < ElementPtr > (); }
462#line 463 "dhcp4_parser.cc"
466#line 327 "dhcp4_parser.yy"
467 { yyoutput << yysym.value.template as < ElementPtr > (); }
468#line 469 "dhcp4_parser.cc"
472#line 327 "dhcp4_parser.yy"
473 { yyoutput << yysym.value.template as < ElementPtr > (); }
474#line 475 "dhcp4_parser.cc"
478#line 327 "dhcp4_parser.yy"
479 { yyoutput << yysym.value.template as < ElementPtr > (); }
480#line 481 "dhcp4_parser.cc"
484#line 327 "dhcp4_parser.yy"
485 { yyoutput << yysym.value.template as < ElementPtr > (); }
486#line 487 "dhcp4_parser.cc"
490#line 327 "dhcp4_parser.yy"
491 { yyoutput << yysym.value.template as < ElementPtr > (); }
492#line 493 "dhcp4_parser.cc"
496#line 327 "dhcp4_parser.yy"
497 { yyoutput << yysym.value.template as < ElementPtr > (); }
498#line 499 "dhcp4_parser.cc"
502#line 327 "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 336 "dhcp4_parser.yy"
786 { ctx.ctx_ = ctx.NO_KEYWORD; }
787#line 788 "dhcp4_parser.cc"
791#line 337 "dhcp4_parser.yy"
792 { ctx.ctx_ = ctx.CONFIG; }
793#line 794 "dhcp4_parser.cc"
797#line 338 "dhcp4_parser.yy"
798 { ctx.ctx_ = ctx.DHCP4; }
799#line 800 "dhcp4_parser.cc"
803#line 339 "dhcp4_parser.yy"
804 { ctx.ctx_ = ctx.INTERFACES_CONFIG; }
805#line 806 "dhcp4_parser.cc"
809#line 340 "dhcp4_parser.yy"
810 { ctx.ctx_ = ctx.SUBNET4; }
811#line 812 "dhcp4_parser.cc"
815#line 341 "dhcp4_parser.yy"
816 { ctx.ctx_ = ctx.POOLS; }
817#line 818 "dhcp4_parser.cc"
821#line 342 "dhcp4_parser.yy"
822 { ctx.ctx_ = ctx.RESERVATIONS; }
823#line 824 "dhcp4_parser.cc"
827#line 343 "dhcp4_parser.yy"
828 { ctx.ctx_ = ctx.DHCP4; }
829#line 830 "dhcp4_parser.cc"
833#line 344 "dhcp4_parser.yy"
834 { ctx.ctx_ = ctx.OPTION_DEF; }
835#line 836 "dhcp4_parser.cc"
839#line 345 "dhcp4_parser.yy"
840 { ctx.ctx_ = ctx.OPTION_DATA; }
841#line 842 "dhcp4_parser.cc"
845#line 346 "dhcp4_parser.yy"
846 { ctx.ctx_ = ctx.HOOKS_LIBRARIES; }
847#line 848 "dhcp4_parser.cc"
851#line 347 "dhcp4_parser.yy"
852 { ctx.ctx_ = ctx.DHCP_DDNS; }
853#line 854 "dhcp4_parser.cc"
857#line 348 "dhcp4_parser.yy"
858 { ctx.ctx_ = ctx.CONFIG_CONTROL; }
859#line 860 "dhcp4_parser.cc"
863#line 356 "dhcp4_parser.yy"
865#line 866 "dhcp4_parser.cc"
869#line 357 "dhcp4_parser.yy"
871#line 872 "dhcp4_parser.cc"
875#line 358 "dhcp4_parser.yy"
877#line 878 "dhcp4_parser.cc"
881#line 359 "dhcp4_parser.yy"
883#line 884 "dhcp4_parser.cc"
887#line 360 "dhcp4_parser.yy"
889#line 890 "dhcp4_parser.cc"
893#line 361 "dhcp4_parser.yy"
895#line 896 "dhcp4_parser.cc"
899#line 362 "dhcp4_parser.yy"
901#line 902 "dhcp4_parser.cc"
905#line 365 "dhcp4_parser.yy"
908 ctx.stack_.push_back(yystack_[0].value.as <
ElementPtr > ());
910#line 911 "dhcp4_parser.cc"
914#line 370 "dhcp4_parser.yy"
919 ctx.stack_.push_back(m);
921#line 922 "dhcp4_parser.cc"
925#line 375 "dhcp4_parser.yy"
931#line 932 "dhcp4_parser.cc"
935#line 381 "dhcp4_parser.yy"
937#line 938 "dhcp4_parser.cc"
941#line 388 "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 393 "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 399 "dhcp4_parser.yy"
964 ctx.warnAboutExtraCommas(yystack_[0].location);
966#line 967 "dhcp4_parser.cc"
970#line 404 "dhcp4_parser.yy"
973 ctx.stack_.push_back(l);
975#line 976 "dhcp4_parser.cc"
979#line 407 "dhcp4_parser.yy"
983#line 984 "dhcp4_parser.cc"
987#line 415 "dhcp4_parser.yy"
990 ctx.stack_.back()->add(yystack_[0].value.as <
ElementPtr > ());
992#line 993 "dhcp4_parser.cc"
996#line 419 "dhcp4_parser.yy"
999 ctx.stack_.back()->add(yystack_[0].value.as <
ElementPtr > ());
1001#line 1002 "dhcp4_parser.cc"
1005#line 423 "dhcp4_parser.yy"
1007 ctx.warnAboutExtraCommas(yystack_[0].location);
1009#line 1010 "dhcp4_parser.cc"
1013#line 429 "dhcp4_parser.yy"
1017#line 1018 "dhcp4_parser.cc"
1021#line 431 "dhcp4_parser.yy"
1026#line 1027 "dhcp4_parser.cc"
1030#line 440 "dhcp4_parser.yy"
1033 ctx.stack_.back()->add(s);
1035#line 1036 "dhcp4_parser.cc"
1039#line 444 "dhcp4_parser.yy"
1042 ctx.stack_.back()->add(s);
1044#line 1045 "dhcp4_parser.cc"
1048#line 448 "dhcp4_parser.yy"
1050 ctx.warnAboutExtraCommas(yystack_[0].location);
1052#line 1053 "dhcp4_parser.cc"
1056#line 458 "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 467 "dhcp4_parser.yy"
1072 ctx.stack_.push_back(m);
1074#line 1075 "dhcp4_parser.cc"
1078#line 472 "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 482 "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 491 "dhcp4_parser.yy"
1109 ctx.stack_.pop_back();
1112#line 1113 "dhcp4_parser.cc"
1116#line 499 "dhcp4_parser.yy"
1118 ctx.warnAboutExtraCommas(yystack_[0].location);
1120#line 1121 "dhcp4_parser.cc"
1124#line 505 "dhcp4_parser.yy"
1128 ctx.stack_.push_back(m);
1130#line 1131 "dhcp4_parser.cc"
1134#line 509 "dhcp4_parser.yy"
1139#line 1140 "dhcp4_parser.cc"
1143#line 516 "dhcp4_parser.yy"
1145 ctx.warnAboutExtraCommas(yystack_[0].location);
1147#line 1148 "dhcp4_parser.cc"
1151#line 597 "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 603 "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 609 "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 615 "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 621 "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 627 "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 633 "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 639 "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 645 "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 651 "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 657 "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 663 "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 669 "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 672 "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 678 "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 684 "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 687 "dhcp4_parser.yy"
1312 ctx.stack_.back()->set(
"allocator", al);
1315#line 1316 "dhcp4_parser.cc"
1319#line 693 "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 699 "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 705 "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 711 "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 717 "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 723 "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 729 "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 732 "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 738 "dhcp4_parser.yy"
1401#line 1402 "dhcp4_parser.cc"
1405#line 741 "dhcp4_parser.yy"
1409#line 1410 "dhcp4_parser.cc"
1413#line 744 "dhcp4_parser.yy"
1417#line 1418 "dhcp4_parser.cc"
1421#line 747 "dhcp4_parser.yy"
1425#line 1426 "dhcp4_parser.cc"
1429#line 750 "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 756 "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 759 "dhcp4_parser.yy"
1450 ctx.stack_.back()->set(
"ddns-generated-prefix", s);
1453#line 1454 "dhcp4_parser.cc"
1457#line 765 "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 768 "dhcp4_parser.yy"
1469 ctx.stack_.back()->set(
"ddns-qualifying-suffix", s);
1472#line 1473 "dhcp4_parser.cc"
1476#line 774 "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 783 "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 793 "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 796 "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 802 "dhcp4_parser.yy"
1522#line 1523 "dhcp4_parser.cc"
1526#line 805 "dhcp4_parser.yy"
1530#line 1531 "dhcp4_parser.cc"
1534#line 808 "dhcp4_parser.yy"
1538#line 1539 "dhcp4_parser.cc"
1542#line 811 "dhcp4_parser.yy"
1546#line 1547 "dhcp4_parser.cc"
1550#line 816 "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 822 "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 828 "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 834 "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 840 "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 843 "dhcp4_parser.yy"
1602 ctx.stack_.back()->set(
"hostname-char-set", s);
1605#line 1606 "dhcp4_parser.cc"
1609#line 849 "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 852 "dhcp4_parser.yy"
1621 ctx.stack_.back()->set(
"hostname-char-replacement", s);
1624#line 1625 "dhcp4_parser.cc"
1628#line 858 "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 864 "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 870 "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 876 "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 882 "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 888 "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 894 "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 900 "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 906 "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 912 "dhcp4_parser.yy"
1723 ctx.stack_.pop_back();
1726#line 1727 "dhcp4_parser.cc"
1730#line 920 "dhcp4_parser.yy"
1732 ctx.warnAboutExtraCommas(yystack_[0].location);
1734#line 1735 "dhcp4_parser.cc"
1738#line 937 "dhcp4_parser.yy"
1742 ctx.stack_.push_back(m);
1744#line 1745 "dhcp4_parser.cc"
1748#line 941 "dhcp4_parser.yy"
1753#line 1754 "dhcp4_parser.cc"
1757#line 946 "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 952 "dhcp4_parser.yy"
1771 ctx.stack_.pop_back();
1774#line 1775 "dhcp4_parser.cc"
1778#line 957 "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 960 "dhcp4_parser.yy"
1789 ctx.stack_.back()->set(
"dhcp-socket-type", yystack_[0].value.as <
ElementPtr > ());
1792#line 1793 "dhcp4_parser.cc"
1796#line 965 "dhcp4_parser.yy"
1798#line 1799 "dhcp4_parser.cc"
1802#line 966 "dhcp4_parser.yy"
1804#line 1805 "dhcp4_parser.cc"
1808#line 969 "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 972 "dhcp4_parser.yy"
1819 ctx.stack_.back()->set(
"outbound-interface", yystack_[0].value.as <
ElementPtr > ());
1822#line 1823 "dhcp4_parser.cc"
1826#line 977 "dhcp4_parser.yy"
1830#line 1831 "dhcp4_parser.cc"
1834#line 979 "dhcp4_parser.yy"
1838#line 1839 "dhcp4_parser.cc"
1842#line 983 "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 989 "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 995 "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 1001 "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 1007 "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 1013 "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 1020 "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 1026 "dhcp4_parser.yy"
1919 ctx.stack_.pop_back();
1922#line 1923 "dhcp4_parser.cc"
1926#line 1033 "dhcp4_parser.yy"
1928 ctx.warnAboutExtraCommas(yystack_[0].location);
1930#line 1931 "dhcp4_parser.cc"
1934#line 1042 "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 1045 "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 1061 "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 1064 "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 1079 "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 1085 "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 1092 "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 1098 "dhcp4_parser.yy"
2028 ctx.stack_.pop_back();
2031#line 2032 "dhcp4_parser.cc"
2035#line 1109 "dhcp4_parser.yy"
2037 ctx.warnAboutExtraCommas(yystack_[0].location);
2039#line 2040 "dhcp4_parser.cc"
2043#line 1114 "dhcp4_parser.yy"
2046 ctx.stack_.back()->add(m);
2047 ctx.stack_.push_back(m);
2049#line 2050 "dhcp4_parser.cc"
2053#line 1118 "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 1126 "dhcp4_parser.yy"
2065 ctx.warnAboutExtraCommas(yystack_[0].location);
2067#line 2068 "dhcp4_parser.cc"
2071#line 1158 "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 1161 "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 1167 "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 1170 "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 1176 "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 1179 "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 1185 "dhcp4_parser.yy"
2130 ctx.unique(
"password-file", ctx.loc2pos(yystack_[0].location));
2131 ctx.enter(ctx.NO_KEYWORD);
2133#line 2134 "dhcp4_parser.cc"
2137#line 1188 "dhcp4_parser.yy"
2139 ElementPtr password(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
2140 ctx.stack_.back()->set(
"password-file", password);
2143#line 2144 "dhcp4_parser.cc"
2147#line 1194 "dhcp4_parser.yy"
2149 ctx.unique(
"host", ctx.loc2pos(yystack_[0].location));
2150 ctx.enter(ctx.NO_KEYWORD);
2152#line 2153 "dhcp4_parser.cc"
2156#line 1197 "dhcp4_parser.yy"
2159 ctx.stack_.back()->set(
"host", h);
2162#line 2163 "dhcp4_parser.cc"
2166#line 1203 "dhcp4_parser.yy"
2168 ctx.unique(
"port", ctx.loc2pos(yystack_[2].location));
2169 ElementPtr p(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
2170 ctx.stack_.back()->set(
"port", p);
2172#line 2173 "dhcp4_parser.cc"
2176#line 1209 "dhcp4_parser.yy"
2178 ctx.unique(
"name", ctx.loc2pos(yystack_[0].location));
2179 ctx.enter(ctx.NO_KEYWORD);
2181#line 2182 "dhcp4_parser.cc"
2185#line 1212 "dhcp4_parser.yy"
2187 ElementPtr name(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
2188 ctx.stack_.back()->set(
"name", name);
2191#line 2192 "dhcp4_parser.cc"
2195#line 1218 "dhcp4_parser.yy"
2197 ctx.unique(
"persist", ctx.loc2pos(yystack_[2].location));
2199 ctx.stack_.back()->set(
"persist", n);
2201#line 2202 "dhcp4_parser.cc"
2205#line 1224 "dhcp4_parser.yy"
2207 ctx.unique(
"lfc-interval", ctx.loc2pos(yystack_[2].location));
2208 ElementPtr n(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
2209 ctx.stack_.back()->set(
"lfc-interval", n);
2211#line 2212 "dhcp4_parser.cc"
2215#line 1230 "dhcp4_parser.yy"
2217 ctx.unique(
"readonly", ctx.loc2pos(yystack_[2].location));
2219 ctx.stack_.back()->set(
"readonly", n);
2221#line 2222 "dhcp4_parser.cc"
2225#line 1236 "dhcp4_parser.yy"
2227 ctx.unique(
"connect-timeout", ctx.loc2pos(yystack_[2].location));
2228 ElementPtr n(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
2229 ctx.stack_.back()->set(
"connect-timeout", n);
2231#line 2232 "dhcp4_parser.cc"
2235#line 1242 "dhcp4_parser.yy"
2237 ctx.unique(
"read-timeout", ctx.loc2pos(yystack_[2].location));
2238 ElementPtr n(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
2239 ctx.stack_.back()->set(
"read-timeout", n);
2241#line 2242 "dhcp4_parser.cc"
2245#line 1248 "dhcp4_parser.yy"
2247 ctx.unique(
"write-timeout", ctx.loc2pos(yystack_[2].location));
2248 ElementPtr n(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
2249 ctx.stack_.back()->set(
"write-timeout", n);
2251#line 2252 "dhcp4_parser.cc"
2255#line 1254 "dhcp4_parser.yy"
2257 ctx.unique(
"tcp-user-timeout", ctx.loc2pos(yystack_[2].location));
2258 ElementPtr n(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
2259 ctx.stack_.back()->set(
"tcp-user-timeout", n);
2261#line 2262 "dhcp4_parser.cc"
2265#line 1260 "dhcp4_parser.yy"
2267 ctx.unique(
"max-reconnect-tries", ctx.loc2pos(yystack_[2].location));
2268 ElementPtr n(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
2269 ctx.stack_.back()->set(
"max-reconnect-tries", n);
2271#line 2272 "dhcp4_parser.cc"
2275#line 1266 "dhcp4_parser.yy"
2277 ctx.unique(
"reconnect-wait-time", ctx.loc2pos(yystack_[2].location));
2278 ElementPtr n(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
2279 ctx.stack_.back()->set(
"reconnect-wait-time", n);
2281#line 2282 "dhcp4_parser.cc"
2285#line 1272 "dhcp4_parser.yy"
2287 ctx.unique(
"on-fail", ctx.loc2pos(yystack_[0].location));
2288 ctx.enter(ctx.DATABASE_ON_FAIL);
2290#line 2291 "dhcp4_parser.cc"
2294#line 1275 "dhcp4_parser.yy"
2296 ctx.stack_.back()->set(
"on-fail", yystack_[0].value.as <
ElementPtr > ());
2299#line 2300 "dhcp4_parser.cc"
2303#line 1280 "dhcp4_parser.yy"
2305#line 2306 "dhcp4_parser.cc"
2309#line 1281 "dhcp4_parser.yy"
2311#line 2312 "dhcp4_parser.cc"
2315#line 1282 "dhcp4_parser.yy"
2317#line 2318 "dhcp4_parser.cc"
2321#line 1285 "dhcp4_parser.yy"
2323 ctx.unique(
"retry-on-startup", ctx.loc2pos(yystack_[2].location));
2325 ctx.stack_.back()->set(
"retry-on-startup", n);
2327#line 2328 "dhcp4_parser.cc"
2331#line 1291 "dhcp4_parser.yy"
2333 ctx.unique(
"max-row-errors", ctx.loc2pos(yystack_[2].location));
2334 ElementPtr n(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
2335 ctx.stack_.back()->set(
"max-row-errors", n);
2337#line 2338 "dhcp4_parser.cc"
2341#line 1297 "dhcp4_parser.yy"
2343 ctx.unique(
"trust-anchor", ctx.loc2pos(yystack_[0].location));
2344 ctx.enter(ctx.NO_KEYWORD);
2346#line 2347 "dhcp4_parser.cc"
2350#line 1300 "dhcp4_parser.yy"
2353 ctx.stack_.back()->set(
"trust-anchor", ca);
2356#line 2357 "dhcp4_parser.cc"
2360#line 1306 "dhcp4_parser.yy"
2362 ctx.unique(
"cert-file", ctx.loc2pos(yystack_[0].location));
2363 ctx.enter(ctx.NO_KEYWORD);
2365#line 2366 "dhcp4_parser.cc"
2369#line 1309 "dhcp4_parser.yy"
2371 ElementPtr cert(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
2372 ctx.stack_.back()->set(
"cert-file", cert);
2375#line 2376 "dhcp4_parser.cc"
2379#line 1315 "dhcp4_parser.yy"
2381 ctx.unique(
"key-file", ctx.loc2pos(yystack_[0].location));
2382 ctx.enter(ctx.NO_KEYWORD);
2384#line 2385 "dhcp4_parser.cc"
2388#line 1318 "dhcp4_parser.yy"
2390 ElementPtr key(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
2391 ctx.stack_.back()->set(
"key-file", key);
2394#line 2395 "dhcp4_parser.cc"
2398#line 1324 "dhcp4_parser.yy"
2400 ctx.unique(
"ssl-mode", ctx.loc2pos(yystack_[0].location));
2401 ctx.enter(ctx.SSL_MODE);
2403#line 2404 "dhcp4_parser.cc"
2407#line 1327 "dhcp4_parser.yy"
2409 ctx.stack_.back()->set(
"ssl-mode", yystack_[0].value.as <
ElementPtr > ());
2412#line 2413 "dhcp4_parser.cc"
2416#line 1332 "dhcp4_parser.yy"
2420#line 2421 "dhcp4_parser.cc"
2424#line 1335 "dhcp4_parser.yy"
2428#line 2429 "dhcp4_parser.cc"
2432#line 1338 "dhcp4_parser.yy"
2436#line 2437 "dhcp4_parser.cc"
2440#line 1341 "dhcp4_parser.yy"
2444#line 2445 "dhcp4_parser.cc"
2448#line 1344 "dhcp4_parser.yy"
2452#line 2453 "dhcp4_parser.cc"
2456#line 1349 "dhcp4_parser.yy"
2458 ctx.unique(
"cipher-list", ctx.loc2pos(yystack_[0].location));
2459 ctx.enter(ctx.NO_KEYWORD);
2461#line 2462 "dhcp4_parser.cc"
2465#line 1352 "dhcp4_parser.yy"
2468 ctx.stack_.back()->set(
"cipher-list", cl);
2471#line 2472 "dhcp4_parser.cc"
2475#line 1358 "dhcp4_parser.yy"
2477 ctx.unique(
"host-reservation-identifiers", ctx.loc2pos(yystack_[0].location));
2479 ctx.stack_.back()->set(
"host-reservation-identifiers", l);
2480 ctx.stack_.push_back(l);
2481 ctx.enter(ctx.HOST_RESERVATION_IDENTIFIERS);
2483#line 2484 "dhcp4_parser.cc"
2487#line 1364 "dhcp4_parser.yy"
2489 ctx.stack_.pop_back();
2492#line 2493 "dhcp4_parser.cc"
2496#line 1371 "dhcp4_parser.yy"
2498 ctx.warnAboutExtraCommas(yystack_[0].location);
2500#line 2501 "dhcp4_parser.cc"
2504#line 1383 "dhcp4_parser.yy"
2507 ctx.stack_.back()->add(duid);
2509#line 2510 "dhcp4_parser.cc"
2513#line 1388 "dhcp4_parser.yy"
2516 ctx.stack_.back()->add(hwaddr);
2518#line 2519 "dhcp4_parser.cc"
2522#line 1393 "dhcp4_parser.yy"
2525 ctx.stack_.back()->add(circuit);
2527#line 2528 "dhcp4_parser.cc"
2531#line 1398 "dhcp4_parser.yy"
2534 ctx.stack_.back()->add(client);
2536#line 2537 "dhcp4_parser.cc"
2540#line 1403 "dhcp4_parser.yy"
2543 ctx.stack_.back()->add(
flex_id);
2545#line 2546 "dhcp4_parser.cc"
2549#line 1410 "dhcp4_parser.yy"
2551 ctx.unique(
"multi-threading", ctx.loc2pos(yystack_[0].location));
2553 ctx.stack_.back()->set(
"multi-threading", mt);
2554 ctx.stack_.push_back(mt);
2555 ctx.enter(ctx.DHCP_MULTI_THREADING);
2557#line 2558 "dhcp4_parser.cc"
2561#line 1416 "dhcp4_parser.yy"
2564 ctx.require(
"enable-multi-threading", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location));
2565 ctx.stack_.pop_back();
2568#line 2569 "dhcp4_parser.cc"
2572#line 1425 "dhcp4_parser.yy"
2574 ctx.warnAboutExtraCommas(yystack_[0].location);
2576#line 2577 "dhcp4_parser.cc"
2580#line 1438 "dhcp4_parser.yy"
2582 ctx.unique(
"enable-multi-threading", ctx.loc2pos(yystack_[2].location));
2584 ctx.stack_.back()->set(
"enable-multi-threading", b);
2586#line 2587 "dhcp4_parser.cc"
2590#line 1444 "dhcp4_parser.yy"
2592 ctx.unique(
"thread-pool-size", ctx.loc2pos(yystack_[2].location));
2593 ElementPtr prf(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
2594 ctx.stack_.back()->set(
"thread-pool-size", prf);
2596#line 2597 "dhcp4_parser.cc"
2600#line 1450 "dhcp4_parser.yy"
2602 ctx.unique(
"packet-queue-size", ctx.loc2pos(yystack_[2].location));
2603 ElementPtr prf(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
2604 ctx.stack_.back()->set(
"packet-queue-size", prf);
2606#line 2607 "dhcp4_parser.cc"
2610#line 1456 "dhcp4_parser.yy"
2612 ctx.unique(
"hooks-libraries", ctx.loc2pos(yystack_[0].location));
2614 ctx.stack_.back()->set(
"hooks-libraries", l);
2615 ctx.stack_.push_back(l);
2616 ctx.enter(ctx.HOOKS_LIBRARIES);
2618#line 2619 "dhcp4_parser.cc"
2622#line 1462 "dhcp4_parser.yy"
2624 ctx.stack_.pop_back();
2627#line 2628 "dhcp4_parser.cc"
2631#line 1473 "dhcp4_parser.yy"
2633 ctx.warnAboutExtraCommas(yystack_[0].location);
2635#line 2636 "dhcp4_parser.cc"
2639#line 1478 "dhcp4_parser.yy"
2642 ctx.stack_.back()->add(m);
2643 ctx.stack_.push_back(m);
2645#line 2646 "dhcp4_parser.cc"
2649#line 1482 "dhcp4_parser.yy"
2652 ctx.require(
"library", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
2653 ctx.stack_.pop_back();
2655#line 2656 "dhcp4_parser.cc"
2659#line 1488 "dhcp4_parser.yy"
2663 ctx.stack_.push_back(m);
2665#line 2666 "dhcp4_parser.cc"
2669#line 1492 "dhcp4_parser.yy"
2672 ctx.require(
"library", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
2675#line 2676 "dhcp4_parser.cc"
2679#line 1500 "dhcp4_parser.yy"
2681 ctx.warnAboutExtraCommas(yystack_[0].location);
2683#line 2684 "dhcp4_parser.cc"
2687#line 1510 "dhcp4_parser.yy"
2689 ctx.unique(
"library", ctx.loc2pos(yystack_[0].location));
2690 ctx.enter(ctx.NO_KEYWORD);
2692#line 2693 "dhcp4_parser.cc"
2696#line 1513 "dhcp4_parser.yy"
2698 ElementPtr lib(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
2699 ctx.stack_.back()->set(
"library", lib);
2702#line 2703 "dhcp4_parser.cc"
2706#line 1519 "dhcp4_parser.yy"
2708 ctx.unique(
"parameters", ctx.loc2pos(yystack_[0].location));
2709 ctx.enter(ctx.NO_KEYWORD);
2711#line 2712 "dhcp4_parser.cc"
2715#line 1522 "dhcp4_parser.yy"
2717 ctx.stack_.back()->set(
"parameters", yystack_[0].value.as <
ElementPtr > ());
2720#line 2721 "dhcp4_parser.cc"
2724#line 1528 "dhcp4_parser.yy"
2726 ctx.unique(
"expired-leases-processing", ctx.loc2pos(yystack_[0].location));
2728 ctx.stack_.back()->set(
"expired-leases-processing", m);
2729 ctx.stack_.push_back(m);
2730 ctx.enter(ctx.EXPIRED_LEASES_PROCESSING);
2732#line 2733 "dhcp4_parser.cc"
2736#line 1534 "dhcp4_parser.yy"
2739 ctx.stack_.pop_back();
2742#line 2743 "dhcp4_parser.cc"
2746#line 1542 "dhcp4_parser.yy"
2748 ctx.warnAboutExtraCommas(yystack_[0].location);
2750#line 2751 "dhcp4_parser.cc"
2754#line 1555 "dhcp4_parser.yy"
2756 ctx.unique(
"reclaim-timer-wait-time", ctx.loc2pos(yystack_[2].location));
2757 ElementPtr value(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
2758 ctx.stack_.back()->set(
"reclaim-timer-wait-time", value);
2760#line 2761 "dhcp4_parser.cc"
2764#line 1561 "dhcp4_parser.yy"
2766 ctx.unique(
"flush-reclaimed-timer-wait-time", ctx.loc2pos(yystack_[2].location));
2767 ElementPtr value(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
2768 ctx.stack_.back()->set(
"flush-reclaimed-timer-wait-time", value);
2770#line 2771 "dhcp4_parser.cc"
2774#line 1567 "dhcp4_parser.yy"
2776 ctx.unique(
"hold-reclaimed-time", ctx.loc2pos(yystack_[2].location));
2777 ElementPtr value(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
2778 ctx.stack_.back()->set(
"hold-reclaimed-time", value);
2780#line 2781 "dhcp4_parser.cc"
2784#line 1573 "dhcp4_parser.yy"
2786 ctx.unique(
"max-reclaim-leases", ctx.loc2pos(yystack_[2].location));
2787 ElementPtr value(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
2788 ctx.stack_.back()->set(
"max-reclaim-leases", value);
2790#line 2791 "dhcp4_parser.cc"
2794#line 1579 "dhcp4_parser.yy"
2796 ctx.unique(
"max-reclaim-time", ctx.loc2pos(yystack_[2].location));
2797 ElementPtr value(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
2798 ctx.stack_.back()->set(
"max-reclaim-time", value);
2800#line 2801 "dhcp4_parser.cc"
2804#line 1585 "dhcp4_parser.yy"
2806 ctx.unique(
"unwarned-reclaim-cycles", ctx.loc2pos(yystack_[2].location));
2807 ElementPtr value(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
2808 ctx.stack_.back()->set(
"unwarned-reclaim-cycles", value);
2810#line 2811 "dhcp4_parser.cc"
2814#line 1594 "dhcp4_parser.yy"
2816 ctx.unique(
"subnet4", ctx.loc2pos(yystack_[0].location));
2818 ctx.stack_.back()->set(
"subnet4", l);
2819 ctx.stack_.push_back(l);
2820 ctx.enter(ctx.SUBNET4);
2822#line 2823 "dhcp4_parser.cc"
2826#line 1600 "dhcp4_parser.yy"
2828 ctx.stack_.pop_back();
2831#line 2832 "dhcp4_parser.cc"
2835#line 1614 "dhcp4_parser.yy"
2837 ctx.warnAboutExtraCommas(yystack_[0].location);
2839#line 2840 "dhcp4_parser.cc"
2843#line 1623 "dhcp4_parser.yy"
2846 ctx.stack_.back()->add(m);
2847 ctx.stack_.push_back(m);
2849#line 2850 "dhcp4_parser.cc"
2853#line 1627 "dhcp4_parser.yy"
2872 ctx.require(
"subnet", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
2873 ctx.stack_.pop_back();
2875#line 2876 "dhcp4_parser.cc"
2879#line 1649 "dhcp4_parser.yy"
2883 ctx.stack_.push_back(m);
2885#line 2886 "dhcp4_parser.cc"
2889#line 1653 "dhcp4_parser.yy"
2892 ctx.require(
"subnet", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
2895#line 2896 "dhcp4_parser.cc"
2899#line 1662 "dhcp4_parser.yy"
2901 ctx.warnAboutExtraCommas(yystack_[0].location);
2903#line 2904 "dhcp4_parser.cc"
2907#line 1724 "dhcp4_parser.yy"
2909 ctx.unique(
"subnet", ctx.loc2pos(yystack_[0].location));
2910 ctx.enter(ctx.NO_KEYWORD);
2912#line 2913 "dhcp4_parser.cc"
2916#line 1727 "dhcp4_parser.yy"
2918 ElementPtr subnet(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
2919 ctx.stack_.back()->set(
"subnet", subnet);
2922#line 2923 "dhcp4_parser.cc"
2926#line 1733 "dhcp4_parser.yy"
2928 ctx.unique(
"4o6-interface", ctx.loc2pos(yystack_[0].location));
2929 ctx.enter(ctx.NO_KEYWORD);
2931#line 2932 "dhcp4_parser.cc"
2935#line 1736 "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", iface);
2941#line 2942 "dhcp4_parser.cc"
2945#line 1742 "dhcp4_parser.yy"
2947 ctx.unique(
"4o6-interface-id", ctx.loc2pos(yystack_[0].location));
2948 ctx.enter(ctx.NO_KEYWORD);
2950#line 2951 "dhcp4_parser.cc"
2954#line 1745 "dhcp4_parser.yy"
2956 ElementPtr iface(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
2957 ctx.stack_.back()->set(
"4o6-interface-id", iface);
2960#line 2961 "dhcp4_parser.cc"
2964#line 1751 "dhcp4_parser.yy"
2966 ctx.unique(
"4o6-subnet", ctx.loc2pos(yystack_[0].location));
2967 ctx.enter(ctx.NO_KEYWORD);
2969#line 2970 "dhcp4_parser.cc"
2973#line 1754 "dhcp4_parser.yy"
2975 ElementPtr iface(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
2976 ctx.stack_.back()->set(
"4o6-subnet", iface);
2979#line 2980 "dhcp4_parser.cc"
2983#line 1760 "dhcp4_parser.yy"
2985 ctx.unique(
"interface", ctx.loc2pos(yystack_[0].location));
2986 ctx.enter(ctx.NO_KEYWORD);
2988#line 2989 "dhcp4_parser.cc"
2992#line 1763 "dhcp4_parser.yy"
2994 ElementPtr iface(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
2995 ctx.stack_.back()->set(
"interface", iface);
2998#line 2999 "dhcp4_parser.cc"
3002#line 1769 "dhcp4_parser.yy"
3004 ctx.unique(
"client-class", ctx.loc2pos(yystack_[0].location));
3005 ctx.enter(ctx.NO_KEYWORD);
3007#line 3008 "dhcp4_parser.cc"
3011#line 1772 "dhcp4_parser.yy"
3013 ElementPtr cls(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
3014 ctx.stack_.back()->set(
"client-class", cls);
3017#line 3018 "dhcp4_parser.cc"
3021#line 1779 "dhcp4_parser.yy"
3023 ctx.unique(
"client-classes", ctx.loc2pos(yystack_[0].location));
3025 ctx.stack_.back()->set(
"client-classes", c);
3026 ctx.stack_.push_back(c);
3027 ctx.enter(ctx.NO_KEYWORD);
3029#line 3030 "dhcp4_parser.cc"
3033#line 1785 "dhcp4_parser.yy"
3035 ctx.stack_.pop_back();
3038#line 3039 "dhcp4_parser.cc"
3042#line 1791 "dhcp4_parser.yy"
3044 ctx.unique(
"require-client-classes", ctx.loc2pos(yystack_[0].location));
3046 ctx.stack_.back()->set(
"require-client-classes", c);
3047 ctx.stack_.push_back(c);
3048 ctx.enter(ctx.NO_KEYWORD);
3050#line 3051 "dhcp4_parser.cc"
3054#line 1797 "dhcp4_parser.yy"
3056 ctx.stack_.pop_back();
3059#line 3060 "dhcp4_parser.cc"
3063#line 1802 "dhcp4_parser.yy"
3065 ctx.unique(
"evaluate-additional-classes", ctx.loc2pos(yystack_[0].location));
3067 ctx.stack_.back()->set(
"evaluate-additional-classes", c);
3068 ctx.stack_.push_back(c);
3069 ctx.enter(ctx.NO_KEYWORD);
3071#line 3072 "dhcp4_parser.cc"
3075#line 1808 "dhcp4_parser.yy"
3077 ctx.stack_.pop_back();
3080#line 3081 "dhcp4_parser.cc"
3084#line 1813 "dhcp4_parser.yy"
3086 ctx.unique(
"reservations-global", ctx.loc2pos(yystack_[2].location));
3088 ctx.stack_.back()->set(
"reservations-global", b);
3090#line 3091 "dhcp4_parser.cc"
3094#line 1819 "dhcp4_parser.yy"
3096 ctx.unique(
"reservations-in-subnet", ctx.loc2pos(yystack_[2].location));
3098 ctx.stack_.back()->set(
"reservations-in-subnet", b);
3100#line 3101 "dhcp4_parser.cc"
3104#line 1825 "dhcp4_parser.yy"
3106 ctx.unique(
"reservations-out-of-pool", ctx.loc2pos(yystack_[2].location));
3108 ctx.stack_.back()->set(
"reservations-out-of-pool", b);
3110#line 3111 "dhcp4_parser.cc"
3114#line 1831 "dhcp4_parser.yy"
3116 ctx.unique(
"id", ctx.loc2pos(yystack_[2].location));
3117 ElementPtr id(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
3118 ctx.stack_.back()->set(
"id",
id);
3120#line 3121 "dhcp4_parser.cc"
3124#line 1839 "dhcp4_parser.yy"
3126 ctx.unique(
"shared-networks", ctx.loc2pos(yystack_[0].location));
3128 ctx.stack_.back()->set(
"shared-networks", l);
3129 ctx.stack_.push_back(l);
3130 ctx.enter(ctx.SHARED_NETWORK);
3132#line 3133 "dhcp4_parser.cc"
3136#line 1845 "dhcp4_parser.yy"
3138 ctx.stack_.pop_back();
3141#line 3142 "dhcp4_parser.cc"
3145#line 1858 "dhcp4_parser.yy"
3147 ctx.warnAboutExtraCommas(yystack_[0].location);
3149#line 3150 "dhcp4_parser.cc"
3153#line 1863 "dhcp4_parser.yy"
3156 ctx.stack_.back()->add(m);
3157 ctx.stack_.push_back(m);
3159#line 3160 "dhcp4_parser.cc"
3163#line 1867 "dhcp4_parser.yy"
3165 ctx.stack_.pop_back();
3167#line 3168 "dhcp4_parser.cc"
3171#line 1873 "dhcp4_parser.yy"
3173 ctx.warnAboutExtraCommas(yystack_[0].location);
3175#line 3176 "dhcp4_parser.cc"
3179#line 1933 "dhcp4_parser.yy"
3181 ctx.unique(
"option-def", ctx.loc2pos(yystack_[0].location));
3183 ctx.stack_.back()->set(
"option-def", l);
3184 ctx.stack_.push_back(l);
3185 ctx.enter(ctx.OPTION_DEF);
3187#line 3188 "dhcp4_parser.cc"
3191#line 1939 "dhcp4_parser.yy"
3193 ctx.stack_.pop_back();
3196#line 3197 "dhcp4_parser.cc"
3200#line 1947 "dhcp4_parser.yy"
3203 ctx.stack_.push_back(m);
3205#line 3206 "dhcp4_parser.cc"
3209#line 1950 "dhcp4_parser.yy"
3213#line 3214 "dhcp4_parser.cc"
3217#line 1962 "dhcp4_parser.yy"
3219 ctx.warnAboutExtraCommas(yystack_[0].location);
3221#line 3222 "dhcp4_parser.cc"
3225#line 1969 "dhcp4_parser.yy"
3228 ctx.stack_.back()->add(m);
3229 ctx.stack_.push_back(m);
3231#line 3232 "dhcp4_parser.cc"
3235#line 1973 "dhcp4_parser.yy"
3238 ctx.require(
"name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
3239 ctx.require(
"code", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
3240 ctx.require(
"type", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
3241 ctx.stack_.pop_back();
3243#line 3244 "dhcp4_parser.cc"
3247#line 1984 "dhcp4_parser.yy"
3251 ctx.stack_.push_back(m);
3253#line 3254 "dhcp4_parser.cc"
3257#line 1988 "dhcp4_parser.yy"
3260 ctx.require(
"name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
3261 ctx.require(
"code", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
3262 ctx.require(
"type", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
3265#line 3266 "dhcp4_parser.cc"
3269#line 2004 "dhcp4_parser.yy"
3271 ctx.warnAboutExtraCommas(yystack_[0].location);
3273#line 3274 "dhcp4_parser.cc"
3277#line 2023 "dhcp4_parser.yy"
3279 ctx.unique(
"code", ctx.loc2pos(yystack_[2].location));
3280 ElementPtr code(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
3281 ctx.stack_.back()->set(
"code", code);
3283#line 3284 "dhcp4_parser.cc"
3287#line 2031 "dhcp4_parser.yy"
3289 ctx.unique(
"type", ctx.loc2pos(yystack_[0].location));
3290 ctx.enter(ctx.NO_KEYWORD);
3292#line 3293 "dhcp4_parser.cc"
3296#line 2034 "dhcp4_parser.yy"
3298 ElementPtr prf(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
3299 ctx.stack_.back()->set(
"type", prf);
3302#line 3303 "dhcp4_parser.cc"
3306#line 2040 "dhcp4_parser.yy"
3308 ctx.unique(
"record-types", ctx.loc2pos(yystack_[0].location));
3309 ctx.enter(ctx.NO_KEYWORD);
3311#line 3312 "dhcp4_parser.cc"
3315#line 2043 "dhcp4_parser.yy"
3317 ElementPtr rtypes(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
3318 ctx.stack_.back()->set(
"record-types", rtypes);
3321#line 3322 "dhcp4_parser.cc"
3325#line 2049 "dhcp4_parser.yy"
3327 ctx.unique(
"space", ctx.loc2pos(yystack_[0].location));
3328 ctx.enter(ctx.NO_KEYWORD);
3330#line 3331 "dhcp4_parser.cc"
3334#line 2052 "dhcp4_parser.yy"
3336 ElementPtr space(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
3337 ctx.stack_.back()->set(
"space", space);
3340#line 3341 "dhcp4_parser.cc"
3344#line 2060 "dhcp4_parser.yy"
3346 ctx.unique(
"encapsulate", ctx.loc2pos(yystack_[0].location));
3347 ctx.enter(ctx.NO_KEYWORD);
3349#line 3350 "dhcp4_parser.cc"
3353#line 2063 "dhcp4_parser.yy"
3355 ElementPtr encap(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
3356 ctx.stack_.back()->set(
"encapsulate", encap);
3359#line 3360 "dhcp4_parser.cc"
3363#line 2069 "dhcp4_parser.yy"
3365 ctx.unique(
"array", ctx.loc2pos(yystack_[2].location));
3366 ElementPtr array(
new BoolElement(yystack_[0].value.as <
bool > (), ctx.loc2pos(yystack_[0].location)));
3367 ctx.stack_.back()->set(
"array", array);
3369#line 3370 "dhcp4_parser.cc"
3373#line 2079 "dhcp4_parser.yy"
3375 ctx.unique(
"option-data", ctx.loc2pos(yystack_[0].location));
3377 ctx.stack_.back()->set(
"option-data", l);
3378 ctx.stack_.push_back(l);
3379 ctx.enter(ctx.OPTION_DATA);
3381#line 3382 "dhcp4_parser.cc"
3385#line 2085 "dhcp4_parser.yy"
3387 ctx.stack_.pop_back();
3390#line 3391 "dhcp4_parser.cc"
3394#line 2100 "dhcp4_parser.yy"
3396 ctx.warnAboutExtraCommas(yystack_[0].location);
3398#line 3399 "dhcp4_parser.cc"
3402#line 2107 "dhcp4_parser.yy"
3405 ctx.stack_.back()->add(m);
3406 ctx.stack_.push_back(m);
3408#line 3409 "dhcp4_parser.cc"
3412#line 2111 "dhcp4_parser.yy"
3415 ctx.stack_.pop_back();
3417#line 3418 "dhcp4_parser.cc"
3421#line 2119 "dhcp4_parser.yy"
3425 ctx.stack_.push_back(m);
3427#line 3428 "dhcp4_parser.cc"
3431#line 2123 "dhcp4_parser.yy"
3436#line 3437 "dhcp4_parser.cc"
3440#line 2139 "dhcp4_parser.yy"
3442 ctx.warnAboutExtraCommas(yystack_[0].location);
3444#line 3445 "dhcp4_parser.cc"
3448#line 2161 "dhcp4_parser.yy"
3450 ctx.unique(
"data", ctx.loc2pos(yystack_[0].location));
3451 ctx.enter(ctx.NO_KEYWORD);
3453#line 3454 "dhcp4_parser.cc"
3457#line 2164 "dhcp4_parser.yy"
3460 ctx.stack_.back()->set(
"data",
data);
3463#line 3464 "dhcp4_parser.cc"
3467#line 2174 "dhcp4_parser.yy"
3469 ctx.unique(
"csv-format", ctx.loc2pos(yystack_[2].location));
3470 ElementPtr csv(
new BoolElement(yystack_[0].value.as <
bool > (), ctx.loc2pos(yystack_[0].location)));
3471 ctx.stack_.back()->set(
"csv-format", csv);
3473#line 3474 "dhcp4_parser.cc"
3477#line 2180 "dhcp4_parser.yy"
3479 ctx.unique(
"always-send", ctx.loc2pos(yystack_[2].location));
3480 ElementPtr persist(
new BoolElement(yystack_[0].value.as <
bool > (), ctx.loc2pos(yystack_[0].location)));
3481 ctx.stack_.back()->set(
"always-send", persist);
3483#line 3484 "dhcp4_parser.cc"
3487#line 2186 "dhcp4_parser.yy"
3489 ctx.unique(
"never-send", ctx.loc2pos(yystack_[2].location));
3490 ElementPtr cancel(
new BoolElement(yystack_[0].value.as <
bool > (), ctx.loc2pos(yystack_[0].location)));
3491 ctx.stack_.back()->set(
"never-send", cancel);
3493#line 3494 "dhcp4_parser.cc"
3497#line 2192 "dhcp4_parser.yy"
3499 ctx.unique(
"client-classes", ctx.loc2pos(yystack_[0].location));
3501 ctx.stack_.back()->set(
"client-classes", c);
3502 ctx.stack_.push_back(c);
3503 ctx.enter(ctx.NO_KEYWORD);
3505#line 3506 "dhcp4_parser.cc"
3509#line 2198 "dhcp4_parser.yy"
3511 ctx.stack_.pop_back();
3514#line 3515 "dhcp4_parser.cc"
3518#line 2206 "dhcp4_parser.yy"
3520 ctx.unique(
"pools", ctx.loc2pos(yystack_[0].location));
3522 ctx.stack_.back()->set(
"pools", l);
3523 ctx.stack_.push_back(l);
3524 ctx.enter(ctx.POOLS);
3526#line 3527 "dhcp4_parser.cc"
3530#line 2212 "dhcp4_parser.yy"
3532 ctx.stack_.pop_back();
3535#line 3536 "dhcp4_parser.cc"
3539#line 2225 "dhcp4_parser.yy"
3541 ctx.warnAboutExtraCommas(yystack_[0].location);
3543#line 3544 "dhcp4_parser.cc"
3547#line 2230 "dhcp4_parser.yy"
3550 ctx.stack_.back()->add(m);
3551 ctx.stack_.push_back(m);
3553#line 3554 "dhcp4_parser.cc"
3557#line 2234 "dhcp4_parser.yy"
3560 ctx.require(
"pool", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
3561 ctx.stack_.pop_back();
3563#line 3564 "dhcp4_parser.cc"
3567#line 2240 "dhcp4_parser.yy"
3571 ctx.stack_.push_back(m);
3573#line 3574 "dhcp4_parser.cc"
3577#line 2244 "dhcp4_parser.yy"
3580 ctx.require(
"pool", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
3583#line 3584 "dhcp4_parser.cc"
3587#line 2252 "dhcp4_parser.yy"
3589 ctx.warnAboutExtraCommas(yystack_[0].location);
3591#line 3592 "dhcp4_parser.cc"
3595#line 2283 "dhcp4_parser.yy"
3597 ctx.unique(
"pool", ctx.loc2pos(yystack_[0].location));
3598 ctx.enter(ctx.NO_KEYWORD);
3600#line 3601 "dhcp4_parser.cc"
3604#line 2286 "dhcp4_parser.yy"
3606 ElementPtr pool(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
3607 ctx.stack_.back()->set(
"pool", pool);
3610#line 3611 "dhcp4_parser.cc"
3614#line 2292 "dhcp4_parser.yy"
3616 ctx.unique(
"pool-id", ctx.loc2pos(yystack_[2].location));
3617 ElementPtr id(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
3618 ctx.stack_.back()->set(
"pool-id",
id);
3620#line 3621 "dhcp4_parser.cc"
3624#line 2298 "dhcp4_parser.yy"
3626 ctx.enter(ctx.NO_KEYWORD);
3628#line 3629 "dhcp4_parser.cc"
3632#line 2300 "dhcp4_parser.yy"
3641 if ((old->size() != 1) || !old->contains(
"comment")) {
3642 std::stringstream msg;
3643 msg <<
"duplicate user-context entries (previous at "
3644 << old->getPosition().str() <<
")";
3645 error(yystack_[3].location, msg.str());
3648 user_context->set(
"comment", old->get(
"comment"));
3652 parent->set(
"user-context", user_context);
3655#line 3656 "dhcp4_parser.cc"
3659#line 2323 "dhcp4_parser.yy"
3661 ctx.enter(ctx.NO_KEYWORD);
3663#line 3664 "dhcp4_parser.cc"
3667#line 2325 "dhcp4_parser.yy"
3671 ElementPtr comment(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
3672 user_context->set(
"comment", comment);
3678 if (old->contains(
"comment")) {
3679 std::stringstream msg;
3680 msg <<
"duplicate user-context/comment entries (previous at "
3681 << old->getPosition().str() <<
")";
3682 error(yystack_[3].location, msg.str());
3685 merge(user_context, old);
3689 parent->set(
"user-context", user_context);
3692#line 3693 "dhcp4_parser.cc"
3696#line 2353 "dhcp4_parser.yy"
3698 ctx.unique(
"reservations", ctx.loc2pos(yystack_[0].location));
3700 ctx.stack_.back()->set(
"reservations", l);
3701 ctx.stack_.push_back(l);
3702 ctx.enter(ctx.RESERVATIONS);
3704#line 3705 "dhcp4_parser.cc"
3708#line 2359 "dhcp4_parser.yy"
3710 ctx.stack_.pop_back();
3713#line 3714 "dhcp4_parser.cc"
3717#line 2370 "dhcp4_parser.yy"
3719 ctx.warnAboutExtraCommas(yystack_[0].location);
3721#line 3722 "dhcp4_parser.cc"
3725#line 2375 "dhcp4_parser.yy"
3728 ctx.stack_.back()->add(m);
3729 ctx.stack_.push_back(m);
3731#line 3732 "dhcp4_parser.cc"
3735#line 2379 "dhcp4_parser.yy"
3738 ctx.stack_.pop_back();
3740#line 3741 "dhcp4_parser.cc"
3744#line 2384 "dhcp4_parser.yy"
3748 ctx.stack_.push_back(m);
3750#line 3751 "dhcp4_parser.cc"
3754#line 2388 "dhcp4_parser.yy"
3759#line 3760 "dhcp4_parser.cc"
3763#line 2399 "dhcp4_parser.yy"
3765 ctx.warnAboutExtraCommas(yystack_[0].location);
3767#line 3768 "dhcp4_parser.cc"
3771#line 2422 "dhcp4_parser.yy"
3773 ctx.unique(
"next-server", ctx.loc2pos(yystack_[0].location));
3774 ctx.enter(ctx.NO_KEYWORD);
3776#line 3777 "dhcp4_parser.cc"
3780#line 2425 "dhcp4_parser.yy"
3782 ElementPtr next_server(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
3783 ctx.stack_.back()->set(
"next-server", next_server);
3786#line 3787 "dhcp4_parser.cc"
3790#line 2431 "dhcp4_parser.yy"
3792 ctx.unique(
"server-hostname", ctx.loc2pos(yystack_[0].location));
3793 ctx.enter(ctx.NO_KEYWORD);
3795#line 3796 "dhcp4_parser.cc"
3799#line 2434 "dhcp4_parser.yy"
3801 ElementPtr srv(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
3802 ctx.stack_.back()->set(
"server-hostname", srv);
3805#line 3806 "dhcp4_parser.cc"
3809#line 2440 "dhcp4_parser.yy"
3811 ctx.unique(
"boot-file-name", ctx.loc2pos(yystack_[0].location));
3812 ctx.enter(ctx.NO_KEYWORD);
3814#line 3815 "dhcp4_parser.cc"
3818#line 2443 "dhcp4_parser.yy"
3820 ElementPtr bootfile(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
3821 ctx.stack_.back()->set(
"boot-file-name", bootfile);
3824#line 3825 "dhcp4_parser.cc"
3828#line 2449 "dhcp4_parser.yy"
3830 ctx.unique(
"ip-address", ctx.loc2pos(yystack_[0].location));
3831 ctx.enter(ctx.NO_KEYWORD);
3833#line 3834 "dhcp4_parser.cc"
3837#line 2452 "dhcp4_parser.yy"
3839 ElementPtr addr(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
3840 ctx.stack_.back()->set(
"ip-address", addr);
3843#line 3844 "dhcp4_parser.cc"
3847#line 2458 "dhcp4_parser.yy"
3849 ctx.unique(
"duid", ctx.loc2pos(yystack_[0].location));
3850 ctx.enter(ctx.NO_KEYWORD);
3852#line 3853 "dhcp4_parser.cc"
3856#line 2461 "dhcp4_parser.yy"
3859 ctx.stack_.back()->set(
"duid", d);
3862#line 3863 "dhcp4_parser.cc"
3866#line 2467 "dhcp4_parser.yy"
3868 ctx.unique(
"hw-address", ctx.loc2pos(yystack_[0].location));
3869 ctx.enter(ctx.NO_KEYWORD);
3871#line 3872 "dhcp4_parser.cc"
3875#line 2470 "dhcp4_parser.yy"
3878 ctx.stack_.back()->set(
"hw-address", hw);
3881#line 3882 "dhcp4_parser.cc"
3885#line 2476 "dhcp4_parser.yy"
3887 ctx.unique(
"client-id", ctx.loc2pos(yystack_[0].location));
3888 ctx.enter(ctx.NO_KEYWORD);
3890#line 3891 "dhcp4_parser.cc"
3894#line 2479 "dhcp4_parser.yy"
3897 ctx.stack_.back()->set(
"client-id", hw);
3900#line 3901 "dhcp4_parser.cc"
3904#line 2485 "dhcp4_parser.yy"
3906 ctx.unique(
"circuit-id", ctx.loc2pos(yystack_[0].location));
3907 ctx.enter(ctx.NO_KEYWORD);
3909#line 3910 "dhcp4_parser.cc"
3913#line 2488 "dhcp4_parser.yy"
3916 ctx.stack_.back()->set(
"circuit-id", hw);
3919#line 3920 "dhcp4_parser.cc"
3923#line 2494 "dhcp4_parser.yy"
3925 ctx.unique(
"flex-id", ctx.loc2pos(yystack_[0].location));
3926 ctx.enter(ctx.NO_KEYWORD);
3928#line 3929 "dhcp4_parser.cc"
3932#line 2497 "dhcp4_parser.yy"
3935 ctx.stack_.back()->set(
"flex-id", hw);
3938#line 3939 "dhcp4_parser.cc"
3942#line 2503 "dhcp4_parser.yy"
3944 ctx.unique(
"hostname", ctx.loc2pos(yystack_[0].location));
3945 ctx.enter(ctx.NO_KEYWORD);
3947#line 3948 "dhcp4_parser.cc"
3951#line 2506 "dhcp4_parser.yy"
3953 ElementPtr host(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
3954 ctx.stack_.back()->set(
"hostname", host);
3957#line 3958 "dhcp4_parser.cc"
3961#line 2512 "dhcp4_parser.yy"
3963 ctx.unique(
"client-classes", ctx.loc2pos(yystack_[0].location));
3965 ctx.stack_.back()->set(
"client-classes", c);
3966 ctx.stack_.push_back(c);
3967 ctx.enter(ctx.NO_KEYWORD);
3969#line 3970 "dhcp4_parser.cc"
3973#line 2518 "dhcp4_parser.yy"
3975 ctx.stack_.pop_back();
3978#line 3979 "dhcp4_parser.cc"
3982#line 2526 "dhcp4_parser.yy"
3984 ctx.unique(
"relay", ctx.loc2pos(yystack_[0].location));
3986 ctx.stack_.back()->set(
"relay", m);
3987 ctx.stack_.push_back(m);
3988 ctx.enter(ctx.RELAY);
3990#line 3991 "dhcp4_parser.cc"
3994#line 2532 "dhcp4_parser.yy"
3996 ctx.stack_.pop_back();
3999#line 4000 "dhcp4_parser.cc"
4003#line 2540 "dhcp4_parser.yy"
4005 ctx.unique(
"ip-addresses", ctx.loc2pos(yystack_[0].location));
4007 ctx.stack_.back()->set(
"ip-addresses", l);
4008 ctx.stack_.push_back(l);
4009 ctx.enter(ctx.NO_KEYWORD);
4011#line 4012 "dhcp4_parser.cc"
4015#line 2546 "dhcp4_parser.yy"
4017 ctx.stack_.pop_back();
4020#line 4021 "dhcp4_parser.cc"
4024#line 2554 "dhcp4_parser.yy"
4026 ctx.unique(
"client-classes", ctx.loc2pos(yystack_[0].location));
4028 ctx.stack_.back()->set(
"client-classes", l);
4029 ctx.stack_.push_back(l);
4030 ctx.enter(ctx.CLIENT_CLASSES);
4032#line 4033 "dhcp4_parser.cc"
4036#line 2560 "dhcp4_parser.yy"
4038 ctx.stack_.pop_back();
4041#line 4042 "dhcp4_parser.cc"
4045#line 2571 "dhcp4_parser.yy"
4047 ctx.warnAboutExtraCommas(yystack_[0].location);
4049#line 4050 "dhcp4_parser.cc"
4053#line 2576 "dhcp4_parser.yy"
4056 ctx.stack_.back()->add(m);
4057 ctx.stack_.push_back(m);
4059#line 4060 "dhcp4_parser.cc"
4063#line 2580 "dhcp4_parser.yy"
4066 ctx.require(
"name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
4067 ctx.stack_.pop_back();
4069#line 4070 "dhcp4_parser.cc"
4073#line 2592 "dhcp4_parser.yy"
4075 ctx.warnAboutExtraCommas(yystack_[0].location);
4077#line 4078 "dhcp4_parser.cc"
4081#line 2618 "dhcp4_parser.yy"
4083 ctx.unique(
"test", ctx.loc2pos(yystack_[0].location));
4084 ctx.enter(ctx.NO_KEYWORD);
4086#line 4087 "dhcp4_parser.cc"
4090#line 2621 "dhcp4_parser.yy"
4093 ctx.stack_.back()->set(
"test",
test);
4096#line 4097 "dhcp4_parser.cc"
4100#line 2627 "dhcp4_parser.yy"
4102 ctx.unique(
"template-test", ctx.loc2pos(yystack_[0].location));
4103 ctx.enter(ctx.NO_KEYWORD);
4105#line 4106 "dhcp4_parser.cc"
4109#line 2630 "dhcp4_parser.yy"
4111 ElementPtr template_test(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
4112 ctx.stack_.back()->set(
"template-test", template_test);
4115#line 4116 "dhcp4_parser.cc"
4119#line 2637 "dhcp4_parser.yy"
4121 ctx.unique(
"only-if-required", ctx.loc2pos(yystack_[2].location));
4123 ctx.stack_.back()->set(
"only-if-required", b);
4125#line 4126 "dhcp4_parser.cc"
4129#line 2643 "dhcp4_parser.yy"
4131 ctx.unique(
"only-in-additional-list", ctx.loc2pos(yystack_[2].location));
4133 ctx.stack_.back()->set(
"only-in-additional-list", b);
4135#line 4136 "dhcp4_parser.cc"
4139#line 2651 "dhcp4_parser.yy"
4141 ctx.unique(
"dhcp4o6-port", ctx.loc2pos(yystack_[2].location));
4142 ElementPtr time(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
4143 ctx.stack_.back()->set(
"dhcp4o6-port", time);
4145#line 4146 "dhcp4_parser.cc"
4149#line 2659 "dhcp4_parser.yy"
4151 ctx.unique(
"control-sockets", ctx.loc2pos(yystack_[0].location));
4153 ctx.stack_.back()->set(
"control-sockets", l);
4154 ctx.stack_.push_back(l);
4155 ctx.enter(ctx.CONTROL_SOCKETS);
4157#line 4158 "dhcp4_parser.cc"
4161#line 2665 "dhcp4_parser.yy"
4163 ctx.stack_.pop_back();
4166#line 4167 "dhcp4_parser.cc"
4170#line 2676 "dhcp4_parser.yy"
4172 ctx.warnAboutExtraCommas(yystack_[0].location);
4174#line 4175 "dhcp4_parser.cc"
4178#line 2681 "dhcp4_parser.yy"
4181 ctx.stack_.back()->add(m);
4182 ctx.stack_.push_back(m);
4184#line 4185 "dhcp4_parser.cc"
4188#line 2685 "dhcp4_parser.yy"
4190 ctx.stack_.pop_back();
4192#line 4193 "dhcp4_parser.cc"
4196#line 2691 "dhcp4_parser.yy"
4198 ctx.warnAboutExtraCommas(yystack_[0].location);
4200#line 4201 "dhcp4_parser.cc"
4204#line 2711 "dhcp4_parser.yy"
4206 ctx.unique(
"socket-type", ctx.loc2pos(yystack_[0].location));
4207 ctx.enter(ctx.CONTROL_SOCKET_TYPE);
4209#line 4210 "dhcp4_parser.cc"
4213#line 2714 "dhcp4_parser.yy"
4215 ctx.stack_.back()->set(
"socket-type", yystack_[0].value.as <
ElementPtr > ());
4218#line 4219 "dhcp4_parser.cc"
4222#line 2720 "dhcp4_parser.yy"
4224#line 4225 "dhcp4_parser.cc"
4228#line 2721 "dhcp4_parser.yy"
4230#line 4231 "dhcp4_parser.cc"
4234#line 2722 "dhcp4_parser.yy"
4236#line 4237 "dhcp4_parser.cc"
4240#line 2725 "dhcp4_parser.yy"
4242 ctx.unique(
"socket-name", ctx.loc2pos(yystack_[0].location));
4243 ctx.enter(ctx.NO_KEYWORD);
4245#line 4246 "dhcp4_parser.cc"
4249#line 2728 "dhcp4_parser.yy"
4251 ElementPtr name(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
4252 ctx.stack_.back()->set(
"socket-name", name);
4255#line 4256 "dhcp4_parser.cc"
4259#line 2734 "dhcp4_parser.yy"
4261 ctx.unique(
"socket-address", ctx.loc2pos(yystack_[0].location));
4262 ctx.enter(ctx.NO_KEYWORD);
4264#line 4265 "dhcp4_parser.cc"
4268#line 2737 "dhcp4_parser.yy"
4270 ElementPtr address(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
4271 ctx.stack_.back()->set(
"socket-address", address);
4274#line 4275 "dhcp4_parser.cc"
4278#line 2743 "dhcp4_parser.yy"
4280 ctx.unique(
"socket-port", ctx.loc2pos(yystack_[2].location));
4281 ElementPtr port(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
4282 ctx.stack_.back()->set(
"socket-port", port);
4284#line 4285 "dhcp4_parser.cc"
4288#line 2749 "dhcp4_parser.yy"
4290 ctx.unique(
"cert-required", ctx.loc2pos(yystack_[2].location));
4291 ElementPtr req(
new BoolElement(yystack_[0].value.as <
bool > (), ctx.loc2pos(yystack_[0].location)));
4292 ctx.stack_.back()->set(
"cert-required", req);
4294#line 4295 "dhcp4_parser.cc"
4298#line 2755 "dhcp4_parser.yy"
4300 ctx.unique(
"http-headers", ctx.loc2pos(yystack_[0].location));
4302 ctx.stack_.back()->set(
"http-headers", l);
4303 ctx.stack_.push_back(l);
4304 ctx.enter(ctx.HTTP_HEADERS);
4306#line 4307 "dhcp4_parser.cc"
4310#line 2761 "dhcp4_parser.yy"
4312 ctx.stack_.pop_back();
4315#line 4316 "dhcp4_parser.cc"
4319#line 2772 "dhcp4_parser.yy"
4321 ctx.warnAboutExtraCommas(yystack_[0].location);
4323#line 4324 "dhcp4_parser.cc"
4327#line 2777 "dhcp4_parser.yy"
4330 ctx.stack_.back()->add(m);
4331 ctx.stack_.push_back(m);
4333#line 4334 "dhcp4_parser.cc"
4337#line 2781 "dhcp4_parser.yy"
4339 ctx.stack_.pop_back();
4341#line 4342 "dhcp4_parser.cc"
4345#line 2787 "dhcp4_parser.yy"
4347 ctx.warnAboutExtraCommas(yystack_[0].location);
4349#line 4350 "dhcp4_parser.cc"
4353#line 2799 "dhcp4_parser.yy"
4355 ctx.unique(
"value", ctx.loc2pos(yystack_[0].location));
4356 ctx.enter(ctx.NO_KEYWORD);
4358#line 4359 "dhcp4_parser.cc"
4362#line 2802 "dhcp4_parser.yy"
4364 ElementPtr value(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
4365 ctx.stack_.back()->set(
"value", value);
4368#line 4369 "dhcp4_parser.cc"
4372#line 2810 "dhcp4_parser.yy"
4374 ctx.unique(
"authentication", ctx.loc2pos(yystack_[0].location));
4376 ctx.stack_.back()->set(
"authentication", m);
4377 ctx.stack_.push_back(m);
4378 ctx.enter(ctx.AUTHENTICATION);
4380#line 4381 "dhcp4_parser.cc"
4384#line 2816 "dhcp4_parser.yy"
4387 ctx.require(
"type", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location));
4388 ctx.stack_.pop_back();
4391#line 4392 "dhcp4_parser.cc"
4395#line 2825 "dhcp4_parser.yy"
4397 ctx.warnAboutExtraCommas(yystack_[0].location);
4399#line 4400 "dhcp4_parser.cc"
4403#line 2839 "dhcp4_parser.yy"
4405 ctx.unique(
"type", ctx.loc2pos(yystack_[0].location));
4406 ctx.enter(ctx.AUTH_TYPE);
4408#line 4409 "dhcp4_parser.cc"
4412#line 2842 "dhcp4_parser.yy"
4414 ctx.stack_.back()->set(
"type", yystack_[0].value.as <
ElementPtr > ());
4417#line 4418 "dhcp4_parser.cc"
4421#line 2847 "dhcp4_parser.yy"
4423#line 4424 "dhcp4_parser.cc"
4427#line 2850 "dhcp4_parser.yy"
4429 ctx.unique(
"realm", ctx.loc2pos(yystack_[0].location));
4430 ctx.enter(ctx.NO_KEYWORD);
4432#line 4433 "dhcp4_parser.cc"
4436#line 2853 "dhcp4_parser.yy"
4438 ElementPtr realm(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
4439 ctx.stack_.back()->set(
"realm", realm);
4442#line 4443 "dhcp4_parser.cc"
4446#line 2859 "dhcp4_parser.yy"
4448 ctx.unique(
"directory", ctx.loc2pos(yystack_[0].location));
4449 ctx.enter(ctx.NO_KEYWORD);
4451#line 4452 "dhcp4_parser.cc"
4455#line 2862 "dhcp4_parser.yy"
4457 ElementPtr directory(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
4458 ctx.stack_.back()->set(
"directory", directory);
4461#line 4462 "dhcp4_parser.cc"
4465#line 2868 "dhcp4_parser.yy"
4467 ctx.unique(
"clients", ctx.loc2pos(yystack_[0].location));
4469 ctx.stack_.back()->set(
"clients", l);
4470 ctx.stack_.push_back(l);
4471 ctx.enter(ctx.CLIENTS);
4473#line 4474 "dhcp4_parser.cc"
4477#line 2874 "dhcp4_parser.yy"
4479 ctx.stack_.pop_back();
4482#line 4483 "dhcp4_parser.cc"
4486#line 2885 "dhcp4_parser.yy"
4488 ctx.warnAboutExtraCommas(yystack_[0].location);
4490#line 4491 "dhcp4_parser.cc"
4494#line 2890 "dhcp4_parser.yy"
4497 ctx.stack_.back()->add(m);
4498 ctx.stack_.push_back(m);
4500#line 4501 "dhcp4_parser.cc"
4504#line 2894 "dhcp4_parser.yy"
4506 ctx.stack_.pop_back();
4508#line 4509 "dhcp4_parser.cc"
4512#line 2900 "dhcp4_parser.yy"
4514 ctx.warnAboutExtraCommas(yystack_[0].location);
4516#line 4517 "dhcp4_parser.cc"
4520#line 2914 "dhcp4_parser.yy"
4522 ctx.unique(
"user-file", ctx.loc2pos(yystack_[0].location));
4523 ctx.enter(ctx.NO_KEYWORD);
4525#line 4526 "dhcp4_parser.cc"
4529#line 2917 "dhcp4_parser.yy"
4531 ElementPtr user(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
4532 ctx.stack_.back()->set(
"user-file", user);
4535#line 4536 "dhcp4_parser.cc"
4539#line 2925 "dhcp4_parser.yy"
4541 ctx.unique(
"dhcp-queue-control", ctx.loc2pos(yystack_[0].location));
4543 ctx.stack_.back()->set(
"dhcp-queue-control", qc);
4544 ctx.stack_.push_back(qc);
4545 ctx.enter(ctx.DHCP_QUEUE_CONTROL);
4547#line 4548 "dhcp4_parser.cc"
4551#line 2931 "dhcp4_parser.yy"
4554 ctx.require(
"enable-queue", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location));
4555 ctx.stack_.pop_back();
4558#line 4559 "dhcp4_parser.cc"
4562#line 2940 "dhcp4_parser.yy"
4564 ctx.warnAboutExtraCommas(yystack_[0].location);
4566#line 4567 "dhcp4_parser.cc"
4570#line 2953 "dhcp4_parser.yy"
4572 ctx.unique(
"enable-queue", ctx.loc2pos(yystack_[2].location));
4574 ctx.stack_.back()->set(
"enable-queue", b);
4576#line 4577 "dhcp4_parser.cc"
4580#line 2959 "dhcp4_parser.yy"
4582 ctx.unique(
"queue-type", ctx.loc2pos(yystack_[0].location));
4583 ctx.enter(ctx.NO_KEYWORD);
4585#line 4586 "dhcp4_parser.cc"
4589#line 2962 "dhcp4_parser.yy"
4592 ctx.stack_.back()->set(
"queue-type", qt);
4595#line 4596 "dhcp4_parser.cc"
4599#line 2968 "dhcp4_parser.yy"
4601 ctx.unique(
"capacity", ctx.loc2pos(yystack_[2].location));
4602 ElementPtr c(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
4603 ctx.stack_.back()->set(
"capacity", c);
4605#line 4606 "dhcp4_parser.cc"
4609#line 2974 "dhcp4_parser.yy"
4611 ctx.unique(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location));
4612 ctx.enter(ctx.NO_KEYWORD);
4614#line 4615 "dhcp4_parser.cc"
4618#line 2977 "dhcp4_parser.yy"
4620 ctx.stack_.back()->set(yystack_[3].value.as < std::string > (), yystack_[0].value.as <
ElementPtr > ());
4623#line 4624 "dhcp4_parser.cc"
4627#line 2984 "dhcp4_parser.yy"
4629 ctx.unique(
"dhcp-ddns", ctx.loc2pos(yystack_[0].location));
4631 ctx.stack_.back()->set(
"dhcp-ddns", m);
4632 ctx.stack_.push_back(m);
4633 ctx.enter(ctx.DHCP_DDNS);
4635#line 4636 "dhcp4_parser.cc"
4639#line 2990 "dhcp4_parser.yy"
4642 ctx.require(
"enable-updates", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location));
4643 ctx.stack_.pop_back();
4646#line 4647 "dhcp4_parser.cc"
4650#line 2997 "dhcp4_parser.yy"
4654 ctx.stack_.push_back(m);
4656#line 4657 "dhcp4_parser.cc"
4660#line 3001 "dhcp4_parser.yy"
4663 ctx.require(
"enable-updates", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
4666#line 4667 "dhcp4_parser.cc"
4670#line 3009 "dhcp4_parser.yy"
4672 ctx.warnAboutExtraCommas(yystack_[0].location);
4674#line 4675 "dhcp4_parser.cc"
4678#line 3027 "dhcp4_parser.yy"
4680 ctx.unique(
"enable-updates", ctx.loc2pos(yystack_[2].location));
4682 ctx.stack_.back()->set(
"enable-updates", b);
4684#line 4685 "dhcp4_parser.cc"
4688#line 3033 "dhcp4_parser.yy"
4690 ctx.unique(
"server-ip", ctx.loc2pos(yystack_[0].location));
4691 ctx.enter(ctx.NO_KEYWORD);
4693#line 4694 "dhcp4_parser.cc"
4697#line 3036 "dhcp4_parser.yy"
4700 ctx.stack_.back()->set(
"server-ip", s);
4703#line 4704 "dhcp4_parser.cc"
4707#line 3042 "dhcp4_parser.yy"
4709 ctx.unique(
"server-port", ctx.loc2pos(yystack_[2].location));
4710 ElementPtr i(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
4711 ctx.stack_.back()->set(
"server-port", i);
4713#line 4714 "dhcp4_parser.cc"
4717#line 3048 "dhcp4_parser.yy"
4719 ctx.unique(
"sender-ip", ctx.loc2pos(yystack_[0].location));
4720 ctx.enter(ctx.NO_KEYWORD);
4722#line 4723 "dhcp4_parser.cc"
4726#line 3051 "dhcp4_parser.yy"
4729 ctx.stack_.back()->set(
"sender-ip", s);
4732#line 4733 "dhcp4_parser.cc"
4736#line 3057 "dhcp4_parser.yy"
4738 ctx.unique(
"sender-port", ctx.loc2pos(yystack_[2].location));
4739 ElementPtr i(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
4740 ctx.stack_.back()->set(
"sender-port", i);
4742#line 4743 "dhcp4_parser.cc"
4746#line 3063 "dhcp4_parser.yy"
4748 ctx.unique(
"max-queue-size", ctx.loc2pos(yystack_[2].location));
4749 ElementPtr i(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
4750 ctx.stack_.back()->set(
"max-queue-size", i);
4752#line 4753 "dhcp4_parser.cc"
4756#line 3069 "dhcp4_parser.yy"
4758 ctx.unique(
"ncr-protocol", ctx.loc2pos(yystack_[0].location));
4759 ctx.enter(ctx.NCR_PROTOCOL);
4761#line 4762 "dhcp4_parser.cc"
4765#line 3072 "dhcp4_parser.yy"
4767 ctx.stack_.back()->set(
"ncr-protocol", yystack_[0].value.as <
ElementPtr > ());
4770#line 4771 "dhcp4_parser.cc"
4774#line 3078 "dhcp4_parser.yy"
4776#line 4777 "dhcp4_parser.cc"
4780#line 3079 "dhcp4_parser.yy"
4782#line 4783 "dhcp4_parser.cc"
4786#line 3082 "dhcp4_parser.yy"
4788 ctx.unique(
"ncr-format", ctx.loc2pos(yystack_[0].location));
4789 ctx.enter(ctx.NCR_FORMAT);
4791#line 4792 "dhcp4_parser.cc"
4795#line 3085 "dhcp4_parser.yy"
4798 ctx.stack_.back()->set(
"ncr-format", json);
4801#line 4802 "dhcp4_parser.cc"
4805#line 3093 "dhcp4_parser.yy"
4807 ctx.unique(
"config-control", ctx.loc2pos(yystack_[0].location));
4809 ctx.stack_.back()->set(
"config-control", i);
4810 ctx.stack_.push_back(i);
4811 ctx.enter(ctx.CONFIG_CONTROL);
4813#line 4814 "dhcp4_parser.cc"
4817#line 3099 "dhcp4_parser.yy"
4820 ctx.stack_.pop_back();
4823#line 4824 "dhcp4_parser.cc"
4827#line 3105 "dhcp4_parser.yy"
4831 ctx.stack_.push_back(m);
4833#line 4834 "dhcp4_parser.cc"
4837#line 3109 "dhcp4_parser.yy"
4842#line 4843 "dhcp4_parser.cc"
4846#line 3117 "dhcp4_parser.yy"
4848 ctx.warnAboutExtraCommas(yystack_[0].location);
4850#line 4851 "dhcp4_parser.cc"
4854#line 3127 "dhcp4_parser.yy"
4856 ctx.unique(
"config-databases", ctx.loc2pos(yystack_[0].location));
4858 ctx.stack_.back()->set(
"config-databases", l);
4859 ctx.stack_.push_back(l);
4860 ctx.enter(ctx.CONFIG_DATABASE);
4862#line 4863 "dhcp4_parser.cc"
4866#line 3133 "dhcp4_parser.yy"
4868 ctx.stack_.pop_back();
4871#line 4872 "dhcp4_parser.cc"
4875#line 3138 "dhcp4_parser.yy"
4877 ctx.unique(
"config-fetch-wait-time", ctx.loc2pos(yystack_[2].location));
4878 ElementPtr value(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
4879 ctx.stack_.back()->set(
"config-fetch-wait-time", value);
4881#line 4882 "dhcp4_parser.cc"
4885#line 3146 "dhcp4_parser.yy"
4887 ctx.unique(
"loggers", ctx.loc2pos(yystack_[0].location));
4889 ctx.stack_.back()->set(
"loggers", l);
4890 ctx.stack_.push_back(l);
4891 ctx.enter(ctx.LOGGERS);
4893#line 4894 "dhcp4_parser.cc"
4897#line 3152 "dhcp4_parser.yy"
4899 ctx.stack_.pop_back();
4902#line 4903 "dhcp4_parser.cc"
4906#line 3161 "dhcp4_parser.yy"
4908 ctx.warnAboutExtraCommas(yystack_[0].location);
4910#line 4911 "dhcp4_parser.cc"
4914#line 3167 "dhcp4_parser.yy"
4917 ctx.stack_.back()->add(l);
4918 ctx.stack_.push_back(l);
4920#line 4921 "dhcp4_parser.cc"
4924#line 3171 "dhcp4_parser.yy"
4926 ctx.stack_.pop_back();
4928#line 4929 "dhcp4_parser.cc"
4932#line 3177 "dhcp4_parser.yy"
4934 ctx.warnAboutExtraCommas(yystack_[0].location);
4936#line 4937 "dhcp4_parser.cc"
4940#line 3191 "dhcp4_parser.yy"
4942 ctx.unique(
"debuglevel", ctx.loc2pos(yystack_[2].location));
4943 ElementPtr dl(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
4944 ctx.stack_.back()->set(
"debuglevel", dl);
4946#line 4947 "dhcp4_parser.cc"
4950#line 3197 "dhcp4_parser.yy"
4952 ctx.unique(
"severity", ctx.loc2pos(yystack_[0].location));
4953 ctx.enter(ctx.NO_KEYWORD);
4955#line 4956 "dhcp4_parser.cc"
4959#line 3200 "dhcp4_parser.yy"
4961 ElementPtr sev(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
4962 ctx.stack_.back()->set(
"severity", sev);
4965#line 4966 "dhcp4_parser.cc"
4969#line 3206 "dhcp4_parser.yy"
4971 ctx.unique(
"output-options", ctx.loc2pos(yystack_[0].location));
4973 ctx.stack_.back()->set(
"output-options", l);
4974 ctx.stack_.push_back(l);
4975 ctx.enter(ctx.OUTPUT_OPTIONS);
4977#line 4978 "dhcp4_parser.cc"
4981#line 3212 "dhcp4_parser.yy"
4983 ctx.stack_.pop_back();
4986#line 4987 "dhcp4_parser.cc"
4990#line 3219 "dhcp4_parser.yy"
4992 ctx.warnAboutExtraCommas(yystack_[0].location);
4994#line 4995 "dhcp4_parser.cc"
4998#line 3224 "dhcp4_parser.yy"
5001 ctx.stack_.back()->add(m);
5002 ctx.stack_.push_back(m);
5004#line 5005 "dhcp4_parser.cc"
5008#line 3228 "dhcp4_parser.yy"
5010 ctx.stack_.pop_back();
5012#line 5013 "dhcp4_parser.cc"
5016#line 3234 "dhcp4_parser.yy"
5018 ctx.warnAboutExtraCommas(yystack_[0].location);
5020#line 5021 "dhcp4_parser.cc"
5024#line 3246 "dhcp4_parser.yy"
5026 ctx.unique(
"output", ctx.loc2pos(yystack_[0].location));
5027 ctx.enter(ctx.NO_KEYWORD);
5029#line 5030 "dhcp4_parser.cc"
5033#line 3249 "dhcp4_parser.yy"
5035 ElementPtr sev(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
5036 ctx.stack_.back()->set(
"output", sev);
5039#line 5040 "dhcp4_parser.cc"
5043#line 3255 "dhcp4_parser.yy"
5045 ctx.unique(
"flush", ctx.loc2pos(yystack_[2].location));
5046 ElementPtr flush(
new BoolElement(yystack_[0].value.as <
bool > (), ctx.loc2pos(yystack_[0].location)));
5047 ctx.stack_.back()->set(
"flush", flush);
5049#line 5050 "dhcp4_parser.cc"
5053#line 3261 "dhcp4_parser.yy"
5055 ctx.unique(
"maxsize", ctx.loc2pos(yystack_[2].location));
5056 ElementPtr maxsize(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
5057 ctx.stack_.back()->set(
"maxsize", maxsize);
5059#line 5060 "dhcp4_parser.cc"
5063#line 3267 "dhcp4_parser.yy"
5065 ctx.unique(
"maxver", ctx.loc2pos(yystack_[2].location));
5066 ElementPtr maxver(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
5067 ctx.stack_.back()->set(
"maxver", maxver);
5069#line 5070 "dhcp4_parser.cc"
5073#line 3273 "dhcp4_parser.yy"
5075 ctx.unique(
"pattern", ctx.loc2pos(yystack_[0].location));
5076 ctx.enter(ctx.NO_KEYWORD);
5078#line 5079 "dhcp4_parser.cc"
5082#line 3276 "dhcp4_parser.yy"
5084 ElementPtr sev(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
5085 ctx.stack_.back()->set(
"pattern", sev);
5088#line 5089 "dhcp4_parser.cc"
5092#line 3282 "dhcp4_parser.yy"
5094 ctx.unique(
"compatibility", ctx.loc2pos(yystack_[0].location));
5096 ctx.stack_.back()->set(
"compatibility", i);
5097 ctx.stack_.push_back(i);
5098 ctx.enter(ctx.COMPATIBILITY);
5100#line 5101 "dhcp4_parser.cc"
5104#line 3288 "dhcp4_parser.yy"
5106 ctx.stack_.pop_back();
5109#line 5110 "dhcp4_parser.cc"
5113#line 3295 "dhcp4_parser.yy"
5115 ctx.warnAboutExtraCommas(yystack_[0].location);
5117#line 5118 "dhcp4_parser.cc"
5121#line 3307 "dhcp4_parser.yy"
5123 ctx.unique(
"lenient-option-parsing", ctx.loc2pos(yystack_[2].location));
5125 ctx.stack_.back()->set(
"lenient-option-parsing", b);
5127#line 5128 "dhcp4_parser.cc"
5131#line 3313 "dhcp4_parser.yy"
5133 ctx.unique(
"ignore-dhcp-server-identifier", ctx.loc2pos(yystack_[2].location));
5135 ctx.stack_.back()->set(
"ignore-dhcp-server-identifier", b);
5137#line 5138 "dhcp4_parser.cc"
5141#line 3319 "dhcp4_parser.yy"
5143 ctx.unique(
"ignore-rai-link-selection", ctx.loc2pos(yystack_[2].location));
5145 ctx.stack_.back()->set(
"ignore-rai-link-selection", b);
5147#line 5148 "dhcp4_parser.cc"
5151#line 3325 "dhcp4_parser.yy"
5153 ctx.unique(
"exclude-first-last-24", ctx.loc2pos(yystack_[2].location));
5155 ctx.stack_.back()->set(
"exclude-first-last-24", b);
5157#line 5158 "dhcp4_parser.cc"
5161#line 5162 "dhcp4_parser.cc"
5170 YYCDEBUG <<
"Caught exception: " << yyexc.what() <<
'\n';
5180 yypush_ (YY_NULLPTR,
YY_MOVE (yylhs));
5194 std::string msg = yysyntax_error_ (yyctx);
5200 if (yyerrstatus_ == 3)
5208 else if (!yyla.
empty ())
5210 yy_destroy_ (
"Error: discarding", yyla);
5244 yyn = yypact_[+yystack_[0].state];
5245 if (!yy_pact_value_is_default_ (yyn))
5248 if (0 <= yyn && yyn <= yylast_
5251 yyn = yytable_[yyn];
5258 if (yystack_.size () == 1)
5261 yyerror_range[1].
location = yystack_[0].location;
5262 yy_destroy_ (
"Error: popping", yystack_[0]);
5267 stack_symbol_type error_token;
5273 error_token.state = state_type (yyn);
5274 yypush_ (
"Shifting",
YY_MOVE (error_token));
5300 yy_destroy_ (
"Cleanup: discarding lookahead", yyla);
5306 while (1 < yystack_.size ())
5308 yy_destroy_ (
"Cleanup: popping", yystack_[0]);
5317 YYCDEBUG <<
"Exception caught: cleaning lookahead and stack\n";
5321 yy_destroy_ (YY_NULLPTR, yyla);
5323 while (1 < yystack_.size ())
5325 yy_destroy_ (YY_NULLPTR, yystack_[0]);
5345 Dhcp4Parser::yytnamerr_ (
const char *yystr)
5350 char const *yyp = yystr;
5357 goto do_not_strip_quotes;
5361 goto do_not_strip_quotes;
5373 do_not_strip_quotes: ;
5382 return yytnamerr_ (yytname_[yysymbol]);
5389 : yyparser_ (yyparser)
5399 const int yyn = yypact_[+yyparser_.yystack_[0].state];
5400 if (!yy_pact_value_is_default_ (yyn))
5405 const int yyxbegin = yyn < 0 ? -yyn : 0;
5407 const int yychecklim = yylast_ - yyn + 1;
5409 for (
int yyx = yyxbegin; yyx < yyxend; ++yyx)
5411 && !yy_table_value_is_error_ (yytable_[yyx + yyn]))
5415 else if (yycount == yyargn)
5422 if (yyarg && yycount == 0 && 0 < yyargn)
5433 Dhcp4Parser::yy_syntax_error_arguments_ (
const context& yyctx,
5464 yyarg[0] = yyctx.
token ();
5465 int yyn = yyctx.
expected_tokens (yyarg ? yyarg + 1 : yyarg, yyargn - 1);
5473 Dhcp4Parser::yysyntax_error_ (
const context& yyctx)
const
5476 enum { YYARGS_MAX = 5 };
5479 int yycount = yy_syntax_error_arguments_ (yyctx, yyarg, YYARGS_MAX);
5481 char const* yyformat = YY_NULLPTR;
5484#define YYCASE_(N, S) \
5490 YYCASE_ (1,
YY_(
"syntax error, unexpected %s"));
5491 YYCASE_ (2,
YY_(
"syntax error, unexpected %s, expecting %s"));
5492 YYCASE_ (3,
YY_(
"syntax error, unexpected %s, expecting %s or %s"));
5493 YYCASE_ (4,
YY_(
"syntax error, unexpected %s, expecting %s or %s or %s"));
5494 YYCASE_ (5,
YY_(
"syntax error, unexpected %s, expecting %s or %s or %s or %s"));
5500 std::ptrdiff_t yyi = 0;
5501 for (
char const* yyp = yyformat; *yyp; ++yyp)
5502 if (yyp[0] ==
'%' && yyp[1] ==
's' && yyi < yycount)
5513 const short Dhcp4Parser::yypact_ninf_ = -1423;
5515 const signed char Dhcp4Parser::yytable_ninf_ = -1;
5518 Dhcp4Parser::yypact_[] =
5520 612, -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423,
5521 -1423, -1423, -1423, -1423, 36, 52, 64, 69, 71, 76,
5522 96, 106, 119, 129, 181, 207, 218, 233, -1423, -1423,
5523 -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423,
5524 -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423,
5525 -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423,
5526 -1423, -1423, -1423, -1423, 52, -151, 254, 248, 170, 676,
5527 1360, 73, -5, 123, 466, -115, 662, 134, -1423, 84,
5528 264, 269, 267, 289, -1423, 40, -1423, -1423, -1423, -1423,
5529 311, 354, 356, -1423, -1423, -1423, 370, 391, -1423, -1423,
5530 -1423, 393, 394, 401, 412, 413, 418, 419, 423, 426,
5531 427, 428, 430, -1423, 431, 432, 440, 441, 458, -1423,
5532 -1423, -1423, 459, 460, 461, 464, 465, 468, 471, -1423,
5533 -1423, -1423, 473, -1423, -1423, -1423, -1423, -1423, 474, 475,
5534 476, -1423, -1423, -1423, -1423, -1423, 477, -1423, -1423, -1423,
5535 -1423, -1423, -1423, 479, 481, 482, -1423, -1423, 483, -1423,
5536 50, -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423,
5537 -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423,
5538 -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423,
5539 -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423,
5540 -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423,
5541 -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423,
5542 -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423,
5543 -1423, -1423, -1423, -1423, -1423, -1423, 484, 485, 487, 489,
5544 -1423, 72, -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423,
5545 -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423, 491, -1423,
5546 -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423,
5547 -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423,
5548 -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423,
5549 -1423, -1423, -1423, -1423, -1423, -1423, 79, -1423, -1423, -1423,
5550 -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423,
5551 -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423,
5552 -1423, 494, -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423,
5553 -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423,
5554 -1423, -1423, 83, -1423, -1423, -1423, -1423, -1423, -1423, -1423,
5555 -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423,
5556 305, 346, -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423,
5557 -1423, -1423, -1423, -1423, 462, -1423, -1423, 495, -1423, -1423,
5558 -1423, 496, -1423, -1423, 493, 406, -1423, -1423, -1423, -1423,
5559 -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423, 500,
5560 503, 504, -1423, -1423, -1423, -1423, -1423, 501, 508, -1423,
5561 -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423,
5562 -1423, -1423, -1423, 111, -1423, -1423, -1423, 509, -1423, 510,
5563 -1423, 512, 515, -1423, -1423, -1423, -1423, -1423, 112, -1423,
5564 -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423, 516,
5565 162, -1423, -1423, -1423, -1423, 52, 52, -1423, 276, 519,
5566 -1423, -1423, 520, 523, 524, 291, 293, 295, 536, 538,
5567 540, 310, 306, 542, 545, 546, 317, 318, 319, 323,
5568 324, 320, 325, 326, 328, 330, 339, 342, 558, 349,
5569 350, 355, 357, 362, 577, 579, 589, 363, 364, 359,
5570 368, 369, 372, 374, 591, 603, 607, 386, 614, 624,
5571 626, 629, 630, 399, 403, 407, 631, 636, 649, 652,
5572 654, 422, 657, 658, 659, 660, 664, 665, 434, 435,
5573 436, 666, 667, -1423, 248, -1423, 672, 673, 674, 442,
5574 444, 429, 448, 170, -1423, 682, 684, 686, 687, 689,
5575 690, 463, 691, 692, 693, 695, 697, 676, -1423, 699,
5576 467, 1360, -1423, 701, 708, 709, 710, 711, 712, 714,
5577 715, -1423, 73, -1423, 717, 718, 486, 721, 722, 723,
5578 490, -1423, 123, 724, 492, 498, 499, 726, -1423, 466,
5579 728, 730, 51, -1423, 502, 735, 505, 736, 506, 507,
5580 753, 754, 662, -1423, 755, 537, 134, -1423, -1423, -1423,
5581 756, 771, 774, 777, 778, -1423, -1423, -1423, 552, 553,
5582 554, -1423, -1423, 786, 787, 790, -1423, -1423, -1423, -1423,
5583 -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423, 560, -1423,
5584 -1423, -1423, -1423, -1423, -108, 561, 563, -1423, -1423, -1423,
5585 -1423, -1423, -1423, -1423, 803, 807, 808, -1423, 578, 331,
5586 810, 812, 581, -1423, -1423, -1423, 815, 816, 817, 818,
5587 820, -1423, 821, 819, 841, 842, 615, 625, -1423, -1423,
5588 -1423, 845, 853, -1423, 857, 215, 347, -1423, -1423, -1423,
5589 -1423, -1423, 627, 628, 632, 860, 646, 647, -1423, 857,
5590 857, 857, 663, 859, -1423, 668, -1423, -1423, 857, 669,
5591 670, 671, 675, 677, 680, 681, -1423, 683, 685, -1423,
5592 700, 702, 704, -1423, -1423, 705, -1423, -1423, -1423, 857,
5593 -1423, 706, 812, -1423, -1423, 707, -1423, 716, -1423, -1423,
5594 13, 719, -1423, 862, -1423, -1423, 52, 248, 134, 170,
5595 348, -1423, -1423, -1423, 1174, 1174, 893, -1423, -1423, -1423,
5596 -1423, -1423, -1423, -1423, -1423, -1423, 894, 901, 902, -1423,
5597 -1423, -1423, -1423, -1423, -1423, 903, -1423, -1423, -1423, 152,
5598 913, 915, 918, 282, -23, 920, -78, 662, -1423, -1423,
5599 924, -12, -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423,
5600 -1423, -1423, -1423, 928, -1423, -1423, -1423, -1423, -1423, -1423,
5601 793, -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423,
5602 -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423,
5603 -1423, -1423, -1423, -1423, -1423, 893, -1423, 165, 172, 175,
5604 -1423, -1423, 220, -1423, -1423, -1423, -1423, -1423, -1423, -1423,
5605 933, 941, 942, 943, 944, 946, 947, 949, 950, 951,
5606 -1423, 952, 953, -1423, -1423, -1423, -1423, -1423, -1423, -1423,
5607 -1423, -1423, -1423, -1423, -1423, 223, -1423, -1423, -1423, -1423,
5608 -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423,
5609 -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423,
5610 -1423, 238, -1423, 954, 822, -1423, -1423, 955, 956, -1423,
5611 -1423, 957, 959, -1423, -1423, 958, 962, -1423, -1423, 960,
5612 964, -1423, -1423, -1423, -1423, -1423, -1423, 168, -1423, -1423,
5613 -1423, -1423, -1423, -1423, -1423, 963, 965, -1423, -1423, 966,
5614 967, -1423, -1423, 968, 970, -1423, 971, 972, 973, 974,
5615 975, 977, 255, -1423, -1423, -1423, -1423, -1423, -1423, -1423,
5616 978, 980, 981, -1423, 257, -1423, -1423, -1423, -1423, -1423,
5617 -1423, -1423, 982, 984, -1423, 986, -1423, 989, -1423, -1423,
5618 -1423, 258, -1423, -1423, -1423, -1423, -1423, 302, -1423, 184,
5619 -1423, 991, 1007, 1016, 1019, -1423, 308, -1423, -1423, -1423,
5620 -1423, -1423, 788, -1423, 1023, 1031, -1423, -1423, 1029, -1423,
5621 1039, -1423, -1423, -1423, 1044, 1047, 348, -1423, 1054, 1058,
5622 1059, 1061, 734, 827, 830, 832, 838, 839, 844, 847,
5623 851, 858, 1093, 867, 861, 1104, 1109, 1114, 1116, 1119,
5624 1121, 1174, -1423, -1423, 1174, -1423, 893, 676, -1423, 894,
5625 123, -1423, 901, 466, -1423, 902, 799, -1423, 903, 152,
5626 -1423, 322, -1423, 913, 73, -1423, 915, -115, -1423, 918,
5627 891, 895, 896, 898, 904, 930, 282, -1423, 922, 935,
5628 939, -23, -1423, 246, -1423, 920, 945, 1126, 961, 1177,
5629 -78, -1423, -1423, 261, 924, -1423, 969, 990, 992, 1006,
5630 -12, -1423, -1423, 1176, 1186, 1360, -1423, 928, 1187, -1423,
5631 -1423, 994, 1011, -1423, 1012, 1013, 1014, 1018, -1423, -1423,
5632 -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423, 247, -1423,
5633 -1423, 1021, 1022, 1026, 186, 1028, 1030, -1423, 309, -1423,
5634 344, -1423, 1182, -1423, 1185, -1423, -1423, -1423, -1423, -1423,
5635 -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423,
5636 -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423,
5637 -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423,
5638 -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423, 345, -1423,
5639 -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423,
5640 -1423, 1190, 1192, -1423, -1423, -1423, -1423, -1423, -1423, -1423,
5641 -1423, -1423, -1423, -1423, -1423, -1423, 1189, 1196, -1423, -1423,
5642 -1423, -1423, -1423, -1423, -1423, 1193, -1423, 358, -1423, -1423,
5643 -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423,
5644 -1423, -1423, -1423, 1198, -1423, 1199, -1423, -1423, -1423, -1423,
5645 -1423, -1423, -1423, 379, -1423, -1423, -1423, -1423, -1423, -1423,
5646 -1423, -1423, -1423, -1423, 1033, -1423, 52, -1423, -1423, 1200,
5647 -1423, -1423, -1423, -1423, -1423, 380, -1423, -1423, -1423, -1423,
5648 -1423, -1423, -1423, -1423, -1423, -1423, -1423, 1034, 381, -1423,
5649 857, -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423,
5650 -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423,
5651 -1423, 799, -1423, 1201, 1202, 1020, 1032, -1423, 322, -1423,
5652 -1423, 1203, 1205, 1206, 976, 1207, 1035, 1248, 246, -1423,
5653 -1423, -1423, 1251, 1036, 1261, 261, -1423, -1423, -1423, -1423,
5654 -1423, 1045, 1046, -1423, -1423, -1423, -16, 1049, 1051, -1423,
5655 1273, -1423, 1195, -1423, 1283, -1423, 1053, -1423, -1423, -1423,
5656 -1423, -1423, -1423, -1423, -1423, -1423, 78, 1285, 1286, -1423,
5657 -1423, -1423, -1423, -1423, -1423, -1423, -1423, 388, -1423, -1423,
5658 -1423, -1423, -1423, -1423, 1284, 1291, -1423, -1423, 209, -1423,
5659 1292, 1293, 1296, 1297, 78, -1423, -36, -1423, 1285, 28,
5660 1286, -1423, 782, 1066, 1067, 1290, -1423, -1423, -1423, -1423,
5661 -1423, -1423, 396, -1423, -1423, -1423, -1423, 1300, 1301, 1302,
5662 -1423, 404, -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423,
5663 -1423, -1423, -1423, 1303, 1304, -36, -1423, 1305, 1073, 1076,
5664 1079, 1313, 28, -1423, -1423, 1314, 1318, -1423, 1086, -1423,
5665 1089, -1423, -1423, -1423, 1092, -1423, 57, -1423, 1303, -1423,
5666 -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423, 405,
5667 -1423, -1423, -1423, 1328, 57, -1423, 1097, -1423, -1423
5671 Dhcp4Parser::yydefact_[] =
5673 0, 2, 4, 6, 8, 10, 12, 14, 16, 18,
5674 20, 22, 24, 26, 0, 0, 0, 0, 0, 0,
5675 0, 0, 0, 0, 0, 0, 0, 0, 1, 44,
5676 36, 32, 31, 28, 29, 30, 35, 3, 33, 34,
5677 59, 5, 65, 7, 215, 9, 403, 11, 632, 13,
5678 677, 15, 547, 17, 556, 19, 595, 21, 365, 23,
5679 879, 25, 911, 27, 46, 39, 0, 0, 0, 0,
5680 0, 679, 0, 558, 597, 0, 0, 0, 48, 0,
5681 47, 0, 0, 40, 61, 0, 63, 909, 200, 233,
5682 0, 0, 0, 699, 701, 703, 0, 0, 231, 244,
5683 246, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5684 0, 0, 0, 154, 0, 0, 0, 0, 0, 165,
5685 172, 174, 0, 0, 0, 0, 0, 0, 0, 394,
5686 545, 586, 0, 157, 178, 484, 664, 666, 0, 0,
5687 0, 327, 726, 668, 356, 377, 0, 342, 765, 860,
5688 877, 188, 190, 0, 0, 0, 921, 963, 0, 141,
5689 0, 67, 70, 71, 72, 73, 74, 107, 108, 109,
5690 110, 111, 112, 75, 103, 137, 138, 92, 93, 94,
5691 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
5692 126, 127, 128, 114, 115, 129, 130, 131, 133, 134,
5693 135, 139, 140, 78, 79, 100, 80, 81, 82, 132,
5694 86, 87, 76, 104, 105, 106, 77, 84, 85, 98,
5695 99, 101, 95, 96, 97, 83, 88, 89, 90, 91,
5696 102, 113, 136, 217, 219, 223, 0, 0, 0, 0,
5697 214, 0, 202, 205, 206, 207, 208, 209, 210, 211,
5698 212, 213, 464, 466, 468, 623, 462, 470, 0, 474,
5699 476, 478, 472, 721, 461, 408, 409, 410, 411, 412,
5700 437, 438, 439, 440, 441, 442, 459, 427, 428, 443,
5701 444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
5702 454, 455, 456, 457, 458, 460, 0, 405, 415, 432,
5703 433, 434, 416, 418, 419, 420, 421, 423, 424, 425,
5704 417, 413, 414, 435, 436, 422, 429, 430, 431, 426,
5705 661, 0, 660, 644, 645, 646, 647, 648, 649, 650,
5706 651, 652, 653, 654, 655, 656, 657, 640, 641, 642,
5707 643, 639, 0, 634, 637, 638, 658, 659, 719, 705,
5708 707, 709, 713, 711, 717, 715, 698, 692, 696, 697,
5709 0, 680, 681, 693, 694, 695, 689, 684, 690, 686,
5710 687, 688, 691, 685, 0, 576, 294, 0, 580, 578,
5711 583, 0, 572, 573, 0, 559, 560, 563, 575, 564,
5712 565, 566, 582, 567, 568, 569, 570, 571, 614, 0,
5713 0, 0, 621, 612, 613, 616, 617, 0, 598, 599,
5714 602, 603, 604, 605, 606, 607, 608, 611, 609, 610,
5715 373, 375, 370, 0, 367, 371, 372, 0, 896, 0,
5716 899, 0, 0, 903, 907, 894, 892, 893, 0, 881,
5717 884, 885, 886, 887, 888, 889, 890, 891, 918, 0,
5718 0, 913, 916, 917, 45, 50, 0, 37, 43, 0,
5719 64, 60, 0, 0, 0, 0, 0, 0, 0, 0,
5720 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5721 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5722 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5723 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5724 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5725 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5726 0, 0, 0, 58, 69, 66, 0, 0, 0, 0,
5727 0, 0, 0, 204, 216, 0, 0, 0, 0, 0,
5728 0, 0, 0, 0, 0, 0, 0, 407, 404, 0,
5729 0, 636, 633, 0, 0, 0, 0, 0, 0, 0,
5730 0, 678, 683, 548, 0, 0, 0, 0, 0, 0,
5731 0, 557, 562, 0, 0, 0, 0, 0, 596, 601,
5732 0, 0, 369, 366, 0, 0, 0, 0, 0, 0,
5733 0, 0, 883, 880, 0, 0, 915, 912, 49, 41,
5734 0, 0, 0, 0, 0, 159, 160, 161, 0, 0,
5735 0, 198, 199, 0, 0, 0, 142, 143, 144, 145,
5736 146, 147, 148, 149, 150, 151, 152, 153, 0, 193,
5737 194, 162, 163, 164, 0, 0, 0, 176, 177, 184,
5738 185, 186, 187, 192, 0, 0, 0, 156, 0, 0,
5739 0, 0, 0, 480, 481, 482, 0, 0, 0, 0,
5740 0, 764, 0, 0, 0, 0, 0, 0, 195, 196,
5741 197, 0, 0, 68, 0, 0, 0, 227, 228, 229,
5742 230, 203, 0, 0, 0, 0, 0, 0, 483, 0,
5743 0, 0, 0, 0, 406, 0, 663, 635, 0, 0,
5744 0, 0, 0, 0, 0, 0, 682, 0, 0, 574,
5745 0, 0, 0, 585, 561, 0, 618, 619, 620, 0,
5746 600, 0, 0, 368, 895, 0, 898, 0, 901, 902,
5747 0, 0, 882, 0, 920, 914, 0, 0, 0, 0,
5748 0, 700, 702, 704, 0, 0, 248, 155, 167, 168,
5749 169, 170, 171, 166, 173, 175, 396, 549, 588, 158,
5750 180, 181, 182, 183, 179, 486, 38, 665, 667, 0,
5751 728, 670, 358, 0, 0, 767, 0, 0, 189, 191,
5752 0, 0, 51, 218, 221, 222, 220, 225, 226, 224,
5753 465, 467, 469, 625, 463, 471, 475, 477, 479, 473,
5754 0, 662, 720, 706, 708, 710, 714, 712, 718, 716,
5755 577, 295, 581, 579, 584, 615, 622, 374, 376, 897,
5756 900, 905, 906, 904, 908, 248, 42, 0, 0, 0,
5757 240, 242, 0, 235, 238, 239, 283, 285, 287, 291,
5758 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5759 305, 0, 0, 312, 314, 316, 318, 320, 321, 322,
5760 323, 324, 325, 289, 282, 0, 255, 258, 259, 260,
5761 261, 262, 263, 264, 265, 266, 267, 268, 269, 270,
5762 271, 272, 273, 274, 275, 276, 277, 278, 279, 280,
5763 281, 0, 253, 0, 249, 250, 401, 0, 397, 398,
5764 554, 0, 550, 551, 593, 0, 589, 590, 491, 0,
5765 487, 488, 337, 338, 339, 340, 341, 0, 329, 332,
5766 333, 334, 335, 336, 733, 0, 729, 730, 675, 0,
5767 671, 672, 363, 0, 359, 360, 0, 0, 0, 0,
5768 0, 0, 0, 379, 382, 383, 384, 385, 386, 387,
5769 0, 0, 0, 352, 0, 344, 347, 348, 349, 350,
5770 351, 772, 0, 768, 769, 0, 872, 0, 875, 868,
5771 869, 0, 862, 865, 866, 867, 870, 0, 926, 0,
5772 923, 0, 0, 0, 0, 972, 0, 965, 968, 969,
5773 970, 971, 53, 630, 0, 626, 627, 724, 0, 723,
5774 0, 62, 910, 201, 0, 0, 237, 234, 0, 0,
5775 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5776 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5777 0, 257, 232, 245, 0, 247, 252, 0, 395, 400,
5778 558, 546, 553, 597, 587, 592, 0, 485, 490, 331,
5779 328, 735, 727, 732, 679, 669, 674, 0, 357, 362,
5780 0, 0, 0, 0, 0, 0, 381, 378, 0, 0,
5781 0, 346, 343, 0, 766, 771, 0, 0, 0, 0,
5782 864, 861, 878, 0, 925, 922, 0, 0, 0, 0,
5783 967, 964, 55, 0, 54, 0, 624, 629, 0, 722,
5784 919, 0, 0, 236, 0, 0, 0, 0, 293, 296,
5785 297, 298, 299, 300, 301, 302, 303, 304, 0, 310,
5786 311, 0, 0, 0, 0, 0, 0, 256, 0, 251,
5787 0, 399, 0, 552, 0, 591, 544, 515, 516, 517,
5788 499, 500, 520, 521, 522, 523, 524, 525, 542, 502,
5789 503, 526, 527, 528, 529, 530, 531, 532, 533, 534,
5790 535, 536, 537, 538, 539, 540, 541, 543, 496, 497,
5791 498, 511, 512, 513, 514, 508, 509, 510, 0, 493,
5792 501, 518, 519, 504, 505, 506, 507, 489, 330, 758,
5793 760, 0, 0, 752, 753, 754, 755, 756, 757, 745,
5794 746, 750, 751, 747, 748, 749, 0, 736, 737, 740,
5795 741, 742, 743, 744, 731, 0, 673, 0, 361, 388,
5796 389, 390, 391, 392, 393, 380, 353, 354, 355, 345,
5797 790, 795, 797, 0, 820, 0, 801, 789, 782, 783,
5798 784, 787, 788, 0, 774, 777, 778, 779, 780, 785,
5799 786, 781, 770, 871, 0, 874, 0, 863, 941, 0,
5800 939, 937, 931, 935, 936, 0, 928, 933, 934, 932,
5801 924, 973, 974, 975, 976, 966, 52, 57, 0, 628,
5802 0, 241, 243, 284, 286, 288, 292, 307, 308, 309,
5803 306, 313, 315, 317, 319, 326, 290, 254, 402, 555,
5804 594, 495, 492, 0, 0, 0, 0, 734, 739, 676,
5805 364, 0, 0, 0, 0, 0, 0, 0, 776, 773,
5806 873, 876, 0, 0, 0, 930, 927, 56, 631, 725,
5807 494, 0, 0, 762, 763, 738, 0, 0, 0, 799,
5808 0, 800, 0, 775, 0, 938, 0, 929, 759, 761,
5809 792, 793, 794, 791, 796, 798, 0, 803, 0, 940,
5810 832, 835, 837, 839, 831, 830, 829, 0, 822, 825,
5811 826, 827, 828, 808, 0, 804, 805, 946, 0, 943,
5812 0, 0, 0, 0, 824, 821, 0, 802, 807, 0,
5813 945, 942, 0, 0, 0, 0, 823, 818, 817, 813,
5814 815, 816, 0, 810, 814, 806, 956, 0, 0, 0,
5815 961, 0, 948, 951, 952, 953, 954, 955, 944, 834,
5816 833, 836, 838, 841, 0, 812, 809, 0, 0, 0,
5817 0, 0, 950, 947, 846, 0, 842, 843, 0, 811,
5818 0, 958, 959, 960, 0, 949, 0, 840, 845, 819,
5819 957, 962, 858, 857, 851, 853, 854, 855, 856, 0,
5820 848, 852, 844, 0, 850, 847, 0, 849, 859
5824 Dhcp4Parser::yypgoto_[] =
5826 -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423,
5827 -1423, -1423, -1423, -1423, -1423, -54, -1423, -621, -1423, 602,
5828 -1423, -1423, -1423, -1423, -1423, -1423, -645, -1423, -1423, -1423,
5829 -67, -1423, -1423, -1423, -1423, -1423, -1423, -1423, 590, 802,
5830 12, 31, 35, -28, 27, 92, 93, 95, 97, 98,
5831 100, -1423, -1423, -1423, -1423, 103, -1423, -1423, 108, 110,
5832 47, 53, 55, 58, -1423, -1423, 60, -1423, 63, -1423,
5833 65, 115, 68, -1423, -1423, 70, 75, 80, 82, 87,
5834 -1423, 90, -1423, 122, -1423, -1423, -1423, -1423, -1423, 43,
5835 -1423, -1423, -1423, 592, 796, -1423, -1423, -1423, -1423, -1423,
5836 -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423,
5837 -1423, -1423, -1423, -1423, 332, -1423, -1423, -1423, -1423, -1423,
5838 -1423, -1423, -1423, 517, -1423, 294, -1423, -744, 303, -1423,
5839 -1423, -1422, -1423, -1414, -1423, -1412, -1423, -1423, -1423, -1423,
5840 0, -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423,
5841 -1423, -1423, -1423, -1423, -1423, -1423, -1059, -1423, -1057, -1423,
5842 -1056, -1423, 213, -1423, -1423, -1423, -1423, -1423, -1423, 292,
5843 -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423, 275, -1423,
5844 -1423, -1423, -1423, -1423, -1423, -1423, 281, -1423, -1423, -1423,
5845 290, 767, -1423, -1423, -1423, -1423, -1423, -1423, -1423, 284,
5846 -1423, -1423, -1423, -1423, -1423, -1423, -1043, -1423, -1423, -1423,
5847 314, -1423, -1423, -1423, 333, 813, -1423, -1423, -1423, -1423,
5848 -1423, -1423, -1423, -1423, -1041, -1423, -65, -1423, -58, -1423,
5849 -35, -1423, -25, -1423, 127, 130, 132, -1423, -1423, -1423,
5850 -1423, -1423, 307, -1423, -1423, 56, -43, -1423, -1423, -1423,
5851 -1423, -1423, 321, -1423, -1423, -1423, 327, -1423, 800, -1423,
5852 -46, -1423, -1423, -1423, -1423, -1423, -41, -1423, -1423, -1423,
5853 -1423, -1423, -20, -1423, -1423, -1423, 340, -1423, -1423, -1423,
5854 334, -1423, 783, -1423, -1423, -1423, -1423, -1423, -1423, -1423,
5855 -1423, -1423, -1423, -1423, -1423, -1423, -1423, 268, -1423, -1423,
5856 -1423, 273, 824, -1423, -1423, -1423, -51, -1423, -4, -1423,
5857 -32, -1423, -1423, -1423, 336, -1423, -1423, -1423, 335, -1423,
5858 811, -55, -1423, -39, -1423, 8, -1423, -1423, -1423, -1423,
5859 -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423,
5860 -1423, -1423, -1423, -1035, -1423, -1423, -1423, -1423, -1423, -1423,
5861 -1423, -1423, 337, -1423, -1423, -1423, 94, -1423, -1423, -1423,
5862 -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423, 312,
5863 -1423, -1423, 66, -1423, -1423, -1423, -1423, -1423, -1423, -1423,
5864 -1423, -1423, -1423, -1423, -1423, -1423, -10, -1423, -1423, -22,
5865 -1423, -1423, -1423, -1423, -1423, 21, -1423, -1423, -1423, -1423,
5866 -1423, -1423, -1423, -1423, -1423, -1423, -1423, -42, -1423, -1423,
5867 -57, -1423, -1423, -1423, -1423, -1423, 338, -1423, -1423, -1423,
5868 -1423, -1423, -1423, -1423, -1423, -1423, -1423, 633, 823, -1423,
5869 -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423,
5870 -1423, -1423, -1423, -1423, -1423, -1423, 679, 826, -1423, -1423,
5871 -1423, -1423, -1423, -1423, 343, -1423, -1423, 89, -1423, -1423,
5872 -1423, -1423, -1423, -1423, 18, -1423, -1423, -13, -1423, -1423,
5873 -1423, -1423, -1423, -1423, -1423, -1423, -1423, -1423, 360, -1423,
5878 Dhcp4Parser::yydefgoto_[] =
5880 0, 14, 15, 16, 17, 18, 19, 20, 21, 22,
5881 23, 24, 25, 26, 27, 36, 37, 38, 65, 777,
5882 82, 83, 39, 64, 79, 80, 793, 1002, 1103, 1104,
5883 874, 41, 66, 85, 459, 86, 43, 67, 160, 161,
5884 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
5885 172, 173, 174, 488, 175, 176, 508, 177, 178, 179,
5886 180, 181, 182, 183, 494, 763, 184, 495, 185, 496,
5887 186, 187, 188, 509, 774, 189, 190, 191, 192, 193,
5888 526, 194, 527, 195, 196, 197, 198, 199, 200, 201,
5889 202, 203, 463, 241, 242, 45, 68, 243, 536, 244,
5890 537, 796, 245, 538, 799, 246, 247, 248, 249, 204,
5891 473, 205, 464, 842, 843, 844, 1014, 845, 1015, 206,
5892 474, 207, 475, 903, 904, 905, 1044, 875, 876, 877,
5893 1018, 878, 1019, 879, 1020, 880, 1040, 881, 1021, 882,
5894 883, 575, 884, 885, 886, 887, 888, 889, 890, 891,
5895 892, 893, 1032, 1300, 894, 895, 896, 1035, 897, 1036,
5896 898, 1037, 899, 1038, 900, 1039, 208, 516, 927, 928,
5897 929, 930, 931, 932, 933, 209, 522, 964, 965, 966,
5898 967, 968, 210, 519, 943, 944, 945, 1067, 59, 75,
5899 423, 424, 425, 590, 426, 591, 211, 520, 952, 953,
5900 954, 955, 956, 957, 958, 959, 212, 504, 907, 908,
5901 909, 1047, 47, 69, 296, 297, 298, 549, 299, 545,
5902 300, 546, 301, 547, 302, 550, 303, 555, 304, 552,
5903 305, 553, 306, 554, 213, 214, 215, 310, 216, 510,
5904 919, 920, 921, 1056, 1188, 1189, 217, 505, 53, 72,
5905 911, 912, 913, 1050, 55, 73, 384, 385, 386, 387,
5906 388, 389, 390, 574, 391, 578, 392, 577, 393, 394,
5907 579, 395, 218, 506, 915, 916, 917, 1053, 57, 74,
5908 407, 408, 409, 410, 411, 583, 412, 413, 414, 415,
5909 416, 417, 587, 312, 548, 1004, 1005, 1006, 1105, 49,
5910 70, 342, 343, 344, 559, 345, 219, 511, 220, 512,
5911 221, 518, 939, 940, 941, 1064, 51, 71, 360, 361,
5912 362, 222, 468, 223, 469, 224, 470, 366, 564, 367,
5913 565, 368, 566, 369, 568, 370, 567, 371, 570, 372,
5914 569, 373, 563, 319, 556, 1008, 1009, 1108, 225, 517,
5915 935, 936, 937, 1061, 1216, 1217, 1218, 1219, 1220, 1313,
5916 1221, 1314, 1222, 1223, 226, 227, 523, 972, 973, 974,
5917 1083, 1253, 1254, 1255, 1321, 1363, 1256, 1322, 1257, 1323,
5918 1258, 1259, 1260, 1327, 1384, 1385, 1386, 1396, 1412, 1413,
5919 1414, 1434, 1261, 1325, 1377, 1378, 1379, 1390, 1430, 1380,
5920 1391, 1381, 1392, 1382, 1393, 1445, 1446, 1447, 1456, 1469,
5921 1470, 1471, 1473, 228, 524, 981, 982, 983, 984, 1087,
5922 985, 986, 1089, 229, 525, 61, 76, 438, 439, 440,
5923 441, 595, 442, 443, 597, 444, 445, 446, 600, 833,
5924 447, 601, 230, 462, 63, 77, 450, 451, 452, 604,
5925 453, 231, 531, 989, 990, 1093, 1275, 1276, 1277, 1278,
5926 1334, 1279, 1332, 1388, 1389, 1399, 1421, 1422, 1423, 1437,
5927 1424, 1425, 1426, 1427, 1441, 232, 532, 996, 997, 998,
5932 Dhcp4Parser::yytable_[] =
5934 159, 240, 264, 322, 356, 337, 382, 403, 422, 435,
5935 78, 901, 338, 1179, 316, 1180, 363, 250, 313, 346,
5936 358, 1196, 396, 418, 1248, 436, 1249, 1250, 405, 374,
5937 317, 831, 364, 406, 1464, 339, 28, 315, 420, 421,
5938 776, 268, 1465, 460, 1466, 340, 136, 137, 461, 311,
5939 341, 357, 1464, 534, 806, 807, 808, 29, 535, 30,
5940 1465, 31, 1466, 812, 251, 314, 347, 359, 376, 397,
5941 419, 40, 437, 383, 404, 543, 42, 318, 44, 365,
5942 544, 265, 557, 46, 826, 81, 561, 558, 136, 137,
5943 454, 562, 758, 759, 760, 761, 269, 130, 847, 848,
5944 266, 136, 137, 48, 267, 93, 94, 95, 975, 976,
5945 977, 776, 295, 50, 592, 602, 279, 323, 1370, 593,
5946 603, 158, 280, 324, 281, 325, 52, 282, 326, 283,
5947 327, 762, 284, 328, 285, 329, 54, 287, 330, 288,
5948 331, 960, 961, 962, 289, 332, 448, 449, 1407, 290,
5949 333, 291, 334, 1360, 1361, 1362, 292, 335, 978, 293,
5950 336, 270, 271, 375, 272, 606, 273, 274, 534, 275,
5951 607, 1059, 276, 1011, 1060, 606, 131, 277, 543, 278,
5952 1012, 136, 137, 1013, 286, 233, 234, 1094, 56, 235,
5953 1095, 294, 236, 237, 238, 239, 307, 136, 137, 308,
5954 158, 309, 136, 137, 420, 421, 348, 991, 992, 993,
5955 994, 832, 1400, 158, 58, 1401, 349, 350, 351, 352,
5956 353, 354, 355, 1016, 158, 60, 1041, 376, 1017, 377,
5957 378, 1042, 794, 795, 379, 380, 381, 1462, 873, 1416,
5958 62, 1041, 1417, 1418, 1419, 1420, 1043, 136, 137, 866,
5959 867, 868, 869, 870, 871, 1371, 1372, 1373, 1076, 87,
5960 1081, 1090, 88, 1077, 84, 1082, 1091, 455, 1179, 1248,
5961 1180, 1249, 1250, 456, 89, 457, 1196, 90, 91, 92,
5962 93, 94, 95, 96, 97, 98, 99, 100, 32, 33,
5963 34, 35, 458, 158, 136, 137, 922, 923, 924, 925,
5964 1138, 926, 1297, 1298, 1299, 602, 863, 864, 865, 158,
5965 1092, 1100, 1041, 571, 158, 465, 1101, 1307, 101, 102,
5966 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
5967 113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
5968 123, 124, 125, 126, 127, 128, 129, 557, 1311, 572,
5969 130, 131, 1308, 1312, 93, 94, 95, 96, 466, 158,
5970 467, 592, 132, 133, 134, 376, 1320, 797, 798, 135,
5971 136, 137, 136, 137, 471, 840, 841, 138, 139, 140,
5972 141, 142, 1328, 1335, 561, 136, 137, 1329, 1336, 1338,
5973 143, 1394, 101, 102, 103, 472, 1395, 476, 477, 1435,
5974 144, 608, 609, 145, 1436, 478, 158, 1442, 1474, 582,
5975 146, 147, 1443, 1475, 1240, 148, 479, 480, 1241, 1242,
5976 1243, 1244, 481, 482, 130, 131, 376, 483, 1245, 1246,
5977 484, 485, 486, 149, 487, 489, 490, 150, 946, 947,
5978 948, 949, 950, 951, 491, 492, 136, 137, 770, 771,
5979 772, 773, 151, 152, 153, 154, 155, 156, 1199, 1200,
5980 1201, 1202, 493, 497, 498, 499, 157, 159, 500, 501,
5981 573, 1268, 502, 1269, 1270, 503, 240, 507, 513, 514,
5982 515, 521, 158, 528, 158, 529, 530, 533, 539, 540,
5983 264, 541, 250, 542, 322, 551, 337, 158, 560, 576,
5984 580, 581, 316, 338, 584, 356, 313, 585, 586, 588,
5985 346, 589, 610, 594, 596, 382, 598, 363, 317, 599,
5986 605, 358, 403, 611, 612, 315, 339, 613, 614, 268,
5987 615, 396, 616, 364, 617, 435, 340, 311, 418, 251,
5988 618, 341, 619, 405, 620, 622, 623, 621, 406, 624,
5989 625, 436, 357, 314, 626, 627, 628, 347, 158, 631,
5990 629, 630, 638, 632, 633, 318, 634, 635, 359, 265,
5991 376, 398, 377, 378, 399, 400, 401, 636, 397, 637,
5992 365, 644, 383, 645, 269, 419, 639, 640, 266, 404,
5993 136, 137, 267, 646, 641, 654, 642, 649, 437, 402,
5994 295, 643, 647, 648, 279, 650, 651, 655, 323, 652,
5995 280, 656, 281, 653, 324, 282, 325, 283, 658, 326,
5996 284, 327, 285, 657, 328, 287, 329, 288, 659, 330,
5997 660, 331, 289, 661, 662, 666, 332, 290, 663, 291,
5998 667, 333, 664, 334, 292, 1339, 665, 293, 335, 270,
5999 271, 336, 272, 668, 273, 274, 669, 275, 670, 671,
6000 276, 672, 673, 674, 675, 277, 689, 278, 676, 677,
6001 681, 682, 286, 678, 679, 680, 684, 685, 686, 294,
6002 159, 687, 240, 688, 307, 690, 692, 308, 693, 309,
6003 694, 695, 836, 696, 697, 699, 700, 701, 250, 702,
6004 698, 703, 158, 705, 706, 708, 91, 92, 93, 94,
6005 95, 96, 709, 710, 711, 712, 713, 963, 714, 715,
6006 435, 717, 718, 719, 995, 720, 721, 722, 725, 723,
6007 729, 726, 731, 969, 732, 979, 436, 727, 728, 735,
6008 737, 734, 736, 738, 739, 251, 101, 102, 103, 104,
6009 105, 106, 107, 108, 109, 110, 111, 740, 741, 743,
6010 746, 116, 117, 118, 119, 120, 121, 122, 123, 124,
6011 125, 126, 127, 128, 744, 252, 253, 254, 747, 131,
6012 970, 748, 980, 437, 749, 750, 136, 137, 751, 752,
6013 753, 133, 134, 754, 755, 756, 757, 764, 255, 765,
6014 136, 137, 256, 257, 258, 138, 139, 140, 766, 259,
6015 260, 261, 767, 768, 769, 775, 262, 778, 143, 30,
6016 779, 780, 781, 782, 785, 1046, 263, 783, 784, 91,
6017 92, 93, 94, 95, 96, 1, 2, 3, 4, 5,
6018 6, 7, 8, 9, 10, 11, 12, 13, 786, 787,
6019 790, 788, 427, 428, 429, 430, 431, 432, 433, 434,
6020 791, 789, 792, 800, 801, 803, 810, 835, 802, 101,
6021 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
6022 151, 152, 804, 805, 116, 117, 118, 119, 120, 121,
6023 122, 123, 124, 125, 126, 127, 128, 129, 158, 809,
6024 902, 906, 131, 376, 811, 813, 814, 815, 910, 914,
6025 918, 816, 158, 817, 133, 134, 818, 819, 834, 820,
6026 934, 821, 938, 136, 137, 942, 257, 971, 138, 139,
6027 140, 988, 259, 260, 261, 1003, 822, 1022, 823, 262,
6028 824, 825, 827, 829, 1007, 1023, 1024, 1025, 1026, 263,
6029 1027, 1028, 830, 1029, 1030, 1031, 1033, 1034, 1429, 1049,
6030 1045, 1048, 1052, 1051, 1054, 1055, 1057, 1058, 1063, 1062,
6031 1066, 1118, 1065, 1069, 1068, 1070, 1071, 1072, 1073, 1074,
6032 264, 1075, 1078, 382, 1079, 1080, 403, 1085, 1084, 1146,
6033 1086, 1181, 316, 1088, 1203, 1096, 313, 356, 1182, 396,
6034 422, 1193, 418, 151, 152, 1191, 1213, 405, 317, 363,
6035 1211, 1097, 406, 358, 963, 315, 1247, 1194, 1209, 268,
6036 1098, 1183, 1214, 1099, 1102, 364, 1271, 311, 1150, 1106,
6037 969, 1184, 1251, 995, 1107, 158, 1190, 1109, 322, 979,
6038 337, 1210, 1273, 314, 357, 1110, 397, 338, 1111, 419,
6039 383, 1112, 1192, 404, 346, 318, 1178, 1212, 1114, 265,
6040 359, 1208, 1115, 1116, 1195, 1117, 1119, 1120, 1147, 1215,
6041 339, 1121, 365, 1204, 269, 1122, 1123, 970, 266, 1252,
6042 340, 1124, 267, 1151, 1125, 341, 980, 1148, 1126, 1274,
6043 295, 1149, 1205, 1272, 279, 1127, 1206, 1128, 1130, 1177,
6044 280, 347, 281, 1161, 1207, 282, 1129, 283, 1131, 1162,
6045 284, 1163, 285, 1132, 1164, 287, 1165, 288, 1133, 1166,
6046 1134, 1167, 289, 1135, 1169, 1136, 1170, 290, 1229, 291,
6047 1264, 1171, 1230, 1231, 292, 1232, 1172, 293, 1173, 270,
6048 271, 1233, 272, 1174, 273, 274, 1175, 275, 1152, 1153,
6049 276, 1154, 323, 1155, 1156, 277, 1157, 278, 324, 1158,
6050 325, 1236, 286, 326, 1159, 327, 1160, 1234, 328, 294,
6051 329, 1168, 1237, 330, 307, 331, 1238, 308, 1176, 309,
6052 332, 1266, 1286, 1185, 1263, 333, 1186, 334, 1187, 1287,
6053 1309, 1290, 335, 1310, 1315, 336, 1316, 1317, 1265, 1318,
6054 1367, 1319, 1324, 1326, 1333, 1341, 1342, 1346, 1281, 1347,
6055 1348, 1350, 1331, 1349, 846, 847, 848, 849, 850, 851,
6056 852, 853, 854, 855, 856, 857, 858, 859, 860, 1282,
6057 1291, 1283, 861, 862, 863, 864, 865, 866, 867, 868,
6058 869, 870, 871, 872, 1146, 1284, 1181, 1292, 1293, 1294,
6059 1295, 1203, 1352, 1182, 1296, 1354, 1193, 1301, 1302, 1343,
6060 1191, 1247, 1303, 1213, 1305, 1356, 1306, 1211, 1271, 1330,
6061 1337, 1344, 1194, 1355, 1351, 1209, 1183, 1251, 376, 1214,
6062 1366, 1358, 1359, 1150, 1273, 1364, 1184, 1365, 1368, 1369,
6063 1397, 1190, 1383, 1387, 1398, 1433, 1402, 1403, 1210, 1374,
6064 1404, 1405, 1431, 1432, 1438, 1439, 1440, 1192, 1448, 1450,
6065 1444, 1178, 1451, 1452, 1212, 1375, 1453, 1454, 1208, 1195,
6066 1457, 1458, 1459, 1147, 1252, 1460, 1215, 1374, 1461, 1408,
6067 1204, 1274, 1476, 1478, 828, 1272, 683, 837, 1151, 691,
6068 1139, 839, 1148, 1375, 1137, 1410, 1149, 1304, 1113, 1205,
6069 1228, 1198, 1010, 1206, 1177, 873, 1239, 1227, 1161, 733,
6070 1235, 1207, 1376, 1141, 1162, 1197, 1163, 1340, 1408, 1164,
6071 704, 1165, 730, 1143, 1166, 1289, 1167, 1142, 1288, 1169,
6072 1140, 1170, 724, 716, 1410, 707, 1171, 1144, 1415, 1463,
6073 1376, 1172, 1411, 1173, 1353, 1145, 1409, 1262, 1174, 1225,
6074 1224, 1175, 1226, 1152, 1153, 1467, 1154, 1463, 1155, 1156,
6075 158, 1157, 1345, 1449, 1158, 1406, 1472, 1477, 1428, 1159,
6076 987, 1160, 0, 1467, 1357, 742, 1168, 838, 1267, 1455,
6077 0, 1411, 745, 1176, 0, 1409, 0, 1280, 1185, 0,
6078 0, 1186, 0, 1187, 0, 116, 117, 118, 119, 120,
6079 121, 122, 1468, 124, 125, 126, 127, 0, 0, 0,
6080 1285, 0, 0, 131, 0, 0, 0, 0, 0, 0,
6081 1468, 0, 0, 0, 0, 0, 134, 0, 0, 0,
6082 0, 0, 0, 320, 136, 137, 0, 0, 0, 0,
6083 0, 0, 0, 259, 260, 261, 0, 0, 0, 0,
6084 262, 321, 0, 0, 0, 0, 0, 0, 0, 0,
6085 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
6086 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
6087 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
6088 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
6089 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
6090 0, 0, 0, 0, 151, 152, 0, 0, 0, 0,
6091 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
6092 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
6093 0, 0, 0, 0, 0, 0, 158
6097 Dhcp4Parser::yycheck_[] =
6099 67, 68, 69, 70, 71, 70, 73, 74, 75, 76,
6100 64, 755, 70, 1056, 69, 1056, 71, 68, 69, 70,
6101 71, 1056, 73, 74, 1083, 76, 1083, 1083, 74, 72,
6102 69, 18, 71, 74, 1456, 70, 0, 69, 153, 154,
6103 661, 69, 1456, 3, 1456, 70, 124, 125, 8, 69,
6104 70, 71, 1474, 3, 699, 700, 701, 5, 8, 7,
6105 1474, 9, 1474, 708, 68, 69, 70, 71, 104, 73,
6106 74, 7, 76, 73, 74, 3, 7, 69, 7, 71,
6107 8, 69, 3, 7, 729, 236, 3, 8, 124, 125,
6108 6, 8, 200, 201, 202, 203, 69, 102, 41, 42,
6109 69, 124, 125, 7, 69, 32, 33, 34, 186, 187,
6110 188, 732, 69, 7, 3, 3, 69, 70, 40, 8,
6111 8, 236, 69, 70, 69, 70, 7, 69, 70, 69,
6112 70, 239, 69, 70, 69, 70, 7, 69, 70, 69,
6113 70, 164, 165, 166, 69, 70, 12, 13, 184, 69,
6114 70, 69, 70, 169, 170, 171, 69, 70, 236, 69,
6115 70, 69, 69, 40, 69, 3, 69, 69, 3, 69,
6116 8, 3, 69, 8, 6, 3, 103, 69, 3, 69,
6117 8, 124, 125, 8, 69, 15, 16, 3, 7, 19,
6118 6, 69, 22, 23, 24, 25, 69, 124, 125, 69,
6119 236, 69, 124, 125, 153, 154, 133, 219, 220, 221,
6120 222, 198, 3, 236, 7, 6, 143, 144, 145, 146,
6121 147, 148, 149, 3, 236, 7, 3, 104, 8, 106,
6122 107, 8, 17, 18, 111, 112, 113, 180, 181, 211,
6123 7, 3, 214, 215, 216, 217, 8, 124, 125, 63,
6124 64, 65, 66, 67, 68, 177, 178, 179, 3, 11,
6125 3, 3, 14, 8, 10, 8, 8, 3, 1311, 1328,
6126 1311, 1328, 1328, 4, 26, 8, 1311, 29, 30, 31,
6127 32, 33, 34, 35, 36, 37, 38, 39, 236, 237,
6128 238, 239, 3, 236, 124, 125, 144, 145, 146, 147,
6129 1044, 149, 55, 56, 57, 3, 60, 61, 62, 236,
6130 8, 3, 3, 8, 236, 4, 8, 8, 70, 71,
6131 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
6132 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
6133 92, 93, 94, 95, 96, 97, 98, 3, 3, 3,
6134 102, 103, 8, 8, 32, 33, 34, 35, 4, 236,
6135 4, 3, 114, 115, 116, 104, 8, 20, 21, 121,
6136 124, 125, 124, 125, 4, 27, 28, 129, 130, 131,
6137 132, 133, 3, 3, 3, 124, 125, 8, 8, 8,
6138 142, 3, 70, 71, 72, 4, 8, 4, 4, 3,
6139 152, 455, 456, 155, 8, 4, 236, 3, 3, 3,
6140 162, 163, 8, 8, 168, 167, 4, 4, 172, 173,
6141 174, 175, 4, 4, 102, 103, 104, 4, 182, 183,
6142 4, 4, 4, 185, 4, 4, 4, 189, 156, 157,
6143 158, 159, 160, 161, 4, 4, 124, 125, 117, 118,
6144 119, 120, 204, 205, 206, 207, 208, 209, 136, 137,
6145 138, 139, 4, 4, 4, 4, 218, 534, 4, 4,
6146 8, 210, 4, 212, 213, 4, 543, 4, 4, 4,
6147 4, 4, 236, 4, 236, 4, 4, 4, 4, 4,
6148 557, 4, 543, 4, 561, 4, 561, 236, 4, 4,
6149 4, 8, 557, 561, 4, 572, 557, 4, 4, 8,
6150 561, 3, 236, 4, 4, 582, 4, 572, 557, 4,
6151 4, 572, 589, 4, 4, 557, 561, 4, 4, 557,
6152 239, 582, 239, 572, 239, 602, 561, 557, 589, 543,
6153 4, 561, 4, 589, 4, 239, 4, 237, 589, 4,
6154 4, 602, 572, 557, 237, 237, 237, 561, 236, 239,
6155 237, 237, 4, 238, 238, 557, 238, 237, 572, 557,
6156 104, 105, 106, 107, 108, 109, 110, 238, 582, 237,
6157 572, 4, 582, 4, 557, 589, 237, 237, 557, 589,
6158 124, 125, 557, 4, 239, 4, 239, 238, 602, 133,
6159 557, 239, 239, 239, 557, 237, 237, 4, 561, 237,
6160 557, 4, 557, 239, 561, 557, 561, 557, 4, 561,
6161 557, 561, 557, 237, 561, 557, 561, 557, 4, 561,
6162 4, 561, 557, 4, 4, 4, 561, 557, 239, 557,
6163 4, 561, 239, 561, 557, 1290, 239, 557, 561, 557,
6164 557, 561, 557, 4, 557, 557, 4, 557, 4, 237,
6165 557, 4, 4, 4, 4, 557, 237, 557, 4, 4,
6166 4, 4, 557, 239, 239, 239, 4, 4, 4, 557,
6167 747, 239, 749, 239, 557, 237, 4, 557, 4, 557,
6168 4, 4, 746, 4, 4, 4, 4, 4, 749, 4,
6169 237, 4, 236, 4, 237, 4, 30, 31, 32, 33,
6170 34, 35, 4, 4, 4, 4, 4, 784, 4, 4,
6171 787, 4, 4, 237, 791, 4, 4, 4, 4, 239,
6172 4, 239, 4, 784, 4, 786, 787, 239, 239, 4,
6173 4, 239, 237, 237, 237, 749, 70, 71, 72, 73,
6174 74, 75, 76, 77, 78, 79, 80, 4, 4, 4,
6175 4, 85, 86, 87, 88, 89, 90, 91, 92, 93,
6176 94, 95, 96, 97, 237, 99, 100, 101, 7, 103,
6177 784, 7, 786, 787, 7, 7, 124, 125, 236, 236,
6178 236, 115, 116, 7, 7, 5, 236, 236, 122, 236,
6179 124, 125, 126, 127, 128, 129, 130, 131, 5, 133,
6180 134, 135, 5, 5, 236, 5, 140, 236, 142, 7,
6181 5, 5, 5, 5, 5, 3, 150, 7, 7, 30,
6182 31, 32, 33, 34, 35, 223, 224, 225, 226, 227,
6183 228, 229, 230, 231, 232, 233, 234, 235, 7, 7,
6184 5, 236, 190, 191, 192, 193, 194, 195, 196, 197,
6185 7, 236, 5, 236, 236, 5, 7, 5, 236, 70,
6186 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
6187 204, 205, 236, 236, 85, 86, 87, 88, 89, 90,
6188 91, 92, 93, 94, 95, 96, 97, 98, 236, 236,
6189 7, 7, 103, 104, 236, 236, 236, 236, 7, 7,
6190 7, 236, 236, 236, 115, 116, 236, 236, 199, 236,
6191 7, 236, 7, 124, 125, 7, 127, 7, 129, 130,
6192 131, 7, 133, 134, 135, 7, 236, 4, 236, 140,
6193 236, 236, 236, 236, 151, 4, 4, 4, 4, 150,
6194 4, 4, 236, 4, 4, 4, 4, 4, 176, 3,
6195 6, 6, 3, 6, 6, 3, 6, 3, 3, 6,
6196 3, 237, 6, 3, 6, 4, 4, 4, 4, 4,
6197 1047, 4, 4, 1050, 4, 4, 1053, 3, 6, 1056,
6198 4, 1056, 1047, 4, 1061, 4, 1047, 1064, 1056, 1050,
6199 1067, 1056, 1053, 204, 205, 1056, 1061, 1053, 1047, 1064,
6200 1061, 4, 1053, 1064, 1081, 1047, 1083, 1056, 1061, 1047,
6201 4, 1056, 1061, 4, 236, 1064, 1093, 1047, 1056, 6,
6202 1081, 1056, 1083, 1100, 3, 236, 1056, 8, 1105, 1090,
6203 1105, 1061, 1093, 1047, 1064, 6, 1050, 1105, 4, 1053,
6204 1050, 4, 1056, 1053, 1105, 1047, 1056, 1061, 4, 1047,
6205 1064, 1061, 4, 4, 1056, 4, 239, 237, 1056, 1061,
6206 1105, 239, 1064, 1061, 1047, 237, 237, 1081, 1047, 1083,
6207 1105, 237, 1047, 1056, 237, 1105, 1090, 1056, 237, 1093,
6208 1047, 1056, 1061, 1093, 1047, 237, 1061, 4, 237, 1056,
6209 1047, 1105, 1047, 1056, 1061, 1047, 239, 1047, 4, 1056,
6210 1047, 1056, 1047, 4, 1056, 1047, 1056, 1047, 4, 1056,
6211 4, 1056, 1047, 4, 1056, 4, 1056, 1047, 237, 1047,
6212 4, 1056, 237, 237, 1047, 237, 1056, 1047, 1056, 1047,
6213 1047, 237, 1047, 1056, 1047, 1047, 1056, 1047, 1056, 1056,
6214 1047, 1056, 1105, 1056, 1056, 1047, 1056, 1047, 1105, 1056,
6215 1105, 239, 1047, 1105, 1056, 1105, 1056, 237, 1105, 1047,
6216 1105, 1056, 237, 1105, 1047, 1105, 237, 1047, 1056, 1047,
6217 1105, 4, 6, 1056, 239, 1105, 1056, 1105, 1056, 3,
6218 8, 4, 1105, 8, 4, 1105, 4, 8, 237, 3,
6219 5, 8, 4, 4, 4, 4, 4, 4, 239, 4,
6220 4, 4, 1266, 237, 40, 41, 42, 43, 44, 45,
6221 46, 47, 48, 49, 50, 51, 52, 53, 54, 239,
6222 236, 239, 58, 59, 60, 61, 62, 63, 64, 65,
6223 66, 67, 68, 69, 1311, 239, 1311, 236, 236, 236,
6224 236, 1318, 4, 1311, 236, 4, 1311, 236, 236, 239,
6225 1311, 1328, 236, 1318, 236, 4, 236, 1318, 1335, 236,
6226 236, 239, 1311, 237, 239, 1318, 1311, 1328, 104, 1318,
6227 7, 236, 236, 1311, 1335, 236, 1311, 236, 5, 236,
6228 6, 1311, 7, 7, 3, 5, 4, 4, 1318, 1366,
6229 4, 4, 236, 236, 4, 4, 4, 1311, 4, 4,
6230 7, 1311, 239, 237, 1318, 1366, 237, 4, 1318, 1311,
6231 6, 3, 236, 1311, 1328, 236, 1318, 1394, 236, 1396,
6232 1318, 1335, 4, 236, 732, 1335, 534, 747, 1311, 543,
6233 1046, 749, 1311, 1394, 1041, 1396, 1311, 1134, 1016, 1318,
6234 1069, 1059, 835, 1318, 1311, 181, 1081, 1067, 1311, 592,
6235 1076, 1318, 1366, 1049, 1311, 1058, 1311, 1311, 1435, 1311,
6236 557, 1311, 589, 1052, 1311, 1107, 1311, 1050, 1105, 1311,
6237 1047, 1311, 582, 572, 1435, 561, 1311, 1053, 1398, 1456,
6238 1394, 1311, 1396, 1311, 1328, 1055, 1396, 1085, 1311, 1064,
6239 1063, 1311, 1066, 1311, 1311, 1456, 1311, 1474, 1311, 1311,
6240 236, 1311, 1318, 1435, 1311, 1394, 1458, 1474, 1400, 1311,
6241 787, 1311, -1, 1474, 1335, 602, 1311, 748, 1090, 1442,
6242 -1, 1435, 606, 1311, -1, 1435, -1, 1094, 1311, -1,
6243 -1, 1311, -1, 1311, -1, 85, 86, 87, 88, 89,
6244 90, 91, 1456, 93, 94, 95, 96, -1, -1, -1,
6245 1100, -1, -1, 103, -1, -1, -1, -1, -1, -1,
6246 1474, -1, -1, -1, -1, -1, 116, -1, -1, -1,
6247 -1, -1, -1, 123, 124, 125, -1, -1, -1, -1,
6248 -1, -1, -1, 133, 134, 135, -1, -1, -1, -1,
6249 140, 141, -1, -1, -1, -1, -1, -1, -1, -1,
6250 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6251 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6252 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6253 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6254 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6255 -1, -1, -1, -1, 204, 205, -1, -1, -1, -1,
6256 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6257 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6258 -1, -1, -1, -1, -1, -1, 236
6262 Dhcp4Parser::yystos_[] =
6264 0, 223, 224, 225, 226, 227, 228, 229, 230, 231,
6265 232, 233, 234, 235, 241, 242, 243, 244, 245, 246,
6266 247, 248, 249, 250, 251, 252, 253, 254, 0, 5,
6267 7, 9, 236, 237, 238, 239, 255, 256, 257, 262,
6268 7, 271, 7, 276, 7, 335, 7, 452, 7, 539,
6269 7, 556, 7, 488, 7, 494, 7, 518, 7, 428,
6270 7, 665, 7, 684, 263, 258, 272, 277, 336, 453,
6271 540, 557, 489, 495, 519, 429, 666, 685, 255, 264,
6272 265, 236, 260, 261, 10, 273, 275, 11, 14, 26,
6273 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
6274 39, 70, 71, 72, 73, 74, 75, 76, 77, 78,
6275 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
6276 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
6277 102, 103, 114, 115, 116, 121, 124, 125, 129, 130,
6278 131, 132, 133, 142, 152, 155, 162, 163, 167, 185,
6279 189, 204, 205, 206, 207, 208, 209, 218, 236, 270,
6280 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
6281 288, 289, 290, 291, 292, 294, 295, 297, 298, 299,
6282 300, 301, 302, 303, 306, 308, 310, 311, 312, 315,
6283 316, 317, 318, 319, 321, 323, 324, 325, 326, 327,
6284 328, 329, 330, 331, 349, 351, 359, 361, 406, 415,
6285 422, 436, 446, 474, 475, 476, 478, 486, 512, 546,
6286 548, 550, 561, 563, 565, 588, 604, 605, 653, 663,
6287 682, 691, 715, 15, 16, 19, 22, 23, 24, 25,
6288 270, 333, 334, 337, 339, 342, 345, 346, 347, 348,
6289 546, 548, 99, 100, 101, 122, 126, 127, 128, 133,
6290 134, 135, 140, 150, 270, 280, 281, 282, 283, 284,
6291 285, 286, 287, 288, 289, 290, 295, 298, 299, 300,
6292 301, 302, 303, 306, 308, 310, 311, 312, 315, 316,
6293 317, 318, 319, 321, 323, 329, 454, 455, 456, 458,
6294 460, 462, 464, 466, 468, 470, 472, 474, 475, 476,
6295 477, 512, 533, 546, 548, 550, 561, 563, 565, 583,
6296 123, 141, 270, 300, 301, 302, 303, 306, 308, 310,
6297 312, 315, 316, 317, 318, 319, 321, 466, 468, 470,
6298 472, 512, 541, 542, 543, 545, 546, 548, 133, 143,
6299 144, 145, 146, 147, 148, 149, 270, 512, 546, 548,
6300 558, 559, 560, 561, 563, 565, 567, 569, 571, 573,
6301 575, 577, 579, 581, 486, 40, 104, 106, 107, 111,
6302 112, 113, 270, 380, 496, 497, 498, 499, 500, 501,
6303 502, 504, 506, 508, 509, 511, 546, 548, 105, 108,
6304 109, 110, 133, 270, 380, 500, 506, 520, 521, 522,
6305 523, 524, 526, 527, 528, 529, 530, 531, 546, 548,
6306 153, 154, 270, 430, 431, 432, 434, 190, 191, 192,
6307 193, 194, 195, 196, 197, 270, 546, 548, 667, 668,
6308 669, 670, 672, 673, 675, 676, 677, 680, 12, 13,
6309 686, 687, 688, 690, 6, 3, 4, 8, 3, 274,
6310 3, 8, 683, 332, 352, 4, 4, 4, 562, 564,
6311 566, 4, 4, 350, 360, 362, 4, 4, 4, 4,
6312 4, 4, 4, 4, 4, 4, 4, 4, 293, 4,
6313 4, 4, 4, 4, 304, 307, 309, 4, 4, 4,
6314 4, 4, 4, 4, 447, 487, 513, 4, 296, 313,
6315 479, 547, 549, 4, 4, 4, 407, 589, 551, 423,
6316 437, 4, 416, 606, 654, 664, 320, 322, 4, 4,
6317 4, 692, 716, 4, 3, 8, 338, 340, 343, 4,
6318 4, 4, 4, 3, 8, 459, 461, 463, 534, 457,
6319 465, 4, 469, 471, 473, 467, 584, 3, 8, 544,
6320 4, 3, 8, 582, 568, 570, 572, 576, 574, 580,
6321 578, 8, 3, 8, 503, 381, 4, 507, 505, 510,
6322 4, 8, 3, 525, 4, 4, 4, 532, 8, 3,
6323 433, 435, 3, 8, 4, 671, 4, 674, 4, 4,
6324 678, 681, 3, 8, 689, 4, 3, 8, 255, 255,
6325 236, 4, 4, 4, 4, 239, 239, 239, 4, 4,
6326 4, 237, 239, 4, 4, 4, 237, 237, 237, 237,
6327 237, 239, 238, 238, 238, 237, 238, 237, 4, 237,
6328 237, 239, 239, 239, 4, 4, 4, 239, 239, 238,
6329 237, 237, 237, 239, 4, 4, 4, 237, 4, 4,
6330 4, 4, 4, 239, 239, 239, 4, 4, 4, 4,
6331 4, 237, 4, 4, 4, 4, 4, 4, 239, 239,
6332 239, 4, 4, 279, 4, 4, 4, 239, 239, 237,
6333 237, 334, 4, 4, 4, 4, 4, 4, 237, 4,
6334 4, 4, 4, 4, 455, 4, 237, 542, 4, 4,
6335 4, 4, 4, 4, 4, 4, 560, 4, 4, 237,
6336 4, 4, 4, 239, 498, 4, 239, 239, 239, 4,
6337 522, 4, 4, 431, 239, 4, 237, 4, 237, 237,
6338 4, 4, 668, 4, 237, 687, 4, 7, 7, 7,
6339 7, 236, 236, 236, 7, 7, 5, 236, 200, 201,
6340 202, 203, 239, 305, 236, 236, 5, 5, 5, 236,
6341 117, 118, 119, 120, 314, 5, 257, 259, 236, 5,
6342 5, 5, 5, 7, 7, 5, 7, 7, 236, 236,
6343 5, 7, 5, 266, 17, 18, 341, 20, 21, 344,
6344 236, 236, 236, 5, 236, 236, 266, 266, 266, 236,
6345 7, 236, 266, 236, 236, 236, 236, 236, 236, 236,
6346 236, 236, 236, 236, 236, 236, 266, 236, 259, 236,
6347 236, 18, 198, 679, 199, 5, 255, 278, 686, 333,
6348 27, 28, 353, 354, 355, 357, 40, 41, 42, 43,
6349 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
6350 54, 58, 59, 60, 61, 62, 63, 64, 65, 66,
6351 67, 68, 69, 181, 270, 367, 368, 369, 371, 373,
6352 375, 377, 379, 380, 382, 383, 384, 385, 386, 387,
6353 388, 389, 390, 391, 394, 395, 396, 398, 400, 402,
6354 404, 367, 7, 363, 364, 365, 7, 448, 449, 450,
6355 7, 490, 491, 492, 7, 514, 515, 516, 7, 480,
6356 481, 482, 144, 145, 146, 147, 149, 408, 409, 410,
6357 411, 412, 413, 414, 7, 590, 591, 592, 7, 552,
6358 553, 554, 7, 424, 425, 426, 156, 157, 158, 159,
6359 160, 161, 438, 439, 440, 441, 442, 443, 444, 445,
6360 164, 165, 166, 270, 417, 418, 419, 420, 421, 546,
6361 548, 7, 607, 608, 609, 186, 187, 188, 236, 546,
6362 548, 655, 656, 657, 658, 660, 661, 667, 7, 693,
6363 694, 219, 220, 221, 222, 270, 717, 718, 719, 720,
6364 721, 722, 267, 7, 535, 536, 537, 151, 585, 586,
6365 363, 8, 8, 8, 356, 358, 3, 8, 370, 372,
6366 374, 378, 4, 4, 4, 4, 4, 4, 4, 4,
6367 4, 4, 392, 4, 4, 397, 399, 401, 403, 405,
6368 376, 3, 8, 8, 366, 6, 3, 451, 6, 3,
6369 493, 6, 3, 517, 6, 3, 483, 6, 3, 3,
6370 6, 593, 6, 3, 555, 6, 3, 427, 6, 3,
6371 4, 4, 4, 4, 4, 4, 3, 8, 4, 4,
6372 4, 3, 8, 610, 6, 3, 4, 659, 4, 662,
6373 3, 8, 8, 695, 3, 6, 4, 4, 4, 4,
6374 3, 8, 236, 268, 269, 538, 6, 3, 587, 8,
6375 6, 4, 4, 354, 4, 4, 4, 4, 237, 239,
6376 237, 239, 237, 237, 237, 237, 237, 237, 4, 239,
6377 237, 4, 4, 4, 4, 4, 4, 368, 367, 365,
6378 454, 450, 496, 492, 520, 516, 270, 280, 281, 282,
6379 283, 284, 285, 286, 287, 288, 289, 290, 295, 298,
6380 299, 300, 301, 302, 303, 306, 308, 310, 311, 312,
6381 315, 316, 317, 318, 319, 321, 323, 329, 380, 446,
6382 464, 466, 468, 470, 472, 474, 475, 476, 484, 485,
6383 512, 546, 548, 561, 563, 565, 583, 482, 409, 136,
6384 137, 138, 139, 270, 280, 281, 282, 329, 380, 486,
6385 512, 546, 548, 561, 563, 565, 594, 595, 596, 597,
6386 598, 600, 602, 603, 592, 558, 554, 430, 426, 237,
6387 237, 237, 237, 237, 237, 439, 239, 237, 237, 418,
6388 168, 172, 173, 174, 175, 182, 183, 270, 396, 398,
6389 400, 546, 548, 611, 612, 613, 616, 618, 620, 621,
6390 622, 632, 609, 239, 4, 237, 4, 656, 210, 212,
6391 213, 270, 380, 546, 548, 696, 697, 698, 699, 701,
6392 694, 239, 239, 239, 239, 718, 6, 3, 541, 537,
6393 4, 236, 236, 236, 236, 236, 236, 55, 56, 57,
6394 393, 236, 236, 236, 402, 236, 236, 8, 8, 8,
6395 8, 3, 8, 599, 601, 4, 4, 8, 3, 8,
6396 8, 614, 617, 619, 4, 633, 4, 623, 3, 8,
6397 236, 255, 702, 4, 700, 3, 8, 236, 8, 266,
6398 485, 4, 4, 239, 239, 596, 4, 4, 4, 237,
6399 4, 239, 4, 612, 4, 237, 4, 697, 236, 236,
6400 169, 170, 171, 615, 236, 236, 7, 5, 5, 236,
6401 40, 177, 178, 179, 270, 546, 548, 634, 635, 636,
6402 639, 641, 643, 7, 624, 625, 626, 7, 703, 704,
6403 637, 640, 642, 644, 3, 8, 627, 6, 3, 705,
6404 3, 6, 4, 4, 4, 4, 635, 184, 270, 380,
6405 546, 548, 628, 629, 630, 626, 211, 214, 215, 216,
6406 217, 706, 707, 708, 710, 711, 712, 713, 704, 176,
6407 638, 236, 236, 5, 631, 3, 8, 709, 4, 4,
6408 4, 714, 3, 8, 7, 645, 646, 647, 4, 629,
6409 4, 239, 237, 237, 4, 707, 648, 6, 3, 236,
6410 236, 236, 180, 270, 371, 373, 375, 546, 548, 649,
6411 650, 651, 647, 652, 3, 8, 4, 650, 236
6415 Dhcp4Parser::yyr1_[] =
6417 0, 240, 242, 241, 243, 241, 244, 241, 245, 241,
6418 246, 241, 247, 241, 248, 241, 249, 241, 250, 241,
6419 251, 241, 252, 241, 253, 241, 254, 241, 255, 255,
6420 255, 255, 255, 255, 255, 256, 258, 257, 259, 260,
6421 260, 261, 261, 261, 263, 262, 264, 264, 265, 265,
6422 265, 267, 266, 268, 268, 269, 269, 269, 270, 272,
6423 271, 274, 273, 273, 275, 277, 276, 278, 278, 278,
6424 279, 279, 279, 279, 279, 279, 279, 279, 279, 279,
6425 279, 279, 279, 279, 279, 279, 279, 279, 279, 279,
6426 279, 279, 279, 279, 279, 279, 279, 279, 279, 279,
6427 279, 279, 279, 279, 279, 279, 279, 279, 279, 279,
6428 279, 279, 279, 279, 279, 279, 279, 279, 279, 279,
6429 279, 279, 279, 279, 279, 279, 279, 279, 279, 279,
6430 279, 279, 279, 279, 279, 279, 279, 279, 279, 279,
6431 279, 279, 280, 281, 282, 283, 284, 285, 286, 287,
6432 288, 289, 290, 291, 293, 292, 294, 296, 295, 297,
6433 298, 299, 300, 301, 302, 304, 303, 305, 305, 305,
6434 305, 305, 307, 306, 309, 308, 310, 311, 313, 312,
6435 314, 314, 314, 314, 315, 316, 317, 318, 320, 319,
6436 322, 321, 323, 324, 325, 326, 327, 328, 329, 330,
6437 332, 331, 333, 333, 333, 334, 334, 334, 334, 334,
6438 334, 334, 334, 334, 334, 336, 335, 338, 337, 340,
6439 339, 341, 341, 343, 342, 344, 344, 345, 346, 347,
6440 348, 350, 349, 352, 351, 353, 353, 353, 354, 354,
6441 356, 355, 358, 357, 360, 359, 362, 361, 363, 363,
6442 364, 364, 364, 366, 365, 367, 367, 367, 368, 368,
6443 368, 368, 368, 368, 368, 368, 368, 368, 368, 368,
6444 368, 368, 368, 368, 368, 368, 368, 368, 368, 368,
6445 368, 368, 368, 370, 369, 372, 371, 374, 373, 376,
6446 375, 378, 377, 379, 381, 380, 382, 383, 384, 385,
6447 386, 387, 388, 389, 390, 392, 391, 393, 393, 393,
6448 394, 395, 397, 396, 399, 398, 401, 400, 403, 402,
6449 402, 402, 402, 402, 402, 405, 404, 407, 406, 408,
6450 408, 408, 409, 409, 409, 409, 409, 410, 411, 412,
6451 413, 414, 416, 415, 417, 417, 417, 418, 418, 418,
6452 418, 418, 418, 419, 420, 421, 423, 422, 424, 424,
6453 425, 425, 425, 427, 426, 429, 428, 430, 430, 430,
6454 430, 431, 431, 433, 432, 435, 434, 437, 436, 438,
6455 438, 438, 439, 439, 439, 439, 439, 439, 440, 441,
6456 442, 443, 444, 445, 447, 446, 448, 448, 449, 449,
6457 449, 451, 450, 453, 452, 454, 454, 454, 455, 455,
6458 455, 455, 455, 455, 455, 455, 455, 455, 455, 455,
6459 455, 455, 455, 455, 455, 455, 455, 455, 455, 455,
6460 455, 455, 455, 455, 455, 455, 455, 455, 455, 455,
6461 455, 455, 455, 455, 455, 455, 455, 455, 455, 455,
6462 455, 455, 455, 455, 455, 455, 455, 455, 455, 455,
6463 455, 455, 457, 456, 459, 458, 461, 460, 463, 462,
6464 465, 464, 467, 466, 469, 468, 471, 470, 473, 472,
6465 474, 475, 476, 477, 479, 478, 480, 480, 481, 481,
6466 481, 483, 482, 484, 484, 484, 485, 485, 485, 485,
6467 485, 485, 485, 485, 485, 485, 485, 485, 485, 485,
6468 485, 485, 485, 485, 485, 485, 485, 485, 485, 485,
6469 485, 485, 485, 485, 485, 485, 485, 485, 485, 485,
6470 485, 485, 485, 485, 485, 485, 485, 485, 485, 485,
6471 485, 485, 485, 485, 485, 487, 486, 489, 488, 490,
6472 490, 491, 491, 491, 493, 492, 495, 494, 496, 496,
6473 497, 497, 497, 498, 498, 498, 498, 498, 498, 498,
6474 498, 498, 498, 499, 500, 501, 503, 502, 505, 504,
6475 507, 506, 508, 510, 509, 511, 513, 512, 514, 514,
6476 515, 515, 515, 517, 516, 519, 518, 520, 520, 521,
6477 521, 521, 522, 522, 522, 522, 522, 522, 522, 522,
6478 522, 522, 522, 523, 525, 524, 526, 527, 528, 529,
6479 530, 532, 531, 534, 533, 535, 535, 536, 536, 536,
6480 538, 537, 540, 539, 541, 541, 541, 542, 542, 542,
6481 542, 542, 542, 542, 542, 542, 542, 542, 542, 542,
6482 542, 542, 542, 542, 542, 542, 542, 542, 542, 542,
6483 542, 544, 543, 545, 547, 546, 549, 548, 551, 550,
6484 552, 552, 553, 553, 553, 555, 554, 557, 556, 558,
6485 558, 559, 559, 559, 560, 560, 560, 560, 560, 560,
6486 560, 560, 560, 560, 560, 560, 560, 560, 560, 562,
6487 561, 564, 563, 566, 565, 568, 567, 570, 569, 572,
6488 571, 574, 573, 576, 575, 578, 577, 580, 579, 582,
6489 581, 584, 583, 585, 587, 586, 589, 588, 590, 590,
6490 591, 591, 591, 593, 592, 594, 594, 595, 595, 595,
6491 596, 596, 596, 596, 596, 596, 596, 596, 596, 596,
6492 596, 596, 596, 596, 596, 596, 596, 597, 599, 598,
6493 601, 600, 602, 603, 604, 606, 605, 607, 607, 608,
6494 608, 608, 610, 609, 611, 611, 611, 612, 612, 612,
6495 612, 612, 612, 612, 612, 612, 612, 612, 612, 612,
6496 614, 613, 615, 615, 615, 617, 616, 619, 618, 620,
6497 621, 623, 622, 624, 624, 625, 625, 625, 627, 626,
6498 628, 628, 628, 629, 629, 629, 629, 629, 631, 630,
6499 633, 632, 634, 634, 634, 635, 635, 635, 635, 635,
6500 635, 635, 637, 636, 638, 640, 639, 642, 641, 644,
6501 643, 645, 645, 646, 646, 646, 648, 647, 649, 649,
6502 649, 650, 650, 650, 650, 650, 650, 650, 652, 651,
6503 654, 653, 655, 655, 655, 656, 656, 656, 656, 656,
6504 656, 657, 659, 658, 660, 662, 661, 664, 663, 666,
6505 665, 667, 667, 667, 668, 668, 668, 668, 668, 668,
6506 668, 668, 668, 668, 668, 669, 671, 670, 672, 674,
6507 673, 675, 676, 678, 677, 679, 679, 681, 680, 683,
6508 682, 685, 684, 686, 686, 686, 687, 687, 689, 688,
6509 690, 692, 691, 693, 693, 693, 695, 694, 696, 696,
6510 696, 697, 697, 697, 697, 697, 697, 697, 698, 700,
6511 699, 702, 701, 703, 703, 703, 705, 704, 706, 706,
6512 706, 707, 707, 707, 707, 707, 709, 708, 710, 711,
6513 712, 714, 713, 716, 715, 717, 717, 717, 718, 718,
6514 718, 718, 718, 719, 720, 721, 722
6518 Dhcp4Parser::yyr2_[] =
6520 0, 2, 0, 3, 0, 3, 0, 3, 0, 3,
6521 0, 3, 0, 3, 0, 3, 0, 3, 0, 3,
6522 0, 3, 0, 3, 0, 3, 0, 3, 1, 1,
6523 1, 1, 1, 1, 1, 1, 0, 4, 1, 0,
6524 1, 3, 5, 2, 0, 4, 0, 1, 1, 3,
6525 2, 0, 4, 0, 1, 1, 3, 2, 2, 0,
6526 4, 0, 6, 1, 2, 0, 4, 1, 3, 2,
6527 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6528 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6529 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6530 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6531 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6532 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6533 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6534 1, 1, 3, 3, 3, 3, 3, 3, 3, 3,
6535 3, 3, 3, 3, 0, 4, 3, 0, 4, 3,
6536 3, 3, 3, 3, 3, 0, 4, 1, 1, 1,
6537 1, 1, 0, 4, 0, 4, 3, 3, 0, 4,
6538 1, 1, 1, 1, 3, 3, 3, 3, 0, 4,
6539 0, 4, 3, 3, 3, 3, 3, 3, 3, 3,
6540 0, 6, 1, 3, 2, 1, 1, 1, 1, 1,
6541 1, 1, 1, 1, 1, 0, 4, 0, 4, 0,
6542 4, 1, 1, 0, 4, 1, 1, 3, 3, 3,
6543 3, 0, 6, 0, 6, 1, 3, 2, 1, 1,
6544 0, 4, 0, 4, 0, 6, 0, 6, 0, 1,
6545 1, 3, 2, 0, 4, 1, 3, 2, 1, 1,
6546 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6547 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6548 1, 1, 1, 0, 4, 0, 4, 0, 4, 0,
6549 4, 0, 4, 3, 0, 4, 3, 3, 3, 3,
6550 3, 3, 3, 3, 3, 0, 4, 1, 1, 1,
6551 3, 3, 0, 4, 0, 4, 0, 4, 0, 4,
6552 1, 1, 1, 1, 1, 0, 4, 0, 6, 1,
6553 3, 2, 1, 1, 1, 1, 1, 1, 1, 1,
6554 1, 1, 0, 6, 1, 3, 2, 1, 1, 1,
6555 1, 1, 1, 3, 3, 3, 0, 6, 0, 1,
6556 1, 3, 2, 0, 4, 0, 4, 1, 3, 2,
6557 1, 1, 1, 0, 4, 0, 4, 0, 6, 1,
6558 3, 2, 1, 1, 1, 1, 1, 1, 3, 3,
6559 3, 3, 3, 3, 0, 6, 0, 1, 1, 3,
6560 2, 0, 4, 0, 4, 1, 3, 2, 1, 1,
6561 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6562 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6563 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6564 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6565 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6566 1, 1, 0, 4, 0, 4, 0, 4, 0, 4,
6567 0, 4, 0, 4, 0, 4, 0, 4, 0, 4,
6568 3, 3, 3, 3, 0, 6, 0, 1, 1, 3,
6569 2, 0, 4, 1, 3, 2, 1, 1, 1, 1,
6570 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6571 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6572 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6573 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6574 1, 1, 1, 1, 1, 0, 6, 0, 4, 0,
6575 1, 1, 3, 2, 0, 4, 0, 4, 0, 1,
6576 1, 3, 2, 1, 1, 1, 1, 1, 1, 1,
6577 1, 1, 1, 1, 3, 1, 0, 4, 0, 4,
6578 0, 4, 1, 0, 4, 3, 0, 6, 0, 1,
6579 1, 3, 2, 0, 4, 0, 4, 0, 1, 1,
6580 3, 2, 1, 1, 1, 1, 1, 1, 1, 1,
6581 1, 1, 1, 1, 0, 4, 1, 1, 3, 3,
6582 3, 0, 4, 0, 6, 0, 1, 1, 3, 2,
6583 0, 4, 0, 4, 1, 3, 2, 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, 0, 4, 3, 0, 4, 0, 4, 0, 6,
6587 0, 1, 1, 3, 2, 0, 4, 0, 4, 0,
6588 1, 1, 3, 2, 1, 1, 1, 1, 1, 1,
6589 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
6590 4, 0, 4, 0, 4, 0, 4, 0, 4, 0,
6591 4, 0, 4, 0, 4, 0, 4, 0, 4, 0,
6592 4, 0, 6, 1, 0, 4, 0, 6, 0, 1,
6593 1, 3, 2, 0, 4, 0, 1, 1, 3, 2,
6594 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6595 1, 1, 1, 1, 1, 1, 1, 1, 0, 4,
6596 0, 4, 3, 3, 3, 0, 6, 0, 1, 1,
6597 3, 2, 0, 4, 1, 3, 2, 1, 1, 1,
6598 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6599 0, 4, 1, 1, 1, 0, 4, 0, 4, 3,
6600 3, 0, 6, 0, 1, 1, 3, 2, 0, 4,
6601 1, 3, 2, 1, 1, 1, 1, 1, 0, 4,
6602 0, 6, 1, 3, 2, 1, 1, 1, 1, 1,
6603 1, 1, 0, 4, 1, 0, 4, 0, 4, 0,
6604 6, 0, 1, 1, 3, 2, 0, 4, 1, 3,
6605 2, 1, 1, 1, 1, 1, 1, 1, 0, 4,
6606 0, 6, 1, 3, 2, 1, 1, 1, 1, 1,
6607 1, 3, 0, 4, 3, 0, 4, 0, 6, 0,
6608 4, 1, 3, 2, 1, 1, 1, 1, 1, 1,
6609 1, 1, 1, 1, 1, 3, 0, 4, 3, 0,
6610 4, 3, 3, 0, 4, 1, 1, 0, 4, 0,
6611 6, 0, 4, 1, 3, 2, 1, 1, 0, 6,
6612 3, 0, 6, 1, 3, 2, 0, 4, 1, 3,
6613 2, 1, 1, 1, 1, 1, 1, 1, 3, 0,
6614 4, 0, 6, 1, 3, 2, 0, 4, 1, 3,
6615 2, 1, 1, 1, 1, 1, 0, 4, 3, 3,
6616 3, 0, 4, 0, 6, 1, 3, 2, 1, 1,
6621#if PARSER4_DEBUG || 1
6625 const Dhcp4Parser::yytname_[] =
6627 "\"end of file\"",
"error",
"\"invalid token\"",
"\",\"",
"\":\"",
6628 "\"[\"",
"\"]\"",
"\"{\"",
"\"}\"",
"\"null\"",
"\"Dhcp4\"",
6629 "\"config-control\"",
"\"config-databases\"",
6630 "\"config-fetch-wait-time\"",
"\"interfaces-config\"",
"\"interfaces\"",
6631 "\"dhcp-socket-type\"",
"\"raw\"",
"\"udp\"",
"\"outbound-interface\"",
6632 "\"same-as-inbound\"",
"\"use-routing\"",
"\"re-detect\"",
6633 "\"service-sockets-require-all\"",
"\"service-sockets-retry-wait-time\"",
6634 "\"service-sockets-max-retries\"",
"\"sanity-checks\"",
6635 "\"lease-checks\"",
"\"extended-info-checks\"",
"\"echo-client-id\"",
6636 "\"match-client-id\"",
"\"authoritative\"",
"\"next-server\"",
6637 "\"server-hostname\"",
"\"boot-file-name\"",
"\"offer-lifetime\"",
6638 "\"stash-agent-options\"",
"\"lease-database\"",
"\"hosts-database\"",
6639 "\"hosts-databases\"",
"\"type\"",
"\"user\"",
"\"password\"",
6640 "\"host\"",
"\"port\"",
"\"persist\"",
"\"lfc-interval\"",
6641 "\"readonly\"",
"\"connect-timeout\"",
"\"read-timeout\"",
6642 "\"write-timeout\"",
"\"tcp-user-timeout\"",
"\"max-reconnect-tries\"",
6643 "\"reconnect-wait-time\"",
"\"on-fail\"",
"\"stop-retry-exit\"",
6644 "\"serve-retry-exit\"",
"\"serve-retry-continue\"",
6645 "\"retry-on-startup\"",
"\"max-row-errors\"",
"\"trust-anchor\"",
6646 "\"cert-file\"",
"\"key-file\"",
"\"ssl-mode\"",
"\"disable\"",
6647 "\"prefer\"",
"\"require\"",
"\"verify-ca\"",
"\"verify-full\"",
6648 "\"cipher-list\"",
"\"valid-lifetime\"",
"\"min-valid-lifetime\"",
6649 "\"max-valid-lifetime\"",
"\"renew-timer\"",
"\"rebind-timer\"",
6650 "\"calculate-tee-times\"",
"\"t1-percent\"",
"\"t2-percent\"",
6651 "\"cache-threshold\"",
"\"cache-max-age\"",
6652 "\"adaptive-lease-time-threshold\"",
"\"decline-probation-period\"",
6653 "\"server-tag\"",
"\"statistic-default-sample-count\"",
6654 "\"statistic-default-sample-age\"",
"\"ddns-send-updates\"",
6655 "\"ddns-override-no-update\"",
"\"ddns-override-client-update\"",
6656 "\"ddns-replace-client-name\"",
"\"ddns-generated-prefix\"",
6657 "\"ddns-qualifying-suffix\"",
"\"ddns-update-on-renew\"",
6658 "\"ddns-use-conflict-resolution\"",
"\"ddns-ttl-percent\"",
6659 "\"ddns-ttl\"",
"\"ddns-ttl-min\"",
"\"ddns-ttl-max\"",
6660 "\"store-extended-info\"",
"\"subnet4\"",
"\"4o6-interface\"",
6661 "\"4o6-interface-id\"",
"\"4o6-subnet\"",
"\"option-def\"",
6662 "\"option-data\"",
"\"name\"",
"\"data\"",
"\"code\"",
"\"space\"",
6663 "\"csv-format\"",
"\"always-send\"",
"\"never-send\"",
6664 "\"record-types\"",
"\"encapsulate\"",
"\"array\"",
6665 "\"parked-packet-limit\"",
"\"allocator\"",
6666 "\"ddns-conflict-resolution-mode\"",
"\"check-with-dhcid\"",
6667 "\"no-check-with-dhcid\"",
"\"check-exists-with-dhcid\"",
6668 "\"no-check-without-dhcid\"",
"\"shared-networks\"",
"\"pools\"",
6669 "\"pool\"",
"\"user-context\"",
"\"comment\"",
"\"subnet\"",
6670 "\"interface\"",
"\"id\"",
"\"reservations-global\"",
6671 "\"reservations-in-subnet\"",
"\"reservations-out-of-pool\"",
6672 "\"host-reservation-identifiers\"",
"\"client-classes\"",
6673 "\"require-client-classes\"",
"\"evaluate-additional-classes\"",
6674 "\"test\"",
"\"template-test\"",
"\"only-if-required\"",
6675 "\"only-in-additional-list\"",
"\"client-class\"",
"\"pool-id\"",
6676 "\"reservations\"",
"\"ip-address\"",
"\"duid\"",
"\"hw-address\"",
6677 "\"circuit-id\"",
"\"client-id\"",
"\"hostname\"",
"\"flex-id\"",
6678 "\"relay\"",
"\"ip-addresses\"",
"\"hooks-libraries\"",
"\"library\"",
6679 "\"parameters\"",
"\"expired-leases-processing\"",
6680 "\"reclaim-timer-wait-time\"",
"\"flush-reclaimed-timer-wait-time\"",
6681 "\"hold-reclaimed-time\"",
"\"max-reclaim-leases\"",
6682 "\"max-reclaim-time\"",
"\"unwarned-reclaim-cycles\"",
6683 "\"dhcp4o6-port\"",
"\"multi-threading\"",
"\"enable-multi-threading\"",
6684 "\"thread-pool-size\"",
"\"packet-queue-size\"",
"\"control-sockets\"",
6685 "\"socket-type\"",
"\"unix\"",
"\"http\"",
"\"https\"",
6686 "\"socket-name\"",
"\"socket-address\"",
"\"socket-port\"",
6687 "\"authentication\"",
"\"basic\"",
"\"realm\"",
"\"directory\"",
6688 "\"clients\"",
"\"user-file\"",
"\"password-file\"",
"\"cert-required\"",
6689 "\"http-headers\"",
"\"value\"",
"\"dhcp-queue-control\"",
6690 "\"enable-queue\"",
"\"queue-type\"",
"\"capacity\"",
"\"dhcp-ddns\"",
6691 "\"enable-updates\"",
"\"server-ip\"",
"\"server-port\"",
6692 "\"sender-ip\"",
"\"sender-port\"",
"\"max-queue-size\"",
6693 "\"ncr-protocol\"",
"\"ncr-format\"",
"\"tcp\"",
"\"JSON\"",
6694 "\"when-present\"",
"\"never\"",
"\"always\"",
"\"when-not-present\"",
6695 "\"hostname-char-set\"",
"\"hostname-char-replacement\"",
6696 "\"early-global-reservations-lookup\"",
"\"ip-reservations-unique\"",
6697 "\"reservations-lookup-first\"",
"\"loggers\"",
"\"output-options\"",
6698 "\"output\"",
"\"debuglevel\"",
"\"severity\"",
"\"flush\"",
6699 "\"maxsize\"",
"\"maxver\"",
"\"pattern\"",
"\"compatibility\"",
6700 "\"lenient-option-parsing\"",
"\"ignore-dhcp-server-identifier\"",
6701 "\"ignore-rai-link-selection\"",
"\"exclude-first-last-24\"",
6702 "TOPLEVEL_JSON",
"TOPLEVEL_DHCP4",
"SUB_DHCP4",
"SUB_INTERFACES4",
6703 "SUB_SUBNET4",
"SUB_POOL4",
"SUB_RESERVATION",
"SUB_OPTION_DEFS",
6704 "SUB_OPTION_DEF",
"SUB_OPTION_DATA",
"SUB_HOOKS_LIBRARY",
6705 "SUB_DHCP_DDNS",
"SUB_CONFIG_CONTROL",
"\"constant string\"",
6706 "\"integer\"",
"\"floating point\"",
"\"boolean\"",
"$accept",
"start",
6707 "$@1",
"$@2",
"$@3",
"$@4",
"$@5",
"$@6",
"$@7",
"$@8",
"$@9",
"$@10",
6708 "$@11",
"$@12",
"$@13",
"value",
"sub_json",
"map2",
"$@14",
"map_value",
6709 "map_content",
"not_empty_map",
"list_generic",
"$@15",
"list_content",
6710 "not_empty_list",
"list_strings",
"$@16",
"list_strings_content",
6711 "not_empty_list_strings",
"unknown_map_entry",
"syntax_map",
"$@17",
6712 "global_object",
"$@18",
"global_object_comma",
"sub_dhcp4",
"$@19",
6713 "global_params",
"global_param",
"valid_lifetime",
"min_valid_lifetime",
6714 "max_valid_lifetime",
"renew_timer",
"rebind_timer",
6715 "calculate_tee_times",
"t1_percent",
"t2_percent",
"cache_threshold",
6716 "cache_max_age",
"adaptive_lease_time_threshold",
6717 "decline_probation_period",
"server_tag",
"$@20",
"parked_packet_limit",
6718 "allocator",
"$@21",
"echo_client_id",
"match_client_id",
6719 "authoritative",
"ddns_send_updates",
"ddns_override_no_update",
6720 "ddns_override_client_update",
"ddns_replace_client_name",
"$@22",
6721 "ddns_replace_client_name_value",
"ddns_generated_prefix",
"$@23",
6722 "ddns_qualifying_suffix",
"$@24",
"ddns_update_on_renew",
6723 "ddns_use_conflict_resolution",
"ddns_conflict_resolution_mode",
"$@25",
6724 "ddns_conflict_resolution_mode_value",
"ddns_ttl_percent",
"ddns_ttl",
6725 "ddns_ttl_min",
"ddns_ttl_max",
"hostname_char_set",
"$@26",
6726 "hostname_char_replacement",
"$@27",
"store_extended_info",
6727 "statistic_default_sample_count",
"statistic_default_sample_age",
6728 "early_global_reservations_lookup",
"ip_reservations_unique",
6729 "reservations_lookup_first",
"offer_lifetime",
"stash_agent_options",
6730 "interfaces_config",
"$@28",
"interfaces_config_params",
6731 "interfaces_config_param",
"sub_interfaces4",
"$@29",
"interfaces_list",
6732 "$@30",
"dhcp_socket_type",
"$@31",
"socket_type",
"outbound_interface",
6733 "$@32",
"outbound_interface_value",
"re_detect",
6734 "service_sockets_require_all",
"service_sockets_retry_wait_time",
6735 "service_sockets_max_retries",
"lease_database",
"$@33",
"sanity_checks",
6736 "$@34",
"sanity_checks_params",
"sanity_checks_param",
"lease_checks",
6737 "$@35",
"extended_info_checks",
"$@36",
"hosts_database",
"$@37",
6738 "hosts_databases",
"$@38",
"database_list",
"not_empty_database_list",
6739 "database",
"$@39",
"database_map_params",
"database_map_param",
6740 "database_type",
"$@40",
"user",
"$@41",
"password",
"$@42",
6741 "password_file",
"$@43",
"host",
"$@44",
"port",
"name",
"$@45",
6742 "persist",
"lfc_interval",
"readonly",
"connect_timeout",
"read_timeout",
6743 "write_timeout",
"tcp_user_timeout",
"max_reconnect_tries",
6744 "reconnect_wait_time",
"on_fail",
"$@46",
"on_fail_mode",
6745 "retry_on_startup",
"max_row_errors",
"trust_anchor",
"$@47",
6746 "cert_file",
"$@48",
"key_file",
"$@49",
"ssl_mode",
"$@50",
6747 "cipher_list",
"$@51",
"host_reservation_identifiers",
"$@52",
6748 "host_reservation_identifiers_list",
"host_reservation_identifier",
6749 "duid_id",
"hw_address_id",
"circuit_id",
"client_id",
"flex_id",
6750 "dhcp_multi_threading",
"$@53",
"multi_threading_params",
6751 "multi_threading_param",
"enable_multi_threading",
"thread_pool_size",
6752 "packet_queue_size",
"hooks_libraries",
"$@54",
"hooks_libraries_list",
6753 "not_empty_hooks_libraries_list",
"hooks_library",
"$@55",
6754 "sub_hooks_library",
"$@56",
"hooks_params",
"hooks_param",
"library",
6755 "$@57",
"parameters",
"$@58",
"expired_leases_processing",
"$@59",
6756 "expired_leases_params",
"expired_leases_param",
6757 "reclaim_timer_wait_time",
"flush_reclaimed_timer_wait_time",
6758 "hold_reclaimed_time",
"max_reclaim_leases",
"max_reclaim_time",
6759 "unwarned_reclaim_cycles",
"subnet4_list",
"$@60",
6760 "subnet4_list_content",
"not_empty_subnet4_list",
"subnet4",
"$@61",
6761 "sub_subnet4",
"$@62",
"subnet4_params",
"subnet4_param",
"subnet",
6762 "$@63",
"subnet_4o6_interface",
"$@64",
"subnet_4o6_interface_id",
6763 "$@65",
"subnet_4o6_subnet",
"$@66",
"interface",
"$@67",
"client_class",
6764 "$@68",
"network_client_classes",
"$@69",
"require_client_classes",
6765 "$@70",
"evaluate_additional_classes",
"$@71",
"reservations_global",
6766 "reservations_in_subnet",
"reservations_out_of_pool",
"id",
6767 "shared_networks",
"$@72",
"shared_networks_content",
6768 "shared_networks_list",
"shared_network",
"$@73",
6769 "shared_network_params",
"shared_network_param",
"option_def_list",
6770 "$@74",
"sub_option_def_list",
"$@75",
"option_def_list_content",
6771 "not_empty_option_def_list",
"option_def_entry",
"$@76",
6772 "sub_option_def",
"$@77",
"option_def_params",
6773 "not_empty_option_def_params",
"option_def_param",
"option_def_name",
6774 "code",
"option_def_code",
"option_def_type",
"$@78",
6775 "option_def_record_types",
"$@79",
"space",
"$@80",
"option_def_space",
6776 "option_def_encapsulate",
"$@81",
"option_def_array",
"option_data_list",
6777 "$@82",
"option_data_list_content",
"not_empty_option_data_list",
6778 "option_data_entry",
"$@83",
"sub_option_data",
"$@84",
6779 "option_data_params",
"not_empty_option_data_params",
6780 "option_data_param",
"option_data_name",
"option_data_data",
"$@85",
6781 "option_data_code",
"option_data_space",
"option_data_csv_format",
6782 "option_data_always_send",
"option_data_never_send",
6783 "option_data_client_classes",
"$@86",
"pools_list",
"$@87",
6784 "pools_list_content",
"not_empty_pools_list",
"pool_list_entry",
"$@88",
6785 "sub_pool4",
"$@89",
"pool_params",
"pool_param",
"pool_entry",
"$@90",
6786 "pool_id",
"user_context",
"$@91",
"comment",
"$@92",
"reservations",
6787 "$@93",
"reservations_list",
"not_empty_reservations_list",
6788 "reservation",
"$@94",
"sub_reservation",
"$@95",
"reservation_params",
6789 "not_empty_reservation_params",
"reservation_param",
"next_server",
6790 "$@96",
"server_hostname",
"$@97",
"boot_file_name",
"$@98",
6791 "ip_address",
"$@99",
"duid",
"$@100",
"hw_address",
"$@101",
6792 "client_id_value",
"$@102",
"circuit_id_value",
"$@103",
"flex_id_value",
6793 "$@104",
"hostname",
"$@105",
"reservation_client_classes",
"$@106",
6794 "relay",
"$@107",
"relay_map",
"ip_addresses",
"$@108",
"client_classes",
6795 "$@109",
"client_classes_list",
"not_empty_classes_list",
6796 "client_class_entry",
"$@110",
"client_class_params",
6797 "not_empty_client_class_params",
"client_class_param",
6798 "client_class_name",
"client_class_test",
"$@111",
6799 "client_class_template_test",
"$@112",
"only_if_required",
6800 "only_in_additional_list",
"dhcp4o6_port",
"control_sockets",
"$@113",
6801 "control_socket_list",
"not_empty_control_socket_list",
6802 "control_socket_entry",
"$@114",
"control_socket_params",
6803 "control_socket_param",
"control_socket_type",
"$@115",
6804 "control_socket_type_value",
"control_socket_name",
"$@116",
6805 "control_socket_address",
"$@117",
"control_socket_port",
6806 "cert_required",
"http_headers",
"$@118",
"http_header_list",
6807 "not_empty_http_header_list",
"http_header",
"$@119",
6808 "http_header_params",
"http_header_param",
"header_value",
"$@120",
6809 "authentication",
"$@121",
"auth_params",
"auth_param",
"auth_type",
6810 "$@122",
"auth_type_value",
"realm",
"$@123",
"directory",
"$@124",
6811 "clients",
"$@125",
"clients_list",
"not_empty_clients_list",
6812 "basic_auth",
"$@126",
"clients_params",
"clients_param",
"user_file",
6813 "$@127",
"dhcp_queue_control",
"$@128",
"queue_control_params",
6814 "queue_control_param",
"enable_queue",
"queue_type",
"$@129",
"capacity",
6815 "arbitrary_map_entry",
"$@130",
"dhcp_ddns",
"$@131",
"sub_dhcp_ddns",
6816 "$@132",
"dhcp_ddns_params",
"dhcp_ddns_param",
"enable_updates",
6817 "server_ip",
"$@133",
"server_port",
"sender_ip",
"$@134",
"sender_port",
6818 "max_queue_size",
"ncr_protocol",
"$@135",
"ncr_protocol_value",
6819 "ncr_format",
"$@136",
"config_control",
"$@137",
"sub_config_control",
6820 "$@138",
"config_control_params",
"config_control_param",
6821 "config_databases",
"$@139",
"config_fetch_wait_time",
"loggers",
6822 "$@140",
"loggers_entries",
"logger_entry",
"$@141",
"logger_params",
6823 "logger_param",
"debuglevel",
"severity",
"$@142",
"output_options_list",
6824 "$@143",
"output_options_list_content",
"output_entry",
"$@144",
6825 "output_params_list",
"output_params",
"output",
"$@145",
"flush",
6826 "maxsize",
"maxver",
"pattern",
"$@146",
"compatibility",
"$@147",
6827 "compatibility_params",
"compatibility_param",
"lenient_option_parsing",
6828 "ignore_dhcp_server_identifier",
"ignore_rai_link_selection",
6829 "exclude_first_last_24", YY_NULLPTR
6836 Dhcp4Parser::yyrline_[] =
6838 0, 336, 336, 336, 337, 337, 338, 338, 339, 339,
6839 340, 340, 341, 341, 342, 342, 343, 343, 344, 344,
6840 345, 345, 346, 346, 347, 347, 348, 348, 356, 357,
6841 358, 359, 360, 361, 362, 365, 370, 370, 381, 384,
6842 385, 388, 393, 399, 404, 404, 411, 412, 415, 419,
6843 423, 429, 429, 436, 437, 440, 444, 448, 458, 467,
6844 467, 482, 482, 496, 499, 505, 505, 514, 515, 516,
6845 523, 524, 525, 526, 527, 528, 529, 530, 531, 532,
6846 533, 534, 535, 536, 537, 538, 539, 540, 541, 542,
6847 543, 544, 545, 546, 547, 548, 549, 550, 551, 552,
6848 553, 554, 555, 556, 557, 558, 559, 560, 561, 562,
6849 563, 564, 565, 566, 567, 568, 569, 570, 571, 572,
6850 573, 574, 575, 576, 577, 578, 579, 580, 581, 582,
6851 583, 584, 585, 586, 587, 588, 589, 590, 591, 592,
6852 593, 594, 597, 603, 609, 615, 621, 627, 633, 639,
6853 645, 651, 657, 663, 669, 669, 678, 684, 684, 693,
6854 699, 705, 711, 717, 723, 729, 729, 738, 741, 744,
6855 747, 750, 756, 756, 765, 765, 774, 783, 793, 793,
6856 802, 805, 808, 811, 816, 822, 828, 834, 840, 840,
6857 849, 849, 858, 864, 870, 876, 882, 888, 894, 900,
6858 906, 906, 918, 919, 920, 925, 926, 927, 928, 929,
6859 930, 931, 932, 933, 934, 937, 937, 946, 946, 957,
6860 957, 965, 966, 969, 969, 977, 979, 983, 989, 995,
6861 1001, 1007, 1007, 1020, 1020, 1031, 1032, 1033, 1038, 1039,
6862 1042, 1042, 1061, 1061, 1079, 1079, 1092, 1092, 1103, 1104,
6863 1107, 1108, 1109, 1114, 1114, 1124, 1125, 1126, 1131, 1132,
6864 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142,
6865 1143, 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151, 1152,
6866 1153, 1154, 1155, 1158, 1158, 1167, 1167, 1176, 1176, 1185,
6867 1185, 1194, 1194, 1203, 1209, 1209, 1218, 1224, 1230, 1236,
6868 1242, 1248, 1254, 1260, 1266, 1272, 1272, 1280, 1281, 1282,
6869 1285, 1291, 1297, 1297, 1306, 1306, 1315, 1315, 1324, 1324,
6870 1332, 1335, 1338, 1341, 1344, 1349, 1349, 1358, 1358, 1369,
6871 1370, 1371, 1376, 1377, 1378, 1379, 1380, 1383, 1388, 1393,
6872 1398, 1403, 1410, 1410, 1423, 1424, 1425, 1430, 1431, 1432,
6873 1433, 1434, 1435, 1438, 1444, 1450, 1456, 1456, 1467, 1468,
6874 1471, 1472, 1473, 1478, 1478, 1488, 1488, 1498, 1499, 1500,
6875 1503, 1506, 1507, 1510, 1510, 1519, 1519, 1528, 1528, 1540,
6876 1541, 1542, 1547, 1548, 1549, 1550, 1551, 1552, 1555, 1561,
6877 1567, 1573, 1579, 1585, 1594, 1594, 1608, 1609, 1612, 1613,
6878 1614, 1623, 1623, 1649, 1649, 1660, 1661, 1662, 1668, 1669,
6879 1670, 1671, 1672, 1673, 1674, 1675, 1676, 1677, 1678, 1679,
6880 1680, 1681, 1682, 1683, 1684, 1685, 1686, 1687, 1688, 1689,
6881 1690, 1691, 1692, 1693, 1694, 1695, 1696, 1697, 1698, 1699,
6882 1700, 1701, 1702, 1703, 1704, 1705, 1706, 1707, 1708, 1709,
6883 1710, 1711, 1712, 1713, 1714, 1715, 1716, 1717, 1718, 1719,
6884 1720, 1721, 1724, 1724, 1733, 1733, 1742, 1742, 1751, 1751,
6885 1760, 1760, 1769, 1769, 1779, 1779, 1791, 1791, 1802, 1802,
6886 1813, 1819, 1825, 1831, 1839, 1839, 1851, 1852, 1856, 1857,
6887 1858, 1863, 1863, 1871, 1872, 1873, 1878, 1879, 1880, 1881,
6888 1882, 1883, 1884, 1885, 1886, 1887, 1888, 1889, 1890, 1891,
6889 1892, 1893, 1894, 1895, 1896, 1897, 1898, 1899, 1900, 1901,
6890 1902, 1903, 1904, 1905, 1906, 1907, 1908, 1909, 1910, 1911,
6891 1912, 1913, 1914, 1915, 1916, 1917, 1918, 1919, 1920, 1921,
6892 1922, 1923, 1924, 1925, 1926, 1933, 1933, 1947, 1947, 1956,
6893 1957, 1960, 1961, 1962, 1969, 1969, 1984, 1984, 1998, 1999,
6894 2002, 2003, 2004, 2009, 2010, 2011, 2012, 2013, 2014, 2015,
6895 2016, 2017, 2018, 2021, 2023, 2029, 2031, 2031, 2040, 2040,
6896 2049, 2049, 2058, 2060, 2060, 2069, 2079, 2079, 2092, 2093,
6897 2098, 2099, 2100, 2107, 2107, 2119, 2119, 2131, 2132, 2137,
6898 2138, 2139, 2146, 2147, 2148, 2149, 2150, 2151, 2152, 2153,
6899 2154, 2155, 2156, 2159, 2161, 2161, 2170, 2172, 2174, 2180,
6900 2186, 2192, 2192, 2206, 2206, 2219, 2220, 2223, 2224, 2225,
6901 2230, 2230, 2240, 2240, 2250, 2251, 2252, 2257, 2258, 2259,
6902 2260, 2261, 2262, 2263, 2264, 2265, 2266, 2267, 2268, 2269,
6903 2270, 2271, 2272, 2273, 2274, 2275, 2276, 2277, 2278, 2279,
6904 2280, 2283, 2283, 2292, 2298, 2298, 2323, 2323, 2353, 2353,
6905 2364, 2365, 2368, 2369, 2370, 2375, 2375, 2384, 2384, 2393,
6906 2394, 2397, 2398, 2399, 2405, 2406, 2407, 2408, 2409, 2410,
6907 2411, 2412, 2413, 2414, 2415, 2416, 2417, 2418, 2419, 2422,
6908 2422, 2431, 2431, 2440, 2440, 2449, 2449, 2458, 2458, 2467,
6909 2467, 2476, 2476, 2485, 2485, 2494, 2494, 2503, 2503, 2512,
6910 2512, 2526, 2526, 2537, 2540, 2540, 2554, 2554, 2565, 2566,
6911 2569, 2570, 2571, 2576, 2576, 2586, 2587, 2590, 2591, 2592,
6912 2597, 2598, 2599, 2600, 2601, 2602, 2603, 2604, 2605, 2606,
6913 2607, 2608, 2609, 2610, 2611, 2612, 2613, 2616, 2618, 2618,
6914 2627, 2627, 2637, 2643, 2651, 2659, 2659, 2670, 2671, 2674,
6915 2675, 2676, 2681, 2681, 2689, 2690, 2691, 2696, 2697, 2698,
6916 2699, 2700, 2701, 2702, 2703, 2704, 2705, 2706, 2707, 2708,
6917 2711, 2711, 2720, 2721, 2722, 2725, 2725, 2734, 2734, 2743,
6918 2749, 2755, 2755, 2766, 2767, 2770, 2771, 2772, 2777, 2777,
6919 2785, 2786, 2787, 2792, 2793, 2794, 2795, 2796, 2799, 2799,
6920 2810, 2810, 2823, 2824, 2825, 2830, 2831, 2832, 2833, 2834,
6921 2835, 2836, 2839, 2839, 2847, 2850, 2850, 2859, 2859, 2868,
6922 2868, 2879, 2880, 2883, 2884, 2885, 2890, 2890, 2898, 2899,
6923 2900, 2905, 2906, 2907, 2908, 2909, 2910, 2911, 2914, 2914,
6924 2925, 2925, 2938, 2939, 2940, 2945, 2946, 2947, 2948, 2949,
6925 2950, 2953, 2959, 2959, 2968, 2974, 2974, 2984, 2984, 2997,
6926 2997, 3007, 3008, 3009, 3014, 3015, 3016, 3017, 3018, 3019,
6927 3020, 3021, 3022, 3023, 3024, 3027, 3033, 3033, 3042, 3048,
6928 3048, 3057, 3063, 3069, 3069, 3078, 3079, 3082, 3082, 3093,
6929 3093, 3105, 3105, 3115, 3116, 3117, 3123, 3124, 3127, 3127,
6930 3138, 3146, 3146, 3159, 3160, 3161, 3167, 3167, 3175, 3176,
6931 3177, 3182, 3183, 3184, 3185, 3186, 3187, 3188, 3191, 3197,
6932 3197, 3206, 3206, 3217, 3218, 3219, 3224, 3224, 3232, 3233,
6933 3234, 3239, 3240, 3241, 3242, 3243, 3246, 3246, 3255, 3261,
6934 3267, 3273, 3273, 3282, 3282, 3293, 3294, 3295, 3300, 3301,
6935 3302, 3303, 3304, 3307, 3313, 3319, 3325
6939 Dhcp4Parser::yy_stack_print_ ()
const
6941 *yycdebug_ <<
"Stack now";
6942 for (stack_type::const_iterator
6943 i = yystack_.begin (),
6944 i_end = yystack_.end ();
6946 *yycdebug_ <<
' ' << int (i->state);
6951 Dhcp4Parser::yy_reduce_print_ (
int yyrule)
const
6953 int yylno = yyrline_[yyrule];
6954 int yynrhs = yyr2_[yyrule];
6956 *yycdebug_ <<
"Reducing stack by rule " << yyrule - 1
6957 <<
" (line " << yylno <<
"):\n";
6959 for (
int yyi = 0; yyi < yynrhs; yyi++)
6961 yystack_[(yynrhs) - (yyi + 1)]);
6966#line 14 "dhcp4_parser.yy"
6968#line 6969 "dhcp4_parser.cc"
6970#line 3331 "dhcp4_parser.yy"
6975 const std::string& what)
6977 ctx.error(loc, what);
Notes: IntElement type is changed to int64_t.
symbol_kind_type token() const YY_NOEXCEPT
context(const Dhcp4Parser &yyparser, const symbol_type &yyla)
const symbol_type & lookahead() const YY_NOEXCEPT
int expected_tokens(symbol_kind_type yyarg[], int yyargn) const
Put in YYARG at most YYARGN of the expected tokens, and return the number of tokens stored in YYARG.
T & emplace()
Instantiate an empty T in here.
T & as() YY_NOEXCEPT
Accessor to a built T.
virtual void error(const location_type &loc, const std::string &msg)
Report a syntax error.
virtual int parse()
Parse.
location location_type
Symbol locations.
symbol_kind::symbol_kind_type symbol_kind_type
(Internal) symbol kind.
static const symbol_kind_type YYNTOKENS
The number of tokens.
static std::string symbol_name(symbol_kind_type yysymbol)
The user-facing name of the symbol whose (internal) number is YYSYMBOL.
Dhcp4Parser(isc::dhcp::Parser4Context &ctx_yyarg)
Build a parser object.
Evaluation context, an interface to the expression evaluation.
#define YYLLOC_DEFAULT(Current, Rhs, N)
#define YY_REDUCE_PRINT(Rule)
#define YY_SYMBOL_PRINT(Title, Symbol)
#define YY_CAST(Type, Val)
#define YY_MOVE_REF(Type)
#define YY_ATTRIBUTE_UNUSED
Define the isc::dhcp::parser class.
void merge(ElementPtr element, ConstElementPtr other)
Merges the data from other into element. (on the first level).
boost::shared_ptr< const Element > ConstElementPtr
boost::shared_ptr< Element > ElementPtr
Defines the logger used by the top-level component of kea-lfc.
location_type location
The location.
value_type value
The semantic value.
bool empty() const YY_NOEXCEPT
Whether empty.
void move(basic_symbol &s)
Destructive move, s is emptied into this.
void clear() YY_NOEXCEPT
Destroy contents, and record that is empty.
symbol_kind_type kind() const YY_NOEXCEPT
The (internal) type number (corresponding to type).
symbol_kind_type kind_
The symbol kind.
@ S_control_socket_type_value
@ S_ddns_conflict_resolution_mode_value
@ S_ddns_replace_client_name_value
@ S_outbound_interface_value
"External" symbols: returned by the scanner.
Syntax errors thrown from user actions.
~syntax_error() YY_NOEXCEPT YY_NOTHROW