38 #define yylex netconf_lex 46 #line 33 "netconf_parser.yy" // lalr1.cc:438 50 #line 51 "netconf_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 // !NETCONF_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 // !NETCONF_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 "netconf_parser.yy" // lalr1.cc:513 144 namespace isc {
namespace netconf {
145 #line 146 "netconf_parser.cc" // lalr1.cc:513 153 NetconfParser::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 NetconfParser::by_state::by_state ()
207 : state (empty_state)
210 NetconfParser::by_state::by_state (
const by_state& other)
211 : state (other.state)
215 NetconfParser::by_state::clear ()
221 NetconfParser::by_state::move (by_state& that)
227 NetconfParser::by_state::by_state (state_type s)
232 NetconfParser::by_state::type_get ()
const 234 if (state == empty_state)
237 return yystos_[state];
240 NetconfParser::stack_symbol_type::stack_symbol_type ()
243 NetconfParser::stack_symbol_type::stack_symbol_type (
YY_RVREF (stack_symbol_type) that)
246 switch (that.type_get ())
255 value.YY_MOVE_OR_COPY<
bool > (
YY_MOVE (that.value));
259 value.YY_MOVE_OR_COPY<
double > (
YY_MOVE (that.value));
263 value.YY_MOVE_OR_COPY< int64_t > (
YY_MOVE (that.value));
267 value.YY_MOVE_OR_COPY< std::string > (
YY_MOVE (that.value));
274 #if 201103L <= YY_CPLUSPLUS 276 that.state = empty_state;
280 NetconfParser::stack_symbol_type::stack_symbol_type (state_type s,
YY_MOVE_REF (symbol_type) that)
281 : super_type (s,
YY_MOVE (that.location))
283 switch (that.type_get ())
292 value.move<
bool > (
YY_MOVE (that.value));
296 value.move<
double > (
YY_MOVE (that.value));
300 value.move< int64_t > (
YY_MOVE (that.value));
304 value.move< std::string > (
YY_MOVE (that.value));
315 #if YY_CPLUSPLUS < 201103L 316 NetconfParser::stack_symbol_type&
317 NetconfParser::stack_symbol_type::operator= (stack_symbol_type& that)
320 switch (that.type_get ())
329 value.move<
bool > (that.value);
333 value.move<
double > (that.value);
337 value.move< int64_t > (that.value);
341 value.move< std::string > (that.value);
348 location = that.location;
350 that.state = empty_state;
355 template <
typename Base>
357 NetconfParser::yy_destroy_ (
const char* yymsg, basic_symbol<Base>& yysym)
const 364 template <
typename Base>
366 NetconfParser::yy_print_ (std::ostream& yyo,
367 const basic_symbol<Base>& yysym)
const 369 std::ostream& yyoutput = yyo;
376 yyo << (yytype < yyntokens_ ?
"token" :
"nterm")
377 <<
' ' << yytname_[yytype] <<
" (" 378 << yysym.location <<
": ";
383 #line 107 "netconf_parser.yy" // lalr1.cc:672 384 { yyoutput << yysym.value.template as< std::string > (); }
385 #line 386 "netconf_parser.cc" // lalr1.cc:672 390 #line 107 "netconf_parser.yy" // lalr1.cc:672 391 { yyoutput << yysym.value.template as< int64_t > (); }
392 #line 393 "netconf_parser.cc" // lalr1.cc:672 397 #line 107 "netconf_parser.yy" // lalr1.cc:672 398 { yyoutput << yysym.value.template as< double > (); }
399 #line 400 "netconf_parser.cc" // lalr1.cc:672 404 #line 107 "netconf_parser.yy" // lalr1.cc:672 405 { yyoutput << yysym.value.template as< bool > (); }
406 #line 407 "netconf_parser.cc" // lalr1.cc:672 411 #line 107 "netconf_parser.yy" // lalr1.cc:672 412 { yyoutput << yysym.value.template as< ElementPtr > (); }
413 #line 414 "netconf_parser.cc" // lalr1.cc:672 418 #line 107 "netconf_parser.yy" // lalr1.cc:672 419 { yyoutput << yysym.value.template as< ElementPtr > (); }
420 #line 421 "netconf_parser.cc" // lalr1.cc:672 425 #line 107 "netconf_parser.yy" // lalr1.cc:672 426 { yyoutput << yysym.value.template as< ElementPtr > (); }
427 #line 428 "netconf_parser.cc" // lalr1.cc:672 439 NetconfParser::yypush_ (
const char* m,
YY_MOVE_REF (stack_symbol_type) sym)
447 NetconfParser::yypush_ (
const char* m, state_type s,
YY_MOVE_REF (symbol_type) sym)
449 #if 201103L <= YY_CPLUSPLUS 450 yypush_ (m, stack_symbol_type (s, std::move (sym)));
452 stack_symbol_type ss (s, sym);
458 NetconfParser::yypop_ (
int n)
488 #endif // NETCONF_DEBUG 490 NetconfParser::state_type
491 NetconfParser::yy_lr_goto_state_ (state_type yystate,
int yysym)
493 int yyr = yypgoto_[yysym - yyntokens_] + yystate;
494 if (0 <= yyr && yyr <= yylast_ && yycheck_[yyr] == yystate)
495 return yytable_[yyr];
497 return yydefgoto_[yysym - yyntokens_];
501 NetconfParser::yy_pact_value_is_default_ (
int yyvalue)
503 return yyvalue == yypact_ninf_;
507 NetconfParser::yy_table_value_is_error_ (
int yyvalue)
509 return yyvalue == yytable_ninf_;
528 int yyerrstatus_ = 0;
534 stack_symbol_type yyerror_range[3];
541 #endif // YY_EXCEPTIONS 551 yypush_ (YY_NULLPTR, 0,
YY_MOVE (yyla));
555 YYCDEBUG <<
"Entering state " << yystack_[0].state <<
'\n';
558 if (yystack_[0].state == yyfinal_)
566 yyn = yypact_[yystack_[0].state];
567 if (yy_pact_value_is_default_ (yyn))
576 #endif // YY_EXCEPTIONS 579 yyla.
move (yylookahead);
587 #endif // YY_EXCEPTIONS 593 yyn += yyla.type_get ();
594 if (yyn < 0 || yylast_ < yyn || yycheck_[yyn] != yyla.type_get ())
601 if (yy_table_value_is_error_ (yyn))
612 yypush_ (
"Shifting", yyn,
YY_MOVE (yyla));
619 yyn = yydefact_[yystack_[0].state];
630 stack_symbol_type yylhs;
631 yylhs.state = yy_lr_goto_state_ (yystack_[yylen].state, yyr1_[yyn]);
644 yylhs.value.emplace<
bool > ();
648 yylhs.value.emplace<
double > ();
652 yylhs.value.emplace< int64_t > ();
656 yylhs.value.emplace< std::string > ();
668 yyerror_range[1].location = yylhs.location;
675 #endif // YY_EXCEPTIONS 680 #line 118 "netconf_parser.yy" // lalr1.cc:907 682 #line 683 "netconf_parser.cc" // lalr1.cc:907 686 #line 119 "netconf_parser.yy" // lalr1.cc:907 688 #line 689 "netconf_parser.cc" // lalr1.cc:907 692 #line 120 "netconf_parser.yy" // lalr1.cc:907 694 #line 695 "netconf_parser.cc" // lalr1.cc:907 698 #line 128 "netconf_parser.yy" // lalr1.cc:907 704 #line 705 "netconf_parser.cc" // lalr1.cc:907 708 #line 132 "netconf_parser.yy" // lalr1.cc:907 712 #line 713 "netconf_parser.cc" // lalr1.cc:907 716 #line 139 "netconf_parser.yy" // lalr1.cc:907 721 #line 722 "netconf_parser.cc" // lalr1.cc:907 725 #line 145 "netconf_parser.yy" // lalr1.cc:907 727 #line 728 "netconf_parser.cc" // lalr1.cc:907 731 #line 146 "netconf_parser.yy" // lalr1.cc:907 733 #line 734 "netconf_parser.cc" // lalr1.cc:907 737 #line 147 "netconf_parser.yy" // lalr1.cc:907 739 #line 740 "netconf_parser.cc" // lalr1.cc:907 743 #line 148 "netconf_parser.yy" // lalr1.cc:907 745 #line 746 "netconf_parser.cc" // lalr1.cc:907 749 #line 149 "netconf_parser.yy" // lalr1.cc:907 751 #line 752 "netconf_parser.cc" // lalr1.cc:907 755 #line 150 "netconf_parser.yy" // lalr1.cc:907 757 #line 758 "netconf_parser.cc" // lalr1.cc:907 761 #line 151 "netconf_parser.yy" // lalr1.cc:907 763 #line 764 "netconf_parser.cc" // lalr1.cc:907 767 #line 155 "netconf_parser.yy" // lalr1.cc:907 774 #line 775 "netconf_parser.cc" // lalr1.cc:907 778 #line 160 "netconf_parser.yy" // lalr1.cc:907 784 #line 785 "netconf_parser.cc" // lalr1.cc:907 788 #line 166 "netconf_parser.yy" // lalr1.cc:907 790 #line 791 "netconf_parser.cc" // lalr1.cc:907 794 #line 180 "netconf_parser.yy" // lalr1.cc:907 797 ctx.
stack_.back()->set(yystack_[2].value.as< std::string > (), yystack_[0].value.as<
ElementPtr > ());
799 #line 800 "netconf_parser.cc" // lalr1.cc:907 803 #line 184 "netconf_parser.yy" // lalr1.cc:907 807 ctx.
stack_.back()->set(yystack_[2].value.as< std::string > (), yystack_[0].value.as<
ElementPtr > ());
809 #line 810 "netconf_parser.cc" // lalr1.cc:907 813 #line 191 "netconf_parser.yy" // lalr1.cc:907 818 #line 819 "netconf_parser.cc" // lalr1.cc:907 822 #line 194 "netconf_parser.yy" // lalr1.cc:907 825 #line 826 "netconf_parser.cc" // lalr1.cc:907 829 #line 201 "netconf_parser.yy" // lalr1.cc:907 834 #line 835 "netconf_parser.cc" // lalr1.cc:907 838 #line 205 "netconf_parser.yy" // lalr1.cc:907 843 #line 844 "netconf_parser.cc" // lalr1.cc:907 847 #line 218 "netconf_parser.yy" // lalr1.cc:907 850 const std::string& keyword = yystack_[1].value.as< std::string > ();
851 error(yystack_[1].location,
852 "got unexpected keyword \"" + keyword +
"\" in " + where +
" map.");
854 #line 855 "netconf_parser.cc" // lalr1.cc:907 858 #line 226 "netconf_parser.yy" // lalr1.cc:907 865 #line 866 "netconf_parser.cc" // lalr1.cc:907 869 #line 231 "netconf_parser.yy" // lalr1.cc:907 875 #line 876 "netconf_parser.cc" // lalr1.cc:907 879 #line 248 "netconf_parser.yy" // lalr1.cc:907 887 ctx.
stack_.back()->set(
"Netconf", m);
891 #line 892 "netconf_parser.cc" // lalr1.cc:907 895 #line 258 "netconf_parser.yy" // lalr1.cc:907 902 #line 903 "netconf_parser.cc" // lalr1.cc:907 906 #line 285 "netconf_parser.yy" // lalr1.cc:907 909 ctx.
stack_.back()->set(
"boot-update", flag);
911 #line 912 "netconf_parser.cc" // lalr1.cc:907 915 #line 290 "netconf_parser.yy" // lalr1.cc:907 918 ctx.
stack_.back()->set(
"subscribe-changes", flag);
920 #line 921 "netconf_parser.cc" // lalr1.cc:907 924 #line 295 "netconf_parser.yy" // lalr1.cc:907 927 ctx.
stack_.back()->set(
"validate-changes", flag);
929 #line 930 "netconf_parser.cc" // lalr1.cc:907 933 #line 300 "netconf_parser.yy" // lalr1.cc:907 937 #line 938 "netconf_parser.cc" // lalr1.cc:907 941 #line 302 "netconf_parser.yy" // lalr1.cc:907 950 if ((old->size() != 1) || !old->contains(
"comment")) {
951 std::stringstream msg;
952 msg <<
"duplicate user-context entries (previous at " 953 << old->getPosition().str() <<
")";
954 error(yystack_[3].location, msg.str());
957 user_context->set(
"comment", old->get(
"comment"));
961 parent->set(
"user-context", user_context);
964 #line 965 "netconf_parser.cc" // lalr1.cc:907 968 #line 325 "netconf_parser.yy" // lalr1.cc:907 972 #line 973 "netconf_parser.cc" // lalr1.cc:907 976 #line 327 "netconf_parser.yy" // lalr1.cc:907 981 user_context->set(
"comment", comment);
987 if (old->contains(
"comment")) {
988 std::stringstream msg;
989 msg <<
"duplicate user-context/comment entries (previous at " 990 << old->getPosition().str() <<
")";
991 error(yystack_[3].location, msg.str());
994 merge(user_context, old);
998 parent->set(
"user-context", user_context);
1001 #line 1002 "netconf_parser.cc" // lalr1.cc:907 1005 #line 353 "netconf_parser.yy" // lalr1.cc:907 1008 ctx.
stack_.back()->set(
"hooks-libraries", l);
1012 #line 1013 "netconf_parser.cc" // lalr1.cc:907 1016 #line 358 "netconf_parser.yy" // lalr1.cc:907 1021 #line 1022 "netconf_parser.cc" // lalr1.cc:907 1025 #line 371 "netconf_parser.yy" // lalr1.cc:907 1028 ctx.
stack_.back()->add(m);
1031 #line 1032 "netconf_parser.cc" // lalr1.cc:907 1035 #line 375 "netconf_parser.yy" // lalr1.cc:907 1039 #line 1040 "netconf_parser.cc" // lalr1.cc:907 1043 #line 388 "netconf_parser.yy" // lalr1.cc:907 1047 #line 1048 "netconf_parser.cc" // lalr1.cc:907 1051 #line 390 "netconf_parser.yy" // lalr1.cc:907 1054 ctx.
stack_.back()->set(
"library", lib);
1057 #line 1058 "netconf_parser.cc" // lalr1.cc:907 1061 #line 396 "netconf_parser.yy" // lalr1.cc:907 1065 #line 1066 "netconf_parser.cc" // lalr1.cc:907 1069 #line 398 "netconf_parser.yy" // lalr1.cc:907 1071 ctx.
stack_.back()->set(
"parameters", yystack_[0].value.as<
ElementPtr > ());
1074 #line 1075 "netconf_parser.cc" // lalr1.cc:907 1078 #line 406 "netconf_parser.yy" // lalr1.cc:907 1081 ctx.
stack_.back()->set(
"managed-servers", m);
1085 #line 1086 "netconf_parser.cc" // lalr1.cc:907 1089 #line 411 "netconf_parser.yy" // lalr1.cc:907 1094 #line 1095 "netconf_parser.cc" // lalr1.cc:907 1098 #line 435 "netconf_parser.yy" // lalr1.cc:907 1101 ctx.
stack_.back()->set(
"dhcp4", m);
1105 #line 1106 "netconf_parser.cc" // lalr1.cc:907 1109 #line 440 "netconf_parser.yy" // lalr1.cc:907 1114 #line 1115 "netconf_parser.cc" // lalr1.cc:907 1118 #line 446 "netconf_parser.yy" // lalr1.cc:907 1121 ctx.
stack_.back()->set(
"dhcp6", m);
1125 #line 1126 "netconf_parser.cc" // lalr1.cc:907 1129 #line 451 "netconf_parser.yy" // lalr1.cc:907 1134 #line 1135 "netconf_parser.cc" // lalr1.cc:907 1138 #line 457 "netconf_parser.yy" // lalr1.cc:907 1141 ctx.
stack_.back()->set(
"d2", m);
1145 #line 1146 "netconf_parser.cc" // lalr1.cc:907 1149 #line 462 "netconf_parser.yy" // lalr1.cc:907 1154 #line 1155 "netconf_parser.cc" // lalr1.cc:907 1158 #line 468 "netconf_parser.yy" // lalr1.cc:907 1161 ctx.
stack_.back()->set(
"ca", m);
1165 #line 1166 "netconf_parser.cc" // lalr1.cc:907 1169 #line 473 "netconf_parser.yy" // lalr1.cc:907 1174 #line 1175 "netconf_parser.cc" // lalr1.cc:907 1178 #line 495 "netconf_parser.yy" // lalr1.cc:907 1182 #line 1183 "netconf_parser.cc" // lalr1.cc:907 1186 #line 497 "netconf_parser.yy" // lalr1.cc:907 1189 ctx.
stack_.back()->set(
"model", model);
1192 #line 1193 "netconf_parser.cc" // lalr1.cc:907 1196 #line 504 "netconf_parser.yy" // lalr1.cc:907 1199 ctx.
stack_.back()->set(
"control-socket", m);
1203 #line 1204 "netconf_parser.cc" // lalr1.cc:907 1207 #line 509 "netconf_parser.yy" // lalr1.cc:907 1212 #line 1213 "netconf_parser.cc" // lalr1.cc:907 1216 #line 527 "netconf_parser.yy" // lalr1.cc:907 1220 #line 1221 "netconf_parser.cc" // lalr1.cc:907 1224 #line 529 "netconf_parser.yy" // lalr1.cc:907 1226 ctx.
stack_.back()->set(
"socket-type", yystack_[0].value.as<
ElementPtr > ());
1229 #line 1230 "netconf_parser.cc" // lalr1.cc:907 1233 #line 535 "netconf_parser.yy" // lalr1.cc:907 1235 #line 1236 "netconf_parser.cc" // lalr1.cc:907 1239 #line 536 "netconf_parser.yy" // lalr1.cc:907 1241 #line 1242 "netconf_parser.cc" // lalr1.cc:907 1245 #line 537 "netconf_parser.yy" // lalr1.cc:907 1247 #line 1248 "netconf_parser.cc" // lalr1.cc:907 1251 #line 540 "netconf_parser.yy" // lalr1.cc:907 1255 #line 1256 "netconf_parser.cc" // lalr1.cc:907 1259 #line 542 "netconf_parser.yy" // lalr1.cc:907 1262 ctx.
stack_.back()->set(
"socket-name", name);
1265 #line 1266 "netconf_parser.cc" // lalr1.cc:907 1269 #line 549 "netconf_parser.yy" // lalr1.cc:907 1273 #line 1274 "netconf_parser.cc" // lalr1.cc:907 1277 #line 551 "netconf_parser.yy" // lalr1.cc:907 1280 ctx.
stack_.back()->set(
"socket-url", url);
1283 #line 1284 "netconf_parser.cc" // lalr1.cc:907 1287 #line 564 "netconf_parser.yy" // lalr1.cc:907 1290 ctx.
stack_.back()->set(
"Logging", m);
1294 #line 1295 "netconf_parser.cc" // lalr1.cc:907 1298 #line 569 "netconf_parser.yy" // lalr1.cc:907 1303 #line 1304 "netconf_parser.cc" // lalr1.cc:907 1307 #line 586 "netconf_parser.yy" // lalr1.cc:907 1310 ctx.
stack_.back()->set(
"loggers", l);
1314 #line 1315 "netconf_parser.cc" // lalr1.cc:907 1318 #line 591 "netconf_parser.yy" // lalr1.cc:907 1323 #line 1324 "netconf_parser.cc" // lalr1.cc:907 1327 #line 603 "netconf_parser.yy" // lalr1.cc:907 1330 ctx.
stack_.back()->add(l);
1333 #line 1334 "netconf_parser.cc" // lalr1.cc:907 1337 #line 607 "netconf_parser.yy" // lalr1.cc:907 1341 #line 1342 "netconf_parser.cc" // lalr1.cc:907 1345 #line 624 "netconf_parser.yy" // lalr1.cc:907 1349 #line 1350 "netconf_parser.cc" // lalr1.cc:907 1353 #line 626 "netconf_parser.yy" // lalr1.cc:907 1356 ctx.
stack_.back()->set(
"name", name);
1359 #line 1360 "netconf_parser.cc" // lalr1.cc:907 1363 #line 632 "netconf_parser.yy" // lalr1.cc:907 1366 ctx.
stack_.back()->set(
"debuglevel", dl);
1368 #line 1369 "netconf_parser.cc" // lalr1.cc:907 1372 #line 637 "netconf_parser.yy" // lalr1.cc:907 1376 #line 1377 "netconf_parser.cc" // lalr1.cc:907 1380 #line 639 "netconf_parser.yy" // lalr1.cc:907 1383 ctx.
stack_.back()->set(
"severity", sev);
1386 #line 1387 "netconf_parser.cc" // lalr1.cc:907 1390 #line 645 "netconf_parser.yy" // lalr1.cc:907 1393 ctx.
stack_.back()->set(
"output_options", l);
1397 #line 1398 "netconf_parser.cc" // lalr1.cc:907 1401 #line 650 "netconf_parser.yy" // lalr1.cc:907 1406 #line 1407 "netconf_parser.cc" // lalr1.cc:907 1410 #line 659 "netconf_parser.yy" // lalr1.cc:907 1413 ctx.
stack_.back()->add(m);
1416 #line 1417 "netconf_parser.cc" // lalr1.cc:907 1420 #line 663 "netconf_parser.yy" // lalr1.cc:907 1424 #line 1425 "netconf_parser.cc" // lalr1.cc:907 1428 #line 677 "netconf_parser.yy" // lalr1.cc:907 1432 #line 1433 "netconf_parser.cc" // lalr1.cc:907 1436 #line 679 "netconf_parser.yy" // lalr1.cc:907 1439 ctx.
stack_.back()->set(
"output", sev);
1442 #line 1443 "netconf_parser.cc" // lalr1.cc:907 1446 #line 685 "netconf_parser.yy" // lalr1.cc:907 1449 ctx.
stack_.back()->set(
"flush", flush);
1451 #line 1452 "netconf_parser.cc" // lalr1.cc:907 1455 #line 690 "netconf_parser.yy" // lalr1.cc:907 1458 ctx.
stack_.back()->set(
"maxsize", maxsize);
1460 #line 1461 "netconf_parser.cc" // lalr1.cc:907 1464 #line 695 "netconf_parser.yy" // lalr1.cc:907 1467 ctx.
stack_.back()->set(
"maxver", maxver);
1469 #line 1470 "netconf_parser.cc" // lalr1.cc:907 1473 #line 1474 "netconf_parser.cc" // lalr1.cc:907 1484 #endif // YY_EXCEPTIONS 1491 yypush_ (YY_NULLPTR,
YY_MOVE (yylhs));
1503 error (yyla.
location, yysyntax_error_ (yystack_[0].state, yyla));
1507 yyerror_range[1].location = yyla.
location;
1508 if (yyerrstatus_ == 3)
1514 if (yyla.type_get () == yyeof_)
1516 else if (!yyla.
empty ())
1518 yy_destroy_ (
"Error: discarding", yyla);
1549 stack_symbol_type error_token;
1552 yyn = yypact_[yystack_[0].state];
1553 if (!yy_pact_value_is_default_ (yyn))
1556 if (0 <= yyn && yyn <= yylast_ && yycheck_[yyn] == yyterror_)
1558 yyn = yytable_[yyn];
1565 if (yystack_.size () == 1)
1568 yyerror_range[1].location = yystack_[0].location;
1569 yy_destroy_ (
"Error: popping", yystack_[0]);
1574 yyerror_range[2].location = yyla.
location;
1578 error_token.state = yyn;
1579 yypush_ (
"Shifting",
YY_MOVE (error_token));
1595 yy_destroy_ (
"Cleanup: discarding lookahead", yyla);
1600 while (1 < yystack_.size ())
1602 yy_destroy_ (
"Cleanup: popping", yystack_[0]);
1611 YYCDEBUG <<
"Exception caught: cleaning lookahead and stack\n";
1615 yy_destroy_ (YY_NULLPTR, yyla);
1617 while (1 < yystack_.
size ())
1619 yy_destroy_ (YY_NULLPTR, yystack_[0]);
1624 #endif // YY_EXCEPTIONS 1635 NetconfParser::yysyntax_error_ (state_type yystate,
const symbol_type& yyla)
const 1641 enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
1643 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
1672 int yytoken = yyla.type_get ();
1673 yyarg[yycount++] = yytname_[yytoken];
1674 int yyn = yypact_[yystate];
1675 if (!yy_pact_value_is_default_ (yyn))
1680 int yyxbegin = yyn < 0 ? -yyn : 0;
1682 int yychecklim = yylast_ - yyn + 1;
1683 int yyxend = yychecklim < yyntokens_ ? yychecklim : yyntokens_;
1684 for (
int yyx = yyxbegin; yyx < yyxend; ++yyx)
1685 if (yycheck_[yyx + yyn] == yyx && yyx != yyterror_
1686 && !yy_table_value_is_error_ (yytable_[yyx + yyn]))
1688 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
1694 yyarg[yycount++] = yytname_[yyx];
1699 char const* yyformat = YY_NULLPTR;
1702 #define YYCASE_(N, S) \ 1708 YYCASE_ (1,
YY_(
"syntax error, unexpected %s"));
1709 YYCASE_ (2,
YY_(
"syntax error, unexpected %s, expecting %s"));
1710 YYCASE_ (3,
YY_(
"syntax error, unexpected %s, expecting %s or %s"));
1711 YYCASE_ (4,
YY_(
"syntax error, unexpected %s, expecting %s or %s or %s"));
1712 YYCASE_ (5,
YY_(
"syntax error, unexpected %s, expecting %s or %s or %s or %s"));
1719 for (
char const* yyp = yyformat; *yyp; ++yyp)
1720 if (yyp[0] ==
'%' && yyp[1] ==
's' && yyi < yycount)
1722 yyres += yytnamerr_ (yyarg[yyi++]);
1731 const signed char NetconfParser::yypact_ninf_ = -64;
1733 const signed char NetconfParser::yytable_ninf_ = -1;
1736 NetconfParser::yypact_[] =
1738 64, -64, -64, -64, 13, 9, 18, 29, -64, -64,
1739 -64, -64, -64, -64, -64, -64, -64, -64, -64, -64,
1740 -64, -64, -64, -64, 9, -22, 10, 15, -64, 1,
1741 70, 79, 74, 106, -64, -64, 7, -64, -64, -64,
1742 -64, -64, 113, 116, 117, 118, -64, 119, -64, 120,
1743 121, -64, -64, -64, -64, -64, -64, -64, -64, -64,
1744 9, 9, -64, 80, 122, 123, 10, -64, 125, 126,
1745 83, 84, 85, 127, 131, -64, -64, 15, -64, -64,
1746 132, 130, 133, -64, 134, 97, -64, -64, -64, -64,
1747 138, -64, 9, 15, 105, -64, -64, -64, 44, 137,
1748 -64, 139, -64, 16, -64, -64, -64, -64, -64, -64,
1749 -64, 140, 136, -64, -64, -64, -64, -64, -64, 143,
1750 142, -64, -64, 146, 105, -64, 147, 148, 152, 153,
1751 -64, 44, 2, -64, 137, 141, -64, 154, 155, 156,
1752 157, -64, -64, -64, -64, 40, -64, -64, -64, -64,
1753 158, 65, 65, 65, 65, 162, 163, 88, -64, -64,
1754 43, -64, -64, -64, -64, -64, -64, -64, -64, -64,
1755 62, -64, -64, -64, 82, 91, 92, 114, 9, -64,
1756 0, 158, -64, 164, 165, 65, -64, -64, -64, -64,
1757 -64, -64, -64, -64, 166, -64, -64, -64, -64, 93,
1758 -64, -64, -64, -64, -64, -64, 115, 167, -64, 168,
1759 169, 129, 172, 0, -64, -64, -6, 135, 173, -64,
1760 149, -64, -64, -64, -64, -64, -64, -64, 94, -64,
1761 -64, -64, -64, -64, 170, -64, 175, 177, 178, -6,
1762 -64, -64, 78, -64, 87, 150, 151, -64, 52, 170,
1763 -64, -64, -64, -64, -64, -64, -64, -64, 179, 180,
1764 181, 95, -64, -64, -64, -64, -64, -64, 188, 145,
1765 159, 160, 52, -64, 171, -64, -64, -64, -64, -64
1769 NetconfParser::yydefact_[] =
1771 0, 2, 4, 6, 0, 0, 0, 0, 1, 25,
1772 18, 15, 14, 11, 12, 13, 3, 10, 16, 17,
1773 32, 5, 8, 7, 27, 21, 0, 40, 29, 0,
1774 28, 0, 0, 22, 38, 126, 0, 34, 36, 37,
1775 55, 57, 0, 0, 0, 0, 59, 0, 51, 0,
1776 41, 42, 44, 45, 46, 49, 50, 48, 47, 26,
1777 0, 0, 19, 0, 0, 0, 0, 33, 0, 0,
1778 0, 0, 0, 0, 0, 31, 9, 0, 30, 23,
1779 0, 0, 0, 35, 0, 0, 52, 53, 54, 76,
1780 0, 43, 0, 40, 0, 20, 56, 58, 78, 61,
1781 24, 0, 131, 0, 128, 130, 87, 89, 91, 93,
1782 86, 0, 79, 80, 82, 83, 84, 85, 65, 0,
1783 62, 63, 39, 0, 0, 127, 0, 0, 0, 0,
1784 77, 0, 0, 60, 0, 0, 129, 0, 0, 0,
1785 0, 81, 72, 74, 69, 0, 67, 70, 71, 64,
1786 0, 0, 0, 0, 0, 0, 0, 0, 66, 135,
1787 0, 133, 105, 107, 104, 98, 99, 100, 102, 103,
1788 0, 95, 97, 101, 0, 0, 0, 0, 0, 68,
1789 0, 0, 132, 0, 0, 0, 88, 90, 92, 94,
1790 73, 75, 146, 151, 0, 149, 145, 143, 144, 0,
1791 137, 139, 141, 142, 140, 134, 0, 0, 96, 0,
1792 0, 0, 0, 0, 136, 106, 0, 0, 0, 148,
1793 0, 138, 117, 122, 124, 116, 114, 115, 0, 109,
1794 111, 112, 113, 147, 0, 150, 0, 0, 0, 0,
1795 108, 155, 0, 153, 0, 0, 0, 110, 0, 0,
1796 152, 119, 120, 121, 118, 123, 125, 163, 0, 0,
1797 0, 0, 157, 159, 160, 161, 162, 154, 0, 0,
1798 0, 0, 0, 156, 0, 165, 166, 167, 158, 164
1802 NetconfParser::yypgoto_[] =
1804 -64, -64, -64, -64, -64, -64, -64, -64, -20, 124,
1805 -64, -64, -64, -64, -64, -64, -64, -64, -27, -64,
1806 -64, -64, 144, -64, -64, 104, -64, 161, -24, -19,
1807 -18, -26, -64, -25, -64, -64, -64, -64, -64, 37,
1808 -64, -64, 41, -64, -64, -64, -64, -64, -64, -64,
1809 -64, 68, -64, -64, -64, -64, -64, -64, -64, -64,
1810 -38, 17, -64, -64, -64, -64, -64, -39, -64, -64,
1811 -64, -64, -64, -64, -64, -64, -64, -64, 77, -64,
1812 -64, -64, 22, -64, -64, -9, -64, -64, -64, -64,
1813 -64, -64, -64, -64, -42, -64, -64, -63, -64, -64,
1818 NetconfParser::yydefgoto_[] =
1820 -1, 4, 5, 6, 7, 23, 27, 16, 17, 18,
1821 25, 96, 32, 33, 19, 24, 29, 30, 164, 21,
1822 26, 36, 37, 38, 64, 49, 50, 51, 165, 166,
1823 167, 168, 68, 169, 69, 57, 74, 119, 120, 121,
1824 132, 145, 146, 147, 155, 148, 156, 58, 98, 111,
1825 112, 113, 114, 126, 115, 127, 116, 128, 117, 129,
1826 170, 171, 172, 183, 173, 184, 228, 229, 230, 236,
1827 254, 231, 237, 232, 238, 39, 65, 103, 104, 105,
1828 123, 160, 161, 180, 199, 200, 201, 209, 202, 203,
1829 212, 204, 210, 242, 243, 248, 261, 262, 263, 268,
1833 const unsigned short 1834 NetconfParser::yytable_[] =
1836 48, 55, 56, 52, 28, 40, 41, 59, 53, 54,
1837 66, 40, 41, 8, 9, 67, 10, 222, 11, 124,
1838 34, 223, 224, 31, 125, 20, 40, 41, 42, 43,
1839 44, 45, 142, 143, 192, 193, 22, 194, 195, 47,
1840 78, 79, 35, 157, 46, 47, 181, 47, 158, 182,
1841 48, 55, 56, 52, 12, 13, 14, 15, 53, 54,
1842 47, 106, 107, 108, 109, 185, 48, 55, 56, 52,
1843 186, 110, 100, 60, 53, 54, 40, 41, 42, 43,
1844 44, 249, 62, 61, 250, 185, 162, 163, 257, 47,
1845 187, 258, 259, 260, 185, 185, 213, 239, 272, 188,
1846 189, 214, 240, 273, 110, 144, 1, 2, 3, 63,
1847 47, 251, 252, 253, 174, 175, 176, 70, 142, 143,
1848 71, 72, 73, 75, 77, 80, 81, 82, 76, 84,
1849 85, 86, 87, 88, 89, 90, 92, 93, 102, 131,
1850 94, 10, 97, 99, 118, 134, 150, 122, 130, 133,
1851 135, 137, 138, 196, 197, 198, 139, 140, 191, 190,
1852 215, 151, 152, 153, 154, 159, 177, 178, 206, 207,
1853 211, 149, 217, 218, 216, 219, 220, 241, 234, 244,
1854 233, 245, 246, 269, 270, 271, 196, 197, 198, 225,
1855 226, 227, 274, 275, 235, 255, 256, 101, 179, 141,
1856 247, 136, 208, 205, 221, 276, 277, 267, 95, 278,
1857 83, 0, 225, 226, 227, 0, 279, 0, 0, 0,
1858 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1859 0, 0, 0, 0, 0, 0, 0, 0, 91
1863 NetconfParser::yycheck_[] =
1865 27, 27, 27, 27, 24, 11, 12, 6, 27, 27,
1866 3, 11, 12, 0, 5, 8, 7, 23, 9, 3,
1867 10, 27, 28, 45, 8, 7, 11, 12, 13, 14,
1868 15, 16, 30, 31, 34, 35, 7, 37, 38, 45,
1869 60, 61, 32, 3, 29, 45, 3, 45, 8, 6,
1870 77, 77, 77, 77, 45, 46, 47, 48, 77, 77,
1871 45, 17, 18, 19, 20, 3, 93, 93, 93, 93,
1872 8, 98, 92, 3, 93, 93, 11, 12, 13, 14,
1873 15, 3, 8, 4, 6, 3, 21, 22, 36, 45,
1874 8, 39, 40, 41, 3, 3, 3, 3, 3, 8,
1875 8, 8, 8, 8, 131, 132, 42, 43, 44, 3,
1876 45, 24, 25, 26, 152, 153, 154, 4, 30, 31,
1877 4, 4, 4, 4, 3, 45, 4, 4, 8, 4,
1878 4, 48, 48, 48, 7, 4, 4, 7, 33, 3,
1879 7, 7, 45, 5, 7, 3, 5, 8, 8, 6,
1880 4, 4, 4, 180, 180, 180, 4, 4, 178, 45,
1881 45, 7, 7, 7, 7, 7, 4, 4, 4, 4,
1882 4, 134, 4, 4, 7, 46, 4, 7, 5, 4,
1883 45, 4, 4, 4, 4, 4, 213, 213, 213, 216,
1884 216, 216, 4, 48, 45, 45, 45, 93, 157, 131,
1885 239, 124, 185, 181, 213, 46, 46, 249, 84, 272,
1886 66, -1, 239, 239, 239, -1, 45, -1, -1, -1,
1887 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1888 -1, -1, -1, -1, -1, -1, -1, -1, 77
1892 NetconfParser::yystos_[] =
1894 0, 42, 43, 44, 50, 51, 52, 53, 0, 5,
1895 7, 9, 45, 46, 47, 48, 56, 57, 58, 63,
1896 7, 68, 7, 54, 64, 59, 69, 55, 57, 65,
1897 66, 45, 61, 62, 10, 32, 70, 71, 72, 124,
1898 11, 12, 13, 14, 15, 16, 29, 45, 67, 74,
1899 75, 76, 77, 78, 79, 80, 82, 84, 96, 6,
1900 3, 4, 8, 3, 73, 125, 3, 8, 81, 83,
1901 4, 4, 4, 4, 85, 4, 8, 3, 57, 57,
1902 45, 4, 4, 71, 4, 4, 48, 48, 48, 7,
1903 4, 76, 4, 7, 7, 58, 60, 45, 97, 5,
1904 57, 74, 33, 126, 127, 128, 17, 18, 19, 20,
1905 67, 98, 99, 100, 101, 103, 105, 107, 7, 86,
1906 87, 88, 8, 129, 3, 8, 102, 104, 106, 108,
1907 8, 3, 89, 6, 3, 4, 127, 4, 4, 4,
1908 4, 100, 30, 31, 67, 90, 91, 92, 94, 88,
1909 5, 7, 7, 7, 7, 93, 95, 3, 8, 7,
1910 130, 131, 21, 22, 67, 77, 78, 79, 80, 82,
1911 109, 110, 111, 113, 109, 109, 109, 4, 4, 91,
1912 132, 3, 6, 112, 114, 3, 8, 8, 8, 8,
1913 45, 57, 34, 35, 37, 38, 67, 80, 82, 133,
1914 134, 135, 137, 138, 140, 131, 4, 4, 110, 136,
1915 141, 4, 139, 3, 8, 45, 7, 4, 4, 46,
1916 4, 134, 23, 27, 28, 67, 80, 82, 115, 116,
1917 117, 120, 122, 45, 5, 45, 118, 121, 123, 3,
1918 8, 7, 142, 143, 4, 4, 4, 116, 144, 3,
1919 6, 24, 25, 26, 119, 45, 45, 36, 39, 40,
1920 41, 145, 146, 147, 149, 150, 151, 143, 148, 4,
1921 4, 4, 3, 8, 4, 48, 46, 46, 146, 45
1925 NetconfParser::yyr1_[] =
1927 0, 49, 51, 50, 52, 50, 53, 50, 55, 54,
1928 56, 57, 57, 57, 57, 57, 57, 57, 59, 58,
1929 60, 61, 61, 62, 62, 64, 63, 65, 65, 66,
1930 66, 67, 69, 68, 70, 70, 71, 71, 73, 72,
1931 74, 74, 75, 75, 76, 76, 76, 76, 76, 76,
1932 76, 76, 77, 78, 79, 81, 80, 83, 82, 85,
1933 84, 86, 86, 87, 87, 89, 88, 90, 90, 90,
1934 91, 91, 93, 92, 95, 94, 97, 96, 98, 98,
1935 99, 99, 100, 100, 100, 100, 100, 102, 101, 104,
1936 103, 106, 105, 108, 107, 109, 109, 110, 110, 110,
1937 110, 110, 110, 110, 110, 112, 111, 114, 113, 115,
1938 115, 116, 116, 116, 116, 116, 116, 118, 117, 119,
1939 119, 119, 121, 120, 123, 122, 125, 124, 126, 126,
1940 127, 129, 128, 130, 130, 132, 131, 133, 133, 134,
1941 134, 134, 134, 134, 134, 134, 136, 135, 137, 139,
1942 138, 141, 140, 142, 142, 144, 143, 145, 145, 146,
1943 146, 146, 146, 148, 147, 149, 150, 151
1947 NetconfParser::yyr2_[] =
1949 0, 2, 0, 3, 0, 3, 0, 3, 0, 4,
1950 1, 1, 1, 1, 1, 1, 1, 1, 0, 4,
1951 1, 0, 1, 3, 5, 0, 4, 0, 1, 1,
1952 3, 2, 0, 4, 1, 3, 1, 1, 0, 6,
1953 0, 1, 1, 3, 1, 1, 1, 1, 1, 1,
1954 1, 1, 3, 3, 3, 0, 4, 0, 4, 0,
1955 6, 0, 1, 1, 3, 0, 4, 1, 3, 1,
1956 1, 1, 0, 4, 0, 4, 0, 6, 0, 1,
1957 1, 3, 1, 1, 1, 1, 1, 0, 6, 0,
1958 6, 0, 6, 0, 6, 1, 3, 1, 1, 1,
1959 1, 1, 1, 1, 1, 0, 4, 0, 6, 1,
1960 3, 1, 1, 1, 1, 1, 1, 0, 4, 1,
1961 1, 1, 0, 4, 0, 4, 0, 6, 1, 3,
1962 1, 0, 6, 1, 3, 0, 4, 1, 3, 1,
1963 1, 1, 1, 1, 1, 1, 0, 4, 3, 0,
1964 4, 0, 6, 1, 3, 0, 4, 1, 3, 1,
1965 1, 1, 1, 0, 4, 3, 3, 3
1973 const NetconfParser::yytname_[] =
1975 "\"end of file\"",
"error",
"$undefined",
"\",\"",
"\":\"",
"\"[\"",
1976 "\"]\"",
"\"{\"",
"\"}\"",
"\"null\"",
"\"Netconf\"",
"\"user-context\"",
1977 "\"comment\"",
"\"boot-update\"",
"\"subscribe-changes\"",
1978 "\"validate-changes\"",
"\"managed-servers\"",
"\"dhcp4\"",
"\"dhcp6\"",
1979 "\"d2\"",
"\"ca\"",
"\"model\"",
"\"control-socket\"",
"\"socket-type\"",
1980 "\"unix\"",
"\"http\"",
"\"stdout\"",
"\"socket-name\"",
1981 "\"socket-url\"",
"\"hooks-libraries\"",
"\"library\"",
"\"parameters\"",
1982 "\"Logging\"",
"\"loggers\"",
"\"name\"",
"\"output_options\"",
1983 "\"output\"",
"\"debuglevel\"",
"\"severity\"",
"\"flush\"",
1984 "\"maxsize\"",
"\"maxver\"",
"START_JSON",
"START_NETCONF",
1985 "START_SUB_NETCONF",
"\"constant string\"",
"\"integer\"",
1986 "\"floating point\"",
"\"boolean\"",
"$accept",
"start",
"$@1",
"$@2",
1987 "$@3",
"sub_netconf",
"$@4",
"json",
"value",
"map",
"$@5",
"map_value",
1988 "map_content",
"not_empty_map",
"list_generic",
"$@6",
"list_content",
1989 "not_empty_list",
"unknown_map_entry",
"netconf_syntax_map",
"$@7",
1990 "global_objects",
"global_object",
"netconf_object",
"$@8",
1991 "global_params",
"not_empty_global_params",
"global_param",
1992 "boot_update",
"subscribe_changes",
"validate_changes",
"user_context",
1993 "$@9",
"comment",
"$@10",
"hooks_libraries",
"$@11",
1994 "hooks_libraries_list",
"not_empty_hooks_libraries_list",
1995 "hooks_library",
"$@12",
"hooks_params",
"hooks_param",
"library",
1996 "$@13",
"parameters",
"$@14",
"managed_servers",
"$@15",
1997 "servers_entries",
"not_empty_servers_entries",
"server_entry",
1998 "dhcp4_server",
"$@16",
"dhcp6_server",
"$@17",
"d2_server",
"$@18",
1999 "ca_server",
"$@19",
"managed_server_params",
"managed_server_param",
2000 "model",
"$@20",
"control_socket",
"$@21",
"control_socket_params",
2001 "control_socket_param",
"socket_type",
"$@22",
"socket_type_value",
2002 "socket_name",
"$@23",
"socket_url",
"$@24",
"logging_object",
"$@25",
2003 "logging_params",
"logging_param",
"loggers",
"$@26",
"loggers_entries",
2004 "logger_entry",
"$@27",
"logger_params",
"logger_param",
"name",
"$@28",
2005 "debuglevel",
"severity",
"$@29",
"output_options_list",
"$@30",
2006 "output_options_list_content",
"output_entry",
"$@31",
2007 "output_params_list",
"output_params",
"output",
"$@32",
"flush",
2008 "maxsize",
"maxver", YY_NULLPTR
2012 const unsigned short 2013 NetconfParser::yyrline_[] =
2015 0, 118, 118, 118, 119, 119, 120, 120, 128, 128,
2016 139, 145, 146, 147, 148, 149, 150, 151, 155, 155,
2017 166, 171, 172, 180, 184, 191, 191, 197, 198, 201,
2018 205, 218, 226, 226, 238, 239, 243, 244, 248, 248,
2019 265, 266, 269, 270, 275, 276, 277, 278, 279, 280,
2020 281, 282, 285, 290, 295, 300, 300, 325, 325, 353,
2021 353, 363, 364, 367, 368, 371, 371, 379, 380, 381,
2022 384, 385, 388, 388, 396, 396, 406, 406, 416, 417,
2023 420, 421, 427, 428, 429, 430, 431, 435, 435, 446,
2024 446, 457, 457, 468, 468, 479, 480, 484, 485, 486,
2025 487, 488, 489, 490, 491, 495, 495, 504, 504, 515,
2026 516, 519, 520, 521, 522, 523, 524, 527, 527, 535,
2027 536, 537, 540, 540, 549, 549, 564, 564, 577, 578,
2028 582, 586, 586, 598, 599, 603, 603, 611, 612, 615,
2029 616, 617, 618, 619, 620, 621, 624, 624, 632, 637,
2030 637, 645, 645, 655, 656, 659, 659, 667, 668, 671,
2031 672, 673, 674, 677, 677, 685, 690, 695
2036 NetconfParser::yystack_print_ ()
2038 *yycdebug_ <<
"Stack now";
2040 i = yystack_.
begin (),
2041 i_end = yystack_.
end ();
2043 *yycdebug_ <<
' ' << i->state;
2049 NetconfParser::yy_reduce_print_ (
int yyrule)
2051 unsigned yylno = yyrline_[yyrule];
2052 int yynrhs = yyr2_[yyrule];
2054 *yycdebug_ <<
"Reducing stack by rule " << yyrule - 1
2055 <<
" (line " << yylno <<
"):\n";
2057 for (
int yyi = 0; yyi < yynrhs; yyi++)
2059 yystack_[(yynrhs) - (yyi + 1)]);
2061 #endif // NETCONF_DEBUG 2064 #line 14 "netconf_parser.yy" // lalr1.cc:1218 2066 #line 2067 "netconf_parser.cc" // lalr1.cc:1218 2067 #line 700 "netconf_parser.yy" // lalr1.cc:1219 2072 const std::string& what)
2074 ctx.
error(loc, what);
Present a slice of the top of a stack.
Used while parsing Logging/loggers/output_options structures.
Used while parsing Netconf/managed-servers/*/control-socket/socket-type.
const_iterator begin() const
location location_type
Symbol locations.
#define YY_SYMBOL_PRINT(Title, Symbol)
NetconfParser(isc::netconf::ParserContext &ctx_yyarg)
Build a parser object.
void error(const isc::netconf::location &loc, const std::string &what)
Error handler.
void leave()
Leave a syntactic context.
#define YY_MOVE_REF(Type)
boost::shared_ptr< Element > ElementPtr
std::vector< stack_symbol_type > ::const_reverse_iterator const_iterator
LexerContext ctx_
Current syntactic context.
std::vector< isc::data::ElementPtr > stack_
JSON elements being parsed.
location_type location
The location.
#define YY_REDUCE_PRINT(Rule)
void set_debug_stream(std::ostream &)
Set the current debugging stream.
void push(YY_MOVE_REF(T) t)
Steal the contents of t.
void set_debug_level(debug_level_type l)
Set the current debugging level.
virtual int parse()
Parse.
Notes: IntElement type is changed to int64_t.
void move(basic_symbol &s)
Destructive move, s is emptied into this.
boost::shared_ptr< const Element > ConstElementPtr
bool empty() const
Whether empty.
Used while parsing Netconf/hooks-libraries.
int symbol_number_type
Symbol type: an internal symbol number.
isc::data::Element::Position loc2pos(isc::netconf::location &loc)
Converts bison's position to one understandable by isc::data::Element.
#define YYLLOC_DEFAULT(Current, Rhs, N)
Used while parsing Logging/loggers structures.
Used while parsing Netconf/manages-servers/*/control-socket.
virtual void error(const location_type &loc, const std::string &msg)
Report a syntax error.
Defines the logger used by the top-level component of kea-dhcp-ddns.
Used while parsing content of Netconf.
This one is used in pure JSON mode.
Define the isc::netconf::parser class.
void clear()
Destroy contents, and record that is empty.
void merge(ElementPtr element, ConstElementPtr other)
Merges the data from other into element.
Used while parsing content of Logging.
Parser context is a wrapper around flex/bison instances dedicated to Netconf-agent config file parser...
int debug_level_type
Type for debugging levels.
void enter(const LexerContext &ctx)
Enter a new syntactic context.
debug_level_type debug_level() const YY_ATTRIBUTE_PURE
The current debugging level.
Syntax errors thrown from user actions.
Used while parsing Netconf/managed-servers.
const_iterator end() const
std::ostream & debug_stream() const YY_ATTRIBUTE_PURE
The current debugging stream.
const std::string contextName()
Get the syntactic context name.