38 #define yylex parser4_lex 46 #line 34 "dhcp4_parser.yy" // lalr1.cc:438 50 #line 51 "dhcp4_parser.cc" // lalr1.cc:438 54 # if defined YYENABLE_NLS && YYENABLE_NLS 57 # define YY_(msgid) dgettext ("bison-runtime", msgid) 61 # define YY_(msgid) msgid 67 # if defined __GNUC__ && !defined __EXCEPTIONS 68 # define YY_EXCEPTIONS 0 70 # define YY_EXCEPTIONS 1 74 #define YYRHSLOC(Rhs, K) ((Rhs)[K].location) 79 # ifndef YYLLOC_DEFAULT 80 # define YYLLOC_DEFAULT(Current, Rhs, N) \ 84 (Current).begin = YYRHSLOC (Rhs, 1).begin; \ 85 (Current).end = YYRHSLOC (Rhs, N).end; \ 89 (Current).begin = (Current).end = YYRHSLOC (Rhs, 0).end; \ 96 #define YYUSE(E) ((void) (E)) 102 # define YYCDEBUG if (yydebug_) (*yycdebug_) 104 # define YY_SYMBOL_PRINT(Title, Symbol) \ 108 *yycdebug_ << Title << ' '; \ 109 yy_print_ (*yycdebug_, Symbol); \ 110 *yycdebug_ << '\n'; \ 114 # define YY_REDUCE_PRINT(Rule) \ 117 yy_reduce_print_ (Rule); \ 120 # define YY_STACK_PRINT() \ 126 #else // !PARSER4_DEBUG 128 # define YYCDEBUG if (false) std::cerr 129 # define YY_SYMBOL_PRINT(Title, Symbol) YYUSE (Symbol) 130 # define YY_REDUCE_PRINT(Rule) static_cast<void> (0) 131 # define YY_STACK_PRINT() static_cast<void> (0) 133 #endif // !PARSER4_DEBUG 135 #define yyerrok (yyerrstatus_ = 0) 136 #define yyclearin (yyla.clear ()) 138 #define YYACCEPT goto yyacceptlab 139 #define YYABORT goto yyabortlab 140 #define YYERROR goto yyerrorlab 141 #define YYRECOVERING() (!!yyerrstatus_) 143 #line 14 "dhcp4_parser.yy" // lalr1.cc:513 144 namespace isc {
namespace dhcp {
145 #line 146 "dhcp4_parser.cc" // lalr1.cc:513 153 Dhcp4Parser::yytnamerr_ (
const char *yystr)
157 std::string yyr =
"";
158 char const *yyp = yystr;
165 goto do_not_strip_quotes;
169 goto do_not_strip_quotes;
178 do_not_strip_quotes: ;
190 yycdebug_ (&std::cerr),
206 Dhcp4Parser::by_state::by_state ()
207 : state (empty_state)
210 Dhcp4Parser::by_state::by_state (
const by_state& other)
211 : state (other.state)
215 Dhcp4Parser::by_state::clear ()
221 Dhcp4Parser::by_state::move (by_state& that)
227 Dhcp4Parser::by_state::by_state (state_type s)
232 Dhcp4Parser::by_state::type_get ()
const 234 if (state == empty_state)
237 return yystos_[state];
240 Dhcp4Parser::stack_symbol_type::stack_symbol_type ()
243 Dhcp4Parser::stack_symbol_type::stack_symbol_type (
YY_RVREF (stack_symbol_type) that)
246 switch (that.type_get ())
260 value.YY_MOVE_OR_COPY<
bool > (
YY_MOVE (that.value));
264 value.YY_MOVE_OR_COPY<
double > (
YY_MOVE (that.value));
268 value.YY_MOVE_OR_COPY< int64_t > (
YY_MOVE (that.value));
272 value.YY_MOVE_OR_COPY< std::string > (
YY_MOVE (that.value));
279 #if 201103L <= YY_CPLUSPLUS 281 that.state = empty_state;
285 Dhcp4Parser::stack_symbol_type::stack_symbol_type (state_type s,
YY_MOVE_REF (symbol_type) that)
286 : super_type (s,
YY_MOVE (that.location))
288 switch (that.type_get ())
302 value.move<
bool > (
YY_MOVE (that.value));
306 value.move<
double > (
YY_MOVE (that.value));
310 value.move< int64_t > (
YY_MOVE (that.value));
314 value.move< std::string > (
YY_MOVE (that.value));
325 #if YY_CPLUSPLUS < 201103L 326 Dhcp4Parser::stack_symbol_type&
327 Dhcp4Parser::stack_symbol_type::operator= (stack_symbol_type& that)
330 switch (that.type_get ())
344 value.move<
bool > (that.value);
348 value.move<
double > (that.value);
352 value.move< int64_t > (that.value);
356 value.move< std::string > (that.value);
363 location = that.location;
365 that.state = empty_state;
370 template <
typename Base>
372 Dhcp4Parser::yy_destroy_ (
const char* yymsg, basic_symbol<Base>& yysym)
const 379 template <
typename Base>
381 Dhcp4Parser::yy_print_ (std::ostream& yyo,
382 const basic_symbol<Base>& yysym)
const 384 std::ostream& yyoutput = yyo;
391 yyo << (yytype < yyntokens_ ?
"token" :
"nterm")
392 <<
' ' << yytname_[yytype] <<
" (" 393 << yysym.location <<
": ";
398 #line 245 "dhcp4_parser.yy" // lalr1.cc:672 399 { yyoutput << yysym.value.template as< std::string > (); }
400 #line 401 "dhcp4_parser.cc" // lalr1.cc:672 405 #line 245 "dhcp4_parser.yy" // lalr1.cc:672 406 { yyoutput << yysym.value.template as< int64_t > (); }
407 #line 408 "dhcp4_parser.cc" // lalr1.cc:672 412 #line 245 "dhcp4_parser.yy" // lalr1.cc:672 413 { yyoutput << yysym.value.template as< double > (); }
414 #line 415 "dhcp4_parser.cc" // lalr1.cc:672 419 #line 245 "dhcp4_parser.yy" // lalr1.cc:672 420 { yyoutput << yysym.value.template as< bool > (); }
421 #line 422 "dhcp4_parser.cc" // lalr1.cc:672 426 #line 245 "dhcp4_parser.yy" // lalr1.cc:672 427 { yyoutput << yysym.value.template as< ElementPtr > (); }
428 #line 429 "dhcp4_parser.cc" // lalr1.cc:672 433 #line 245 "dhcp4_parser.yy" // lalr1.cc:672 434 { yyoutput << yysym.value.template as< ElementPtr > (); }
435 #line 436 "dhcp4_parser.cc" // lalr1.cc:672 440 #line 245 "dhcp4_parser.yy" // lalr1.cc:672 441 { yyoutput << yysym.value.template as< ElementPtr > (); }
442 #line 443 "dhcp4_parser.cc" // lalr1.cc:672 447 #line 245 "dhcp4_parser.yy" // lalr1.cc:672 448 { yyoutput << yysym.value.template as< ElementPtr > (); }
449 #line 450 "dhcp4_parser.cc" // lalr1.cc:672 454 #line 245 "dhcp4_parser.yy" // lalr1.cc:672 455 { yyoutput << yysym.value.template as< ElementPtr > (); }
456 #line 457 "dhcp4_parser.cc" // lalr1.cc:672 461 #line 245 "dhcp4_parser.yy" // lalr1.cc:672 462 { yyoutput << yysym.value.template as< ElementPtr > (); }
463 #line 464 "dhcp4_parser.cc" // lalr1.cc:672 468 #line 245 "dhcp4_parser.yy" // lalr1.cc:672 469 { yyoutput << yysym.value.template as< ElementPtr > (); }
470 #line 471 "dhcp4_parser.cc" // lalr1.cc:672 475 #line 245 "dhcp4_parser.yy" // lalr1.cc:672 476 { yyoutput << yysym.value.template as< ElementPtr > (); }
477 #line 478 "dhcp4_parser.cc" // lalr1.cc:672 489 Dhcp4Parser::yypush_ (
const char* m,
YY_MOVE_REF (stack_symbol_type) sym)
497 Dhcp4Parser::yypush_ (
const char* m, state_type s,
YY_MOVE_REF (symbol_type) sym)
499 #if 201103L <= YY_CPLUSPLUS 500 yypush_ (m, stack_symbol_type (s, std::move (sym)));
502 stack_symbol_type ss (s, sym);
508 Dhcp4Parser::yypop_ (
int n)
538 #endif // PARSER4_DEBUG 540 Dhcp4Parser::state_type
541 Dhcp4Parser::yy_lr_goto_state_ (state_type yystate,
int yysym)
543 int yyr = yypgoto_[yysym - yyntokens_] + yystate;
544 if (0 <= yyr && yyr <= yylast_ && yycheck_[yyr] == yystate)
545 return yytable_[yyr];
547 return yydefgoto_[yysym - yyntokens_];
551 Dhcp4Parser::yy_pact_value_is_default_ (
int yyvalue)
553 return yyvalue == yypact_ninf_;
557 Dhcp4Parser::yy_table_value_is_error_ (
int yyvalue)
559 return yyvalue == yytable_ninf_;
578 int yyerrstatus_ = 0;
584 stack_symbol_type yyerror_range[3];
591 #endif // YY_EXCEPTIONS 601 yypush_ (YY_NULLPTR, 0,
YY_MOVE (yyla));
605 YYCDEBUG <<
"Entering state " << yystack_[0].state <<
'\n';
608 if (yystack_[0].state == yyfinal_)
616 yyn = yypact_[yystack_[0].state];
617 if (yy_pact_value_is_default_ (yyn))
626 #endif // YY_EXCEPTIONS 629 yyla.
move (yylookahead);
637 #endif // YY_EXCEPTIONS 643 yyn += yyla.type_get ();
644 if (yyn < 0 || yylast_ < yyn || yycheck_[yyn] != yyla.type_get ())
651 if (yy_table_value_is_error_ (yyn))
662 yypush_ (
"Shifting", yyn,
YY_MOVE (yyla));
669 yyn = yydefact_[yystack_[0].state];
680 stack_symbol_type yylhs;
681 yylhs.state = yy_lr_goto_state_ (yystack_[yylen].state, yyr1_[yyn]);
699 yylhs.value.emplace<
bool > ();
703 yylhs.value.emplace<
double > ();
707 yylhs.value.emplace< int64_t > ();
711 yylhs.value.emplace< std::string > ();
723 yyerror_range[1].location = yylhs.location;
730 #endif // YY_EXCEPTIONS 735 #line 254 "dhcp4_parser.yy" // lalr1.cc:907 737 #line 738 "dhcp4_parser.cc" // lalr1.cc:907 741 #line 255 "dhcp4_parser.yy" // lalr1.cc:907 743 #line 744 "dhcp4_parser.cc" // lalr1.cc:907 747 #line 256 "dhcp4_parser.yy" // lalr1.cc:907 749 #line 750 "dhcp4_parser.cc" // lalr1.cc:907 753 #line 257 "dhcp4_parser.yy" // lalr1.cc:907 755 #line 756 "dhcp4_parser.cc" // lalr1.cc:907 759 #line 258 "dhcp4_parser.yy" // lalr1.cc:907 761 #line 762 "dhcp4_parser.cc" // lalr1.cc:907 765 #line 259 "dhcp4_parser.yy" // lalr1.cc:907 767 #line 768 "dhcp4_parser.cc" // lalr1.cc:907 771 #line 260 "dhcp4_parser.yy" // lalr1.cc:907 773 #line 774 "dhcp4_parser.cc" // lalr1.cc:907 777 #line 261 "dhcp4_parser.yy" // lalr1.cc:907 779 #line 780 "dhcp4_parser.cc" // lalr1.cc:907 783 #line 262 "dhcp4_parser.yy" // lalr1.cc:907 785 #line 786 "dhcp4_parser.cc" // lalr1.cc:907 789 #line 263 "dhcp4_parser.yy" // lalr1.cc:907 791 #line 792 "dhcp4_parser.cc" // lalr1.cc:907 795 #line 264 "dhcp4_parser.yy" // lalr1.cc:907 797 #line 798 "dhcp4_parser.cc" // lalr1.cc:907 801 #line 265 "dhcp4_parser.yy" // lalr1.cc:907 803 #line 804 "dhcp4_parser.cc" // lalr1.cc:907 807 #line 266 "dhcp4_parser.yy" // lalr1.cc:907 809 #line 810 "dhcp4_parser.cc" // lalr1.cc:907 813 #line 267 "dhcp4_parser.yy" // lalr1.cc:907 815 #line 816 "dhcp4_parser.cc" // lalr1.cc:907 819 #line 275 "dhcp4_parser.yy" // lalr1.cc:907 821 #line 822 "dhcp4_parser.cc" // lalr1.cc:907 825 #line 276 "dhcp4_parser.yy" // lalr1.cc:907 827 #line 828 "dhcp4_parser.cc" // lalr1.cc:907 831 #line 277 "dhcp4_parser.yy" // lalr1.cc:907 833 #line 834 "dhcp4_parser.cc" // lalr1.cc:907 837 #line 278 "dhcp4_parser.yy" // lalr1.cc:907 839 #line 840 "dhcp4_parser.cc" // lalr1.cc:907 843 #line 279 "dhcp4_parser.yy" // lalr1.cc:907 845 #line 846 "dhcp4_parser.cc" // lalr1.cc:907 849 #line 280 "dhcp4_parser.yy" // lalr1.cc:907 851 #line 852 "dhcp4_parser.cc" // lalr1.cc:907 855 #line 281 "dhcp4_parser.yy" // lalr1.cc:907 857 #line 858 "dhcp4_parser.cc" // lalr1.cc:907 861 #line 284 "dhcp4_parser.yy" // lalr1.cc:907 866 #line 867 "dhcp4_parser.cc" // lalr1.cc:907 870 #line 289 "dhcp4_parser.yy" // lalr1.cc:907 877 #line 878 "dhcp4_parser.cc" // lalr1.cc:907 881 #line 294 "dhcp4_parser.yy" // lalr1.cc:907 887 #line 888 "dhcp4_parser.cc" // lalr1.cc:907 891 #line 300 "dhcp4_parser.yy" // lalr1.cc:907 893 #line 894 "dhcp4_parser.cc" // lalr1.cc:907 897 #line 307 "dhcp4_parser.yy" // lalr1.cc:907 900 ctx.
stack_.back()->set(yystack_[2].value.as< std::string > (), yystack_[0].value.as<
ElementPtr > ());
902 #line 903 "dhcp4_parser.cc" // lalr1.cc:907 906 #line 311 "dhcp4_parser.yy" // lalr1.cc:907 910 ctx.
stack_.back()->set(yystack_[2].value.as< std::string > (), yystack_[0].value.as<
ElementPtr > ());
912 #line 913 "dhcp4_parser.cc" // lalr1.cc:907 916 #line 318 "dhcp4_parser.yy" // lalr1.cc:907 921 #line 922 "dhcp4_parser.cc" // lalr1.cc:907 925 #line 321 "dhcp4_parser.yy" // lalr1.cc:907 929 #line 930 "dhcp4_parser.cc" // lalr1.cc:907 933 #line 329 "dhcp4_parser.yy" // lalr1.cc:907 938 #line 939 "dhcp4_parser.cc" // lalr1.cc:907 942 #line 333 "dhcp4_parser.yy" // lalr1.cc:907 947 #line 948 "dhcp4_parser.cc" // lalr1.cc:907 951 #line 340 "dhcp4_parser.yy" // lalr1.cc:907 955 #line 956 "dhcp4_parser.cc" // lalr1.cc:907 959 #line 342 "dhcp4_parser.yy" // lalr1.cc:907 964 #line 965 "dhcp4_parser.cc" // lalr1.cc:907 968 #line 351 "dhcp4_parser.yy" // lalr1.cc:907 971 ctx.
stack_.back()->add(s);
973 #line 974 "dhcp4_parser.cc" // lalr1.cc:907 977 #line 355 "dhcp4_parser.yy" // lalr1.cc:907 980 ctx.
stack_.back()->add(s);
982 #line 983 "dhcp4_parser.cc" // lalr1.cc:907 986 #line 366 "dhcp4_parser.yy" // lalr1.cc:907 989 const std::string& keyword = yystack_[1].value.as< std::string > ();
990 error(yystack_[1].location,
991 "got unexpected keyword \"" + keyword +
"\" in " + where +
" map.");
993 #line 994 "dhcp4_parser.cc" // lalr1.cc:907 997 #line 376 "dhcp4_parser.yy" // lalr1.cc:907 1004 #line 1005 "dhcp4_parser.cc" // lalr1.cc:907 1008 #line 381 "dhcp4_parser.yy" // lalr1.cc:907 1017 #line 1018 "dhcp4_parser.cc" // lalr1.cc:907 1021 #line 405 "dhcp4_parser.yy" // lalr1.cc:907 1026 ctx.
stack_.back()->set(
"Dhcp4", m);
1030 #line 1031 "dhcp4_parser.cc" // lalr1.cc:907 1034 #line 412 "dhcp4_parser.yy" // lalr1.cc:907 1040 #line 1041 "dhcp4_parser.cc" // lalr1.cc:907 1044 #line 420 "dhcp4_parser.yy" // lalr1.cc:907 1050 #line 1051 "dhcp4_parser.cc" // lalr1.cc:907 1054 #line 424 "dhcp4_parser.yy" // lalr1.cc:907 1059 #line 1060 "dhcp4_parser.cc" // lalr1.cc:907 1063 #line 471 "dhcp4_parser.yy" // lalr1.cc:907 1066 ctx.
stack_.back()->set(
"valid-lifetime", prf);
1068 #line 1069 "dhcp4_parser.cc" // lalr1.cc:907 1072 #line 476 "dhcp4_parser.yy" // lalr1.cc:907 1075 ctx.
stack_.back()->set(
"renew-timer", prf);
1077 #line 1078 "dhcp4_parser.cc" // lalr1.cc:907 1081 #line 481 "dhcp4_parser.yy" // lalr1.cc:907 1084 ctx.
stack_.back()->set(
"rebind-timer", prf);
1086 #line 1087 "dhcp4_parser.cc" // lalr1.cc:907 1090 #line 486 "dhcp4_parser.yy" // lalr1.cc:907 1093 ctx.
stack_.back()->set(
"decline-probation-period", dpp);
1095 #line 1096 "dhcp4_parser.cc" // lalr1.cc:907 1099 #line 491 "dhcp4_parser.yy" // lalr1.cc:907 1103 #line 1104 "dhcp4_parser.cc" // lalr1.cc:907 1107 #line 493 "dhcp4_parser.yy" // lalr1.cc:907 1110 ctx.
stack_.back()->set(
"server-tag", stag);
1113 #line 1114 "dhcp4_parser.cc" // lalr1.cc:907 1117 #line 499 "dhcp4_parser.yy" // lalr1.cc:907 1120 ctx.
stack_.back()->set(
"echo-client-id", echo);
1122 #line 1123 "dhcp4_parser.cc" // lalr1.cc:907 1126 #line 504 "dhcp4_parser.yy" // lalr1.cc:907 1129 ctx.
stack_.back()->set(
"match-client-id", match);
1131 #line 1132 "dhcp4_parser.cc" // lalr1.cc:907 1135 #line 509 "dhcp4_parser.yy" // lalr1.cc:907 1138 ctx.
stack_.back()->set(
"authoritative", prf);
1140 #line 1141 "dhcp4_parser.cc" // lalr1.cc:907 1144 #line 515 "dhcp4_parser.yy" // lalr1.cc:907 1147 ctx.
stack_.back()->set(
"interfaces-config", i);
1151 #line 1152 "dhcp4_parser.cc" // lalr1.cc:907 1155 #line 520 "dhcp4_parser.yy" // lalr1.cc:907 1161 #line 1162 "dhcp4_parser.cc" // lalr1.cc:907 1165 #line 539 "dhcp4_parser.yy" // lalr1.cc:907 1171 #line 1172 "dhcp4_parser.cc" // lalr1.cc:907 1175 #line 543 "dhcp4_parser.yy" // lalr1.cc:907 1180 #line 1181 "dhcp4_parser.cc" // lalr1.cc:907 1184 #line 548 "dhcp4_parser.yy" // lalr1.cc:907 1187 ctx.
stack_.back()->set(
"interfaces", l);
1191 #line 1192 "dhcp4_parser.cc" // lalr1.cc:907 1195 #line 553 "dhcp4_parser.yy" // lalr1.cc:907 1200 #line 1201 "dhcp4_parser.cc" // lalr1.cc:907 1204 #line 558 "dhcp4_parser.yy" // lalr1.cc:907 1208 #line 1209 "dhcp4_parser.cc" // lalr1.cc:907 1212 #line 560 "dhcp4_parser.yy" // lalr1.cc:907 1214 ctx.
stack_.back()->set(
"dhcp-socket-type", yystack_[0].value.as<
ElementPtr > ());
1217 #line 1218 "dhcp4_parser.cc" // lalr1.cc:907 1221 #line 565 "dhcp4_parser.yy" // lalr1.cc:907 1223 #line 1224 "dhcp4_parser.cc" // lalr1.cc:907 1227 #line 566 "dhcp4_parser.yy" // lalr1.cc:907 1229 #line 1230 "dhcp4_parser.cc" // lalr1.cc:907 1233 #line 569 "dhcp4_parser.yy" // lalr1.cc:907 1237 #line 1238 "dhcp4_parser.cc" // lalr1.cc:907 1241 #line 571 "dhcp4_parser.yy" // lalr1.cc:907 1243 ctx.
stack_.back()->set(
"outbound-interface", yystack_[0].value.as<
ElementPtr > ());
1246 #line 1247 "dhcp4_parser.cc" // lalr1.cc:907 1250 #line 576 "dhcp4_parser.yy" // lalr1.cc:907 1254 #line 1255 "dhcp4_parser.cc" // lalr1.cc:907 1258 #line 578 "dhcp4_parser.yy" // lalr1.cc:907 1262 #line 1263 "dhcp4_parser.cc" // lalr1.cc:907 1266 #line 582 "dhcp4_parser.yy" // lalr1.cc:907 1269 ctx.
stack_.back()->set(
"re-detect", b);
1271 #line 1272 "dhcp4_parser.cc" // lalr1.cc:907 1275 #line 588 "dhcp4_parser.yy" // lalr1.cc:907 1278 ctx.
stack_.back()->set(
"lease-database", i);
1282 #line 1283 "dhcp4_parser.cc" // lalr1.cc:907 1286 #line 593 "dhcp4_parser.yy" // lalr1.cc:907 1293 #line 1294 "dhcp4_parser.cc" // lalr1.cc:907 1297 #line 600 "dhcp4_parser.yy" // lalr1.cc:907 1300 ctx.
stack_.back()->set(
"sanity-checks", m);
1304 #line 1305 "dhcp4_parser.cc" // lalr1.cc:907 1308 #line 605 "dhcp4_parser.yy" // lalr1.cc:907 1313 #line 1314 "dhcp4_parser.cc" // lalr1.cc:907 1317 #line 615 "dhcp4_parser.yy" // lalr1.cc:907 1321 #line 1322 "dhcp4_parser.cc" // lalr1.cc:907 1325 #line 617 "dhcp4_parser.yy" // lalr1.cc:907 1328 if ( (
string(yystack_[0].value.as< std::string > ()) ==
"none") ||
1329 (
string(yystack_[0].value.as< std::string > ()) ==
"warn") ||
1330 (
string(yystack_[0].value.as< std::string > ()) ==
"fix") ||
1331 (
string(yystack_[0].value.as< std::string > ()) ==
"fix-del") ||
1332 (
string(yystack_[0].value.as< std::string > ()) ==
"del")) {
1334 ctx.
stack_.back()->set(
"lease-checks", user);
1337 error(yystack_[0].location,
"Unsupported 'lease-checks value: " +
string(yystack_[0].value.as< std::string > ()) +
1338 ", supported values are: none, warn, fix, fix-del, del");
1341 #line 1342 "dhcp4_parser.cc" // lalr1.cc:907 1345 #line 633 "dhcp4_parser.yy" // lalr1.cc:907 1348 ctx.
stack_.back()->set(
"hosts-database", i);
1352 #line 1353 "dhcp4_parser.cc" // lalr1.cc:907 1356 #line 638 "dhcp4_parser.yy" // lalr1.cc:907 1363 #line 1364 "dhcp4_parser.cc" // lalr1.cc:907 1367 #line 645 "dhcp4_parser.yy" // lalr1.cc:907 1370 ctx.
stack_.back()->set(
"hosts-databases", l);
1374 #line 1375 "dhcp4_parser.cc" // lalr1.cc:907 1378 #line 650 "dhcp4_parser.yy" // lalr1.cc:907 1383 #line 1384 "dhcp4_parser.cc" // lalr1.cc:907 1387 #line 663 "dhcp4_parser.yy" // lalr1.cc:907 1390 ctx.
stack_.back()->add(m);
1393 #line 1394 "dhcp4_parser.cc" // lalr1.cc:907 1397 #line 667 "dhcp4_parser.yy" // lalr1.cc:907 1403 #line 1404 "dhcp4_parser.cc" // lalr1.cc:907 1407 #line 697 "dhcp4_parser.yy" // lalr1.cc:907 1411 #line 1412 "dhcp4_parser.cc" // lalr1.cc:907 1415 #line 699 "dhcp4_parser.yy" // lalr1.cc:907 1420 #line 1421 "dhcp4_parser.cc" // lalr1.cc:907 1424 #line 704 "dhcp4_parser.yy" // lalr1.cc:907 1426 #line 1427 "dhcp4_parser.cc" // lalr1.cc:907 1430 #line 705 "dhcp4_parser.yy" // lalr1.cc:907 1432 #line 1433 "dhcp4_parser.cc" // lalr1.cc:907 1436 #line 706 "dhcp4_parser.yy" // lalr1.cc:907 1438 #line 1439 "dhcp4_parser.cc" // lalr1.cc:907 1442 #line 707 "dhcp4_parser.yy" // lalr1.cc:907 1444 #line 1445 "dhcp4_parser.cc" // lalr1.cc:907 1448 #line 710 "dhcp4_parser.yy" // lalr1.cc:907 1452 #line 1453 "dhcp4_parser.cc" // lalr1.cc:907 1456 #line 712 "dhcp4_parser.yy" // lalr1.cc:907 1459 ctx.
stack_.back()->set(
"user", user);
1462 #line 1463 "dhcp4_parser.cc" // lalr1.cc:907 1466 #line 718 "dhcp4_parser.yy" // lalr1.cc:907 1470 #line 1471 "dhcp4_parser.cc" // lalr1.cc:907 1474 #line 720 "dhcp4_parser.yy" // lalr1.cc:907 1477 ctx.
stack_.back()->set(
"password", pwd);
1480 #line 1481 "dhcp4_parser.cc" // lalr1.cc:907 1484 #line 726 "dhcp4_parser.yy" // lalr1.cc:907 1488 #line 1489 "dhcp4_parser.cc" // lalr1.cc:907 1492 #line 728 "dhcp4_parser.yy" // lalr1.cc:907 1495 ctx.
stack_.back()->set(
"host", h);
1498 #line 1499 "dhcp4_parser.cc" // lalr1.cc:907 1502 #line 734 "dhcp4_parser.yy" // lalr1.cc:907 1505 ctx.
stack_.back()->set(
"port", p);
1507 #line 1508 "dhcp4_parser.cc" // lalr1.cc:907 1511 #line 739 "dhcp4_parser.yy" // lalr1.cc:907 1515 #line 1516 "dhcp4_parser.cc" // lalr1.cc:907 1519 #line 741 "dhcp4_parser.yy" // lalr1.cc:907 1522 ctx.
stack_.back()->set(
"name", name);
1525 #line 1526 "dhcp4_parser.cc" // lalr1.cc:907 1529 #line 747 "dhcp4_parser.yy" // lalr1.cc:907 1532 ctx.
stack_.back()->set(
"persist", n);
1534 #line 1535 "dhcp4_parser.cc" // lalr1.cc:907 1538 #line 752 "dhcp4_parser.yy" // lalr1.cc:907 1541 ctx.
stack_.back()->set(
"lfc-interval", n);
1543 #line 1544 "dhcp4_parser.cc" // lalr1.cc:907 1547 #line 757 "dhcp4_parser.yy" // lalr1.cc:907 1550 ctx.
stack_.back()->set(
"readonly", n);
1552 #line 1553 "dhcp4_parser.cc" // lalr1.cc:907 1556 #line 762 "dhcp4_parser.yy" // lalr1.cc:907 1559 ctx.
stack_.back()->set(
"connect-timeout", n);
1561 #line 1562 "dhcp4_parser.cc" // lalr1.cc:907 1565 #line 767 "dhcp4_parser.yy" // lalr1.cc:907 1568 ctx.
stack_.back()->set(
"request-timeout", n);
1570 #line 1571 "dhcp4_parser.cc" // lalr1.cc:907 1574 #line 772 "dhcp4_parser.yy" // lalr1.cc:907 1577 ctx.
stack_.back()->set(
"tcp-keepalive", n);
1579 #line 1580 "dhcp4_parser.cc" // lalr1.cc:907 1583 #line 777 "dhcp4_parser.yy" // lalr1.cc:907 1586 ctx.
stack_.back()->set(
"tcp-nodelay", n);
1588 #line 1589 "dhcp4_parser.cc" // lalr1.cc:907 1592 #line 782 "dhcp4_parser.yy" // lalr1.cc:907 1596 #line 1597 "dhcp4_parser.cc" // lalr1.cc:907 1600 #line 784 "dhcp4_parser.yy" // lalr1.cc:907 1603 ctx.
stack_.back()->set(
"contact-points", cp);
1606 #line 1607 "dhcp4_parser.cc" // lalr1.cc:907 1610 #line 790 "dhcp4_parser.yy" // lalr1.cc:907 1614 #line 1615 "dhcp4_parser.cc" // lalr1.cc:907 1618 #line 792 "dhcp4_parser.yy" // lalr1.cc:907 1621 ctx.
stack_.back()->set(
"keyspace", ks);
1624 #line 1625 "dhcp4_parser.cc" // lalr1.cc:907 1628 #line 798 "dhcp4_parser.yy" // lalr1.cc:907 1631 ctx.
stack_.back()->set(
"max-reconnect-tries", n);
1633 #line 1634 "dhcp4_parser.cc" // lalr1.cc:907 1637 #line 803 "dhcp4_parser.yy" // lalr1.cc:907 1640 ctx.
stack_.back()->set(
"reconnect-wait-time", n);
1642 #line 1643 "dhcp4_parser.cc" // lalr1.cc:907 1646 #line 808 "dhcp4_parser.yy" // lalr1.cc:907 1649 ctx.
stack_.back()->set(
"host-reservation-identifiers", l);
1653 #line 1654 "dhcp4_parser.cc" // lalr1.cc:907 1657 #line 813 "dhcp4_parser.yy" // lalr1.cc:907 1662 #line 1663 "dhcp4_parser.cc" // lalr1.cc:907 1666 #line 829 "dhcp4_parser.yy" // lalr1.cc:907 1669 ctx.
stack_.back()->add(duid);
1671 #line 1672 "dhcp4_parser.cc" // lalr1.cc:907 1675 #line 834 "dhcp4_parser.yy" // lalr1.cc:907 1678 ctx.
stack_.back()->add(hwaddr);
1680 #line 1681 "dhcp4_parser.cc" // lalr1.cc:907 1684 #line 839 "dhcp4_parser.yy" // lalr1.cc:907 1687 ctx.
stack_.back()->add(circuit);
1689 #line 1690 "dhcp4_parser.cc" // lalr1.cc:907 1693 #line 844 "dhcp4_parser.yy" // lalr1.cc:907 1696 ctx.
stack_.back()->add(client);
1698 #line 1699 "dhcp4_parser.cc" // lalr1.cc:907 1702 #line 849 "dhcp4_parser.yy" // lalr1.cc:907 1705 ctx.
stack_.back()->add(flex_id);
1707 #line 1708 "dhcp4_parser.cc" // lalr1.cc:907 1711 #line 854 "dhcp4_parser.yy" // lalr1.cc:907 1714 ctx.
stack_.back()->set(
"hooks-libraries", l);
1718 #line 1719 "dhcp4_parser.cc" // lalr1.cc:907 1722 #line 859 "dhcp4_parser.yy" // lalr1.cc:907 1727 #line 1728 "dhcp4_parser.cc" // lalr1.cc:907 1731 #line 872 "dhcp4_parser.yy" // lalr1.cc:907 1734 ctx.
stack_.back()->add(m);
1737 #line 1738 "dhcp4_parser.cc" // lalr1.cc:907 1741 #line 876 "dhcp4_parser.yy" // lalr1.cc:907 1747 #line 1748 "dhcp4_parser.cc" // lalr1.cc:907 1751 #line 882 "dhcp4_parser.yy" // lalr1.cc:907 1757 #line 1758 "dhcp4_parser.cc" // lalr1.cc:907 1761 #line 886 "dhcp4_parser.yy" // lalr1.cc:907 1767 #line 1768 "dhcp4_parser.cc" // lalr1.cc:907 1771 #line 901 "dhcp4_parser.yy" // lalr1.cc:907 1775 #line 1776 "dhcp4_parser.cc" // lalr1.cc:907 1779 #line 903 "dhcp4_parser.yy" // lalr1.cc:907 1782 ctx.
stack_.back()->set(
"library", lib);
1785 #line 1786 "dhcp4_parser.cc" // lalr1.cc:907 1789 #line 909 "dhcp4_parser.yy" // lalr1.cc:907 1793 #line 1794 "dhcp4_parser.cc" // lalr1.cc:907 1797 #line 911 "dhcp4_parser.yy" // lalr1.cc:907 1799 ctx.
stack_.back()->set(
"parameters", yystack_[0].value.as<
ElementPtr > ());
1802 #line 1803 "dhcp4_parser.cc" // lalr1.cc:907 1806 #line 917 "dhcp4_parser.yy" // lalr1.cc:907 1809 ctx.
stack_.back()->set(
"expired-leases-processing", m);
1813 #line 1814 "dhcp4_parser.cc" // lalr1.cc:907 1817 #line 922 "dhcp4_parser.yy" // lalr1.cc:907 1823 #line 1824 "dhcp4_parser.cc" // lalr1.cc:907 1827 #line 940 "dhcp4_parser.yy" // lalr1.cc:907 1830 ctx.
stack_.back()->set(
"reclaim-timer-wait-time", value);
1832 #line 1833 "dhcp4_parser.cc" // lalr1.cc:907 1836 #line 945 "dhcp4_parser.yy" // lalr1.cc:907 1839 ctx.
stack_.back()->set(
"flush-reclaimed-timer-wait-time", value);
1841 #line 1842 "dhcp4_parser.cc" // lalr1.cc:907 1845 #line 950 "dhcp4_parser.yy" // lalr1.cc:907 1848 ctx.
stack_.back()->set(
"hold-reclaimed-time", value);
1850 #line 1851 "dhcp4_parser.cc" // lalr1.cc:907 1854 #line 955 "dhcp4_parser.yy" // lalr1.cc:907 1857 ctx.
stack_.back()->set(
"max-reclaim-leases", value);
1859 #line 1860 "dhcp4_parser.cc" // lalr1.cc:907 1863 #line 960 "dhcp4_parser.yy" // lalr1.cc:907 1866 ctx.
stack_.back()->set(
"max-reclaim-time", value);
1868 #line 1869 "dhcp4_parser.cc" // lalr1.cc:907 1872 #line 965 "dhcp4_parser.yy" // lalr1.cc:907 1875 ctx.
stack_.back()->set(
"unwarned-reclaim-cycles", value);
1877 #line 1878 "dhcp4_parser.cc" // lalr1.cc:907 1881 #line 973 "dhcp4_parser.yy" // lalr1.cc:907 1884 ctx.
stack_.back()->set(
"subnet4", l);
1888 #line 1889 "dhcp4_parser.cc" // lalr1.cc:907 1892 #line 978 "dhcp4_parser.yy" // lalr1.cc:907 1897 #line 1898 "dhcp4_parser.cc" // lalr1.cc:907 1901 #line 998 "dhcp4_parser.yy" // lalr1.cc:907 1904 ctx.
stack_.back()->add(m);
1907 #line 1908 "dhcp4_parser.cc" // lalr1.cc:907 1911 #line 1002 "dhcp4_parser.yy" // lalr1.cc:907 1933 #line 1934 "dhcp4_parser.cc" // lalr1.cc:907 1937 #line 1024 "dhcp4_parser.yy" // lalr1.cc:907 1943 #line 1944 "dhcp4_parser.cc" // lalr1.cc:907 1947 #line 1028 "dhcp4_parser.yy" // lalr1.cc:907 1953 #line 1954 "dhcp4_parser.cc" // lalr1.cc:907 1957 #line 1066 "dhcp4_parser.yy" // lalr1.cc:907 1961 #line 1962 "dhcp4_parser.cc" // lalr1.cc:907 1965 #line 1068 "dhcp4_parser.yy" // lalr1.cc:907 1968 ctx.
stack_.back()->set(
"subnet", subnet);
1971 #line 1972 "dhcp4_parser.cc" // lalr1.cc:907 1975 #line 1074 "dhcp4_parser.yy" // lalr1.cc:907 1979 #line 1980 "dhcp4_parser.cc" // lalr1.cc:907 1983 #line 1076 "dhcp4_parser.yy" // lalr1.cc:907 1986 ctx.
stack_.back()->set(
"4o6-interface", iface);
1989 #line 1990 "dhcp4_parser.cc" // lalr1.cc:907 1993 #line 1082 "dhcp4_parser.yy" // lalr1.cc:907 1997 #line 1998 "dhcp4_parser.cc" // lalr1.cc:907 2001 #line 1084 "dhcp4_parser.yy" // lalr1.cc:907 2004 ctx.
stack_.back()->set(
"4o6-interface-id", iface);
2007 #line 2008 "dhcp4_parser.cc" // lalr1.cc:907 2011 #line 1090 "dhcp4_parser.yy" // lalr1.cc:907 2015 #line 2016 "dhcp4_parser.cc" // lalr1.cc:907 2019 #line 1092 "dhcp4_parser.yy" // lalr1.cc:907 2022 ctx.
stack_.back()->set(
"4o6-subnet", iface);
2025 #line 2026 "dhcp4_parser.cc" // lalr1.cc:907 2029 #line 1098 "dhcp4_parser.yy" // lalr1.cc:907 2033 #line 2034 "dhcp4_parser.cc" // lalr1.cc:907 2037 #line 1100 "dhcp4_parser.yy" // lalr1.cc:907 2040 ctx.
stack_.back()->set(
"interface", iface);
2043 #line 2044 "dhcp4_parser.cc" // lalr1.cc:907 2047 #line 1106 "dhcp4_parser.yy" // lalr1.cc:907 2051 #line 2052 "dhcp4_parser.cc" // lalr1.cc:907 2055 #line 1108 "dhcp4_parser.yy" // lalr1.cc:907 2058 ctx.
stack_.back()->set(
"client-class", cls);
2061 #line 2062 "dhcp4_parser.cc" // lalr1.cc:907 2065 #line 1114 "dhcp4_parser.yy" // lalr1.cc:907 2068 ctx.
stack_.back()->set(
"require-client-classes", c);
2072 #line 2073 "dhcp4_parser.cc" // lalr1.cc:907 2076 #line 1119 "dhcp4_parser.yy" // lalr1.cc:907 2081 #line 2082 "dhcp4_parser.cc" // lalr1.cc:907 2085 #line 1124 "dhcp4_parser.yy" // lalr1.cc:907 2089 #line 2090 "dhcp4_parser.cc" // lalr1.cc:907 2093 #line 1126 "dhcp4_parser.yy" // lalr1.cc:907 2095 ctx.
stack_.back()->set(
"reservation-mode", yystack_[0].value.as<
ElementPtr > ());
2098 #line 2099 "dhcp4_parser.cc" // lalr1.cc:907 2102 #line 1131 "dhcp4_parser.yy" // lalr1.cc:907 2104 #line 2105 "dhcp4_parser.cc" // lalr1.cc:907 2108 #line 1132 "dhcp4_parser.yy" // lalr1.cc:907 2110 #line 2111 "dhcp4_parser.cc" // lalr1.cc:907 2114 #line 1133 "dhcp4_parser.yy" // lalr1.cc:907 2116 #line 2117 "dhcp4_parser.cc" // lalr1.cc:907 2120 #line 1134 "dhcp4_parser.yy" // lalr1.cc:907 2122 #line 2123 "dhcp4_parser.cc" // lalr1.cc:907 2126 #line 1137 "dhcp4_parser.yy" // lalr1.cc:907 2129 ctx.
stack_.back()->set(
"id",
id);
2131 #line 2132 "dhcp4_parser.cc" // lalr1.cc:907 2135 #line 1144 "dhcp4_parser.yy" // lalr1.cc:907 2138 ctx.
stack_.back()->set(
"shared-networks", l);
2142 #line 2143 "dhcp4_parser.cc" // lalr1.cc:907 2146 #line 1149 "dhcp4_parser.yy" // lalr1.cc:907 2151 #line 2152 "dhcp4_parser.cc" // lalr1.cc:907 2155 #line 1164 "dhcp4_parser.yy" // lalr1.cc:907 2158 ctx.
stack_.back()->add(m);
2161 #line 2162 "dhcp4_parser.cc" // lalr1.cc:907 2165 #line 1168 "dhcp4_parser.yy" // lalr1.cc:907 2169 #line 2170 "dhcp4_parser.cc" // lalr1.cc:907 2173 #line 1201 "dhcp4_parser.yy" // lalr1.cc:907 2176 ctx.
stack_.back()->set(
"option-def", l);
2180 #line 2181 "dhcp4_parser.cc" // lalr1.cc:907 2184 #line 1206 "dhcp4_parser.yy" // lalr1.cc:907 2189 #line 2190 "dhcp4_parser.cc" // lalr1.cc:907 2193 #line 1214 "dhcp4_parser.yy" // lalr1.cc:907 2198 #line 2199 "dhcp4_parser.cc" // lalr1.cc:907 2202 #line 1217 "dhcp4_parser.yy" // lalr1.cc:907 2206 #line 2207 "dhcp4_parser.cc" // lalr1.cc:907 2210 #line 1233 "dhcp4_parser.yy" // lalr1.cc:907 2213 ctx.
stack_.back()->add(m);
2216 #line 2217 "dhcp4_parser.cc" // lalr1.cc:907 2220 #line 1237 "dhcp4_parser.yy" // lalr1.cc:907 2228 #line 2229 "dhcp4_parser.cc" // lalr1.cc:907 2232 #line 1248 "dhcp4_parser.yy" // lalr1.cc:907 2238 #line 2239 "dhcp4_parser.cc" // lalr1.cc:907 2242 #line 1252 "dhcp4_parser.yy" // lalr1.cc:907 2250 #line 2251 "dhcp4_parser.cc" // lalr1.cc:907 2254 #line 1284 "dhcp4_parser.yy" // lalr1.cc:907 2257 ctx.
stack_.back()->set(
"code", code);
2259 #line 2260 "dhcp4_parser.cc" // lalr1.cc:907 2263 #line 1291 "dhcp4_parser.yy" // lalr1.cc:907 2267 #line 2268 "dhcp4_parser.cc" // lalr1.cc:907 2271 #line 1293 "dhcp4_parser.yy" // lalr1.cc:907 2274 ctx.
stack_.back()->set(
"type", prf);
2277 #line 2278 "dhcp4_parser.cc" // lalr1.cc:907 2281 #line 1299 "dhcp4_parser.yy" // lalr1.cc:907 2285 #line 2286 "dhcp4_parser.cc" // lalr1.cc:907 2289 #line 1301 "dhcp4_parser.yy" // lalr1.cc:907 2292 ctx.
stack_.back()->set(
"record-types", rtypes);
2295 #line 2296 "dhcp4_parser.cc" // lalr1.cc:907 2299 #line 1307 "dhcp4_parser.yy" // lalr1.cc:907 2303 #line 2304 "dhcp4_parser.cc" // lalr1.cc:907 2307 #line 1309 "dhcp4_parser.yy" // lalr1.cc:907 2310 ctx.
stack_.back()->set(
"space", space);
2313 #line 2314 "dhcp4_parser.cc" // lalr1.cc:907 2317 #line 1317 "dhcp4_parser.yy" // lalr1.cc:907 2321 #line 2322 "dhcp4_parser.cc" // lalr1.cc:907 2325 #line 1319 "dhcp4_parser.yy" // lalr1.cc:907 2328 ctx.
stack_.back()->set(
"encapsulate", encap);
2331 #line 2332 "dhcp4_parser.cc" // lalr1.cc:907 2335 #line 1325 "dhcp4_parser.yy" // lalr1.cc:907 2338 ctx.
stack_.back()->set(
"array", array);
2340 #line 2341 "dhcp4_parser.cc" // lalr1.cc:907 2344 #line 1334 "dhcp4_parser.yy" // lalr1.cc:907 2347 ctx.
stack_.back()->set(
"option-data", l);
2351 #line 2352 "dhcp4_parser.cc" // lalr1.cc:907 2355 #line 1339 "dhcp4_parser.yy" // lalr1.cc:907 2360 #line 2361 "dhcp4_parser.cc" // lalr1.cc:907 2364 #line 1358 "dhcp4_parser.yy" // lalr1.cc:907 2367 ctx.
stack_.back()->add(m);
2370 #line 2371 "dhcp4_parser.cc" // lalr1.cc:907 2374 #line 1362 "dhcp4_parser.yy" // lalr1.cc:907 2379 #line 2380 "dhcp4_parser.cc" // lalr1.cc:907 2383 #line 1370 "dhcp4_parser.yy" // lalr1.cc:907 2389 #line 2390 "dhcp4_parser.cc" // lalr1.cc:907 2393 #line 1374 "dhcp4_parser.yy" // lalr1.cc:907 2398 #line 2399 "dhcp4_parser.cc" // lalr1.cc:907 2402 #line 1407 "dhcp4_parser.yy" // lalr1.cc:907 2406 #line 2407 "dhcp4_parser.cc" // lalr1.cc:907 2410 #line 1409 "dhcp4_parser.yy" // lalr1.cc:907 2413 ctx.
stack_.back()->set(
"data", data);
2416 #line 2417 "dhcp4_parser.cc" // lalr1.cc:907 2420 #line 1419 "dhcp4_parser.yy" // lalr1.cc:907 2423 ctx.
stack_.back()->set(
"csv-format", space);
2425 #line 2426 "dhcp4_parser.cc" // lalr1.cc:907 2429 #line 1424 "dhcp4_parser.yy" // lalr1.cc:907 2432 ctx.
stack_.back()->set(
"always-send", persist);
2434 #line 2435 "dhcp4_parser.cc" // lalr1.cc:907 2438 #line 1432 "dhcp4_parser.yy" // lalr1.cc:907 2441 ctx.
stack_.back()->set(
"pools", l);
2445 #line 2446 "dhcp4_parser.cc" // lalr1.cc:907 2449 #line 1437 "dhcp4_parser.yy" // lalr1.cc:907 2454 #line 2455 "dhcp4_parser.cc" // lalr1.cc:907 2458 #line 1452 "dhcp4_parser.yy" // lalr1.cc:907 2461 ctx.
stack_.back()->add(m);
2464 #line 2465 "dhcp4_parser.cc" // lalr1.cc:907 2468 #line 1456 "dhcp4_parser.yy" // lalr1.cc:907 2474 #line 2475 "dhcp4_parser.cc" // lalr1.cc:907 2478 #line 1462 "dhcp4_parser.yy" // lalr1.cc:907 2484 #line 2485 "dhcp4_parser.cc" // lalr1.cc:907 2488 #line 1466 "dhcp4_parser.yy" // lalr1.cc:907 2494 #line 2495 "dhcp4_parser.cc" // lalr1.cc:907 2498 #line 1485 "dhcp4_parser.yy" // lalr1.cc:907 2502 #line 2503 "dhcp4_parser.cc" // lalr1.cc:907 2506 #line 1487 "dhcp4_parser.yy" // lalr1.cc:907 2509 ctx.
stack_.back()->set(
"pool", pool);
2512 #line 2513 "dhcp4_parser.cc" // lalr1.cc:907 2516 #line 1493 "dhcp4_parser.yy" // lalr1.cc:907 2520 #line 2521 "dhcp4_parser.cc" // lalr1.cc:907 2524 #line 1495 "dhcp4_parser.yy" // lalr1.cc:907 2533 if ((old->size() != 1) || !old->contains(
"comment")) {
2534 std::stringstream msg;
2535 msg <<
"duplicate user-context entries (previous at " 2536 << old->getPosition().str() <<
")";
2537 error(yystack_[3].location, msg.str());
2540 user_context->set(
"comment", old->get(
"comment"));
2544 parent->set(
"user-context", user_context);
2547 #line 2548 "dhcp4_parser.cc" // lalr1.cc:907 2551 #line 1518 "dhcp4_parser.yy" // lalr1.cc:907 2555 #line 2556 "dhcp4_parser.cc" // lalr1.cc:907 2559 #line 1520 "dhcp4_parser.yy" // lalr1.cc:907 2564 user_context->set(
"comment", comment);
2570 if (old->contains(
"comment")) {
2571 std::stringstream msg;
2572 msg <<
"duplicate user-context/comment entries (previous at " 2573 << old->getPosition().str() <<
")";
2574 error(yystack_[3].location, msg.str());
2577 merge(user_context, old);
2581 parent->set(
"user-context", user_context);
2584 #line 2585 "dhcp4_parser.cc" // lalr1.cc:907 2588 #line 1548 "dhcp4_parser.yy" // lalr1.cc:907 2591 ctx.
stack_.back()->set(
"reservations", l);
2595 #line 2596 "dhcp4_parser.cc" // lalr1.cc:907 2599 #line 1553 "dhcp4_parser.yy" // lalr1.cc:907 2604 #line 2605 "dhcp4_parser.cc" // lalr1.cc:907 2608 #line 1566 "dhcp4_parser.yy" // lalr1.cc:907 2611 ctx.
stack_.back()->add(m);
2614 #line 2615 "dhcp4_parser.cc" // lalr1.cc:907 2618 #line 1570 "dhcp4_parser.yy" // lalr1.cc:907 2623 #line 2624 "dhcp4_parser.cc" // lalr1.cc:907 2627 #line 1575 "dhcp4_parser.yy" // lalr1.cc:907 2633 #line 2634 "dhcp4_parser.cc" // lalr1.cc:907 2637 #line 1579 "dhcp4_parser.yy" // lalr1.cc:907 2642 #line 2643 "dhcp4_parser.cc" // lalr1.cc:907 2646 #line 1610 "dhcp4_parser.yy" // lalr1.cc:907 2650 #line 2651 "dhcp4_parser.cc" // lalr1.cc:907 2654 #line 1612 "dhcp4_parser.yy" // lalr1.cc:907 2657 ctx.
stack_.back()->set(
"next-server", next_server);
2660 #line 2661 "dhcp4_parser.cc" // lalr1.cc:907 2664 #line 1618 "dhcp4_parser.yy" // lalr1.cc:907 2668 #line 2669 "dhcp4_parser.cc" // lalr1.cc:907 2672 #line 1620 "dhcp4_parser.yy" // lalr1.cc:907 2675 ctx.
stack_.back()->set(
"server-hostname", srv);
2678 #line 2679 "dhcp4_parser.cc" // lalr1.cc:907 2682 #line 1626 "dhcp4_parser.yy" // lalr1.cc:907 2686 #line 2687 "dhcp4_parser.cc" // lalr1.cc:907 2690 #line 1628 "dhcp4_parser.yy" // lalr1.cc:907 2693 ctx.
stack_.back()->set(
"boot-file-name", bootfile);
2696 #line 2697 "dhcp4_parser.cc" // lalr1.cc:907 2700 #line 1634 "dhcp4_parser.yy" // lalr1.cc:907 2704 #line 2705 "dhcp4_parser.cc" // lalr1.cc:907 2708 #line 1636 "dhcp4_parser.yy" // lalr1.cc:907 2711 ctx.
stack_.back()->set(
"ip-address", addr);
2714 #line 2715 "dhcp4_parser.cc" // lalr1.cc:907 2718 #line 1642 "dhcp4_parser.yy" // lalr1.cc:907 2721 ctx.
stack_.back()->set(
"ip-addresses", l);
2725 #line 2726 "dhcp4_parser.cc" // lalr1.cc:907 2729 #line 1647 "dhcp4_parser.yy" // lalr1.cc:907 2734 #line 2735 "dhcp4_parser.cc" // lalr1.cc:907 2738 #line 1652 "dhcp4_parser.yy" // lalr1.cc:907 2742 #line 2743 "dhcp4_parser.cc" // lalr1.cc:907 2746 #line 1654 "dhcp4_parser.yy" // lalr1.cc:907 2749 ctx.
stack_.back()->set(
"duid", d);
2752 #line 2753 "dhcp4_parser.cc" // lalr1.cc:907 2756 #line 1660 "dhcp4_parser.yy" // lalr1.cc:907 2760 #line 2761 "dhcp4_parser.cc" // lalr1.cc:907 2764 #line 1662 "dhcp4_parser.yy" // lalr1.cc:907 2767 ctx.
stack_.back()->set(
"hw-address", hw);
2770 #line 2771 "dhcp4_parser.cc" // lalr1.cc:907 2774 #line 1668 "dhcp4_parser.yy" // lalr1.cc:907 2778 #line 2779 "dhcp4_parser.cc" // lalr1.cc:907 2782 #line 1670 "dhcp4_parser.yy" // lalr1.cc:907 2785 ctx.
stack_.back()->set(
"client-id", hw);
2788 #line 2789 "dhcp4_parser.cc" // lalr1.cc:907 2792 #line 1676 "dhcp4_parser.yy" // lalr1.cc:907 2796 #line 2797 "dhcp4_parser.cc" // lalr1.cc:907 2800 #line 1678 "dhcp4_parser.yy" // lalr1.cc:907 2803 ctx.
stack_.back()->set(
"circuit-id", hw);
2806 #line 2807 "dhcp4_parser.cc" // lalr1.cc:907 2810 #line 1684 "dhcp4_parser.yy" // lalr1.cc:907 2814 #line 2815 "dhcp4_parser.cc" // lalr1.cc:907 2818 #line 1686 "dhcp4_parser.yy" // lalr1.cc:907 2821 ctx.
stack_.back()->set(
"flex-id", hw);
2824 #line 2825 "dhcp4_parser.cc" // lalr1.cc:907 2828 #line 1692 "dhcp4_parser.yy" // lalr1.cc:907 2832 #line 2833 "dhcp4_parser.cc" // lalr1.cc:907 2836 #line 1694 "dhcp4_parser.yy" // lalr1.cc:907 2839 ctx.
stack_.back()->set(
"hostname", host);
2842 #line 2843 "dhcp4_parser.cc" // lalr1.cc:907 2846 #line 1700 "dhcp4_parser.yy" // lalr1.cc:907 2849 ctx.
stack_.back()->set(
"client-classes", c);
2853 #line 2854 "dhcp4_parser.cc" // lalr1.cc:907 2857 #line 1705 "dhcp4_parser.yy" // lalr1.cc:907 2862 #line 2863 "dhcp4_parser.cc" // lalr1.cc:907 2866 #line 1713 "dhcp4_parser.yy" // lalr1.cc:907 2869 ctx.
stack_.back()->set(
"relay", m);
2873 #line 2874 "dhcp4_parser.cc" // lalr1.cc:907 2877 #line 1718 "dhcp4_parser.yy" // lalr1.cc:907 2882 #line 2883 "dhcp4_parser.cc" // lalr1.cc:907 2886 #line 1730 "dhcp4_parser.yy" // lalr1.cc:907 2889 ctx.
stack_.back()->set(
"client-classes", l);
2893 #line 2894 "dhcp4_parser.cc" // lalr1.cc:907 2897 #line 1735 "dhcp4_parser.yy" // lalr1.cc:907 2902 #line 2903 "dhcp4_parser.cc" // lalr1.cc:907 2906 #line 1744 "dhcp4_parser.yy" // lalr1.cc:907 2909 ctx.
stack_.back()->add(m);
2912 #line 2913 "dhcp4_parser.cc" // lalr1.cc:907 2916 #line 1748 "dhcp4_parser.yy" // lalr1.cc:907 2922 #line 2923 "dhcp4_parser.cc" // lalr1.cc:907 2926 #line 1777 "dhcp4_parser.yy" // lalr1.cc:907 2930 #line 2931 "dhcp4_parser.cc" // lalr1.cc:907 2934 #line 1779 "dhcp4_parser.yy" // lalr1.cc:907 2937 ctx.
stack_.back()->set(
"test", test);
2940 #line 2941 "dhcp4_parser.cc" // lalr1.cc:907 2944 #line 1785 "dhcp4_parser.yy" // lalr1.cc:907 2947 ctx.
stack_.back()->set(
"only-if-required", b);
2949 #line 2950 "dhcp4_parser.cc" // lalr1.cc:907 2953 #line 1794 "dhcp4_parser.yy" // lalr1.cc:907 2956 ctx.
stack_.back()->set(
"dhcp4o6-port", time);
2958 #line 2959 "dhcp4_parser.cc" // lalr1.cc:907 2962 #line 1801 "dhcp4_parser.yy" // lalr1.cc:907 2965 ctx.
stack_.back()->set(
"control-socket", m);
2969 #line 2970 "dhcp4_parser.cc" // lalr1.cc:907 2973 #line 1806 "dhcp4_parser.yy" // lalr1.cc:907 2978 #line 2979 "dhcp4_parser.cc" // lalr1.cc:907 2982 #line 1822 "dhcp4_parser.yy" // lalr1.cc:907 2986 #line 2987 "dhcp4_parser.cc" // lalr1.cc:907 2990 #line 1824 "dhcp4_parser.yy" // lalr1.cc:907 2993 ctx.
stack_.back()->set(
"socket-type", stype);
2996 #line 2997 "dhcp4_parser.cc" // lalr1.cc:907 3000 #line 1830 "dhcp4_parser.yy" // lalr1.cc:907 3004 #line 3005 "dhcp4_parser.cc" // lalr1.cc:907 3008 #line 1832 "dhcp4_parser.yy" // lalr1.cc:907 3011 ctx.
stack_.back()->set(
"socket-name", name);
3014 #line 3015 "dhcp4_parser.cc" // lalr1.cc:907 3018 #line 1841 "dhcp4_parser.yy" // lalr1.cc:907 3022 #line 3023 "dhcp4_parser.cc" // lalr1.cc:907 3026 #line 1843 "dhcp4_parser.yy" // lalr1.cc:907 3029 ctx.
stack_.back()->set(
"dhcp-queue-control", qc);
3033 if (!qc->contains(
"enable-queue")) {
3034 std::stringstream msg;
3035 msg <<
"'enable-queue' is required: ";
3036 msg <<
"(" << qc->getPosition().str() <<
")";
3037 error(yystack_[3].location, msg.str());
3041 if (enable_queue->getType() != Element::boolean) {
3042 std::stringstream msg;
3043 msg <<
"'enable-queue' must be boolean: ";
3044 msg <<
"(" << qc->getPosition().str() <<
")";
3045 error(yystack_[3].location, msg.str());
3048 if (qc->contains(
"queue-type")) {
3050 if (queue_type->getType() != Element::string) {
3051 std::stringstream msg;
3052 msg <<
"'queue-type' must be a string: ";
3053 msg <<
"(" << qc->getPosition().str() <<
")";
3054 error(yystack_[3].location, msg.str());
3060 #line 3061 "dhcp4_parser.cc" // lalr1.cc:907 3064 #line 1879 "dhcp4_parser.yy" // lalr1.cc:907 3067 ctx.
stack_.back()->set(
"dhcp-ddns", m);
3071 #line 3072 "dhcp4_parser.cc" // lalr1.cc:907 3075 #line 1884 "dhcp4_parser.yy" // lalr1.cc:907 3078 ctx.
require(
"enable-updates", ctx.
loc2pos(yystack_[2].location), ctx.
loc2pos(yystack_[0].location));
3082 #line 3083 "dhcp4_parser.cc" // lalr1.cc:907 3086 #line 1891 "dhcp4_parser.yy" // lalr1.cc:907 3092 #line 3093 "dhcp4_parser.cc" // lalr1.cc:907 3096 #line 1895 "dhcp4_parser.yy" // lalr1.cc:907 3099 ctx.
require(
"enable-updates", ctx.
loc2pos(yystack_[3].location), ctx.
loc2pos(yystack_[0].location));
3102 #line 3103 "dhcp4_parser.cc" // lalr1.cc:907 3106 #line 1925 "dhcp4_parser.yy" // lalr1.cc:907 3109 ctx.
stack_.back()->set(
"enable-updates", b);
3111 #line 3112 "dhcp4_parser.cc" // lalr1.cc:907 3115 #line 1930 "dhcp4_parser.yy" // lalr1.cc:907 3119 #line 3120 "dhcp4_parser.cc" // lalr1.cc:907 3123 #line 1932 "dhcp4_parser.yy" // lalr1.cc:907 3126 ctx.
stack_.back()->set(
"qualifying-suffix", s);
3129 #line 3130 "dhcp4_parser.cc" // lalr1.cc:907 3133 #line 1938 "dhcp4_parser.yy" // lalr1.cc:907 3137 #line 3138 "dhcp4_parser.cc" // lalr1.cc:907 3141 #line 1940 "dhcp4_parser.yy" // lalr1.cc:907 3144 ctx.
stack_.back()->set(
"server-ip", s);
3147 #line 3148 "dhcp4_parser.cc" // lalr1.cc:907 3151 #line 1946 "dhcp4_parser.yy" // lalr1.cc:907 3154 ctx.
stack_.back()->set(
"server-port", i);
3156 #line 3157 "dhcp4_parser.cc" // lalr1.cc:907 3160 #line 1951 "dhcp4_parser.yy" // lalr1.cc:907 3164 #line 3165 "dhcp4_parser.cc" // lalr1.cc:907 3168 #line 1953 "dhcp4_parser.yy" // lalr1.cc:907 3171 ctx.
stack_.back()->set(
"sender-ip", s);
3174 #line 3175 "dhcp4_parser.cc" // lalr1.cc:907 3178 #line 1959 "dhcp4_parser.yy" // lalr1.cc:907 3181 ctx.
stack_.back()->set(
"sender-port", i);
3183 #line 3184 "dhcp4_parser.cc" // lalr1.cc:907 3187 #line 1964 "dhcp4_parser.yy" // lalr1.cc:907 3190 ctx.
stack_.back()->set(
"max-queue-size", i);
3192 #line 3193 "dhcp4_parser.cc" // lalr1.cc:907 3196 #line 1969 "dhcp4_parser.yy" // lalr1.cc:907 3200 #line 3201 "dhcp4_parser.cc" // lalr1.cc:907 3204 #line 1971 "dhcp4_parser.yy" // lalr1.cc:907 3206 ctx.
stack_.back()->set(
"ncr-protocol", yystack_[0].value.as<
ElementPtr > ());
3209 #line 3210 "dhcp4_parser.cc" // lalr1.cc:907 3213 #line 1977 "dhcp4_parser.yy" // lalr1.cc:907 3215 #line 3216 "dhcp4_parser.cc" // lalr1.cc:907 3219 #line 1978 "dhcp4_parser.yy" // lalr1.cc:907 3221 #line 3222 "dhcp4_parser.cc" // lalr1.cc:907 3225 #line 1981 "dhcp4_parser.yy" // lalr1.cc:907 3229 #line 3230 "dhcp4_parser.cc" // lalr1.cc:907 3233 #line 1983 "dhcp4_parser.yy" // lalr1.cc:907 3236 ctx.
stack_.back()->set(
"ncr-format", json);
3239 #line 3240 "dhcp4_parser.cc" // lalr1.cc:907 3243 #line 1989 "dhcp4_parser.yy" // lalr1.cc:907 3246 ctx.
stack_.back()->set(
"override-no-update", b);
3248 #line 3249 "dhcp4_parser.cc" // lalr1.cc:907 3252 #line 1994 "dhcp4_parser.yy" // lalr1.cc:907 3255 ctx.
stack_.back()->set(
"override-client-update", b);
3257 #line 3258 "dhcp4_parser.cc" // lalr1.cc:907 3261 #line 1999 "dhcp4_parser.yy" // lalr1.cc:907 3265 #line 3266 "dhcp4_parser.cc" // lalr1.cc:907 3269 #line 2001 "dhcp4_parser.yy" // lalr1.cc:907 3271 ctx.
stack_.back()->set(
"replace-client-name", yystack_[0].value.as<
ElementPtr > ());
3274 #line 3275 "dhcp4_parser.cc" // lalr1.cc:907 3278 #line 2007 "dhcp4_parser.yy" // lalr1.cc:907 3282 #line 3283 "dhcp4_parser.cc" // lalr1.cc:907 3286 #line 2010 "dhcp4_parser.yy" // lalr1.cc:907 3290 #line 3291 "dhcp4_parser.cc" // lalr1.cc:907 3294 #line 2013 "dhcp4_parser.yy" // lalr1.cc:907 3298 #line 3299 "dhcp4_parser.cc" // lalr1.cc:907 3302 #line 2016 "dhcp4_parser.yy" // lalr1.cc:907 3306 #line 3307 "dhcp4_parser.cc" // lalr1.cc:907 3310 #line 2019 "dhcp4_parser.yy" // lalr1.cc:907 3312 error(yystack_[0].location,
"boolean values for the replace-client-name are " 3313 "no longer supported");
3315 #line 3316 "dhcp4_parser.cc" // lalr1.cc:907 3319 #line 2025 "dhcp4_parser.yy" // lalr1.cc:907 3323 #line 3324 "dhcp4_parser.cc" // lalr1.cc:907 3327 #line 2027 "dhcp4_parser.yy" // lalr1.cc:907 3330 ctx.
stack_.back()->set(
"generated-prefix", s);
3333 #line 3334 "dhcp4_parser.cc" // lalr1.cc:907 3337 #line 2033 "dhcp4_parser.yy" // lalr1.cc:907 3341 #line 3342 "dhcp4_parser.cc" // lalr1.cc:907 3345 #line 2035 "dhcp4_parser.yy" // lalr1.cc:907 3348 ctx.
stack_.back()->set(
"hostname-char-set", s);
3351 #line 3352 "dhcp4_parser.cc" // lalr1.cc:907 3355 #line 2041 "dhcp4_parser.yy" // lalr1.cc:907 3359 #line 3360 "dhcp4_parser.cc" // lalr1.cc:907 3363 #line 2043 "dhcp4_parser.yy" // lalr1.cc:907 3366 ctx.
stack_.back()->set(
"hostname-char-replacement", s);
3369 #line 3370 "dhcp4_parser.cc" // lalr1.cc:907 3373 #line 2052 "dhcp4_parser.yy" // lalr1.cc:907 3377 #line 3378 "dhcp4_parser.cc" // lalr1.cc:907 3381 #line 2054 "dhcp4_parser.yy" // lalr1.cc:907 3386 #line 3387 "dhcp4_parser.cc" // lalr1.cc:907 3390 #line 2059 "dhcp4_parser.yy" // lalr1.cc:907 3394 #line 3395 "dhcp4_parser.cc" // lalr1.cc:907 3398 #line 2061 "dhcp4_parser.yy" // lalr1.cc:907 3403 #line 3404 "dhcp4_parser.cc" // lalr1.cc:907 3407 #line 2066 "dhcp4_parser.yy" // lalr1.cc:907 3411 #line 3412 "dhcp4_parser.cc" // lalr1.cc:907 3415 #line 2068 "dhcp4_parser.yy" // lalr1.cc:907 3417 ctx.
stack_.back()->set(
"Control-agent", yystack_[0].value.as<
ElementPtr > ());
3420 #line 3421 "dhcp4_parser.cc" // lalr1.cc:907 3424 #line 2073 "dhcp4_parser.yy" // lalr1.cc:907 3427 ctx.
stack_.back()->set(
"config-control", i);
3431 #line 3432 "dhcp4_parser.cc" // lalr1.cc:907 3435 #line 2078 "dhcp4_parser.yy" // lalr1.cc:907 3441 #line 3442 "dhcp4_parser.cc" // lalr1.cc:907 3445 #line 2084 "dhcp4_parser.yy" // lalr1.cc:907 3451 #line 3452 "dhcp4_parser.cc" // lalr1.cc:907 3455 #line 2088 "dhcp4_parser.yy" // lalr1.cc:907 3460 #line 3461 "dhcp4_parser.cc" // lalr1.cc:907 3464 #line 2102 "dhcp4_parser.yy" // lalr1.cc:907 3467 ctx.
stack_.back()->set(
"config-databases", l);
3471 #line 3472 "dhcp4_parser.cc" // lalr1.cc:907 3475 #line 2107 "dhcp4_parser.yy" // lalr1.cc:907 3480 #line 3481 "dhcp4_parser.cc" // lalr1.cc:907 3484 #line 2117 "dhcp4_parser.yy" // lalr1.cc:907 3487 ctx.
stack_.back()->set(
"Logging", m);
3491 #line 3492 "dhcp4_parser.cc" // lalr1.cc:907 3495 #line 2122 "dhcp4_parser.yy" // lalr1.cc:907 3500 #line 3501 "dhcp4_parser.cc" // lalr1.cc:907 3504 #line 2127 "dhcp4_parser.yy" // lalr1.cc:907 3510 #line 3511 "dhcp4_parser.cc" // lalr1.cc:907 3514 #line 2131 "dhcp4_parser.yy" // lalr1.cc:907 3518 #line 3519 "dhcp4_parser.cc" // lalr1.cc:907 3522 #line 2147 "dhcp4_parser.yy" // lalr1.cc:907 3525 ctx.
stack_.back()->set(
"loggers", l);
3529 #line 3530 "dhcp4_parser.cc" // lalr1.cc:907 3533 #line 2152 "dhcp4_parser.yy" // lalr1.cc:907 3538 #line 3539 "dhcp4_parser.cc" // lalr1.cc:907 3542 #line 2164 "dhcp4_parser.yy" // lalr1.cc:907 3545 ctx.
stack_.back()->add(l);
3548 #line 3549 "dhcp4_parser.cc" // lalr1.cc:907 3552 #line 2168 "dhcp4_parser.yy" // lalr1.cc:907 3556 #line 3557 "dhcp4_parser.cc" // lalr1.cc:907 3560 #line 2185 "dhcp4_parser.yy" // lalr1.cc:907 3563 ctx.
stack_.back()->set(
"debuglevel", dl);
3565 #line 3566 "dhcp4_parser.cc" // lalr1.cc:907 3569 #line 2190 "dhcp4_parser.yy" // lalr1.cc:907 3573 #line 3574 "dhcp4_parser.cc" // lalr1.cc:907 3577 #line 2192 "dhcp4_parser.yy" // lalr1.cc:907 3580 ctx.
stack_.back()->set(
"severity", sev);
3583 #line 3584 "dhcp4_parser.cc" // lalr1.cc:907 3587 #line 2198 "dhcp4_parser.yy" // lalr1.cc:907 3590 ctx.
stack_.back()->set(
"output_options", l);
3594 #line 3595 "dhcp4_parser.cc" // lalr1.cc:907 3598 #line 2203 "dhcp4_parser.yy" // lalr1.cc:907 3603 #line 3604 "dhcp4_parser.cc" // lalr1.cc:907 3607 #line 2212 "dhcp4_parser.yy" // lalr1.cc:907 3610 ctx.
stack_.back()->add(m);
3613 #line 3614 "dhcp4_parser.cc" // lalr1.cc:907 3617 #line 2216 "dhcp4_parser.yy" // lalr1.cc:907 3621 #line 3622 "dhcp4_parser.cc" // lalr1.cc:907 3625 #line 2230 "dhcp4_parser.yy" // lalr1.cc:907 3629 #line 3630 "dhcp4_parser.cc" // lalr1.cc:907 3633 #line 2232 "dhcp4_parser.yy" // lalr1.cc:907 3636 ctx.
stack_.back()->set(
"output", sev);
3639 #line 3640 "dhcp4_parser.cc" // lalr1.cc:907 3643 #line 2238 "dhcp4_parser.yy" // lalr1.cc:907 3646 ctx.
stack_.back()->set(
"flush", flush);
3648 #line 3649 "dhcp4_parser.cc" // lalr1.cc:907 3652 #line 2243 "dhcp4_parser.yy" // lalr1.cc:907 3655 ctx.
stack_.back()->set(
"maxsize", maxsize);
3657 #line 3658 "dhcp4_parser.cc" // lalr1.cc:907 3661 #line 2248 "dhcp4_parser.yy" // lalr1.cc:907 3664 ctx.
stack_.back()->set(
"maxver", maxver);
3666 #line 3667 "dhcp4_parser.cc" // lalr1.cc:907 3670 #line 3671 "dhcp4_parser.cc" // lalr1.cc:907 3681 #endif // YY_EXCEPTIONS 3688 yypush_ (YY_NULLPTR,
YY_MOVE (yylhs));
3700 error (yyla.
location, yysyntax_error_ (yystack_[0].state, yyla));
3704 yyerror_range[1].location = yyla.
location;
3705 if (yyerrstatus_ == 3)
3711 if (yyla.type_get () == yyeof_)
3713 else if (!yyla.
empty ())
3715 yy_destroy_ (
"Error: discarding", yyla);
3746 stack_symbol_type error_token;
3749 yyn = yypact_[yystack_[0].state];
3750 if (!yy_pact_value_is_default_ (yyn))
3753 if (0 <= yyn && yyn <= yylast_ && yycheck_[yyn] == yyterror_)
3755 yyn = yytable_[yyn];
3762 if (yystack_.size () == 1)
3765 yyerror_range[1].location = yystack_[0].location;
3766 yy_destroy_ (
"Error: popping", yystack_[0]);
3771 yyerror_range[2].location = yyla.
location;
3775 error_token.state = yyn;
3776 yypush_ (
"Shifting",
YY_MOVE (error_token));
3792 yy_destroy_ (
"Cleanup: discarding lookahead", yyla);
3797 while (1 < yystack_.size ())
3799 yy_destroy_ (
"Cleanup: popping", yystack_[0]);
3808 YYCDEBUG <<
"Exception caught: cleaning lookahead and stack\n";
3812 yy_destroy_ (YY_NULLPTR, yyla);
3814 while (1 < yystack_.
size ())
3816 yy_destroy_ (YY_NULLPTR, yystack_[0]);
3821 #endif // YY_EXCEPTIONS 3832 Dhcp4Parser::yysyntax_error_ (state_type yystate,
const symbol_type& yyla)
const 3838 enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
3840 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
3869 int yytoken = yyla.type_get ();
3870 yyarg[yycount++] = yytname_[yytoken];
3871 int yyn = yypact_[yystate];
3872 if (!yy_pact_value_is_default_ (yyn))
3877 int yyxbegin = yyn < 0 ? -yyn : 0;
3879 int yychecklim = yylast_ - yyn + 1;
3880 int yyxend = yychecklim < yyntokens_ ? yychecklim : yyntokens_;
3881 for (
int yyx = yyxbegin; yyx < yyxend; ++yyx)
3882 if (yycheck_[yyx + yyn] == yyx && yyx != yyterror_
3883 && !yy_table_value_is_error_ (yytable_[yyx + yyn]))
3885 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
3891 yyarg[yycount++] = yytname_[yyx];
3896 char const* yyformat = YY_NULLPTR;
3899 #define YYCASE_(N, S) \ 3905 YYCASE_ (1,
YY_(
"syntax error, unexpected %s"));
3906 YYCASE_ (2,
YY_(
"syntax error, unexpected %s, expecting %s"));
3907 YYCASE_ (3,
YY_(
"syntax error, unexpected %s, expecting %s or %s"));
3908 YYCASE_ (4,
YY_(
"syntax error, unexpected %s, expecting %s or %s or %s"));
3909 YYCASE_ (5,
YY_(
"syntax error, unexpected %s, expecting %s or %s or %s or %s"));
3916 for (
char const* yyp = yyformat; *yyp; ++yyp)
3917 if (yyp[0] ==
'%' && yyp[1] ==
's' && yyi < yycount)
3919 yyres += yytnamerr_ (yyarg[yyi++]);
3928 const short Dhcp4Parser::yypact_ninf_ = -797;
3930 const signed char Dhcp4Parser::yytable_ninf_ = -1;
3933 Dhcp4Parser::yypact_[] =
3935 403, -797, -797, -797, -797, -797, -797, -797, -797, -797,
3936 -797, -797, -797, -797, -797, 43, 35, 38, 50, 58,
3937 60, 64, 103, 110, 142, 148, 161, 163, 185, 189,
3938 -797, -797, -797, -797, -797, -797, -797, -797, -797, -797,
3939 -797, -797, -797, -797, -797, -797, -797, -797, -797, -797,
3940 -797, -797, -797, -797, -797, -797, -797, -797, -797, -797,
3941 -797, -797, -797, -797, -797, -797, -797, -797, 35, -20,
3942 17, 71, 32, 152, -15, 239, 146, 242, 54, -25,
3943 361, 76, 206, -797, 219, 224, 233, 237, 244, -797,
3944 -797, -797, -797, -797, 287, -797, 55, -797, -797, -797,
3945 -797, -797, -797, -797, -797, -797, 295, 297, 299, -797,
3946 -797, -797, -797, -797, -797, 303, 326, 354, 364, -797,
3947 -797, -797, -797, -797, -797, -797, -797, -797, -797, -797,
3948 -797, -797, 367, -797, -797, -797, -797, 61, -797, -797,
3949 -797, -797, -797, -797, -797, -797, -797, -797, -797, -797,
3950 -797, -797, -797, -797, -797, -797, -797, -797, -797, -797,
3951 -797, -797, -797, -797, -797, -797, -797, -797, -797, -797,
3952 -797, -797, -797, -797, -797, 369, -797, 72, -797, -797,
3953 -797, -797, -797, -797, -797, -797, -797, -797, -797, -797,
3954 -797, 371, -797, -797, -797, -797, -797, -797, -797, -797,
3955 -797, 86, -797, -797, -797, -797, -797, -797, -797, -797,
3956 -797, -797, -797, -797, -797, -797, -797, -797, -797, -797,
3957 -797, -797, -797, -797, -797, -797, 135, -797, -797, -797,
3958 -797, -797, -797, -797, -797, -797, -797, -797, -797, -797,
3959 -797, -797, -797, 273, 286, -797, -797, -797, -797, -797,
3960 -797, -797, -797, -797, -797, -797, -797, 342, -797, -797,
3961 375, -797, -797, -797, 382, -797, -797, 345, 362, -797,
3962 -797, -797, -797, -797, -797, -797, -797, -797, -797, -797,
3963 -797, -797, 383, 385, -797, -797, -797, -797, 387, 388,
3964 -797, -797, -797, -797, -797, -797, -797, -797, -797, -797,
3965 -797, -797, 138, -797, -797, -797, 386, -797, -797, 389,
3966 -797, 392, 396, -797, -797, 397, 398, -797, -797, -797,
3967 -797, -797, -797, -797, 166, -797, -797, -797, -797, -797,
3968 -797, -797, -797, -797, -797, -797, -797, -797, -797, -797,
3969 -797, -797, 186, -797, -797, -797, 187, -797, -797, -797,
3970 35, 35, -797, 77, 405, 408, 409, 410, 411, -797,
3971 17, -797, 415, 418, 422, 250, 259, 265, 430, 432,
3972 435, 436, 437, 438, 278, 279, 280, 282, 439, 445,
3973 446, 463, 464, 465, 466, 467, 468, 469, 470, 471,
3974 472, 311, 488, 489, 490, 71, -797, 491, 492, 493,
3975 332, 32, -797, 497, 498, 499, 500, 501, 504, 343,
3976 506, 507, 509, 152, -797, 510, -15, -797, 511, 512,
3977 513, 514, 515, 516, 517, 518, -797, 239, -797, 519,
3978 520, 365, 523, 524, 526, 366, -797, 242, 528, 368,
3979 373, -797, 54, 529, 531, -13, -797, 374, 533, 535,
3980 378, 541, 380, 381, 544, 545, 384, 400, 546, 566,
3981 568, 569, 361, -797, 570, 76, -797, 571, 206, -797,
3982 -797, -797, 572, 573, 574, 35, 35, 35, -797, 575,
3983 576, 577, -797, -797, -797, 412, 413, 420, 579, 580,
3984 583, -797, -797, -797, -797, 424, 585, 586, 587, 588,
3985 589, 429, 172, 590, 592, 593, 594, 595, -797, 596,
3986 589, 597, -797, 600, 304, 309, -797, -797, 441, 442,
3987 443, 604, 447, 448, -797, 600, 449, 603, -797, 450,
3988 -797, 600, 451, 452, 453, 454, 455, 456, 457, -797,
3989 458, 459, -797, 460, 461, 462, -797, -797, 473, -797,
3990 -797, -797, 474, 35, -797, -797, 475, 476, -797, 477,
3991 -797, -797, 11, 479, -797, -797, -29, 478, 480, 481,
3992 -797, 623, -797, 624, -797, 35, 71, 76, -797, -797,
3993 -797, 206, 32, 578, -797, -797, -797, 414, 414, 625,
3994 -797, 626, 627, 628, 629, -797, -797, -797, -797, -797,
3995 -797, -797, -797, 66, 630, 637, 640, 5, 95, -797,
3996 361, -797, -797, -797, -797, -797, -797, -797, -797, -797,
3997 -797, -797, 641, -797, -797, -797, -797, 263, -797, -797,
3998 -797, -797, -797, -797, -797, -797, -797, -797, -797, -797,
3999 -797, -797, -797, -797, -797, -797, -797, -797, -797, -797,
4000 -797, -797, -797, -797, -797, -797, -797, -797, -797, -797,
4001 -797, 642, 625, -797, 190, 196, 231, 238, -797, 261,
4002 -797, -797, -797, -797, -797, -797, 646, 647, 648, 649,
4003 650, -797, -797, 651, 652, 653, 654, 655, -797, 262,
4004 -797, -797, -797, -797, -797, -797, -797, -797, -797, -797,
4005 -797, -797, -797, -797, -797, -797, -797, -797, 270, -797,
4006 656, 657, -797, -797, 658, 660, -797, -797, 659, 663,
4007 -797, -797, 661, 665, -797, -797, 664, 666, -797, -797,
4008 -797, -797, -797, -797, 211, -797, -797, -797, -797, -797,
4009 -797, -797, 232, -797, -797, 667, 668, -797, -797, 669,
4010 671, -797, 672, 673, 674, 675, 676, 677, 274, -797,
4011 -797, -797, -797, -797, -797, -797, -797, -797, -797, -797,
4012 -797, 276, -797, -797, -797, 277, 496, -797, 678, 679,
4013 -797, -797, -797, -797, 622, -797, 335, -797, 680, -797,
4014 -797, -797, -797, 681, 578, -797, 683, 684, 685, 686,
4015 434, 525, 530, 527, 532, 687, 688, 534, 536, 537,
4016 538, 539, 414, -797, -797, 414, -797, 625, 152, -797,
4017 626, 242, -797, 627, 54, -797, 628, 195, -797, 629,
4018 66, -797, 234, 630, -797, 239, -797, 637, -25, -797,
4019 640, 540, 542, 543, 547, 548, 549, 5, -797, 690,
4020 693, 95, -797, -797, -797, 695, 696, -15, -797, 641,
4021 701, -797, 10, 642, -797, -797, 551, -797, 347, 552,
4022 553, 554, -797, -797, -797, -797, -797, 555, 556, -797,
4023 -797, -797, -797, -797, -797, 284, -797, 285, -797, 702,
4024 -797, 703, -797, -797, -797, -797, -797, -797, -797, -797,
4025 -797, -797, -797, -797, -797, 292, -797, -797, -797, -797,
4026 -797, -797, -797, -797, -797, -797, -797, 708, -797, -797,
4027 -797, -797, -797, -797, -797, -797, -797, 714, 720, -797,
4028 -797, -797, -797, -797, 716, -797, 319, -797, -797, -797,
4029 -797, -797, -797, -797, -797, 560, 561, -797, -797, 562,
4030 337, -797, 600, -797, 724, -797, -797, -797, -797, -797,
4031 339, -797, -797, -797, -797, -797, -797, -797, -797, -797,
4032 -797, -797, -797, -797, -797, -797, -797, -797, -797, -797,
4033 -797, 195, -797, 725, 563, -797, 234, -797, -797, -797,
4034 -797, -797, -797, -797, 726, 567, 728, 10, -797, -797,
4035 581, -797, -797, 729, -797, 582, -797, -797, 730, -797,
4036 -797, 349, -797, -10, 730, -797, -797, 731, 732, 734,
4037 346, -797, -797, -797, -797, -797, -797, 735, 584, 607,
4038 610, -10, -797, 598, -797, -797, -797, -797, -797
4041 const unsigned short 4042 Dhcp4Parser::yydefact_[] =
4044 0, 2, 4, 6, 8, 10, 12, 14, 16, 18,
4045 20, 22, 24, 26, 28, 0, 0, 0, 0, 0,
4046 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4047 1, 45, 38, 34, 33, 30, 31, 32, 37, 3,
4048 35, 36, 58, 5, 70, 7, 128, 9, 265, 11,
4049 420, 13, 445, 15, 345, 17, 353, 19, 390, 21,
4050 230, 23, 537, 25, 607, 27, 598, 29, 47, 41,
4051 0, 0, 0, 0, 0, 447, 0, 355, 392, 0,
4052 0, 0, 0, 49, 0, 48, 0, 0, 42, 68,
4053 605, 590, 592, 594, 0, 67, 0, 60, 62, 64,
4054 65, 66, 63, 596, 117, 143, 0, 0, 0, 466,
4055 468, 470, 141, 150, 152, 0, 0, 0, 0, 112,
4056 257, 343, 382, 314, 433, 435, 307, 208, 494, 437,
4057 222, 241, 0, 520, 533, 535, 107, 0, 72, 74,
4058 75, 76, 77, 105, 94, 95, 96, 80, 81, 102,
4059 82, 83, 84, 88, 89, 78, 106, 79, 86, 87,
4060 100, 101, 103, 97, 98, 99, 85, 90, 91, 92,
4061 93, 104, 130, 132, 136, 0, 127, 0, 119, 121,
4062 122, 123, 124, 125, 126, 295, 297, 299, 412, 293,
4063 301, 0, 305, 303, 490, 292, 269, 270, 271, 282,
4064 283, 0, 267, 274, 287, 288, 289, 275, 277, 278,
4065 280, 276, 272, 273, 290, 291, 279, 284, 285, 286,
4066 281, 431, 430, 426, 427, 425, 0, 422, 424, 428,
4067 429, 488, 476, 478, 482, 480, 486, 484, 472, 465,
4068 459, 463, 464, 0, 448, 449, 460, 461, 462, 456,
4069 451, 457, 453, 454, 455, 458, 452, 0, 372, 193,
4070 0, 376, 374, 379, 0, 368, 369, 0, 356, 357,
4071 359, 371, 360, 361, 362, 378, 363, 364, 365, 366,
4072 367, 406, 0, 0, 404, 405, 408, 409, 0, 393,
4073 394, 396, 397, 398, 399, 400, 401, 402, 403, 237,
4074 239, 234, 0, 232, 235, 236, 0, 560, 562, 0,
4075 565, 0, 0, 569, 573, 0, 0, 577, 584, 586,
4076 588, 558, 556, 557, 0, 539, 541, 542, 543, 544,
4077 545, 546, 547, 548, 549, 550, 551, 552, 553, 554,
4078 555, 612, 0, 609, 611, 603, 0, 600, 602, 46,
4079 0, 0, 39, 0, 0, 0, 0, 0, 0, 57,
4080 0, 59, 0, 0, 0, 0, 0, 0, 0, 0,
4081 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4082 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4083 0, 0, 0, 0, 0, 0, 71, 0, 0, 0,
4084 0, 0, 129, 0, 0, 0, 0, 0, 0, 0,
4085 0, 0, 0, 0, 266, 0, 0, 421, 0, 0,
4086 0, 0, 0, 0, 0, 0, 446, 0, 346, 0,
4087 0, 0, 0, 0, 0, 0, 354, 0, 0, 0,
4088 0, 391, 0, 0, 0, 0, 231, 0, 0, 0,
4089 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4090 0, 0, 0, 538, 0, 0, 608, 0, 0, 599,
4091 50, 43, 0, 0, 0, 0, 0, 0, 61, 0,
4092 0, 0, 114, 115, 116, 0, 0, 0, 0, 0,
4093 0, 108, 109, 110, 111, 0, 0, 0, 0, 0,
4094 0, 0, 0, 0, 0, 0, 0, 0, 519, 0,
4095 0, 0, 73, 0, 0, 0, 140, 120, 0, 0,
4096 0, 0, 0, 0, 313, 0, 0, 0, 268, 0,
4097 423, 0, 0, 0, 0, 0, 0, 0, 0, 450,
4098 0, 0, 370, 0, 0, 0, 381, 358, 0, 410,
4099 411, 395, 0, 0, 233, 559, 0, 0, 564, 0,
4100 567, 568, 0, 0, 575, 576, 0, 0, 0, 0,
4101 540, 0, 610, 0, 601, 0, 0, 0, 591, 593,
4102 595, 0, 0, 0, 467, 469, 471, 0, 0, 154,
4103 113, 259, 347, 384, 316, 40, 434, 436, 309, 310,
4104 311, 312, 308, 0, 0, 439, 224, 0, 0, 534,
4105 0, 51, 131, 134, 135, 133, 138, 139, 137, 296,
4106 298, 300, 414, 294, 302, 306, 304, 0, 432, 489,
4107 477, 479, 483, 481, 487, 485, 473, 373, 194, 377,
4108 375, 380, 407, 238, 240, 561, 563, 566, 571, 572,
4109 570, 574, 579, 580, 581, 582, 583, 578, 585, 587,
4110 589, 0, 154, 44, 0, 0, 0, 0, 148, 0,
4111 145, 147, 180, 186, 188, 190, 0, 0, 0, 0,
4112 0, 202, 204, 0, 0, 0, 0, 0, 179, 0,
4113 160, 162, 163, 164, 165, 166, 167, 168, 169, 170,
4114 171, 175, 176, 177, 172, 178, 173, 174, 0, 158,
4115 0, 155, 156, 263, 0, 260, 261, 351, 0, 348,
4116 349, 388, 0, 385, 386, 320, 0, 317, 318, 217,
4117 218, 219, 220, 221, 0, 210, 212, 213, 214, 215,
4118 216, 498, 0, 496, 443, 0, 440, 441, 228, 0,
4119 225, 226, 0, 0, 0, 0, 0, 0, 0, 243,
4120 245, 246, 247, 248, 249, 250, 529, 531, 528, 526,
4121 527, 0, 522, 524, 525, 0, 53, 418, 0, 415,
4122 416, 474, 492, 493, 0, 616, 0, 614, 0, 69,
4123 606, 597, 118, 0, 0, 144, 0, 0, 0, 0,
4124 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4125 0, 0, 0, 142, 151, 0, 153, 0, 0, 258,
4126 0, 355, 344, 0, 392, 383, 0, 0, 315, 0,
4127 0, 209, 500, 0, 495, 447, 438, 0, 0, 223,
4128 0, 0, 0, 0, 0, 0, 0, 0, 242, 0,
4129 0, 0, 521, 536, 55, 0, 54, 0, 413, 0,
4130 0, 491, 0, 0, 613, 604, 0, 146, 0, 0,
4131 0, 0, 192, 195, 196, 197, 198, 0, 0, 206,
4132 207, 199, 200, 201, 161, 0, 157, 0, 262, 0,
4133 350, 0, 387, 342, 339, 327, 328, 330, 331, 324,
4134 325, 326, 337, 338, 336, 0, 322, 329, 340, 341,
4135 332, 333, 334, 335, 319, 211, 516, 0, 514, 515,
4136 507, 508, 512, 513, 509, 510, 511, 0, 501, 502,
4137 504, 505, 506, 497, 0, 442, 0, 227, 251, 252,
4138 253, 254, 255, 256, 244, 0, 0, 523, 52, 0,
4139 0, 417, 0, 630, 0, 628, 626, 620, 624, 625,
4140 0, 618, 622, 623, 621, 615, 149, 182, 183, 184,
4141 185, 181, 187, 189, 191, 203, 205, 159, 264, 352,
4142 389, 0, 321, 0, 0, 499, 0, 444, 229, 530,
4143 532, 56, 419, 475, 0, 0, 0, 0, 617, 323,
4144 0, 518, 503, 0, 627, 0, 619, 517, 0, 629,
4145 634, 0, 632, 0, 0, 631, 642, 0, 0, 0,
4146 0, 636, 638, 639, 640, 641, 633, 0, 0, 0,
4147 0, 0, 635, 0, 644, 645, 646, 637, 643
4151 Dhcp4Parser::yypgoto_[] =
4153 -797, -797, -797, -797, -797, -797, -797, -797, -797, -797,
4154 -797, -797, -797, -797, -797, -797, -46, -797, -451, -797,
4155 121, -797, -797, -797, -797, -797, -797, -501, -797, -797,
4156 -797, -70, -797, -797, -797, 312, -797, -797, -797, -797,
4157 107, 348, -47, -44, 4, -797, -797, -797, -797, 12,
4158 15, -797, -797, 158, 340, -797, -797, -797, -797, -797,
4159 -797, -797, -797, -797, -797, -797, -797, -797, -797, -797,
4160 -797, -52, -797, -797, -797, -797, -797, -797, 82, -797,
4161 -72, -797, -563, -59, -797, -797, -797, -797, -797, -797,
4162 -797, -797, -797, -797, -26, -797, -797, -797, -797, -797,
4163 -797, -797, -797, -797, -797, -797, -797, -797, -797, -797,
4164 -797, -797, -81, -797, -797, -797, -797, -797, -797, -797,
4165 -797, -797, -90, -797, -797, -797, -83, 321, -797, -797,
4166 -797, -797, -797, -797, -797, -61, -797, -797, -797, -797,
4167 -797, -797, -796, -797, -797, -797, -43, -797, -797, -797,
4168 -34, 377, -797, -797, -797, -797, -797, -797, -797, -797,
4169 -795, -797, -68, -797, -55, -797, 19, -797, -797, -797,
4170 -797, -797, -797, -797, -38, -797, -797, -184, -63, -797,
4171 -797, -797, -797, -797, -16, -797, -797, -797, -18, -797,
4172 372, -797, -66, -797, -797, -797, -797, -797, -64, -797,
4173 -797, -797, -797, -797, -19, -797, -797, -797, -22, -797,
4174 -797, -797, -14, -797, 379, -797, -797, -797, -797, -797,
4175 -797, -797, -797, -797, -797, -797, -45, -797, -797, -797,
4176 -40, 425, -797, -797, -57, -797, -39, -797, -62, -797,
4177 -797, -797, 7, -797, -797, -797, -8, -797, 407, -7,
4178 -797, -3, -797, 8, -797, 192, -797, -797, -797, -797,
4179 -797, -797, -797, -797, -797, -797, -797, -797, -797, -797,
4180 -797, -797, -797, -790, -797, -797, -797, -797, -797, 14,
4181 -797, -797, -797, -141, -797, -797, -797, -797, -797, -797,
4182 -797, -797, -2, -797, -797, -797, -797, -797, -797, -797,
4183 -797, -797, -797, 240, 390, -797, -797, -797, -797, -797,
4184 -797, -797, -797, -797, -797, -797, -797, -797, -797, -797,
4185 -797, -797, -797, -797, -797, -797, -797, -797, -797, -797,
4186 -797, -797, -797, -797, -797, -797, -797, -797, -797, -797,
4187 -797, 267, 391, -797, -797, -797, -797, -797, -797, 281,
4188 395, -797, -797, -797, -12, -797, -797, -144, -797, -797,
4189 -797, -797, -797, -797, -160, -797, -797, -176, -797, -797,
4194 Dhcp4Parser::yydefgoto_[] =
4196 -1, 15, 16, 17, 18, 19, 20, 21, 22, 23,
4197 24, 25, 26, 27, 28, 29, 38, 39, 40, 69,
4198 596, 87, 88, 41, 68, 84, 85, 612, 776, 855,
4199 856, 688, 43, 70, 96, 97, 98, 354, 45, 71,
4200 137, 138, 139, 140, 141, 142, 143, 378, 144, 145,
4201 146, 147, 363, 177, 178, 47, 72, 179, 397, 180,
4202 398, 615, 181, 399, 618, 182, 148, 371, 149, 364,
4203 669, 670, 671, 793, 150, 372, 151, 373, 710, 711,
4204 712, 815, 689, 690, 691, 796, 971, 692, 797, 693,
4205 798, 694, 799, 695, 696, 430, 697, 698, 699, 700,
4206 701, 702, 703, 704, 805, 705, 806, 706, 707, 152,
4207 386, 734, 735, 736, 737, 738, 739, 740, 153, 389,
4208 749, 750, 751, 838, 61, 79, 302, 303, 304, 443,
4209 305, 444, 154, 390, 758, 759, 760, 761, 762, 763,
4210 764, 765, 155, 379, 714, 715, 716, 818, 49, 73,
4211 201, 202, 203, 407, 204, 403, 205, 404, 206, 405,
4212 207, 408, 208, 411, 209, 410, 156, 385, 602, 211,
4213 157, 382, 726, 727, 728, 827, 905, 906, 158, 380,
4214 55, 76, 718, 719, 720, 821, 57, 77, 267, 268,
4215 269, 270, 271, 272, 273, 429, 274, 433, 275, 432,
4216 276, 277, 434, 278, 159, 381, 722, 723, 724, 824,
4217 59, 78, 288, 289, 290, 291, 292, 438, 293, 294,
4218 295, 296, 213, 406, 778, 779, 780, 857, 51, 74,
4219 226, 227, 228, 415, 160, 383, 161, 384, 162, 388,
4220 745, 746, 747, 835, 53, 75, 243, 244, 245, 163,
4221 368, 164, 369, 165, 370, 249, 425, 783, 860, 250,
4222 419, 251, 420, 252, 422, 253, 421, 254, 424, 255,
4223 423, 256, 418, 220, 412, 784, 166, 387, 742, 743,
4224 832, 927, 928, 929, 930, 931, 983, 932, 167, 168,
4225 392, 771, 772, 773, 849, 774, 850, 169, 393, 170,
4226 394, 63, 80, 324, 325, 326, 327, 448, 328, 449,
4227 329, 330, 451, 331, 332, 333, 454, 650, 334, 455,
4228 335, 336, 337, 458, 657, 338, 459, 339, 460, 340,
4229 461, 99, 356, 100, 357, 101, 358, 171, 362, 67,
4230 82, 346, 347, 348, 467, 102, 355, 65, 81, 342,
4231 343, 344, 464, 786, 787, 862, 960, 961, 962, 963,
4232 996, 964, 994, 1011, 1012, 1013, 1020, 1021, 1022, 1027,
4236 const unsigned short 4237 Dhcp4Parser::yytable_[] =
4239 95, 136, 176, 195, 222, 239, 223, 265, 284, 301,
4240 321, 216, 286, 257, 287, 183, 214, 229, 241, 224,
4241 279, 297, 83, 322, 625, 708, 196, 89, 648, 197,
4242 629, 900, 901, 184, 215, 230, 242, 913, 280, 298,
4243 31, 323, 32, 30, 33, 42, 172, 173, 122, 595,
4244 174, 266, 285, 175, 212, 225, 240, 44, 360, 595,
4245 221, 124, 125, 361, 395, 46, 217, 48, 246, 396,
4246 218, 50, 247, 192, 259, 401, 193, 198, 299, 300,
4247 402, 219, 103, 248, 104, 199, 124, 125, 200, 413,
4248 299, 300, 210, 105, 414, 106, 107, 108, 109, 110,
4249 111, 112, 113, 114, 652, 653, 654, 655, 124, 125,
4250 52, 752, 753, 754, 755, 756, 757, 54, 259, 281,
4251 260, 261, 282, 283, 115, 116, 117, 118, 119, 120,
4252 124, 125, 1016, 121, 122, 1017, 1018, 1019, 416, 656,
4253 94, 445, 649, 417, 123, 86, 446, 124, 125, 56,
4254 94, 953, 126, 954, 955, 58, 90, 127, 128, 729,
4255 730, 731, 732, 129, 733, 91, 92, 93, 60, 462,
4256 62, 124, 125, 130, 463, 94, 131, 107, 108, 109,
4257 110, 111, 94, 132, 133, 900, 901, 134, 135, 465,
4258 468, 913, 64, 395, 466, 469, 66, 94, 789, 465,
4259 34, 35, 36, 37, 790, 115, 116, 117, 121, 766,
4260 767, 185, 186, 187, 830, 122, 341, 831, 345, 94,
4261 107, 108, 109, 110, 111, 349, 188, 350, 124, 125,
4262 189, 190, 191, 126, 468, 833, 94, 351, 834, 791,
4263 192, 401, 472, 193, 129, 352, 792, 353, 115, 116,
4264 117, 194, 885, 120, 598, 599, 600, 601, 122, 259,
4265 94, 109, 110, 111, 794, 812, 109, 110, 111, 795,
4266 813, 124, 125, 812, 190, 258, 126, 847, 814, 851,
4267 462, 426, 848, 192, 852, 853, 193, 812, 413, 427,
4268 95, 359, 977, 978, 194, 981, 121, 122, 259, 365,
4269 982, 366, 122, 367, 470, 471, 259, 374, 260, 261,
4270 124, 125, 262, 263, 264, 124, 125, 94, 124, 125,
4271 613, 614, 445, 916, 917, 136, 231, 988, 616, 617,
4272 375, 176, 232, 233, 234, 235, 236, 237, 863, 238,
4273 416, 864, 997, 195, 183, 992, 222, 998, 223, 1031,
4274 428, 216, 1014, 436, 1032, 1015, 214, 239, 376, 229,
4275 94, 224, 184, 238, 781, 437, 196, 265, 377, 197,
4276 241, 391, 284, 400, 215, 409, 286, 230, 287, 431,
4277 279, 967, 968, 969, 970, 297, 435, 439, 242, 440,
4278 447, 442, 321, 450, 212, 441, 452, 225, 280, 94,
4279 453, 456, 457, 298, 94, 322, 217, 94, 240, 473,
4280 218, 266, 474, 475, 476, 477, 285, 198, 482, 479,
4281 246, 219, 480, 323, 247, 199, 481, 483, 200, 578,
4282 579, 580, 210, 484, 485, 248, 486, 124, 125, 487,
4283 488, 489, 490, 495, 491, 492, 493, 672, 494, 496,
4284 497, 993, 673, 674, 675, 676, 677, 678, 679, 680,
4285 681, 682, 683, 684, 685, 686, 687, 498, 499, 500,
4286 501, 502, 503, 504, 505, 506, 507, 508, 259, 306,
4287 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
4288 317, 318, 509, 510, 511, 513, 514, 515, 319, 320,
4289 516, 518, 519, 520, 521, 522, 136, 644, 523, 524,
4290 525, 526, 176, 527, 529, 531, 532, 533, 534, 535,
4291 536, 537, 538, 540, 541, 183, 94, 543, 544, 663,
4292 545, 542, 548, 552, 546, 553, 549, 556, 768, 557,
4293 321, 550, 555, 184, 558, 559, 560, 561, 562, 563,
4294 566, 769, 564, 322, 1, 2, 3, 4, 5, 6,
4295 7, 8, 9, 10, 11, 12, 13, 14, 565, 770,
4296 567, 323, 568, 569, 571, 573, 575, 584, 585, 94,
4297 576, 577, 581, 582, 583, 586, 587, 588, 589, 590,
4298 591, 592, 593, 594, 597, 603, 32, 604, 605, 606,
4299 872, 668, 607, 608, 610, 611, 619, 620, 621, 622,
4300 627, 651, 623, 624, 626, 628, 630, 631, 632, 633,
4301 634, 635, 636, 637, 638, 639, 640, 641, 661, 662,
4302 861, 609, 709, 713, 717, 721, 725, 741, 642, 643,
4303 645, 646, 647, 658, 744, 659, 660, 748, 777, 785,
4304 800, 801, 802, 803, 804, 807, 808, 809, 810, 811,
4305 817, 854, 816, 820, 819, 822, 823, 825, 826, 829,
4306 828, 837, 478, 836, 840, 839, 841, 842, 843, 844,
4307 845, 846, 859, 664, 858, 866, 865, 868, 869, 870,
4308 871, 877, 878, 873, 945, 875, 874, 946, 876, 949,
4309 879, 948, 880, 881, 882, 952, 938, 883, 939, 940,
4310 979, 980, 984, 941, 942, 943, 966, 972, 973, 974,
4311 975, 976, 985, 986, 987, 989, 990, 991, 995, 1000,
4312 1003, 1001, 1005, 1004, 1008, 1028, 1029, 1010, 1030, 1033,
4313 667, 517, 867, 512, 788, 886, 1007, 1009, 195, 915,
4314 937, 265, 1034, 884, 284, 936, 216, 893, 286, 902,
4315 287, 214, 918, 1038, 279, 239, 554, 297, 301, 920,
4316 908, 196, 903, 1035, 197, 922, 1036, 888, 241, 215,
4317 894, 768, 280, 895, 887, 298, 944, 222, 909, 223,
4318 528, 914, 956, 923, 769, 266, 242, 999, 285, 212,
4319 229, 899, 224, 889, 892, 958, 919, 890, 907, 547,
4320 891, 217, 770, 921, 951, 218, 240, 950, 230, 782,
4321 910, 551, 198, 959, 911, 924, 219, 934, 246, 925,
4322 199, 896, 247, 200, 539, 912, 957, 210, 225, 897,
4323 926, 530, 898, 248, 935, 1002, 904, 933, 666, 947,
4324 775, 965, 570, 1006, 1026, 1037, 0, 0, 665, 574,
4325 572, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4326 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4327 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4328 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4329 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4330 0, 893, 0, 902, 0, 0, 918, 0, 0, 0,
4331 0, 0, 0, 920, 908, 0, 903, 956, 0, 922,
4332 0, 0, 0, 0, 894, 0, 0, 895, 0, 0,
4333 958, 0, 909, 0, 0, 0, 0, 923, 0, 0,
4334 0, 0, 0, 0, 0, 899, 0, 0, 959, 0,
4335 919, 0, 907, 0, 0, 0, 0, 921, 0, 0,
4336 0, 957, 0, 0, 910, 0, 0, 0, 911, 924,
4337 0, 0, 0, 925, 0, 896, 0, 0, 0, 912,
4338 0, 0, 0, 897, 926, 0, 898, 0, 0, 0,
4343 Dhcp4Parser::yycheck_[] =
4345 70, 71, 72, 73, 74, 75, 74, 77, 78, 79,
4346 80, 73, 78, 76, 78, 72, 73, 74, 75, 74,
4347 77, 78, 68, 80, 525, 588, 73, 10, 17, 73,
4348 531, 827, 827, 72, 73, 74, 75, 827, 77, 78,
4349 5, 80, 7, 0, 9, 7, 14, 15, 63, 500,
4350 18, 77, 78, 21, 73, 74, 75, 7, 3, 510,
4351 75, 76, 77, 8, 3, 7, 73, 7, 75, 8,
4352 73, 7, 75, 88, 64, 3, 91, 73, 103, 104,
4353 8, 73, 11, 75, 13, 73, 76, 77, 73, 3,
4354 103, 104, 73, 22, 8, 24, 25, 26, 27, 28,
4355 29, 30, 31, 32, 133, 134, 135, 136, 76, 77,
4356 7, 106, 107, 108, 109, 110, 111, 7, 64, 65,
4357 66, 67, 68, 69, 53, 54, 55, 56, 57, 58,
4358 76, 77, 142, 62, 63, 145, 146, 147, 3, 168,
4359 165, 3, 131, 8, 73, 165, 8, 76, 77, 7,
4360 165, 141, 81, 143, 144, 7, 139, 86, 87, 93,
4361 94, 95, 96, 92, 98, 148, 149, 150, 7, 3,
4362 7, 76, 77, 102, 8, 165, 105, 25, 26, 27,
4363 28, 29, 165, 112, 113, 981, 981, 116, 117, 3,
4364 3, 981, 7, 3, 8, 8, 7, 165, 8, 3,
4365 165, 166, 167, 168, 8, 53, 54, 55, 62, 114,
4366 115, 59, 60, 61, 3, 63, 140, 6, 12, 165,
4367 25, 26, 27, 28, 29, 6, 74, 3, 76, 77,
4368 78, 79, 80, 81, 3, 3, 165, 4, 6, 8,
4369 88, 3, 165, 91, 92, 8, 8, 3, 53, 54,
4370 55, 99, 815, 58, 82, 83, 84, 85, 63, 64,
4371 165, 27, 28, 29, 3, 3, 27, 28, 29, 8,
4372 8, 76, 77, 3, 79, 33, 81, 3, 8, 3,
4373 3, 8, 8, 88, 8, 8, 91, 3, 3, 3,
4374 360, 4, 8, 8, 99, 3, 62, 63, 64, 4,
4375 8, 4, 63, 4, 350, 351, 64, 4, 66, 67,
4376 76, 77, 70, 71, 72, 76, 77, 165, 76, 77,
4377 16, 17, 3, 89, 90, 395, 87, 8, 19, 20,
4378 4, 401, 93, 94, 95, 96, 97, 98, 3, 100,
4379 3, 6, 3, 413, 401, 8, 416, 8, 416, 3,
4380 8, 413, 3, 8, 8, 6, 413, 427, 4, 416,
4381 165, 416, 401, 100, 101, 3, 413, 437, 4, 413,
4382 427, 4, 442, 4, 413, 4, 442, 416, 442, 4,
4383 437, 34, 35, 36, 37, 442, 4, 4, 427, 4,
4384 4, 3, 462, 4, 413, 8, 4, 416, 437, 165,
4385 4, 4, 4, 442, 165, 462, 413, 165, 427, 4,
4386 413, 437, 4, 4, 4, 4, 442, 413, 168, 4,
4387 427, 413, 4, 462, 427, 413, 4, 168, 413, 475,
4388 476, 477, 413, 168, 4, 427, 4, 76, 77, 4,
4389 4, 4, 4, 4, 166, 166, 166, 33, 166, 4,
4390 4, 952, 38, 39, 40, 41, 42, 43, 44, 45,
4391 46, 47, 48, 49, 50, 51, 52, 4, 4, 4,
4392 4, 4, 4, 4, 4, 4, 4, 166, 64, 118,
4393 119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
4394 129, 130, 4, 4, 4, 4, 4, 4, 137, 138,
4395 168, 4, 4, 4, 4, 4, 576, 553, 4, 166,
4396 4, 4, 582, 4, 4, 4, 4, 4, 4, 4,
4397 4, 4, 4, 4, 4, 582, 165, 4, 4, 575,
4398 4, 166, 4, 4, 168, 4, 168, 4, 608, 4,
4399 610, 168, 168, 582, 166, 4, 166, 166, 4, 4,
4400 4, 608, 168, 610, 151, 152, 153, 154, 155, 156,
4401 157, 158, 159, 160, 161, 162, 163, 164, 168, 608,
4402 4, 610, 4, 4, 4, 4, 4, 165, 165, 165,
4403 7, 7, 7, 7, 7, 165, 7, 7, 5, 165,
4404 5, 5, 5, 5, 165, 5, 7, 5, 5, 5,
4405 166, 23, 7, 7, 7, 5, 165, 165, 165, 5,
4406 7, 132, 165, 165, 165, 165, 165, 165, 165, 165,
4407 165, 165, 165, 165, 165, 165, 165, 165, 5, 5,
4408 8, 510, 7, 7, 7, 7, 7, 7, 165, 165,
4409 165, 165, 165, 165, 7, 165, 165, 7, 7, 7,
4410 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4411 3, 165, 6, 3, 6, 6, 3, 6, 3, 3,
4412 6, 3, 360, 6, 3, 6, 4, 4, 4, 4,
4413 4, 4, 3, 576, 6, 4, 6, 4, 4, 4,
4414 4, 4, 4, 168, 4, 168, 166, 4, 166, 3,
4415 166, 6, 166, 166, 166, 4, 166, 168, 166, 166,
4416 8, 8, 4, 166, 166, 166, 165, 165, 165, 165,
4417 165, 165, 8, 3, 8, 165, 165, 165, 4, 4,
4418 4, 168, 4, 166, 5, 4, 4, 7, 4, 4,
4419 582, 401, 794, 395, 662, 817, 165, 165, 818, 830,
4420 840, 821, 168, 812, 824, 838, 818, 827, 824, 827,
4421 824, 818, 832, 165, 821, 835, 445, 824, 838, 832,
4422 827, 818, 827, 166, 818, 832, 166, 820, 835, 818,
4423 827, 851, 821, 827, 818, 824, 847, 857, 827, 857,
4424 413, 829, 862, 832, 851, 821, 835, 981, 824, 818,
4425 857, 827, 857, 821, 826, 862, 832, 823, 827, 437,
4426 824, 818, 851, 832, 859, 818, 835, 857, 857, 627,
4427 827, 442, 818, 862, 827, 832, 818, 835, 835, 832,
4428 818, 827, 835, 818, 427, 827, 862, 818, 857, 827,
4429 832, 416, 827, 835, 837, 986, 827, 833, 581, 851,
4430 610, 863, 462, 997, 1014, 1031, -1, -1, 577, 468,
4431 465, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4432 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4433 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4434 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4435 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4436 -1, 981, -1, 981, -1, -1, 986, -1, -1, -1,
4437 -1, -1, -1, 986, 981, -1, 981, 997, -1, 986,
4438 -1, -1, -1, -1, 981, -1, -1, 981, -1, -1,
4439 997, -1, 981, -1, -1, -1, -1, 986, -1, -1,
4440 -1, -1, -1, -1, -1, 981, -1, -1, 997, -1,
4441 986, -1, 981, -1, -1, -1, -1, 986, -1, -1,
4442 -1, 997, -1, -1, 981, -1, -1, -1, 981, 986,
4443 -1, -1, -1, 986, -1, 981, -1, -1, -1, 981,
4444 -1, -1, -1, 981, 986, -1, 981, -1, -1, -1,
4448 const unsigned short 4449 Dhcp4Parser::yystos_[] =
4451 0, 151, 152, 153, 154, 155, 156, 157, 158, 159,
4452 160, 161, 162, 163, 164, 170, 171, 172, 173, 174,
4453 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
4454 0, 5, 7, 9, 165, 166, 167, 168, 185, 186,
4455 187, 192, 7, 201, 7, 207, 7, 224, 7, 317,
4456 7, 397, 7, 413, 7, 349, 7, 355, 7, 379,
4457 7, 293, 7, 470, 7, 516, 7, 508, 193, 188,
4458 202, 208, 225, 318, 398, 414, 350, 356, 380, 294,
4459 471, 517, 509, 185, 194, 195, 165, 190, 191, 10,
4460 139, 148, 149, 150, 165, 200, 203, 204, 205, 500,
4461 502, 504, 514, 11, 13, 22, 24, 25, 26, 27,
4462 28, 29, 30, 31, 32, 53, 54, 55, 56, 57,
4463 58, 62, 63, 73, 76, 77, 81, 86, 87, 92,
4464 102, 105, 112, 113, 116, 117, 200, 209, 210, 211,
4465 212, 213, 214, 215, 217, 218, 219, 220, 235, 237,
4466 243, 245, 278, 287, 301, 311, 335, 339, 347, 373,
4467 403, 405, 407, 418, 420, 422, 445, 457, 458, 466,
4468 468, 506, 14, 15, 18, 21, 200, 222, 223, 226,
4469 228, 231, 234, 403, 405, 59, 60, 61, 74, 78,
4470 79, 80, 88, 91, 99, 200, 211, 212, 213, 218,
4471 219, 319, 320, 321, 323, 325, 327, 329, 331, 333,
4472 335, 338, 373, 391, 403, 405, 407, 418, 420, 422,
4473 442, 75, 200, 331, 333, 373, 399, 400, 401, 403,
4474 405, 87, 93, 94, 95, 96, 97, 98, 100, 200,
4475 373, 403, 405, 415, 416, 417, 418, 420, 422, 424,
4476 428, 430, 432, 434, 436, 438, 440, 347, 33, 64,
4477 66, 67, 70, 71, 72, 200, 263, 357, 358, 359,
4478 360, 361, 362, 363, 365, 367, 369, 370, 372, 403,
4479 405, 65, 68, 69, 200, 263, 361, 367, 381, 382,
4480 383, 384, 385, 387, 388, 389, 390, 403, 405, 103,
4481 104, 200, 295, 296, 297, 299, 118, 119, 120, 121,
4482 122, 123, 124, 125, 126, 127, 128, 129, 130, 137,
4483 138, 200, 403, 405, 472, 473, 474, 475, 477, 479,
4484 480, 482, 483, 484, 487, 489, 490, 491, 494, 496,
4485 498, 140, 518, 519, 520, 12, 510, 511, 512, 6,
4486 3, 4, 8, 3, 206, 515, 501, 503, 505, 4,
4487 3, 8, 507, 221, 238, 4, 4, 4, 419, 421,
4488 423, 236, 244, 246, 4, 4, 4, 4, 216, 312,
4489 348, 374, 340, 404, 406, 336, 279, 446, 408, 288,
4490 302, 4, 459, 467, 469, 3, 8, 227, 229, 232,
4491 4, 3, 8, 324, 326, 328, 392, 322, 330, 4,
4492 334, 332, 443, 3, 8, 402, 3, 8, 441, 429,
4493 431, 435, 433, 439, 437, 425, 8, 3, 8, 364,
4494 264, 4, 368, 366, 371, 4, 8, 3, 386, 4,
4495 4, 8, 3, 298, 300, 3, 8, 4, 476, 478,
4496 4, 481, 4, 4, 485, 488, 4, 4, 492, 495,
4497 497, 499, 3, 8, 521, 3, 8, 513, 3, 8,
4498 185, 185, 165, 4, 4, 4, 4, 4, 204, 4,
4499 4, 4, 168, 168, 168, 4, 4, 4, 4, 4,
4500 4, 166, 166, 166, 166, 4, 4, 4, 4, 4,
4501 4, 4, 4, 4, 4, 4, 4, 4, 166, 4,
4502 4, 4, 210, 4, 4, 4, 168, 223, 4, 4,
4503 4, 4, 4, 4, 166, 4, 4, 4, 320, 4,
4504 400, 4, 4, 4, 4, 4, 4, 4, 4, 417,
4505 4, 4, 166, 4, 4, 4, 168, 359, 4, 168,
4506 168, 383, 4, 4, 296, 168, 4, 4, 166, 4,
4507 166, 166, 4, 4, 168, 168, 4, 4, 4, 4,
4508 473, 4, 519, 4, 511, 4, 7, 7, 185, 185,
4509 185, 7, 7, 7, 165, 165, 165, 7, 7, 5,
4510 165, 5, 5, 5, 5, 187, 189, 165, 82, 83,
4511 84, 85, 337, 5, 5, 5, 5, 7, 7, 189,
4512 7, 5, 196, 16, 17, 230, 19, 20, 233, 165,
4513 165, 165, 5, 165, 165, 196, 165, 7, 165, 196,
4514 165, 165, 165, 165, 165, 165, 165, 165, 165, 165,
4515 165, 165, 165, 165, 185, 165, 165, 165, 17, 131,
4516 486, 132, 133, 134, 135, 136, 168, 493, 165, 165,
4517 165, 5, 5, 185, 209, 518, 510, 222, 23, 239,
4518 240, 241, 33, 38, 39, 40, 41, 42, 43, 44,
4519 45, 46, 47, 48, 49, 50, 51, 52, 200, 251,
4520 252, 253, 256, 258, 260, 262, 263, 265, 266, 267,
4521 268, 269, 270, 271, 272, 274, 276, 277, 251, 7,
4522 247, 248, 249, 7, 313, 314, 315, 7, 351, 352,
4523 353, 7, 375, 376, 377, 7, 341, 342, 343, 93,
4524 94, 95, 96, 98, 280, 281, 282, 283, 284, 285,
4525 286, 7, 447, 448, 7, 409, 410, 411, 7, 289,
4526 290, 291, 106, 107, 108, 109, 110, 111, 303, 304,
4527 305, 306, 307, 308, 309, 310, 114, 115, 200, 403,
4528 405, 460, 461, 462, 464, 472, 197, 7, 393, 394,
4529 395, 101, 424, 426, 444, 7, 522, 523, 247, 8,
4530 8, 8, 8, 242, 3, 8, 254, 257, 259, 261,
4531 4, 4, 4, 4, 4, 273, 275, 4, 4, 4,
4532 4, 4, 3, 8, 8, 250, 6, 3, 316, 6,
4533 3, 354, 6, 3, 378, 6, 3, 344, 6, 3,
4534 3, 6, 449, 3, 6, 412, 6, 3, 292, 6,
4535 3, 4, 4, 4, 4, 4, 4, 3, 8, 463,
4536 465, 3, 8, 8, 165, 198, 199, 396, 6, 3,
4537 427, 8, 524, 3, 6, 6, 4, 240, 4, 4,
4538 4, 4, 166, 168, 166, 168, 166, 4, 4, 166,
4539 166, 166, 166, 168, 252, 251, 249, 319, 315, 357,
4540 353, 381, 377, 200, 211, 212, 213, 218, 219, 263,
4541 311, 329, 331, 333, 335, 345, 346, 373, 403, 405,
4542 418, 420, 422, 442, 343, 281, 89, 90, 200, 263,
4543 347, 373, 403, 405, 418, 420, 422, 450, 451, 452,
4544 453, 454, 456, 448, 415, 411, 295, 291, 166, 166,
4545 166, 166, 166, 166, 304, 4, 4, 461, 6, 3,
4546 399, 395, 4, 141, 143, 144, 200, 263, 403, 405,
4547 525, 526, 527, 528, 530, 523, 165, 34, 35, 36,
4548 37, 255, 165, 165, 165, 165, 165, 8, 8, 8,
4549 8, 3, 8, 455, 4, 8, 3, 8, 8, 165,
4550 165, 165, 8, 196, 531, 4, 529, 3, 8, 346,
4551 4, 168, 452, 4, 166, 4, 526, 165, 5, 165,
4552 7, 532, 533, 534, 3, 6, 142, 145, 146, 147,
4553 535, 536, 537, 539, 540, 541, 533, 538, 4, 4,
4554 4, 3, 8, 4, 168, 166, 166, 536, 165
4557 const unsigned short 4558 Dhcp4Parser::yyr1_[] =
4560 0, 169, 171, 170, 172, 170, 173, 170, 174, 170,
4561 175, 170, 176, 170, 177, 170, 178, 170, 179, 170,
4562 180, 170, 181, 170, 182, 170, 183, 170, 184, 170,
4563 185, 185, 185, 185, 185, 185, 185, 186, 188, 187,
4564 189, 190, 190, 191, 191, 193, 192, 194, 194, 195,
4565 195, 197, 196, 198, 198, 199, 199, 200, 202, 201,
4566 203, 203, 204, 204, 204, 204, 204, 204, 206, 205,
4567 208, 207, 209, 209, 210, 210, 210, 210, 210, 210,
4568 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
4569 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
4570 210, 210, 210, 210, 210, 210, 210, 210, 211, 212,
4571 213, 214, 216, 215, 217, 218, 219, 221, 220, 222,
4572 222, 223, 223, 223, 223, 223, 223, 223, 225, 224,
4573 227, 226, 229, 228, 230, 230, 232, 231, 233, 233,
4574 234, 236, 235, 238, 237, 239, 239, 240, 242, 241,
4575 244, 243, 246, 245, 247, 247, 248, 248, 250, 249,
4576 251, 251, 252, 252, 252, 252, 252, 252, 252, 252,
4577 252, 252, 252, 252, 252, 252, 252, 252, 252, 252,
4578 254, 253, 255, 255, 255, 255, 257, 256, 259, 258,
4579 261, 260, 262, 264, 263, 265, 266, 267, 268, 269,
4580 270, 271, 273, 272, 275, 274, 276, 277, 279, 278,
4581 280, 280, 281, 281, 281, 281, 281, 282, 283, 284,
4582 285, 286, 288, 287, 289, 289, 290, 290, 292, 291,
4583 294, 293, 295, 295, 295, 296, 296, 298, 297, 300,
4584 299, 302, 301, 303, 303, 304, 304, 304, 304, 304,
4585 304, 305, 306, 307, 308, 309, 310, 312, 311, 313,
4586 313, 314, 314, 316, 315, 318, 317, 319, 319, 320,
4587 320, 320, 320, 320, 320, 320, 320, 320, 320, 320,
4588 320, 320, 320, 320, 320, 320, 320, 320, 320, 320,
4589 320, 320, 320, 322, 321, 324, 323, 326, 325, 328,
4590 327, 330, 329, 332, 331, 334, 333, 336, 335, 337,
4591 337, 337, 337, 338, 340, 339, 341, 341, 342, 342,
4592 344, 343, 345, 345, 346, 346, 346, 346, 346, 346,
4593 346, 346, 346, 346, 346, 346, 346, 346, 346, 346,
4594 346, 346, 346, 348, 347, 350, 349, 351, 351, 352,
4595 352, 354, 353, 356, 355, 357, 357, 358, 358, 359,
4596 359, 359, 359, 359, 359, 359, 359, 359, 359, 360,
4597 361, 362, 364, 363, 366, 365, 368, 367, 369, 371,
4598 370, 372, 374, 373, 375, 375, 376, 376, 378, 377,
4599 380, 379, 381, 381, 382, 382, 383, 383, 383, 383,
4600 383, 383, 383, 383, 383, 384, 386, 385, 387, 388,
4601 389, 390, 392, 391, 393, 393, 394, 394, 396, 395,
4602 398, 397, 399, 399, 400, 400, 400, 400, 400, 400,
4603 400, 402, 401, 404, 403, 406, 405, 408, 407, 409,
4604 409, 410, 410, 412, 411, 414, 413, 415, 415, 416,
4605 416, 417, 417, 417, 417, 417, 417, 417, 417, 417,
4606 417, 417, 417, 417, 417, 417, 419, 418, 421, 420,
4607 423, 422, 425, 424, 427, 426, 429, 428, 431, 430,
4608 433, 432, 435, 434, 437, 436, 439, 438, 441, 440,
4609 443, 442, 444, 444, 446, 445, 447, 447, 449, 448,
4610 450, 450, 451, 451, 452, 452, 452, 452, 452, 452,
4611 452, 452, 452, 452, 452, 453, 455, 454, 456, 457,
4612 459, 458, 460, 460, 461, 461, 461, 461, 461, 463,
4613 462, 465, 464, 467, 466, 469, 468, 471, 470, 472,
4614 472, 473, 473, 473, 473, 473, 473, 473, 473, 473,
4615 473, 473, 473, 473, 473, 473, 473, 473, 473, 474,
4616 476, 475, 478, 477, 479, 481, 480, 482, 483, 485,
4617 484, 486, 486, 488, 487, 489, 490, 492, 491, 493,
4618 493, 493, 493, 493, 495, 494, 497, 496, 499, 498,
4619 501, 500, 503, 502, 505, 504, 507, 506, 509, 508,
4620 510, 510, 511, 513, 512, 515, 514, 517, 516, 518,
4621 518, 519, 521, 520, 522, 522, 524, 523, 525, 525,
4622 526, 526, 526, 526, 526, 526, 526, 527, 529, 528,
4623 531, 530, 532, 532, 534, 533, 535, 535, 536, 536,
4624 536, 536, 538, 537, 539, 540, 541
4628 Dhcp4Parser::yyr2_[] =
4630 0, 2, 0, 3, 0, 3, 0, 3, 0, 3,
4631 0, 3, 0, 3, 0, 3, 0, 3, 0, 3,
4632 0, 3, 0, 3, 0, 3, 0, 3, 0, 3,
4633 1, 1, 1, 1, 1, 1, 1, 1, 0, 4,
4634 1, 0, 1, 3, 5, 0, 4, 0, 1, 1,
4635 3, 0, 4, 0, 1, 1, 3, 2, 0, 4,
4636 1, 3, 1, 1, 1, 1, 1, 1, 0, 6,
4637 0, 4, 1, 3, 1, 1, 1, 1, 1, 1,
4638 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
4639 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
4640 1, 1, 1, 1, 1, 1, 1, 1, 3, 3,
4641 3, 3, 0, 4, 3, 3, 3, 0, 6, 1,
4642 3, 1, 1, 1, 1, 1, 1, 1, 0, 4,
4643 0, 4, 0, 4, 1, 1, 0, 4, 1, 1,
4644 3, 0, 6, 0, 6, 1, 3, 1, 0, 4,
4645 0, 6, 0, 6, 0, 1, 1, 3, 0, 4,
4646 1, 3, 1, 1, 1, 1, 1, 1, 1, 1,
4647 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
4648 0, 4, 1, 1, 1, 1, 0, 4, 0, 4,
4649 0, 4, 3, 0, 4, 3, 3, 3, 3, 3,
4650 3, 3, 0, 4, 0, 4, 3, 3, 0, 6,
4651 1, 3, 1, 1, 1, 1, 1, 1, 1, 1,
4652 1, 1, 0, 6, 0, 1, 1, 3, 0, 4,
4653 0, 4, 1, 3, 1, 1, 1, 0, 4, 0,
4654 4, 0, 6, 1, 3, 1, 1, 1, 1, 1,
4655 1, 3, 3, 3, 3, 3, 3, 0, 6, 0,
4656 1, 1, 3, 0, 4, 0, 4, 1, 3, 1,
4657 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
4658 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
4659 1, 1, 1, 0, 4, 0, 4, 0, 4, 0,
4660 4, 0, 4, 0, 4, 0, 4, 0, 4, 1,
4661 1, 1, 1, 3, 0, 6, 0, 1, 1, 3,
4662 0, 4, 1, 3, 1, 1, 1, 1, 1, 1,
4663 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
4664 1, 1, 1, 0, 6, 0, 4, 0, 1, 1,
4665 3, 0, 4, 0, 4, 0, 1, 1, 3, 1,
4666 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
4667 3, 1, 0, 4, 0, 4, 0, 4, 1, 0,
4668 4, 3, 0, 6, 0, 1, 1, 3, 0, 4,
4669 0, 4, 0, 1, 1, 3, 1, 1, 1, 1,
4670 1, 1, 1, 1, 1, 1, 0, 4, 1, 1,
4671 3, 3, 0, 6, 0, 1, 1, 3, 0, 4,
4672 0, 4, 1, 3, 1, 1, 1, 1, 1, 1,
4673 1, 0, 4, 0, 4, 0, 4, 0, 6, 0,
4674 1, 1, 3, 0, 4, 0, 4, 0, 1, 1,
4675 3, 1, 1, 1, 1, 1, 1, 1, 1, 1,
4676 1, 1, 1, 1, 1, 1, 0, 4, 0, 4,
4677 0, 4, 0, 4, 0, 4, 0, 4, 0, 4,
4678 0, 4, 0, 4, 0, 4, 0, 4, 0, 4,
4679 0, 6, 1, 1, 0, 6, 1, 3, 0, 4,
4680 0, 1, 1, 3, 1, 1, 1, 1, 1, 1,
4681 1, 1, 1, 1, 1, 1, 0, 4, 3, 3,
4682 0, 6, 1, 3, 1, 1, 1, 1, 1, 0,
4683 4, 0, 4, 0, 4, 0, 6, 0, 4, 1,
4684 3, 1, 1, 1, 1, 1, 1, 1, 1, 1,
4685 1, 1, 1, 1, 1, 1, 1, 1, 1, 3,
4686 0, 4, 0, 4, 3, 0, 4, 3, 3, 0,
4687 4, 1, 1, 0, 4, 3, 3, 0, 4, 1,
4688 1, 1, 1, 1, 0, 4, 0, 4, 0, 4,
4689 0, 4, 0, 4, 0, 4, 0, 6, 0, 4,
4690 1, 3, 1, 0, 6, 0, 6, 0, 4, 1,
4691 3, 1, 0, 6, 1, 3, 0, 4, 1, 3,
4692 1, 1, 1, 1, 1, 1, 1, 3, 0, 4,
4693 0, 6, 1, 3, 0, 4, 1, 3, 1, 1,
4702 const Dhcp4Parser::yytname_[] =
4704 "\"end of file\"",
"error",
"$undefined",
"\",\"",
"\":\"",
"\"[\"",
4705 "\"]\"",
"\"{\"",
"\"}\"",
"\"null\"",
"\"Dhcp4\"",
"\"config-control\"",
4706 "\"config-databases\"",
"\"interfaces-config\"",
"\"interfaces\"",
4707 "\"dhcp-socket-type\"",
"\"raw\"",
"\"udp\"",
"\"outbound-interface\"",
4708 "\"same-as-inbound\"",
"\"use-routing\"",
"\"re-detect\"",
4709 "\"sanity-checks\"",
"\"lease-checks\"",
"\"echo-client-id\"",
4710 "\"match-client-id\"",
"\"authoritative\"",
"\"next-server\"",
4711 "\"server-hostname\"",
"\"boot-file-name\"",
"\"lease-database\"",
4712 "\"hosts-database\"",
"\"hosts-databases\"",
"\"type\"",
"\"memfile\"",
4713 "\"mysql\"",
"\"postgresql\"",
"\"cql\"",
"\"user\"",
"\"password\"",
4714 "\"host\"",
"\"port\"",
"\"persist\"",
"\"lfc-interval\"",
4715 "\"readonly\"",
"\"connect-timeout\"",
"\"contact-points\"",
4716 "\"keyspace\"",
"\"max-reconnect-tries\"",
"\"reconnect-wait-time\"",
4717 "\"request-timeout\"",
"\"tcp-keepalive\"",
"\"tcp-nodelay\"",
4718 "\"valid-lifetime\"",
"\"renew-timer\"",
"\"rebind-timer\"",
4719 "\"decline-probation-period\"",
"\"server-tag\"",
"\"subnet4\"",
4720 "\"4o6-interface\"",
"\"4o6-interface-id\"",
"\"4o6-subnet\"",
4721 "\"option-def\"",
"\"option-data\"",
"\"name\"",
"\"data\"",
"\"code\"",
4722 "\"space\"",
"\"csv-format\"",
"\"always-send\"",
"\"record-types\"",
4723 "\"encapsulate\"",
"\"array\"",
"\"shared-networks\"",
"\"pools\"",
4724 "\"pool\"",
"\"user-context\"",
"\"comment\"",
"\"subnet\"",
4725 "\"interface\"",
"\"id\"",
"\"reservation-mode\"",
"\"disabled\"",
4726 "\"out-of-pool\"",
"\"global\"",
"\"all\"",
4727 "\"host-reservation-identifiers\"",
"\"client-classes\"",
4728 "\"require-client-classes\"",
"\"test\"",
"\"only-if-required\"",
4729 "\"client-class\"",
"\"reservations\"",
"\"duid\"",
"\"hw-address\"",
4730 "\"circuit-id\"",
"\"client-id\"",
"\"hostname\"",
"\"flex-id\"",
4731 "\"relay\"",
"\"ip-address\"",
"\"ip-addresses\"",
"\"hooks-libraries\"",
4732 "\"library\"",
"\"parameters\"",
"\"expired-leases-processing\"",
4733 "\"reclaim-timer-wait-time\"",
"\"flush-reclaimed-timer-wait-time\"",
4734 "\"hold-reclaimed-time\"",
"\"max-reclaim-leases\"",
4735 "\"max-reclaim-time\"",
"\"unwarned-reclaim-cycles\"",
4736 "\"dhcp4o6-port\"",
"\"control-socket\"",
"\"socket-type\"",
4737 "\"socket-name\"",
"\"dhcp-queue-control\"",
"\"dhcp-ddns\"",
4738 "\"enable-updates\"",
"\"qualifying-suffix\"",
"\"server-ip\"",
4739 "\"server-port\"",
"\"sender-ip\"",
"\"sender-port\"",
4740 "\"max-queue-size\"",
"\"ncr-protocol\"",
"\"ncr-format\"",
4741 "\"override-no-update\"",
"\"override-client-update\"",
4742 "\"replace-client-name\"",
"\"generated-prefix\"",
"\"tcp\"",
"\"JSON\"",
4743 "\"when-present\"",
"\"never\"",
"\"always\"",
"\"when-not-present\"",
4744 "\"hostname-char-set\"",
"\"hostname-char-replacement\"",
"\"Logging\"",
4745 "\"loggers\"",
"\"output_options\"",
"\"output\"",
"\"debuglevel\"",
4746 "\"severity\"",
"\"flush\"",
"\"maxsize\"",
"\"maxver\"",
"\"Dhcp6\"",
4747 "\"DhcpDdns\"",
"\"Control-agent\"",
"TOPLEVEL_JSON",
"TOPLEVEL_DHCP4",
4748 "SUB_DHCP4",
"SUB_INTERFACES4",
"SUB_SUBNET4",
"SUB_POOL4",
4749 "SUB_RESERVATION",
"SUB_OPTION_DEFS",
"SUB_OPTION_DEF",
4750 "SUB_OPTION_DATA",
"SUB_HOOKS_LIBRARY",
"SUB_DHCP_DDNS",
"SUB_LOGGING",
4751 "SUB_CONFIG_CONTROL",
"\"constant string\"",
"\"integer\"",
4752 "\"floating point\"",
"\"boolean\"",
"$accept",
"start",
"$@1",
"$@2",
4753 "$@3",
"$@4",
"$@5",
"$@6",
"$@7",
"$@8",
"$@9",
"$@10",
"$@11",
"$@12",
4754 "$@13",
"$@14",
"value",
"sub_json",
"map2",
"$@15",
"map_value",
4755 "map_content",
"not_empty_map",
"list_generic",
"$@16",
"list_content",
4756 "not_empty_list",
"list_strings",
"$@17",
"list_strings_content",
4757 "not_empty_list_strings",
"unknown_map_entry",
"syntax_map",
"$@18",
4758 "global_objects",
"global_object",
"dhcp4_object",
"$@19",
"sub_dhcp4",
4759 "$@20",
"global_params",
"global_param",
"valid_lifetime",
"renew_timer",
4760 "rebind_timer",
"decline_probation_period",
"server_tag",
"$@21",
4761 "echo_client_id",
"match_client_id",
"authoritative",
4762 "interfaces_config",
"$@22",
"interfaces_config_params",
4763 "interfaces_config_param",
"sub_interfaces4",
"$@23",
"interfaces_list",
4764 "$@24",
"dhcp_socket_type",
"$@25",
"socket_type",
"outbound_interface",
4765 "$@26",
"outbound_interface_value",
"re_detect",
"lease_database",
4766 "$@27",
"sanity_checks",
"$@28",
"sanity_checks_params",
4767 "sanity_checks_param",
"lease_checks",
"$@29",
"hosts_database",
"$@30",
4768 "hosts_databases",
"$@31",
"database_list",
"not_empty_database_list",
4769 "database",
"$@32",
"database_map_params",
"database_map_param",
4770 "database_type",
"$@33",
"db_type",
"user",
"$@34",
"password",
"$@35",
4771 "host",
"$@36",
"port",
"name",
"$@37",
"persist",
"lfc_interval",
4772 "readonly",
"connect_timeout",
"request_timeout",
"tcp_keepalive",
4773 "tcp_nodelay",
"contact_points",
"$@38",
"keyspace",
"$@39",
4774 "max_reconnect_tries",
"reconnect_wait_time",
4775 "host_reservation_identifiers",
"$@40",
4776 "host_reservation_identifiers_list",
"host_reservation_identifier",
4777 "duid_id",
"hw_address_id",
"circuit_id",
"client_id",
"flex_id",
4778 "hooks_libraries",
"$@41",
"hooks_libraries_list",
4779 "not_empty_hooks_libraries_list",
"hooks_library",
"$@42",
4780 "sub_hooks_library",
"$@43",
"hooks_params",
"hooks_param",
"library",
4781 "$@44",
"parameters",
"$@45",
"expired_leases_processing",
"$@46",
4782 "expired_leases_params",
"expired_leases_param",
4783 "reclaim_timer_wait_time",
"flush_reclaimed_timer_wait_time",
4784 "hold_reclaimed_time",
"max_reclaim_leases",
"max_reclaim_time",
4785 "unwarned_reclaim_cycles",
"subnet4_list",
"$@47",
4786 "subnet4_list_content",
"not_empty_subnet4_list",
"subnet4",
"$@48",
4787 "sub_subnet4",
"$@49",
"subnet4_params",
"subnet4_param",
"subnet",
4788 "$@50",
"subnet_4o6_interface",
"$@51",
"subnet_4o6_interface_id",
4789 "$@52",
"subnet_4o6_subnet",
"$@53",
"interface",
"$@54",
"client_class",
4790 "$@55",
"require_client_classes",
"$@56",
"reservation_mode",
"$@57",
4791 "hr_mode",
"id",
"shared_networks",
"$@58",
"shared_networks_content",
4792 "shared_networks_list",
"shared_network",
"$@59",
4793 "shared_network_params",
"shared_network_param",
"option_def_list",
4794 "$@60",
"sub_option_def_list",
"$@61",
"option_def_list_content",
4795 "not_empty_option_def_list",
"option_def_entry",
"$@62",
4796 "sub_option_def",
"$@63",
"option_def_params",
4797 "not_empty_option_def_params",
"option_def_param",
"option_def_name",
4798 "code",
"option_def_code",
"option_def_type",
"$@64",
4799 "option_def_record_types",
"$@65",
"space",
"$@66",
"option_def_space",
4800 "option_def_encapsulate",
"$@67",
"option_def_array",
"option_data_list",
4801 "$@68",
"option_data_list_content",
"not_empty_option_data_list",
4802 "option_data_entry",
"$@69",
"sub_option_data",
"$@70",
4803 "option_data_params",
"not_empty_option_data_params",
4804 "option_data_param",
"option_data_name",
"option_data_data",
"$@71",
4805 "option_data_code",
"option_data_space",
"option_data_csv_format",
4806 "option_data_always_send",
"pools_list",
"$@72",
"pools_list_content",
4807 "not_empty_pools_list",
"pool_list_entry",
"$@73",
"sub_pool4",
"$@74",
4808 "pool_params",
"pool_param",
"pool_entry",
"$@75",
"user_context",
4809 "$@76",
"comment",
"$@77",
"reservations",
"$@78",
"reservations_list",
4810 "not_empty_reservations_list",
"reservation",
"$@79",
"sub_reservation",
4811 "$@80",
"reservation_params",
"not_empty_reservation_params",
4812 "reservation_param",
"next_server",
"$@81",
"server_hostname",
"$@82",
4813 "boot_file_name",
"$@83",
"ip_address",
"$@84",
"ip_addresses",
"$@85",
4814 "duid",
"$@86",
"hw_address",
"$@87",
"client_id_value",
"$@88",
4815 "circuit_id_value",
"$@89",
"flex_id_value",
"$@90",
"hostname",
"$@91",
4816 "reservation_client_classes",
"$@92",
"relay",
"$@93",
"relay_map",
4817 "client_classes",
"$@94",
"client_classes_list",
"client_class_entry",
4818 "$@95",
"client_class_params",
"not_empty_client_class_params",
4819 "client_class_param",
"client_class_name",
"client_class_test",
"$@96",
4820 "only_if_required",
"dhcp4o6_port",
"control_socket",
"$@97",
4821 "control_socket_params",
"control_socket_param",
"control_socket_type",
4822 "$@98",
"control_socket_name",
"$@99",
"dhcp_queue_control",
"$@100",
4823 "dhcp_ddns",
"$@101",
"sub_dhcp_ddns",
"$@102",
"dhcp_ddns_params",
4824 "dhcp_ddns_param",
"enable_updates",
"qualifying_suffix",
"$@103",
4825 "server_ip",
"$@104",
"server_port",
"sender_ip",
"$@105",
"sender_port",
4826 "max_queue_size",
"ncr_protocol",
"$@106",
"ncr_protocol_value",
4827 "ncr_format",
"$@107",
"override_no_update",
"override_client_update",
4828 "replace_client_name",
"$@108",
"replace_client_name_value",
4829 "generated_prefix",
"$@109",
"hostname_char_set",
"$@110",
4830 "hostname_char_replacement",
"$@111",
"dhcp6_json_object",
"$@112",
4831 "dhcpddns_json_object",
"$@113",
"control_agent_json_object",
"$@114",
4832 "config_control",
"$@115",
"sub_config_control",
"$@116",
4833 "config_control_params",
"config_control_param",
"config_databases",
4834 "$@117",
"logging_object",
"$@118",
"sub_logging",
"$@119",
4835 "logging_params",
"logging_param",
"loggers",
"$@120",
"loggers_entries",
4836 "logger_entry",
"$@121",
"logger_params",
"logger_param",
"debuglevel",
4837 "severity",
"$@122",
"output_options_list",
"$@123",
4838 "output_options_list_content",
"output_entry",
"$@124",
4839 "output_params_list",
"output_params",
"output",
"$@125",
"flush",
4840 "maxsize",
"maxver", YY_NULLPTR
4844 const unsigned short 4845 Dhcp4Parser::yyrline_[] =
4847 0, 254, 254, 254, 255, 255, 256, 256, 257, 257,
4848 258, 258, 259, 259, 260, 260, 261, 261, 262, 262,
4849 263, 263, 264, 264, 265, 265, 266, 266, 267, 267,
4850 275, 276, 277, 278, 279, 280, 281, 284, 289, 289,
4851 300, 303, 304, 307, 311, 318, 318, 325, 326, 329,
4852 333, 340, 340, 347, 348, 351, 355, 366, 376, 376,
4853 392, 393, 397, 398, 399, 400, 401, 402, 405, 405,
4854 420, 420, 429, 430, 435, 436, 437, 438, 439, 440,
4855 441, 442, 443, 444, 445, 446, 447, 448, 449, 450,
4856 451, 452, 453, 454, 455, 456, 457, 458, 459, 460,
4857 461, 462, 463, 464, 465, 466, 467, 468, 471, 476,
4858 481, 486, 491, 491, 499, 504, 509, 515, 515, 526,
4859 527, 530, 531, 532, 533, 534, 535, 536, 539, 539,
4860 548, 548, 558, 558, 565, 566, 569, 569, 576, 578,
4861 582, 588, 588, 600, 600, 610, 611, 613, 615, 615,
4862 633, 633, 645, 645, 655, 656, 659, 660, 663, 663,
4863 673, 674, 677, 678, 679, 680, 681, 682, 683, 684,
4864 685, 686, 687, 688, 689, 690, 691, 692, 693, 694,
4865 697, 697, 704, 705, 706, 707, 710, 710, 718, 718,
4866 726, 726, 734, 739, 739, 747, 752, 757, 762, 767,
4867 772, 777, 782, 782, 790, 790, 798, 803, 808, 808,
4868 818, 819, 822, 823, 824, 825, 826, 829, 834, 839,
4869 844, 849, 854, 854, 864, 865, 868, 869, 872, 872,
4870 882, 882, 892, 893, 894, 897, 898, 901, 901, 909,
4871 909, 917, 917, 928, 929, 932, 933, 934, 935, 936,
4872 937, 940, 945, 950, 955, 960, 965, 973, 973, 986,
4873 987, 990, 991, 998, 998, 1024, 1024, 1035, 1036, 1040,
4874 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050,
4875 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060,
4876 1061, 1062, 1063, 1066, 1066, 1074, 1074, 1082, 1082, 1090,
4877 1090, 1098, 1098, 1106, 1106, 1114, 1114, 1124, 1124, 1131,
4878 1132, 1133, 1134, 1137, 1144, 1144, 1155, 1156, 1160, 1161,
4879 1164, 1164, 1172, 1173, 1176, 1177, 1178, 1179, 1180, 1181,
4880 1182, 1183, 1184, 1185, 1186, 1187, 1188, 1189, 1190, 1191,
4881 1192, 1193, 1194, 1201, 1201, 1214, 1214, 1223, 1224, 1227,
4882 1228, 1233, 1233, 1248, 1248, 1262, 1263, 1266, 1267, 1270,
4883 1271, 1272, 1273, 1274, 1275, 1276, 1277, 1278, 1279, 1282,
4884 1284, 1289, 1291, 1291, 1299, 1299, 1307, 1307, 1315, 1317,
4885 1317, 1325, 1334, 1334, 1346, 1347, 1352, 1353, 1358, 1358,
4886 1370, 1370, 1382, 1383, 1388, 1389, 1394, 1395, 1396, 1397,
4887 1398, 1399, 1400, 1401, 1402, 1405, 1407, 1407, 1415, 1417,
4888 1419, 1424, 1432, 1432, 1444, 1445, 1448, 1449, 1452, 1452,
4889 1462, 1462, 1472, 1473, 1476, 1477, 1478, 1479, 1480, 1481,
4890 1482, 1485, 1485, 1493, 1493, 1518, 1518, 1548, 1548, 1558,
4891 1559, 1562, 1563, 1566, 1566, 1575, 1575, 1584, 1585, 1588,
4892 1589, 1593, 1594, 1595, 1596, 1597, 1598, 1599, 1600, 1601,
4893 1602, 1603, 1604, 1605, 1606, 1607, 1610, 1610, 1618, 1618,
4894 1626, 1626, 1634, 1634, 1642, 1642, 1652, 1652, 1660, 1660,
4895 1668, 1668, 1676, 1676, 1684, 1684, 1692, 1692, 1700, 1700,
4896 1713, 1713, 1723, 1724, 1730, 1730, 1740, 1741, 1744, 1744,
4897 1754, 1755, 1758, 1759, 1762, 1763, 1764, 1765, 1766, 1767,
4898 1768, 1769, 1770, 1771, 1772, 1775, 1777, 1777, 1785, 1794,
4899 1801, 1801, 1811, 1812, 1815, 1816, 1817, 1818, 1819, 1822,
4900 1822, 1830, 1830, 1841, 1841, 1879, 1879, 1891, 1891, 1901,
4901 1902, 1905, 1906, 1907, 1908, 1909, 1910, 1911, 1912, 1913,
4902 1914, 1915, 1916, 1917, 1918, 1919, 1920, 1921, 1922, 1925,
4903 1930, 1930, 1938, 1938, 1946, 1951, 1951, 1959, 1964, 1969,
4904 1969, 1977, 1978, 1981, 1981, 1989, 1994, 1999, 1999, 2007,
4905 2010, 2013, 2016, 2019, 2025, 2025, 2033, 2033, 2041, 2041,
4906 2052, 2052, 2059, 2059, 2066, 2066, 2073, 2073, 2084, 2084,
4907 2094, 2095, 2099, 2102, 2102, 2117, 2117, 2127, 2127, 2138,
4908 2139, 2143, 2147, 2147, 2159, 2160, 2164, 2164, 2172, 2173,
4909 2176, 2177, 2178, 2179, 2180, 2181, 2182, 2185, 2190, 2190,
4910 2198, 2198, 2208, 2209, 2212, 2212, 2220, 2221, 2224, 2225,
4911 2226, 2227, 2230, 2230, 2238, 2243, 2248
4916 Dhcp4Parser::yystack_print_ ()
4918 *yycdebug_ <<
"Stack now";
4920 i = yystack_.
begin (),
4921 i_end = yystack_.
end ();
4923 *yycdebug_ <<
' ' << i->state;
4929 Dhcp4Parser::yy_reduce_print_ (
int yyrule)
4931 unsigned yylno = yyrline_[yyrule];
4932 int yynrhs = yyr2_[yyrule];
4934 *yycdebug_ <<
"Reducing stack by rule " << yyrule - 1
4935 <<
" (line " << yylno <<
"):\n";
4937 for (
int yyi = 0; yyi < yynrhs; yyi++)
4939 yystack_[(yynrhs) - (yyi + 1)]);
4941 #endif // PARSER4_DEBUG 4944 #line 14 "dhcp4_parser.yy" // lalr1.cc:1218 4946 #line 4947 "dhcp4_parser.cc" // lalr1.cc:1218 4947 #line 2253 "dhcp4_parser.yy" // lalr1.cc:1219 4952 const std::string& what)
4954 ctx.
error(loc, what);
Used while parsing Dhcp4/hosts-database[s] structures.
Used while parsing Dhcp4/dhcp-ddns/ncr-protocol.
Used while parsing Dhcp4/hooks-libraries.
void set_debug_stream(std::ostream &)
Set the current debugging stream.
void leave()
Leave a syntactic context.
Used while parsing Dhcp4/dhcp-ddns/ncr-format.
int debug_level_type
Type for debugging levels.
Used while parsing Dhcp4/interfaces/outbound-interface structures.
Used while parsing Dhcp4/client-classes structures.
const std::string contextName()
Get the syntactic context name.
isc::data::Element::Position loc2pos(isc::dhcp::location &loc)
Converts bison's position to one understandable by isc::data::Element.
int symbol_number_type
Symbol type: an internal symbol number.
void move(basic_symbol &s)
Destructive move, s is emptied into this.
Evaluation context, an interface to the expression evaluation.
Used while parsing Dhcp4/*-database/type.
Used while parsing Dhcp4/host-reservation-identifiers.
const_iterator end() const
#define YY_MOVE_REF(Type)
virtual void error(const location_type &loc, const std::string &msg)
Report a syntax error.
boost::shared_ptr< Element > ElementPtr
Used while parsing content of Logging.
void enter(const ParserContext &ctx)
Enter a new syntactic context.
Used while parsing Dhcp4/reservations structures.
#define YYLLOC_DEFAULT(Current, Rhs, N)
Used while parsing Dhcp4/lease-database structures.
#define YY_REDUCE_PRINT(Rule)
#define YY_SYMBOL_PRINT(Title, Symbol)
Used while parsing Dhcp4/dhcp-ddns.
Used while parsing Dhcp4/interfaces/dhcp-socket-type structures.
Define the isc::dhcp::parser class.
Used while parsing Dhcp4/control-socket structures.
virtual int parse()
Parse.
Used while parsing Dhcp4/subnet4/pools structures.
Used while parsing shared-networks structures.
void push(YY_MOVE_REF(T) t)
Steal the contents of t.
ParserContext ctx_
Current syntactic context.
std::vector< isc::data::ElementPtr > stack_
JSON elements being parsed.
Used while parsing Dhcp4/dhcp-ddns/replace-client-name.
Used while parsing Logging/loggers/output_options structures.
Notes: IntElement type is changed to int64_t.
boost::shared_ptr< const Element > ConstElementPtr
void clear()
Destroy contents, and record that is empty.
Used while parsing Dhcp4/Subnet4 structures.
Used while parsing Dhcp4/option-def structures.
std::vector< stack_symbol_type > ::const_reverse_iterator const_iterator
Used while parsing Dhcp4/option-data, Dhcp4/subnet4/option-data or anywhere option-data is present (c...
Used while parsing Dhcp4/interfaces structures.
Used while parsing content of Dhcp4.
Used while parsing Dhcp4/subnet4relay structures.
Present a slice of the top of a stack.
void require(const std::string &name, isc::data::Element::Position open_loc, isc::data::Element::Position close_loc)
Check if a required parameter is present.
Defines the logger used by the top-level component of kea-dhcp-ddns.
void set_debug_level(debug_level_type l)
Set the current debugging level.
Syntax errors thrown from user actions.
void merge(ElementPtr element, ConstElementPtr other)
Merges the data from other into element.
Used while parsing Logging/loggers structures.
Dhcp4Parser(isc::dhcp::Parser4Context &ctx_yyarg)
Build a parser object.
This one is used in pure JSON mode.
void error(const isc::dhcp::location &loc, const std::string &what)
Error handler.
location location_type
Symbol locations.
debug_level_type debug_level() const YY_ATTRIBUTE_PURE
The current debugging level.
bool empty() const
Whether empty.
Used while parsing Dhcp4/expired-leases-processing.
std::ostream & debug_stream() const YY_ATTRIBUTE_PURE
The current debugging stream.
Used while parsing config-control/config-databases.
location_type location
The location.
const_iterator begin() const
Used while parsing Dhcp4/config-control.
Used while parsing Dhcp4/reservation-mode.