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);