149#line 150 "agent_parser.cc"
155 yycdebug_ (&std::cerr),
176 : state (empty_state)
179 AgentParser::by_state::by_state (
const by_state& that)
YY_NOEXCEPT
190 AgentParser::by_state::move (by_state& that)
196 AgentParser::by_state::by_state (state_type s)
YY_NOEXCEPT
203 if (state == empty_state)
209 AgentParser::stack_symbol_type::stack_symbol_type ()
212 AgentParser::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 case symbol_kind::S_auth_type_value:
221 value.YY_MOVE_OR_COPY< ElementPtr > (YY_MOVE (that.value));
224 case symbol_kind::S_BOOLEAN:
225 value.YY_MOVE_OR_COPY< bool > (YY_MOVE (that.value));
228 case symbol_kind::S_FLOAT:
229 value.YY_MOVE_OR_COPY< double > (YY_MOVE (that.value));
232 case symbol_kind::S_INTEGER:
233 value.YY_MOVE_OR_COPY< int64_t > (YY_MOVE (that.value));
236 case symbol_kind::S_STRING:
237 value.YY_MOVE_OR_COPY< std::string > (YY_MOVE (that.value));
246 that.state = empty_state;
251 : super_type (s,
YY_MOVE (that.location))
253 switch (that.kind ())
255 case symbol_kind::S_value:
256 case symbol_kind::S_map_value:
257 case symbol_kind::S_socket_type_value:
258 case symbol_kind::S_auth_type_value:
259 value.move< ElementPtr > (YY_MOVE (that.value));
262 case symbol_kind::S_BOOLEAN:
263 value.move< bool > (YY_MOVE (that.value));
266 case symbol_kind::S_FLOAT:
267 value.move< double > (YY_MOVE (that.value));
270 case symbol_kind::S_INTEGER:
271 value.move< int64_t > (YY_MOVE (that.value));
274 case symbol_kind::S_STRING:
275 value.move< std::string > (YY_MOVE (that.value));
286#if YY_CPLUSPLUS < 201103L
287 AgentParser::stack_symbol_type&
288 AgentParser::stack_symbol_type::operator= (
const stack_symbol_type& that)
291 switch (that.kind ())
301 value.copy<
bool > (that.value);
305 value.copy<
double > (that.value);
309 value.copy< int64_t > (that.value);
313 value.copy< std::string > (that.value);
320 location = that.location;
324 AgentParser::stack_symbol_type&
325 AgentParser::stack_symbol_type::operator= (stack_symbol_type& that)
328 switch (that.kind ())
338 value.move<
bool > (that.value);
342 value.move<
double > (that.value);
346 value.move< int64_t > (that.value);
350 value.move< std::string > (that.value);
357 location = that.location;
359 that.state = empty_state;
364 template <
typename Base>
373 template <
typename Base>
377 std::ostream& yyoutput = yyo;
380 yyo <<
"empty symbol";
384 yyo << (yykind <
YYNTOKENS ?
"token" :
"nterm")
385 <<
' ' << yysym.name () <<
" ("
386 << yysym.location <<
": ";
390#line 124 "agent_parser.yy"
391 { yyoutput << yysym.value.template as < std::string > (); }
392#line 393 "agent_parser.cc"
396#line 124 "agent_parser.yy"
397 { yyoutput << yysym.value.template as < int64_t > (); }
398#line 399 "agent_parser.cc"
402#line 124 "agent_parser.yy"
403 { yyoutput << yysym.value.template as < double > (); }
404#line 405 "agent_parser.cc"
408#line 124 "agent_parser.yy"
409 { yyoutput << yysym.value.template as < bool > (); }
410#line 411 "agent_parser.cc"
414#line 124 "agent_parser.yy"
415 { yyoutput << yysym.value.template as < ElementPtr > (); }
416#line 417 "agent_parser.cc"
420#line 124 "agent_parser.yy"
421 { yyoutput << yysym.value.template as < ElementPtr > (); }
422#line 423 "agent_parser.cc"
426#line 124 "agent_parser.yy"
427 { yyoutput << yysym.value.template as < ElementPtr > (); }
428#line 429 "agent_parser.cc"
432#line 124 "agent_parser.yy"
433 { yyoutput << yysym.value.template as < ElementPtr > (); }
434#line 435 "agent_parser.cc"
446 AgentParser::yypush_ (
const char* m,
YY_MOVE_REF (stack_symbol_type) sym)
456#if 201103L <= YY_CPLUSPLUS
457 yypush_ (m, stack_symbol_type (s, std::move (sym)));
459 stack_symbol_type ss (s, sym);
472 AgentParser::debug_stream ()
const
478 AgentParser::set_debug_stream (std::ostream& o)
484 AgentParser::debug_level_type
485 AgentParser::debug_level ()
const
491 AgentParser::set_debug_level (debug_level_type l)
497 AgentParser::state_type
498 AgentParser::yy_lr_goto_state_ (state_type yystate,
int yysym)
500 int yyr = yypgoto_[yysym -
YYNTOKENS] + yystate;
501 if (0 <= yyr && yyr <= yylast_ && yycheck_[yyr] == yystate)
502 return yytable_[yyr];
508 AgentParser::yy_pact_value_is_default_ (
int yyvalue)
YY_NOEXCEPT
510 return yyvalue == yypact_ninf_;
514 AgentParser::yy_table_value_is_error_ (
int yyvalue)
YY_NOEXCEPT
516 return yyvalue == yytable_ninf_;
534 int yyerrstatus_ = 0;
540 stack_symbol_type yyerror_range[3];
557 yypush_ (YY_NULLPTR, 0,
YY_MOVE (yyla));
563 YYCDEBUG <<
"Entering state " << int (yystack_[0].state) <<
'\n';
567 if (yystack_[0].state == yyfinal_)
578 yyn = yypact_[+yystack_[0].state];
579 if (yy_pact_value_is_default_ (yyn))
591 yyla.
move (yylookahead);
596 YYCDEBUG <<
"Caught exception: " << yyexc.what() <<
'\n';
617 if (yyn < 0 || yylast_ < yyn || yycheck_[yyn] != yyla.
kind ())
626 if (yy_table_value_is_error_ (yyn))
637 yypush_ (
"Shifting", state_type (yyn),
YY_MOVE (yyla));
645 yyn = yydefact_[+yystack_[0].state];
657 stack_symbol_type yylhs;
658 yylhs.state = yy_lr_goto_state_ (yystack_[yylen].state, yyr1_[yyn]);
694 stack_type::slice range (yystack_, yylen);
708#line 135 "agent_parser.yy"
709 { ctx.ctx_ = ctx.NO_KEYWORDS; }
710#line 711 "agent_parser.cc"
714#line 136 "agent_parser.yy"
715 { ctx.ctx_ = ctx.CONFIG; }
716#line 717 "agent_parser.cc"
720#line 137 "agent_parser.yy"
721 { ctx.ctx_ = ctx.AGENT; }
722#line 723 "agent_parser.cc"
726#line 145 "agent_parser.yy"
730 ctx.stack_.push_back(m);
732#line 733 "agent_parser.cc"
736#line 149 "agent_parser.yy"
740#line 741 "agent_parser.cc"
744#line 156 "agent_parser.yy"
747 ctx.stack_.push_back(yystack_[0].value.as <
ElementPtr > ());
749#line 750 "agent_parser.cc"
753#line 162 "agent_parser.yy"
755#line 756 "agent_parser.cc"
759#line 163 "agent_parser.yy"
761#line 762 "agent_parser.cc"
765#line 164 "agent_parser.yy"
767#line 768 "agent_parser.cc"
771#line 165 "agent_parser.yy"
773#line 774 "agent_parser.cc"
777#line 166 "agent_parser.yy"
779#line 780 "agent_parser.cc"
783#line 167 "agent_parser.yy"
785#line 786 "agent_parser.cc"
789#line 168 "agent_parser.yy"
791#line 792 "agent_parser.cc"
795#line 172 "agent_parser.yy"
800 ctx.stack_.push_back(m);
802#line 803 "agent_parser.cc"
806#line 177 "agent_parser.yy"
812#line 813 "agent_parser.cc"
816#line 183 "agent_parser.yy"
818#line 819 "agent_parser.cc"
822#line 197 "agent_parser.yy"
825 ctx.unique(yystack_[2].value.as < std::string > (), ctx.loc2pos(yystack_[2].location));
826 ctx.stack_.back()->set(yystack_[2].value.as < std::string > (), yystack_[0].value.as <
ElementPtr > ());
828#line 829 "agent_parser.cc"
832#line 202 "agent_parser.yy"
836 ctx.unique(yystack_[2].value.as < std::string > (), ctx.loc2pos(yystack_[2].location));
837 ctx.stack_.back()->set(yystack_[2].value.as < std::string > (), yystack_[0].value.as <
ElementPtr > ());
839#line 840 "agent_parser.cc"
843#line 208 "agent_parser.yy"
845 ctx.warnAboutExtraCommas(yystack_[0].location);
847#line 848 "agent_parser.cc"
851#line 213 "agent_parser.yy"
854 ctx.stack_.push_back(l);
856#line 857 "agent_parser.cc"
860#line 216 "agent_parser.yy"
863#line 864 "agent_parser.cc"
867#line 223 "agent_parser.yy"
870 ctx.stack_.back()->add(yystack_[0].value.as <
ElementPtr > ());
872#line 873 "agent_parser.cc"
876#line 227 "agent_parser.yy"
879 ctx.stack_.back()->add(yystack_[0].value.as <
ElementPtr > ());
881#line 882 "agent_parser.cc"
885#line 231 "agent_parser.yy"
887 ctx.warnAboutExtraCommas(yystack_[0].location);
889#line 890 "agent_parser.cc"
893#line 243 "agent_parser.yy"
895 const std::string& where = ctx.contextName();
896 const std::string& keyword = yystack_[1].value.as < std::string > ();
897 error(yystack_[1].location,
898 "got unexpected keyword \"" + keyword +
"\" in " + where +
" map.");
900#line 901 "agent_parser.cc"
904#line 251 "agent_parser.yy"
909 ctx.stack_.push_back(m);
911#line 912 "agent_parser.cc"
915#line 256 "agent_parser.yy"
921#line 922 "agent_parser.cc"
925#line 263 "agent_parser.yy"
931 ctx.unique(
"Control-agent", ctx.loc2pos(yystack_[0].location));
933 ctx.stack_.back()->set(
"Control-agent", m);
934 ctx.stack_.push_back(m);
935 ctx.enter(ctx.AGENT);
937#line 938 "agent_parser.cc"
941#line 273 "agent_parser.yy"
945 ctx.stack_.pop_back();
948#line 949 "agent_parser.cc"
952#line 282 "agent_parser.yy"
954 ctx.warnAboutExtraCommas(yystack_[0].location);
956#line 957 "agent_parser.cc"
960#line 288 "agent_parser.yy"
962 ctx.warnAboutExtraCommas(yystack_[0].location);
964#line 965 "agent_parser.cc"
968#line 311 "agent_parser.yy"
970 ctx.unique(
"http-host", ctx.loc2pos(yystack_[0].location));
971 ctx.enter(ctx.NO_KEYWORDS);
973#line 974 "agent_parser.cc"
977#line 314 "agent_parser.yy"
979 ElementPtr host(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
980 ctx.stack_.back()->set(
"http-host", host);
983#line 984 "agent_parser.cc"
987#line 320 "agent_parser.yy"
989 ctx.unique(
"http-port", ctx.loc2pos(yystack_[2].location));
990 ElementPtr prf(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
991 ctx.stack_.back()->set(
"http-port", prf);
993#line 994 "agent_parser.cc"
997#line 326 "agent_parser.yy"
999 ctx.unique(
"trust-anchor", ctx.loc2pos(yystack_[0].location));
1000 ctx.enter(ctx.NO_KEYWORDS);
1002#line 1003 "agent_parser.cc"
1006#line 329 "agent_parser.yy"
1009 ctx.stack_.back()->set(
"trust-anchor", ca);
1012#line 1013 "agent_parser.cc"
1016#line 335 "agent_parser.yy"
1018 ctx.unique(
"cert-file", ctx.loc2pos(yystack_[0].location));
1019 ctx.enter(ctx.NO_KEYWORDS);
1021#line 1022 "agent_parser.cc"
1025#line 338 "agent_parser.yy"
1027 ElementPtr cert(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
1028 ctx.stack_.back()->set(
"cert-file", cert);
1031#line 1032 "agent_parser.cc"
1035#line 344 "agent_parser.yy"
1037 ctx.unique(
"key-file", ctx.loc2pos(yystack_[0].location));
1038 ctx.enter(ctx.NO_KEYWORDS);
1040#line 1041 "agent_parser.cc"
1044#line 347 "agent_parser.yy"
1046 ElementPtr key(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
1047 ctx.stack_.back()->set(
"key-file", key);
1050#line 1051 "agent_parser.cc"
1054#line 353 "agent_parser.yy"
1056 ctx.unique(
"cert-required", ctx.loc2pos(yystack_[2].location));
1057 ElementPtr req(
new BoolElement(yystack_[0].value.as <
bool > (), ctx.loc2pos(yystack_[0].location)));
1058 ctx.stack_.back()->set(
"cert-required", req);
1060#line 1061 "agent_parser.cc"
1064#line 359 "agent_parser.yy"
1066 ctx.enter(ctx.NO_KEYWORDS);
1068#line 1069 "agent_parser.cc"
1072#line 361 "agent_parser.yy"
1081 if ((old->size() != 1) || !old->contains(
"comment")) {
1082 std::stringstream msg;
1083 msg <<
"duplicate user-context entries (previous at "
1084 << old->getPosition().str() <<
")";
1085 error(yystack_[3].location, msg.str());
1088 user_context->set(
"comment", old->get(
"comment"));
1092 parent->set(
"user-context", user_context);
1095#line 1096 "agent_parser.cc"
1099#line 384 "agent_parser.yy"
1101 ctx.enter(ctx.NO_KEYWORDS);
1103#line 1104 "agent_parser.cc"
1107#line 386 "agent_parser.yy"
1111 ElementPtr comment(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
1112 user_context->set(
"comment", comment);
1118 if (old->contains(
"comment")) {
1119 std::stringstream msg;
1120 msg <<
"duplicate user-context/comment entries (previous at "
1121 << old->getPosition().str() <<
")";
1122 error(yystack_[3].location, msg.str());
1125 merge(user_context, old);
1129 parent->set(
"user-context", user_context);
1132#line 1133 "agent_parser.cc"
1136#line 411 "agent_parser.yy"
1138 ctx.unique(
"http-headers", ctx.loc2pos(yystack_[0].location));
1140 ctx.stack_.back()->set(
"http-headers", l);
1141 ctx.stack_.push_back(l);
1142 ctx.enter(ctx.HTTP_HEADERS);
1144#line 1145 "agent_parser.cc"
1148#line 417 "agent_parser.yy"
1150 ctx.stack_.pop_back();
1153#line 1154 "agent_parser.cc"
1157#line 428 "agent_parser.yy"
1159 ctx.warnAboutExtraCommas(yystack_[0].location);
1161#line 1162 "agent_parser.cc"
1165#line 433 "agent_parser.yy"
1168 ctx.stack_.back()->add(m);
1169 ctx.stack_.push_back(m);
1171#line 1172 "agent_parser.cc"
1175#line 437 "agent_parser.yy"
1177 ctx.stack_.pop_back();
1179#line 1180 "agent_parser.cc"
1183#line 443 "agent_parser.yy"
1185 ctx.warnAboutExtraCommas(yystack_[0].location);
1187#line 1188 "agent_parser.cc"
1191#line 455 "agent_parser.yy"
1193 ctx.unique(
"name", ctx.loc2pos(yystack_[0].location));
1194 ctx.enter(ctx.NO_KEYWORDS);
1196#line 1197 "agent_parser.cc"
1200#line 458 "agent_parser.yy"
1202 ElementPtr name(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
1203 ctx.stack_.back()->set(
"name", name);
1206#line 1207 "agent_parser.cc"
1210#line 464 "agent_parser.yy"
1212 ctx.unique(
"value", ctx.loc2pos(yystack_[0].location));
1213 ctx.enter(ctx.NO_KEYWORDS);
1215#line 1216 "agent_parser.cc"
1219#line 467 "agent_parser.yy"
1221 ElementPtr value(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
1222 ctx.stack_.back()->set(
"value", value);
1225#line 1226 "agent_parser.cc"
1229#line 474 "agent_parser.yy"
1231 ctx.unique(
"hooks-libraries", ctx.loc2pos(yystack_[0].location));
1233 ctx.stack_.back()->set(
"hooks-libraries", l);
1234 ctx.stack_.push_back(l);
1235 ctx.enter(ctx.HOOKS_LIBRARIES);
1237#line 1238 "agent_parser.cc"
1241#line 480 "agent_parser.yy"
1243 ctx.stack_.pop_back();
1246#line 1247 "agent_parser.cc"
1250#line 491 "agent_parser.yy"
1252 ctx.warnAboutExtraCommas(yystack_[0].location);
1254#line 1255 "agent_parser.cc"
1258#line 496 "agent_parser.yy"
1261 ctx.stack_.back()->add(m);
1262 ctx.stack_.push_back(m);
1264#line 1265 "agent_parser.cc"
1268#line 500 "agent_parser.yy"
1270 ctx.stack_.pop_back();
1272#line 1273 "agent_parser.cc"
1276#line 506 "agent_parser.yy"
1278 ctx.warnAboutExtraCommas(yystack_[0].location);
1280#line 1281 "agent_parser.cc"
1284#line 516 "agent_parser.yy"
1286 ctx.unique(
"library", ctx.loc2pos(yystack_[0].location));
1287 ctx.enter(ctx.NO_KEYWORDS);
1289#line 1290 "agent_parser.cc"
1293#line 519 "agent_parser.yy"
1295 ElementPtr lib(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
1296 ctx.stack_.back()->set(
"library", lib);
1299#line 1300 "agent_parser.cc"
1303#line 525 "agent_parser.yy"
1305 ctx.unique(
"parameters", ctx.loc2pos(yystack_[0].location));
1306 ctx.enter(ctx.NO_KEYWORDS);
1308#line 1309 "agent_parser.cc"
1312#line 528 "agent_parser.yy"
1314 ctx.stack_.back()->set(
"parameters", yystack_[0].value.as <
ElementPtr > ());
1317#line 1318 "agent_parser.cc"
1321#line 536 "agent_parser.yy"
1323 ctx.unique(
"control-sockets", ctx.loc2pos(yystack_[2].location));
1325 ctx.stack_.back()->set(
"control-sockets", m);
1326 ctx.stack_.push_back(m);
1327 ctx.enter(ctx.CONTROL_SOCKETS);
1329#line 1330 "agent_parser.cc"
1333#line 542 "agent_parser.yy"
1335 ctx.stack_.pop_back();
1338#line 1339 "agent_parser.cc"
1342#line 552 "agent_parser.yy"
1344 ctx.warnAboutExtraCommas(yystack_[0].location);
1346#line 1347 "agent_parser.cc"
1350#line 566 "agent_parser.yy"
1352 ctx.unique(
"dhcp4", ctx.loc2pos(yystack_[0].location));
1354 ctx.stack_.back()->set(
"dhcp4", m);
1355 ctx.stack_.push_back(m);
1356 ctx.enter(ctx.SERVER);
1358#line 1359 "agent_parser.cc"
1362#line 572 "agent_parser.yy"
1364 ctx.stack_.pop_back();
1367#line 1368 "agent_parser.cc"
1371#line 578 "agent_parser.yy"
1373 ctx.unique(
"dhcp6", ctx.loc2pos(yystack_[0].location));
1375 ctx.stack_.back()->set(
"dhcp6", m);
1376 ctx.stack_.push_back(m);
1377 ctx.enter(ctx.SERVER);
1379#line 1380 "agent_parser.cc"
1383#line 584 "agent_parser.yy"
1385 ctx.stack_.pop_back();
1388#line 1389 "agent_parser.cc"
1392#line 590 "agent_parser.yy"
1394 ctx.unique(
"d2", ctx.loc2pos(yystack_[0].location));
1396 ctx.stack_.back()->set(
"d2", m);
1397 ctx.stack_.push_back(m);
1398 ctx.enter(ctx.SERVER);
1400#line 1401 "agent_parser.cc"
1404#line 596 "agent_parser.yy"
1406 ctx.stack_.pop_back();
1409#line 1410 "agent_parser.cc"
1413#line 604 "agent_parser.yy"
1415 ctx.warnAboutExtraCommas(yystack_[0].location);
1417#line 1418 "agent_parser.cc"
1421#line 618 "agent_parser.yy"
1423 ctx.unique(
"socket-name", ctx.loc2pos(yystack_[0].location));
1424 ctx.enter(ctx.NO_KEYWORDS);
1426#line 1427 "agent_parser.cc"
1430#line 621 "agent_parser.yy"
1432 ElementPtr name(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
1433 ctx.stack_.back()->set(
"socket-name", name);
1436#line 1437 "agent_parser.cc"
1440#line 628 "agent_parser.yy"
1442 ctx.unique(
"socket-type", ctx.loc2pos(yystack_[0].location));
1443 ctx.enter(ctx.SOCKET_TYPE);
1445#line 1446 "agent_parser.cc"
1449#line 631 "agent_parser.yy"
1451 ctx.stack_.back()->set(
"socket-type", yystack_[0].value.as <
ElementPtr > ());
1454#line 1455 "agent_parser.cc"
1458#line 637 "agent_parser.yy"
1460#line 1461 "agent_parser.cc"
1464#line 644 "agent_parser.yy"
1466 ctx.unique(
"authentication", ctx.loc2pos(yystack_[0].location));
1468 ctx.stack_.back()->set(
"authentication", m);
1469 ctx.stack_.push_back(m);
1470 ctx.enter(ctx.AUTHENTICATION);
1472#line 1473 "agent_parser.cc"
1476#line 650 "agent_parser.yy"
1479 ctx.require(
"type", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location));
1480 ctx.stack_.pop_back();
1483#line 1484 "agent_parser.cc"
1487#line 659 "agent_parser.yy"
1489 ctx.warnAboutExtraCommas(yystack_[0].location);
1491#line 1492 "agent_parser.cc"
1495#line 673 "agent_parser.yy"
1497 ctx.unique(
"type", ctx.loc2pos(yystack_[0].location));
1498 ctx.enter(ctx.AUTH_TYPE);
1500#line 1501 "agent_parser.cc"
1504#line 676 "agent_parser.yy"
1506 ctx.stack_.back()->set(
"type", yystack_[0].value.as <
ElementPtr > ());
1509#line 1510 "agent_parser.cc"
1513#line 681 "agent_parser.yy"
1515#line 1516 "agent_parser.cc"
1519#line 684 "agent_parser.yy"
1521 ctx.unique(
"realm", ctx.loc2pos(yystack_[0].location));
1522 ctx.enter(ctx.NO_KEYWORDS);
1524#line 1525 "agent_parser.cc"
1528#line 687 "agent_parser.yy"
1530 ElementPtr realm(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
1531 ctx.stack_.back()->set(
"realm", realm);
1534#line 1535 "agent_parser.cc"
1538#line 693 "agent_parser.yy"
1540 ctx.unique(
"directory", ctx.loc2pos(yystack_[0].location));
1541 ctx.enter(ctx.NO_KEYWORDS);
1543#line 1544 "agent_parser.cc"
1547#line 696 "agent_parser.yy"
1549 ElementPtr directory(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
1550 ctx.stack_.back()->set(
"directory", directory);
1553#line 1554 "agent_parser.cc"
1557#line 702 "agent_parser.yy"
1559 ctx.unique(
"clients", ctx.loc2pos(yystack_[0].location));
1561 ctx.stack_.back()->set(
"clients", l);
1562 ctx.stack_.push_back(l);
1563 ctx.enter(ctx.CLIENTS);
1565#line 1566 "agent_parser.cc"
1569#line 708 "agent_parser.yy"
1571 ctx.stack_.pop_back();
1574#line 1575 "agent_parser.cc"
1578#line 719 "agent_parser.yy"
1580 ctx.warnAboutExtraCommas(yystack_[0].location);
1582#line 1583 "agent_parser.cc"
1586#line 724 "agent_parser.yy"
1589 ctx.stack_.back()->add(m);
1590 ctx.stack_.push_back(m);
1592#line 1593 "agent_parser.cc"
1596#line 728 "agent_parser.yy"
1598 ctx.stack_.pop_back();
1600#line 1601 "agent_parser.cc"
1604#line 734 "agent_parser.yy"
1606 ctx.warnAboutExtraCommas(yystack_[0].location);
1608#line 1609 "agent_parser.cc"
1612#line 748 "agent_parser.yy"
1614 ctx.unique(
"user", ctx.loc2pos(yystack_[0].location));
1615 ctx.enter(ctx.NO_KEYWORDS);
1617#line 1618 "agent_parser.cc"
1621#line 751 "agent_parser.yy"
1623 ElementPtr user(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
1624 ctx.stack_.back()->set(
"user", user);
1627#line 1628 "agent_parser.cc"
1631#line 757 "agent_parser.yy"
1633 ctx.unique(
"user-file", ctx.loc2pos(yystack_[0].location));
1634 ctx.enter(ctx.NO_KEYWORDS);
1636#line 1637 "agent_parser.cc"
1640#line 760 "agent_parser.yy"
1642 ElementPtr user(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
1643 ctx.stack_.back()->set(
"user-file", user);
1646#line 1647 "agent_parser.cc"
1650#line 766 "agent_parser.yy"
1652 ctx.unique(
"password", ctx.loc2pos(yystack_[0].location));
1653 ctx.enter(ctx.NO_KEYWORDS);
1655#line 1656 "agent_parser.cc"
1659#line 769 "agent_parser.yy"
1661 ElementPtr password(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
1662 ctx.stack_.back()->set(
"password", password);
1665#line 1666 "agent_parser.cc"
1669#line 775 "agent_parser.yy"
1671 ctx.unique(
"password-file", ctx.loc2pos(yystack_[0].location));
1672 ctx.enter(ctx.NO_KEYWORDS);
1674#line 1675 "agent_parser.cc"
1678#line 778 "agent_parser.yy"
1680 ElementPtr password(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
1681 ctx.stack_.back()->set(
"password-file", password);
1684#line 1685 "agent_parser.cc"
1688#line 788 "agent_parser.yy"
1690 ctx.unique(
"loggers", ctx.loc2pos(yystack_[0].location));
1692 ctx.stack_.back()->set(
"loggers", l);
1693 ctx.stack_.push_back(l);
1694 ctx.enter(ctx.LOGGERS);
1696#line 1697 "agent_parser.cc"
1700#line 794 "agent_parser.yy"
1702 ctx.stack_.pop_back();
1705#line 1706 "agent_parser.cc"
1709#line 803 "agent_parser.yy"
1711 ctx.warnAboutExtraCommas(yystack_[0].location);
1713#line 1714 "agent_parser.cc"
1717#line 809 "agent_parser.yy"
1720 ctx.stack_.back()->add(l);
1721 ctx.stack_.push_back(l);
1723#line 1724 "agent_parser.cc"
1727#line 813 "agent_parser.yy"
1729 ctx.stack_.pop_back();
1731#line 1732 "agent_parser.cc"
1735#line 819 "agent_parser.yy"
1737 ctx.warnAboutExtraCommas(yystack_[0].location);
1739#line 1740 "agent_parser.cc"
1743#line 833 "agent_parser.yy"
1745 ctx.unique(
"debuglevel", ctx.loc2pos(yystack_[2].location));
1746 ElementPtr dl(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
1747 ctx.stack_.back()->set(
"debuglevel", dl);
1749#line 1750 "agent_parser.cc"
1753#line 839 "agent_parser.yy"
1755 ctx.unique(
"severity", ctx.loc2pos(yystack_[0].location));
1756 ctx.enter(ctx.NO_KEYWORDS);
1758#line 1759 "agent_parser.cc"
1762#line 842 "agent_parser.yy"
1764 ElementPtr sev(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
1765 ctx.stack_.back()->set(
"severity", sev);
1768#line 1769 "agent_parser.cc"
1772#line 848 "agent_parser.yy"
1774 ctx.unique(
"output-options", ctx.loc2pos(yystack_[0].location));
1776 ctx.stack_.back()->set(
"output-options", l);
1777 ctx.stack_.push_back(l);
1778 ctx.enter(ctx.OUTPUT_OPTIONS);
1780#line 1781 "agent_parser.cc"
1784#line 854 "agent_parser.yy"
1786 ctx.stack_.pop_back();
1789#line 1790 "agent_parser.cc"
1793#line 861 "agent_parser.yy"
1795 ctx.warnAboutExtraCommas(yystack_[0].location);
1797#line 1798 "agent_parser.cc"
1801#line 866 "agent_parser.yy"
1804 ctx.stack_.back()->add(m);
1805 ctx.stack_.push_back(m);
1807#line 1808 "agent_parser.cc"
1811#line 870 "agent_parser.yy"
1813 ctx.stack_.pop_back();
1815#line 1816 "agent_parser.cc"
1819#line 876 "agent_parser.yy"
1821 ctx.warnAboutExtraCommas(yystack_[0].location);
1823#line 1824 "agent_parser.cc"
1827#line 888 "agent_parser.yy"
1829 ctx.unique(
"output", ctx.loc2pos(yystack_[0].location));
1830 ctx.enter(ctx.NO_KEYWORDS);
1832#line 1833 "agent_parser.cc"
1836#line 891 "agent_parser.yy"
1838 ElementPtr sev(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
1839 ctx.stack_.back()->set(
"output", sev);
1842#line 1843 "agent_parser.cc"
1846#line 897 "agent_parser.yy"
1848 ctx.unique(
"flush", ctx.loc2pos(yystack_[2].location));
1849 ElementPtr flush(
new BoolElement(yystack_[0].value.as <
bool > (), ctx.loc2pos(yystack_[0].location)));
1850 ctx.stack_.back()->set(
"flush", flush);
1852#line 1853 "agent_parser.cc"
1856#line 903 "agent_parser.yy"
1858 ctx.unique(
"maxsize", ctx.loc2pos(yystack_[2].location));
1859 ElementPtr maxsize(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
1860 ctx.stack_.back()->set(
"maxsize", maxsize);
1862#line 1863 "agent_parser.cc"
1866#line 909 "agent_parser.yy"
1868 ctx.unique(
"maxver", ctx.loc2pos(yystack_[2].location));
1869 ElementPtr maxver(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
1870 ctx.stack_.back()->set(
"maxver", maxver);
1872#line 1873 "agent_parser.cc"
1876#line 915 "agent_parser.yy"
1878 ctx.unique(
"pattern", ctx.loc2pos(yystack_[0].location));
1879 ctx.enter(ctx.NO_KEYWORDS);
1881#line 1882 "agent_parser.cc"
1885#line 918 "agent_parser.yy"
1887 ElementPtr sev(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
1888 ctx.stack_.back()->set(
"pattern", sev);
1891#line 1892 "agent_parser.cc"
1895#line 1896 "agent_parser.cc"
1904 YYCDEBUG <<
"Caught exception: " << yyexc.what() <<
'\n';
1914 yypush_ (YY_NULLPTR,
YY_MOVE (yylhs));
1928 std::string msg = yysyntax_error_ (yyctx);
1934 if (yyerrstatus_ == 3)
1942 else if (!yyla.
empty ())
1944 yy_destroy_ (
"Error: discarding", yyla);
1978 yyn = yypact_[+yystack_[0].state];
1979 if (!yy_pact_value_is_default_ (yyn))
1982 if (0 <= yyn && yyn <= yylast_
1985 yyn = yytable_[yyn];
1992 if (yystack_.size () == 1)
1995 yyerror_range[1].
location = yystack_[0].location;
1996 yy_destroy_ (
"Error: popping", yystack_[0]);
2001 stack_symbol_type error_token;
2007 error_token.state = state_type (yyn);
2008 yypush_ (
"Shifting",
YY_MOVE (error_token));
2034 yy_destroy_ (
"Cleanup: discarding lookahead", yyla);
2040 while (1 < yystack_.size ())
2042 yy_destroy_ (
"Cleanup: popping", yystack_[0]);
2051 YYCDEBUG <<
"Exception caught: cleaning lookahead and stack\n";
2055 yy_destroy_ (YY_NULLPTR, yyla);
2057 while (1 < yystack_.size ())
2059 yy_destroy_ (YY_NULLPTR, yystack_[0]);
2079 AgentParser::yytnamerr_ (
const char *yystr)
2084 char const *yyp = yystr;
2091 goto do_not_strip_quotes;
2095 goto do_not_strip_quotes;
2107 do_not_strip_quotes: ;
2116 return yytnamerr_ (yytname_[yysymbol]);
2123 : yyparser_ (yyparser)
2133 const int yyn = yypact_[+yyparser_.yystack_[0].state];
2134 if (!yy_pact_value_is_default_ (yyn))
2139 const int yyxbegin = yyn < 0 ? -yyn : 0;
2141 const int yychecklim = yylast_ - yyn + 1;
2143 for (
int yyx = yyxbegin; yyx < yyxend; ++yyx)
2145 && !yy_table_value_is_error_ (yytable_[yyx + yyn]))
2149 else if (yycount == yyargn)
2156 if (yyarg && yycount == 0 && 0 < yyargn)
2167 AgentParser::yy_syntax_error_arguments_ (
const context& yyctx,
2198 yyarg[0] = yyctx.
token ();
2199 int yyn = yyctx.
expected_tokens (yyarg ? yyarg + 1 : yyarg, yyargn - 1);
2207 AgentParser::yysyntax_error_ (
const context& yyctx)
const
2210 enum { YYARGS_MAX = 5 };
2213 int yycount = yy_syntax_error_arguments_ (yyctx, yyarg, YYARGS_MAX);
2215 char const* yyformat = YY_NULLPTR;
2218#define YYCASE_(N, S) \
2224 YYCASE_ (1,
YY_(
"syntax error, unexpected %s"));
2225 YYCASE_ (2,
YY_(
"syntax error, unexpected %s, expecting %s"));
2226 YYCASE_ (3,
YY_(
"syntax error, unexpected %s, expecting %s or %s"));
2227 YYCASE_ (4,
YY_(
"syntax error, unexpected %s, expecting %s or %s or %s"));
2228 YYCASE_ (5,
YY_(
"syntax error, unexpected %s, expecting %s or %s or %s or %s"));
2234 std::ptrdiff_t yyi = 0;
2235 for (
char const* yyp = yyformat; *yyp; ++yyp)
2236 if (yyp[0] ==
'%' && yyp[1] ==
's' && yyi < yycount)
2247 const short AgentParser::yypact_ninf_ = -205;
2249 const signed char AgentParser::yytable_ninf_ = -1;
2252 AgentParser::yypact_[] =
2254 76, -205, -205, -205, 5, 1, 2, 20, -205, -205,
2255 -205, -205, -205, -205, -205, -205, -205, -205, -205, -205,
2256 -205, -205, -205, -205, 1, -20, 25, 0, -205, 34,
2257 35, 63, 41, 85, -205, 79, -205, -205, 90, -205,
2258 -205, -205, -205, -205, -205, -205, 93, 131, -205, -205,
2259 132, -205, 102, -205, -205, -205, -205, -205, -205, -205,
2260 -205, -205, -205, -205, -205, -205, -205, -205, 1, 1,
2261 -205, 84, 139, -205, -205, 141, 53, 143, 144, 148,
2262 149, 150, 151, 152, 100, 153, 154, 155, -205, 0,
2263 -205, -205, -205, 157, 156, 108, -205, 160, 159, 117,
2264 161, 118, 119, 120, -205, -205, 162, 164, -205, 1,
2265 0, -205, 163, -205, -205, -205, 22, -205, -205, -205,
2266 46, 168, 169, -205, 103, -205, 171, 175, -205, -205,
2267 -205, -205, -205, -205, -205, -205, 104, -205, -205, -205,
2268 -205, -205, -205, -205, -205, -205, 106, -205, -205, -205,
2269 -205, -205, 173, 177, -205, -205, 47, -205, -205, 7,
2270 -205, 163, 178, 179, 180, 181, 22, -205, 182, 183,
2271 184, 46, -205, -21, -205, 168, 32, 169, -205, -205,
2272 -205, -205, -205, -205, 112, -205, -205, -205, -205, 170,
2273 127, 135, 186, -205, 185, 190, 191, -205, -205, -205,
2274 -205, 113, -205, -205, -205, -205, -205, 189, -205, -205,
2275 -205, -205, -205, 114, -205, -205, -205, -205, -205, 195,
2276 196, 7, -205, -205, -205, -205, -205, 194, 59, 59,
2277 59, 198, 199, -24, -205, 200, 165, 201, 32, -205,
2278 167, 172, -205, -205, 202, 203, -205, -205, -205, -205,
2279 -205, -205, 115, -205, -205, -205, 116, 122, 174, 159,
2280 -205, 204, -205, 176, -205, -205, -205, 45, -205, 194,
2281 206, 210, 59, -205, -205, -205, -205, -205, 208, -205,
2282 -205, -205, -205, -205, -205, -205, -205, 123, -205, -205,
2283 -205, -205, -205, -205, 192, 187, -205, -205, 62, -205,
2284 212, 213, 214, 215, 45, -205, -205, -205, -205, 54,
2285 208, -205, 193, 197, 205, 207, -205, -205, 218, 219,
2286 220, -205, 134, -205, -205, -205, -205, -205, -205, -205,
2287 -205, -205, -205, -205, 223, 188, 209, 211, 225, 54,
2288 -205, 216, -205, -205, -205, 217, -205, -205, -205
2292 AgentParser::yydefact_[] =
2294 0, 2, 4, 6, 0, 0, 0, 0, 1, 26,
2295 18, 15, 14, 11, 12, 13, 3, 10, 16, 17,
2296 34, 5, 8, 7, 28, 21, 0, 0, 30, 0,
2297 29, 0, 0, 22, 36, 0, 38, 57, 0, 71,
2298 67, 69, 139, 60, 62, 64, 0, 0, 92, 185,
2299 0, 56, 0, 40, 43, 44, 46, 47, 48, 49,
2300 54, 55, 45, 52, 51, 50, 53, 27, 32, 0,
2301 19, 25, 0, 39, 35, 0, 0, 0, 0, 0,
2302 0, 0, 0, 0, 0, 0, 0, 0, 33, 42,
2303 9, 31, 23, 0, 0, 0, 59, 0, 0, 0,
2304 0, 0, 0, 0, 66, 111, 0, 0, 41, 0,
2305 0, 58, 73, 20, 68, 70, 0, 61, 63, 65,
2306 0, 94, 0, 24, 0, 78, 0, 74, 75, 151,
2307 154, 156, 158, 150, 149, 148, 0, 141, 144, 145,
2308 146, 147, 120, 122, 124, 119, 0, 113, 116, 117,
2309 118, 99, 0, 95, 96, 190, 0, 187, 37, 0,
2310 72, 77, 0, 0, 0, 0, 143, 140, 0, 0,
2311 0, 115, 112, 0, 93, 98, 0, 189, 186, 88,
2312 90, 87, 85, 86, 0, 80, 83, 84, 76, 0,
2313 0, 0, 0, 142, 0, 0, 0, 114, 107, 109,
2314 104, 0, 101, 105, 106, 97, 205, 0, 203, 201,
2315 199, 200, 195, 0, 192, 197, 198, 196, 188, 0,
2316 0, 82, 79, 153, 152, 155, 157, 160, 0, 0,
2317 0, 0, 0, 103, 100, 0, 0, 0, 194, 191,
2318 0, 0, 81, 165, 0, 161, 162, 134, 136, 133,
2319 131, 132, 0, 126, 129, 130, 0, 0, 0, 0,
2320 102, 0, 202, 0, 193, 89, 91, 0, 159, 164,
2321 0, 0, 128, 121, 123, 125, 108, 110, 0, 204,
2322 177, 179, 181, 183, 176, 174, 175, 0, 167, 170,
2323 171, 172, 173, 163, 0, 0, 127, 210, 0, 207,
2324 0, 0, 0, 0, 169, 166, 135, 138, 137, 0,
2325 209, 206, 0, 0, 0, 0, 168, 220, 0, 0,
2326 0, 225, 0, 212, 215, 216, 217, 218, 219, 208,
2327 178, 180, 182, 184, 0, 0, 0, 0, 0, 214,
2328 211, 0, 222, 223, 224, 0, 213, 221, 226
2332 AgentParser::yypgoto_[] =
2334 -205, -205, -205, -205, -205, -205, -205, -205, -17, -95,
2335 -205, -52, -205, -205, -205, -205, -205, -205, -27, -205,
2336 -205, -205, -205, -205, 121, 145, -205, -205, -205, -205,
2337 -205, -205, -205, -205, -205, -205, -26, -205, -25, -205,
2338 -205, -205, -205, -205, 71, -205, -205, 12, -172, -205,
2339 -205, -205, -205, -205, -205, -205, 60, -205, -205, 3,
2340 -205, -205, -205, -205, -205, -205, -205, 66, -205, -205,
2341 -205, -205, -205, -205, -204, -34, -205, -205, -205, -205,
2342 -205, -205, -205, -205, 73, -205, -205, -205, -205, -205,
2343 -205, -205, -205, -205, -205, -205, -19, -205, -205, -61,
2344 -205, -205, -205, -205, -205, -205, -205, -205, -205, -205,
2345 -205, 67, -205, -205, 10, -205, -205, -205, -205, -205,
2346 -205, -58, -205, -205, -90, -205, -205, -205, -205, -205,
2351 AgentParser::yydefgoto_[] =
2353 0, 4, 5, 6, 7, 23, 27, 16, 17, 18,
2354 25, 114, 32, 33, 19, 24, 29, 30, 249, 21,
2355 26, 35, 72, 36, 52, 53, 54, 75, 55, 56,
2356 81, 57, 82, 58, 83, 59, 250, 78, 251, 79,
2357 62, 77, 126, 127, 128, 159, 184, 185, 186, 219,
2358 187, 220, 63, 86, 152, 153, 154, 173, 201, 202,
2359 203, 231, 204, 232, 64, 120, 146, 147, 148, 168,
2360 149, 169, 150, 170, 252, 253, 254, 270, 255, 271,
2361 308, 65, 80, 136, 137, 138, 162, 224, 139, 163,
2362 140, 164, 141, 165, 244, 245, 246, 267, 287, 288,
2363 289, 300, 290, 301, 291, 302, 292, 303, 66, 87,
2364 156, 157, 176, 213, 214, 215, 216, 237, 217, 235,
2365 298, 299, 309, 322, 323, 324, 334, 325, 326, 327,
2370 AgentParser::yytable_[] =
2372 51, 60, 61, 113, 212, 8, 9, 28, 10, 20,
2373 11, 37, 38, 39, 40, 41, 198, 199, 42, 198,
2374 199, 40, 41, 179, 180, 256, 257, 22, 43, 44,
2375 45, 46, 47, 50, 31, 34, 40, 41, 68, 48,
2376 67, 129, 49, 130, 131, 132, 40, 41, 179, 70,
2377 177, 91, 92, 178, 50, 12, 13, 14, 15, 40,
2378 41, 50, 51, 60, 61, 310, 212, 69, 311, 280,
2379 281, 282, 283, 40, 41, 206, 50, 207, 208, 142,
2380 143, 144, 73, 51, 60, 61, 50, 74, 71, 133,
2381 134, 135, 123, 145, 76, 247, 248, 84, 317, 50,
2382 50, 318, 319, 320, 321, 89, 89, 166, 96, 171,
2383 90, 158, 167, 50, 172, 221, 233, 238, 272, 272,
2384 222, 234, 239, 273, 274, 272, 304, 1, 2, 3,
2385 275, 305, 181, 182, 183, 85, 88, 339, 93, 133,
2386 134, 135, 340, 94, 145, 95, 200, 97, 98, 209,
2387 210, 211, 99, 100, 101, 102, 103, 104, 106, 107,
2388 105, 109, 111, 110, 113, 112, 10, 121, 116, 122,
2389 125, 115, 117, 118, 119, 151, 155, 160, 161, 174,
2390 175, 225, 189, 190, 191, 192, 194, 195, 196, 226,
2391 223, 227, 228, 236, 181, 182, 183, 229, 230, 240,
2392 241, 243, 258, 259, 261, 263, 269, 277, 268, 278,
2393 294, 209, 210, 211, 295, 297, 312, 313, 314, 315,
2394 262, 265, 335, 336, 337, 307, 266, 341, 276, 345,
2395 279, 124, 188, 242, 108, 205, 260, 197, 296, 193,
2396 284, 285, 286, 316, 218, 342, 306, 330, 264, 346,
2397 293, 331, 329, 0, 0, 0, 0, 0, 0, 332,
2398 0, 333, 0, 0, 343, 0, 344, 0, 0, 0,
2399 347, 348, 0, 0, 0, 0, 0, 284, 285, 286
2403 AgentParser::yycheck_[] =
2405 27, 27, 27, 98, 176, 0, 5, 24, 7, 7,
2406 9, 11, 12, 13, 14, 15, 40, 41, 18, 40,
2407 41, 14, 15, 16, 17, 229, 230, 7, 28, 29,
2408 30, 31, 32, 54, 54, 10, 14, 15, 3, 39,
2409 6, 19, 42, 21, 22, 23, 14, 15, 16, 8,
2410 3, 68, 69, 6, 54, 54, 55, 56, 57, 14,
2411 15, 54, 89, 89, 89, 3, 238, 4, 6, 24,
2412 25, 26, 27, 14, 15, 43, 54, 45, 46, 33,
2413 34, 35, 3, 110, 110, 110, 54, 8, 3, 116,
2414 116, 116, 109, 120, 4, 36, 37, 4, 44, 54,
2415 54, 47, 48, 49, 50, 3, 3, 3, 55, 3,
2416 8, 8, 8, 54, 8, 3, 3, 3, 3, 3,
2417 8, 8, 8, 8, 8, 3, 3, 51, 52, 53,
2418 8, 8, 159, 159, 159, 4, 4, 3, 54, 166,
2419 166, 166, 8, 4, 171, 4, 173, 4, 4, 176,
2420 176, 176, 4, 4, 4, 4, 4, 57, 4, 4,
2421 7, 4, 54, 7, 259, 5, 7, 5, 7, 5,
2422 7, 54, 54, 54, 54, 7, 7, 6, 3, 6,
2423 3, 54, 4, 4, 4, 4, 4, 4, 4, 54,
2424 20, 5, 7, 4, 221, 221, 221, 7, 7, 4,
2425 4, 7, 4, 4, 4, 4, 3, 259, 6, 5,
2426 4, 238, 238, 238, 4, 7, 4, 4, 4, 4,
2427 55, 54, 4, 4, 4, 38, 54, 4, 54, 4,
2428 54, 110, 161, 221, 89, 175, 233, 171, 272, 166,
2429 267, 267, 267, 304, 177, 57, 54, 54, 238, 339,
2430 269, 54, 310, -1, -1, -1, -1, -1, -1, 54,
2431 -1, 54, -1, -1, 55, -1, 55, -1, -1, -1,
2432 54, 54, -1, -1, -1, -1, -1, 304, 304, 304
2436 AgentParser::yystos_[] =
2438 0, 51, 52, 53, 59, 60, 61, 62, 0, 5,
2439 7, 9, 54, 55, 56, 57, 65, 66, 67, 72,
2440 7, 77, 7, 63, 73, 68, 78, 64, 66, 74,
2441 75, 54, 70, 71, 10, 79, 81, 11, 12, 13,
2442 14, 15, 18, 28, 29, 30, 31, 32, 39, 42,
2443 54, 76, 82, 83, 84, 86, 87, 89, 91, 93,
2444 94, 96, 98, 110, 122, 139, 166, 6, 3, 4,
2445 8, 3, 80, 3, 8, 85, 4, 99, 95, 97,
2446 140, 88, 90, 92, 4, 4, 111, 167, 4, 3,
2447 8, 66, 66, 54, 4, 4, 55, 4, 4, 4,
2448 4, 4, 4, 4, 57, 7, 4, 4, 83, 4,
2449 7, 54, 5, 67, 69, 54, 7, 54, 54, 54,
2450 123, 5, 5, 66, 82, 7, 100, 101, 102, 19,
2451 21, 22, 23, 76, 94, 96, 141, 142, 143, 146,
2452 148, 150, 33, 34, 35, 76, 124, 125, 126, 128,
2453 130, 7, 112, 113, 114, 7, 168, 169, 8, 103,
2454 6, 3, 144, 147, 149, 151, 3, 8, 127, 129,
2455 131, 3, 8, 115, 6, 3, 170, 3, 6, 16,
2456 17, 76, 94, 96, 104, 105, 106, 108, 102, 4,
2457 4, 4, 4, 142, 4, 4, 4, 125, 40, 41,
2458 76, 116, 117, 118, 120, 114, 43, 45, 46, 76,
2459 94, 96, 106, 171, 172, 173, 174, 176, 169, 107,
2460 109, 3, 8, 20, 145, 54, 54, 5, 7, 7,
2461 7, 119, 121, 3, 8, 177, 4, 175, 3, 8,
2462 4, 4, 105, 7, 152, 153, 154, 36, 37, 76,
2463 94, 96, 132, 133, 134, 136, 132, 132, 4, 4,
2464 117, 4, 55, 4, 172, 54, 54, 155, 6, 3,
2465 135, 137, 3, 8, 8, 8, 54, 69, 5, 54,
2466 24, 25, 26, 27, 76, 94, 96, 156, 157, 158,
2467 160, 162, 164, 154, 4, 4, 133, 7, 178, 179,
2468 159, 161, 163, 165, 3, 8, 54, 38, 138, 180,
2469 3, 6, 4, 4, 4, 4, 157, 44, 47, 48,
2470 49, 50, 181, 182, 183, 185, 186, 187, 188, 179,
2471 54, 54, 54, 54, 184, 4, 4, 4, 189, 3,
2472 8, 4, 57, 55, 55, 4, 182, 54, 54
2476 AgentParser::yyr1_[] =
2478 0, 58, 60, 59, 61, 59, 62, 59, 64, 63,
2479 65, 66, 66, 66, 66, 66, 66, 66, 68, 67,
2480 69, 70, 70, 71, 71, 71, 73, 72, 74, 74,
2481 75, 75, 75, 76, 78, 77, 80, 79, 79, 81,
2482 82, 82, 82, 83, 83, 83, 83, 83, 83, 83,
2483 83, 83, 83, 83, 83, 83, 83, 85, 84, 86,
2484 88, 87, 90, 89, 92, 91, 93, 95, 94, 97,
2485 96, 99, 98, 100, 100, 101, 101, 101, 103, 102,
2486 104, 104, 104, 105, 105, 105, 105, 105, 107, 106,
2487 109, 108, 111, 110, 112, 112, 113, 113, 113, 115,
2488 114, 116, 116, 116, 116, 117, 117, 119, 118, 121,
2489 120, 123, 122, 124, 124, 124, 125, 125, 125, 125,
2490 127, 126, 129, 128, 131, 130, 132, 132, 132, 133,
2491 133, 133, 133, 133, 135, 134, 137, 136, 138, 140,
2492 139, 141, 141, 141, 142, 142, 142, 142, 142, 142,
2493 142, 144, 143, 145, 147, 146, 149, 148, 151, 150,
2494 152, 152, 153, 153, 153, 155, 154, 156, 156, 156,
2495 157, 157, 157, 157, 157, 157, 157, 159, 158, 161,
2496 160, 163, 162, 165, 164, 167, 166, 168, 168, 168,
2497 170, 169, 171, 171, 171, 172, 172, 172, 172, 172,
2498 172, 172, 173, 175, 174, 177, 176, 178, 178, 178,
2499 180, 179, 181, 181, 181, 182, 182, 182, 182, 182,
2500 184, 183, 185, 186, 187, 189, 188
2504 AgentParser::yyr2_[] =
2506 0, 2, 0, 3, 0, 3, 0, 3, 0, 4,
2507 1, 1, 1, 1, 1, 1, 1, 1, 0, 4,
2508 1, 0, 1, 3, 5, 2, 0, 4, 0, 1,
2509 1, 3, 2, 2, 0, 4, 0, 6, 1, 2,
2510 1, 3, 2, 1, 1, 1, 1, 1, 1, 1,
2511 1, 1, 1, 1, 1, 1, 1, 0, 4, 3,
2512 0, 4, 0, 4, 0, 4, 3, 0, 4, 0,
2513 4, 0, 6, 0, 1, 1, 3, 2, 0, 4,
2514 1, 3, 2, 1, 1, 1, 1, 1, 0, 4,
2515 0, 4, 0, 6, 0, 1, 1, 3, 2, 0,
2516 4, 1, 3, 2, 1, 1, 1, 0, 4, 0,
2517 4, 0, 6, 1, 3, 2, 1, 1, 1, 1,
2518 0, 6, 0, 6, 0, 6, 1, 3, 2, 1,
2519 1, 1, 1, 1, 0, 4, 0, 4, 1, 0,
2520 6, 1, 3, 2, 1, 1, 1, 1, 1, 1,
2521 1, 0, 4, 1, 0, 4, 0, 4, 0, 6,
2522 0, 1, 1, 3, 2, 0, 4, 1, 3, 2,
2523 1, 1, 1, 1, 1, 1, 1, 0, 4, 0,
2524 4, 0, 4, 0, 4, 0, 6, 1, 3, 2,
2525 0, 4, 1, 3, 2, 1, 1, 1, 1, 1,
2526 1, 1, 3, 0, 4, 0, 6, 1, 3, 2,
2527 0, 4, 1, 3, 2, 1, 1, 1, 1, 1,
2536 const AgentParser::yytname_[] =
2538 "\"end of file\"",
"error",
"\"invalid token\"",
"\",\"",
"\":\"",
2539 "\"[\"",
"\"]\"",
"\"{\"",
"\"}\"",
"\"null\"",
"\"Control-agent\"",
2540 "\"http-host\"",
"\"http-port\"",
"\"http-headers\"",
"\"user-context\"",
2541 "\"comment\"",
"\"name\"",
"\"value\"",
"\"authentication\"",
"\"type\"",
2542 "\"basic\"",
"\"realm\"",
"\"directory\"",
"\"clients\"",
"\"user\"",
2543 "\"user-file\"",
"\"password\"",
"\"password-file\"",
"\"trust-anchor\"",
2544 "\"cert-file\"",
"\"key-file\"",
"\"cert-required\"",
2545 "\"control-sockets\"",
"\"dhcp4\"",
"\"dhcp6\"",
"\"d2\"",
2546 "\"socket-name\"",
"\"socket-type\"",
"\"unix\"",
"\"hooks-libraries\"",
2547 "\"library\"",
"\"parameters\"",
"\"loggers\"",
"\"output-options\"",
2548 "\"output\"",
"\"debuglevel\"",
"\"severity\"",
"\"flush\"",
2549 "\"maxsize\"",
"\"maxver\"",
"\"pattern\"",
"START_JSON",
"START_AGENT",
2550 "START_SUB_AGENT",
"\"constant string\"",
"\"integer\"",
2551 "\"floating point\"",
"\"boolean\"",
"$accept",
"start",
"$@1",
"$@2",
2552 "$@3",
"sub_agent",
"$@4",
"json",
"value",
"map",
"$@5",
"map_value",
2553 "map_content",
"not_empty_map",
"list_generic",
"$@6",
"list_content",
2554 "not_empty_list",
"unknown_map_entry",
"agent_syntax_map",
"$@7",
2555 "global_object",
"$@8",
"global_object_comma",
"global_params",
2556 "global_param",
"http_host",
"$@9",
"http_port",
"trust_anchor",
"$@10",
2557 "cert_file",
"$@11",
"key_file",
"$@12",
"cert_required",
"user_context",
2558 "$@13",
"comment",
"$@14",
"http_headers",
"$@15",
"http_header_list",
2559 "not_empty_http_header_list",
"http_header",
"$@16",
2560 "http_header_params",
"http_header_param",
"name",
"$@17",
2561 "header_value",
"$@18",
"hooks_libraries",
"$@19",
2562 "hooks_libraries_list",
"not_empty_hooks_libraries_list",
2563 "hooks_library",
"$@20",
"hooks_params",
"hooks_param",
"library",
2564 "$@21",
"parameters",
"$@22",
"control_sockets",
"$@23",
2565 "control_sockets_params",
"control_socket",
"dhcp4_server_socket",
2566 "$@24",
"dhcp6_server_socket",
"$@25",
"d2_server_socket",
"$@26",
2567 "control_socket_params",
"control_socket_param",
"socket_name",
"$@27",
2568 "socket_type",
"$@28",
"socket_type_value",
"authentication",
"$@29",
2569 "auth_params",
"auth_param",
"auth_type",
"$@30",
"auth_type_value",
2570 "realm",
"$@31",
"directory",
"$@32",
"clients",
"$@33",
"clients_list",
2571 "not_empty_clients_list",
"basic_auth",
"$@34",
"clients_params",
2572 "clients_param",
"user",
"$@35",
"user_file",
"$@36",
"password",
"$@37",
2573 "password_file",
"$@38",
"loggers",
"$@39",
"loggers_entries",
2574 "logger_entry",
"$@40",
"logger_params",
"logger_param",
"debuglevel",
2575 "severity",
"$@41",
"output_options_list",
"$@42",
2576 "output_options_list_content",
"output_entry",
"$@43",
2577 "output_params_list",
"output_params",
"output",
"$@44",
"flush",
2578 "maxsize",
"maxver",
"pattern",
"$@45", YY_NULLPTR
2585 AgentParser::yyrline_[] =
2587 0, 135, 135, 135, 136, 136, 137, 137, 145, 145,
2588 156, 162, 163, 164, 165, 166, 167, 168, 172, 172,
2589 183, 188, 189, 197, 202, 208, 213, 213, 219, 220,
2590 223, 227, 231, 243, 251, 251, 263, 263, 279, 282,
2591 286, 287, 288, 295, 296, 297, 298, 299, 300, 301,
2592 302, 303, 304, 305, 306, 307, 308, 311, 311, 320,
2593 326, 326, 335, 335, 344, 344, 353, 359, 359, 384,
2594 384, 411, 411, 422, 423, 426, 427, 428, 433, 433,
2595 441, 442, 443, 448, 449, 450, 451, 452, 455, 455,
2596 464, 464, 474, 474, 485, 486, 489, 490, 491, 496,
2597 496, 504, 505, 506, 509, 512, 513, 516, 516, 525,
2598 525, 536, 536, 550, 551, 552, 559, 560, 561, 562,
2599 566, 566, 578, 578, 590, 590, 602, 603, 604, 610,
2600 611, 612, 613, 614, 618, 618, 628, 628, 637, 644,
2601 644, 657, 658, 659, 664, 665, 666, 667, 668, 669,
2602 670, 673, 673, 681, 684, 684, 693, 693, 702, 702,
2603 713, 714, 717, 718, 719, 724, 724, 732, 733, 734,
2604 739, 740, 741, 742, 743, 744, 745, 748, 748, 757,
2605 757, 766, 766, 775, 775, 788, 788, 801, 802, 803,
2606 809, 809, 817, 818, 819, 824, 825, 826, 827, 828,
2607 829, 830, 833, 839, 839, 848, 848, 859, 860, 861,
2608 866, 866, 874, 875, 876, 881, 882, 883, 884, 885,
2609 888, 888, 897, 903, 909, 915, 915
2613 AgentParser::yy_stack_print_ ()
const
2615 *yycdebug_ <<
"Stack now";
2616 for (stack_type::const_iterator
2617 i = yystack_.begin (),
2618 i_end = yystack_.end ();
2620 *yycdebug_ <<
' ' << int (i->state);
2625 AgentParser::yy_reduce_print_ (
int yyrule)
const
2627 int yylno = yyrline_[yyrule];
2628 int yynrhs = yyr2_[yyrule];
2630 *yycdebug_ <<
"Reducing stack by rule " << yyrule - 1
2631 <<
" (line " << yylno <<
"):\n";
2633 for (
int yyi = 0; yyi < yynrhs; yyi++)
2635 yystack_[(yynrhs) - (yyi + 1)]);
2640#line 14 "agent_parser.yy"