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 121 "agent_parser.yy"
391 { yyoutput << yysym.value.template as < std::string > (); }
392#line 393 "agent_parser.cc"
396#line 121 "agent_parser.yy"
397 { yyoutput << yysym.value.template as < int64_t > (); }
398#line 399 "agent_parser.cc"
402#line 121 "agent_parser.yy"
403 { yyoutput << yysym.value.template as < double > (); }
404#line 405 "agent_parser.cc"
408#line 121 "agent_parser.yy"
409 { yyoutput << yysym.value.template as < bool > (); }
410#line 411 "agent_parser.cc"
414#line 121 "agent_parser.yy"
415 { yyoutput << yysym.value.template as < ElementPtr > (); }
416#line 417 "agent_parser.cc"
420#line 121 "agent_parser.yy"
421 { yyoutput << yysym.value.template as < ElementPtr > (); }
422#line 423 "agent_parser.cc"
426#line 121 "agent_parser.yy"
427 { yyoutput << yysym.value.template as < ElementPtr > (); }
428#line 429 "agent_parser.cc"
432#line 121 "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 132 "agent_parser.yy"
709 { ctx.ctx_ = ctx.NO_KEYWORDS; }
710#line 711 "agent_parser.cc"
714#line 133 "agent_parser.yy"
715 { ctx.ctx_ = ctx.CONFIG; }
716#line 717 "agent_parser.cc"
720#line 134 "agent_parser.yy"
721 { ctx.ctx_ = ctx.AGENT; }
722#line 723 "agent_parser.cc"
726#line 142 "agent_parser.yy"
730 ctx.stack_.push_back(m);
732#line 733 "agent_parser.cc"
736#line 146 "agent_parser.yy"
740#line 741 "agent_parser.cc"
744#line 153 "agent_parser.yy"
747 ctx.stack_.push_back(yystack_[0].value.as <
ElementPtr > ());
749#line 750 "agent_parser.cc"
753#line 159 "agent_parser.yy"
755#line 756 "agent_parser.cc"
759#line 160 "agent_parser.yy"
761#line 762 "agent_parser.cc"
765#line 161 "agent_parser.yy"
767#line 768 "agent_parser.cc"
771#line 162 "agent_parser.yy"
773#line 774 "agent_parser.cc"
777#line 163 "agent_parser.yy"
779#line 780 "agent_parser.cc"
783#line 164 "agent_parser.yy"
785#line 786 "agent_parser.cc"
789#line 165 "agent_parser.yy"
791#line 792 "agent_parser.cc"
795#line 169 "agent_parser.yy"
800 ctx.stack_.push_back(m);
802#line 803 "agent_parser.cc"
806#line 174 "agent_parser.yy"
812#line 813 "agent_parser.cc"
816#line 180 "agent_parser.yy"
818#line 819 "agent_parser.cc"
822#line 194 "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 199 "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 205 "agent_parser.yy"
845 ctx.warnAboutExtraCommas(yystack_[0].location);
847#line 848 "agent_parser.cc"
851#line 210 "agent_parser.yy"
854 ctx.stack_.push_back(l);
856#line 857 "agent_parser.cc"
860#line 213 "agent_parser.yy"
863#line 864 "agent_parser.cc"
867#line 220 "agent_parser.yy"
870 ctx.stack_.back()->add(yystack_[0].value.as <
ElementPtr > ());
872#line 873 "agent_parser.cc"
876#line 224 "agent_parser.yy"
879 ctx.stack_.back()->add(yystack_[0].value.as <
ElementPtr > ());
881#line 882 "agent_parser.cc"
885#line 228 "agent_parser.yy"
887 ctx.warnAboutExtraCommas(yystack_[0].location);
889#line 890 "agent_parser.cc"
893#line 240 "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 248 "agent_parser.yy"
909 ctx.stack_.push_back(m);
911#line 912 "agent_parser.cc"
915#line 253 "agent_parser.yy"
921#line 922 "agent_parser.cc"
925#line 260 "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 270 "agent_parser.yy"
945 ctx.stack_.pop_back();
948#line 949 "agent_parser.cc"
952#line 279 "agent_parser.yy"
954 ctx.warnAboutExtraCommas(yystack_[0].location);
956#line 957 "agent_parser.cc"
960#line 285 "agent_parser.yy"
962 ctx.warnAboutExtraCommas(yystack_[0].location);
964#line 965 "agent_parser.cc"
968#line 307 "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 310 "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 316 "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 322 "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 325 "agent_parser.yy"
1009 ctx.stack_.back()->set(
"trust-anchor", ca);
1012#line 1013 "agent_parser.cc"
1016#line 331 "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 334 "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 340 "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 343 "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 349 "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 355 "agent_parser.yy"
1066 ctx.enter(ctx.NO_KEYWORDS);
1068#line 1069 "agent_parser.cc"
1072#line 357 "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 380 "agent_parser.yy"
1101 ctx.enter(ctx.NO_KEYWORDS);
1103#line 1104 "agent_parser.cc"
1107#line 382 "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 408 "agent_parser.yy"
1138 ctx.unique(
"hooks-libraries", ctx.loc2pos(yystack_[0].location));
1140 ctx.stack_.back()->set(
"hooks-libraries", l);
1141 ctx.stack_.push_back(l);
1142 ctx.enter(ctx.HOOKS_LIBRARIES);
1144#line 1145 "agent_parser.cc"
1148#line 414 "agent_parser.yy"
1150 ctx.stack_.pop_back();
1153#line 1154 "agent_parser.cc"
1157#line 425 "agent_parser.yy"
1159 ctx.warnAboutExtraCommas(yystack_[0].location);
1161#line 1162 "agent_parser.cc"
1165#line 430 "agent_parser.yy"
1168 ctx.stack_.back()->add(m);
1169 ctx.stack_.push_back(m);
1171#line 1172 "agent_parser.cc"
1175#line 434 "agent_parser.yy"
1177 ctx.stack_.pop_back();
1179#line 1180 "agent_parser.cc"
1183#line 440 "agent_parser.yy"
1185 ctx.warnAboutExtraCommas(yystack_[0].location);
1187#line 1188 "agent_parser.cc"
1191#line 450 "agent_parser.yy"
1193 ctx.unique(
"library", ctx.loc2pos(yystack_[0].location));
1194 ctx.enter(ctx.NO_KEYWORDS);
1196#line 1197 "agent_parser.cc"
1200#line 453 "agent_parser.yy"
1202 ElementPtr lib(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
1203 ctx.stack_.back()->set(
"library", lib);
1206#line 1207 "agent_parser.cc"
1210#line 459 "agent_parser.yy"
1212 ctx.unique(
"parameters", ctx.loc2pos(yystack_[0].location));
1213 ctx.enter(ctx.NO_KEYWORDS);
1215#line 1216 "agent_parser.cc"
1219#line 462 "agent_parser.yy"
1221 ctx.stack_.back()->set(
"parameters", yystack_[0].value.as <
ElementPtr > ());
1224#line 1225 "agent_parser.cc"
1228#line 470 "agent_parser.yy"
1230 ctx.unique(
"control-sockets", ctx.loc2pos(yystack_[2].location));
1232 ctx.stack_.back()->set(
"control-sockets", m);
1233 ctx.stack_.push_back(m);
1234 ctx.enter(ctx.CONTROL_SOCKETS);
1236#line 1237 "agent_parser.cc"
1240#line 476 "agent_parser.yy"
1242 ctx.stack_.pop_back();
1245#line 1246 "agent_parser.cc"
1249#line 486 "agent_parser.yy"
1251 ctx.warnAboutExtraCommas(yystack_[0].location);
1253#line 1254 "agent_parser.cc"
1257#line 500 "agent_parser.yy"
1259 ctx.unique(
"dhcp4", ctx.loc2pos(yystack_[0].location));
1261 ctx.stack_.back()->set(
"dhcp4", m);
1262 ctx.stack_.push_back(m);
1263 ctx.enter(ctx.SERVER);
1265#line 1266 "agent_parser.cc"
1269#line 506 "agent_parser.yy"
1271 ctx.stack_.pop_back();
1274#line 1275 "agent_parser.cc"
1278#line 512 "agent_parser.yy"
1280 ctx.unique(
"dhcp6", ctx.loc2pos(yystack_[0].location));
1282 ctx.stack_.back()->set(
"dhcp6", m);
1283 ctx.stack_.push_back(m);
1284 ctx.enter(ctx.SERVER);
1286#line 1287 "agent_parser.cc"
1290#line 518 "agent_parser.yy"
1292 ctx.stack_.pop_back();
1295#line 1296 "agent_parser.cc"
1299#line 524 "agent_parser.yy"
1301 ctx.unique(
"d2", ctx.loc2pos(yystack_[0].location));
1303 ctx.stack_.back()->set(
"d2", m);
1304 ctx.stack_.push_back(m);
1305 ctx.enter(ctx.SERVER);
1307#line 1308 "agent_parser.cc"
1311#line 530 "agent_parser.yy"
1313 ctx.stack_.pop_back();
1316#line 1317 "agent_parser.cc"
1320#line 538 "agent_parser.yy"
1322 ctx.warnAboutExtraCommas(yystack_[0].location);
1324#line 1325 "agent_parser.cc"
1328#line 552 "agent_parser.yy"
1330 ctx.unique(
"socket-name", ctx.loc2pos(yystack_[0].location));
1331 ctx.enter(ctx.NO_KEYWORDS);
1333#line 1334 "agent_parser.cc"
1337#line 555 "agent_parser.yy"
1339 ElementPtr name(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
1340 ctx.stack_.back()->set(
"socket-name", name);
1343#line 1344 "agent_parser.cc"
1347#line 562 "agent_parser.yy"
1349 ctx.unique(
"socket-type", ctx.loc2pos(yystack_[0].location));
1350 ctx.enter(ctx.SOCKET_TYPE);
1352#line 1353 "agent_parser.cc"
1356#line 565 "agent_parser.yy"
1358 ctx.stack_.back()->set(
"socket-type", yystack_[0].value.as <
ElementPtr > ());
1361#line 1362 "agent_parser.cc"
1365#line 571 "agent_parser.yy"
1367#line 1368 "agent_parser.cc"
1371#line 578 "agent_parser.yy"
1373 ctx.unique(
"authentication", ctx.loc2pos(yystack_[0].location));
1375 ctx.stack_.back()->set(
"authentication", m);
1376 ctx.stack_.push_back(m);
1377 ctx.enter(ctx.AUTHENTICATION);
1379#line 1380 "agent_parser.cc"
1383#line 584 "agent_parser.yy"
1386 ctx.require(
"type", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location));
1387 ctx.stack_.pop_back();
1390#line 1391 "agent_parser.cc"
1394#line 593 "agent_parser.yy"
1396 ctx.warnAboutExtraCommas(yystack_[0].location);
1398#line 1399 "agent_parser.cc"
1402#line 607 "agent_parser.yy"
1404 ctx.unique(
"type", ctx.loc2pos(yystack_[0].location));
1405 ctx.enter(ctx.AUTH_TYPE);
1407#line 1408 "agent_parser.cc"
1411#line 610 "agent_parser.yy"
1413 ctx.stack_.back()->set(
"type", yystack_[0].value.as <
ElementPtr > ());
1416#line 1417 "agent_parser.cc"
1420#line 615 "agent_parser.yy"
1422#line 1423 "agent_parser.cc"
1426#line 618 "agent_parser.yy"
1428 ctx.unique(
"realm", ctx.loc2pos(yystack_[0].location));
1429 ctx.enter(ctx.NO_KEYWORDS);
1431#line 1432 "agent_parser.cc"
1435#line 621 "agent_parser.yy"
1437 ElementPtr realm(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
1438 ctx.stack_.back()->set(
"realm", realm);
1441#line 1442 "agent_parser.cc"
1445#line 627 "agent_parser.yy"
1447 ctx.unique(
"directory", ctx.loc2pos(yystack_[0].location));
1448 ctx.enter(ctx.NO_KEYWORDS);
1450#line 1451 "agent_parser.cc"
1454#line 630 "agent_parser.yy"
1456 ElementPtr directory(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
1457 ctx.stack_.back()->set(
"directory", directory);
1460#line 1461 "agent_parser.cc"
1464#line 636 "agent_parser.yy"
1466 ctx.unique(
"clients", ctx.loc2pos(yystack_[0].location));
1468 ctx.stack_.back()->set(
"clients", l);
1469 ctx.stack_.push_back(l);
1470 ctx.enter(ctx.CLIENTS);
1472#line 1473 "agent_parser.cc"
1476#line 642 "agent_parser.yy"
1478 ctx.stack_.pop_back();
1481#line 1482 "agent_parser.cc"
1485#line 653 "agent_parser.yy"
1487 ctx.warnAboutExtraCommas(yystack_[0].location);
1489#line 1490 "agent_parser.cc"
1493#line 658 "agent_parser.yy"
1496 ctx.stack_.back()->add(m);
1497 ctx.stack_.push_back(m);
1499#line 1500 "agent_parser.cc"
1503#line 662 "agent_parser.yy"
1505 ctx.stack_.pop_back();
1507#line 1508 "agent_parser.cc"
1511#line 668 "agent_parser.yy"
1513 ctx.warnAboutExtraCommas(yystack_[0].location);
1515#line 1516 "agent_parser.cc"
1519#line 682 "agent_parser.yy"
1521 ctx.unique(
"user", ctx.loc2pos(yystack_[0].location));
1522 ctx.enter(ctx.NO_KEYWORDS);
1524#line 1525 "agent_parser.cc"
1528#line 685 "agent_parser.yy"
1530 ElementPtr user(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
1531 ctx.stack_.back()->set(
"user", user);
1534#line 1535 "agent_parser.cc"
1538#line 691 "agent_parser.yy"
1540 ctx.unique(
"user-file", ctx.loc2pos(yystack_[0].location));
1541 ctx.enter(ctx.NO_KEYWORDS);
1543#line 1544 "agent_parser.cc"
1547#line 694 "agent_parser.yy"
1549 ElementPtr user(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
1550 ctx.stack_.back()->set(
"user-file", user);
1553#line 1554 "agent_parser.cc"
1557#line 700 "agent_parser.yy"
1559 ctx.unique(
"password", ctx.loc2pos(yystack_[0].location));
1560 ctx.enter(ctx.NO_KEYWORDS);
1562#line 1563 "agent_parser.cc"
1566#line 703 "agent_parser.yy"
1568 ElementPtr password(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
1569 ctx.stack_.back()->set(
"password", password);
1572#line 1573 "agent_parser.cc"
1576#line 709 "agent_parser.yy"
1578 ctx.unique(
"password-file", ctx.loc2pos(yystack_[0].location));
1579 ctx.enter(ctx.NO_KEYWORDS);
1581#line 1582 "agent_parser.cc"
1585#line 712 "agent_parser.yy"
1587 ElementPtr password(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
1588 ctx.stack_.back()->set(
"password-file", password);
1591#line 1592 "agent_parser.cc"
1595#line 722 "agent_parser.yy"
1597 ctx.unique(
"loggers", ctx.loc2pos(yystack_[0].location));
1599 ctx.stack_.back()->set(
"loggers", l);
1600 ctx.stack_.push_back(l);
1601 ctx.enter(ctx.LOGGERS);
1603#line 1604 "agent_parser.cc"
1607#line 728 "agent_parser.yy"
1609 ctx.stack_.pop_back();
1612#line 1613 "agent_parser.cc"
1616#line 737 "agent_parser.yy"
1618 ctx.warnAboutExtraCommas(yystack_[0].location);
1620#line 1621 "agent_parser.cc"
1624#line 743 "agent_parser.yy"
1627 ctx.stack_.back()->add(l);
1628 ctx.stack_.push_back(l);
1630#line 1631 "agent_parser.cc"
1634#line 747 "agent_parser.yy"
1636 ctx.stack_.pop_back();
1638#line 1639 "agent_parser.cc"
1642#line 753 "agent_parser.yy"
1644 ctx.warnAboutExtraCommas(yystack_[0].location);
1646#line 1647 "agent_parser.cc"
1650#line 767 "agent_parser.yy"
1652 ctx.unique(
"name", ctx.loc2pos(yystack_[0].location));
1653 ctx.enter(ctx.NO_KEYWORDS);
1655#line 1656 "agent_parser.cc"
1659#line 770 "agent_parser.yy"
1661 ElementPtr name(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
1662 ctx.stack_.back()->set(
"name", name);
1665#line 1666 "agent_parser.cc"
1669#line 776 "agent_parser.yy"
1671 ctx.unique(
"debuglevel", ctx.loc2pos(yystack_[2].location));
1672 ElementPtr dl(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
1673 ctx.stack_.back()->set(
"debuglevel", dl);
1675#line 1676 "agent_parser.cc"
1679#line 782 "agent_parser.yy"
1681 ctx.unique(
"severity", ctx.loc2pos(yystack_[0].location));
1682 ctx.enter(ctx.NO_KEYWORDS);
1684#line 1685 "agent_parser.cc"
1688#line 785 "agent_parser.yy"
1690 ElementPtr sev(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
1691 ctx.stack_.back()->set(
"severity", sev);
1694#line 1695 "agent_parser.cc"
1698#line 791 "agent_parser.yy"
1700 ctx.unique(
"output-options", ctx.loc2pos(yystack_[0].location));
1702 ctx.stack_.back()->set(
"output-options", l);
1703 ctx.stack_.push_back(l);
1704 ctx.enter(ctx.OUTPUT_OPTIONS);
1706#line 1707 "agent_parser.cc"
1710#line 797 "agent_parser.yy"
1712 ctx.stack_.pop_back();
1715#line 1716 "agent_parser.cc"
1719#line 804 "agent_parser.yy"
1721 ctx.warnAboutExtraCommas(yystack_[0].location);
1723#line 1724 "agent_parser.cc"
1727#line 809 "agent_parser.yy"
1730 ctx.stack_.back()->add(m);
1731 ctx.stack_.push_back(m);
1733#line 1734 "agent_parser.cc"
1737#line 813 "agent_parser.yy"
1739 ctx.stack_.pop_back();
1741#line 1742 "agent_parser.cc"
1745#line 819 "agent_parser.yy"
1747 ctx.warnAboutExtraCommas(yystack_[0].location);
1749#line 1750 "agent_parser.cc"
1753#line 831 "agent_parser.yy"
1755 ctx.unique(
"output", ctx.loc2pos(yystack_[0].location));
1756 ctx.enter(ctx.NO_KEYWORDS);
1758#line 1759 "agent_parser.cc"
1762#line 834 "agent_parser.yy"
1764 ElementPtr sev(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
1765 ctx.stack_.back()->set(
"output", sev);
1768#line 1769 "agent_parser.cc"
1772#line 840 "agent_parser.yy"
1774 ctx.unique(
"flush", ctx.loc2pos(yystack_[2].location));
1775 ElementPtr flush(
new BoolElement(yystack_[0].value.as <
bool > (), ctx.loc2pos(yystack_[0].location)));
1776 ctx.stack_.back()->set(
"flush", flush);
1778#line 1779 "agent_parser.cc"
1782#line 846 "agent_parser.yy"
1784 ctx.unique(
"maxsize", ctx.loc2pos(yystack_[2].location));
1785 ElementPtr maxsize(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
1786 ctx.stack_.back()->set(
"maxsize", maxsize);
1788#line 1789 "agent_parser.cc"
1792#line 852 "agent_parser.yy"
1794 ctx.unique(
"maxver", ctx.loc2pos(yystack_[2].location));
1795 ElementPtr maxver(
new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
1796 ctx.stack_.back()->set(
"maxver", maxver);
1798#line 1799 "agent_parser.cc"
1802#line 858 "agent_parser.yy"
1804 ctx.unique(
"pattern", ctx.loc2pos(yystack_[0].location));
1805 ctx.enter(ctx.NO_KEYWORDS);
1807#line 1808 "agent_parser.cc"
1811#line 861 "agent_parser.yy"
1813 ElementPtr sev(
new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
1814 ctx.stack_.back()->set(
"pattern", sev);
1817#line 1818 "agent_parser.cc"
1821#line 1822 "agent_parser.cc"
1830 YYCDEBUG <<
"Caught exception: " << yyexc.what() <<
'\n';
1840 yypush_ (YY_NULLPTR,
YY_MOVE (yylhs));
1854 std::string msg = yysyntax_error_ (yyctx);
1860 if (yyerrstatus_ == 3)
1868 else if (!yyla.
empty ())
1870 yy_destroy_ (
"Error: discarding", yyla);
1904 yyn = yypact_[+yystack_[0].state];
1905 if (!yy_pact_value_is_default_ (yyn))
1908 if (0 <= yyn && yyn <= yylast_
1911 yyn = yytable_[yyn];
1918 if (yystack_.size () == 1)
1921 yyerror_range[1].
location = yystack_[0].location;
1922 yy_destroy_ (
"Error: popping", yystack_[0]);
1927 stack_symbol_type error_token;
1933 error_token.state = state_type (yyn);
1934 yypush_ (
"Shifting",
YY_MOVE (error_token));
1960 yy_destroy_ (
"Cleanup: discarding lookahead", yyla);
1966 while (1 < yystack_.size ())
1968 yy_destroy_ (
"Cleanup: popping", yystack_[0]);
1977 YYCDEBUG <<
"Exception caught: cleaning lookahead and stack\n";
1981 yy_destroy_ (YY_NULLPTR, yyla);
1983 while (1 < yystack_.size ())
1985 yy_destroy_ (YY_NULLPTR, yystack_[0]);
2005 AgentParser::yytnamerr_ (
const char *yystr)
2010 char const *yyp = yystr;
2017 goto do_not_strip_quotes;
2021 goto do_not_strip_quotes;
2033 do_not_strip_quotes: ;
2042 return yytnamerr_ (yytname_[yysymbol]);
2049 : yyparser_ (yyparser)
2059 const int yyn = yypact_[+yyparser_.yystack_[0].state];
2060 if (!yy_pact_value_is_default_ (yyn))
2065 const int yyxbegin = yyn < 0 ? -yyn : 0;
2067 const int yychecklim = yylast_ - yyn + 1;
2069 for (
int yyx = yyxbegin; yyx < yyxend; ++yyx)
2071 && !yy_table_value_is_error_ (yytable_[yyx + yyn]))
2075 else if (yycount == yyargn)
2082 if (yyarg && yycount == 0 && 0 < yyargn)
2093 AgentParser::yy_syntax_error_arguments_ (
const context& yyctx,
2124 yyarg[0] = yyctx.
token ();
2125 int yyn = yyctx.
expected_tokens (yyarg ? yyarg + 1 : yyarg, yyargn - 1);
2133 AgentParser::yysyntax_error_ (
const context& yyctx)
const
2136 enum { YYARGS_MAX = 5 };
2139 int yycount = yy_syntax_error_arguments_ (yyctx, yyarg, YYARGS_MAX);
2141 char const* yyformat = YY_NULLPTR;
2144#define YYCASE_(N, S) \
2150 YYCASE_ (1,
YY_(
"syntax error, unexpected %s"));
2151 YYCASE_ (2,
YY_(
"syntax error, unexpected %s, expecting %s"));
2152 YYCASE_ (3,
YY_(
"syntax error, unexpected %s, expecting %s or %s"));
2153 YYCASE_ (4,
YY_(
"syntax error, unexpected %s, expecting %s or %s or %s"));
2154 YYCASE_ (5,
YY_(
"syntax error, unexpected %s, expecting %s or %s or %s or %s"));
2160 std::ptrdiff_t yyi = 0;
2161 for (
char const* yyp = yyformat; *yyp; ++yyp)
2162 if (yyp[0] ==
'%' && yyp[1] ==
's' && yyi < yycount)
2173 const short AgentParser::yypact_ninf_ = -136;
2175 const signed char AgentParser::yytable_ninf_ = -1;
2178 AgentParser::yypact_[] =
2180 71, -136, -136, -136, 4, 0, 1, 16, -136, -136,
2181 -136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
2182 -136, -136, -136, -136, 0, -31, 19, -1, -136, 40,
2183 55, 78, 83, 107, -136, 14, -136, -136, 112, -136,
2184 -136, -136, -136, -136, -136, 114, 119, -136, -136, 120,
2185 -136, 42, -136, -136, -136, -136, -136, -136, -136, -136,
2186 -136, -136, -136, -136, -136, -136, 0, 0, -136, 73,
2187 122, -136, -136, 126, 80, 127, 131, 132, 136, 138,
2188 139, 89, 140, 141, 142, -136, -1, -136, -136, -136,
2189 144, 143, 100, -136, 146, 102, 148, 104, 106, 108,
2190 -136, -136, 152, 154, -136, 0, -1, -136, -136, -136,
2191 -136, 23, -136, -136, -136, -12, 155, 156, -136, 75,
2192 -136, -136, -136, -136, -136, -136, -136, 91, -136, -136,
2193 -136, -136, -136, -136, -136, -136, -136, 95, -136, -136,
2194 -136, -136, -136, 145, 158, -136, -136, 28, -136, -136,
2195 160, 161, 162, 163, 23, -136, 164, 165, 166, -12,
2196 -136, -22, -136, 155, 49, 156, -136, 157, 121, 123,
2197 167, -136, 169, 170, 171, -136, -136, -136, -136, 97,
2198 -136, -136, -136, -136, -136, -136, 175, -136, -136, -136,
2199 -136, 99, -136, -136, -136, -136, -136, -136, -136, -136,
2200 -136, -136, 173, 63, 63, 63, 177, 178, -5, -136,
2201 179, 180, 96, 181, 49, -136, -136, 184, 168, -136,
2202 -136, -136, -136, -136, -136, 101, -136, -136, -136, 103,
2203 105, 134, 146, -136, 147, 186, -136, 149, -136, 43,
2204 -136, 173, 188, 189, 63, -136, -136, -136, -136, -136,
2205 -136, 187, -136, -136, -136, -136, -136, -136, -136, -136,
2206 109, -136, -136, -136, -136, -136, -136, 150, 172, -136,
2207 -136, 41, -136, 191, 192, 193, 194, 43, -136, -136,
2208 -136, -136, 26, 187, -136, 151, 153, 159, 174, -136,
2209 -136, 196, 200, 202, -136, 111, -136, -136, -136, -136,
2210 -136, -136, -136, -136, -136, -136, -136, 204, 176, 182,
2211 183, 205, 26, -136, 185, -136, -136, -136, 190, -136,
2216 AgentParser::yydefact_[] =
2218 0, 2, 4, 6, 0, 0, 0, 0, 1, 26,
2219 18, 15, 14, 11, 12, 13, 3, 10, 16, 17,
2220 34, 5, 8, 7, 28, 21, 0, 0, 30, 0,
2221 29, 0, 0, 22, 36, 0, 38, 56, 0, 66,
2222 68, 117, 59, 61, 63, 0, 0, 70, 163, 0,
2223 55, 0, 40, 43, 44, 45, 46, 47, 48, 53,
2224 54, 51, 50, 49, 52, 27, 32, 0, 19, 25,
2225 0, 39, 35, 0, 0, 0, 0, 0, 0, 0,
2226 0, 0, 0, 0, 0, 33, 42, 9, 31, 23,
2227 0, 0, 0, 58, 0, 0, 0, 0, 0, 0,
2228 65, 89, 0, 0, 41, 0, 0, 57, 20, 67,
2229 69, 0, 60, 62, 64, 0, 72, 0, 24, 0,
2230 129, 132, 134, 136, 128, 127, 126, 0, 119, 122,
2231 123, 124, 125, 98, 100, 102, 97, 0, 91, 94,
2232 95, 96, 77, 0, 73, 74, 168, 0, 165, 37,
2233 0, 0, 0, 0, 121, 118, 0, 0, 0, 93,
2234 90, 0, 71, 76, 0, 167, 164, 0, 0, 0,
2235 0, 120, 0, 0, 0, 92, 85, 87, 82, 0,
2236 79, 83, 84, 75, 180, 185, 0, 183, 179, 177,
2237 178, 0, 170, 173, 175, 176, 174, 166, 131, 130,
2238 133, 135, 138, 0, 0, 0, 0, 0, 81, 78,
2239 0, 0, 0, 0, 172, 169, 143, 0, 139, 140,
2240 112, 114, 111, 109, 110, 0, 104, 107, 108, 0,
2241 0, 0, 0, 80, 0, 0, 182, 0, 171, 0,
2242 137, 142, 0, 0, 106, 99, 101, 103, 86, 88,
2243 181, 0, 184, 155, 157, 159, 161, 154, 152, 153,
2244 0, 145, 148, 149, 150, 151, 141, 0, 0, 105,
2245 190, 0, 187, 0, 0, 0, 0, 147, 144, 113,
2246 116, 115, 0, 189, 186, 0, 0, 0, 0, 146,
2247 200, 0, 0, 0, 205, 0, 192, 195, 196, 197,
2248 198, 199, 188, 156, 158, 160, 162, 0, 0, 0,
2249 0, 0, 194, 191, 0, 202, 203, 204, 0, 193,
2254 AgentParser::yypgoto_[] =
2256 -136, -136, -136, -136, -136, -136, -136, -136, -18, -91,
2257 -136, -17, -136, -136, -136, -136, -136, -136, -27, -136,
2258 -136, -136, -136, -136, 110, 124, -136, -136, -136, -136,
2259 -136, -136, -136, -136, -136, -136, -26, -136, -25, -136,
2260 -136, -136, -136, -136, 54, -136, -136, 10, -136, -136,
2261 -136, -136, -136, -136, -136, 60, -136, -136, -136, -136,
2262 -136, -136, -135, -24, -136, -136, -136, -136, -136, -136,
2263 -136, -136, 67, -136, -136, -136, -136, -136, -136, -136,
2264 -136, -136, -136, -136, -19, -136, -136, -54, -136, -136,
2265 -136, -136, -136, -136, -136, -136, -136, -136, -136, 59,
2266 -136, -136, 11, -136, -136, -136, -136, -136, -136, -136,
2267 -136, -56, -136, -136, -84, -136, -136, -136, -136, -136,
2272 AgentParser::yydefgoto_[] =
2274 0, 4, 5, 6, 7, 23, 27, 16, 17, 18,
2275 25, 109, 32, 33, 19, 24, 29, 30, 222, 21,
2276 26, 35, 70, 36, 51, 52, 53, 73, 54, 55,
2277 78, 56, 79, 57, 80, 58, 223, 75, 224, 76,
2278 61, 83, 143, 144, 145, 161, 179, 180, 181, 206,
2279 182, 207, 62, 115, 137, 138, 139, 156, 140, 157,
2280 141, 158, 225, 226, 227, 242, 228, 243, 281, 63,
2281 77, 127, 128, 129, 150, 199, 130, 151, 131, 152,
2282 132, 153, 217, 218, 219, 239, 260, 261, 262, 273,
2283 263, 274, 264, 275, 265, 276, 64, 84, 147, 148,
2284 164, 191, 192, 193, 210, 194, 195, 213, 196, 211,
2285 271, 272, 282, 295, 296, 297, 307, 298, 299, 300,
2290 AgentParser::yytable_[] =
2292 50, 59, 60, 108, 8, 9, 28, 10, 20, 11,
2293 37, 38, 39, 40, 41, 176, 177, 71, 133, 134,
2294 135, 31, 72, 22, 42, 43, 44, 45, 46, 34,
2295 49, 165, 176, 177, 166, 47, 39, 40, 48, 120,
2296 49, 121, 122, 123, 283, 86, 65, 284, 88, 89,
2297 87, 49, 12, 13, 14, 15, 39, 40, 66, 50,
2298 59, 60, 39, 40, 253, 254, 255, 256, 290, 229,
2299 230, 291, 292, 293, 294, 49, 39, 40, 86, 50,
2300 59, 60, 67, 149, 124, 125, 126, 118, 136, 184,
2301 185, 68, 186, 187, 154, 49, 220, 221, 159, 155,
2302 208, 49, 214, 160, 244, 209, 244, 215, 244, 245,
2303 69, 246, 277, 247, 312, 49, 74, 278, 81, 313,
2304 1, 2, 3, 82, 85, 90, 91, 124, 125, 126,
2305 92, 94, 136, 93, 178, 95, 96, 188, 189, 190,
2306 97, 108, 98, 99, 100, 102, 103, 101, 105, 236,
2307 106, 162, 107, 10, 110, 111, 112, 116, 113, 117,
2308 114, 163, 142, 146, 167, 168, 169, 170, 172, 173,
2309 174, 241, 202, 200, 198, 201, 203, 204, 205, 212,
2310 216, 231, 232, 234, 235, 237, 248, 188, 189, 190,
2311 240, 251, 267, 268, 270, 285, 286, 287, 288, 250,
2312 308, 252, 279, 303, 309, 304, 310, 280, 314, 318,
2313 104, 305, 257, 258, 259, 249, 119, 183, 233, 175,
2314 269, 171, 266, 289, 197, 238, 306, 302, 319, 0,
2315 0, 315, 0, 0, 0, 316, 317, 320, 0, 0,
2316 0, 0, 321, 0, 0, 0, 0, 0, 0, 0,
2321 AgentParser::yycheck_[] =
2323 27, 27, 27, 94, 0, 5, 24, 7, 7, 9,
2324 11, 12, 13, 14, 15, 37, 38, 3, 30, 31,
2325 32, 52, 8, 7, 25, 26, 27, 28, 29, 10,
2326 52, 3, 37, 38, 6, 36, 13, 14, 39, 16,
2327 52, 18, 19, 20, 3, 3, 6, 6, 66, 67,
2328 8, 52, 52, 53, 54, 55, 13, 14, 3, 86,
2329 86, 86, 13, 14, 21, 22, 23, 24, 42, 204,
2330 205, 45, 46, 47, 48, 52, 13, 14, 3, 106,
2331 106, 106, 4, 8, 111, 111, 111, 105, 115, 40,
2332 41, 8, 43, 44, 3, 52, 33, 34, 3, 8,
2333 3, 52, 3, 8, 3, 8, 3, 8, 3, 8,
2334 3, 8, 3, 8, 3, 52, 4, 8, 4, 8,
2335 49, 50, 51, 4, 4, 52, 4, 154, 154, 154,
2336 4, 4, 159, 53, 161, 4, 4, 164, 164, 164,
2337 4, 232, 4, 4, 55, 4, 4, 7, 4, 53,
2338 7, 6, 52, 7, 52, 7, 52, 5, 52, 5,
2339 52, 3, 7, 7, 4, 4, 4, 4, 4, 4,
2340 4, 3, 5, 52, 17, 52, 7, 7, 7, 4,
2341 7, 4, 4, 4, 4, 4, 52, 214, 214, 214,
2342 6, 5, 4, 4, 7, 4, 4, 4, 4, 52,
2343 4, 52, 52, 52, 4, 52, 4, 35, 4, 4,
2344 86, 52, 239, 239, 239, 232, 106, 163, 208, 159,
2345 244, 154, 241, 277, 165, 214, 52, 283, 312, -1,
2346 -1, 55, -1, -1, -1, 53, 53, 52, -1, -1,
2347 -1, -1, 52, -1, -1, -1, -1, -1, -1, -1,
2352 AgentParser::yystos_[] =
2354 0, 49, 50, 51, 57, 58, 59, 60, 0, 5,
2355 7, 9, 52, 53, 54, 55, 63, 64, 65, 70,
2356 7, 75, 7, 61, 71, 66, 76, 62, 64, 72,
2357 73, 52, 68, 69, 10, 77, 79, 11, 12, 13,
2358 14, 15, 25, 26, 27, 28, 29, 36, 39, 52,
2359 74, 80, 81, 82, 84, 85, 87, 89, 91, 92,
2360 94, 96, 108, 125, 152, 6, 3, 4, 8, 3,
2361 78, 3, 8, 83, 4, 93, 95, 126, 86, 88,
2362 90, 4, 4, 97, 153, 4, 3, 8, 64, 64,
2363 52, 4, 4, 53, 4, 4, 4, 4, 4, 4,
2364 55, 7, 4, 4, 81, 4, 7, 52, 65, 67,
2365 52, 7, 52, 52, 52, 109, 5, 5, 64, 80,
2366 16, 18, 19, 20, 74, 92, 94, 127, 128, 129,
2367 132, 134, 136, 30, 31, 32, 74, 110, 111, 112,
2368 114, 116, 7, 98, 99, 100, 7, 154, 155, 8,
2369 130, 133, 135, 137, 3, 8, 113, 115, 117, 3,
2370 8, 101, 6, 3, 156, 3, 6, 4, 4, 4,
2371 4, 128, 4, 4, 4, 111, 37, 38, 74, 102,
2372 103, 104, 106, 100, 40, 41, 43, 44, 74, 92,
2373 94, 157, 158, 159, 161, 162, 164, 155, 17, 131,
2374 52, 52, 5, 7, 7, 7, 105, 107, 3, 8,
2375 160, 165, 4, 163, 3, 8, 7, 138, 139, 140,
2376 33, 34, 74, 92, 94, 118, 119, 120, 122, 118,
2377 118, 4, 4, 103, 4, 4, 53, 4, 158, 141,
2378 6, 3, 121, 123, 3, 8, 8, 8, 52, 67,
2379 52, 5, 52, 21, 22, 23, 24, 74, 92, 94,
2380 142, 143, 144, 146, 148, 150, 140, 4, 4, 119,
2381 7, 166, 167, 145, 147, 149, 151, 3, 8, 52,
2382 35, 124, 168, 3, 6, 4, 4, 4, 4, 143,
2383 42, 45, 46, 47, 48, 169, 170, 171, 173, 174,
2384 175, 176, 167, 52, 52, 52, 52, 172, 4, 4,
2385 4, 177, 3, 8, 4, 55, 53, 53, 4, 170,
2390 AgentParser::yyr1_[] =
2392 0, 56, 58, 57, 59, 57, 60, 57, 62, 61,
2393 63, 64, 64, 64, 64, 64, 64, 64, 66, 65,
2394 67, 68, 68, 69, 69, 69, 71, 70, 72, 72,
2395 73, 73, 73, 74, 76, 75, 78, 77, 77, 79,
2396 80, 80, 80, 81, 81, 81, 81, 81, 81, 81,
2397 81, 81, 81, 81, 81, 81, 83, 82, 84, 86,
2398 85, 88, 87, 90, 89, 91, 93, 92, 95, 94,
2399 97, 96, 98, 98, 99, 99, 99, 101, 100, 102,
2400 102, 102, 102, 103, 103, 105, 104, 107, 106, 109,
2401 108, 110, 110, 110, 111, 111, 111, 111, 113, 112,
2402 115, 114, 117, 116, 118, 118, 118, 119, 119, 119,
2403 119, 119, 121, 120, 123, 122, 124, 126, 125, 127,
2404 127, 127, 128, 128, 128, 128, 128, 128, 128, 130,
2405 129, 131, 133, 132, 135, 134, 137, 136, 138, 138,
2406 139, 139, 139, 141, 140, 142, 142, 142, 143, 143,
2407 143, 143, 143, 143, 143, 145, 144, 147, 146, 149,
2408 148, 151, 150, 153, 152, 154, 154, 154, 156, 155,
2409 157, 157, 157, 158, 158, 158, 158, 158, 158, 158,
2410 160, 159, 161, 163, 162, 165, 164, 166, 166, 166,
2411 168, 167, 169, 169, 169, 170, 170, 170, 170, 170,
2412 172, 171, 173, 174, 175, 177, 176
2416 AgentParser::yyr2_[] =
2418 0, 2, 0, 3, 0, 3, 0, 3, 0, 4,
2419 1, 1, 1, 1, 1, 1, 1, 1, 0, 4,
2420 1, 0, 1, 3, 5, 2, 0, 4, 0, 1,
2421 1, 3, 2, 2, 0, 4, 0, 6, 1, 2,
2422 1, 3, 2, 1, 1, 1, 1, 1, 1, 1,
2423 1, 1, 1, 1, 1, 1, 0, 4, 3, 0,
2424 4, 0, 4, 0, 4, 3, 0, 4, 0, 4,
2425 0, 6, 0, 1, 1, 3, 2, 0, 4, 1,
2426 3, 2, 1, 1, 1, 0, 4, 0, 4, 0,
2427 6, 1, 3, 2, 1, 1, 1, 1, 0, 6,
2428 0, 6, 0, 6, 1, 3, 2, 1, 1, 1,
2429 1, 1, 0, 4, 0, 4, 1, 0, 6, 1,
2430 3, 2, 1, 1, 1, 1, 1, 1, 1, 0,
2431 4, 1, 0, 4, 0, 4, 0, 6, 0, 1,
2432 1, 3, 2, 0, 4, 1, 3, 2, 1, 1,
2433 1, 1, 1, 1, 1, 0, 4, 0, 4, 0,
2434 4, 0, 4, 0, 6, 1, 3, 2, 0, 4,
2435 1, 3, 2, 1, 1, 1, 1, 1, 1, 1,
2436 0, 4, 3, 0, 4, 0, 6, 1, 3, 2,
2437 0, 4, 1, 3, 2, 1, 1, 1, 1, 1,
2446 const AgentParser::yytname_[] =
2448 "\"end of file\"",
"error",
"\"invalid token\"",
"\",\"",
"\":\"",
2449 "\"[\"",
"\"]\"",
"\"{\"",
"\"}\"",
"\"null\"",
"\"Control-agent\"",
2450 "\"http-host\"",
"\"http-port\"",
"\"user-context\"",
"\"comment\"",
2451 "\"authentication\"",
"\"type\"",
"\"basic\"",
"\"realm\"",
2452 "\"directory\"",
"\"clients\"",
"\"user\"",
"\"user-file\"",
2453 "\"password\"",
"\"password-file\"",
"\"trust-anchor\"",
"\"cert-file\"",
2454 "\"key-file\"",
"\"cert-required\"",
"\"control-sockets\"",
"\"dhcp4\"",
2455 "\"dhcp6\"",
"\"d2\"",
"\"socket-name\"",
"\"socket-type\"",
"\"unix\"",
2456 "\"hooks-libraries\"",
"\"library\"",
"\"parameters\"",
"\"loggers\"",
2457 "\"name\"",
"\"output-options\"",
"\"output\"",
"\"debuglevel\"",
2458 "\"severity\"",
"\"flush\"",
"\"maxsize\"",
"\"maxver\"",
"\"pattern\"",
2459 "START_JSON",
"START_AGENT",
"START_SUB_AGENT",
"\"constant string\"",
2460 "\"integer\"",
"\"floating point\"",
"\"boolean\"",
"$accept",
"start",
2461 "$@1",
"$@2",
"$@3",
"sub_agent",
"$@4",
"json",
"value",
"map",
"$@5",
2462 "map_value",
"map_content",
"not_empty_map",
"list_generic",
"$@6",
2463 "list_content",
"not_empty_list",
"unknown_map_entry",
2464 "agent_syntax_map",
"$@7",
"global_object",
"$@8",
"global_object_comma",
2465 "global_params",
"global_param",
"http_host",
"$@9",
"http_port",
2466 "trust_anchor",
"$@10",
"cert_file",
"$@11",
"key_file",
"$@12",
2467 "cert_required",
"user_context",
"$@13",
"comment",
"$@14",
2468 "hooks_libraries",
"$@15",
"hooks_libraries_list",
2469 "not_empty_hooks_libraries_list",
"hooks_library",
"$@16",
2470 "hooks_params",
"hooks_param",
"library",
"$@17",
"parameters",
"$@18",
2471 "control_sockets",
"$@19",
"control_sockets_params",
"control_socket",
2472 "dhcp4_server_socket",
"$@20",
"dhcp6_server_socket",
"$@21",
2473 "d2_server_socket",
"$@22",
"control_socket_params",
2474 "control_socket_param",
"socket_name",
"$@23",
"socket_type",
"$@24",
2475 "socket_type_value",
"authentication",
"$@25",
"auth_params",
2476 "auth_param",
"auth_type",
"$@26",
"auth_type_value",
"realm",
"$@27",
2477 "directory",
"$@28",
"clients",
"$@29",
"clients_list",
2478 "not_empty_clients_list",
"basic_auth",
"$@30",
"clients_params",
2479 "clients_param",
"user",
"$@31",
"user_file",
"$@32",
"password",
"$@33",
2480 "password_file",
"$@34",
"loggers",
"$@35",
"loggers_entries",
2481 "logger_entry",
"$@36",
"logger_params",
"logger_param",
"name",
"$@37",
2482 "debuglevel",
"severity",
"$@38",
"output_options_list",
"$@39",
2483 "output_options_list_content",
"output_entry",
"$@40",
2484 "output_params_list",
"output_params",
"output",
"$@41",
"flush",
2485 "maxsize",
"maxver",
"pattern",
"$@42", YY_NULLPTR
2492 AgentParser::yyrline_[] =
2494 0, 132, 132, 132, 133, 133, 134, 134, 142, 142,
2495 153, 159, 160, 161, 162, 163, 164, 165, 169, 169,
2496 180, 185, 186, 194, 199, 205, 210, 210, 216, 217,
2497 220, 224, 228, 240, 248, 248, 260, 260, 276, 279,
2498 283, 284, 285, 292, 293, 294, 295, 296, 297, 298,
2499 299, 300, 301, 302, 303, 304, 307, 307, 316, 322,
2500 322, 331, 331, 340, 340, 349, 355, 355, 380, 380,
2501 408, 408, 419, 420, 423, 424, 425, 430, 430, 438,
2502 439, 440, 443, 446, 447, 450, 450, 459, 459, 470,
2503 470, 484, 485, 486, 493, 494, 495, 496, 500, 500,
2504 512, 512, 524, 524, 536, 537, 538, 544, 545, 546,
2505 547, 548, 552, 552, 562, 562, 571, 578, 578, 591,
2506 592, 593, 598, 599, 600, 601, 602, 603, 604, 607,
2507 607, 615, 618, 618, 627, 627, 636, 636, 647, 648,
2508 651, 652, 653, 658, 658, 666, 667, 668, 673, 674,
2509 675, 676, 677, 678, 679, 682, 682, 691, 691, 700,
2510 700, 709, 709, 722, 722, 735, 736, 737, 743, 743,
2511 751, 752, 753, 758, 759, 760, 761, 762, 763, 764,
2512 767, 767, 776, 782, 782, 791, 791, 802, 803, 804,
2513 809, 809, 817, 818, 819, 824, 825, 826, 827, 828,
2514 831, 831, 840, 846, 852, 858, 858
2518 AgentParser::yy_stack_print_ ()
const
2520 *yycdebug_ <<
"Stack now";
2521 for (stack_type::const_iterator
2522 i = yystack_.begin (),
2523 i_end = yystack_.end ();
2525 *yycdebug_ <<
' ' << int (i->state);
2530 AgentParser::yy_reduce_print_ (
int yyrule)
const
2532 int yylno = yyrline_[yyrule];
2533 int yynrhs = yyr2_[yyrule];
2535 *yycdebug_ <<
"Reducing stack by rule " << yyrule - 1
2536 <<
" (line " << yylno <<
"):\n";
2538 for (
int yyi = 0; yyi < yynrhs; yyi++)
2540 yystack_[(yynrhs) - (yyi + 1)]);
2545#line 14 "agent_parser.yy"