39#define yylex netconf_lex
47#line 36 "netconf_parser.yy"
52#if defined(__GNUC__) || defined(__clang__)
53#pragma GCC diagnostic ignored "-Wunused-but-set-variable"
56#line 57 "netconf_parser.cc"
60# if defined YYENABLE_NLS && YYENABLE_NLS
63# define YY_(msgid) dgettext ("bison-runtime", msgid)
67# define YY_(msgid) msgid
74# if defined __GNUC__ && !defined __EXCEPTIONS
75# define YY_EXCEPTIONS 0
77# define YY_EXCEPTIONS 1
81#define YYRHSLOC(Rhs, K) ((Rhs)[K].location)
86# ifndef YYLLOC_DEFAULT
87# define YYLLOC_DEFAULT(Current, Rhs, N) \
91 (Current).begin = YYRHSLOC (Rhs, 1).begin; \
92 (Current).end = YYRHSLOC (Rhs, N).end; \
96 (Current).begin = (Current).end = YYRHSLOC (Rhs, 0).end; \
106# define YYCDEBUG if (yydebug_) (*yycdebug_)
108# define YY_SYMBOL_PRINT(Title, Symbol) \
112 *yycdebug_ << Title << ' '; \
113 yy_print_ (*yycdebug_, Symbol); \
114 *yycdebug_ << '\n'; \
118# define YY_REDUCE_PRINT(Rule) \
121 yy_reduce_print_ (Rule); \
124# define YY_STACK_PRINT() \
127 yy_stack_print_ (); \
132# define YYCDEBUG if (false) std::cerr
133# define YY_SYMBOL_PRINT(Title, Symbol) YY_USE (Symbol)
134# define YY_REDUCE_PRINT(Rule) static_cast<void> (0)
135# define YY_STACK_PRINT() static_cast<void> (0)
139#define yyerrok (yyerrstatus_ = 0)
140#define yyclearin (yyla.clear ())
142#define YYACCEPT goto yyacceptlab
143#define YYABORT goto yyabortlab
144#define YYERROR goto yyerrorlab
145#define YYRECOVERING() (!!yyerrstatus_)
147#line 14 "netconf_parser.yy"
148namespace isc {
namespace netconf {
149#line 150 "netconf_parser.cc"
155 yycdebug_ (&std::cerr),
176 : state (empty_state)
179 NetconfParser::by_state::by_state (
const by_state& that)
YY_NOEXCEPT
190 NetconfParser::by_state::move (by_state& that)
196 NetconfParser::by_state::by_state (state_type s)
YY_NOEXCEPT
203 if (state == empty_state)
209 NetconfParser::stack_symbol_type::stack_symbol_type ()
212 NetconfParser::stack_symbol_type::stack_symbol_type (
YY_RVREF (stack_symbol_type) that)
215 switch (that.kind ())
217 case symbol_kind::S_value:
218 case symbol_kind::S_map_value:
219 case symbol_kind::S_socket_type_value:
220 value.YY_MOVE_OR_COPY< ElementPtr > (YY_MOVE (that.value));
223 case symbol_kind::S_BOOLEAN:
224 value.YY_MOVE_OR_COPY< bool > (YY_MOVE (that.value));
227 case symbol_kind::S_FLOAT:
228 value.YY_MOVE_OR_COPY< double > (YY_MOVE (that.value));
231 case symbol_kind::S_INTEGER:
232 value.YY_MOVE_OR_COPY< int64_t > (YY_MOVE (that.value));
235 case symbol_kind::S_STRING:
236 value.YY_MOVE_OR_COPY< string > (YY_MOVE (that.value));
245 that.state = empty_state;
250 : super_type (s,
YY_MOVE (that.location))
252 switch (that.kind ())
254 case symbol_kind::S_value:
255 case symbol_kind::S_map_value:
256 case symbol_kind::S_socket_type_value:
257 value.move< ElementPtr > (YY_MOVE (that.value));
260 case symbol_kind::S_BOOLEAN:
261 value.move< bool > (YY_MOVE (that.value));
264 case symbol_kind::S_FLOAT:
265 value.move< double > (YY_MOVE (that.value));
268 case symbol_kind::S_INTEGER:
269 value.move< int64_t > (YY_MOVE (that.value));
272 case symbol_kind::S_STRING:
273 value.move< string > (YY_MOVE (that.value));
284#if YY_CPLUSPLUS < 201103L
285 NetconfParser::stack_symbol_type&
286 NetconfParser::stack_symbol_type::operator= (
const stack_symbol_type& that)
289 switch (that.kind ())
298 value.copy<
bool > (that.value);
302 value.copy<
double > (that.value);
306 value.copy< int64_t > (that.value);
310 value.copy<
string > (that.value);
317 location = that.location;
321 NetconfParser::stack_symbol_type&
322 NetconfParser::stack_symbol_type::operator= (stack_symbol_type& that)
325 switch (that.kind ())
334 value.move<
bool > (that.value);
338 value.move<
double > (that.value);
342 value.move< int64_t > (that.value);
346 value.move<
string > (that.value);
353 location = that.location;
355 that.state = empty_state;
360 template <
typename Base>
369 template <
typename Base>
373 std::ostream& yyoutput = yyo;
376 yyo <<
"empty symbol";
380 yyo << (yykind <
YYNTOKENS ?
"token" :
"nterm")
381 <<
' ' << yysym.name () <<
" ("
382 << yysym.location <<
": ";
386#line 114 "netconf_parser.yy"
387 { yyoutput << yysym.value.template as < string > (); }
388#line 389 "netconf_parser.cc"
392#line 114 "netconf_parser.yy"
393 { yyoutput << yysym.value.template as < int64_t > (); }
394#line 395 "netconf_parser.cc"
398#line 114 "netconf_parser.yy"
399 { yyoutput << yysym.value.template as < double > (); }
400#line 401 "netconf_parser.cc"
404#line 114 "netconf_parser.yy"
405 { yyoutput << yysym.value.template as < bool > (); }
406#line 407 "netconf_parser.cc"
410#line 114 "netconf_parser.yy"
411 { yyoutput << yysym.value.template as < ElementPtr > (); }
412#line 413 "netconf_parser.cc"
416#line 114 "netconf_parser.yy"
417 { yyoutput << yysym.value.template as < ElementPtr > (); }
418#line 419 "netconf_parser.cc"
422#line 114 "netconf_parser.yy"
423 { yyoutput << yysym.value.template as < ElementPtr > (); }
424#line 425 "netconf_parser.cc"
436 NetconfParser::yypush_ (
const char* m,
YY_MOVE_REF (stack_symbol_type) sym)
446#if 201103L <= YY_CPLUSPLUS
447 yypush_ (m, stack_symbol_type (s, std::move (sym)));
449 stack_symbol_type ss (s, sym);
462 NetconfParser::debug_stream ()
const
468 NetconfParser::set_debug_stream (std::ostream& o)
474 NetconfParser::debug_level_type
475 NetconfParser::debug_level ()
const
481 NetconfParser::set_debug_level (debug_level_type l)
487 NetconfParser::state_type
488 NetconfParser::yy_lr_goto_state_ (state_type yystate,
int yysym)
490 int yyr = yypgoto_[yysym -
YYNTOKENS] + yystate;
491 if (0 <= yyr && yyr <= yylast_ && yycheck_[yyr] == yystate)
492 return yytable_[yyr];
498 NetconfParser::yy_pact_value_is_default_ (
int yyvalue)
YY_NOEXCEPT
500 return yyvalue == yypact_ninf_;
504 NetconfParser::yy_table_value_is_error_ (
int yyvalue)
YY_NOEXCEPT
506 return yyvalue == yytable_ninf_;
524 int yyerrstatus_ = 0;
530 stack_symbol_type yyerror_range[3];
547 yypush_ (YY_NULLPTR, 0,
YY_MOVE (yyla));
553 YYCDEBUG <<
"Entering state " << int (yystack_[0].state) <<
'\n';
557 if (yystack_[0].state == yyfinal_)
568 yyn = yypact_[+yystack_[0].state];
569 if (yy_pact_value_is_default_ (yyn))
581 yyla.
move (yylookahead);
586 YYCDEBUG <<
"Caught exception: " << yyexc.what() <<
'\n';
607 if (yyn < 0 || yylast_ < yyn || yycheck_[yyn] != yyla.
kind ())
616 if (yy_table_value_is_error_ (yyn))
627 yypush_ (
"Shifting", state_type (yyn),
YY_MOVE (yyla));
635 yyn = yydefact_[+yystack_[0].state];
647 stack_symbol_type yylhs;
648 yylhs.state = yy_lr_goto_state_ (yystack_[yylen].state, yyr1_[yyn]);
683 stack_type::slice range (yystack_, yylen);
697#line 125 "netconf_parser.yy"
698 { ctx.ctx_ = ctx.NO_KEYWORDS; }
699#line 700 "netconf_parser.cc"
703#line 126 "netconf_parser.yy"
704 { ctx.ctx_ = ctx.CONFIG; }
705#line 706 "netconf_parser.cc"
709#line 127 "netconf_parser.yy"
710 { ctx.ctx_ = ctx.NETCONF; }
711#line 712 "netconf_parser.cc"
715#line 135 "netconf_parser.yy"
719 ctx.stack_.push_back(m);
721#line 722 "netconf_parser.cc"
725#line 139 "netconf_parser.yy"
729#line 730 "netconf_parser.cc"
733#line 146 "netconf_parser.yy"
736 ctx.stack_.push_back(yystack_[0].value.as <
ElementPtr > ());
738#line 739 "netconf_parser.cc"
742#line 152 "netconf_parser.yy"
744#line 745 "netconf_parser.cc"
748#line 153 "netconf_parser.yy"
750#line 751 "netconf_parser.cc"
754#line 154 "netconf_parser.yy"
756#line 757 "netconf_parser.cc"
760#line 155 "netconf_parser.yy"
762#line 763 "netconf_parser.cc"
766#line 156 "netconf_parser.yy"
768#line 769 "netconf_parser.cc"
772#line 157 "netconf_parser.yy"
774#line 775 "netconf_parser.cc"
778#line 158 "netconf_parser.yy"
780#line 781 "netconf_parser.cc"
784#line 162 "netconf_parser.yy"
789 ctx.stack_.push_back(m);
791#line 792 "netconf_parser.cc"
795#line 167 "netconf_parser.yy"
801#line 802 "netconf_parser.cc"
805#line 173 "netconf_parser.yy"
807#line 808 "netconf_parser.cc"
811#line 187 "netconf_parser.yy"
814 ctx.unique(yystack_[2].value.as <
string > (), ctx.loc2pos(yystack_[2].location));
815 ctx.stack_.back()->set(yystack_[2].value.as <
string > (), yystack_[0].value.as <
ElementPtr > ());
817#line 818 "netconf_parser.cc"
821#line 192 "netconf_parser.yy"
825 ctx.unique(yystack_[2].value.as <
string > (), ctx.loc2pos(yystack_[2].location));
826 ctx.stack_.back()->set(yystack_[2].value.as <
string > (), yystack_[0].value.as <
ElementPtr > ());
828#line 829 "netconf_parser.cc"
832#line 198 "netconf_parser.yy"
834 ctx.warnAboutExtraCommas(yystack_[0].location);
836#line 837 "netconf_parser.cc"
840#line 203 "netconf_parser.yy"
843 ctx.stack_.push_back(l);
845#line 846 "netconf_parser.cc"
849#line 206 "netconf_parser.yy"
852#line 853 "netconf_parser.cc"
856#line 213 "netconf_parser.yy"
859 ctx.stack_.back()->add(yystack_[0].value.as <
ElementPtr > ());
861#line 862 "netconf_parser.cc"
865#line 217 "netconf_parser.yy"
868 ctx.stack_.back()->add(yystack_[0].value.as <
ElementPtr > ());
870#line 871 "netconf_parser.cc"
874#line 221 "netconf_parser.yy"
876 ctx.warnAboutExtraCommas(yystack_[0].location);
878#line 879 "netconf_parser.cc"
882#line 233 "netconf_parser.yy"
884 const string& where = ctx.contextName();
885 const string& keyword = yystack_[1].value.as <
string > ();
886 error(yystack_[1].location,
887 "got unexpected keyword \"" + keyword +
"\" in " + where +
" map.");
889#line 890 "netconf_parser.cc"
893#line 241 "netconf_parser.yy"
898 ctx.stack_.push_back(m);
900#line 901 "netconf_parser.cc"
904#line 246 "netconf_parser.yy"
910#line 911 "netconf_parser.cc"
914#line 253 "netconf_parser.yy"
922 ctx.unique(
"Netconf", ctx.loc2pos(yystack_[0].location));
924 ctx.stack_.back()->set(
"Netconf", m);
925 ctx.stack_.push_back(m);
926 ctx.enter(ctx.NETCONF);
928#line 929 "netconf_parser.cc"
932#line 265 "netconf_parser.yy"
936 ctx.stack_.pop_back();
939#line 940 "netconf_parser.cc"
943#line 274 "netconf_parser.yy"
945 ctx.warnAboutExtraCommas(yystack_[0].location);
947#line 948 "netconf_parser.cc"
951#line 285 "netconf_parser.yy"
953 ctx.warnAboutExtraCommas(yystack_[0].location);
955#line 956 "netconf_parser.cc"
959#line 303 "netconf_parser.yy"
961 ctx.unique(
"boot-update", ctx.loc2pos(yystack_[2].location));
962 ElementPtr flag(
new BoolElement(yystack_[0].value.as <
bool > (), ctx.loc2pos(yystack_[0].location)));
963 ctx.stack_.back()->set(
"boot-update", flag);
965#line 966 "netconf_parser.cc"
969#line 309 "netconf_parser.yy"
971 ctx.unique(
"subscribe-changes", ctx.loc2pos(yystack_[2].location));
972 ElementPtr flag(
new BoolElement(yystack_[0].value.as <
bool > (), ctx.loc2pos(yystack_[0].location)));
973 ctx.stack_.back()->set(
"subscribe-changes", flag);
975#line 976 "netconf_parser.cc"
979#line 315 "netconf_parser.yy"
981 ctx.unique(
"validate-changes", ctx.loc2pos(yystack_[2].location));
982 ElementPtr flag(
new BoolElement(yystack_[0].value.as <
bool > (), ctx.loc2pos(yystack_[0].location)));
983 ctx.stack_.back()->set(
"validate-changes", flag);
985#line 986 "netconf_parser.cc"
989#line 321 "netconf_parser.yy"
991 ctx.enter(ctx.NO_KEYWORDS);
993#line 994 "netconf_parser.cc"
997#line 323 "netconf_parser.yy"
1006 if ((old->size() != 1) || !old->contains(
"comment")) {
1008 msg <<
"duplicate user-context entries (previous at "
1009 << old->getPosition().str() <<
")";
1010 error(yystack_[3].location, msg.str());
1013 user_context->set(
"comment", old->get(
"comment"));
1017 parent->set(
"user-context", user_context);
1020#line 1021 "netconf_parser.cc"
1024#line 346 "netconf_parser.yy"
1026 ctx.enter(ctx.NO_KEYWORDS);
1028#line 1029 "netconf_parser.cc"
1032#line 348 "netconf_parser.yy"
1037 user_context->set(
"comment", comment);
1043 if (old->contains(
"comment")) {
1045 msg <<
"duplicate user-context/comment entries (previous at "
1046 << old->getPosition().str() <<
")";
1047 error(yystack_[3].location, msg.str());
1050 merge(user_context, old);
1054 parent->set(
"user-context", user_context);
1057#line 1058 "netconf_parser.cc"
1061#line 374 "netconf_parser.yy"
1063 ctx.unique(
"hooks-libraries", ctx.loc2pos(yystack_[0].location));
1065 ctx.stack_.back()->set(
"hooks-libraries", l);
1066 ctx.stack_.push_back(l);
1067 ctx.enter(ctx.HOOKS_LIBRARIES);
1069#line 1070 "netconf_parser.cc"
1073#line 380 "netconf_parser.yy"
1075 ctx.stack_.pop_back();
1078#line 1079 "netconf_parser.cc"
1082#line 391 "netconf_parser.yy"
1084 ctx.warnAboutExtraCommas(yystack_[0].location);
1086#line 1087 "netconf_parser.cc"
1090#line 396 "netconf_parser.yy"
1093 ctx.stack_.back()->add(m);
1094 ctx.stack_.push_back(m);
1096#line 1097 "netconf_parser.cc"
1100#line 400 "netconf_parser.yy"
1102 ctx.stack_.pop_back();
1104#line 1105 "netconf_parser.cc"
1108#line 406 "netconf_parser.yy"
1110 ctx.warnAboutExtraCommas(yystack_[0].location);
1112#line 1113 "netconf_parser.cc"
1116#line 416 "netconf_parser.yy"
1118 ctx.unique(
"library", ctx.loc2pos(yystack_[0].location));
1119 ctx.enter(ctx.NO_KEYWORDS);
1121#line 1122 "netconf_parser.cc"
1125#line 419 "netconf_parser.yy"
1128 ctx.stack_.back()->set(
"library", lib);
1131#line 1132 "netconf_parser.cc"
1135#line 425 "netconf_parser.yy"
1137 ctx.unique(
"parameters", ctx.loc2pos(yystack_[0].location));
1138 ctx.enter(ctx.NO_KEYWORDS);
1140#line 1141 "netconf_parser.cc"
1144#line 428 "netconf_parser.yy"
1146 ctx.stack_.back()->set(
"parameters", yystack_[0].value.as <
ElementPtr > ());
1149#line 1150 "netconf_parser.cc"
1153#line 436 "netconf_parser.yy"
1155 ctx.unique(
"managed-servers", ctx.loc2pos(yystack_[2].location));
1157 ctx.stack_.back()->set(
"managed-servers", m);
1158 ctx.stack_.push_back(m);
1159 ctx.enter(ctx.MANAGED_SERVERS);
1161#line 1162 "netconf_parser.cc"
1165#line 442 "netconf_parser.yy"
1167 ctx.stack_.pop_back();
1170#line 1171 "netconf_parser.cc"
1174#line 453 "netconf_parser.yy"
1176 ctx.warnAboutExtraCommas(yystack_[0].location);
1178#line 1179 "netconf_parser.cc"
1182#line 468 "netconf_parser.yy"
1184 ctx.unique(
"dhcp4", ctx.loc2pos(yystack_[0].location));
1186 ctx.stack_.back()->set(
"dhcp4", m);
1187 ctx.stack_.push_back(m);
1188 ctx.enter(ctx.SERVER);
1190#line 1191 "netconf_parser.cc"
1194#line 474 "netconf_parser.yy"
1196 ctx.stack_.pop_back();
1199#line 1200 "netconf_parser.cc"
1203#line 480 "netconf_parser.yy"
1205 ctx.unique(
"dhcp6", ctx.loc2pos(yystack_[0].location));
1207 ctx.stack_.back()->set(
"dhcp6", m);
1208 ctx.stack_.push_back(m);
1209 ctx.enter(ctx.SERVER);
1211#line 1212 "netconf_parser.cc"
1215#line 486 "netconf_parser.yy"
1217 ctx.stack_.pop_back();
1220#line 1221 "netconf_parser.cc"
1224#line 492 "netconf_parser.yy"
1226 ctx.unique(
"d2", ctx.loc2pos(yystack_[0].location));
1228 ctx.stack_.back()->set(
"d2", m);
1229 ctx.stack_.push_back(m);
1230 ctx.enter(ctx.SERVER);
1232#line 1233 "netconf_parser.cc"
1236#line 498 "netconf_parser.yy"
1238 ctx.stack_.pop_back();
1241#line 1242 "netconf_parser.cc"
1245#line 506 "netconf_parser.yy"
1247 ctx.warnAboutExtraCommas(yystack_[0].location);
1249#line 1250 "netconf_parser.cc"
1253#line 523 "netconf_parser.yy"
1255 ctx.unique(
"model", ctx.loc2pos(yystack_[0].location));
1256 ctx.enter(ctx.NO_KEYWORDS);
1258#line 1259 "netconf_parser.cc"
1262#line 526 "netconf_parser.yy"
1265 ctx.stack_.back()->set(
"model", model);
1268#line 1269 "netconf_parser.cc"
1272#line 533 "netconf_parser.yy"
1274 ctx.unique(
"control-socket", ctx.loc2pos(yystack_[0].location));
1276 ctx.stack_.back()->set(
"control-socket", m);
1277 ctx.stack_.push_back(m);
1278 ctx.enter(ctx.CONTROL_SOCKET);
1280#line 1281 "netconf_parser.cc"
1284#line 539 "netconf_parser.yy"
1286 ctx.stack_.pop_back();
1289#line 1290 "netconf_parser.cc"
1293#line 547 "netconf_parser.yy"
1295 ctx.warnAboutExtraCommas(yystack_[0].location);
1297#line 1298 "netconf_parser.cc"
1301#line 560 "netconf_parser.yy"
1303 ctx.unique(
"socket-type", ctx.loc2pos(yystack_[0].location));
1304 ctx.enter(ctx.SOCKET_TYPE);
1306#line 1307 "netconf_parser.cc"
1310#line 563 "netconf_parser.yy"
1312 ctx.stack_.back()->set(
"socket-type", yystack_[0].value.as <
ElementPtr > ());
1315#line 1316 "netconf_parser.cc"
1319#line 569 "netconf_parser.yy"
1321#line 1322 "netconf_parser.cc"
1325#line 570 "netconf_parser.yy"
1327#line 1328 "netconf_parser.cc"
1331#line 571 "netconf_parser.yy"
1333#line 1334 "netconf_parser.cc"
1337#line 574 "netconf_parser.yy"
1339 ctx.unique(
"socket-name", ctx.loc2pos(yystack_[0].location));
1340 ctx.enter(ctx.NO_KEYWORDS);
1342#line 1343 "netconf_parser.cc"
1346#line 577 "netconf_parser.yy"
1349 ctx.stack_.back()->set(
"socket-name", name);
1352#line 1353 "netconf_parser.cc"
1356#line 584 "netconf_parser.yy"
1358 ctx.unique(
"socket-url", ctx.loc2pos(yystack_[0].location));
1359 ctx.enter(ctx.NO_KEYWORDS);
1361#line 1362 "netconf_parser.cc"
1365#line 587 "netconf_parser.yy"
1368 ctx.stack_.back()->set(
"socket-url", url);
1371#line 1372 "netconf_parser.cc"
1375#line 597 "netconf_parser.yy"
1377 ctx.unique(
"loggers", ctx.loc2pos(yystack_[0].location));
1379 ctx.stack_.back()->set(
"loggers", l);
1380 ctx.stack_.push_back(l);
1381 ctx.enter(ctx.LOGGERS);
1383#line 1384 "netconf_parser.cc"
1387#line 603 "netconf_parser.yy"
1389 ctx.stack_.pop_back();
1392#line 1393 "netconf_parser.cc"
1396#line 612 "netconf_parser.yy"
1398 ctx.warnAboutExtraCommas(yystack_[0].location);
1400#line 1401 "netconf_parser.cc"
1404#line 618 "netconf_parser.yy"
1407 ctx.stack_.back()->add(l);
1408 ctx.stack_.push_back(l);
1410#line 1411 "netconf_parser.cc"
1414#line 622 "netconf_parser.yy"
1416 ctx.stack_.pop_back();
1418#line 1419 "netconf_parser.cc"
1422#line 628 "netconf_parser.yy"
1424 ctx.warnAboutExtraCommas(yystack_[0].location);
1426#line 1427 "netconf_parser.cc"
1430#line 642 "netconf_parser.yy"
1432 ctx.unique(
"name", ctx.loc2pos(yystack_[0].location));
1433 ctx.enter(ctx.NO_KEYWORDS);
1435#line 1436 "netconf_parser.cc"
1439#line 645 "netconf_parser.yy"
1442 ctx.stack_.back()->set(
"name", name);
1445#line 1446 "netconf_parser.cc"
1449#line 651 "netconf_parser.yy"
1451 ctx.unique(
"debuglevel", ctx.loc2pos(yystack_[2].location));
1452 ElementPtr dl(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
1453 ctx.stack_.back()->set(
"debuglevel", dl);
1455#line 1456 "netconf_parser.cc"
1459#line 657 "netconf_parser.yy"
1461 ctx.unique(
"severity", ctx.loc2pos(yystack_[0].location));
1462 ctx.enter(ctx.NO_KEYWORDS);
1464#line 1465 "netconf_parser.cc"
1468#line 660 "netconf_parser.yy"
1471 ctx.stack_.back()->set(
"severity", sev);
1474#line 1475 "netconf_parser.cc"
1478#line 666 "netconf_parser.yy"
1480 ctx.unique(
"output-options", ctx.loc2pos(yystack_[0].location));
1482 ctx.stack_.back()->set(
"output-options", l);
1483 ctx.stack_.push_back(l);
1484 ctx.enter(ctx.OUTPUT_OPTIONS);
1486#line 1487 "netconf_parser.cc"
1490#line 672 "netconf_parser.yy"
1492 ctx.stack_.pop_back();
1495#line 1496 "netconf_parser.cc"
1499#line 679 "netconf_parser.yy"
1501 ctx.warnAboutExtraCommas(yystack_[0].location);
1503#line 1504 "netconf_parser.cc"
1507#line 684 "netconf_parser.yy"
1510 ctx.stack_.back()->add(m);
1511 ctx.stack_.push_back(m);
1513#line 1514 "netconf_parser.cc"
1517#line 688 "netconf_parser.yy"
1519 ctx.stack_.pop_back();
1521#line 1522 "netconf_parser.cc"
1525#line 694 "netconf_parser.yy"
1527 ctx.warnAboutExtraCommas(yystack_[0].location);
1529#line 1530 "netconf_parser.cc"
1533#line 706 "netconf_parser.yy"
1535 ctx.unique(
"output", ctx.loc2pos(yystack_[0].location));
1536 ctx.enter(ctx.NO_KEYWORDS);
1538#line 1539 "netconf_parser.cc"
1542#line 709 "netconf_parser.yy"
1545 ctx.stack_.back()->set(
"output", sev);
1548#line 1549 "netconf_parser.cc"
1552#line 715 "netconf_parser.yy"
1554 ctx.unique(
"flush", ctx.loc2pos(yystack_[2].location));
1555 ElementPtr flush(
new BoolElement(yystack_[0].value.as <
bool > (), ctx.loc2pos(yystack_[0].location)));
1556 ctx.stack_.back()->set(
"flush", flush);
1558#line 1559 "netconf_parser.cc"
1562#line 721 "netconf_parser.yy"
1564 ctx.unique(
"maxsize", ctx.loc2pos(yystack_[2].location));
1565 ElementPtr maxsize(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
1566 ctx.stack_.back()->set(
"maxsize", maxsize);
1568#line 1569 "netconf_parser.cc"
1572#line 727 "netconf_parser.yy"
1574 ctx.unique(
"maxver", ctx.loc2pos(yystack_[2].location));
1575 ElementPtr maxver(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
1576 ctx.stack_.back()->set(
"maxver", maxver);
1578#line 1579 "netconf_parser.cc"
1582#line 733 "netconf_parser.yy"
1584 ctx.unique(
"pattern", ctx.loc2pos(yystack_[0].location));
1585 ctx.enter(ctx.NO_KEYWORDS);
1587#line 1588 "netconf_parser.cc"
1591#line 736 "netconf_parser.yy"
1594 ctx.stack_.back()->set(
"pattern", sev);
1597#line 1598 "netconf_parser.cc"
1601#line 1602 "netconf_parser.cc"
1610 YYCDEBUG <<
"Caught exception: " << yyexc.what() <<
'\n';
1620 yypush_ (YY_NULLPTR,
YY_MOVE (yylhs));
1634 std::string msg = yysyntax_error_ (yyctx);
1640 if (yyerrstatus_ == 3)
1648 else if (!yyla.
empty ())
1650 yy_destroy_ (
"Error: discarding", yyla);
1684 yyn = yypact_[+yystack_[0].state];
1685 if (!yy_pact_value_is_default_ (yyn))
1688 if (0 <= yyn && yyn <= yylast_
1691 yyn = yytable_[yyn];
1698 if (yystack_.size () == 1)
1701 yyerror_range[1].
location = yystack_[0].location;
1702 yy_destroy_ (
"Error: popping", yystack_[0]);
1707 stack_symbol_type error_token;
1713 error_token.state = state_type (yyn);
1714 yypush_ (
"Shifting",
YY_MOVE (error_token));
1740 yy_destroy_ (
"Cleanup: discarding lookahead", yyla);
1746 while (1 < yystack_.size ())
1748 yy_destroy_ (
"Cleanup: popping", yystack_[0]);
1757 YYCDEBUG <<
"Exception caught: cleaning lookahead and stack\n";
1761 yy_destroy_ (YY_NULLPTR, yyla);
1763 while (1 < yystack_.size ())
1765 yy_destroy_ (YY_NULLPTR, yystack_[0]);
1785 NetconfParser::yytnamerr_ (
const char *yystr)
1790 char const *yyp = yystr;
1797 goto do_not_strip_quotes;
1801 goto do_not_strip_quotes;
1813 do_not_strip_quotes: ;
1822 return yytnamerr_ (yytname_[yysymbol]);
1829 : yyparser_ (yyparser)
1839 const int yyn = yypact_[+yyparser_.yystack_[0].state];
1840 if (!yy_pact_value_is_default_ (yyn))
1845 const int yyxbegin = yyn < 0 ? -yyn : 0;
1847 const int yychecklim = yylast_ - yyn + 1;
1849 for (
int yyx = yyxbegin; yyx < yyxend; ++yyx)
1851 && !yy_table_value_is_error_ (yytable_[yyx + yyn]))
1855 else if (yycount == yyargn)
1862 if (yyarg && yycount == 0 && 0 < yyargn)
1873 NetconfParser::yy_syntax_error_arguments_ (
const context& yyctx,
1904 yyarg[0] = yyctx.
token ();
1905 int yyn = yyctx.
expected_tokens (yyarg ? yyarg + 1 : yyarg, yyargn - 1);
1913 NetconfParser::yysyntax_error_ (
const context& yyctx)
const
1916 enum { YYARGS_MAX = 5 };
1919 int yycount = yy_syntax_error_arguments_ (yyctx, yyarg, YYARGS_MAX);
1921 char const* yyformat = YY_NULLPTR;
1924#define YYCASE_(N, S) \
1930 YYCASE_ (1,
YY_(
"syntax error, unexpected %s"));
1931 YYCASE_ (2,
YY_(
"syntax error, unexpected %s, expecting %s"));
1932 YYCASE_ (3,
YY_(
"syntax error, unexpected %s, expecting %s or %s"));
1933 YYCASE_ (4,
YY_(
"syntax error, unexpected %s, expecting %s or %s or %s"));
1934 YYCASE_ (5,
YY_(
"syntax error, unexpected %s, expecting %s or %s or %s or %s"));
1940 std::ptrdiff_t yyi = 0;
1941 for (
char const* yyp = yyformat; *yyp; ++yyp)
1942 if (yyp[0] ==
'%' && yyp[1] ==
's' && yyi < yycount)
1953 const signed char NetconfParser::yypact_ninf_ = -102;
1955 const signed char NetconfParser::yytable_ninf_ = -1;
1958 NetconfParser::yypact_[] =
1960 73, -102, -102, -102, 25, 15, 9, 22, -102, -102,
1961 -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
1962 -102, -102, -102, -102, 15, 19, 57, -1, -102, 65,
1963 79, 75, 82, 88, -102, 33, -102, -102, -102, 94,
1964 100, 102, 106, -102, -102, 115, -102, 85, 121, -102,
1965 -102, -102, -102, -102, -102, -102, -102, -102, -102, 15,
1966 15, -102, 81, 122, -102, -102, 123, 124, 83, 84,
1967 87, 125, 129, 132, -102, -102, -1, -102, -102, 133,
1968 131, 135, 99, -102, -102, -102, -102, 139, 140, -102,
1969 15, -1, -102, -102, -102, 0, 141, 142, -102, 138,
1970 -102, -102, -102, -102, 143, 126, -102, -102, -102, -102,
1971 -102, 144, 149, -102, -102, 20, -102, -102, 150, 151,
1972 152, -102, 0, -23, -102, 141, 76, 142, -102, 146,
1973 153, 154, -102, -102, -102, -102, 34, -102, -102, -102,
1974 -102, -102, -102, 155, -102, -102, -102, -102, 44, -102,
1975 -102, -102, -102, -102, -102, 63, 63, 63, 158, 159,
1976 16, -102, 160, 161, 112, 162, 76, -102, -102, -102,
1977 -102, -102, -102, -102, -102, -102, 45, -102, -102, -102,
1978 77, 78, 103, 135, -102, 114, 163, -102, 127, -102,
1979 165, 166, 63, -102, -102, -102, -102, -102, -102, 167,
1980 -102, 128, 168, -102, -102, 32, -102, -102, 91, -6,
1981 167, -102, -102, -102, -102, -102, -102, -102, 86, -102,
1982 -102, -102, -102, -102, 169, 172, 173, -102, 89, -102,
1983 -102, -102, -102, -102, -102, -102, 174, 175, 176, 91,
1984 -102, 180, 120, 145, 147, 181, -6, -102, 98, 156,
1985 157, -102, 164, -102, -102, -102, 171, -102, -102, -102,
1986 -102, -102, -102, -102, -102, -102
1990 NetconfParser::yydefact_[] =
1992 0, 2, 4, 6, 0, 0, 0, 0, 1, 26,
1993 18, 15, 14, 11, 12, 13, 3, 10, 16, 17,
1994 34, 5, 8, 7, 28, 21, 0, 40, 30, 0,
1995 29, 0, 0, 22, 36, 0, 38, 57, 59, 0,
1996 0, 0, 0, 61, 130, 0, 53, 0, 41, 42,
1997 45, 46, 47, 51, 52, 49, 48, 50, 27, 32,
1998 0, 19, 25, 0, 39, 35, 0, 0, 0, 0,
1999 0, 0, 0, 0, 33, 9, 44, 31, 23, 0,
2000 0, 0, 0, 54, 55, 56, 80, 0, 0, 43,
2001 0, 40, 20, 58, 60, 82, 63, 0, 24, 0,
2002 91, 93, 95, 90, 0, 83, 84, 87, 88, 89,
2003 68, 0, 64, 65, 135, 0, 132, 37, 0, 0,
2004 0, 81, 86, 0, 62, 67, 0, 134, 131, 0,
2005 0, 0, 85, 76, 78, 73, 0, 70, 74, 75,
2006 66, 147, 152, 0, 150, 146, 144, 145, 0, 137,
2007 140, 142, 143, 141, 133, 0, 0, 0, 0, 0,
2008 72, 69, 0, 0, 0, 0, 139, 136, 108, 110,
2009 107, 101, 102, 103, 105, 106, 0, 97, 100, 104,
2010 0, 0, 0, 0, 71, 0, 0, 149, 0, 138,
2011 0, 0, 99, 92, 94, 96, 77, 79, 148, 0,
2012 151, 0, 0, 98, 157, 0, 154, 109, 0, 0,
2013 156, 153, 121, 126, 128, 120, 118, 119, 0, 112,
2014 115, 116, 117, 167, 0, 0, 0, 172, 0, 159,
2015 162, 163, 164, 165, 166, 155, 0, 0, 0, 114,
2016 111, 0, 0, 0, 0, 0, 161, 158, 0, 0,
2017 0, 113, 0, 169, 170, 171, 0, 160, 123, 124,
2018 125, 122, 127, 129, 168, 173
2022 NetconfParser::yypgoto_[] =
2024 -102, -102, -102, -102, -102, -102, -102, -102, -20, -78,
2025 -102, 3, -102, -102, -102, -102, -102, -102, -27, -102,
2026 -102, -102, -102, -102, 96, -102, 113, -22, -19, -18,
2027 -26, -102, -25, -102, -102, -102, -102, -102, 66, -102,
2028 -102, 28, -102, -102, -102, -102, -102, -102, -102, -102,
2029 71, -102, -102, -102, -102, -102, -102, -101, 2, -102,
2030 -102, -102, -102, -102, -44, -102, -102, -102, -102, -102,
2031 -102, -102, -102, -102, -102, 69, -102, -102, 31, -102,
2032 -102, -102, -102, -102, -102, -102, -102, -12, -102, -102,
2033 -47, -102, -102, -102, -102, -102, -102, -102
2037 NetconfParser::yydefgoto_[] =
2039 0, 4, 5, 6, 7, 23, 27, 16, 17, 18,
2040 25, 93, 32, 33, 19, 24, 29, 30, 170, 21,
2041 26, 35, 63, 36, 47, 48, 49, 171, 172, 173,
2042 174, 66, 175, 67, 55, 72, 111, 112, 113, 123,
2043 136, 137, 138, 158, 139, 159, 56, 95, 104, 105,
2044 106, 107, 118, 108, 119, 109, 120, 176, 177, 178,
2045 190, 179, 191, 218, 219, 220, 236, 261, 221, 237,
2046 222, 238, 57, 73, 115, 116, 126, 148, 149, 150,
2047 162, 151, 152, 165, 153, 163, 205, 206, 209, 228,
2048 229, 230, 241, 231, 232, 233, 234, 245
2052 NetconfParser::yytable_[] =
2054 46, 53, 54, 92, 28, 50, 133, 134, 51, 52,
2055 37, 38, 39, 40, 41, 42, 20, 100, 101, 102,
2056 9, 45, 10, 127, 11, 8, 128, 43, 223, 22,
2057 44, 224, 225, 226, 227, 210, 64, 160, 211, 77,
2058 78, 65, 161, 45, 45, 133, 134, 166, 192, 46,
2059 53, 54, 167, 193, 50, 180, 181, 51, 52, 12,
2060 13, 14, 15, 31, 46, 53, 54, 34, 103, 50,
2061 98, 58, 51, 52, 37, 38, 39, 40, 41, 60,
2062 192, 192, 59, 168, 169, 194, 195, 37, 38, 239,
2063 61, 62, 246, 75, 240, 103, 135, 247, 68, 145,
2064 146, 147, 37, 38, 69, 92, 70, 45, 141, 142,
2065 71, 143, 144, 212, 1, 2, 3, 213, 214, 74,
2066 45, 258, 259, 260, 76, 79, 80, 81, 82, 122,
2067 83, 84, 86, 87, 85, 45, 88, 90, 91, 145,
2068 146, 147, 10, 94, 96, 97, 117, 196, 110, 114,
2069 124, 121, 125, 155, 129, 130, 131, 187, 198, 164,
2070 156, 157, 182, 183, 185, 186, 188, 253, 199, 201,
2071 202, 200, 207, 242, 204, 208, 243, 244, 248, 249,
2072 250, 215, 216, 217, 252, 256, 197, 99, 184, 89,
2073 254, 140, 255, 132, 203, 251, 154, 189, 235, 257,
2074 262, 263, 0, 0, 0, 0, 0, 0, 264, 0,
2075 0, 0, 215, 216, 217, 265
2079 NetconfParser::yycheck_[] =
2081 27, 27, 27, 81, 24, 27, 29, 30, 27, 27,
2082 11, 12, 13, 14, 15, 16, 7, 17, 18, 19,
2083 5, 44, 7, 3, 9, 0, 6, 28, 34, 7,
2084 31, 37, 38, 39, 40, 3, 3, 3, 6, 59,
2085 60, 8, 8, 44, 44, 29, 30, 3, 3, 76,
2086 76, 76, 8, 8, 76, 156, 157, 76, 76, 44,
2087 45, 46, 47, 44, 91, 91, 91, 10, 95, 91,
2088 90, 6, 91, 91, 11, 12, 13, 14, 15, 4,
2089 3, 3, 3, 20, 21, 8, 8, 11, 12, 3,
2090 8, 3, 3, 8, 8, 122, 123, 8, 4, 126,
2091 126, 126, 11, 12, 4, 183, 4, 44, 32, 33,
2092 4, 35, 36, 22, 41, 42, 43, 26, 27, 4,
2093 44, 23, 24, 25, 3, 44, 4, 4, 4, 3,
2094 47, 47, 7, 4, 47, 44, 4, 4, 7, 166,
2095 166, 166, 7, 44, 5, 5, 8, 44, 7, 7,
2096 6, 8, 3, 7, 4, 4, 4, 45, 44, 4,
2097 7, 7, 4, 4, 4, 4, 4, 47, 5, 4,
2098 4, 44, 44, 4, 7, 7, 4, 4, 4, 4,
2099 4, 208, 208, 208, 4, 4, 183, 91, 160, 76,
2100 45, 125, 45, 122, 192, 239, 127, 166, 210, 246,
2101 44, 44, -1, -1, -1, -1, -1, -1, 44, -1,
2102 -1, -1, 239, 239, 239, 44
2106 NetconfParser::yystos_[] =
2108 0, 41, 42, 43, 49, 50, 51, 52, 0, 5,
2109 7, 9, 44, 45, 46, 47, 55, 56, 57, 62,
2110 7, 67, 7, 53, 63, 58, 68, 54, 56, 64,
2111 65, 44, 60, 61, 10, 69, 71, 11, 12, 13,
2112 14, 15, 16, 28, 31, 44, 66, 72, 73, 74,
2113 75, 76, 77, 78, 80, 82, 94, 120, 6, 3,
2114 4, 8, 3, 70, 3, 8, 79, 81, 4, 4,
2115 4, 4, 83, 121, 4, 8, 3, 56, 56, 44,
2116 4, 4, 4, 47, 47, 47, 7, 4, 4, 74,
2117 4, 7, 57, 59, 44, 95, 5, 5, 56, 72,
2118 17, 18, 19, 66, 96, 97, 98, 99, 101, 103,
2119 7, 84, 85, 86, 7, 122, 123, 8, 100, 102,
2120 104, 8, 3, 87, 6, 3, 124, 3, 6, 4,
2121 4, 4, 98, 29, 30, 66, 88, 89, 90, 92,
2122 86, 32, 33, 35, 36, 66, 78, 80, 125, 126,
2123 127, 129, 130, 132, 123, 7, 7, 7, 91, 93,
2124 3, 8, 128, 133, 4, 131, 3, 8, 20, 21,
2125 66, 75, 76, 77, 78, 80, 105, 106, 107, 109,
2126 105, 105, 4, 4, 89, 4, 4, 45, 4, 126,
2127 108, 110, 3, 8, 8, 8, 44, 59, 44, 5,
2128 44, 4, 4, 106, 7, 134, 135, 44, 7, 136,
2129 3, 6, 22, 26, 27, 66, 78, 80, 111, 112,
2130 113, 116, 118, 34, 37, 38, 39, 40, 137, 138,
2131 139, 141, 142, 143, 144, 135, 114, 117, 119, 3,
2132 8, 140, 4, 4, 4, 145, 3, 8, 4, 4,
2133 4, 112, 4, 47, 45, 45, 4, 138, 23, 24,
2134 25, 115, 44, 44, 44, 44
2138 NetconfParser::yyr1_[] =
2140 0, 48, 50, 49, 51, 49, 52, 49, 54, 53,
2141 55, 56, 56, 56, 56, 56, 56, 56, 58, 57,
2142 59, 60, 60, 61, 61, 61, 63, 62, 64, 64,
2143 65, 65, 65, 66, 68, 67, 70, 69, 69, 71,
2144 72, 72, 73, 73, 73, 74, 74, 74, 74, 74,
2145 74, 74, 74, 74, 75, 76, 77, 79, 78, 81,
2146 80, 83, 82, 84, 84, 85, 85, 85, 87, 86,
2147 88, 88, 88, 88, 89, 89, 91, 90, 93, 92,
2148 95, 94, 96, 96, 97, 97, 97, 98, 98, 98,
2149 98, 100, 99, 102, 101, 104, 103, 105, 105, 105,
2150 106, 106, 106, 106, 106, 106, 106, 106, 108, 107,
2151 110, 109, 111, 111, 111, 112, 112, 112, 112, 112,
2152 112, 114, 113, 115, 115, 115, 117, 116, 119, 118,
2153 121, 120, 122, 122, 122, 124, 123, 125, 125, 125,
2154 126, 126, 126, 126, 126, 126, 126, 128, 127, 129,
2155 131, 130, 133, 132, 134, 134, 134, 136, 135, 137,
2156 137, 137, 138, 138, 138, 138, 138, 140, 139, 141,
2161 NetconfParser::yyr2_[] =
2163 0, 2, 0, 3, 0, 3, 0, 3, 0, 4,
2164 1, 1, 1, 1, 1, 1, 1, 1, 0, 4,
2165 1, 0, 1, 3, 5, 2, 0, 4, 0, 1,
2166 1, 3, 2, 2, 0, 4, 0, 6, 1, 2,
2167 0, 1, 1, 3, 2, 1, 1, 1, 1, 1,
2168 1, 1, 1, 1, 3, 3, 3, 0, 4, 0,
2169 4, 0, 6, 0, 1, 1, 3, 2, 0, 4,
2170 1, 3, 2, 1, 1, 1, 0, 4, 0, 4,
2171 0, 6, 0, 1, 1, 3, 2, 1, 1, 1,
2172 1, 0, 6, 0, 6, 0, 6, 1, 3, 2,
2173 1, 1, 1, 1, 1, 1, 1, 1, 0, 4,
2174 0, 6, 1, 3, 2, 1, 1, 1, 1, 1,
2175 1, 0, 4, 1, 1, 1, 0, 4, 0, 4,
2176 0, 6, 1, 3, 2, 0, 4, 1, 3, 2,
2177 1, 1, 1, 1, 1, 1, 1, 0, 4, 3,
2178 0, 4, 0, 6, 1, 3, 2, 0, 4, 1,
2179 3, 2, 1, 1, 1, 1, 1, 0, 4, 3,
2184#if NETCONF_DEBUG || 1
2188 const NetconfParser::yytname_[] =
2190 "\"end of file\"",
"error",
"\"invalid token\"",
"\",\"",
"\":\"",
2191 "\"[\"",
"\"]\"",
"\"{\"",
"\"}\"",
"\"null\"",
"\"Netconf\"",
2192 "\"user-context\"",
"\"comment\"",
"\"boot-update\"",
2193 "\"subscribe-changes\"",
"\"validate-changes\"",
"\"managed-servers\"",
2194 "\"dhcp4\"",
"\"dhcp6\"",
"\"d2\"",
"\"model\"",
"\"control-socket\"",
2195 "\"socket-type\"",
"\"unix\"",
"\"http\"",
"\"stdout\"",
2196 "\"socket-name\"",
"\"socket-url\"",
"\"hooks-libraries\"",
2197 "\"library\"",
"\"parameters\"",
"\"loggers\"",
"\"name\"",
2198 "\"output-options\"",
"\"output\"",
"\"debuglevel\"",
"\"severity\"",
2199 "\"flush\"",
"\"maxsize\"",
"\"maxver\"",
"\"pattern\"",
"START_JSON",
2200 "START_NETCONF",
"START_SUB_NETCONF",
"\"constant string\"",
2201 "\"integer\"",
"\"floating point\"",
"\"boolean\"",
"$accept",
"start",
2202 "$@1",
"$@2",
"$@3",
"sub_netconf",
"$@4",
"json",
"value",
"map",
"$@5",
2203 "map_value",
"map_content",
"not_empty_map",
"list_generic",
"$@6",
2204 "list_content",
"not_empty_list",
"unknown_map_entry",
2205 "netconf_syntax_map",
"$@7",
"global_object",
"$@8",
2206 "global_object_comma",
"global_params",
"not_empty_global_params",
2207 "global_param",
"boot_update",
"subscribe_changes",
"validate_changes",
2208 "user_context",
"$@9",
"comment",
"$@10",
"hooks_libraries",
"$@11",
2209 "hooks_libraries_list",
"not_empty_hooks_libraries_list",
2210 "hooks_library",
"$@12",
"hooks_params",
"hooks_param",
"library",
2211 "$@13",
"parameters",
"$@14",
"managed_servers",
"$@15",
2212 "servers_entries",
"not_empty_servers_entries",
"server_entry",
2213 "dhcp4_server",
"$@16",
"dhcp6_server",
"$@17",
"d2_server",
"$@18",
2214 "managed_server_params",
"managed_server_param",
"model",
"$@19",
2215 "control_socket",
"$@20",
"control_socket_params",
2216 "control_socket_param",
"socket_type",
"$@21",
"socket_type_value",
2217 "socket_name",
"$@22",
"socket_url",
"$@23",
"loggers",
"$@24",
2218 "loggers_entries",
"logger_entry",
"$@25",
"logger_params",
2219 "logger_param",
"name",
"$@26",
"debuglevel",
"severity",
"$@27",
2220 "output_options_list",
"$@28",
"output_options_list_content",
2221 "output_entry",
"$@29",
"output_params_list",
"output_params",
"output",
2222 "$@30",
"flush",
"maxsize",
"maxver",
"pattern",
"$@31", YY_NULLPTR
2229 NetconfParser::yyrline_[] =
2231 0, 125, 125, 125, 126, 126, 127, 127, 135, 135,
2232 146, 152, 153, 154, 155, 156, 157, 158, 162, 162,
2233 173, 178, 179, 187, 192, 198, 203, 203, 209, 210,
2234 213, 217, 221, 233, 241, 241, 253, 253, 271, 274,
2235 279, 280, 283, 284, 285, 292, 293, 294, 295, 296,
2236 297, 298, 299, 300, 303, 309, 315, 321, 321, 346,
2237 346, 374, 374, 385, 386, 389, 390, 391, 396, 396,
2238 404, 405, 406, 409, 412, 413, 416, 416, 425, 425,
2239 436, 436, 447, 448, 451, 452, 453, 461, 462, 463,
2240 464, 468, 468, 480, 480, 492, 492, 504, 505, 506,
2241 512, 513, 514, 515, 516, 517, 518, 519, 523, 523,
2242 533, 533, 545, 546, 547, 552, 553, 554, 555, 556,
2243 557, 560, 560, 569, 570, 571, 574, 574, 584, 584,
2244 597, 597, 610, 611, 612, 618, 618, 626, 627, 628,
2245 633, 634, 635, 636, 637, 638, 639, 642, 642, 651,
2246 657, 657, 666, 666, 677, 678, 679, 684, 684, 692,
2247 693, 694, 699, 700, 701, 702, 703, 706, 706, 715,
2252 NetconfParser::yy_stack_print_ ()
const
2254 *yycdebug_ <<
"Stack now";
2255 for (stack_type::const_iterator
2256 i = yystack_.begin (),
2257 i_end = yystack_.end ();
2259 *yycdebug_ <<
' ' << int (i->state);
2264 NetconfParser::yy_reduce_print_ (
int yyrule)
const
2266 int yylno = yyrline_[yyrule];
2267 int yynrhs = yyr2_[yyrule];
2269 *yycdebug_ <<
"Reducing stack by rule " << yyrule - 1
2270 <<
" (line " << yylno <<
"):\n";
2272 for (
int yyi = 0; yyi < yynrhs; yyi++)
2274 yystack_[(yynrhs) - (yyi + 1)]);
2279#line 14 "netconf_parser.yy"
2281#line 2282 "netconf_parser.cc"
2283#line 742 "netconf_parser.yy"
2288 const string& what) {
2289 ctx.error(loc, what);
Notes: IntElement type is changed to int64_t.
int expected_tokens(symbol_kind_type yyarg[], int yyargn) const
Put in YYARG at most YYARGN of the expected tokens, and return the number of tokens stored in YYARG.
symbol_kind_type token() const YY_NOEXCEPT
context(const NetconfParser &yyparser, const symbol_type &yyla)
const symbol_type & lookahead() const YY_NOEXCEPT
T & as() YY_NOEXCEPT
Accessor to a built T.
T & emplace()
Instantiate an empty T in here.
virtual int parse()
Parse.
static std::string symbol_name(symbol_kind_type yysymbol)
The user-facing name of the symbol whose (internal) number is YYSYMBOL.
NetconfParser(isc::netconf::ParserContext &ctx_yyarg)
Build a parser object.
virtual void error(const location_type &loc, const std::string &msg)
Report a syntax error.
symbol_kind::symbol_kind_type symbol_kind_type
(Internal) symbol kind.
static const symbol_kind_type YYNTOKENS
The number of tokens.
location location_type
Symbol locations.
Parser context is a wrapper around flex/bison instances dedicated to Netconf-agent config file parser...
#define YYLLOC_DEFAULT(Current, Rhs, N)
#define YY_REDUCE_PRINT(Rule)
#define YY_SYMBOL_PRINT(Title, Symbol)
#define YY_CAST(Type, Val)
#define YY_MOVE_REF(Type)
#define YY_ATTRIBUTE_UNUSED
void merge(ElementPtr element, ConstElementPtr other)
Merges the data from other into element. (on the first level).
boost::shared_ptr< const Element > ConstElementPtr
boost::shared_ptr< Element > ElementPtr
Defines the logger used by the top-level component of kea-lfc.
Define the isc::netconf::parser class.
bool empty() const YY_NOEXCEPT
Whether empty.
void move(basic_symbol &s)
Destructive move, s is emptied into this.
value_type value
The semantic value.
location_type location
The location.
void clear() YY_NOEXCEPT
Destroy contents, and record that is empty.
symbol_kind_type kind() const YY_NOEXCEPT
The (internal) type number (corresponding to type).
symbol_kind_type kind_
The symbol kind.
"External" symbols: returned by the scanner.
Syntax errors thrown from user actions.
~syntax_error() YY_NOEXCEPT YY_NOTHROW