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(
"decline-probation-period", ctx.loc2pos(yystack_[2].location));
1254 ElementPtr dpp(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
1255 ctx.stack_.back()->set(
"decline-probation-period", dpp);
1257#line 1258 "dhcp4_parser.cc"
1261#line 663 "dhcp4_parser.yy"
1263 ctx.unique(
"server-tag", ctx.loc2pos(yystack_[0].location));
1264 ctx.enter(ctx.NO_KEYWORD);
1266#line 1267 "dhcp4_parser.cc"
1270#line 666 "dhcp4_parser.yy"
1272 ElementPtr stag(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
1273 ctx.stack_.back()->set(
"server-tag", stag);
1276#line 1277 "dhcp4_parser.cc"
1280#line 672 "dhcp4_parser.yy"
1282 ctx.unique(
"parked-packet-limit", ctx.loc2pos(yystack_[2].location));
1283 ElementPtr ppl(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
1284 ctx.stack_.back()->set(
"parked-packet-limit", ppl);
1286#line 1287 "dhcp4_parser.cc"
1290#line 678 "dhcp4_parser.yy"
1292 ctx.unique(
"allocator", ctx.loc2pos(yystack_[0].location));
1293 ctx.enter(ctx.NO_KEYWORD);
1295#line 1296 "dhcp4_parser.cc"
1299#line 681 "dhcp4_parser.yy"
1302 ctx.stack_.back()->set(
"allocator", al);
1305#line 1306 "dhcp4_parser.cc"
1309#line 687 "dhcp4_parser.yy"
1311 ctx.unique(
"echo-client-id", ctx.loc2pos(yystack_[2].location));
1312 ElementPtr echo(
new BoolElement(yystack_[0].value.as <
bool > (), ctx.loc2pos(yystack_[0].location)));
1313 ctx.stack_.back()->set(
"echo-client-id", echo);
1315#line 1316 "dhcp4_parser.cc"
1319#line 693 "dhcp4_parser.yy"
1321 ctx.unique(
"match-client-id", ctx.loc2pos(yystack_[2].location));
1322 ElementPtr match(
new BoolElement(yystack_[0].value.as <
bool > (), ctx.loc2pos(yystack_[0].location)));
1323 ctx.stack_.back()->set(
"match-client-id", match);
1325#line 1326 "dhcp4_parser.cc"
1329#line 699 "dhcp4_parser.yy"
1331 ctx.unique(
"authoritative", ctx.loc2pos(yystack_[2].location));
1332 ElementPtr prf(
new BoolElement(yystack_[0].value.as <
bool > (), ctx.loc2pos(yystack_[0].location)));
1333 ctx.stack_.back()->set(
"authoritative", prf);
1335#line 1336 "dhcp4_parser.cc"
1339#line 705 "dhcp4_parser.yy"
1341 ctx.unique(
"ddns-send-updates", ctx.loc2pos(yystack_[2].location));
1343 ctx.stack_.back()->set(
"ddns-send-updates", b);
1345#line 1346 "dhcp4_parser.cc"
1349#line 711 "dhcp4_parser.yy"
1351 ctx.unique(
"ddns-override-no-update", ctx.loc2pos(yystack_[2].location));
1353 ctx.stack_.back()->set(
"ddns-override-no-update", b);
1355#line 1356 "dhcp4_parser.cc"
1359#line 717 "dhcp4_parser.yy"
1361 ctx.unique(
"ddns-override-client-update", ctx.loc2pos(yystack_[2].location));
1363 ctx.stack_.back()->set(
"ddns-override-client-update", b);
1365#line 1366 "dhcp4_parser.cc"
1369#line 723 "dhcp4_parser.yy"
1371 ctx.enter(ctx.REPLACE_CLIENT_NAME);
1372 ctx.unique(
"ddns-replace-client-name", ctx.loc2pos(yystack_[0].location));
1374#line 1375 "dhcp4_parser.cc"
1378#line 726 "dhcp4_parser.yy"
1380 ctx.stack_.back()->set(
"ddns-replace-client-name", yystack_[0].value.as <
ElementPtr > ());
1383#line 1384 "dhcp4_parser.cc"
1387#line 732 "dhcp4_parser.yy"
1391#line 1392 "dhcp4_parser.cc"
1395#line 735 "dhcp4_parser.yy"
1399#line 1400 "dhcp4_parser.cc"
1403#line 738 "dhcp4_parser.yy"
1407#line 1408 "dhcp4_parser.cc"
1411#line 741 "dhcp4_parser.yy"
1415#line 1416 "dhcp4_parser.cc"
1419#line 744 "dhcp4_parser.yy"
1421 error(yystack_[0].location,
"boolean values for the ddns-replace-client-name are "
1422 "no longer supported");
1424#line 1425 "dhcp4_parser.cc"
1428#line 750 "dhcp4_parser.yy"
1430 ctx.unique(
"ddns-generated-prefix", ctx.loc2pos(yystack_[0].location));
1431 ctx.enter(ctx.NO_KEYWORD);
1433#line 1434 "dhcp4_parser.cc"
1437#line 753 "dhcp4_parser.yy"
1440 ctx.stack_.back()->set(
"ddns-generated-prefix", s);
1443#line 1444 "dhcp4_parser.cc"
1447#line 759 "dhcp4_parser.yy"
1449 ctx.unique(
"ddns-qualifying-suffix", ctx.loc2pos(yystack_[0].location));
1450 ctx.enter(ctx.NO_KEYWORD);
1452#line 1453 "dhcp4_parser.cc"
1456#line 762 "dhcp4_parser.yy"
1459 ctx.stack_.back()->set(
"ddns-qualifying-suffix", s);
1462#line 1463 "dhcp4_parser.cc"
1466#line 768 "dhcp4_parser.yy"
1468 ctx.unique(
"ddns-update-on-renew", ctx.loc2pos(yystack_[2].location));
1470 ctx.stack_.back()->set(
"ddns-update-on-renew", b);
1472#line 1473 "dhcp4_parser.cc"
1476#line 777 "dhcp4_parser.yy"
1478 ctx.unique(
"ddns-use-conflict-resolution", ctx.loc2pos(yystack_[2].location));
1480 ctx.warning(yystack_[1].location,
"ddns-use-conflict-resolution is deprecated. "
1481 "Substituting ddns-conflict-resolution-mode");
1483 :
"no-check-with-dhcid"));
1484 ctx.stack_.back()->set(
"ddns-conflict-resolution-mode", mode);
1486#line 1487 "dhcp4_parser.cc"
1490#line 787 "dhcp4_parser.yy"
1492 ctx.unique(
"ddns-conflict-resolution-mode", ctx.loc2pos(yystack_[0].location));
1493 ctx.enter(ctx.DDNS_CONFLICT_RESOLUTION_MODE);
1495#line 1496 "dhcp4_parser.cc"
1499#line 790 "dhcp4_parser.yy"
1501 ctx.stack_.back()->set(
"ddns-conflict-resolution-mode", yystack_[0].value.as <
ElementPtr > ());
1504#line 1505 "dhcp4_parser.cc"
1508#line 796 "dhcp4_parser.yy"
1512#line 1513 "dhcp4_parser.cc"
1516#line 799 "dhcp4_parser.yy"
1520#line 1521 "dhcp4_parser.cc"
1524#line 802 "dhcp4_parser.yy"
1528#line 1529 "dhcp4_parser.cc"
1532#line 805 "dhcp4_parser.yy"
1536#line 1537 "dhcp4_parser.cc"
1540#line 810 "dhcp4_parser.yy"
1542 ctx.unique(
"ddns-ttl-percent", ctx.loc2pos(yystack_[2].location));
1544 ctx.stack_.back()->set(
"ddns-ttl-percent", ttl);
1546#line 1547 "dhcp4_parser.cc"
1550#line 816 "dhcp4_parser.yy"
1552 ctx.unique(
"ddns-ttl", ctx.loc2pos(yystack_[2].location));
1553 ElementPtr ttl(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
1554 ctx.stack_.back()->set(
"ddns-ttl", ttl);
1556#line 1557 "dhcp4_parser.cc"
1560#line 822 "dhcp4_parser.yy"
1562 ctx.unique(
"ddns-ttl-min", 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-min", ttl);
1566#line 1567 "dhcp4_parser.cc"
1570#line 828 "dhcp4_parser.yy"
1572 ctx.unique(
"ddns-ttl-max", 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-max", ttl);
1576#line 1577 "dhcp4_parser.cc"
1580#line 834 "dhcp4_parser.yy"
1582 ctx.unique(
"hostname-char-set", ctx.loc2pos(yystack_[0].location));
1583 ctx.enter(ctx.NO_KEYWORD);
1585#line 1586 "dhcp4_parser.cc"
1589#line 837 "dhcp4_parser.yy"
1592 ctx.stack_.back()->set(
"hostname-char-set", s);
1595#line 1596 "dhcp4_parser.cc"
1599#line 843 "dhcp4_parser.yy"
1601 ctx.unique(
"hostname-char-replacement", ctx.loc2pos(yystack_[0].location));
1602 ctx.enter(ctx.NO_KEYWORD);
1604#line 1605 "dhcp4_parser.cc"
1608#line 846 "dhcp4_parser.yy"
1611 ctx.stack_.back()->set(
"hostname-char-replacement", s);
1614#line 1615 "dhcp4_parser.cc"
1618#line 852 "dhcp4_parser.yy"
1620 ctx.unique(
"store-extended-info", ctx.loc2pos(yystack_[2].location));
1622 ctx.stack_.back()->set(
"store-extended-info", b);
1624#line 1625 "dhcp4_parser.cc"
1628#line 858 "dhcp4_parser.yy"
1630 ctx.unique(
"statistic-default-sample-count", ctx.loc2pos(yystack_[2].location));
1631 ElementPtr count(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
1632 ctx.stack_.back()->set(
"statistic-default-sample-count", count);
1634#line 1635 "dhcp4_parser.cc"
1638#line 864 "dhcp4_parser.yy"
1640 ctx.unique(
"statistic-default-sample-age", ctx.loc2pos(yystack_[2].location));
1641 ElementPtr age(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
1642 ctx.stack_.back()->set(
"statistic-default-sample-age", age);
1644#line 1645 "dhcp4_parser.cc"
1648#line 870 "dhcp4_parser.yy"
1650 ctx.unique(
"early-global-reservations-lookup", ctx.loc2pos(yystack_[2].location));
1651 ElementPtr early(
new BoolElement(yystack_[0].value.as <
bool > (), ctx.loc2pos(yystack_[0].location)));
1652 ctx.stack_.back()->set(
"early-global-reservations-lookup", early);
1654#line 1655 "dhcp4_parser.cc"
1658#line 876 "dhcp4_parser.yy"
1660 ctx.unique(
"ip-reservations-unique", ctx.loc2pos(yystack_[2].location));
1661 ElementPtr unique(
new BoolElement(yystack_[0].value.as <
bool > (), ctx.loc2pos(yystack_[0].location)));
1662 ctx.stack_.back()->set(
"ip-reservations-unique", unique);
1664#line 1665 "dhcp4_parser.cc"
1668#line 882 "dhcp4_parser.yy"
1670 ctx.unique(
"reservations-lookup-first", ctx.loc2pos(yystack_[2].location));
1671 ElementPtr first(
new BoolElement(yystack_[0].value.as <
bool > (), ctx.loc2pos(yystack_[0].location)));
1672 ctx.stack_.back()->set(
"reservations-lookup-first", first);
1674#line 1675 "dhcp4_parser.cc"
1678#line 888 "dhcp4_parser.yy"
1680 ctx.unique(
"offer-lifetime", ctx.loc2pos(yystack_[2].location));
1681 ElementPtr offer_lifetime(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
1682 ctx.stack_.back()->set(
"offer-lifetime", offer_lifetime);
1684#line 1685 "dhcp4_parser.cc"
1688#line 894 "dhcp4_parser.yy"
1690 ctx.unique(
"stash-agent-options", ctx.loc2pos(yystack_[2].location));
1691 ElementPtr stash(
new BoolElement(yystack_[0].value.as <
bool > (), ctx.loc2pos(yystack_[0].location)));
1692 ctx.stack_.back()->set(
"stash-agent-options", stash);
1694#line 1695 "dhcp4_parser.cc"
1698#line 900 "dhcp4_parser.yy"
1700 ctx.unique(
"interfaces-config", ctx.loc2pos(yystack_[0].location));
1702 ctx.stack_.back()->set(
"interfaces-config", i);
1703 ctx.stack_.push_back(i);
1704 ctx.enter(ctx.INTERFACES_CONFIG);
1706#line 1707 "dhcp4_parser.cc"
1710#line 906 "dhcp4_parser.yy"
1713 ctx.stack_.pop_back();
1716#line 1717 "dhcp4_parser.cc"
1720#line 914 "dhcp4_parser.yy"
1722 ctx.warnAboutExtraCommas(yystack_[0].location);
1724#line 1725 "dhcp4_parser.cc"
1728#line 931 "dhcp4_parser.yy"
1732 ctx.stack_.push_back(m);
1734#line 1735 "dhcp4_parser.cc"
1738#line 935 "dhcp4_parser.yy"
1743#line 1744 "dhcp4_parser.cc"
1747#line 940 "dhcp4_parser.yy"
1749 ctx.unique(
"interfaces", ctx.loc2pos(yystack_[0].location));
1751 ctx.stack_.back()->set(
"interfaces", l);
1752 ctx.stack_.push_back(l);
1753 ctx.enter(ctx.NO_KEYWORD);
1755#line 1756 "dhcp4_parser.cc"
1759#line 946 "dhcp4_parser.yy"
1761 ctx.stack_.pop_back();
1764#line 1765 "dhcp4_parser.cc"
1768#line 951 "dhcp4_parser.yy"
1770 ctx.unique(
"dhcp-socket-type", ctx.loc2pos(yystack_[0].location));
1771 ctx.enter(ctx.DHCP_SOCKET_TYPE);
1773#line 1774 "dhcp4_parser.cc"
1777#line 954 "dhcp4_parser.yy"
1779 ctx.stack_.back()->set(
"dhcp-socket-type", yystack_[0].value.as <
ElementPtr > ());
1782#line 1783 "dhcp4_parser.cc"
1786#line 959 "dhcp4_parser.yy"
1788#line 1789 "dhcp4_parser.cc"
1792#line 960 "dhcp4_parser.yy"
1794#line 1795 "dhcp4_parser.cc"
1798#line 963 "dhcp4_parser.yy"
1800 ctx.unique(
"outbound-interface", ctx.loc2pos(yystack_[0].location));
1801 ctx.enter(ctx.OUTBOUND_INTERFACE);
1803#line 1804 "dhcp4_parser.cc"
1807#line 966 "dhcp4_parser.yy"
1809 ctx.stack_.back()->set(
"outbound-interface", yystack_[0].value.as <
ElementPtr > ());
1812#line 1813 "dhcp4_parser.cc"
1816#line 971 "dhcp4_parser.yy"
1820#line 1821 "dhcp4_parser.cc"
1824#line 973 "dhcp4_parser.yy"
1828#line 1829 "dhcp4_parser.cc"
1832#line 977 "dhcp4_parser.yy"
1834 ctx.unique(
"re-detect", ctx.loc2pos(yystack_[2].location));
1836 ctx.stack_.back()->set(
"re-detect", b);
1838#line 1839 "dhcp4_parser.cc"
1842#line 983 "dhcp4_parser.yy"
1844 ctx.unique(
"service-sockets-require-all", ctx.loc2pos(yystack_[2].location));
1846 ctx.stack_.back()->set(
"service-sockets-require-all", b);
1848#line 1849 "dhcp4_parser.cc"
1852#line 989 "dhcp4_parser.yy"
1854 ctx.unique(
"service-sockets-retry-wait-time", ctx.loc2pos(yystack_[2].location));
1855 ElementPtr n(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
1856 ctx.stack_.back()->set(
"service-sockets-retry-wait-time", n);
1858#line 1859 "dhcp4_parser.cc"
1862#line 995 "dhcp4_parser.yy"
1864 ctx.unique(
"service-sockets-max-retries", 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-max-retries", n);
1868#line 1869 "dhcp4_parser.cc"
1872#line 1001 "dhcp4_parser.yy"
1874 ctx.unique(
"lease-database", ctx.loc2pos(yystack_[0].location));
1876 ctx.stack_.back()->set(
"lease-database", i);
1877 ctx.stack_.push_back(i);
1878 ctx.enter(ctx.LEASE_DATABASE);
1880#line 1881 "dhcp4_parser.cc"
1884#line 1007 "dhcp4_parser.yy"
1887 ctx.require(
"type", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location));
1888 ctx.stack_.pop_back();
1891#line 1892 "dhcp4_parser.cc"
1895#line 1014 "dhcp4_parser.yy"
1897 ctx.unique(
"sanity-checks", ctx.loc2pos(yystack_[0].location));
1899 ctx.stack_.back()->set(
"sanity-checks", m);
1900 ctx.stack_.push_back(m);
1901 ctx.enter(ctx.SANITY_CHECKS);
1903#line 1904 "dhcp4_parser.cc"
1907#line 1020 "dhcp4_parser.yy"
1909 ctx.stack_.pop_back();
1912#line 1913 "dhcp4_parser.cc"
1916#line 1027 "dhcp4_parser.yy"
1918 ctx.warnAboutExtraCommas(yystack_[0].location);
1920#line 1921 "dhcp4_parser.cc"
1924#line 1036 "dhcp4_parser.yy"
1926 ctx.unique(
"lease-checks", ctx.loc2pos(yystack_[0].location));
1927 ctx.enter(ctx.NO_KEYWORD);
1929#line 1930 "dhcp4_parser.cc"
1933#line 1039 "dhcp4_parser.yy"
1936 if ( (
string(yystack_[0].value.as < std::string > ()) ==
"none") ||
1937 (
string(yystack_[0].value.as < std::string > ()) ==
"warn") ||
1938 (
string(yystack_[0].value.as < std::string > ()) ==
"fix") ||
1939 (
string(yystack_[0].value.as < std::string > ()) ==
"fix-del") ||
1940 (
string(yystack_[0].value.as < std::string > ()) ==
"del")) {
1941 ElementPtr user(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
1942 ctx.stack_.back()->set(
"lease-checks", user);
1945 error(yystack_[0].location,
"Unsupported 'lease-checks value: " +
string(yystack_[0].value.as < std::string > ()) +
1946 ", supported values are: none, warn, fix, fix-del, del");
1949#line 1950 "dhcp4_parser.cc"
1953#line 1055 "dhcp4_parser.yy"
1955 ctx.unique(
"extended-info-checks", ctx.loc2pos(yystack_[0].location));
1956 ctx.enter(ctx.NO_KEYWORD);
1958#line 1959 "dhcp4_parser.cc"
1962#line 1058 "dhcp4_parser.yy"
1965 if ( (
string(yystack_[0].value.as < std::string > ()) ==
"none") ||
1966 (
string(yystack_[0].value.as < std::string > ()) ==
"fix") ||
1967 (
string(yystack_[0].value.as < std::string > ()) ==
"strict") ||
1968 (
string(yystack_[0].value.as < std::string > ()) ==
"pedantic")) {
1969 ElementPtr user(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
1970 ctx.stack_.back()->set(
"extended-info-checks", user);
1973 error(yystack_[0].location,
"Unsupported 'extended-info-checks value: " +
string(yystack_[0].value.as < std::string > ()) +
1974 ", supported values are: none, fix, strict, pedantic");
1977#line 1978 "dhcp4_parser.cc"
1981#line 1073 "dhcp4_parser.yy"
1983 ctx.unique(
"hosts-database", ctx.loc2pos(yystack_[0].location));
1985 ctx.stack_.back()->set(
"hosts-database", i);
1986 ctx.stack_.push_back(i);
1987 ctx.enter(ctx.HOSTS_DATABASE);
1989#line 1990 "dhcp4_parser.cc"
1993#line 1079 "dhcp4_parser.yy"
1996 ctx.require(
"type", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location));
1997 ctx.stack_.pop_back();
2000#line 2001 "dhcp4_parser.cc"
2004#line 1086 "dhcp4_parser.yy"
2006 ctx.unique(
"hosts-databases", ctx.loc2pos(yystack_[0].location));
2008 ctx.stack_.back()->set(
"hosts-databases", l);
2009 ctx.stack_.push_back(l);
2010 ctx.enter(ctx.HOSTS_DATABASE);
2012#line 2013 "dhcp4_parser.cc"
2016#line 1092 "dhcp4_parser.yy"
2018 ctx.stack_.pop_back();
2021#line 2022 "dhcp4_parser.cc"
2025#line 1103 "dhcp4_parser.yy"
2027 ctx.warnAboutExtraCommas(yystack_[0].location);
2029#line 2030 "dhcp4_parser.cc"
2033#line 1108 "dhcp4_parser.yy"
2036 ctx.stack_.back()->add(m);
2037 ctx.stack_.push_back(m);
2039#line 2040 "dhcp4_parser.cc"
2043#line 1112 "dhcp4_parser.yy"
2046 ctx.require(
"type", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
2047 ctx.stack_.pop_back();
2049#line 2050 "dhcp4_parser.cc"
2053#line 1120 "dhcp4_parser.yy"
2055 ctx.warnAboutExtraCommas(yystack_[0].location);
2057#line 2058 "dhcp4_parser.cc"
2061#line 1151 "dhcp4_parser.yy"
2063 ctx.unique(
"type", ctx.loc2pos(yystack_[0].location));
2064 ctx.enter(ctx.NO_KEYWORD);
2066#line 2067 "dhcp4_parser.cc"
2070#line 1154 "dhcp4_parser.yy"
2072 ElementPtr db_type(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
2073 ctx.stack_.back()->set(
"type", db_type);
2076#line 2077 "dhcp4_parser.cc"
2080#line 1160 "dhcp4_parser.yy"
2082 ctx.unique(
"user", ctx.loc2pos(yystack_[0].location));
2083 ctx.enter(ctx.NO_KEYWORD);
2085#line 2086 "dhcp4_parser.cc"
2089#line 1163 "dhcp4_parser.yy"
2091 ElementPtr user(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
2092 ctx.stack_.back()->set(
"user", user);
2095#line 2096 "dhcp4_parser.cc"
2099#line 1169 "dhcp4_parser.yy"
2101 ctx.unique(
"password", ctx.loc2pos(yystack_[0].location));
2102 ctx.enter(ctx.NO_KEYWORD);
2104#line 2105 "dhcp4_parser.cc"
2108#line 1172 "dhcp4_parser.yy"
2110 ElementPtr pwd(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
2111 ctx.stack_.back()->set(
"password", pwd);
2114#line 2115 "dhcp4_parser.cc"
2118#line 1178 "dhcp4_parser.yy"
2120 ctx.unique(
"host", ctx.loc2pos(yystack_[0].location));
2121 ctx.enter(ctx.NO_KEYWORD);
2123#line 2124 "dhcp4_parser.cc"
2127#line 1181 "dhcp4_parser.yy"
2130 ctx.stack_.back()->set(
"host", h);
2133#line 2134 "dhcp4_parser.cc"
2137#line 1187 "dhcp4_parser.yy"
2139 ctx.unique(
"port", ctx.loc2pos(yystack_[2].location));
2140 ElementPtr p(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
2141 ctx.stack_.back()->set(
"port", p);
2143#line 2144 "dhcp4_parser.cc"
2147#line 1193 "dhcp4_parser.yy"
2149 ctx.unique(
"name", ctx.loc2pos(yystack_[0].location));
2150 ctx.enter(ctx.NO_KEYWORD);
2152#line 2153 "dhcp4_parser.cc"
2156#line 1196 "dhcp4_parser.yy"
2158 ElementPtr name(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
2159 ctx.stack_.back()->set(
"name", name);
2162#line 2163 "dhcp4_parser.cc"
2166#line 1202 "dhcp4_parser.yy"
2168 ctx.unique(
"persist", ctx.loc2pos(yystack_[2].location));
2170 ctx.stack_.back()->set(
"persist", n);
2172#line 2173 "dhcp4_parser.cc"
2176#line 1208 "dhcp4_parser.yy"
2178 ctx.unique(
"lfc-interval", ctx.loc2pos(yystack_[2].location));
2179 ElementPtr n(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
2180 ctx.stack_.back()->set(
"lfc-interval", n);
2182#line 2183 "dhcp4_parser.cc"
2186#line 1214 "dhcp4_parser.yy"
2188 ctx.unique(
"readonly", ctx.loc2pos(yystack_[2].location));
2190 ctx.stack_.back()->set(
"readonly", n);
2192#line 2193 "dhcp4_parser.cc"
2196#line 1220 "dhcp4_parser.yy"
2198 ctx.unique(
"connect-timeout", ctx.loc2pos(yystack_[2].location));
2199 ElementPtr n(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
2200 ctx.stack_.back()->set(
"connect-timeout", n);
2202#line 2203 "dhcp4_parser.cc"
2206#line 1226 "dhcp4_parser.yy"
2208 ctx.unique(
"read-timeout", ctx.loc2pos(yystack_[2].location));
2209 ElementPtr n(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
2210 ctx.stack_.back()->set(
"read-timeout", n);
2212#line 2213 "dhcp4_parser.cc"
2216#line 1232 "dhcp4_parser.yy"
2218 ctx.unique(
"write-timeout", ctx.loc2pos(yystack_[2].location));
2219 ElementPtr n(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
2220 ctx.stack_.back()->set(
"write-timeout", n);
2222#line 2223 "dhcp4_parser.cc"
2226#line 1238 "dhcp4_parser.yy"
2228 ctx.unique(
"tcp-user-timeout", ctx.loc2pos(yystack_[2].location));
2229 ElementPtr n(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
2230 ctx.stack_.back()->set(
"tcp-user-timeout", n);
2232#line 2233 "dhcp4_parser.cc"
2236#line 1244 "dhcp4_parser.yy"
2238 ctx.unique(
"max-reconnect-tries", ctx.loc2pos(yystack_[2].location));
2239 ElementPtr n(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
2240 ctx.stack_.back()->set(
"max-reconnect-tries", n);
2242#line 2243 "dhcp4_parser.cc"
2246#line 1250 "dhcp4_parser.yy"
2248 ctx.unique(
"reconnect-wait-time", ctx.loc2pos(yystack_[2].location));
2249 ElementPtr n(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
2250 ctx.stack_.back()->set(
"reconnect-wait-time", n);
2252#line 2253 "dhcp4_parser.cc"
2256#line 1256 "dhcp4_parser.yy"
2258 ctx.unique(
"on-fail", ctx.loc2pos(yystack_[0].location));
2259 ctx.enter(ctx.DATABASE_ON_FAIL);
2261#line 2262 "dhcp4_parser.cc"
2265#line 1259 "dhcp4_parser.yy"
2267 ctx.stack_.back()->set(
"on-fail", yystack_[0].value.as <
ElementPtr > ());
2270#line 2271 "dhcp4_parser.cc"
2274#line 1264 "dhcp4_parser.yy"
2276#line 2277 "dhcp4_parser.cc"
2280#line 1265 "dhcp4_parser.yy"
2282#line 2283 "dhcp4_parser.cc"
2286#line 1266 "dhcp4_parser.yy"
2288#line 2289 "dhcp4_parser.cc"
2292#line 1269 "dhcp4_parser.yy"
2294 ctx.unique(
"retry-on-startup", ctx.loc2pos(yystack_[2].location));
2296 ctx.stack_.back()->set(
"retry-on-startup", n);
2298#line 2299 "dhcp4_parser.cc"
2302#line 1275 "dhcp4_parser.yy"
2304 ctx.unique(
"max-row-errors", ctx.loc2pos(yystack_[2].location));
2305 ElementPtr n(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
2306 ctx.stack_.back()->set(
"max-row-errors", n);
2308#line 2309 "dhcp4_parser.cc"
2312#line 1281 "dhcp4_parser.yy"
2314 ctx.unique(
"trust-anchor", ctx.loc2pos(yystack_[0].location));
2315 ctx.enter(ctx.NO_KEYWORD);
2317#line 2318 "dhcp4_parser.cc"
2321#line 1284 "dhcp4_parser.yy"
2324 ctx.stack_.back()->set(
"trust-anchor", ca);
2327#line 2328 "dhcp4_parser.cc"
2331#line 1290 "dhcp4_parser.yy"
2333 ctx.unique(
"cert-file", ctx.loc2pos(yystack_[0].location));
2334 ctx.enter(ctx.NO_KEYWORD);
2336#line 2337 "dhcp4_parser.cc"
2340#line 1293 "dhcp4_parser.yy"
2342 ElementPtr cert(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
2343 ctx.stack_.back()->set(
"cert-file", cert);
2346#line 2347 "dhcp4_parser.cc"
2350#line 1299 "dhcp4_parser.yy"
2352 ctx.unique(
"key-file", ctx.loc2pos(yystack_[0].location));
2353 ctx.enter(ctx.NO_KEYWORD);
2355#line 2356 "dhcp4_parser.cc"
2359#line 1302 "dhcp4_parser.yy"
2361 ElementPtr key(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
2362 ctx.stack_.back()->set(
"key-file", key);
2365#line 2366 "dhcp4_parser.cc"
2369#line 1308 "dhcp4_parser.yy"
2371 ctx.unique(
"ssl-mode", ctx.loc2pos(yystack_[0].location));
2372 ctx.enter(ctx.SSL_MODE);
2374#line 2375 "dhcp4_parser.cc"
2378#line 1311 "dhcp4_parser.yy"
2380 ctx.stack_.back()->set(
"ssl-mode", yystack_[0].value.as <
ElementPtr > ());
2383#line 2384 "dhcp4_parser.cc"
2387#line 1316 "dhcp4_parser.yy"
2391#line 2392 "dhcp4_parser.cc"
2395#line 1319 "dhcp4_parser.yy"
2399#line 2400 "dhcp4_parser.cc"
2403#line 1322 "dhcp4_parser.yy"
2407#line 2408 "dhcp4_parser.cc"
2411#line 1325 "dhcp4_parser.yy"
2415#line 2416 "dhcp4_parser.cc"
2419#line 1328 "dhcp4_parser.yy"
2423#line 2424 "dhcp4_parser.cc"
2427#line 1333 "dhcp4_parser.yy"
2429 ctx.unique(
"cipher-list", ctx.loc2pos(yystack_[0].location));
2430 ctx.enter(ctx.NO_KEYWORD);
2432#line 2433 "dhcp4_parser.cc"
2436#line 1336 "dhcp4_parser.yy"
2439 ctx.stack_.back()->set(
"cipher-list", cl);
2442#line 2443 "dhcp4_parser.cc"
2446#line 1342 "dhcp4_parser.yy"
2448 ctx.unique(
"host-reservation-identifiers", ctx.loc2pos(yystack_[0].location));
2450 ctx.stack_.back()->set(
"host-reservation-identifiers", l);
2451 ctx.stack_.push_back(l);
2452 ctx.enter(ctx.HOST_RESERVATION_IDENTIFIERS);
2454#line 2455 "dhcp4_parser.cc"
2458#line 1348 "dhcp4_parser.yy"
2460 ctx.stack_.pop_back();
2463#line 2464 "dhcp4_parser.cc"
2467#line 1355 "dhcp4_parser.yy"
2469 ctx.warnAboutExtraCommas(yystack_[0].location);
2471#line 2472 "dhcp4_parser.cc"
2475#line 1367 "dhcp4_parser.yy"
2478 ctx.stack_.back()->add(duid);
2480#line 2481 "dhcp4_parser.cc"
2484#line 1372 "dhcp4_parser.yy"
2487 ctx.stack_.back()->add(hwaddr);
2489#line 2490 "dhcp4_parser.cc"
2493#line 1377 "dhcp4_parser.yy"
2496 ctx.stack_.back()->add(circuit);
2498#line 2499 "dhcp4_parser.cc"
2502#line 1382 "dhcp4_parser.yy"
2505 ctx.stack_.back()->add(client);
2507#line 2508 "dhcp4_parser.cc"
2511#line 1387 "dhcp4_parser.yy"
2514 ctx.stack_.back()->add(
flex_id);
2516#line 2517 "dhcp4_parser.cc"
2520#line 1394 "dhcp4_parser.yy"
2522 ctx.unique(
"multi-threading", ctx.loc2pos(yystack_[0].location));
2524 ctx.stack_.back()->set(
"multi-threading", mt);
2525 ctx.stack_.push_back(mt);
2526 ctx.enter(ctx.DHCP_MULTI_THREADING);
2528#line 2529 "dhcp4_parser.cc"
2532#line 1400 "dhcp4_parser.yy"
2535 ctx.require(
"enable-multi-threading", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location));
2536 ctx.stack_.pop_back();
2539#line 2540 "dhcp4_parser.cc"
2543#line 1409 "dhcp4_parser.yy"
2545 ctx.warnAboutExtraCommas(yystack_[0].location);
2547#line 2548 "dhcp4_parser.cc"
2551#line 1422 "dhcp4_parser.yy"
2553 ctx.unique(
"enable-multi-threading", ctx.loc2pos(yystack_[2].location));
2555 ctx.stack_.back()->set(
"enable-multi-threading", b);
2557#line 2558 "dhcp4_parser.cc"
2561#line 1428 "dhcp4_parser.yy"
2563 ctx.unique(
"thread-pool-size", ctx.loc2pos(yystack_[2].location));
2564 ElementPtr prf(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
2565 ctx.stack_.back()->set(
"thread-pool-size", prf);
2567#line 2568 "dhcp4_parser.cc"
2571#line 1434 "dhcp4_parser.yy"
2573 ctx.unique(
"packet-queue-size", ctx.loc2pos(yystack_[2].location));
2574 ElementPtr prf(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
2575 ctx.stack_.back()->set(
"packet-queue-size", prf);
2577#line 2578 "dhcp4_parser.cc"
2581#line 1440 "dhcp4_parser.yy"
2583 ctx.unique(
"hooks-libraries", ctx.loc2pos(yystack_[0].location));
2585 ctx.stack_.back()->set(
"hooks-libraries", l);
2586 ctx.stack_.push_back(l);
2587 ctx.enter(ctx.HOOKS_LIBRARIES);
2589#line 2590 "dhcp4_parser.cc"
2593#line 1446 "dhcp4_parser.yy"
2595 ctx.stack_.pop_back();
2598#line 2599 "dhcp4_parser.cc"
2602#line 1457 "dhcp4_parser.yy"
2604 ctx.warnAboutExtraCommas(yystack_[0].location);
2606#line 2607 "dhcp4_parser.cc"
2610#line 1462 "dhcp4_parser.yy"
2613 ctx.stack_.back()->add(m);
2614 ctx.stack_.push_back(m);
2616#line 2617 "dhcp4_parser.cc"
2620#line 1466 "dhcp4_parser.yy"
2623 ctx.require(
"library", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
2624 ctx.stack_.pop_back();
2626#line 2627 "dhcp4_parser.cc"
2630#line 1472 "dhcp4_parser.yy"
2634 ctx.stack_.push_back(m);
2636#line 2637 "dhcp4_parser.cc"
2640#line 1476 "dhcp4_parser.yy"
2643 ctx.require(
"library", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
2646#line 2647 "dhcp4_parser.cc"
2650#line 1484 "dhcp4_parser.yy"
2652 ctx.warnAboutExtraCommas(yystack_[0].location);
2654#line 2655 "dhcp4_parser.cc"
2658#line 1494 "dhcp4_parser.yy"
2660 ctx.unique(
"library", ctx.loc2pos(yystack_[0].location));
2661 ctx.enter(ctx.NO_KEYWORD);
2663#line 2664 "dhcp4_parser.cc"
2667#line 1497 "dhcp4_parser.yy"
2669 ElementPtr lib(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
2670 ctx.stack_.back()->set(
"library", lib);
2673#line 2674 "dhcp4_parser.cc"
2677#line 1503 "dhcp4_parser.yy"
2679 ctx.unique(
"parameters", ctx.loc2pos(yystack_[0].location));
2680 ctx.enter(ctx.NO_KEYWORD);
2682#line 2683 "dhcp4_parser.cc"
2686#line 1506 "dhcp4_parser.yy"
2688 ctx.stack_.back()->set(
"parameters", yystack_[0].value.as <
ElementPtr > ());
2691#line 2692 "dhcp4_parser.cc"
2695#line 1512 "dhcp4_parser.yy"
2697 ctx.unique(
"expired-leases-processing", ctx.loc2pos(yystack_[0].location));
2699 ctx.stack_.back()->set(
"expired-leases-processing", m);
2700 ctx.stack_.push_back(m);
2701 ctx.enter(ctx.EXPIRED_LEASES_PROCESSING);
2703#line 2704 "dhcp4_parser.cc"
2707#line 1518 "dhcp4_parser.yy"
2710 ctx.stack_.pop_back();
2713#line 2714 "dhcp4_parser.cc"
2717#line 1526 "dhcp4_parser.yy"
2719 ctx.warnAboutExtraCommas(yystack_[0].location);
2721#line 2722 "dhcp4_parser.cc"
2725#line 1539 "dhcp4_parser.yy"
2727 ctx.unique(
"reclaim-timer-wait-time", ctx.loc2pos(yystack_[2].location));
2728 ElementPtr value(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
2729 ctx.stack_.back()->set(
"reclaim-timer-wait-time", value);
2731#line 2732 "dhcp4_parser.cc"
2735#line 1545 "dhcp4_parser.yy"
2737 ctx.unique(
"flush-reclaimed-timer-wait-time", ctx.loc2pos(yystack_[2].location));
2738 ElementPtr value(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
2739 ctx.stack_.back()->set(
"flush-reclaimed-timer-wait-time", value);
2741#line 2742 "dhcp4_parser.cc"
2745#line 1551 "dhcp4_parser.yy"
2747 ctx.unique(
"hold-reclaimed-time", ctx.loc2pos(yystack_[2].location));
2748 ElementPtr value(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
2749 ctx.stack_.back()->set(
"hold-reclaimed-time", value);
2751#line 2752 "dhcp4_parser.cc"
2755#line 1557 "dhcp4_parser.yy"
2757 ctx.unique(
"max-reclaim-leases", ctx.loc2pos(yystack_[2].location));
2758 ElementPtr value(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
2759 ctx.stack_.back()->set(
"max-reclaim-leases", value);
2761#line 2762 "dhcp4_parser.cc"
2765#line 1563 "dhcp4_parser.yy"
2767 ctx.unique(
"max-reclaim-time", ctx.loc2pos(yystack_[2].location));
2768 ElementPtr value(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
2769 ctx.stack_.back()->set(
"max-reclaim-time", value);
2771#line 2772 "dhcp4_parser.cc"
2775#line 1569 "dhcp4_parser.yy"
2777 ctx.unique(
"unwarned-reclaim-cycles", ctx.loc2pos(yystack_[2].location));
2778 ElementPtr value(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
2779 ctx.stack_.back()->set(
"unwarned-reclaim-cycles", value);
2781#line 2782 "dhcp4_parser.cc"
2785#line 1578 "dhcp4_parser.yy"
2787 ctx.unique(
"subnet4", ctx.loc2pos(yystack_[0].location));
2789 ctx.stack_.back()->set(
"subnet4", l);
2790 ctx.stack_.push_back(l);
2791 ctx.enter(ctx.SUBNET4);
2793#line 2794 "dhcp4_parser.cc"
2797#line 1584 "dhcp4_parser.yy"
2799 ctx.stack_.pop_back();
2802#line 2803 "dhcp4_parser.cc"
2806#line 1598 "dhcp4_parser.yy"
2808 ctx.warnAboutExtraCommas(yystack_[0].location);
2810#line 2811 "dhcp4_parser.cc"
2814#line 1607 "dhcp4_parser.yy"
2817 ctx.stack_.back()->add(m);
2818 ctx.stack_.push_back(m);
2820#line 2821 "dhcp4_parser.cc"
2824#line 1611 "dhcp4_parser.yy"
2843 ctx.require(
"subnet", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
2844 ctx.stack_.pop_back();
2846#line 2847 "dhcp4_parser.cc"
2850#line 1633 "dhcp4_parser.yy"
2854 ctx.stack_.push_back(m);
2856#line 2857 "dhcp4_parser.cc"
2860#line 1637 "dhcp4_parser.yy"
2863 ctx.require(
"subnet", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
2866#line 2867 "dhcp4_parser.cc"
2870#line 1646 "dhcp4_parser.yy"
2872 ctx.warnAboutExtraCommas(yystack_[0].location);
2874#line 2875 "dhcp4_parser.cc"
2878#line 1707 "dhcp4_parser.yy"
2880 ctx.unique(
"subnet", ctx.loc2pos(yystack_[0].location));
2881 ctx.enter(ctx.NO_KEYWORD);
2883#line 2884 "dhcp4_parser.cc"
2887#line 1710 "dhcp4_parser.yy"
2889 ElementPtr subnet(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
2890 ctx.stack_.back()->set(
"subnet", subnet);
2893#line 2894 "dhcp4_parser.cc"
2897#line 1716 "dhcp4_parser.yy"
2899 ctx.unique(
"4o6-interface", ctx.loc2pos(yystack_[0].location));
2900 ctx.enter(ctx.NO_KEYWORD);
2902#line 2903 "dhcp4_parser.cc"
2906#line 1719 "dhcp4_parser.yy"
2908 ElementPtr iface(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
2909 ctx.stack_.back()->set(
"4o6-interface", iface);
2912#line 2913 "dhcp4_parser.cc"
2916#line 1725 "dhcp4_parser.yy"
2918 ctx.unique(
"4o6-interface-id", ctx.loc2pos(yystack_[0].location));
2919 ctx.enter(ctx.NO_KEYWORD);
2921#line 2922 "dhcp4_parser.cc"
2925#line 1728 "dhcp4_parser.yy"
2927 ElementPtr iface(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
2928 ctx.stack_.back()->set(
"4o6-interface-id", iface);
2931#line 2932 "dhcp4_parser.cc"
2935#line 1734 "dhcp4_parser.yy"
2937 ctx.unique(
"4o6-subnet", ctx.loc2pos(yystack_[0].location));
2938 ctx.enter(ctx.NO_KEYWORD);
2940#line 2941 "dhcp4_parser.cc"
2944#line 1737 "dhcp4_parser.yy"
2946 ElementPtr iface(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
2947 ctx.stack_.back()->set(
"4o6-subnet", iface);
2950#line 2951 "dhcp4_parser.cc"
2954#line 1743 "dhcp4_parser.yy"
2956 ctx.unique(
"interface", ctx.loc2pos(yystack_[0].location));
2957 ctx.enter(ctx.NO_KEYWORD);
2959#line 2960 "dhcp4_parser.cc"
2963#line 1746 "dhcp4_parser.yy"
2965 ElementPtr iface(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
2966 ctx.stack_.back()->set(
"interface", iface);
2969#line 2970 "dhcp4_parser.cc"
2973#line 1752 "dhcp4_parser.yy"
2975 ctx.unique(
"client-class", ctx.loc2pos(yystack_[0].location));
2976 ctx.enter(ctx.NO_KEYWORD);
2978#line 2979 "dhcp4_parser.cc"
2982#line 1755 "dhcp4_parser.yy"
2984 ElementPtr cls(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
2985 ctx.stack_.back()->set(
"client-class", cls);
2988#line 2989 "dhcp4_parser.cc"
2992#line 1762 "dhcp4_parser.yy"
2994 ctx.unique(
"client-classes", ctx.loc2pos(yystack_[0].location));
2996 ctx.stack_.back()->set(
"client-classes", c);
2997 ctx.stack_.push_back(c);
2998 ctx.enter(ctx.NO_KEYWORD);
3000#line 3001 "dhcp4_parser.cc"
3004#line 1768 "dhcp4_parser.yy"
3006 ctx.stack_.pop_back();
3009#line 3010 "dhcp4_parser.cc"
3013#line 1774 "dhcp4_parser.yy"
3015 ctx.unique(
"require-client-classes", ctx.loc2pos(yystack_[0].location));
3017 ctx.stack_.back()->set(
"require-client-classes", c);
3018 ctx.stack_.push_back(c);
3019 ctx.enter(ctx.NO_KEYWORD);
3021#line 3022 "dhcp4_parser.cc"
3025#line 1780 "dhcp4_parser.yy"
3027 ctx.stack_.pop_back();
3030#line 3031 "dhcp4_parser.cc"
3034#line 1785 "dhcp4_parser.yy"
3036 ctx.unique(
"evaluate-additional-classes", ctx.loc2pos(yystack_[0].location));
3038 ctx.stack_.back()->set(
"evaluate-additional-classes", c);
3039 ctx.stack_.push_back(c);
3040 ctx.enter(ctx.NO_KEYWORD);
3042#line 3043 "dhcp4_parser.cc"
3046#line 1791 "dhcp4_parser.yy"
3048 ctx.stack_.pop_back();
3051#line 3052 "dhcp4_parser.cc"
3055#line 1796 "dhcp4_parser.yy"
3057 ctx.unique(
"reservations-global", ctx.loc2pos(yystack_[2].location));
3059 ctx.stack_.back()->set(
"reservations-global", b);
3061#line 3062 "dhcp4_parser.cc"
3065#line 1802 "dhcp4_parser.yy"
3067 ctx.unique(
"reservations-in-subnet", ctx.loc2pos(yystack_[2].location));
3069 ctx.stack_.back()->set(
"reservations-in-subnet", b);
3071#line 3072 "dhcp4_parser.cc"
3075#line 1808 "dhcp4_parser.yy"
3077 ctx.unique(
"reservations-out-of-pool", ctx.loc2pos(yystack_[2].location));
3079 ctx.stack_.back()->set(
"reservations-out-of-pool", b);
3081#line 3082 "dhcp4_parser.cc"
3085#line 1814 "dhcp4_parser.yy"
3087 ctx.unique(
"id", ctx.loc2pos(yystack_[2].location));
3088 ElementPtr id(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
3089 ctx.stack_.back()->set(
"id",
id);
3091#line 3092 "dhcp4_parser.cc"
3095#line 1822 "dhcp4_parser.yy"
3097 ctx.unique(
"shared-networks", ctx.loc2pos(yystack_[0].location));
3099 ctx.stack_.back()->set(
"shared-networks", l);
3100 ctx.stack_.push_back(l);
3101 ctx.enter(ctx.SHARED_NETWORK);
3103#line 3104 "dhcp4_parser.cc"
3107#line 1828 "dhcp4_parser.yy"
3109 ctx.stack_.pop_back();
3112#line 3113 "dhcp4_parser.cc"
3116#line 1841 "dhcp4_parser.yy"
3118 ctx.warnAboutExtraCommas(yystack_[0].location);
3120#line 3121 "dhcp4_parser.cc"
3124#line 1846 "dhcp4_parser.yy"
3127 ctx.stack_.back()->add(m);
3128 ctx.stack_.push_back(m);
3130#line 3131 "dhcp4_parser.cc"
3134#line 1850 "dhcp4_parser.yy"
3136 ctx.stack_.pop_back();
3138#line 3139 "dhcp4_parser.cc"
3142#line 1856 "dhcp4_parser.yy"
3144 ctx.warnAboutExtraCommas(yystack_[0].location);
3146#line 3147 "dhcp4_parser.cc"
3150#line 1915 "dhcp4_parser.yy"
3152 ctx.unique(
"option-def", ctx.loc2pos(yystack_[0].location));
3154 ctx.stack_.back()->set(
"option-def", l);
3155 ctx.stack_.push_back(l);
3156 ctx.enter(ctx.OPTION_DEF);
3158#line 3159 "dhcp4_parser.cc"
3162#line 1921 "dhcp4_parser.yy"
3164 ctx.stack_.pop_back();
3167#line 3168 "dhcp4_parser.cc"
3171#line 1929 "dhcp4_parser.yy"
3174 ctx.stack_.push_back(m);
3176#line 3177 "dhcp4_parser.cc"
3180#line 1932 "dhcp4_parser.yy"
3184#line 3185 "dhcp4_parser.cc"
3188#line 1944 "dhcp4_parser.yy"
3190 ctx.warnAboutExtraCommas(yystack_[0].location);
3192#line 3193 "dhcp4_parser.cc"
3196#line 1951 "dhcp4_parser.yy"
3199 ctx.stack_.back()->add(m);
3200 ctx.stack_.push_back(m);
3202#line 3203 "dhcp4_parser.cc"
3206#line 1955 "dhcp4_parser.yy"
3209 ctx.require(
"name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
3210 ctx.require(
"code", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
3211 ctx.require(
"type", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
3212 ctx.stack_.pop_back();
3214#line 3215 "dhcp4_parser.cc"
3218#line 1966 "dhcp4_parser.yy"
3222 ctx.stack_.push_back(m);
3224#line 3225 "dhcp4_parser.cc"
3228#line 1970 "dhcp4_parser.yy"
3231 ctx.require(
"name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
3232 ctx.require(
"code", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
3233 ctx.require(
"type", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
3236#line 3237 "dhcp4_parser.cc"
3240#line 1986 "dhcp4_parser.yy"
3242 ctx.warnAboutExtraCommas(yystack_[0].location);
3244#line 3245 "dhcp4_parser.cc"
3248#line 2005 "dhcp4_parser.yy"
3250 ctx.unique(
"code", ctx.loc2pos(yystack_[2].location));
3251 ElementPtr code(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
3252 ctx.stack_.back()->set(
"code", code);
3254#line 3255 "dhcp4_parser.cc"
3258#line 2013 "dhcp4_parser.yy"
3260 ctx.unique(
"type", ctx.loc2pos(yystack_[0].location));
3261 ctx.enter(ctx.NO_KEYWORD);
3263#line 3264 "dhcp4_parser.cc"
3267#line 2016 "dhcp4_parser.yy"
3269 ElementPtr prf(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
3270 ctx.stack_.back()->set(
"type", prf);
3273#line 3274 "dhcp4_parser.cc"
3277#line 2022 "dhcp4_parser.yy"
3279 ctx.unique(
"record-types", ctx.loc2pos(yystack_[0].location));
3280 ctx.enter(ctx.NO_KEYWORD);
3282#line 3283 "dhcp4_parser.cc"
3286#line 2025 "dhcp4_parser.yy"
3288 ElementPtr rtypes(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
3289 ctx.stack_.back()->set(
"record-types", rtypes);
3292#line 3293 "dhcp4_parser.cc"
3296#line 2031 "dhcp4_parser.yy"
3298 ctx.unique(
"space", ctx.loc2pos(yystack_[0].location));
3299 ctx.enter(ctx.NO_KEYWORD);
3301#line 3302 "dhcp4_parser.cc"
3305#line 2034 "dhcp4_parser.yy"
3307 ElementPtr space(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
3308 ctx.stack_.back()->set(
"space", space);
3311#line 3312 "dhcp4_parser.cc"
3315#line 2042 "dhcp4_parser.yy"
3317 ctx.unique(
"encapsulate", ctx.loc2pos(yystack_[0].location));
3318 ctx.enter(ctx.NO_KEYWORD);
3320#line 3321 "dhcp4_parser.cc"
3324#line 2045 "dhcp4_parser.yy"
3326 ElementPtr encap(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
3327 ctx.stack_.back()->set(
"encapsulate", encap);
3330#line 3331 "dhcp4_parser.cc"
3334#line 2051 "dhcp4_parser.yy"
3336 ctx.unique(
"array", ctx.loc2pos(yystack_[2].location));
3337 ElementPtr array(
new BoolElement(yystack_[0].value.as <
bool > (), ctx.loc2pos(yystack_[0].location)));
3338 ctx.stack_.back()->set(
"array", array);
3340#line 3341 "dhcp4_parser.cc"
3344#line 2061 "dhcp4_parser.yy"
3346 ctx.unique(
"option-data", ctx.loc2pos(yystack_[0].location));
3348 ctx.stack_.back()->set(
"option-data", l);
3349 ctx.stack_.push_back(l);
3350 ctx.enter(ctx.OPTION_DATA);
3352#line 3353 "dhcp4_parser.cc"
3356#line 2067 "dhcp4_parser.yy"
3358 ctx.stack_.pop_back();
3361#line 3362 "dhcp4_parser.cc"
3365#line 2082 "dhcp4_parser.yy"
3367 ctx.warnAboutExtraCommas(yystack_[0].location);
3369#line 3370 "dhcp4_parser.cc"
3373#line 2089 "dhcp4_parser.yy"
3376 ctx.stack_.back()->add(m);
3377 ctx.stack_.push_back(m);
3379#line 3380 "dhcp4_parser.cc"
3383#line 2093 "dhcp4_parser.yy"
3386 ctx.stack_.pop_back();
3388#line 3389 "dhcp4_parser.cc"
3392#line 2101 "dhcp4_parser.yy"
3396 ctx.stack_.push_back(m);
3398#line 3399 "dhcp4_parser.cc"
3402#line 2105 "dhcp4_parser.yy"
3407#line 3408 "dhcp4_parser.cc"
3411#line 2121 "dhcp4_parser.yy"
3413 ctx.warnAboutExtraCommas(yystack_[0].location);
3415#line 3416 "dhcp4_parser.cc"
3419#line 2143 "dhcp4_parser.yy"
3421 ctx.unique(
"data", ctx.loc2pos(yystack_[0].location));
3422 ctx.enter(ctx.NO_KEYWORD);
3424#line 3425 "dhcp4_parser.cc"
3428#line 2146 "dhcp4_parser.yy"
3431 ctx.stack_.back()->set(
"data",
data);
3434#line 3435 "dhcp4_parser.cc"
3438#line 2156 "dhcp4_parser.yy"
3440 ctx.unique(
"csv-format", ctx.loc2pos(yystack_[2].location));
3441 ElementPtr csv(
new BoolElement(yystack_[0].value.as <
bool > (), ctx.loc2pos(yystack_[0].location)));
3442 ctx.stack_.back()->set(
"csv-format", csv);
3444#line 3445 "dhcp4_parser.cc"
3448#line 2162 "dhcp4_parser.yy"
3450 ctx.unique(
"always-send", ctx.loc2pos(yystack_[2].location));
3451 ElementPtr persist(
new BoolElement(yystack_[0].value.as <
bool > (), ctx.loc2pos(yystack_[0].location)));
3452 ctx.stack_.back()->set(
"always-send", persist);
3454#line 3455 "dhcp4_parser.cc"
3458#line 2168 "dhcp4_parser.yy"
3460 ctx.unique(
"never-send", ctx.loc2pos(yystack_[2].location));
3461 ElementPtr cancel(
new BoolElement(yystack_[0].value.as <
bool > (), ctx.loc2pos(yystack_[0].location)));
3462 ctx.stack_.back()->set(
"never-send", cancel);
3464#line 3465 "dhcp4_parser.cc"
3468#line 2174 "dhcp4_parser.yy"
3470 ctx.unique(
"client-classes", ctx.loc2pos(yystack_[0].location));
3472 ctx.stack_.back()->set(
"client-classes", c);
3473 ctx.stack_.push_back(c);
3474 ctx.enter(ctx.NO_KEYWORD);
3476#line 3477 "dhcp4_parser.cc"
3480#line 2180 "dhcp4_parser.yy"
3482 ctx.stack_.pop_back();
3485#line 3486 "dhcp4_parser.cc"
3489#line 2188 "dhcp4_parser.yy"
3491 ctx.unique(
"pools", ctx.loc2pos(yystack_[0].location));
3493 ctx.stack_.back()->set(
"pools", l);
3494 ctx.stack_.push_back(l);
3495 ctx.enter(ctx.POOLS);
3497#line 3498 "dhcp4_parser.cc"
3501#line 2194 "dhcp4_parser.yy"
3503 ctx.stack_.pop_back();
3506#line 3507 "dhcp4_parser.cc"
3510#line 2207 "dhcp4_parser.yy"
3512 ctx.warnAboutExtraCommas(yystack_[0].location);
3514#line 3515 "dhcp4_parser.cc"
3518#line 2212 "dhcp4_parser.yy"
3521 ctx.stack_.back()->add(m);
3522 ctx.stack_.push_back(m);
3524#line 3525 "dhcp4_parser.cc"
3528#line 2216 "dhcp4_parser.yy"
3531 ctx.require(
"pool", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
3532 ctx.stack_.pop_back();
3534#line 3535 "dhcp4_parser.cc"
3538#line 2222 "dhcp4_parser.yy"
3542 ctx.stack_.push_back(m);
3544#line 3545 "dhcp4_parser.cc"
3548#line 2226 "dhcp4_parser.yy"
3551 ctx.require(
"pool", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
3554#line 3555 "dhcp4_parser.cc"
3558#line 2234 "dhcp4_parser.yy"
3560 ctx.warnAboutExtraCommas(yystack_[0].location);
3562#line 3563 "dhcp4_parser.cc"
3566#line 2265 "dhcp4_parser.yy"
3568 ctx.unique(
"pool", ctx.loc2pos(yystack_[0].location));
3569 ctx.enter(ctx.NO_KEYWORD);
3571#line 3572 "dhcp4_parser.cc"
3575#line 2268 "dhcp4_parser.yy"
3577 ElementPtr pool(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
3578 ctx.stack_.back()->set(
"pool", pool);
3581#line 3582 "dhcp4_parser.cc"
3585#line 2274 "dhcp4_parser.yy"
3587 ctx.unique(
"pool-id", ctx.loc2pos(yystack_[2].location));
3588 ElementPtr id(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
3589 ctx.stack_.back()->set(
"pool-id",
id);
3591#line 3592 "dhcp4_parser.cc"
3595#line 2280 "dhcp4_parser.yy"
3597 ctx.enter(ctx.NO_KEYWORD);
3599#line 3600 "dhcp4_parser.cc"
3603#line 2282 "dhcp4_parser.yy"
3612 if ((old->size() != 1) || !old->contains(
"comment")) {
3613 std::stringstream msg;
3614 msg <<
"duplicate user-context entries (previous at "
3615 << old->getPosition().str() <<
")";
3616 error(yystack_[3].location, msg.str());
3619 user_context->set(
"comment", old->get(
"comment"));
3623 parent->set(
"user-context", user_context);
3626#line 3627 "dhcp4_parser.cc"
3630#line 2305 "dhcp4_parser.yy"
3632 ctx.enter(ctx.NO_KEYWORD);
3634#line 3635 "dhcp4_parser.cc"
3638#line 2307 "dhcp4_parser.yy"
3642 ElementPtr comment(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
3643 user_context->set(
"comment", comment);
3649 if (old->contains(
"comment")) {
3650 std::stringstream msg;
3651 msg <<
"duplicate user-context/comment entries (previous at "
3652 << old->getPosition().str() <<
")";
3653 error(yystack_[3].location, msg.str());
3656 merge(user_context, old);
3660 parent->set(
"user-context", user_context);
3663#line 3664 "dhcp4_parser.cc"
3667#line 2335 "dhcp4_parser.yy"
3669 ctx.unique(
"reservations", ctx.loc2pos(yystack_[0].location));
3671 ctx.stack_.back()->set(
"reservations", l);
3672 ctx.stack_.push_back(l);
3673 ctx.enter(ctx.RESERVATIONS);
3675#line 3676 "dhcp4_parser.cc"
3679#line 2341 "dhcp4_parser.yy"
3681 ctx.stack_.pop_back();
3684#line 3685 "dhcp4_parser.cc"
3688#line 2352 "dhcp4_parser.yy"
3690 ctx.warnAboutExtraCommas(yystack_[0].location);
3692#line 3693 "dhcp4_parser.cc"
3696#line 2357 "dhcp4_parser.yy"
3699 ctx.stack_.back()->add(m);
3700 ctx.stack_.push_back(m);
3702#line 3703 "dhcp4_parser.cc"
3706#line 2361 "dhcp4_parser.yy"
3709 ctx.stack_.pop_back();
3711#line 3712 "dhcp4_parser.cc"
3715#line 2366 "dhcp4_parser.yy"
3719 ctx.stack_.push_back(m);
3721#line 3722 "dhcp4_parser.cc"
3725#line 2370 "dhcp4_parser.yy"
3730#line 3731 "dhcp4_parser.cc"
3734#line 2381 "dhcp4_parser.yy"
3736 ctx.warnAboutExtraCommas(yystack_[0].location);
3738#line 3739 "dhcp4_parser.cc"
3742#line 2404 "dhcp4_parser.yy"
3744 ctx.unique(
"next-server", ctx.loc2pos(yystack_[0].location));
3745 ctx.enter(ctx.NO_KEYWORD);
3747#line 3748 "dhcp4_parser.cc"
3751#line 2407 "dhcp4_parser.yy"
3753 ElementPtr next_server(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
3754 ctx.stack_.back()->set(
"next-server", next_server);
3757#line 3758 "dhcp4_parser.cc"
3761#line 2413 "dhcp4_parser.yy"
3763 ctx.unique(
"server-hostname", ctx.loc2pos(yystack_[0].location));
3764 ctx.enter(ctx.NO_KEYWORD);
3766#line 3767 "dhcp4_parser.cc"
3770#line 2416 "dhcp4_parser.yy"
3772 ElementPtr srv(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
3773 ctx.stack_.back()->set(
"server-hostname", srv);
3776#line 3777 "dhcp4_parser.cc"
3780#line 2422 "dhcp4_parser.yy"
3782 ctx.unique(
"boot-file-name", ctx.loc2pos(yystack_[0].location));
3783 ctx.enter(ctx.NO_KEYWORD);
3785#line 3786 "dhcp4_parser.cc"
3789#line 2425 "dhcp4_parser.yy"
3791 ElementPtr bootfile(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
3792 ctx.stack_.back()->set(
"boot-file-name", bootfile);
3795#line 3796 "dhcp4_parser.cc"
3799#line 2431 "dhcp4_parser.yy"
3801 ctx.unique(
"ip-address", ctx.loc2pos(yystack_[0].location));
3802 ctx.enter(ctx.NO_KEYWORD);
3804#line 3805 "dhcp4_parser.cc"
3808#line 2434 "dhcp4_parser.yy"
3810 ElementPtr addr(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
3811 ctx.stack_.back()->set(
"ip-address", addr);
3814#line 3815 "dhcp4_parser.cc"
3818#line 2440 "dhcp4_parser.yy"
3820 ctx.unique(
"duid", ctx.loc2pos(yystack_[0].location));
3821 ctx.enter(ctx.NO_KEYWORD);
3823#line 3824 "dhcp4_parser.cc"
3827#line 2443 "dhcp4_parser.yy"
3830 ctx.stack_.back()->set(
"duid", d);
3833#line 3834 "dhcp4_parser.cc"
3837#line 2449 "dhcp4_parser.yy"
3839 ctx.unique(
"hw-address", ctx.loc2pos(yystack_[0].location));
3840 ctx.enter(ctx.NO_KEYWORD);
3842#line 3843 "dhcp4_parser.cc"
3846#line 2452 "dhcp4_parser.yy"
3849 ctx.stack_.back()->set(
"hw-address", hw);
3852#line 3853 "dhcp4_parser.cc"
3856#line 2458 "dhcp4_parser.yy"
3858 ctx.unique(
"client-id", ctx.loc2pos(yystack_[0].location));
3859 ctx.enter(ctx.NO_KEYWORD);
3861#line 3862 "dhcp4_parser.cc"
3865#line 2461 "dhcp4_parser.yy"
3868 ctx.stack_.back()->set(
"client-id", hw);
3871#line 3872 "dhcp4_parser.cc"
3875#line 2467 "dhcp4_parser.yy"
3877 ctx.unique(
"circuit-id", ctx.loc2pos(yystack_[0].location));
3878 ctx.enter(ctx.NO_KEYWORD);
3880#line 3881 "dhcp4_parser.cc"
3884#line 2470 "dhcp4_parser.yy"
3887 ctx.stack_.back()->set(
"circuit-id", hw);
3890#line 3891 "dhcp4_parser.cc"
3894#line 2476 "dhcp4_parser.yy"
3896 ctx.unique(
"flex-id", ctx.loc2pos(yystack_[0].location));
3897 ctx.enter(ctx.NO_KEYWORD);
3899#line 3900 "dhcp4_parser.cc"
3903#line 2479 "dhcp4_parser.yy"
3906 ctx.stack_.back()->set(
"flex-id", hw);
3909#line 3910 "dhcp4_parser.cc"
3913#line 2485 "dhcp4_parser.yy"
3915 ctx.unique(
"hostname", ctx.loc2pos(yystack_[0].location));
3916 ctx.enter(ctx.NO_KEYWORD);
3918#line 3919 "dhcp4_parser.cc"
3922#line 2488 "dhcp4_parser.yy"
3924 ElementPtr host(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
3925 ctx.stack_.back()->set(
"hostname", host);
3928#line 3929 "dhcp4_parser.cc"
3932#line 2494 "dhcp4_parser.yy"
3934 ctx.unique(
"client-classes", ctx.loc2pos(yystack_[0].location));
3936 ctx.stack_.back()->set(
"client-classes", c);
3937 ctx.stack_.push_back(c);
3938 ctx.enter(ctx.NO_KEYWORD);
3940#line 3941 "dhcp4_parser.cc"
3944#line 2500 "dhcp4_parser.yy"
3946 ctx.stack_.pop_back();
3949#line 3950 "dhcp4_parser.cc"
3953#line 2508 "dhcp4_parser.yy"
3955 ctx.unique(
"relay", ctx.loc2pos(yystack_[0].location));
3957 ctx.stack_.back()->set(
"relay", m);
3958 ctx.stack_.push_back(m);
3959 ctx.enter(ctx.RELAY);
3961#line 3962 "dhcp4_parser.cc"
3965#line 2514 "dhcp4_parser.yy"
3967 ctx.stack_.pop_back();
3970#line 3971 "dhcp4_parser.cc"
3974#line 2522 "dhcp4_parser.yy"
3976 ctx.unique(
"ip-addresses", ctx.loc2pos(yystack_[0].location));
3978 ctx.stack_.back()->set(
"ip-addresses", l);
3979 ctx.stack_.push_back(l);
3980 ctx.enter(ctx.NO_KEYWORD);
3982#line 3983 "dhcp4_parser.cc"
3986#line 2528 "dhcp4_parser.yy"
3988 ctx.stack_.pop_back();
3991#line 3992 "dhcp4_parser.cc"
3995#line 2536 "dhcp4_parser.yy"
3997 ctx.unique(
"client-classes", ctx.loc2pos(yystack_[0].location));
3999 ctx.stack_.back()->set(
"client-classes", l);
4000 ctx.stack_.push_back(l);
4001 ctx.enter(ctx.CLIENT_CLASSES);
4003#line 4004 "dhcp4_parser.cc"
4007#line 2542 "dhcp4_parser.yy"
4009 ctx.stack_.pop_back();
4012#line 4013 "dhcp4_parser.cc"
4016#line 2549 "dhcp4_parser.yy"
4018 ctx.warnAboutExtraCommas(yystack_[0].location);
4020#line 4021 "dhcp4_parser.cc"
4024#line 2554 "dhcp4_parser.yy"
4027 ctx.stack_.back()->add(m);
4028 ctx.stack_.push_back(m);
4030#line 4031 "dhcp4_parser.cc"
4034#line 2558 "dhcp4_parser.yy"
4037 ctx.require(
"name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
4038 ctx.stack_.pop_back();
4040#line 4041 "dhcp4_parser.cc"
4044#line 2570 "dhcp4_parser.yy"
4046 ctx.warnAboutExtraCommas(yystack_[0].location);
4048#line 4049 "dhcp4_parser.cc"
4052#line 2596 "dhcp4_parser.yy"
4054 ctx.unique(
"test", ctx.loc2pos(yystack_[0].location));
4055 ctx.enter(ctx.NO_KEYWORD);
4057#line 4058 "dhcp4_parser.cc"
4061#line 2599 "dhcp4_parser.yy"
4064 ctx.stack_.back()->set(
"test",
test);
4067#line 4068 "dhcp4_parser.cc"
4071#line 2605 "dhcp4_parser.yy"
4073 ctx.unique(
"template-test", ctx.loc2pos(yystack_[0].location));
4074 ctx.enter(ctx.NO_KEYWORD);
4076#line 4077 "dhcp4_parser.cc"
4080#line 2608 "dhcp4_parser.yy"
4082 ElementPtr template_test(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
4083 ctx.stack_.back()->set(
"template-test", template_test);
4086#line 4087 "dhcp4_parser.cc"
4090#line 2615 "dhcp4_parser.yy"
4092 ctx.unique(
"only-if-required", ctx.loc2pos(yystack_[2].location));
4094 ctx.stack_.back()->set(
"only-if-required", b);
4096#line 4097 "dhcp4_parser.cc"
4100#line 2621 "dhcp4_parser.yy"
4102 ctx.unique(
"only-in-additional-list", ctx.loc2pos(yystack_[2].location));
4104 ctx.stack_.back()->set(
"only-in-additional-list", b);
4106#line 4107 "dhcp4_parser.cc"
4110#line 2629 "dhcp4_parser.yy"
4112 ctx.unique(
"dhcp4o6-port", ctx.loc2pos(yystack_[2].location));
4113 ElementPtr time(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
4114 ctx.stack_.back()->set(
"dhcp4o6-port", time);
4116#line 4117 "dhcp4_parser.cc"
4120#line 2637 "dhcp4_parser.yy"
4122 ctx.unique(
"control-socket", ctx.loc2pos(yystack_[0].location));
4123 ctx.unique(
"control-sockets", ctx.loc2pos(yystack_[0].location));
4125 ctx.stack_.back()->set(
"control-socket", m);
4126 ctx.stack_.push_back(m);
4127 ctx.enter(ctx.CONTROL_SOCKET);
4129#line 4130 "dhcp4_parser.cc"
4133#line 2644 "dhcp4_parser.yy"
4135 ctx.stack_.pop_back();
4138#line 4139 "dhcp4_parser.cc"
4142#line 2649 "dhcp4_parser.yy"
4144 ctx.unique(
"control-sockets", ctx.loc2pos(yystack_[0].location));
4145 ctx.unique(
"control-socket", ctx.loc2pos(yystack_[0].location));
4147 ctx.stack_.back()->set(
"control-sockets", l);
4148 ctx.stack_.push_back(l);
4149 ctx.enter(ctx.CONTROL_SOCKET);
4151#line 4152 "dhcp4_parser.cc"
4155#line 2656 "dhcp4_parser.yy"
4157 ctx.stack_.pop_back();
4160#line 4161 "dhcp4_parser.cc"
4164#line 2667 "dhcp4_parser.yy"
4166 ctx.warnAboutExtraCommas(yystack_[0].location);
4168#line 4169 "dhcp4_parser.cc"
4172#line 2672 "dhcp4_parser.yy"
4175 ctx.stack_.back()->add(m);
4176 ctx.stack_.push_back(m);
4178#line 4179 "dhcp4_parser.cc"
4182#line 2676 "dhcp4_parser.yy"
4184 ctx.stack_.pop_back();
4186#line 4187 "dhcp4_parser.cc"
4190#line 2682 "dhcp4_parser.yy"
4192 ctx.warnAboutExtraCommas(yystack_[0].location);
4194#line 4195 "dhcp4_parser.cc"
4198#line 2702 "dhcp4_parser.yy"
4200 ctx.unique(
"socket-type", ctx.loc2pos(yystack_[0].location));
4201 ctx.enter(ctx.CONTROL_SOCKET_TYPE);
4203#line 4204 "dhcp4_parser.cc"
4207#line 2705 "dhcp4_parser.yy"
4209 ctx.stack_.back()->set(
"socket-type", yystack_[0].value.as <
ElementPtr > ());
4212#line 4213 "dhcp4_parser.cc"
4216#line 2711 "dhcp4_parser.yy"
4218#line 4219 "dhcp4_parser.cc"
4222#line 2712 "dhcp4_parser.yy"
4224#line 4225 "dhcp4_parser.cc"
4228#line 2713 "dhcp4_parser.yy"
4230#line 4231 "dhcp4_parser.cc"
4234#line 2716 "dhcp4_parser.yy"
4236 ctx.unique(
"socket-name", ctx.loc2pos(yystack_[0].location));
4237 ctx.unique(
"socket-address", ctx.loc2pos(yystack_[0].location));
4238 ctx.enter(ctx.NO_KEYWORD);
4240#line 4241 "dhcp4_parser.cc"
4244#line 2720 "dhcp4_parser.yy"
4246 ElementPtr name(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
4247 ctx.stack_.back()->set(
"socket-name", name);
4250#line 4251 "dhcp4_parser.cc"
4254#line 2726 "dhcp4_parser.yy"
4256 ctx.unique(
"socket-address", ctx.loc2pos(yystack_[0].location));
4257 ctx.unique(
"socket-name", ctx.loc2pos(yystack_[0].location));
4258 ctx.enter(ctx.NO_KEYWORD);
4260#line 4261 "dhcp4_parser.cc"
4264#line 2730 "dhcp4_parser.yy"
4266 ElementPtr address(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
4267 ctx.stack_.back()->set(
"socket-address", address);
4270#line 4271 "dhcp4_parser.cc"
4274#line 2736 "dhcp4_parser.yy"
4276 ctx.unique(
"socket-port", ctx.loc2pos(yystack_[2].location));
4277 ElementPtr port(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
4278 ctx.stack_.back()->set(
"socket-port", port);
4280#line 4281 "dhcp4_parser.cc"
4284#line 2742 "dhcp4_parser.yy"
4286 ctx.unique(
"cert-required", ctx.loc2pos(yystack_[2].location));
4287 ElementPtr req(
new BoolElement(yystack_[0].value.as <
bool > (), ctx.loc2pos(yystack_[0].location)));
4288 ctx.stack_.back()->set(
"cert-required", req);
4290#line 4291 "dhcp4_parser.cc"
4294#line 2748 "dhcp4_parser.yy"
4296 ctx.unique(
"http-headers", ctx.loc2pos(yystack_[0].location));
4298 ctx.stack_.back()->set(
"http-headers", l);
4299 ctx.stack_.push_back(l);
4300 ctx.enter(ctx.HTTP_HEADERS);
4302#line 4303 "dhcp4_parser.cc"
4306#line 2754 "dhcp4_parser.yy"
4308 ctx.stack_.pop_back();
4311#line 4312 "dhcp4_parser.cc"
4315#line 2765 "dhcp4_parser.yy"
4317 ctx.warnAboutExtraCommas(yystack_[0].location);
4319#line 4320 "dhcp4_parser.cc"
4323#line 2770 "dhcp4_parser.yy"
4326 ctx.stack_.back()->add(m);
4327 ctx.stack_.push_back(m);
4329#line 4330 "dhcp4_parser.cc"
4333#line 2774 "dhcp4_parser.yy"
4335 ctx.stack_.pop_back();
4337#line 4338 "dhcp4_parser.cc"
4341#line 2780 "dhcp4_parser.yy"
4343 ctx.warnAboutExtraCommas(yystack_[0].location);
4345#line 4346 "dhcp4_parser.cc"
4349#line 2792 "dhcp4_parser.yy"
4351 ctx.unique(
"value", ctx.loc2pos(yystack_[0].location));
4352 ctx.enter(ctx.NO_KEYWORD);
4354#line 4355 "dhcp4_parser.cc"
4358#line 2795 "dhcp4_parser.yy"
4360 ElementPtr value(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
4361 ctx.stack_.back()->set(
"value", value);
4364#line 4365 "dhcp4_parser.cc"
4368#line 2803 "dhcp4_parser.yy"
4370 ctx.unique(
"authentication", ctx.loc2pos(yystack_[0].location));
4372 ctx.stack_.back()->set(
"authentication", m);
4373 ctx.stack_.push_back(m);
4374 ctx.enter(ctx.AUTHENTICATION);
4376#line 4377 "dhcp4_parser.cc"
4380#line 2809 "dhcp4_parser.yy"
4383 ctx.require(
"type", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location));
4384 ctx.stack_.pop_back();
4387#line 4388 "dhcp4_parser.cc"
4391#line 2818 "dhcp4_parser.yy"
4393 ctx.warnAboutExtraCommas(yystack_[0].location);
4395#line 4396 "dhcp4_parser.cc"
4399#line 2832 "dhcp4_parser.yy"
4401 ctx.unique(
"type", ctx.loc2pos(yystack_[0].location));
4402 ctx.enter(ctx.AUTH_TYPE);
4404#line 4405 "dhcp4_parser.cc"
4408#line 2835 "dhcp4_parser.yy"
4410 ctx.stack_.back()->set(
"type", yystack_[0].value.as <
ElementPtr > ());
4413#line 4414 "dhcp4_parser.cc"
4417#line 2840 "dhcp4_parser.yy"
4419#line 4420 "dhcp4_parser.cc"
4423#line 2843 "dhcp4_parser.yy"
4425 ctx.unique(
"realm", ctx.loc2pos(yystack_[0].location));
4426 ctx.enter(ctx.NO_KEYWORD);
4428#line 4429 "dhcp4_parser.cc"
4432#line 2846 "dhcp4_parser.yy"
4434 ElementPtr realm(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
4435 ctx.stack_.back()->set(
"realm", realm);
4438#line 4439 "dhcp4_parser.cc"
4442#line 2852 "dhcp4_parser.yy"
4444 ctx.unique(
"directory", ctx.loc2pos(yystack_[0].location));
4445 ctx.enter(ctx.NO_KEYWORD);
4447#line 4448 "dhcp4_parser.cc"
4451#line 2855 "dhcp4_parser.yy"
4453 ElementPtr directory(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
4454 ctx.stack_.back()->set(
"directory", directory);
4457#line 4458 "dhcp4_parser.cc"
4461#line 2861 "dhcp4_parser.yy"
4463 ctx.unique(
"clients", ctx.loc2pos(yystack_[0].location));
4465 ctx.stack_.back()->set(
"clients", l);
4466 ctx.stack_.push_back(l);
4467 ctx.enter(ctx.CLIENTS);
4469#line 4470 "dhcp4_parser.cc"
4473#line 2867 "dhcp4_parser.yy"
4475 ctx.stack_.pop_back();
4478#line 4479 "dhcp4_parser.cc"
4482#line 2878 "dhcp4_parser.yy"
4484 ctx.warnAboutExtraCommas(yystack_[0].location);
4486#line 4487 "dhcp4_parser.cc"
4490#line 2883 "dhcp4_parser.yy"
4493 ctx.stack_.back()->add(m);
4494 ctx.stack_.push_back(m);
4496#line 4497 "dhcp4_parser.cc"
4500#line 2887 "dhcp4_parser.yy"
4502 ctx.stack_.pop_back();
4504#line 4505 "dhcp4_parser.cc"
4508#line 2893 "dhcp4_parser.yy"
4510 ctx.warnAboutExtraCommas(yystack_[0].location);
4512#line 4513 "dhcp4_parser.cc"
4516#line 2907 "dhcp4_parser.yy"
4518 ctx.unique(
"user-file", ctx.loc2pos(yystack_[0].location));
4519 ctx.enter(ctx.NO_KEYWORD);
4521#line 4522 "dhcp4_parser.cc"
4525#line 2910 "dhcp4_parser.yy"
4527 ElementPtr user(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
4528 ctx.stack_.back()->set(
"user-file", user);
4531#line 4532 "dhcp4_parser.cc"
4535#line 2916 "dhcp4_parser.yy"
4537 ctx.unique(
"password-file", ctx.loc2pos(yystack_[0].location));
4538 ctx.enter(ctx.NO_KEYWORD);
4540#line 4541 "dhcp4_parser.cc"
4544#line 2919 "dhcp4_parser.yy"
4546 ElementPtr password(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
4547 ctx.stack_.back()->set(
"password-file", password);
4550#line 4551 "dhcp4_parser.cc"
4554#line 2927 "dhcp4_parser.yy"
4556 ctx.unique(
"dhcp-queue-control", ctx.loc2pos(yystack_[0].location));
4558 ctx.stack_.back()->set(
"dhcp-queue-control", qc);
4559 ctx.stack_.push_back(qc);
4560 ctx.enter(ctx.DHCP_QUEUE_CONTROL);
4562#line 4563 "dhcp4_parser.cc"
4566#line 2933 "dhcp4_parser.yy"
4569 ctx.require(
"enable-queue", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location));
4570 ctx.stack_.pop_back();
4573#line 4574 "dhcp4_parser.cc"
4577#line 2942 "dhcp4_parser.yy"
4579 ctx.warnAboutExtraCommas(yystack_[0].location);
4581#line 4582 "dhcp4_parser.cc"
4585#line 2955 "dhcp4_parser.yy"
4587 ctx.unique(
"enable-queue", ctx.loc2pos(yystack_[2].location));
4589 ctx.stack_.back()->set(
"enable-queue", b);
4591#line 4592 "dhcp4_parser.cc"
4595#line 2961 "dhcp4_parser.yy"
4597 ctx.unique(
"queue-type", ctx.loc2pos(yystack_[0].location));
4598 ctx.enter(ctx.NO_KEYWORD);
4600#line 4601 "dhcp4_parser.cc"
4604#line 2964 "dhcp4_parser.yy"
4607 ctx.stack_.back()->set(
"queue-type", qt);
4610#line 4611 "dhcp4_parser.cc"
4614#line 2970 "dhcp4_parser.yy"
4616 ctx.unique(
"capacity", ctx.loc2pos(yystack_[2].location));
4617 ElementPtr c(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
4618 ctx.stack_.back()->set(
"capacity", c);
4620#line 4621 "dhcp4_parser.cc"
4624#line 2976 "dhcp4_parser.yy"
4626 ctx.unique(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location));
4627 ctx.enter(ctx.NO_KEYWORD);
4629#line 4630 "dhcp4_parser.cc"
4633#line 2979 "dhcp4_parser.yy"
4635 ctx.stack_.back()->set(yystack_[3].value.as < std::string > (), yystack_[0].value.as <
ElementPtr > ());
4638#line 4639 "dhcp4_parser.cc"
4642#line 2986 "dhcp4_parser.yy"
4644 ctx.unique(
"dhcp-ddns", ctx.loc2pos(yystack_[0].location));
4646 ctx.stack_.back()->set(
"dhcp-ddns", m);
4647 ctx.stack_.push_back(m);
4648 ctx.enter(ctx.DHCP_DDNS);
4650#line 4651 "dhcp4_parser.cc"
4654#line 2992 "dhcp4_parser.yy"
4657 ctx.require(
"enable-updates", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location));
4658 ctx.stack_.pop_back();
4661#line 4662 "dhcp4_parser.cc"
4665#line 2999 "dhcp4_parser.yy"
4669 ctx.stack_.push_back(m);
4671#line 4672 "dhcp4_parser.cc"
4675#line 3003 "dhcp4_parser.yy"
4678 ctx.require(
"enable-updates", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
4681#line 4682 "dhcp4_parser.cc"
4685#line 3011 "dhcp4_parser.yy"
4687 ctx.warnAboutExtraCommas(yystack_[0].location);
4689#line 4690 "dhcp4_parser.cc"
4693#line 3029 "dhcp4_parser.yy"
4695 ctx.unique(
"enable-updates", ctx.loc2pos(yystack_[2].location));
4697 ctx.stack_.back()->set(
"enable-updates", b);
4699#line 4700 "dhcp4_parser.cc"
4703#line 3035 "dhcp4_parser.yy"
4705 ctx.unique(
"server-ip", ctx.loc2pos(yystack_[0].location));
4706 ctx.enter(ctx.NO_KEYWORD);
4708#line 4709 "dhcp4_parser.cc"
4712#line 3038 "dhcp4_parser.yy"
4715 ctx.stack_.back()->set(
"server-ip", s);
4718#line 4719 "dhcp4_parser.cc"
4722#line 3044 "dhcp4_parser.yy"
4724 ctx.unique(
"server-port", ctx.loc2pos(yystack_[2].location));
4725 ElementPtr i(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
4726 ctx.stack_.back()->set(
"server-port", i);
4728#line 4729 "dhcp4_parser.cc"
4732#line 3050 "dhcp4_parser.yy"
4734 ctx.unique(
"sender-ip", ctx.loc2pos(yystack_[0].location));
4735 ctx.enter(ctx.NO_KEYWORD);
4737#line 4738 "dhcp4_parser.cc"
4741#line 3053 "dhcp4_parser.yy"
4744 ctx.stack_.back()->set(
"sender-ip", s);
4747#line 4748 "dhcp4_parser.cc"
4751#line 3059 "dhcp4_parser.yy"
4753 ctx.unique(
"sender-port", ctx.loc2pos(yystack_[2].location));
4754 ElementPtr i(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
4755 ctx.stack_.back()->set(
"sender-port", i);
4757#line 4758 "dhcp4_parser.cc"
4761#line 3065 "dhcp4_parser.yy"
4763 ctx.unique(
"max-queue-size", ctx.loc2pos(yystack_[2].location));
4764 ElementPtr i(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
4765 ctx.stack_.back()->set(
"max-queue-size", i);
4767#line 4768 "dhcp4_parser.cc"
4771#line 3071 "dhcp4_parser.yy"
4773 ctx.unique(
"ncr-protocol", ctx.loc2pos(yystack_[0].location));
4774 ctx.enter(ctx.NCR_PROTOCOL);
4776#line 4777 "dhcp4_parser.cc"
4780#line 3074 "dhcp4_parser.yy"
4782 ctx.stack_.back()->set(
"ncr-protocol", yystack_[0].value.as <
ElementPtr > ());
4785#line 4786 "dhcp4_parser.cc"
4789#line 3080 "dhcp4_parser.yy"
4791#line 4792 "dhcp4_parser.cc"
4795#line 3081 "dhcp4_parser.yy"
4797#line 4798 "dhcp4_parser.cc"
4801#line 3084 "dhcp4_parser.yy"
4803 ctx.unique(
"ncr-format", ctx.loc2pos(yystack_[0].location));
4804 ctx.enter(ctx.NCR_FORMAT);
4806#line 4807 "dhcp4_parser.cc"
4810#line 3087 "dhcp4_parser.yy"
4813 ctx.stack_.back()->set(
"ncr-format", json);
4816#line 4817 "dhcp4_parser.cc"
4820#line 3095 "dhcp4_parser.yy"
4822 ctx.unique(
"config-control", ctx.loc2pos(yystack_[0].location));
4824 ctx.stack_.back()->set(
"config-control", i);
4825 ctx.stack_.push_back(i);
4826 ctx.enter(ctx.CONFIG_CONTROL);
4828#line 4829 "dhcp4_parser.cc"
4832#line 3101 "dhcp4_parser.yy"
4835 ctx.stack_.pop_back();
4838#line 4839 "dhcp4_parser.cc"
4842#line 3107 "dhcp4_parser.yy"
4846 ctx.stack_.push_back(m);
4848#line 4849 "dhcp4_parser.cc"
4852#line 3111 "dhcp4_parser.yy"
4857#line 4858 "dhcp4_parser.cc"
4861#line 3119 "dhcp4_parser.yy"
4863 ctx.warnAboutExtraCommas(yystack_[0].location);
4865#line 4866 "dhcp4_parser.cc"
4869#line 3129 "dhcp4_parser.yy"
4871 ctx.unique(
"config-databases", ctx.loc2pos(yystack_[0].location));
4873 ctx.stack_.back()->set(
"config-databases", l);
4874 ctx.stack_.push_back(l);
4875 ctx.enter(ctx.CONFIG_DATABASE);
4877#line 4878 "dhcp4_parser.cc"
4881#line 3135 "dhcp4_parser.yy"
4883 ctx.stack_.pop_back();
4886#line 4887 "dhcp4_parser.cc"
4890#line 3140 "dhcp4_parser.yy"
4892 ctx.unique(
"config-fetch-wait-time", ctx.loc2pos(yystack_[2].location));
4893 ElementPtr value(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
4894 ctx.stack_.back()->set(
"config-fetch-wait-time", value);
4896#line 4897 "dhcp4_parser.cc"
4900#line 3148 "dhcp4_parser.yy"
4902 ctx.unique(
"loggers", ctx.loc2pos(yystack_[0].location));
4904 ctx.stack_.back()->set(
"loggers", l);
4905 ctx.stack_.push_back(l);
4906 ctx.enter(ctx.LOGGERS);
4908#line 4909 "dhcp4_parser.cc"
4912#line 3154 "dhcp4_parser.yy"
4914 ctx.stack_.pop_back();
4917#line 4918 "dhcp4_parser.cc"
4921#line 3163 "dhcp4_parser.yy"
4923 ctx.warnAboutExtraCommas(yystack_[0].location);
4925#line 4926 "dhcp4_parser.cc"
4929#line 3169 "dhcp4_parser.yy"
4932 ctx.stack_.back()->add(l);
4933 ctx.stack_.push_back(l);
4935#line 4936 "dhcp4_parser.cc"
4939#line 3173 "dhcp4_parser.yy"
4941 ctx.stack_.pop_back();
4943#line 4944 "dhcp4_parser.cc"
4947#line 3179 "dhcp4_parser.yy"
4949 ctx.warnAboutExtraCommas(yystack_[0].location);
4951#line 4952 "dhcp4_parser.cc"
4955#line 3193 "dhcp4_parser.yy"
4957 ctx.unique(
"debuglevel", ctx.loc2pos(yystack_[2].location));
4958 ElementPtr dl(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
4959 ctx.stack_.back()->set(
"debuglevel", dl);
4961#line 4962 "dhcp4_parser.cc"
4965#line 3199 "dhcp4_parser.yy"
4967 ctx.unique(
"severity", ctx.loc2pos(yystack_[0].location));
4968 ctx.enter(ctx.NO_KEYWORD);
4970#line 4971 "dhcp4_parser.cc"
4974#line 3202 "dhcp4_parser.yy"
4976 ElementPtr sev(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
4977 ctx.stack_.back()->set(
"severity", sev);
4980#line 4981 "dhcp4_parser.cc"
4984#line 3208 "dhcp4_parser.yy"
4986 ctx.unique(
"output-options", ctx.loc2pos(yystack_[0].location));
4988 ctx.stack_.back()->set(
"output-options", l);
4989 ctx.stack_.push_back(l);
4990 ctx.enter(ctx.OUTPUT_OPTIONS);
4992#line 4993 "dhcp4_parser.cc"
4996#line 3214 "dhcp4_parser.yy"
4998 ctx.stack_.pop_back();
5001#line 5002 "dhcp4_parser.cc"
5005#line 3221 "dhcp4_parser.yy"
5007 ctx.warnAboutExtraCommas(yystack_[0].location);
5009#line 5010 "dhcp4_parser.cc"
5013#line 3226 "dhcp4_parser.yy"
5016 ctx.stack_.back()->add(m);
5017 ctx.stack_.push_back(m);
5019#line 5020 "dhcp4_parser.cc"
5023#line 3230 "dhcp4_parser.yy"
5025 ctx.stack_.pop_back();
5027#line 5028 "dhcp4_parser.cc"
5031#line 3236 "dhcp4_parser.yy"
5033 ctx.warnAboutExtraCommas(yystack_[0].location);
5035#line 5036 "dhcp4_parser.cc"
5039#line 3248 "dhcp4_parser.yy"
5041 ctx.unique(
"output", ctx.loc2pos(yystack_[0].location));
5042 ctx.enter(ctx.NO_KEYWORD);
5044#line 5045 "dhcp4_parser.cc"
5048#line 3251 "dhcp4_parser.yy"
5050 ElementPtr sev(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
5051 ctx.stack_.back()->set(
"output", sev);
5054#line 5055 "dhcp4_parser.cc"
5058#line 3257 "dhcp4_parser.yy"
5060 ctx.unique(
"flush", ctx.loc2pos(yystack_[2].location));
5061 ElementPtr flush(
new BoolElement(yystack_[0].value.as <
bool > (), ctx.loc2pos(yystack_[0].location)));
5062 ctx.stack_.back()->set(
"flush", flush);
5064#line 5065 "dhcp4_parser.cc"
5068#line 3263 "dhcp4_parser.yy"
5070 ctx.unique(
"maxsize", ctx.loc2pos(yystack_[2].location));
5071 ElementPtr maxsize(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
5072 ctx.stack_.back()->set(
"maxsize", maxsize);
5074#line 5075 "dhcp4_parser.cc"
5078#line 3269 "dhcp4_parser.yy"
5080 ctx.unique(
"maxver", ctx.loc2pos(yystack_[2].location));
5081 ElementPtr maxver(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
5082 ctx.stack_.back()->set(
"maxver", maxver);
5084#line 5085 "dhcp4_parser.cc"
5088#line 3275 "dhcp4_parser.yy"
5090 ctx.unique(
"pattern", ctx.loc2pos(yystack_[0].location));
5091 ctx.enter(ctx.NO_KEYWORD);
5093#line 5094 "dhcp4_parser.cc"
5097#line 3278 "dhcp4_parser.yy"
5099 ElementPtr sev(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
5100 ctx.stack_.back()->set(
"pattern", sev);
5103#line 5104 "dhcp4_parser.cc"
5107#line 3284 "dhcp4_parser.yy"
5109 ctx.unique(
"compatibility", ctx.loc2pos(yystack_[0].location));
5111 ctx.stack_.back()->set(
"compatibility", i);
5112 ctx.stack_.push_back(i);
5113 ctx.enter(ctx.COMPATIBILITY);
5115#line 5116 "dhcp4_parser.cc"
5119#line 3290 "dhcp4_parser.yy"
5121 ctx.stack_.pop_back();
5124#line 5125 "dhcp4_parser.cc"
5128#line 3297 "dhcp4_parser.yy"
5130 ctx.warnAboutExtraCommas(yystack_[0].location);
5132#line 5133 "dhcp4_parser.cc"
5136#line 3309 "dhcp4_parser.yy"
5138 ctx.unique(
"lenient-option-parsing", ctx.loc2pos(yystack_[2].location));
5140 ctx.stack_.back()->set(
"lenient-option-parsing", b);
5142#line 5143 "dhcp4_parser.cc"
5146#line 3315 "dhcp4_parser.yy"
5148 ctx.unique(
"ignore-dhcp-server-identifier", ctx.loc2pos(yystack_[2].location));
5150 ctx.stack_.back()->set(
"ignore-dhcp-server-identifier", b);
5152#line 5153 "dhcp4_parser.cc"
5156#line 3321 "dhcp4_parser.yy"
5158 ctx.unique(
"ignore-rai-link-selection", ctx.loc2pos(yystack_[2].location));
5160 ctx.stack_.back()->set(
"ignore-rai-link-selection", b);
5162#line 5163 "dhcp4_parser.cc"
5166#line 3327 "dhcp4_parser.yy"
5168 ctx.unique(
"exclude-first-last-24", ctx.loc2pos(yystack_[2].location));
5170 ctx.stack_.back()->set(
"exclude-first-last-24", b);
5172#line 5173 "dhcp4_parser.cc"
5176#line 5177 "dhcp4_parser.cc"
5185 YYCDEBUG <<
"Caught exception: " << yyexc.what() <<
'\n';
5195 yypush_ (YY_NULLPTR,
YY_MOVE (yylhs));
5209 std::string msg = yysyntax_error_ (yyctx);
5215 if (yyerrstatus_ == 3)
5223 else if (!yyla.
empty ())
5225 yy_destroy_ (
"Error: discarding", yyla);
5259 yyn = yypact_[+yystack_[0].state];
5260 if (!yy_pact_value_is_default_ (yyn))
5263 if (0 <= yyn && yyn <= yylast_
5266 yyn = yytable_[yyn];
5273 if (yystack_.size () == 1)
5276 yyerror_range[1].
location = yystack_[0].location;
5277 yy_destroy_ (
"Error: popping", yystack_[0]);
5282 stack_symbol_type error_token;
5288 error_token.state = state_type (yyn);
5289 yypush_ (
"Shifting",
YY_MOVE (error_token));
5315 yy_destroy_ (
"Cleanup: discarding lookahead", yyla);
5321 while (1 < yystack_.size ())
5323 yy_destroy_ (
"Cleanup: popping", yystack_[0]);
5332 YYCDEBUG <<
"Exception caught: cleaning lookahead and stack\n";
5336 yy_destroy_ (YY_NULLPTR, yyla);
5338 while (1 < yystack_.size ())
5340 yy_destroy_ (YY_NULLPTR, yystack_[0]);
5360 Dhcp4Parser::yytnamerr_ (
const char *yystr)
5365 char const *yyp = yystr;
5372 goto do_not_strip_quotes;
5376 goto do_not_strip_quotes;
5388 do_not_strip_quotes: ;
5397 return yytnamerr_ (yytname_[yysymbol]);
5404 : yyparser_ (yyparser)
5414 const int yyn = yypact_[+yyparser_.yystack_[0].state];
5415 if (!yy_pact_value_is_default_ (yyn))
5420 const int yyxbegin = yyn < 0 ? -yyn : 0;
5422 const int yychecklim = yylast_ - yyn + 1;
5424 for (
int yyx = yyxbegin; yyx < yyxend; ++yyx)
5426 && !yy_table_value_is_error_ (yytable_[yyx + yyn]))
5430 else if (yycount == yyargn)
5437 if (yyarg && yycount == 0 && 0 < yyargn)
5448 Dhcp4Parser::yy_syntax_error_arguments_ (
const context& yyctx,
5479 yyarg[0] = yyctx.
token ();
5480 int yyn = yyctx.
expected_tokens (yyarg ? yyarg + 1 : yyarg, yyargn - 1);
5488 Dhcp4Parser::yysyntax_error_ (
const context& yyctx)
const
5491 enum { YYARGS_MAX = 5 };
5494 int yycount = yy_syntax_error_arguments_ (yyctx, yyarg, YYARGS_MAX);
5496 char const* yyformat = YY_NULLPTR;
5499#define YYCASE_(N, S) \
5505 YYCASE_ (1,
YY_(
"syntax error, unexpected %s"));
5506 YYCASE_ (2,
YY_(
"syntax error, unexpected %s, expecting %s"));
5507 YYCASE_ (3,
YY_(
"syntax error, unexpected %s, expecting %s or %s"));
5508 YYCASE_ (4,
YY_(
"syntax error, unexpected %s, expecting %s or %s or %s"));
5509 YYCASE_ (5,
YY_(
"syntax error, unexpected %s, expecting %s or %s or %s or %s"));
5515 std::ptrdiff_t yyi = 0;
5516 for (
char const* yyp = yyformat; *yyp; ++yyp)
5517 if (yyp[0] ==
'%' && yyp[1] ==
's' && yyi < yycount)
5528 const short Dhcp4Parser::yypact_ninf_ = -1405;
5530 const signed char Dhcp4Parser::yytable_ninf_ = -1;
5533 Dhcp4Parser::yypact_[] =
5535 464, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
5536 -1405, -1405, -1405, -1405, 28, 37, 38, 44, 80, 90,
5537 106, 109, 140, 171, 175, 188, 196, 228, -1405, -1405,
5538 -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
5539 -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
5540 -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
5541 -1405, -1405, -1405, -1405, 37, -173, 60, 279, 168, 722,
5542 1463, 62, -8, 346, 154, -84, 479, 23, -1405, 124,
5543 225, 239, 248, 261, -1405, 45, -1405, -1405, -1405, -1405,
5544 262, 268, 283, -1405, -1405, -1405, 299, 300, -1405, -1405,
5545 -1405, 303, 315, 327, 328, 329, 341, 342, 343, 381,
5546 383, 384, -1405, 385, 387, 393, 394, 402, -1405, -1405,
5547 -1405, 424, 430, 440, 458, 459, 463, 467, -1405, -1405,
5548 -1405, 468, -1405, -1405, -1405, -1405, -1405, 469, 470, 472,
5549 -1405, -1405, -1405, -1405, -1405, 473, -1405, -1405, -1405, -1405,
5550 -1405, -1405, -1405, 474, 475, 476, -1405, -1405, 477, -1405,
5551 134, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
5552 -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
5553 -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
5554 -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
5555 -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
5556 -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
5557 -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
5558 -1405, -1405, -1405, -1405, -1405, -1405, 478, 486, 487, 488,
5559 -1405, 169, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
5560 -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, 490, -1405,
5561 -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
5562 -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
5563 -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
5564 -1405, -1405, -1405, -1405, -1405, 172, -1405, -1405, -1405, -1405,
5565 -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
5566 -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
5567 491, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
5568 -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
5569 -1405, 193, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
5570 -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, 275,
5571 318, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
5572 -1405, -1405, -1405, 417, -1405, -1405, 492, -1405, -1405, -1405,
5573 495, -1405, -1405, 453, 498, -1405, -1405, -1405, -1405, -1405,
5574 -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, 499, 501,
5575 502, -1405, -1405, -1405, -1405, -1405, 494, 504, -1405, -1405,
5576 -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
5577 -1405, -1405, 209, -1405, -1405, -1405, 505, -1405, 506, -1405,
5578 507, 509, -1405, -1405, -1405, -1405, -1405, 221, -1405, -1405,
5579 -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, 513, 242,
5580 -1405, -1405, -1405, -1405, 37, 37, -1405, 284, 515, -1405,
5581 -1405, 518, 522, 525, 293, 294, 296, 532, 534, 536,
5582 304, 307, 544, 546, 547, 316, 321, 323, 325, 330,
5583 313, 332, 337, 338, 331, 344, 551, 348, 351, 339,
5584 353, 354, 562, 573, 575, 355, 356, 345, 359, 361,
5585 363, 366, 576, 586, 602, 371, 606, 610, 613, 614,
5586 617, 388, 389, 392, 619, 629, 634, 640, 642, 412,
5587 647, 648, 650, 655, 660, 661, 663, 438, 441, 443,
5588 674, 679, -1405, 279, -1405, 680, 681, 696, 462, 466,
5589 465, 471, 168, -1405, 699, 702, 703, 705, 706, 707,
5590 484, 708, 709, 710, 718, 719, 722, -1405, 721, 489,
5591 1463, -1405, 723, 724, 725, 726, 727, 728, 729, 730,
5592 -1405, 62, -1405, 731, 732, 500, 734, 737, 740, 508,
5593 -1405, 346, 741, 510, 511, 519, 742, -1405, 154, 744,
5594 755, -72, -1405, 521, 757, 527, 758, 528, 529, 767,
5595 768, 479, -1405, 769, 537, 23, -1405, -1405, -1405, 771,
5596 772, 773, 774, 775, -1405, -1405, -1405, 540, 548, 549,
5597 -1405, -1405, 776, 781, 786, -1405, -1405, -1405, -1405, -1405,
5598 -1405, -1405, -1405, -1405, -1405, -1405, 566, -1405, -1405, -1405,
5599 -1405, -1405, -3, 567, 568, -1405, -1405, -1405, -1405, -1405,
5600 -1405, -1405, 800, 814, 818, -1405, 589, 136, 821, 820,
5601 592, -1405, -1405, -1405, 824, 825, 827, 828, 831, -1405,
5602 832, 834, 829, 835, 837, 599, 604, -1405, -1405, -1405,
5603 848, 850, -1405, 853, 123, 205, -1405, -1405, -1405, -1405,
5604 -1405, 623, 624, 626, 859, 630, 631, -1405, 853, 853,
5605 853, 632, 858, -1405, 633, -1405, -1405, 853, 636, 652,
5606 653, 654, 667, 668, 669, -1405, 670, 671, -1405, 672,
5607 673, 675, -1405, -1405, 676, -1405, -1405, -1405, 853, -1405,
5608 677, 820, -1405, -1405, 678, -1405, 682, -1405, -1405, 4,
5609 711, -1405, 865, -1405, -1405, 37, 279, 23, 168, 254,
5610 -1405, -1405, -1405, 833, 833, 908, -1405, -1405, -1405, -1405,
5611 -1405, -1405, -1405, -1405, -1405, 909, 910, 912, -1405, -1405,
5612 -1405, -1405, -1405, -1405, 913, -1405, -1405, -1405, 103, 914,
5613 915, 916, 63, 165, 595, 917, -69, 479, -1405, -1405,
5614 918, -6, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
5615 -1405, -1405, -1405, 921, -1405, -1405, -1405, -1405, -1405, -1405,
5616 779, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
5617 -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
5618 -1405, -1405, -1405, -1405, -1405, 908, -1405, 276, 277, 291,
5619 -1405, -1405, 317, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
5620 926, 927, 928, 929, 930, 931, 933, 934, 935, 936,
5621 -1405, 937, 938, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
5622 -1405, -1405, -1405, -1405, 340, -1405, -1405, -1405, -1405, -1405,
5623 -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
5624 -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, 374,
5625 -1405, 939, 940, -1405, -1405, 941, 943, -1405, -1405, 942,
5626 946, -1405, -1405, 944, 948, -1405, -1405, 947, 949, -1405,
5627 -1405, -1405, -1405, -1405, -1405, 98, -1405, -1405, -1405, -1405,
5628 -1405, -1405, -1405, 121, -1405, -1405, 950, 951, -1405, -1405,
5629 953, 952, -1405, 956, 957, 958, 959, 960, 961, 375,
5630 -1405, -1405, -1405, -1405, -1405, -1405, -1405, 962, 963, 964,
5631 -1405, 376, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
5632 -1405, 965, -1405, 966, -1405, -1405, -1405, -1405, -1405, -1405,
5633 -1405, 397, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
5634 -1405, 967, 954, -1405, 968, -1405, 970, -1405, -1405, -1405,
5635 409, -1405, -1405, -1405, -1405, -1405, 411, -1405, 151, -1405,
5636 971, 972, 973, 974, -1405, 415, -1405, -1405, -1405, -1405,
5637 -1405, 735, -1405, 975, 976, -1405, -1405, 977, -1405, 978,
5638 -1405, -1405, -1405, 979, 982, 254, -1405, 983, 984, 985,
5639 986, 743, 752, 745, 753, 756, 759, 760, 762, 763,
5640 765, 990, 764, 777, 991, 1002, 1006, 1009, 1016, 833,
5641 -1405, -1405, 833, -1405, 908, 722, -1405, 909, 346, -1405,
5642 910, 154, -1405, 912, 1405, -1405, 913, 103, -1405, 199,
5643 914, -1405, 62, -1405, 915, -84, -1405, 916, 785, 788,
5644 791, 792, 799, 803, 63, -1405, 784, 809, 812, 165,
5645 -1405, 1047, 1050, 1055, 826, 1058, 844, 1080, 595, -1405,
5646 595, -1405, 917, 847, 1087, 855, 1089, -69, -1405, -1405,
5647 203, 918, -1405, 860, 862, 870, 887, -6, -1405, -1405,
5648 1098, 1129, 1463, -1405, 921, 1132, -1405, -1405, 906, 911,
5649 -1405, 969, 980, 981, 987, -1405, -1405, -1405, -1405, -1405,
5650 -1405, -1405, -1405, -1405, -1405, 34, -1405, -1405, 988, 989,
5651 992, 174, 993, -1405, 418, -1405, 419, -1405, 1156, -1405,
5652 1166, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
5653 -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
5654 -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
5655 -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
5656 -1405, -1405, -1405, 421, -1405, -1405, -1405, -1405, -1405, -1405,
5657 -1405, -1405, -1405, -1405, -1405, -1405, 1176, 1178, -1405, -1405,
5658 -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
5659 -1405, 1179, 1186, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
5660 1182, -1405, 428, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
5661 -1405, -1405, -1405, -1405, -1405, 126, 994, 995, -1405, 1185,
5662 -1405, 1188, -1405, 429, -1405, -1405, 996, -1405, 37, -1405,
5663 -1405, 1190, -1405, -1405, -1405, -1405, -1405, 435, -1405, -1405,
5664 -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, 997,
5665 439, -1405, 853, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
5666 -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
5667 -1405, -1405, 1405, -1405, 1191, 1193, 998, 999, -1405, 199,
5668 -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -9, 1192,
5669 -1405, -1405, -1405, 1196, 1003, 1198, 203, -1405, -1405, -1405,
5670 -1405, -1405, 1000, 1005, -1405, -1405, -1405, -1405, -1405, -1405,
5671 -1405, -1405, -1405, -1405, 445, -1405, -1405, -1405, -1405, -1405,
5672 -1405, 1197, 1201, -1405, 1202, -1405, 1007, -1405, -1405, -1405,
5673 1205, 1206, 1208, 1210, -9, -1405, -25, -1405, 1192, 1211,
5674 -1405, 1039, 1008, 1010, 1215, -1405, -1405, -1405, -1405, -1405,
5675 -1405, 447, -1405, -1405, -1405, -1405, 159, -1405, -1405, -1405,
5676 -1405, -1405, 1214, 1218, -25, -1405, -108, 1211, -1405, -1405,
5677 1220, 1224, -1405, 1011, -1405, -1405, 1230, 1231, 1235, -1405,
5678 451, -1405, -1405, -1405, -1405, -1405, -1405, -1405, 8, -1405,
5679 1214, -1405, 1238, 1012, 1013, 1015, 1241, -108, -1405, -1405,
5680 -1405, -1405, -1405, -1405, -1405, -1405, 457, -1405, -1405, -1405,
5681 -1405, 1017, -1405, -1405, -1405, 1018, -1405, 1244, 1245, 8,
5682 -1405, -1405, -1405, 1020, 1021, -1405, -1405, -1405
5686 Dhcp4Parser::yydefact_[] =
5688 0, 2, 4, 6, 8, 10, 12, 14, 16, 18,
5689 20, 22, 24, 26, 0, 0, 0, 0, 0, 0,
5690 0, 0, 0, 0, 0, 0, 0, 0, 1, 44,
5691 36, 32, 31, 28, 29, 30, 35, 3, 33, 34,
5692 59, 5, 65, 7, 214, 9, 399, 11, 626, 13,
5693 671, 15, 541, 17, 550, 19, 589, 21, 361, 23,
5694 875, 25, 907, 27, 46, 39, 0, 0, 0, 0,
5695 0, 673, 0, 552, 591, 0, 0, 0, 48, 0,
5696 47, 0, 0, 40, 61, 0, 63, 905, 199, 232,
5697 0, 0, 0, 693, 695, 697, 0, 0, 230, 243,
5698 245, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5699 0, 0, 153, 0, 0, 0, 0, 0, 164, 171,
5700 173, 0, 0, 0, 0, 0, 0, 0, 390, 539,
5701 580, 0, 156, 177, 479, 658, 660, 0, 0, 0,
5702 323, 720, 662, 352, 373, 0, 338, 757, 759, 856,
5703 873, 187, 189, 0, 0, 0, 917, 959, 0, 141,
5704 0, 67, 70, 71, 72, 73, 74, 108, 109, 110,
5705 111, 112, 75, 104, 137, 138, 93, 94, 95, 116,
5706 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
5707 127, 128, 114, 115, 129, 130, 131, 133, 134, 135,
5708 139, 140, 78, 79, 101, 80, 81, 82, 132, 86,
5709 87, 76, 105, 106, 107, 77, 84, 85, 99, 100,
5710 102, 96, 97, 98, 83, 88, 89, 90, 91, 92,
5711 103, 113, 136, 216, 218, 222, 0, 0, 0, 0,
5712 213, 0, 201, 204, 205, 206, 207, 208, 209, 210,
5713 211, 212, 459, 461, 463, 617, 457, 465, 0, 469,
5714 471, 473, 467, 715, 456, 404, 405, 406, 407, 408,
5715 433, 434, 435, 436, 437, 454, 423, 424, 438, 439,
5716 440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
5717 450, 451, 452, 453, 455, 0, 401, 411, 428, 429,
5718 430, 412, 414, 415, 416, 417, 419, 420, 421, 413,
5719 409, 410, 431, 432, 418, 425, 426, 427, 422, 655,
5720 0, 654, 638, 639, 640, 641, 642, 643, 644, 645,
5721 646, 647, 648, 649, 650, 651, 634, 635, 636, 637,
5722 633, 0, 628, 631, 632, 652, 653, 713, 699, 701,
5723 703, 707, 705, 711, 709, 692, 686, 690, 691, 0,
5724 674, 675, 687, 688, 689, 683, 678, 684, 680, 681,
5725 682, 685, 679, 0, 570, 290, 0, 574, 572, 577,
5726 0, 566, 567, 0, 553, 554, 557, 569, 558, 559,
5727 560, 576, 561, 562, 563, 564, 565, 608, 0, 0,
5728 0, 615, 606, 607, 610, 611, 0, 592, 593, 596,
5729 597, 598, 599, 600, 601, 602, 605, 603, 604, 369,
5730 371, 366, 0, 363, 367, 368, 0, 892, 0, 895,
5731 0, 0, 899, 903, 890, 888, 889, 0, 877, 880,
5732 881, 882, 883, 884, 885, 886, 887, 914, 0, 0,
5733 909, 912, 913, 45, 50, 0, 37, 43, 0, 64,
5734 60, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5735 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5736 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5737 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5738 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5739 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5740 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5741 0, 0, 58, 69, 66, 0, 0, 0, 0, 0,
5742 0, 0, 203, 215, 0, 0, 0, 0, 0, 0,
5743 0, 0, 0, 0, 0, 0, 403, 400, 0, 0,
5744 630, 627, 0, 0, 0, 0, 0, 0, 0, 0,
5745 672, 677, 542, 0, 0, 0, 0, 0, 0, 0,
5746 551, 556, 0, 0, 0, 0, 0, 590, 595, 0,
5747 0, 365, 362, 0, 0, 0, 0, 0, 0, 0,
5748 0, 879, 876, 0, 0, 911, 908, 49, 41, 0,
5749 0, 0, 0, 0, 158, 159, 160, 0, 0, 0,
5750 197, 198, 0, 0, 0, 142, 143, 144, 145, 146,
5751 147, 148, 149, 150, 151, 152, 0, 192, 193, 161,
5752 162, 163, 0, 0, 0, 175, 176, 183, 184, 185,
5753 186, 191, 0, 0, 0, 155, 0, 0, 0, 0,
5754 0, 475, 476, 477, 0, 0, 0, 0, 0, 756,
5755 0, 0, 0, 0, 0, 0, 0, 194, 195, 196,
5756 0, 0, 68, 0, 0, 0, 226, 227, 228, 229,
5757 202, 0, 0, 0, 0, 0, 0, 478, 0, 0,
5758 0, 0, 0, 402, 0, 657, 629, 0, 0, 0,
5759 0, 0, 0, 0, 0, 676, 0, 0, 568, 0,
5760 0, 0, 579, 555, 0, 612, 613, 614, 0, 594,
5761 0, 0, 364, 891, 0, 894, 0, 897, 898, 0,
5762 0, 878, 0, 916, 910, 0, 0, 0, 0, 0,
5763 694, 696, 698, 0, 0, 247, 154, 166, 167, 168,
5764 169, 170, 165, 172, 174, 392, 543, 582, 157, 179,
5765 180, 181, 182, 178, 481, 38, 659, 661, 0, 0,
5766 664, 354, 0, 0, 0, 761, 0, 0, 188, 190,
5767 0, 0, 51, 217, 220, 221, 219, 224, 225, 223,
5768 460, 462, 464, 619, 458, 466, 470, 472, 474, 468,
5769 0, 656, 714, 700, 702, 704, 708, 706, 712, 710,
5770 571, 291, 575, 573, 578, 609, 616, 370, 372, 893,
5771 896, 901, 902, 900, 904, 247, 42, 0, 0, 0,
5772 239, 241, 0, 234, 237, 238, 281, 283, 285, 287,
5773 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5774 301, 0, 0, 308, 310, 312, 314, 316, 317, 318,
5775 319, 320, 321, 280, 0, 254, 257, 258, 259, 260,
5776 261, 262, 263, 264, 265, 266, 267, 268, 269, 270,
5777 271, 272, 273, 274, 275, 276, 277, 278, 279, 0,
5778 252, 0, 248, 249, 397, 0, 393, 394, 548, 0,
5779 544, 545, 587, 0, 583, 584, 486, 0, 482, 483,
5780 333, 334, 335, 336, 337, 0, 325, 328, 329, 330,
5781 331, 332, 725, 0, 722, 669, 0, 665, 666, 359,
5782 0, 355, 356, 0, 0, 0, 0, 0, 0, 0,
5783 375, 378, 379, 380, 381, 382, 383, 0, 0, 0,
5784 348, 0, 340, 343, 344, 345, 346, 347, 784, 789,
5785 791, 0, 814, 0, 795, 783, 776, 777, 778, 781,
5786 782, 0, 768, 771, 772, 773, 774, 779, 780, 775,
5787 766, 0, 762, 763, 0, 868, 0, 871, 864, 865,
5788 0, 858, 861, 862, 863, 866, 0, 922, 0, 919,
5789 0, 0, 0, 0, 968, 0, 961, 964, 965, 966,
5790 967, 53, 624, 0, 620, 621, 718, 0, 717, 0,
5791 62, 906, 200, 0, 0, 236, 233, 0, 0, 0,
5792 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5793 0, 0, 0, 0, 0, 0, 0, 0, 0, 256,
5794 231, 244, 0, 246, 251, 0, 391, 396, 552, 540,
5795 547, 591, 581, 586, 0, 480, 485, 327, 324, 727,
5796 724, 721, 673, 663, 668, 0, 353, 358, 0, 0,
5797 0, 0, 0, 0, 377, 374, 0, 0, 0, 342,
5798 339, 0, 0, 0, 0, 0, 0, 0, 770, 758,
5799 0, 760, 765, 0, 0, 0, 0, 860, 857, 874,
5800 0, 921, 918, 0, 0, 0, 0, 963, 960, 55,
5801 0, 54, 0, 618, 623, 0, 716, 915, 0, 0,
5802 235, 0, 0, 0, 0, 289, 292, 293, 294, 295,
5803 296, 297, 298, 299, 300, 0, 306, 307, 0, 0,
5804 0, 0, 0, 255, 0, 250, 0, 395, 0, 546,
5805 0, 585, 538, 510, 511, 512, 494, 495, 515, 516,
5806 517, 518, 519, 536, 497, 498, 520, 521, 522, 523,
5807 524, 525, 526, 527, 528, 529, 530, 531, 532, 533,
5808 534, 535, 537, 491, 492, 493, 506, 507, 508, 509,
5809 503, 504, 505, 0, 488, 496, 513, 514, 499, 500,
5810 501, 502, 484, 326, 750, 752, 0, 0, 744, 745,
5811 746, 747, 748, 749, 737, 738, 742, 743, 739, 740,
5812 741, 0, 728, 729, 732, 733, 734, 735, 736, 723,
5813 0, 667, 0, 357, 384, 385, 386, 387, 388, 389,
5814 376, 349, 350, 351, 341, 0, 0, 0, 793, 0,
5815 794, 0, 769, 0, 764, 867, 0, 870, 0, 859,
5816 937, 0, 935, 933, 927, 931, 932, 0, 924, 929,
5817 930, 928, 920, 969, 970, 971, 972, 962, 52, 57,
5818 0, 622, 0, 240, 242, 282, 284, 286, 288, 303,
5819 304, 305, 302, 309, 311, 313, 315, 322, 253, 398,
5820 549, 588, 490, 487, 0, 0, 0, 0, 726, 731,
5821 670, 360, 786, 787, 788, 785, 790, 792, 0, 797,
5822 767, 869, 872, 0, 0, 0, 926, 923, 56, 625,
5823 719, 489, 0, 0, 754, 755, 730, 826, 829, 831,
5824 833, 825, 824, 823, 0, 816, 819, 820, 821, 822,
5825 802, 0, 798, 799, 0, 934, 0, 925, 751, 753,
5826 0, 0, 0, 0, 818, 815, 0, 796, 801, 0,
5827 936, 0, 0, 0, 0, 817, 812, 811, 807, 809,
5828 810, 0, 804, 808, 800, 942, 0, 939, 828, 827,
5829 830, 832, 835, 0, 806, 803, 0, 941, 938, 840,
5830 0, 836, 837, 0, 805, 952, 0, 0, 0, 957,
5831 0, 944, 947, 948, 949, 950, 951, 940, 0, 834,
5832 839, 813, 0, 0, 0, 0, 0, 946, 943, 852,
5833 854, 851, 845, 847, 849, 850, 0, 842, 846, 848,
5834 838, 0, 954, 955, 956, 0, 945, 0, 0, 844,
5835 841, 953, 958, 0, 0, 843, 853, 855
5839 Dhcp4Parser::yypgoto_[] =
5841 -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
5842 -1405, -1405, -1405, -1405, -1405, -59, -1405, -626, -1405, 213,
5843 -1405, -1405, -1405, -1405, -1405, -1405, -640, -1405, -1405, -1405,
5844 -67, -1405, -1405, -1405, -1405, -1405, -1405, -1405, 512, 739,
5845 16, 31, 33, -26, 84, 86, 87, 89, 91, 92,
5846 -1405, -1405, -1405, -1405, 94, -1405, -1405, 97, 102, -13,
5847 13, 41, 51, -1405, -1405, 53, -1405, 56, -1405, 59,
5848 104, 64, -1405, -1405, 66, 69, 74, 76, 79, -1405,
5849 81, -1405, 105, -1405, -1405, -1405, -1405, -1405, 43, -1405,
5850 -1405, -1405, 516, 733, -1405, -1405, -1405, -1405, -1405, -1405,
5851 -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
5852 -1405, -1405, -1405, 226, -1405, -1405, -1405, -1405, -1405, -1405,
5853 -1405, -1405, 425, -1405, 201, -1405, -738, 204, -1405, -1405,
5854 -1404, -1405, -1377, -1405, -1405, -1405, -1405, -63, -1405, -1405,
5855 -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
5856 -1405, -1405, -1405, -770, -1405, -769, -1405, -766, -1405, 115,
5857 -1405, -1405, -1405, -1405, -1405, -1405, 190, -1405, -1405, -1405,
5858 -1405, -1405, -1405, -1405, -1405, 178, -1405, -1405, -1405, -1405,
5859 -1405, -1405, -1405, 181, -1405, -1405, -1405, 185, 689, -1405,
5860 -1405, -1405, -1405, -1405, -1405, -1405, 179, -1405, -1405, -1405,
5861 -1405, -1405, -1405, -1057, -1405, -1405, -1405, 215, -1405, -1405,
5862 -1405, 219, 736, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
5863 -1405, -1055, -1405, -29, -1405, -18, -1405, -4, -1405, 5,
5864 -1405, 107, 110, 112, -1405, -1405, -1405, -1405, -1405, 210,
5865 -1405, -1405, -35, -60, -1405, -1405, -1405, -1405, -1405, 218,
5866 -1405, -1405, -1405, 223, -1405, 714, -1405, -34, -1405, -1405,
5867 -1405, -1405, -1405, -27, -1405, -1405, -1405, -1405, -1405, -32,
5868 -1405, -1405, -1405, 216, -1405, -1405, -1405, 227, -1405, 712,
5869 -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
5870 -1405, -1405, -1405, -1405, 167, -1405, -1405, -1405, 173, 746,
5871 -1405, -1405, -1405, -44, -1405, 3, -1405, -56, -1405, -1405,
5872 -1405, 224, -1405, -1405, -1405, 217, -1405, 749, -48, -1405,
5873 -7, -1405, 15, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
5874 -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
5875 -1054, -1405, -1405, -1405, -1405, -1405, -1405, -1405, 230, -1405,
5876 -1405, -1405, -22, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
5877 -1405, -1405, -1405, -1405, -1405, -1405, -1405, 191, -1405, 202,
5878 206, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
5879 -1405, -1405, -1405, -1405, -77, -1405, -1405, -101, -1405, -1405,
5880 -1405, -1405, -1405, -68, -1405, -1405, -1405, -1405, -1405, -1405,
5881 -1405, -1405, -1405, -1405, -1405, -119, -1405, -1405, -145, -1405,
5882 -1405, -1405, -1405, -1405, -1405, -1405, 211, -1405, -1405, -1405,
5883 -1405, -1405, -1405, -1405, -1405, -1405, -1405, 539, 738, -1405,
5884 -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405,
5885 -1405, -1405, -1405, -1405, -1405, -1405, 582, 747, -1405, -1405,
5886 -1405, -1405, -1405, -1405, 212, -1405, -1405, -16, -1405, -1405,
5887 -1405, -1405, -1405, -1405, -86, -1405, -1405, -113, -1405, -1405,
5888 -1405, -1405, -1405, -1405, -1405, -1405, -1405, -1405, 229, -1405,
5893 Dhcp4Parser::yydefgoto_[] =
5895 0, 14, 15, 16, 17, 18, 19, 20, 21, 22,
5896 23, 24, 25, 26, 27, 36, 37, 38, 65, 776,
5897 82, 83, 39, 64, 79, 80, 793, 1021, 1130, 1131,
5898 873, 41, 66, 85, 458, 86, 43, 67, 160, 161,
5899 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
5900 172, 173, 486, 174, 175, 506, 176, 177, 178, 179,
5901 180, 181, 182, 492, 762, 183, 493, 184, 494, 185,
5902 186, 187, 507, 773, 188, 189, 190, 191, 192, 525,
5903 193, 526, 194, 195, 196, 197, 198, 199, 200, 201,
5904 202, 462, 241, 242, 45, 68, 243, 535, 244, 536,
5905 796, 245, 537, 799, 246, 247, 248, 249, 203, 472,
5906 204, 463, 842, 843, 844, 1033, 845, 1034, 205, 473,
5907 206, 474, 901, 902, 903, 1062, 874, 875, 876, 1037,
5908 877, 1038, 878, 1039, 879, 1040, 880, 881, 574, 882,
5909 883, 884, 885, 886, 887, 888, 889, 890, 891, 1051,
5910 1312, 892, 893, 894, 1054, 895, 1055, 896, 1056, 897,
5911 1057, 898, 1058, 207, 514, 925, 926, 927, 928, 929,
5912 930, 931, 208, 520, 961, 962, 963, 964, 965, 209,
5913 517, 940, 941, 942, 1085, 59, 75, 422, 423, 424,
5914 589, 425, 590, 210, 518, 949, 950, 951, 952, 953,
5915 954, 955, 956, 211, 502, 905, 906, 907, 1065, 47,
5916 69, 295, 296, 297, 548, 298, 544, 299, 545, 300,
5917 546, 301, 549, 302, 554, 303, 551, 304, 552, 305,
5918 553, 212, 213, 214, 309, 215, 508, 917, 918, 919,
5919 1074, 1213, 1214, 216, 503, 53, 72, 909, 910, 911,
5920 1068, 55, 73, 383, 384, 385, 386, 387, 388, 389,
5921 573, 390, 577, 391, 576, 392, 393, 578, 394, 217,
5922 504, 913, 914, 915, 1071, 57, 74, 406, 407, 408,
5923 409, 410, 582, 411, 412, 413, 414, 415, 416, 586,
5924 311, 547, 1023, 1024, 1025, 1132, 49, 70, 341, 342,
5925 343, 558, 344, 218, 509, 219, 510, 220, 516, 936,
5926 937, 938, 1082, 51, 71, 359, 360, 361, 221, 467,
5927 222, 468, 223, 469, 365, 563, 366, 564, 367, 565,
5928 368, 567, 369, 566, 370, 569, 371, 568, 372, 562,
5929 318, 555, 1027, 1028, 1135, 224, 515, 933, 934, 1079,
5930 1241, 1242, 1243, 1244, 1245, 1324, 1246, 1325, 1247, 1248,
5931 225, 226, 521, 227, 522, 991, 992, 993, 1110, 981,
5932 982, 983, 1101, 1335, 984, 1102, 985, 1103, 986, 987,
5933 988, 1107, 1371, 1372, 1373, 1386, 1401, 1402, 1403, 1413,
5934 989, 1105, 1364, 1365, 1366, 1380, 1409, 1367, 1381, 1368,
5935 1382, 1369, 1383, 1420, 1421, 1422, 1438, 1456, 1457, 1458,
5936 1467, 1459, 1468, 228, 523, 1000, 1001, 1002, 1003, 1114,
5937 1004, 1005, 1116, 229, 524, 61, 76, 437, 438, 439,
5938 440, 594, 441, 442, 596, 443, 444, 445, 599, 833,
5939 446, 600, 230, 461, 63, 77, 449, 450, 451, 603,
5940 452, 231, 530, 1008, 1009, 1120, 1287, 1288, 1289, 1290,
5941 1345, 1291, 1343, 1406, 1407, 1416, 1430, 1431, 1432, 1442,
5942 1433, 1434, 1435, 1436, 1446, 232, 531, 1015, 1016, 1017,
5947 Dhcp4Parser::yytable_[] =
5949 159, 240, 264, 321, 355, 78, 381, 402, 421, 434,
5950 382, 403, 373, 314, 976, 977, 899, 1204, 978, 1205,
5951 1221, 315, 831, 362, 250, 312, 345, 357, 28, 395,
5952 417, 1357, 435, 775, 1452, 447, 448, 310, 340, 356,
5953 404, 336, 29, 268, 30, 40, 31, 405, 459, 847,
5954 848, 42, 337, 460, 135, 136, 278, 322, 806, 807,
5955 808, 1453, 316, 81, 363, 1452, 338, 812, 419, 420,
5956 84, 251, 313, 346, 358, 339, 396, 418, 375, 436,
5957 419, 420, 279, 323, 317, 265, 364, 44, 826, 1309,
5958 1310, 1311, 1453, 129, 93, 94, 95, 46, 135, 136,
5959 266, 1077, 267, 1425, 1078, 775, 1426, 1427, 1428, 1429,
5960 280, 324, 294, 48, 135, 136, 50, 994, 995, 996,
5961 281, 325, 282, 326, 1080, 283, 327, 1081, 284, 328,
5962 453, 135, 136, 286, 329, 287, 330, 533, 288, 331,
5963 794, 795, 534, 289, 332, 290, 333, 52, 291, 334,
5964 292, 335, 158, 269, 1121, 270, 271, 1122, 272, 1396,
5965 273, 274, 1417, 275, 130, 1418, 276, 997, 1358, 1359,
5966 1360, 277, 542, 285, 293, 556, 306, 543, 54, 307,
5967 557, 308, 56, 233, 234, 135, 136, 235, 1449, 1450,
5968 236, 237, 238, 239, 347, 58, 560, 757, 758, 759,
5969 760, 561, 832, 60, 348, 349, 350, 351, 352, 353,
5970 354, 158, 591, 1010, 1011, 1012, 1013, 592, 943, 944,
5971 945, 946, 947, 948, 601, 797, 798, 158, 454, 602,
5972 158, 93, 94, 95, 96, 62, 761, 866, 867, 868,
5973 869, 870, 871, 455, 158, 605, 920, 921, 922, 923,
5974 606, 924, 769, 770, 771, 772, 456, 375, 397, 376,
5975 377, 398, 399, 400, 457, 1204, 464, 1205, 1221, 101,
5976 102, 103, 465, 32, 33, 34, 35, 135, 136, 533,
5977 605, 840, 841, 570, 1030, 1031, 401, 466, 135, 136,
5978 87, 135, 136, 88, 542, 1332, 1333, 1334, 158, 1032,
5979 129, 130, 375, 470, 471, 89, 375, 475, 90, 91,
5980 92, 93, 94, 95, 96, 97, 98, 99, 100, 476,
5981 1035, 571, 135, 136, 1164, 1036, 135, 136, 957, 958,
5982 959, 477, 478, 479, 1224, 1225, 1226, 1227, 976, 977,
5983 976, 977, 978, 1059, 978, 480, 481, 482, 1060, 101,
5984 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
5985 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
5986 122, 123, 124, 125, 126, 127, 128, 1059, 1094, 1099,
5987 129, 130, 1061, 1095, 1100, 483, 374, 484, 485, 487,
5988 158, 488, 131, 132, 133, 607, 608, 489, 490, 134,
5989 1108, 158, 135, 136, 158, 1109, 491, 137, 138, 139,
5990 140, 141, 1117, 1280, 601, 1281, 1282, 1118, 1127, 1119,
5991 142, 1059, 556, 1128, 1322, 572, 1318, 1319, 495, 1323,
5992 143, 591, 1108, 144, 496, 158, 1331, 1340, 1346, 158,
5993 145, 146, 560, 1347, 497, 147, 148, 1349, 1384, 375,
5994 1414, 376, 377, 1385, 1447, 1415, 378, 379, 380, 1448,
5995 1469, 580, 498, 499, 149, 1470, 159, 500, 150, 135,
5996 136, 501, 505, 511, 512, 240, 513, 519, 527, 528,
5997 529, 532, 538, 151, 152, 153, 154, 155, 156, 264,
5998 539, 540, 541, 321, 550, 559, 575, 157, 250, 579,
5999 314, 581, 587, 583, 355, 584, 585, 588, 315, 593,
6000 595, 597, 312, 598, 381, 158, 345, 604, 382, 610,
6001 609, 402, 611, 362, 310, 403, 612, 357, 340, 613,
6002 268, 336, 614, 615, 434, 616, 617, 395, 618, 356,
6003 619, 620, 337, 278, 417, 251, 621, 322, 622, 316,
6004 623, 624, 630, 625, 404, 636, 338, 435, 626, 313,
6005 627, 405, 628, 346, 363, 339, 642, 629, 634, 279,
6006 631, 317, 265, 323, 358, 632, 633, 643, 639, 644,
6007 652, 635, 158, 647, 396, 637, 364, 266, 638, 267,
6008 653, 418, 640, 641, 645, 646, 648, 280, 649, 294,
6009 650, 324, 135, 136, 436, 651, 654, 281, 655, 282,
6010 656, 325, 283, 326, 657, 284, 327, 658, 659, 328,
6011 286, 660, 287, 664, 329, 288, 330, 661, 662, 331,
6012 289, 663, 290, 665, 332, 291, 333, 292, 666, 334,
6013 269, 335, 270, 271, 667, 272, 668, 273, 274, 669,
6014 275, 670, 671, 276, 672, 863, 864, 865, 277, 673,
6015 285, 293, 1350, 306, 674, 675, 307, 676, 308, 426,
6016 427, 428, 429, 430, 431, 432, 433, 677, 680, 159,
6017 678, 240, 679, 681, 683, 684, 836, 1, 2, 3,
6018 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
6019 685, 686, 688, 691, 250, 687, 692, 693, 689, 694,
6020 695, 696, 698, 699, 700, 158, 960, 975, 135, 136,
6021 434, 697, 701, 702, 1014, 704, 705, 707, 708, 709,
6022 710, 711, 712, 713, 714, 716, 717, 718, 719, 966,
6023 979, 720, 998, 435, 721, 724, 728, 722, 730, 725,
6024 726, 251, 91, 92, 93, 94, 95, 96, 727, 731,
6025 733, 734, 736, 968, 735, 737, 738, 969, 970, 971,
6026 972, 739, 740, 742, 743, 745, 750, 973, 974, 746,
6027 747, 748, 749, 753, 751, 752, 967, 980, 754, 999,
6028 436, 755, 101, 102, 103, 104, 105, 106, 107, 108,
6029 109, 110, 756, 763, 764, 765, 115, 116, 117, 118,
6030 119, 120, 121, 122, 123, 124, 125, 126, 127, 766,
6031 252, 253, 254, 767, 130, 768, 774, 30, 777, 778,
6032 779, 158, 780, 781, 785, 788, 132, 133, 782, 783,
6033 789, 784, 786, 255, 787, 135, 136, 256, 257, 258,
6034 137, 138, 139, 790, 259, 260, 261, 791, 792, 800,
6035 801, 262, 802, 142, 803, 810, 804, 805, 809, 811,
6036 835, 263, 813, 846, 847, 848, 849, 850, 851, 852,
6037 853, 854, 855, 856, 857, 858, 859, 860, 814, 815,
6038 816, 861, 862, 863, 864, 865, 866, 867, 868, 869,
6039 870, 871, 872, 817, 818, 819, 820, 821, 822, 823,
6040 834, 824, 825, 827, 829, 900, 904, 908, 830, 912,
6041 916, 932, 935, 939, 990, 1007, 151, 152, 1022, 1026,
6042 1041, 1042, 1043, 1044, 1045, 1046, 375, 1047, 1048, 1049,
6043 1050, 1052, 1053, 1064, 828, 1063, 1067, 1066, 1069, 1070,
6044 1072, 1073, 1076, 1075, 1084, 1087, 1083, 1112, 158, 1086,
6045 1088, 1089, 1090, 1091, 1092, 1093, 1096, 1097, 1098, 1104,
6046 1106, 1129, 1113, 1111, 1115, 1123, 1124, 1125, 1126, 1134,
6047 1145, 1133, 1147, 1138, 1137, 1136, 1139, 1141, 1142, 1143,
6048 1144, 1146, 1148, 1149, 1155, 1158, 1150, 1151, 264, 1152,
6049 1153, 381, 1154, 1156, 402, 382, 1159, 1172, 403, 314,
6050 1160, 1203, 1228, 1161, 1157, 355, 1233, 315, 421, 1234,
6051 1162, 312, 1254, 1261, 395, 1255, 1218, 417, 1256, 1257,
6052 1216, 1238, 960, 310, 362, 1236, 1258, 404, 357, 268,
6053 1259, 975, 1215, 975, 405, 1206, 1262, 1235, 1176, 1263,
6054 356, 1265, 278, 1283, 1266, 966, 1207, 1284, 316, 1267,
6055 1014, 1186, 1269, 1268, 979, 321, 979, 1219, 313, 158,
6056 1208, 396, 1239, 998, 418, 363, 1285, 1217, 279, 1209,
6057 317, 265, 1237, 1270, 1271, 358, 1275, 1187, 345, 1220,
6058 1173, 1276, 1277, 1278, 1240, 1229, 266, 364, 267, 1293,
6059 340, 1294, 967, 336, 1298, 1174, 280, 1175, 294, 1295,
6060 1230, 980, 1231, 980, 337, 1188, 281, 1202, 282, 322,
6061 999, 283, 1232, 1286, 284, 1189, 1296, 1190, 338, 286,
6062 1191, 287, 1299, 1192, 288, 346, 1302, 339, 1194, 289,
6063 1195, 290, 1303, 1196, 291, 323, 292, 1304, 1197, 269,
6064 1198, 270, 271, 1199, 272, 1200, 273, 274, 1177, 275,
6065 1178, 1179, 276, 1180, 1320, 1181, 1182, 277, 1183, 285,
6066 293, 1184, 306, 324, 1321, 307, 1185, 308, 1193, 1201,
6067 1326, 1210, 1327, 325, 1211, 326, 1212, 1328, 327, 1329,
6068 1330, 328, 1338, 1339, 1344, 1352, 329, 1353, 330, 1370,
6069 1374, 331, 1376, 1387, 1388, 1305, 332, 1389, 333, 1391,
6070 1392, 334, 1393, 335, 1394, 1408, 1306, 1307, 1405, 1342,
6071 1412, 1419, 1423, 1308, 1313, 1314, 1439, 1440, 1315, 1317,
6072 1336, 1337, 1341, 1348, 1443, 1444, 1378, 1354, 1355, 1445,
6073 1375, 1379, 1461, 1390, 1410, 1465, 1411, 1441, 1473, 1474,
6074 1463, 1462, 1464, 1471, 1472, 1172, 1476, 1477, 837, 1203,
6075 1029, 1140, 1228, 1163, 839, 1165, 1233, 1223, 1253, 1234,
6076 1252, 1361, 682, 1260, 1218, 690, 1316, 1264, 1216, 1283,
6077 732, 1238, 1167, 1284, 1166, 1236, 1222, 1351, 1169, 1171,
6078 1215, 1168, 703, 1206, 1362, 723, 1176, 1235, 1170, 1250,
6079 729, 1301, 1285, 1274, 1207, 1300, 706, 1356, 1251, 1186,
6080 1249, 1404, 1273, 1424, 1272, 1219, 1395, 1361, 1208, 1397,
6081 715, 1460, 1239, 1398, 1475, 1217, 1006, 1209, 1279, 838,
6082 1377, 1437, 1237, 1292, 1466, 1187, 0, 1220, 1173, 741,
6083 1362, 1363, 1399, 0, 1240, 1229, 0, 1397, 0, 1286,
6084 0, 1398, 744, 1174, 0, 1175, 1297, 0, 0, 0,
6085 1230, 0, 1231, 1188, 0, 1202, 0, 0, 0, 0,
6086 1399, 1451, 1232, 1189, 0, 1190, 0, 0, 1191, 0,
6087 0, 1192, 0, 0, 0, 0, 1194, 1363, 1195, 1400,
6088 0, 1196, 0, 0, 1454, 0, 1197, 0, 1198, 0,
6089 0, 1199, 1451, 1200, 0, 0, 1177, 0, 1178, 1179,
6090 0, 1180, 0, 1181, 1182, 0, 1183, 1400, 0, 1184,
6091 0, 0, 0, 0, 1185, 1454, 1193, 1201, 0, 1210,
6092 0, 0, 1211, 0, 1212, 91, 92, 93, 94, 95,
6093 96, 1455, 0, 0, 0, 0, 0, 0, 0, 0,
6094 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
6095 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
6096 0, 0, 1455, 0, 0, 101, 102, 103, 104, 105,
6097 106, 107, 108, 109, 110, 0, 0, 0, 0, 115,
6098 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
6099 126, 127, 128, 0, 0, 0, 0, 130, 375, 0,
6100 0, 0, 0, 0, 0, 0, 0, 0, 0, 132,
6101 133, 0, 0, 0, 0, 0, 0, 0, 135, 136,
6102 0, 257, 0, 137, 138, 139, 0, 259, 260, 261,
6103 0, 0, 0, 0, 262, 0, 0, 115, 116, 117,
6104 118, 119, 120, 121, 263, 123, 124, 125, 126, 0,
6105 0, 0, 0, 0, 0, 130, 0, 0, 0, 0,
6106 0, 0, 0, 0, 0, 0, 0, 0, 133, 0,
6107 0, 0, 0, 0, 0, 319, 135, 136, 0, 0,
6108 0, 0, 0, 0, 0, 259, 260, 261, 0, 0,
6109 0, 0, 262, 320, 0, 0, 0, 0, 0, 151,
6110 152, 0, 0, 0, 0, 0, 0, 0, 0, 0,
6111 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
6112 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
6113 0, 158, 0, 0, 0, 0, 0, 0, 0, 0,
6114 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
6115 0, 0, 0, 0, 0, 0, 0, 151, 152, 0,
6116 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
6117 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
6118 0, 0, 0, 0, 0, 0, 0, 0, 0, 158
6122 Dhcp4Parser::yycheck_[] =
6124 67, 68, 69, 70, 71, 64, 73, 74, 75, 76,
6125 73, 74, 72, 69, 784, 784, 754, 1074, 784, 1074,
6126 1074, 69, 18, 71, 68, 69, 70, 71, 0, 73,
6127 74, 40, 76, 659, 1438, 12, 13, 69, 70, 71,
6128 74, 70, 5, 69, 7, 7, 9, 74, 3, 41,
6129 42, 7, 70, 8, 123, 124, 69, 70, 698, 699,
6130 700, 1438, 69, 236, 71, 1469, 70, 707, 152, 153,
6131 10, 68, 69, 70, 71, 70, 73, 74, 103, 76,
6132 152, 153, 69, 70, 69, 69, 71, 7, 728, 55,
6133 56, 57, 1469, 101, 32, 33, 34, 7, 123, 124,
6134 69, 3, 69, 211, 6, 731, 214, 215, 216, 217,
6135 69, 70, 69, 7, 123, 124, 7, 186, 187, 188,
6136 69, 70, 69, 70, 3, 69, 70, 6, 69, 70,
6137 6, 123, 124, 69, 70, 69, 70, 3, 69, 70,
6138 17, 18, 8, 69, 70, 69, 70, 7, 69, 70,
6139 69, 70, 236, 69, 3, 69, 69, 6, 69, 184,
6140 69, 69, 3, 69, 102, 6, 69, 236, 177, 178,
6141 179, 69, 3, 69, 69, 3, 69, 8, 7, 69,
6142 8, 69, 7, 15, 16, 123, 124, 19, 180, 181,
6143 22, 23, 24, 25, 132, 7, 3, 200, 201, 202,
6144 203, 8, 198, 7, 142, 143, 144, 145, 146, 147,
6145 148, 236, 3, 219, 220, 221, 222, 8, 155, 156,
6146 157, 158, 159, 160, 3, 20, 21, 236, 3, 8,
6147 236, 32, 33, 34, 35, 7, 239, 63, 64, 65,
6148 66, 67, 68, 4, 236, 3, 143, 144, 145, 146,
6149 8, 148, 116, 117, 118, 119, 8, 103, 104, 105,
6150 106, 107, 108, 109, 3, 1322, 4, 1322, 1322, 70,
6151 71, 72, 4, 236, 237, 238, 239, 123, 124, 3,
6152 3, 27, 28, 8, 8, 8, 132, 4, 123, 124,
6153 11, 123, 124, 14, 3, 169, 170, 171, 236, 8,
6154 101, 102, 103, 4, 4, 26, 103, 4, 29, 30,
6155 31, 32, 33, 34, 35, 36, 37, 38, 39, 4,
6156 3, 3, 123, 124, 1062, 8, 123, 124, 163, 164,
6157 165, 4, 4, 4, 135, 136, 137, 138, 1108, 1108,
6158 1110, 1110, 1108, 3, 1110, 4, 4, 4, 8, 70,
6159 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
6160 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
6161 91, 92, 93, 94, 95, 96, 97, 3, 3, 3,
6162 101, 102, 8, 8, 8, 4, 40, 4, 4, 4,
6163 236, 4, 113, 114, 115, 454, 455, 4, 4, 120,
6164 3, 236, 123, 124, 236, 8, 4, 128, 129, 130,
6165 131, 132, 3, 210, 3, 212, 213, 8, 3, 8,
6166 141, 3, 3, 8, 3, 8, 8, 8, 4, 8,
6167 151, 3, 3, 154, 4, 236, 8, 8, 3, 236,
6168 161, 162, 3, 8, 4, 166, 167, 8, 3, 103,
6169 3, 105, 106, 8, 3, 8, 110, 111, 112, 8,
6170 3, 8, 4, 4, 185, 8, 533, 4, 189, 123,
6171 124, 4, 4, 4, 4, 542, 4, 4, 4, 4,
6172 4, 4, 4, 204, 205, 206, 207, 208, 209, 556,
6173 4, 4, 4, 560, 4, 4, 4, 218, 542, 4,
6174 556, 3, 8, 4, 571, 4, 4, 3, 556, 4,
6175 4, 4, 556, 4, 581, 236, 560, 4, 581, 4,
6176 236, 588, 4, 571, 556, 588, 4, 571, 560, 4,
6177 556, 560, 239, 239, 601, 239, 4, 581, 4, 571,
6178 4, 237, 560, 556, 588, 542, 239, 560, 4, 556,
6179 4, 4, 239, 237, 588, 4, 560, 601, 237, 556,
6180 237, 588, 237, 560, 571, 560, 4, 237, 237, 556,
6181 238, 556, 556, 560, 571, 238, 238, 4, 239, 4,
6182 4, 237, 236, 238, 581, 237, 571, 556, 237, 556,
6183 4, 588, 239, 239, 239, 239, 237, 556, 237, 556,
6184 237, 560, 123, 124, 601, 239, 4, 556, 237, 556,
6185 4, 560, 556, 560, 4, 556, 560, 4, 4, 560,
6186 556, 4, 556, 4, 560, 556, 560, 239, 239, 560,
6187 556, 239, 556, 4, 560, 556, 560, 556, 4, 560,
6188 556, 560, 556, 556, 4, 556, 4, 556, 556, 237,
6189 556, 4, 4, 556, 4, 60, 61, 62, 556, 4,
6190 556, 556, 1302, 556, 4, 4, 556, 4, 556, 190,
6191 191, 192, 193, 194, 195, 196, 197, 239, 4, 746,
6192 239, 748, 239, 4, 4, 4, 745, 223, 224, 225,
6193 226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
6194 4, 239, 237, 4, 748, 239, 4, 4, 237, 4,
6195 4, 4, 4, 4, 4, 236, 783, 784, 123, 124,
6196 787, 237, 4, 4, 791, 4, 237, 4, 4, 4,
6197 4, 4, 4, 4, 4, 4, 4, 237, 4, 783,
6198 784, 4, 786, 787, 4, 4, 4, 239, 4, 239,
6199 239, 748, 30, 31, 32, 33, 34, 35, 239, 4,
6200 239, 4, 4, 168, 237, 237, 237, 172, 173, 174,
6201 175, 4, 4, 4, 237, 4, 236, 182, 183, 7,
6202 7, 7, 7, 7, 236, 236, 783, 784, 7, 786,
6203 787, 5, 70, 71, 72, 73, 74, 75, 76, 77,
6204 78, 79, 236, 236, 236, 5, 84, 85, 86, 87,
6205 88, 89, 90, 91, 92, 93, 94, 95, 96, 5,
6206 98, 99, 100, 5, 102, 236, 5, 7, 236, 5,
6207 5, 236, 5, 5, 5, 236, 114, 115, 7, 7,
6208 236, 7, 7, 121, 7, 123, 124, 125, 126, 127,
6209 128, 129, 130, 5, 132, 133, 134, 7, 5, 236,
6210 236, 139, 236, 141, 5, 7, 236, 236, 236, 236,
6211 5, 149, 236, 40, 41, 42, 43, 44, 45, 46,
6212 47, 48, 49, 50, 51, 52, 53, 54, 236, 236,
6213 236, 58, 59, 60, 61, 62, 63, 64, 65, 66,
6214 67, 68, 69, 236, 236, 236, 236, 236, 236, 236,
6215 199, 236, 236, 236, 236, 7, 7, 7, 236, 7,
6216 7, 7, 7, 7, 7, 7, 204, 205, 7, 150,
6217 4, 4, 4, 4, 4, 4, 103, 4, 4, 4,
6218 4, 4, 4, 3, 731, 6, 3, 6, 6, 3,
6219 6, 3, 3, 6, 3, 3, 6, 3, 236, 6,
6220 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
6221 4, 236, 4, 6, 4, 4, 4, 4, 4, 3,
6222 237, 6, 237, 4, 6, 8, 4, 4, 4, 4,
6223 4, 239, 239, 237, 4, 4, 237, 237, 1065, 237,
6224 237, 1068, 237, 239, 1071, 1068, 4, 1074, 1071, 1065,
6225 4, 1074, 1079, 4, 237, 1082, 1079, 1065, 1085, 1079,
6226 4, 1065, 237, 239, 1068, 237, 1074, 1071, 237, 237,
6227 1074, 1079, 1099, 1065, 1082, 1079, 237, 1071, 1082, 1065,
6228 237, 1108, 1074, 1110, 1071, 1074, 237, 1079, 1074, 237,
6229 1082, 4, 1065, 1120, 4, 1099, 1074, 1120, 1065, 4,
6230 1127, 1074, 4, 237, 1108, 1132, 1110, 1074, 1065, 236,
6231 1074, 1068, 1079, 1117, 1071, 1082, 1120, 1074, 1065, 1074,
6232 1065, 1065, 1079, 239, 4, 1082, 239, 1074, 1132, 1074,
6233 1074, 4, 237, 4, 1079, 1079, 1065, 1082, 1065, 239,
6234 1132, 239, 1099, 1132, 6, 1074, 1065, 1074, 1065, 239,
6235 1079, 1108, 1079, 1110, 1132, 1074, 1065, 1074, 1065, 1132,
6236 1117, 1065, 1079, 1120, 1065, 1074, 239, 1074, 1132, 1065,
6237 1074, 1065, 3, 1074, 1065, 1132, 4, 1132, 1074, 1065,
6238 1074, 1065, 236, 1074, 1065, 1132, 1065, 236, 1074, 1065,
6239 1074, 1065, 1065, 1074, 1065, 1074, 1065, 1065, 1074, 1065,
6240 1074, 1074, 1065, 1074, 8, 1074, 1074, 1065, 1074, 1065,
6241 1065, 1074, 1065, 1132, 8, 1065, 1074, 1065, 1074, 1074,
6242 4, 1074, 4, 1132, 1074, 1132, 1074, 8, 1132, 3,
6243 8, 1132, 7, 5, 4, 4, 1132, 4, 1132, 7,
6244 4, 1132, 4, 6, 3, 236, 1132, 5, 1132, 4,
6245 4, 1132, 4, 1132, 4, 176, 236, 236, 7, 1278,
6246 5, 7, 4, 236, 236, 236, 6, 3, 236, 236,
6247 236, 236, 236, 236, 4, 4, 236, 239, 239, 4,
6248 237, 236, 4, 236, 236, 4, 236, 236, 4, 4,
6249 237, 239, 237, 236, 236, 1322, 236, 236, 746, 1322,
6250 835, 1035, 1329, 1059, 748, 1064, 1329, 1077, 1087, 1329,
6251 1085, 1338, 533, 1094, 1322, 542, 1161, 1099, 1322, 1346,
6252 591, 1329, 1067, 1346, 1065, 1329, 1076, 1322, 1070, 1073,
6253 1322, 1068, 556, 1322, 1338, 581, 1322, 1329, 1071, 1082,
6254 588, 1134, 1346, 1112, 1322, 1132, 560, 1329, 1084, 1322,
6255 1080, 1388, 1110, 1414, 1108, 1322, 1384, 1384, 1322, 1386,
6256 571, 1440, 1329, 1386, 1469, 1322, 787, 1322, 1117, 747,
6257 1346, 1417, 1329, 1121, 1447, 1322, -1, 1322, 1322, 601,
6258 1384, 1338, 1386, -1, 1329, 1329, -1, 1414, -1, 1346,
6259 -1, 1414, 605, 1322, -1, 1322, 1127, -1, -1, -1,
6260 1329, -1, 1329, 1322, -1, 1322, -1, -1, -1, -1,
6261 1414, 1438, 1329, 1322, -1, 1322, -1, -1, 1322, -1,
6262 -1, 1322, -1, -1, -1, -1, 1322, 1384, 1322, 1386,
6263 -1, 1322, -1, -1, 1438, -1, 1322, -1, 1322, -1,
6264 -1, 1322, 1469, 1322, -1, -1, 1322, -1, 1322, 1322,
6265 -1, 1322, -1, 1322, 1322, -1, 1322, 1414, -1, 1322,
6266 -1, -1, -1, -1, 1322, 1469, 1322, 1322, -1, 1322,
6267 -1, -1, 1322, -1, 1322, 30, 31, 32, 33, 34,
6268 35, 1438, -1, -1, -1, -1, -1, -1, -1, -1,
6269 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6270 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6271 -1, -1, 1469, -1, -1, 70, 71, 72, 73, 74,
6272 75, 76, 77, 78, 79, -1, -1, -1, -1, 84,
6273 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
6274 95, 96, 97, -1, -1, -1, -1, 102, 103, -1,
6275 -1, -1, -1, -1, -1, -1, -1, -1, -1, 114,
6276 115, -1, -1, -1, -1, -1, -1, -1, 123, 124,
6277 -1, 126, -1, 128, 129, 130, -1, 132, 133, 134,
6278 -1, -1, -1, -1, 139, -1, -1, 84, 85, 86,
6279 87, 88, 89, 90, 149, 92, 93, 94, 95, -1,
6280 -1, -1, -1, -1, -1, 102, -1, -1, -1, -1,
6281 -1, -1, -1, -1, -1, -1, -1, -1, 115, -1,
6282 -1, -1, -1, -1, -1, 122, 123, 124, -1, -1,
6283 -1, -1, -1, -1, -1, 132, 133, 134, -1, -1,
6284 -1, -1, 139, 140, -1, -1, -1, -1, -1, 204,
6285 205, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6286 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6287 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6288 -1, 236, -1, -1, -1, -1, -1, -1, -1, -1,
6289 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6290 -1, -1, -1, -1, -1, -1, -1, 204, 205, -1,
6291 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6292 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6293 -1, -1, -1, -1, -1, -1, -1, -1, -1, 236
6297 Dhcp4Parser::yystos_[] =
6299 0, 223, 224, 225, 226, 227, 228, 229, 230, 231,
6300 232, 233, 234, 235, 241, 242, 243, 244, 245, 246,
6301 247, 248, 249, 250, 251, 252, 253, 254, 0, 5,
6302 7, 9, 236, 237, 238, 239, 255, 256, 257, 262,
6303 7, 271, 7, 276, 7, 334, 7, 449, 7, 536,
6304 7, 553, 7, 485, 7, 491, 7, 515, 7, 425,
6305 7, 665, 7, 684, 263, 258, 272, 277, 335, 450,
6306 537, 554, 486, 492, 516, 426, 666, 685, 255, 264,
6307 265, 236, 260, 261, 10, 273, 275, 11, 14, 26,
6308 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
6309 39, 70, 71, 72, 73, 74, 75, 76, 77, 78,
6310 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
6311 89, 90, 91, 92, 93, 94, 95, 96, 97, 101,
6312 102, 113, 114, 115, 120, 123, 124, 128, 129, 130,
6313 131, 132, 141, 151, 154, 161, 162, 166, 167, 185,
6314 189, 204, 205, 206, 207, 208, 209, 218, 236, 270,
6315 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
6316 288, 289, 290, 291, 293, 294, 296, 297, 298, 299,
6317 300, 301, 302, 305, 307, 309, 310, 311, 314, 315,
6318 316, 317, 318, 320, 322, 323, 324, 325, 326, 327,
6319 328, 329, 330, 348, 350, 358, 360, 403, 412, 419,
6320 433, 443, 471, 472, 473, 475, 483, 509, 543, 545,
6321 547, 558, 560, 562, 585, 600, 601, 603, 653, 663,
6322 682, 691, 715, 15, 16, 19, 22, 23, 24, 25,
6323 270, 332, 333, 336, 338, 341, 344, 345, 346, 347,
6324 543, 545, 98, 99, 100, 121, 125, 126, 127, 132,
6325 133, 134, 139, 149, 270, 280, 281, 282, 283, 284,
6326 285, 286, 287, 288, 289, 294, 297, 298, 299, 300,
6327 301, 302, 305, 307, 309, 310, 311, 314, 315, 316,
6328 317, 318, 320, 322, 328, 451, 452, 453, 455, 457,
6329 459, 461, 463, 465, 467, 469, 471, 472, 473, 474,
6330 509, 530, 543, 545, 547, 558, 560, 562, 580, 122,
6331 140, 270, 299, 300, 301, 302, 305, 307, 309, 311,
6332 314, 315, 316, 317, 318, 320, 463, 465, 467, 469,
6333 509, 538, 539, 540, 542, 543, 545, 132, 142, 143,
6334 144, 145, 146, 147, 148, 270, 509, 543, 545, 555,
6335 556, 557, 558, 560, 562, 564, 566, 568, 570, 572,
6336 574, 576, 578, 483, 40, 103, 105, 106, 110, 111,
6337 112, 270, 377, 493, 494, 495, 496, 497, 498, 499,
6338 501, 503, 505, 506, 508, 543, 545, 104, 107, 108,
6339 109, 132, 270, 377, 497, 503, 517, 518, 519, 520,
6340 521, 523, 524, 525, 526, 527, 528, 543, 545, 152,
6341 153, 270, 427, 428, 429, 431, 190, 191, 192, 193,
6342 194, 195, 196, 197, 270, 543, 545, 667, 668, 669,
6343 670, 672, 673, 675, 676, 677, 680, 12, 13, 686,
6344 687, 688, 690, 6, 3, 4, 8, 3, 274, 3,
6345 8, 683, 331, 351, 4, 4, 4, 559, 561, 563,
6346 4, 4, 349, 359, 361, 4, 4, 4, 4, 4,
6347 4, 4, 4, 4, 4, 4, 292, 4, 4, 4,
6348 4, 4, 303, 306, 308, 4, 4, 4, 4, 4,
6349 4, 4, 444, 484, 510, 4, 295, 312, 476, 544,
6350 546, 4, 4, 4, 404, 586, 548, 420, 434, 4,
6351 413, 602, 604, 654, 664, 319, 321, 4, 4, 4,
6352 692, 716, 4, 3, 8, 337, 339, 342, 4, 4,
6353 4, 4, 3, 8, 456, 458, 460, 531, 454, 462,
6354 4, 466, 468, 470, 464, 581, 3, 8, 541, 4,
6355 3, 8, 579, 565, 567, 569, 573, 571, 577, 575,
6356 8, 3, 8, 500, 378, 4, 504, 502, 507, 4,
6357 8, 3, 522, 4, 4, 4, 529, 8, 3, 430,
6358 432, 3, 8, 4, 671, 4, 674, 4, 4, 678,
6359 681, 3, 8, 689, 4, 3, 8, 255, 255, 236,
6360 4, 4, 4, 4, 239, 239, 239, 4, 4, 4,
6361 237, 239, 4, 4, 4, 237, 237, 237, 237, 237,
6362 239, 238, 238, 238, 237, 237, 4, 237, 237, 239,
6363 239, 239, 4, 4, 4, 239, 239, 238, 237, 237,
6364 237, 239, 4, 4, 4, 237, 4, 4, 4, 4,
6365 4, 239, 239, 239, 4, 4, 4, 4, 4, 237,
6366 4, 4, 4, 4, 4, 4, 4, 239, 239, 239,
6367 4, 4, 279, 4, 4, 4, 239, 239, 237, 237,
6368 333, 4, 4, 4, 4, 4, 4, 237, 4, 4,
6369 4, 4, 4, 452, 4, 237, 539, 4, 4, 4,
6370 4, 4, 4, 4, 4, 557, 4, 4, 237, 4,
6371 4, 4, 239, 495, 4, 239, 239, 239, 4, 519,
6372 4, 4, 428, 239, 4, 237, 4, 237, 237, 4,
6373 4, 668, 4, 237, 687, 4, 7, 7, 7, 7,
6374 236, 236, 236, 7, 7, 5, 236, 200, 201, 202,
6375 203, 239, 304, 236, 236, 5, 5, 5, 236, 116,
6376 117, 118, 119, 313, 5, 257, 259, 236, 5, 5,
6377 5, 5, 7, 7, 7, 5, 7, 7, 236, 236,
6378 5, 7, 5, 266, 17, 18, 340, 20, 21, 343,
6379 236, 236, 236, 5, 236, 236, 266, 266, 266, 236,
6380 7, 236, 266, 236, 236, 236, 236, 236, 236, 236,
6381 236, 236, 236, 236, 236, 236, 266, 236, 259, 236,
6382 236, 18, 198, 679, 199, 5, 255, 278, 686, 332,
6383 27, 28, 352, 353, 354, 356, 40, 41, 42, 43,
6384 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
6385 54, 58, 59, 60, 61, 62, 63, 64, 65, 66,
6386 67, 68, 69, 270, 366, 367, 368, 370, 372, 374,
6387 376, 377, 379, 380, 381, 382, 383, 384, 385, 386,
6388 387, 388, 391, 392, 393, 395, 397, 399, 401, 366,
6389 7, 362, 363, 364, 7, 445, 446, 447, 7, 487,
6390 488, 489, 7, 511, 512, 513, 7, 477, 478, 479,
6391 143, 144, 145, 146, 148, 405, 406, 407, 408, 409,
6392 410, 411, 7, 587, 588, 7, 549, 550, 551, 7,
6393 421, 422, 423, 155, 156, 157, 158, 159, 160, 435,
6394 436, 437, 438, 439, 440, 441, 442, 163, 164, 165,
6395 270, 414, 415, 416, 417, 418, 543, 545, 168, 172,
6396 173, 174, 175, 182, 183, 270, 393, 395, 397, 543,
6397 545, 609, 610, 611, 614, 616, 618, 619, 620, 630,
6398 7, 605, 606, 607, 186, 187, 188, 236, 543, 545,
6399 655, 656, 657, 658, 660, 661, 667, 7, 693, 694,
6400 219, 220, 221, 222, 270, 717, 718, 719, 720, 721,
6401 722, 267, 7, 532, 533, 534, 150, 582, 583, 362,
6402 8, 8, 8, 355, 357, 3, 8, 369, 371, 373,
6403 375, 4, 4, 4, 4, 4, 4, 4, 4, 4,
6404 4, 389, 4, 4, 394, 396, 398, 400, 402, 3,
6405 8, 8, 365, 6, 3, 448, 6, 3, 490, 6,
6406 3, 514, 6, 3, 480, 6, 3, 3, 6, 589,
6407 3, 6, 552, 6, 3, 424, 6, 3, 4, 4,
6408 4, 4, 4, 4, 3, 8, 4, 4, 4, 3,
6409 8, 612, 615, 617, 4, 631, 4, 621, 3, 8,
6410 608, 6, 3, 4, 659, 4, 662, 3, 8, 8,
6411 695, 3, 6, 4, 4, 4, 4, 3, 8, 236,
6412 268, 269, 535, 6, 3, 584, 8, 6, 4, 4,
6413 353, 4, 4, 4, 4, 237, 239, 237, 239, 237,
6414 237, 237, 237, 237, 237, 4, 239, 237, 4, 4,
6415 4, 4, 4, 367, 366, 364, 451, 447, 493, 489,
6416 517, 513, 270, 280, 281, 282, 283, 284, 285, 286,
6417 287, 288, 289, 294, 297, 298, 299, 300, 301, 302,
6418 305, 307, 309, 310, 311, 314, 315, 316, 317, 318,
6419 320, 322, 328, 377, 443, 461, 463, 465, 467, 469,
6420 471, 472, 473, 481, 482, 509, 543, 545, 558, 560,
6421 562, 580, 479, 406, 135, 136, 137, 138, 270, 280,
6422 281, 282, 328, 377, 483, 509, 543, 545, 558, 560,
6423 562, 590, 591, 592, 593, 594, 596, 598, 599, 588,
6424 555, 551, 427, 423, 237, 237, 237, 237, 237, 237,
6425 436, 239, 237, 237, 415, 4, 4, 4, 237, 4,
6426 239, 4, 610, 609, 607, 239, 4, 237, 4, 656,
6427 210, 212, 213, 270, 377, 543, 545, 696, 697, 698,
6428 699, 701, 694, 239, 239, 239, 239, 718, 6, 3,
6429 538, 534, 4, 236, 236, 236, 236, 236, 236, 55,
6430 56, 57, 390, 236, 236, 236, 399, 236, 8, 8,
6431 8, 8, 3, 8, 595, 597, 4, 4, 8, 3,
6432 8, 8, 169, 170, 171, 613, 236, 236, 7, 5,
6433 8, 236, 255, 702, 4, 700, 3, 8, 236, 8,
6434 266, 482, 4, 4, 239, 239, 592, 40, 177, 178,
6435 179, 270, 543, 545, 632, 633, 634, 637, 639, 641,
6436 7, 622, 623, 624, 4, 237, 4, 697, 236, 236,
6437 635, 638, 640, 642, 3, 8, 625, 6, 3, 5,
6438 236, 4, 4, 4, 4, 633, 184, 270, 377, 543,
6439 545, 626, 627, 628, 624, 7, 703, 704, 176, 636,
6440 236, 236, 5, 629, 3, 8, 705, 3, 6, 7,
6441 643, 644, 645, 4, 627, 211, 214, 215, 216, 217,
6442 706, 707, 708, 710, 711, 712, 713, 704, 646, 6,
6443 3, 236, 709, 4, 4, 4, 714, 3, 8, 180,
6444 181, 270, 370, 372, 543, 545, 647, 648, 649, 651,
6445 645, 4, 239, 237, 237, 4, 707, 650, 652, 3,
6446 8, 236, 236, 4, 4, 648, 236, 236
6450 Dhcp4Parser::yyr1_[] =
6452 0, 240, 242, 241, 243, 241, 244, 241, 245, 241,
6453 246, 241, 247, 241, 248, 241, 249, 241, 250, 241,
6454 251, 241, 252, 241, 253, 241, 254, 241, 255, 255,
6455 255, 255, 255, 255, 255, 256, 258, 257, 259, 260,
6456 260, 261, 261, 261, 263, 262, 264, 264, 265, 265,
6457 265, 267, 266, 268, 268, 269, 269, 269, 270, 272,
6458 271, 274, 273, 273, 275, 277, 276, 278, 278, 278,
6459 279, 279, 279, 279, 279, 279, 279, 279, 279, 279,
6460 279, 279, 279, 279, 279, 279, 279, 279, 279, 279,
6461 279, 279, 279, 279, 279, 279, 279, 279, 279, 279,
6462 279, 279, 279, 279, 279, 279, 279, 279, 279, 279,
6463 279, 279, 279, 279, 279, 279, 279, 279, 279, 279,
6464 279, 279, 279, 279, 279, 279, 279, 279, 279, 279,
6465 279, 279, 279, 279, 279, 279, 279, 279, 279, 279,
6466 279, 279, 280, 281, 282, 283, 284, 285, 286, 287,
6467 288, 289, 290, 292, 291, 293, 295, 294, 296, 297,
6468 298, 299, 300, 301, 303, 302, 304, 304, 304, 304,
6469 304, 306, 305, 308, 307, 309, 310, 312, 311, 313,
6470 313, 313, 313, 314, 315, 316, 317, 319, 318, 321,
6471 320, 322, 323, 324, 325, 326, 327, 328, 329, 331,
6472 330, 332, 332, 332, 333, 333, 333, 333, 333, 333,
6473 333, 333, 333, 333, 335, 334, 337, 336, 339, 338,
6474 340, 340, 342, 341, 343, 343, 344, 345, 346, 347,
6475 349, 348, 351, 350, 352, 352, 352, 353, 353, 355,
6476 354, 357, 356, 359, 358, 361, 360, 362, 362, 363,
6477 363, 363, 365, 364, 366, 366, 366, 367, 367, 367,
6478 367, 367, 367, 367, 367, 367, 367, 367, 367, 367,
6479 367, 367, 367, 367, 367, 367, 367, 367, 367, 367,
6480 367, 369, 368, 371, 370, 373, 372, 375, 374, 376,
6481 378, 377, 379, 380, 381, 382, 383, 384, 385, 386,
6482 387, 389, 388, 390, 390, 390, 391, 392, 394, 393,
6483 396, 395, 398, 397, 400, 399, 399, 399, 399, 399,
6484 399, 402, 401, 404, 403, 405, 405, 405, 406, 406,
6485 406, 406, 406, 407, 408, 409, 410, 411, 413, 412,
6486 414, 414, 414, 415, 415, 415, 415, 415, 415, 416,
6487 417, 418, 420, 419, 421, 421, 422, 422, 422, 424,
6488 423, 426, 425, 427, 427, 427, 427, 428, 428, 430,
6489 429, 432, 431, 434, 433, 435, 435, 435, 436, 436,
6490 436, 436, 436, 436, 437, 438, 439, 440, 441, 442,
6491 444, 443, 445, 445, 446, 446, 446, 448, 447, 450,
6492 449, 451, 451, 451, 452, 452, 452, 452, 452, 452,
6493 452, 452, 452, 452, 452, 452, 452, 452, 452, 452,
6494 452, 452, 452, 452, 452, 452, 452, 452, 452, 452,
6495 452, 452, 452, 452, 452, 452, 452, 452, 452, 452,
6496 452, 452, 452, 452, 452, 452, 452, 452, 452, 452,
6497 452, 452, 452, 452, 452, 452, 452, 454, 453, 456,
6498 455, 458, 457, 460, 459, 462, 461, 464, 463, 466,
6499 465, 468, 467, 470, 469, 471, 472, 473, 474, 476,
6500 475, 477, 477, 478, 478, 478, 480, 479, 481, 481,
6501 481, 482, 482, 482, 482, 482, 482, 482, 482, 482,
6502 482, 482, 482, 482, 482, 482, 482, 482, 482, 482,
6503 482, 482, 482, 482, 482, 482, 482, 482, 482, 482,
6504 482, 482, 482, 482, 482, 482, 482, 482, 482, 482,
6505 482, 482, 482, 482, 482, 482, 482, 482, 482, 484,
6506 483, 486, 485, 487, 487, 488, 488, 488, 490, 489,
6507 492, 491, 493, 493, 494, 494, 494, 495, 495, 495,
6508 495, 495, 495, 495, 495, 495, 495, 496, 497, 498,
6509 500, 499, 502, 501, 504, 503, 505, 507, 506, 508,
6510 510, 509, 511, 511, 512, 512, 512, 514, 513, 516,
6511 515, 517, 517, 518, 518, 518, 519, 519, 519, 519,
6512 519, 519, 519, 519, 519, 519, 519, 520, 522, 521,
6513 523, 524, 525, 526, 527, 529, 528, 531, 530, 532,
6514 532, 533, 533, 533, 535, 534, 537, 536, 538, 538,
6515 538, 539, 539, 539, 539, 539, 539, 539, 539, 539,
6516 539, 539, 539, 539, 539, 539, 539, 539, 539, 539,
6517 539, 539, 539, 539, 539, 541, 540, 542, 544, 543,
6518 546, 545, 548, 547, 549, 549, 550, 550, 550, 552,
6519 551, 554, 553, 555, 555, 556, 556, 556, 557, 557,
6520 557, 557, 557, 557, 557, 557, 557, 557, 557, 557,
6521 557, 557, 557, 559, 558, 561, 560, 563, 562, 565,
6522 564, 567, 566, 569, 568, 571, 570, 573, 572, 575,
6523 574, 577, 576, 579, 578, 581, 580, 582, 584, 583,
6524 586, 585, 587, 587, 587, 589, 588, 590, 590, 591,
6525 591, 591, 592, 592, 592, 592, 592, 592, 592, 592,
6526 592, 592, 592, 592, 592, 592, 592, 592, 592, 593,
6527 595, 594, 597, 596, 598, 599, 600, 602, 601, 604,
6528 603, 605, 605, 606, 606, 606, 608, 607, 609, 609,
6529 609, 610, 610, 610, 610, 610, 610, 610, 610, 610,
6530 610, 610, 610, 610, 612, 611, 613, 613, 613, 615,
6531 614, 617, 616, 618, 619, 621, 620, 622, 622, 623,
6532 623, 623, 625, 624, 626, 626, 626, 627, 627, 627,
6533 627, 627, 629, 628, 631, 630, 632, 632, 632, 633,
6534 633, 633, 633, 633, 633, 633, 635, 634, 636, 638,
6535 637, 640, 639, 642, 641, 643, 643, 644, 644, 644,
6536 646, 645, 647, 647, 647, 648, 648, 648, 648, 648,
6537 648, 648, 650, 649, 652, 651, 654, 653, 655, 655,
6538 655, 656, 656, 656, 656, 656, 656, 657, 659, 658,
6539 660, 662, 661, 664, 663, 666, 665, 667, 667, 667,
6540 668, 668, 668, 668, 668, 668, 668, 668, 668, 668,
6541 668, 669, 671, 670, 672, 674, 673, 675, 676, 678,
6542 677, 679, 679, 681, 680, 683, 682, 685, 684, 686,
6543 686, 686, 687, 687, 689, 688, 690, 692, 691, 693,
6544 693, 693, 695, 694, 696, 696, 696, 697, 697, 697,
6545 697, 697, 697, 697, 698, 700, 699, 702, 701, 703,
6546 703, 703, 705, 704, 706, 706, 706, 707, 707, 707,
6547 707, 707, 709, 708, 710, 711, 712, 714, 713, 716,
6548 715, 717, 717, 717, 718, 718, 718, 718, 718, 719,
6553 Dhcp4Parser::yyr2_[] =
6555 0, 2, 0, 3, 0, 3, 0, 3, 0, 3,
6556 0, 3, 0, 3, 0, 3, 0, 3, 0, 3,
6557 0, 3, 0, 3, 0, 3, 0, 3, 1, 1,
6558 1, 1, 1, 1, 1, 1, 0, 4, 1, 0,
6559 1, 3, 5, 2, 0, 4, 0, 1, 1, 3,
6560 2, 0, 4, 0, 1, 1, 3, 2, 2, 0,
6561 4, 0, 6, 1, 2, 0, 4, 1, 3, 2,
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, 1, 1, 1, 1, 1, 1, 1, 1,
6567 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6568 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6569 1, 1, 3, 3, 3, 3, 3, 3, 3, 3,
6570 3, 3, 3, 0, 4, 3, 0, 4, 3, 3,
6571 3, 3, 3, 3, 0, 4, 1, 1, 1, 1,
6572 1, 0, 4, 0, 4, 3, 3, 0, 4, 1,
6573 1, 1, 1, 3, 3, 3, 3, 0, 4, 0,
6574 4, 3, 3, 3, 3, 3, 3, 3, 3, 0,
6575 6, 1, 3, 2, 1, 1, 1, 1, 1, 1,
6576 1, 1, 1, 1, 0, 4, 0, 4, 0, 4,
6577 1, 1, 0, 4, 1, 1, 3, 3, 3, 3,
6578 0, 6, 0, 6, 1, 3, 2, 1, 1, 0,
6579 4, 0, 4, 0, 6, 0, 6, 0, 1, 1,
6580 3, 2, 0, 4, 1, 3, 2, 1, 1, 1,
6581 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6582 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6583 1, 0, 4, 0, 4, 0, 4, 0, 4, 3,
6584 0, 4, 3, 3, 3, 3, 3, 3, 3, 3,
6585 3, 0, 4, 1, 1, 1, 3, 3, 0, 4,
6586 0, 4, 0, 4, 0, 4, 1, 1, 1, 1,
6587 1, 0, 4, 0, 6, 1, 3, 2, 1, 1,
6588 1, 1, 1, 1, 1, 1, 1, 1, 0, 6,
6589 1, 3, 2, 1, 1, 1, 1, 1, 1, 3,
6590 3, 3, 0, 6, 0, 1, 1, 3, 2, 0,
6591 4, 0, 4, 1, 3, 2, 1, 1, 1, 0,
6592 4, 0, 4, 0, 6, 1, 3, 2, 1, 1,
6593 1, 1, 1, 1, 3, 3, 3, 3, 3, 3,
6594 0, 6, 0, 1, 1, 3, 2, 0, 4, 0,
6595 4, 1, 3, 2, 1, 1, 1, 1, 1, 1,
6596 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6597 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6598 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6599 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6600 1, 1, 1, 1, 1, 1, 1, 0, 4, 0,
6601 4, 0, 4, 0, 4, 0, 4, 0, 4, 0,
6602 4, 0, 4, 0, 4, 3, 3, 3, 3, 0,
6603 6, 0, 1, 1, 3, 2, 0, 4, 1, 3,
6604 2, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6605 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6606 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6607 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6608 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
6609 6, 0, 4, 0, 1, 1, 3, 2, 0, 4,
6610 0, 4, 0, 1, 1, 3, 2, 1, 1, 1,
6611 1, 1, 1, 1, 1, 1, 1, 1, 3, 1,
6612 0, 4, 0, 4, 0, 4, 1, 0, 4, 3,
6613 0, 6, 0, 1, 1, 3, 2, 0, 4, 0,
6614 4, 0, 1, 1, 3, 2, 1, 1, 1, 1,
6615 1, 1, 1, 1, 1, 1, 1, 1, 0, 4,
6616 1, 1, 3, 3, 3, 0, 4, 0, 6, 0,
6617 1, 1, 3, 2, 0, 4, 0, 4, 1, 3,
6618 2, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6619 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6620 1, 1, 1, 1, 1, 0, 4, 3, 0, 4,
6621 0, 4, 0, 6, 0, 1, 1, 3, 2, 0,
6622 4, 0, 4, 0, 1, 1, 3, 2, 1, 1,
6623 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6624 1, 1, 1, 0, 4, 0, 4, 0, 4, 0,
6625 4, 0, 4, 0, 4, 0, 4, 0, 4, 0,
6626 4, 0, 4, 0, 4, 0, 6, 1, 0, 4,
6627 0, 6, 1, 3, 2, 0, 4, 0, 1, 1,
6628 3, 2, 1, 1, 1, 1, 1, 1, 1, 1,
6629 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6630 0, 4, 0, 4, 3, 3, 3, 0, 6, 0,
6631 6, 0, 1, 1, 3, 2, 0, 4, 1, 3,
6632 2, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6633 1, 1, 1, 1, 0, 4, 1, 1, 1, 0,
6634 4, 0, 4, 3, 3, 0, 6, 0, 1, 1,
6635 3, 2, 0, 4, 1, 3, 2, 1, 1, 1,
6636 1, 1, 0, 4, 0, 6, 1, 3, 2, 1,
6637 1, 1, 1, 1, 1, 1, 0, 4, 1, 0,
6638 4, 0, 4, 0, 6, 0, 1, 1, 3, 2,
6639 0, 4, 1, 3, 2, 1, 1, 1, 1, 1,
6640 1, 1, 0, 4, 0, 4, 0, 6, 1, 3,
6641 2, 1, 1, 1, 1, 1, 1, 3, 0, 4,
6642 3, 0, 4, 0, 6, 0, 4, 1, 3, 2,
6643 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6644 1, 3, 0, 4, 3, 0, 4, 3, 3, 0,
6645 4, 1, 1, 0, 4, 0, 6, 0, 4, 1,
6646 3, 2, 1, 1, 0, 6, 3, 0, 6, 1,
6647 3, 2, 0, 4, 1, 3, 2, 1, 1, 1,
6648 1, 1, 1, 1, 3, 0, 4, 0, 6, 1,
6649 3, 2, 0, 4, 1, 3, 2, 1, 1, 1,
6650 1, 1, 0, 4, 3, 3, 3, 0, 4, 0,
6651 6, 1, 3, 2, 1, 1, 1, 1, 1, 3,
6656#if PARSER4_DEBUG || 1
6660 const Dhcp4Parser::yytname_[] =
6662 "\"end of file\"",
"error",
"\"invalid token\"",
"\",\"",
"\":\"",
6663 "\"[\"",
"\"]\"",
"\"{\"",
"\"}\"",
"\"null\"",
"\"Dhcp4\"",
6664 "\"config-control\"",
"\"config-databases\"",
6665 "\"config-fetch-wait-time\"",
"\"interfaces-config\"",
"\"interfaces\"",
6666 "\"dhcp-socket-type\"",
"\"raw\"",
"\"udp\"",
"\"outbound-interface\"",
6667 "\"same-as-inbound\"",
"\"use-routing\"",
"\"re-detect\"",
6668 "\"service-sockets-require-all\"",
"\"service-sockets-retry-wait-time\"",
6669 "\"service-sockets-max-retries\"",
"\"sanity-checks\"",
6670 "\"lease-checks\"",
"\"extended-info-checks\"",
"\"echo-client-id\"",
6671 "\"match-client-id\"",
"\"authoritative\"",
"\"next-server\"",
6672 "\"server-hostname\"",
"\"boot-file-name\"",
"\"offer-lifetime\"",
6673 "\"stash-agent-options\"",
"\"lease-database\"",
"\"hosts-database\"",
6674 "\"hosts-databases\"",
"\"type\"",
"\"user\"",
"\"password\"",
6675 "\"host\"",
"\"port\"",
"\"persist\"",
"\"lfc-interval\"",
6676 "\"readonly\"",
"\"connect-timeout\"",
"\"read-timeout\"",
6677 "\"write-timeout\"",
"\"tcp-user-timeout\"",
"\"max-reconnect-tries\"",
6678 "\"reconnect-wait-time\"",
"\"on-fail\"",
"\"stop-retry-exit\"",
6679 "\"serve-retry-exit\"",
"\"serve-retry-continue\"",
6680 "\"retry-on-startup\"",
"\"max-row-errors\"",
"\"trust-anchor\"",
6681 "\"cert-file\"",
"\"key-file\"",
"\"ssl-mode\"",
"\"disable\"",
6682 "\"prefer\"",
"\"require\"",
"\"verify-ca\"",
"\"verify-full\"",
6683 "\"cipher-list\"",
"\"valid-lifetime\"",
"\"min-valid-lifetime\"",
6684 "\"max-valid-lifetime\"",
"\"renew-timer\"",
"\"rebind-timer\"",
6685 "\"calculate-tee-times\"",
"\"t1-percent\"",
"\"t2-percent\"",
6686 "\"cache-threshold\"",
"\"cache-max-age\"",
6687 "\"decline-probation-period\"",
"\"server-tag\"",
6688 "\"statistic-default-sample-count\"",
"\"statistic-default-sample-age\"",
6689 "\"ddns-send-updates\"",
"\"ddns-override-no-update\"",
6690 "\"ddns-override-client-update\"",
"\"ddns-replace-client-name\"",
6691 "\"ddns-generated-prefix\"",
"\"ddns-qualifying-suffix\"",
6692 "\"ddns-update-on-renew\"",
"\"ddns-use-conflict-resolution\"",
6693 "\"ddns-ttl-percent\"",
"\"ddns-ttl\"",
"\"ddns-ttl-min\"",
6694 "\"ddns-ttl-mix\"",
"\"store-extended-info\"",
"\"subnet4\"",
6695 "\"4o6-interface\"",
"\"4o6-interface-id\"",
"\"4o6-subnet\"",
6696 "\"option-def\"",
"\"option-data\"",
"\"name\"",
"\"data\"",
"\"code\"",
6697 "\"space\"",
"\"csv-format\"",
"\"always-send\"",
"\"never-send\"",
6698 "\"record-types\"",
"\"encapsulate\"",
"\"array\"",
6699 "\"parked-packet-limit\"",
"\"allocator\"",
6700 "\"ddns-conflict-resolution-mode\"",
"\"check-with-dhcid\"",
6701 "\"no-check-with-dhcid\"",
"\"check-exists-with-dhcid\"",
6702 "\"no-check-without-dhcid\"",
"\"shared-networks\"",
"\"pools\"",
6703 "\"pool\"",
"\"user-context\"",
"\"comment\"",
"\"subnet\"",
6704 "\"interface\"",
"\"id\"",
"\"reservations-global\"",
6705 "\"reservations-in-subnet\"",
"\"reservations-out-of-pool\"",
6706 "\"host-reservation-identifiers\"",
"\"client-classes\"",
6707 "\"require-client-classes\"",
"\"evaluate-additional-classes\"",
6708 "\"test\"",
"\"template-test\"",
"\"only-if-required\"",
6709 "\"only-in-additional-list\"",
"\"client-class\"",
"\"pool-id\"",
6710 "\"reservations\"",
"\"ip-address\"",
"\"duid\"",
"\"hw-address\"",
6711 "\"circuit-id\"",
"\"client-id\"",
"\"hostname\"",
"\"flex-id\"",
6712 "\"relay\"",
"\"ip-addresses\"",
"\"hooks-libraries\"",
"\"library\"",
6713 "\"parameters\"",
"\"expired-leases-processing\"",
6714 "\"reclaim-timer-wait-time\"",
"\"flush-reclaimed-timer-wait-time\"",
6715 "\"hold-reclaimed-time\"",
"\"max-reclaim-leases\"",
6716 "\"max-reclaim-time\"",
"\"unwarned-reclaim-cycles\"",
6717 "\"dhcp4o6-port\"",
"\"multi-threading\"",
"\"enable-multi-threading\"",
6718 "\"thread-pool-size\"",
"\"packet-queue-size\"",
"\"control-socket\"",
6719 "\"control-sockets\"",
"\"socket-type\"",
"\"unix\"",
"\"http\"",
6720 "\"https\"",
"\"socket-name\"",
"\"socket-address\"",
"\"socket-port\"",
6721 "\"authentication\"",
"\"basic\"",
"\"realm\"",
"\"directory\"",
6722 "\"clients\"",
"\"user-file\"",
"\"password-file\"",
"\"cert-required\"",
6723 "\"http-headers\"",
"\"value\"",
"\"dhcp-queue-control\"",
6724 "\"enable-queue\"",
"\"queue-type\"",
"\"capacity\"",
"\"dhcp-ddns\"",
6725 "\"enable-updates\"",
"\"server-ip\"",
"\"server-port\"",
6726 "\"sender-ip\"",
"\"sender-port\"",
"\"max-queue-size\"",
6727 "\"ncr-protocol\"",
"\"ncr-format\"",
"\"tcp\"",
"\"JSON\"",
6728 "\"when-present\"",
"\"never\"",
"\"always\"",
"\"when-not-present\"",
6729 "\"hostname-char-set\"",
"\"hostname-char-replacement\"",
6730 "\"early-global-reservations-lookup\"",
"\"ip-reservations-unique\"",
6731 "\"reservations-lookup-first\"",
"\"loggers\"",
"\"output-options\"",
6732 "\"output\"",
"\"debuglevel\"",
"\"severity\"",
"\"flush\"",
6733 "\"maxsize\"",
"\"maxver\"",
"\"pattern\"",
"\"compatibility\"",
6734 "\"lenient-option-parsing\"",
"\"ignore-dhcp-server-identifier\"",
6735 "\"ignore-rai-link-selection\"",
"\"exclude-first-last-24\"",
6736 "TOPLEVEL_JSON",
"TOPLEVEL_DHCP4",
"SUB_DHCP4",
"SUB_INTERFACES4",
6737 "SUB_SUBNET4",
"SUB_POOL4",
"SUB_RESERVATION",
"SUB_OPTION_DEFS",
6738 "SUB_OPTION_DEF",
"SUB_OPTION_DATA",
"SUB_HOOKS_LIBRARY",
6739 "SUB_DHCP_DDNS",
"SUB_CONFIG_CONTROL",
"\"constant string\"",
6740 "\"integer\"",
"\"floating point\"",
"\"boolean\"",
"$accept",
"start",
6741 "$@1",
"$@2",
"$@3",
"$@4",
"$@5",
"$@6",
"$@7",
"$@8",
"$@9",
"$@10",
6742 "$@11",
"$@12",
"$@13",
"value",
"sub_json",
"map2",
"$@14",
"map_value",
6743 "map_content",
"not_empty_map",
"list_generic",
"$@15",
"list_content",
6744 "not_empty_list",
"list_strings",
"$@16",
"list_strings_content",
6745 "not_empty_list_strings",
"unknown_map_entry",
"syntax_map",
"$@17",
6746 "global_object",
"$@18",
"global_object_comma",
"sub_dhcp4",
"$@19",
6747 "global_params",
"global_param",
"valid_lifetime",
"min_valid_lifetime",
6748 "max_valid_lifetime",
"renew_timer",
"rebind_timer",
6749 "calculate_tee_times",
"t1_percent",
"t2_percent",
"cache_threshold",
6750 "cache_max_age",
"decline_probation_period",
"server_tag",
"$@20",
6751 "parked_packet_limit",
"allocator",
"$@21",
"echo_client_id",
6752 "match_client_id",
"authoritative",
"ddns_send_updates",
6753 "ddns_override_no_update",
"ddns_override_client_update",
6754 "ddns_replace_client_name",
"$@22",
"ddns_replace_client_name_value",
6755 "ddns_generated_prefix",
"$@23",
"ddns_qualifying_suffix",
"$@24",
6756 "ddns_update_on_renew",
"ddns_use_conflict_resolution",
6757 "ddns_conflict_resolution_mode",
"$@25",
6758 "ddns_conflict_resolution_mode_value",
"ddns_ttl_percent",
"ddns_ttl",
6759 "ddns_ttl_min",
"ddns_ttl_max",
"hostname_char_set",
"$@26",
6760 "hostname_char_replacement",
"$@27",
"store_extended_info",
6761 "statistic_default_sample_count",
"statistic_default_sample_age",
6762 "early_global_reservations_lookup",
"ip_reservations_unique",
6763 "reservations_lookup_first",
"offer_lifetime",
"stash_agent_options",
6764 "interfaces_config",
"$@28",
"interfaces_config_params",
6765 "interfaces_config_param",
"sub_interfaces4",
"$@29",
"interfaces_list",
6766 "$@30",
"dhcp_socket_type",
"$@31",
"socket_type",
"outbound_interface",
6767 "$@32",
"outbound_interface_value",
"re_detect",
6768 "service_sockets_require_all",
"service_sockets_retry_wait_time",
6769 "service_sockets_max_retries",
"lease_database",
"$@33",
"sanity_checks",
6770 "$@34",
"sanity_checks_params",
"sanity_checks_param",
"lease_checks",
6771 "$@35",
"extended_info_checks",
"$@36",
"hosts_database",
"$@37",
6772 "hosts_databases",
"$@38",
"database_list",
"not_empty_database_list",
6773 "database",
"$@39",
"database_map_params",
"database_map_param",
6774 "database_type",
"$@40",
"user",
"$@41",
"password",
"$@42",
"host",
6775 "$@43",
"port",
"name",
"$@44",
"persist",
"lfc_interval",
"readonly",
6776 "connect_timeout",
"read_timeout",
"write_timeout",
"tcp_user_timeout",
6777 "max_reconnect_tries",
"reconnect_wait_time",
"on_fail",
"$@45",
6778 "on_fail_mode",
"retry_on_startup",
"max_row_errors",
"trust_anchor",
6779 "$@46",
"cert_file",
"$@47",
"key_file",
"$@48",
"ssl_mode",
"$@49",
6780 "cipher_list",
"$@50",
"host_reservation_identifiers",
"$@51",
6781 "host_reservation_identifiers_list",
"host_reservation_identifier",
6782 "duid_id",
"hw_address_id",
"circuit_id",
"client_id",
"flex_id",
6783 "dhcp_multi_threading",
"$@52",
"multi_threading_params",
6784 "multi_threading_param",
"enable_multi_threading",
"thread_pool_size",
6785 "packet_queue_size",
"hooks_libraries",
"$@53",
"hooks_libraries_list",
6786 "not_empty_hooks_libraries_list",
"hooks_library",
"$@54",
6787 "sub_hooks_library",
"$@55",
"hooks_params",
"hooks_param",
"library",
6788 "$@56",
"parameters",
"$@57",
"expired_leases_processing",
"$@58",
6789 "expired_leases_params",
"expired_leases_param",
6790 "reclaim_timer_wait_time",
"flush_reclaimed_timer_wait_time",
6791 "hold_reclaimed_time",
"max_reclaim_leases",
"max_reclaim_time",
6792 "unwarned_reclaim_cycles",
"subnet4_list",
"$@59",
6793 "subnet4_list_content",
"not_empty_subnet4_list",
"subnet4",
"$@60",
6794 "sub_subnet4",
"$@61",
"subnet4_params",
"subnet4_param",
"subnet",
6795 "$@62",
"subnet_4o6_interface",
"$@63",
"subnet_4o6_interface_id",
6796 "$@64",
"subnet_4o6_subnet",
"$@65",
"interface",
"$@66",
"client_class",
6797 "$@67",
"network_client_classes",
"$@68",
"require_client_classes",
6798 "$@69",
"evaluate_additional_classes",
"$@70",
"reservations_global",
6799 "reservations_in_subnet",
"reservations_out_of_pool",
"id",
6800 "shared_networks",
"$@71",
"shared_networks_content",
6801 "shared_networks_list",
"shared_network",
"$@72",
6802 "shared_network_params",
"shared_network_param",
"option_def_list",
6803 "$@73",
"sub_option_def_list",
"$@74",
"option_def_list_content",
6804 "not_empty_option_def_list",
"option_def_entry",
"$@75",
6805 "sub_option_def",
"$@76",
"option_def_params",
6806 "not_empty_option_def_params",
"option_def_param",
"option_def_name",
6807 "code",
"option_def_code",
"option_def_type",
"$@77",
6808 "option_def_record_types",
"$@78",
"space",
"$@79",
"option_def_space",
6809 "option_def_encapsulate",
"$@80",
"option_def_array",
"option_data_list",
6810 "$@81",
"option_data_list_content",
"not_empty_option_data_list",
6811 "option_data_entry",
"$@82",
"sub_option_data",
"$@83",
6812 "option_data_params",
"not_empty_option_data_params",
6813 "option_data_param",
"option_data_name",
"option_data_data",
"$@84",
6814 "option_data_code",
"option_data_space",
"option_data_csv_format",
6815 "option_data_always_send",
"option_data_never_send",
6816 "option_data_client_classes",
"$@85",
"pools_list",
"$@86",
6817 "pools_list_content",
"not_empty_pools_list",
"pool_list_entry",
"$@87",
6818 "sub_pool4",
"$@88",
"pool_params",
"pool_param",
"pool_entry",
"$@89",
6819 "pool_id",
"user_context",
"$@90",
"comment",
"$@91",
"reservations",
6820 "$@92",
"reservations_list",
"not_empty_reservations_list",
6821 "reservation",
"$@93",
"sub_reservation",
"$@94",
"reservation_params",
6822 "not_empty_reservation_params",
"reservation_param",
"next_server",
6823 "$@95",
"server_hostname",
"$@96",
"boot_file_name",
"$@97",
6824 "ip_address",
"$@98",
"duid",
"$@99",
"hw_address",
"$@100",
6825 "client_id_value",
"$@101",
"circuit_id_value",
"$@102",
"flex_id_value",
6826 "$@103",
"hostname",
"$@104",
"reservation_client_classes",
"$@105",
6827 "relay",
"$@106",
"relay_map",
"ip_addresses",
"$@107",
"client_classes",
6828 "$@108",
"client_classes_list",
"client_class_entry",
"$@109",
6829 "client_class_params",
"not_empty_client_class_params",
6830 "client_class_param",
"client_class_name",
"client_class_test",
"$@110",
6831 "client_class_template_test",
"$@111",
"only_if_required",
6832 "only_in_additional_list",
"dhcp4o6_port",
"control_socket",
"$@112",
6833 "control_sockets",
"$@113",
"control_socket_list",
6834 "not_empty_control_socket_list",
"control_socket_entry",
"$@114",
6835 "control_socket_params",
"control_socket_param",
"control_socket_type",
6836 "$@115",
"control_socket_type_value",
"control_socket_name",
"$@116",
6837 "control_socket_address",
"$@117",
"control_socket_port",
6838 "cert_required",
"http_headers",
"$@118",
"http_header_list",
6839 "not_empty_http_header_list",
"http_header",
"$@119",
6840 "http_header_params",
"http_header_param",
"header_value",
"$@120",
6841 "authentication",
"$@121",
"auth_params",
"auth_param",
"auth_type",
6842 "$@122",
"auth_type_value",
"realm",
"$@123",
"directory",
"$@124",
6843 "clients",
"$@125",
"clients_list",
"not_empty_clients_list",
6844 "basic_auth",
"$@126",
"clients_params",
"clients_param",
"user_file",
6845 "$@127",
"password_file",
"$@128",
"dhcp_queue_control",
"$@129",
6846 "queue_control_params",
"queue_control_param",
"enable_queue",
6847 "queue_type",
"$@130",
"capacity",
"arbitrary_map_entry",
"$@131",
6848 "dhcp_ddns",
"$@132",
"sub_dhcp_ddns",
"$@133",
"dhcp_ddns_params",
6849 "dhcp_ddns_param",
"enable_updates",
"server_ip",
"$@134",
"server_port",
6850 "sender_ip",
"$@135",
"sender_port",
"max_queue_size",
"ncr_protocol",
6851 "$@136",
"ncr_protocol_value",
"ncr_format",
"$@137",
"config_control",
6852 "$@138",
"sub_config_control",
"$@139",
"config_control_params",
6853 "config_control_param",
"config_databases",
"$@140",
6854 "config_fetch_wait_time",
"loggers",
"$@141",
"loggers_entries",
6855 "logger_entry",
"$@142",
"logger_params",
"logger_param",
"debuglevel",
6856 "severity",
"$@143",
"output_options_list",
"$@144",
6857 "output_options_list_content",
"output_entry",
"$@145",
6858 "output_params_list",
"output_params",
"output",
"$@146",
"flush",
6859 "maxsize",
"maxver",
"pattern",
"$@147",
"compatibility",
"$@148",
6860 "compatibility_params",
"compatibility_param",
"lenient_option_parsing",
6861 "ignore_dhcp_server_identifier",
"ignore_rai_link_selection",
6862 "exclude_first_last_24", YY_NULLPTR
6869 Dhcp4Parser::yyrline_[] =
6871 0, 336, 336, 336, 337, 337, 338, 338, 339, 339,
6872 340, 340, 341, 341, 342, 342, 343, 343, 344, 344,
6873 345, 345, 346, 346, 347, 347, 348, 348, 356, 357,
6874 358, 359, 360, 361, 362, 365, 370, 370, 381, 384,
6875 385, 388, 393, 399, 404, 404, 411, 412, 415, 419,
6876 423, 429, 429, 436, 437, 440, 444, 448, 458, 467,
6877 467, 482, 482, 496, 499, 505, 505, 514, 515, 516,
6878 523, 524, 525, 526, 527, 528, 529, 530, 531, 532,
6879 533, 534, 535, 536, 537, 538, 539, 540, 541, 542,
6880 543, 544, 545, 546, 547, 548, 549, 550, 551, 552,
6881 553, 554, 555, 556, 557, 558, 559, 560, 561, 562,
6882 563, 564, 565, 566, 567, 568, 569, 570, 571, 572,
6883 573, 574, 575, 576, 577, 578, 579, 580, 581, 582,
6884 583, 584, 585, 586, 587, 588, 589, 590, 591, 592,
6885 593, 594, 597, 603, 609, 615, 621, 627, 633, 639,
6886 645, 651, 657, 663, 663, 672, 678, 678, 687, 693,
6887 699, 705, 711, 717, 723, 723, 732, 735, 738, 741,
6888 744, 750, 750, 759, 759, 768, 777, 787, 787, 796,
6889 799, 802, 805, 810, 816, 822, 828, 834, 834, 843,
6890 843, 852, 858, 864, 870, 876, 882, 888, 894, 900,
6891 900, 912, 913, 914, 919, 920, 921, 922, 923, 924,
6892 925, 926, 927, 928, 931, 931, 940, 940, 951, 951,
6893 959, 960, 963, 963, 971, 973, 977, 983, 989, 995,
6894 1001, 1001, 1014, 1014, 1025, 1026, 1027, 1032, 1033, 1036,
6895 1036, 1055, 1055, 1073, 1073, 1086, 1086, 1097, 1098, 1101,
6896 1102, 1103, 1108, 1108, 1118, 1119, 1120, 1125, 1126, 1127,
6897 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137,
6898 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147,
6899 1148, 1151, 1151, 1160, 1160, 1169, 1169, 1178, 1178, 1187,
6900 1193, 1193, 1202, 1208, 1214, 1220, 1226, 1232, 1238, 1244,
6901 1250, 1256, 1256, 1264, 1265, 1266, 1269, 1275, 1281, 1281,
6902 1290, 1290, 1299, 1299, 1308, 1308, 1316, 1319, 1322, 1325,
6903 1328, 1333, 1333, 1342, 1342, 1353, 1354, 1355, 1360, 1361,
6904 1362, 1363, 1364, 1367, 1372, 1377, 1382, 1387, 1394, 1394,
6905 1407, 1408, 1409, 1414, 1415, 1416, 1417, 1418, 1419, 1422,
6906 1428, 1434, 1440, 1440, 1451, 1452, 1455, 1456, 1457, 1462,
6907 1462, 1472, 1472, 1482, 1483, 1484, 1487, 1490, 1491, 1494,
6908 1494, 1503, 1503, 1512, 1512, 1524, 1525, 1526, 1531, 1532,
6909 1533, 1534, 1535, 1536, 1539, 1545, 1551, 1557, 1563, 1569,
6910 1578, 1578, 1592, 1593, 1596, 1597, 1598, 1607, 1607, 1633,
6911 1633, 1644, 1645, 1646, 1652, 1653, 1654, 1655, 1656, 1657,
6912 1658, 1659, 1660, 1661, 1662, 1663, 1664, 1665, 1666, 1667,
6913 1668, 1669, 1670, 1671, 1672, 1673, 1674, 1675, 1676, 1677,
6914 1678, 1679, 1680, 1681, 1682, 1683, 1684, 1685, 1686, 1687,
6915 1688, 1689, 1690, 1691, 1692, 1693, 1694, 1695, 1696, 1697,
6916 1698, 1699, 1700, 1701, 1702, 1703, 1704, 1707, 1707, 1716,
6917 1716, 1725, 1725, 1734, 1734, 1743, 1743, 1752, 1752, 1762,
6918 1762, 1774, 1774, 1785, 1785, 1796, 1802, 1808, 1814, 1822,
6919 1822, 1834, 1835, 1839, 1840, 1841, 1846, 1846, 1854, 1855,
6920 1856, 1861, 1862, 1863, 1864, 1865, 1866, 1867, 1868, 1869,
6921 1870, 1871, 1872, 1873, 1874, 1875, 1876, 1877, 1878, 1879,
6922 1880, 1881, 1882, 1883, 1884, 1885, 1886, 1887, 1888, 1889,
6923 1890, 1891, 1892, 1893, 1894, 1895, 1896, 1897, 1898, 1899,
6924 1900, 1901, 1902, 1903, 1904, 1905, 1906, 1907, 1908, 1915,
6925 1915, 1929, 1929, 1938, 1939, 1942, 1943, 1944, 1951, 1951,
6926 1966, 1966, 1980, 1981, 1984, 1985, 1986, 1991, 1992, 1993,
6927 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2003, 2005, 2011,
6928 2013, 2013, 2022, 2022, 2031, 2031, 2040, 2042, 2042, 2051,
6929 2061, 2061, 2074, 2075, 2080, 2081, 2082, 2089, 2089, 2101,
6930 2101, 2113, 2114, 2119, 2120, 2121, 2128, 2129, 2130, 2131,
6931 2132, 2133, 2134, 2135, 2136, 2137, 2138, 2141, 2143, 2143,
6932 2152, 2154, 2156, 2162, 2168, 2174, 2174, 2188, 2188, 2201,
6933 2202, 2205, 2206, 2207, 2212, 2212, 2222, 2222, 2232, 2233,
6934 2234, 2239, 2240, 2241, 2242, 2243, 2244, 2245, 2246, 2247,
6935 2248, 2249, 2250, 2251, 2252, 2253, 2254, 2255, 2256, 2257,
6936 2258, 2259, 2260, 2261, 2262, 2265, 2265, 2274, 2280, 2280,
6937 2305, 2305, 2335, 2335, 2346, 2347, 2350, 2351, 2352, 2357,
6938 2357, 2366, 2366, 2375, 2376, 2379, 2380, 2381, 2387, 2388,
6939 2389, 2390, 2391, 2392, 2393, 2394, 2395, 2396, 2397, 2398,
6940 2399, 2400, 2401, 2404, 2404, 2413, 2413, 2422, 2422, 2431,
6941 2431, 2440, 2440, 2449, 2449, 2458, 2458, 2467, 2467, 2476,
6942 2476, 2485, 2485, 2494, 2494, 2508, 2508, 2519, 2522, 2522,
6943 2536, 2536, 2547, 2548, 2549, 2554, 2554, 2564, 2565, 2568,
6944 2569, 2570, 2575, 2576, 2577, 2578, 2579, 2580, 2581, 2582,
6945 2583, 2584, 2585, 2586, 2587, 2588, 2589, 2590, 2591, 2594,
6946 2596, 2596, 2605, 2605, 2615, 2621, 2629, 2637, 2637, 2649,
6947 2649, 2661, 2662, 2665, 2666, 2667, 2672, 2672, 2680, 2681,
6948 2682, 2687, 2688, 2689, 2690, 2691, 2692, 2693, 2694, 2695,
6949 2696, 2697, 2698, 2699, 2702, 2702, 2711, 2712, 2713, 2716,
6950 2716, 2726, 2726, 2736, 2742, 2748, 2748, 2759, 2760, 2763,
6951 2764, 2765, 2770, 2770, 2778, 2779, 2780, 2785, 2786, 2787,
6952 2788, 2789, 2792, 2792, 2803, 2803, 2816, 2817, 2818, 2823,
6953 2824, 2825, 2826, 2827, 2828, 2829, 2832, 2832, 2840, 2843,
6954 2843, 2852, 2852, 2861, 2861, 2872, 2873, 2876, 2877, 2878,
6955 2883, 2883, 2891, 2892, 2893, 2898, 2899, 2900, 2901, 2902,
6956 2903, 2904, 2907, 2907, 2916, 2916, 2927, 2927, 2940, 2941,
6957 2942, 2947, 2948, 2949, 2950, 2951, 2952, 2955, 2961, 2961,
6958 2970, 2976, 2976, 2986, 2986, 2999, 2999, 3009, 3010, 3011,
6959 3016, 3017, 3018, 3019, 3020, 3021, 3022, 3023, 3024, 3025,
6960 3026, 3029, 3035, 3035, 3044, 3050, 3050, 3059, 3065, 3071,
6961 3071, 3080, 3081, 3084, 3084, 3095, 3095, 3107, 3107, 3117,
6962 3118, 3119, 3125, 3126, 3129, 3129, 3140, 3148, 3148, 3161,
6963 3162, 3163, 3169, 3169, 3177, 3178, 3179, 3184, 3185, 3186,
6964 3187, 3188, 3189, 3190, 3193, 3199, 3199, 3208, 3208, 3219,
6965 3220, 3221, 3226, 3226, 3234, 3235, 3236, 3241, 3242, 3243,
6966 3244, 3245, 3248, 3248, 3257, 3263, 3269, 3275, 3275, 3284,
6967 3284, 3295, 3296, 3297, 3302, 3303, 3304, 3305, 3306, 3309,
6972 Dhcp4Parser::yy_stack_print_ ()
const
6974 *yycdebug_ <<
"Stack now";
6975 for (stack_type::const_iterator
6976 i = yystack_.begin (),
6977 i_end = yystack_.end ();
6979 *yycdebug_ <<
' ' << int (i->state);
6984 Dhcp4Parser::yy_reduce_print_ (
int yyrule)
const
6986 int yylno = yyrline_[yyrule];
6987 int yynrhs = yyr2_[yyrule];
6989 *yycdebug_ <<
"Reducing stack by rule " << yyrule - 1
6990 <<
" (line " << yylno <<
"):\n";
6992 for (
int yyi = 0; yyi < yynrhs; yyi++)
6994 yystack_[(yynrhs) - (yyi + 1)]);
6999#line 14 "dhcp4_parser.yy"
7001#line 7002 "dhcp4_parser.cc"
7003#line 3333 "dhcp4_parser.yy"
7008 const std::string& what)
7010 ctx.error(loc, what);
#define YYLLOC_DEFAULT(Current, Rhs, N)
#define YY_REDUCE_PRINT(Rule)
#define YY_SYMBOL_PRINT(Title, Symbol)
#define YY_CAST(Type, Val)
#define YY_MOVE_REF(Type)
Notes: IntElement type is changed to int64_t.
symbol_kind_type token() const YY_NOEXCEPT
context(const Dhcp4Parser &yyparser, const symbol_type &yyla)
const symbol_type & lookahead() const YY_NOEXCEPT
int expected_tokens(symbol_kind_type yyarg[], int yyargn) const
Put in YYARG at most YYARGN of the expected tokens, and return the number of tokens stored in YYARG.
T & emplace()
Instantiate an empty T in here.
T & as() YY_NOEXCEPT
Accessor to a built T.
virtual void error(const location_type &loc, const std::string &msg)
Report a syntax error.
virtual int parse()
Parse.
location location_type
Symbol locations.
symbol_kind::symbol_kind_type symbol_kind_type
(Internal) symbol kind.
static const symbol_kind_type YYNTOKENS
The number of tokens.
static std::string symbol_name(symbol_kind_type yysymbol)
The user-facing name of the symbol whose (internal) number is YYSYMBOL.
Dhcp4Parser(isc::dhcp::Parser4Context &ctx_yyarg)
Build a parser object.
Evaluation context, an interface to the expression evaluation.
Define the isc::dhcp::parser class.
void merge(ElementPtr element, ConstElementPtr other)
Merges the data from other into element.
boost::shared_ptr< const Element > ConstElementPtr
boost::shared_ptr< Element > ElementPtr
Defines the logger used by the top-level component of kea-lfc.
location_type location
The location.
value_type value
The semantic value.
bool empty() const YY_NOEXCEPT
Whether empty.
void move(basic_symbol &s)
Destructive move, s is emptied into this.
void clear() YY_NOEXCEPT
Destroy contents, and record that is empty.
symbol_kind_type kind() const YY_NOEXCEPT
The (internal) type number (corresponding to type).
symbol_kind_type kind_
The symbol kind.
@ S_control_socket_type_value
@ S_ddns_conflict_resolution_mode_value
@ S_ddns_replace_client_name_value
@ S_outbound_interface_value
"External" symbols: returned by the scanner.
Syntax errors thrown from user actions.
~syntax_error() YY_NOEXCEPT YY_NOTHROW