From: Francis Dupont Date: Tue, 18 Jun 2019 17:16:19 +0000 (+0000) Subject: [master] regen all bison files X-Git-Tag: Kea-1.6.0-beta2~272 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ea48132056bfe76c992377c83c1d0bf4dca2b080;p=thirdparty%2Fkea.git [master] regen all bison files --- diff --git a/src/bin/agent/agent_parser.cc b/src/bin/agent/agent_parser.cc index fe51453bcd..b5fa055296 100644 --- a/src/bin/agent/agent_parser.cc +++ b/src/bin/agent/agent_parser.cc @@ -1,4 +1,4 @@ -// A Bison parser, made by GNU Bison 3.3.2. +// A Bison parser, made by GNU Bison 3.4.1. // Skeleton implementation for Bison LALR(1) parsers in C++ @@ -43,11 +43,11 @@ // Unqualified %code blocks. -#line 33 "agent_parser.yy" // lalr1.cc:435 +#line 33 "agent_parser.yy" #include -#line 51 "agent_parser.cc" // lalr1.cc:435 +#line 51 "agent_parser.cc" #ifndef YY_ @@ -140,9 +140,10 @@ #define YYERROR goto yyerrorlab #define YYRECOVERING() (!!yyerrstatus_) -#line 14 "agent_parser.yy" // lalr1.cc:510 +#line 14 "agent_parser.yy" namespace isc { namespace agent { -#line 146 "agent_parser.cc" // lalr1.cc:510 +#line 146 "agent_parser.cc" + /* Return YYSTR after stripping away unnecessary quotes and backslashes, so that it's suitable for yyerror. The heuristic is @@ -386,45 +387,45 @@ namespace isc { namespace agent { switch (yytype) { case 41: // "constant string" -#line 103 "agent_parser.yy" // lalr1.cc:676 +#line 103 "agent_parser.yy" { yyoutput << yysym.value.template as < std::string > (); } -#line 392 "agent_parser.cc" // lalr1.cc:676 +#line 393 "agent_parser.cc" break; case 42: // "integer" -#line 103 "agent_parser.yy" // lalr1.cc:676 +#line 103 "agent_parser.yy" { yyoutput << yysym.value.template as < int64_t > (); } -#line 398 "agent_parser.cc" // lalr1.cc:676 +#line 399 "agent_parser.cc" break; case 43: // "floating point" -#line 103 "agent_parser.yy" // lalr1.cc:676 +#line 103 "agent_parser.yy" { yyoutput << yysym.value.template as < double > (); } -#line 404 "agent_parser.cc" // lalr1.cc:676 +#line 405 "agent_parser.cc" break; case 44: // "boolean" -#line 103 "agent_parser.yy" // lalr1.cc:676 +#line 103 "agent_parser.yy" { yyoutput << yysym.value.template as < bool > (); } -#line 410 "agent_parser.cc" // lalr1.cc:676 +#line 411 "agent_parser.cc" break; case 53: // value -#line 103 "agent_parser.yy" // lalr1.cc:676 +#line 103 "agent_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } -#line 416 "agent_parser.cc" // lalr1.cc:676 +#line 417 "agent_parser.cc" break; case 56: // map_value -#line 103 "agent_parser.yy" // lalr1.cc:676 +#line 103 "agent_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } -#line 422 "agent_parser.cc" // lalr1.cc:676 +#line 423 "agent_parser.cc" break; case 107: // socket_type_value -#line 103 "agent_parser.yy" // lalr1.cc:676 +#line 103 "agent_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } -#line 428 "agent_parser.cc" // lalr1.cc:676 +#line 429 "agent_parser.cc" break; default: @@ -684,206 +685,206 @@ namespace isc { namespace agent { switch (yyn) { case 2: -#line 114 "agent_parser.yy" // lalr1.cc:919 +#line 114 "agent_parser.yy" { ctx.ctx_ = ctx.NO_KEYWORDS; } -#line 690 "agent_parser.cc" // lalr1.cc:919 +#line 691 "agent_parser.cc" break; case 4: -#line 115 "agent_parser.yy" // lalr1.cc:919 +#line 115 "agent_parser.yy" { ctx.ctx_ = ctx.CONFIG; } -#line 696 "agent_parser.cc" // lalr1.cc:919 +#line 697 "agent_parser.cc" break; case 6: -#line 116 "agent_parser.yy" // lalr1.cc:919 +#line 116 "agent_parser.yy" { ctx.ctx_ = ctx.AGENT; } -#line 702 "agent_parser.cc" // lalr1.cc:919 +#line 703 "agent_parser.cc" break; case 8: -#line 124 "agent_parser.yy" // lalr1.cc:919 +#line 124 "agent_parser.yy" { // Parse the Control-agent map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 712 "agent_parser.cc" // lalr1.cc:919 +#line 713 "agent_parser.cc" break; case 9: -#line 128 "agent_parser.yy" // lalr1.cc:919 +#line 128 "agent_parser.yy" { // parsing completed } -#line 720 "agent_parser.cc" // lalr1.cc:919 +#line 721 "agent_parser.cc" break; case 10: -#line 135 "agent_parser.yy" // lalr1.cc:919 +#line 135 "agent_parser.yy" { // Push back the JSON value on the stack ctx.stack_.push_back(yystack_[0].value.as < ElementPtr > ()); } -#line 729 "agent_parser.cc" // lalr1.cc:919 +#line 730 "agent_parser.cc" break; case 11: -#line 141 "agent_parser.yy" // lalr1.cc:919 +#line 141 "agent_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); } -#line 735 "agent_parser.cc" // lalr1.cc:919 +#line 736 "agent_parser.cc" break; case 12: -#line 142 "agent_parser.yy" // lalr1.cc:919 +#line 142 "agent_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location))); } -#line 741 "agent_parser.cc" // lalr1.cc:919 +#line 742 "agent_parser.cc" break; case 13: -#line 143 "agent_parser.yy" // lalr1.cc:919 +#line 143 "agent_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); } -#line 747 "agent_parser.cc" // lalr1.cc:919 +#line 748 "agent_parser.cc" break; case 14: -#line 144 "agent_parser.yy" // lalr1.cc:919 +#line 144 "agent_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); } -#line 753 "agent_parser.cc" // lalr1.cc:919 +#line 754 "agent_parser.cc" break; case 15: -#line 145 "agent_parser.yy" // lalr1.cc:919 +#line 145 "agent_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new NullElement(ctx.loc2pos(yystack_[0].location))); } -#line 759 "agent_parser.cc" // lalr1.cc:919 +#line 760 "agent_parser.cc" break; case 16: -#line 146 "agent_parser.yy" // lalr1.cc:919 +#line 146 "agent_parser.yy" { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); } -#line 765 "agent_parser.cc" // lalr1.cc:919 +#line 766 "agent_parser.cc" break; case 17: -#line 147 "agent_parser.yy" // lalr1.cc:919 +#line 147 "agent_parser.yy" { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); } -#line 771 "agent_parser.cc" // lalr1.cc:919 +#line 772 "agent_parser.cc" break; case 18: -#line 151 "agent_parser.yy" // lalr1.cc:919 +#line 151 "agent_parser.yy" { // This code is executed when we're about to start parsing // the content of the map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 782 "agent_parser.cc" // lalr1.cc:919 +#line 783 "agent_parser.cc" break; case 19: -#line 156 "agent_parser.yy" // lalr1.cc:919 +#line 156 "agent_parser.yy" { // map parsing completed. If we ever want to do any wrap up // (maybe some sanity checking), this would be the best place // for it. } -#line 792 "agent_parser.cc" // lalr1.cc:919 +#line 793 "agent_parser.cc" break; case 20: -#line 162 "agent_parser.yy" // lalr1.cc:919 +#line 162 "agent_parser.yy" { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); } -#line 798 "agent_parser.cc" // lalr1.cc:919 +#line 799 "agent_parser.cc" break; case 23: -#line 176 "agent_parser.yy" // lalr1.cc:919 +#line 176 "agent_parser.yy" { // map containing a single entry ctx.stack_.back()->set(yystack_[2].value.as < std::string > (), yystack_[0].value.as < ElementPtr > ()); } -#line 807 "agent_parser.cc" // lalr1.cc:919 +#line 808 "agent_parser.cc" break; case 24: -#line 180 "agent_parser.yy" // lalr1.cc:919 +#line 180 "agent_parser.yy" { // map consisting of a shorter map followed by // comma and string:value ctx.stack_.back()->set(yystack_[2].value.as < std::string > (), yystack_[0].value.as < ElementPtr > ()); } -#line 817 "agent_parser.cc" // lalr1.cc:919 +#line 818 "agent_parser.cc" break; case 25: -#line 187 "agent_parser.yy" // lalr1.cc:919 +#line 187 "agent_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(l); } -#line 826 "agent_parser.cc" // lalr1.cc:919 +#line 827 "agent_parser.cc" break; case 26: -#line 190 "agent_parser.yy" // lalr1.cc:919 +#line 190 "agent_parser.yy" { } -#line 833 "agent_parser.cc" // lalr1.cc:919 +#line 834 "agent_parser.cc" break; case 29: -#line 197 "agent_parser.yy" // lalr1.cc:919 +#line 197 "agent_parser.yy" { // List consisting of a single element. ctx.stack_.back()->add(yystack_[0].value.as < ElementPtr > ()); } -#line 842 "agent_parser.cc" // lalr1.cc:919 +#line 843 "agent_parser.cc" break; case 30: -#line 201 "agent_parser.yy" // lalr1.cc:919 +#line 201 "agent_parser.yy" { // List ending with , and a value. ctx.stack_.back()->add(yystack_[0].value.as < ElementPtr > ()); } -#line 851 "agent_parser.cc" // lalr1.cc:919 +#line 852 "agent_parser.cc" break; case 31: -#line 214 "agent_parser.yy" // lalr1.cc:919 +#line 214 "agent_parser.yy" { const std::string& where = ctx.contextName(); const std::string& keyword = yystack_[1].value.as < std::string > (); error(yystack_[1].location, "got unexpected keyword \"" + keyword + "\" in " + where + " map."); } -#line 862 "agent_parser.cc" // lalr1.cc:919 +#line 863 "agent_parser.cc" break; case 32: -#line 223 "agent_parser.yy" // lalr1.cc:919 +#line 223 "agent_parser.yy" { // This code is executed when we're about to start parsing // the content of the map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 873 "agent_parser.cc" // lalr1.cc:919 +#line 874 "agent_parser.cc" break; case 33: -#line 228 "agent_parser.yy" // lalr1.cc:919 +#line 228 "agent_parser.yy" { // map parsing completed. If we ever want to do any wrap up // (maybe some sanity checking), this would be the best place // for it. } -#line 883 "agent_parser.cc" // lalr1.cc:919 +#line 884 "agent_parser.cc" break; case 42: -#line 249 "agent_parser.yy" // lalr1.cc:919 +#line 249 "agent_parser.yy" { // Let's create a MapElement that will represent it, add it to the @@ -895,57 +896,57 @@ namespace isc { namespace agent { ctx.stack_.push_back(m); ctx.enter(ctx.AGENT); } -#line 899 "agent_parser.cc" // lalr1.cc:919 +#line 900 "agent_parser.cc" break; case 43: -#line 259 "agent_parser.yy" // lalr1.cc:919 +#line 259 "agent_parser.yy" { // Ok, we're done with parsing control-agent. Let's take the map // off the stack. ctx.stack_.pop_back(); ctx.leave(); } -#line 910 "agent_parser.cc" // lalr1.cc:919 +#line 911 "agent_parser.cc" break; case 54: -#line 282 "agent_parser.yy" // lalr1.cc:919 +#line 282 "agent_parser.yy" { ctx.enter(ctx.NO_KEYWORDS); } -#line 918 "agent_parser.cc" // lalr1.cc:919 +#line 919 "agent_parser.cc" break; case 55: -#line 284 "agent_parser.yy" // lalr1.cc:919 +#line 284 "agent_parser.yy" { ElementPtr host(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("http-host", host); ctx.leave(); } -#line 928 "agent_parser.cc" // lalr1.cc:919 +#line 929 "agent_parser.cc" break; case 56: -#line 290 "agent_parser.yy" // lalr1.cc:919 +#line 290 "agent_parser.yy" { ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("http-port", prf); } -#line 937 "agent_parser.cc" // lalr1.cc:919 +#line 938 "agent_parser.cc" break; case 57: -#line 295 "agent_parser.yy" // lalr1.cc:919 +#line 295 "agent_parser.yy" { ctx.enter(ctx.NO_KEYWORDS); } -#line 945 "agent_parser.cc" // lalr1.cc:919 +#line 946 "agent_parser.cc" break; case 58: -#line 297 "agent_parser.yy" // lalr1.cc:919 +#line 297 "agent_parser.yy" { ElementPtr parent = ctx.stack_.back(); ElementPtr user_context = yystack_[0].value.as < ElementPtr > (); @@ -968,19 +969,19 @@ namespace isc { namespace agent { parent->set("user-context", user_context); ctx.leave(); } -#line 972 "agent_parser.cc" // lalr1.cc:919 +#line 973 "agent_parser.cc" break; case 59: -#line 320 "agent_parser.yy" // lalr1.cc:919 +#line 320 "agent_parser.yy" { ctx.enter(ctx.NO_KEYWORDS); } -#line 980 "agent_parser.cc" // lalr1.cc:919 +#line 981 "agent_parser.cc" break; case 60: -#line 322 "agent_parser.yy" // lalr1.cc:919 +#line 322 "agent_parser.yy" { ElementPtr parent = ctx.stack_.back(); ElementPtr user_context(new MapElement(ctx.loc2pos(yystack_[3].location))); @@ -1005,442 +1006,443 @@ namespace isc { namespace agent { parent->set("user-context", user_context); ctx.leave(); } -#line 1009 "agent_parser.cc" // lalr1.cc:919 +#line 1010 "agent_parser.cc" break; case 61: -#line 348 "agent_parser.yy" // lalr1.cc:919 +#line 348 "agent_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hooks-libraries", l); ctx.stack_.push_back(l); ctx.enter(ctx.HOOKS_LIBRARIES); } -#line 1020 "agent_parser.cc" // lalr1.cc:919 +#line 1021 "agent_parser.cc" break; case 62: -#line 353 "agent_parser.yy" // lalr1.cc:919 +#line 353 "agent_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 1029 "agent_parser.cc" // lalr1.cc:919 +#line 1030 "agent_parser.cc" break; case 67: -#line 366 "agent_parser.yy" // lalr1.cc:919 +#line 366 "agent_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 1039 "agent_parser.cc" // lalr1.cc:919 +#line 1040 "agent_parser.cc" break; case 68: -#line 370 "agent_parser.yy" // lalr1.cc:919 +#line 370 "agent_parser.yy" { ctx.stack_.pop_back(); } -#line 1047 "agent_parser.cc" // lalr1.cc:919 +#line 1048 "agent_parser.cc" break; case 74: -#line 383 "agent_parser.yy" // lalr1.cc:919 +#line 383 "agent_parser.yy" { ctx.enter(ctx.NO_KEYWORDS); } -#line 1055 "agent_parser.cc" // lalr1.cc:919 +#line 1056 "agent_parser.cc" break; case 75: -#line 385 "agent_parser.yy" // lalr1.cc:919 +#line 385 "agent_parser.yy" { ElementPtr lib(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("library", lib); ctx.leave(); } -#line 1065 "agent_parser.cc" // lalr1.cc:919 +#line 1066 "agent_parser.cc" break; case 76: -#line 391 "agent_parser.yy" // lalr1.cc:919 +#line 391 "agent_parser.yy" { ctx.enter(ctx.NO_KEYWORDS); } -#line 1073 "agent_parser.cc" // lalr1.cc:919 +#line 1074 "agent_parser.cc" break; case 77: -#line 393 "agent_parser.yy" // lalr1.cc:919 +#line 393 "agent_parser.yy" { ctx.stack_.back()->set("parameters", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 1082 "agent_parser.cc" // lalr1.cc:919 +#line 1083 "agent_parser.cc" break; case 78: -#line 401 "agent_parser.yy" // lalr1.cc:919 +#line 401 "agent_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[2].location))); ctx.stack_.back()->set("control-sockets", m); ctx.stack_.push_back(m); ctx.enter(ctx.CONTROL_SOCKETS); } -#line 1093 "agent_parser.cc" // lalr1.cc:919 +#line 1094 "agent_parser.cc" break; case 79: -#line 406 "agent_parser.yy" // lalr1.cc:919 +#line 406 "agent_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 1102 "agent_parser.cc" // lalr1.cc:919 +#line 1103 "agent_parser.cc" break; case 86: -#line 427 "agent_parser.yy" // lalr1.cc:919 +#line 427 "agent_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("dhcp4", m); ctx.stack_.push_back(m); ctx.enter(ctx.SERVER); } -#line 1113 "agent_parser.cc" // lalr1.cc:919 +#line 1114 "agent_parser.cc" break; case 87: -#line 432 "agent_parser.yy" // lalr1.cc:919 +#line 432 "agent_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 1122 "agent_parser.cc" // lalr1.cc:919 +#line 1123 "agent_parser.cc" break; case 88: -#line 438 "agent_parser.yy" // lalr1.cc:919 +#line 438 "agent_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("dhcp6", m); ctx.stack_.push_back(m); ctx.enter(ctx.SERVER); } -#line 1133 "agent_parser.cc" // lalr1.cc:919 +#line 1134 "agent_parser.cc" break; case 89: -#line 443 "agent_parser.yy" // lalr1.cc:919 +#line 443 "agent_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 1142 "agent_parser.cc" // lalr1.cc:919 +#line 1143 "agent_parser.cc" break; case 90: -#line 449 "agent_parser.yy" // lalr1.cc:919 +#line 449 "agent_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("d2", m); ctx.stack_.push_back(m); ctx.enter(ctx.SERVER); } -#line 1153 "agent_parser.cc" // lalr1.cc:919 +#line 1154 "agent_parser.cc" break; case 91: -#line 454 "agent_parser.yy" // lalr1.cc:919 +#line 454 "agent_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 1162 "agent_parser.cc" // lalr1.cc:919 +#line 1163 "agent_parser.cc" break; case 99: -#line 473 "agent_parser.yy" // lalr1.cc:919 +#line 473 "agent_parser.yy" { ctx.enter(ctx.NO_KEYWORDS); } -#line 1170 "agent_parser.cc" // lalr1.cc:919 +#line 1171 "agent_parser.cc" break; case 100: -#line 475 "agent_parser.yy" // lalr1.cc:919 +#line 475 "agent_parser.yy" { ElementPtr name(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("socket-name", name); ctx.leave(); } -#line 1180 "agent_parser.cc" // lalr1.cc:919 +#line 1181 "agent_parser.cc" break; case 101: -#line 482 "agent_parser.yy" // lalr1.cc:919 +#line 482 "agent_parser.yy" { ctx.enter(ctx.SOCKET_TYPE); } -#line 1188 "agent_parser.cc" // lalr1.cc:919 +#line 1189 "agent_parser.cc" break; case 102: -#line 484 "agent_parser.yy" // lalr1.cc:919 +#line 484 "agent_parser.yy" { ctx.stack_.back()->set("socket-type", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 1197 "agent_parser.cc" // lalr1.cc:919 +#line 1198 "agent_parser.cc" break; case 103: -#line 490 "agent_parser.yy" // lalr1.cc:919 +#line 490 "agent_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("unix", ctx.loc2pos(yystack_[0].location))); } -#line 1203 "agent_parser.cc" // lalr1.cc:919 +#line 1204 "agent_parser.cc" break; case 104: -#line 496 "agent_parser.yy" // lalr1.cc:919 +#line 496 "agent_parser.yy" { ctx.enter(ctx.NO_KEYWORDS); } -#line 1211 "agent_parser.cc" // lalr1.cc:919 +#line 1212 "agent_parser.cc" break; case 105: -#line 498 "agent_parser.yy" // lalr1.cc:919 +#line 498 "agent_parser.yy" { ctx.stack_.back()->set("Dhcp4", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 1220 "agent_parser.cc" // lalr1.cc:919 +#line 1221 "agent_parser.cc" break; case 106: -#line 503 "agent_parser.yy" // lalr1.cc:919 +#line 503 "agent_parser.yy" { ctx.enter(ctx.NO_KEYWORDS); } -#line 1228 "agent_parser.cc" // lalr1.cc:919 +#line 1229 "agent_parser.cc" break; case 107: -#line 505 "agent_parser.yy" // lalr1.cc:919 +#line 505 "agent_parser.yy" { ctx.stack_.back()->set("Dhcp6", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 1237 "agent_parser.cc" // lalr1.cc:919 +#line 1238 "agent_parser.cc" break; case 108: -#line 510 "agent_parser.yy" // lalr1.cc:919 +#line 510 "agent_parser.yy" { ctx.enter(ctx.NO_KEYWORDS); } -#line 1245 "agent_parser.cc" // lalr1.cc:919 +#line 1246 "agent_parser.cc" break; case 109: -#line 512 "agent_parser.yy" // lalr1.cc:919 +#line 512 "agent_parser.yy" { ctx.stack_.back()->set("DhcpDdns", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 1254 "agent_parser.cc" // lalr1.cc:919 +#line 1255 "agent_parser.cc" break; case 110: -#line 522 "agent_parser.yy" // lalr1.cc:919 +#line 522 "agent_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("Logging", m); ctx.stack_.push_back(m); ctx.enter(ctx.LOGGING); } -#line 1265 "agent_parser.cc" // lalr1.cc:919 +#line 1266 "agent_parser.cc" break; case 111: -#line 527 "agent_parser.yy" // lalr1.cc:919 +#line 527 "agent_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 1274 "agent_parser.cc" // lalr1.cc:919 +#line 1275 "agent_parser.cc" break; case 115: -#line 544 "agent_parser.yy" // lalr1.cc:919 +#line 544 "agent_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("loggers", l); ctx.stack_.push_back(l); ctx.enter(ctx.LOGGERS); } -#line 1285 "agent_parser.cc" // lalr1.cc:919 +#line 1286 "agent_parser.cc" break; case 116: -#line 549 "agent_parser.yy" // lalr1.cc:919 +#line 549 "agent_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 1294 "agent_parser.cc" // lalr1.cc:919 +#line 1295 "agent_parser.cc" break; case 119: -#line 561 "agent_parser.yy" // lalr1.cc:919 +#line 561 "agent_parser.yy" { ElementPtr l(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(l); ctx.stack_.push_back(l); } -#line 1304 "agent_parser.cc" // lalr1.cc:919 +#line 1305 "agent_parser.cc" break; case 120: -#line 565 "agent_parser.yy" // lalr1.cc:919 +#line 565 "agent_parser.yy" { ctx.stack_.pop_back(); } -#line 1312 "agent_parser.cc" // lalr1.cc:919 +#line 1313 "agent_parser.cc" break; case 130: -#line 582 "agent_parser.yy" // lalr1.cc:919 +#line 582 "agent_parser.yy" { ctx.enter(ctx.NO_KEYWORDS); } -#line 1320 "agent_parser.cc" // lalr1.cc:919 +#line 1321 "agent_parser.cc" break; case 131: -#line 584 "agent_parser.yy" // lalr1.cc:919 +#line 584 "agent_parser.yy" { ElementPtr name(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("name", name); ctx.leave(); } -#line 1330 "agent_parser.cc" // lalr1.cc:919 +#line 1331 "agent_parser.cc" break; case 132: -#line 590 "agent_parser.yy" // lalr1.cc:919 +#line 590 "agent_parser.yy" { ElementPtr dl(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("debuglevel", dl); } -#line 1339 "agent_parser.cc" // lalr1.cc:919 +#line 1340 "agent_parser.cc" break; case 133: -#line 595 "agent_parser.yy" // lalr1.cc:919 +#line 595 "agent_parser.yy" { ctx.enter(ctx.NO_KEYWORDS); } -#line 1347 "agent_parser.cc" // lalr1.cc:919 +#line 1348 "agent_parser.cc" break; case 134: -#line 597 "agent_parser.yy" // lalr1.cc:919 +#line 597 "agent_parser.yy" { ElementPtr sev(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("severity", sev); ctx.leave(); } -#line 1357 "agent_parser.cc" // lalr1.cc:919 +#line 1358 "agent_parser.cc" break; case 135: -#line 603 "agent_parser.yy" // lalr1.cc:919 +#line 603 "agent_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("output_options", l); ctx.stack_.push_back(l); ctx.enter(ctx.OUTPUT_OPTIONS); } -#line 1368 "agent_parser.cc" // lalr1.cc:919 +#line 1369 "agent_parser.cc" break; case 136: -#line 608 "agent_parser.yy" // lalr1.cc:919 +#line 608 "agent_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 1377 "agent_parser.cc" // lalr1.cc:919 +#line 1378 "agent_parser.cc" break; case 139: -#line 617 "agent_parser.yy" // lalr1.cc:919 +#line 617 "agent_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 1387 "agent_parser.cc" // lalr1.cc:919 +#line 1388 "agent_parser.cc" break; case 140: -#line 621 "agent_parser.yy" // lalr1.cc:919 +#line 621 "agent_parser.yy" { ctx.stack_.pop_back(); } -#line 1395 "agent_parser.cc" // lalr1.cc:919 +#line 1396 "agent_parser.cc" break; case 147: -#line 635 "agent_parser.yy" // lalr1.cc:919 +#line 635 "agent_parser.yy" { ctx.enter(ctx.NO_KEYWORDS); } -#line 1403 "agent_parser.cc" // lalr1.cc:919 +#line 1404 "agent_parser.cc" break; case 148: -#line 637 "agent_parser.yy" // lalr1.cc:919 +#line 637 "agent_parser.yy" { ElementPtr sev(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("output", sev); ctx.leave(); } -#line 1413 "agent_parser.cc" // lalr1.cc:919 +#line 1414 "agent_parser.cc" break; case 149: -#line 643 "agent_parser.yy" // lalr1.cc:919 +#line 643 "agent_parser.yy" { ElementPtr flush(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("flush", flush); } -#line 1422 "agent_parser.cc" // lalr1.cc:919 +#line 1423 "agent_parser.cc" break; case 150: -#line 648 "agent_parser.yy" // lalr1.cc:919 +#line 648 "agent_parser.yy" { ElementPtr maxsize(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("maxsize", maxsize); } -#line 1431 "agent_parser.cc" // lalr1.cc:919 +#line 1432 "agent_parser.cc" break; case 151: -#line 653 "agent_parser.yy" // lalr1.cc:919 +#line 653 "agent_parser.yy" { ElementPtr maxver(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("maxver", maxver); } -#line 1440 "agent_parser.cc" // lalr1.cc:919 +#line 1441 "agent_parser.cc" break; -#line 1444 "agent_parser.cc" // lalr1.cc:919 +#line 1445 "agent_parser.cc" + default: break; } @@ -2019,10 +2021,11 @@ namespace isc { namespace agent { #endif // AGENT_DEBUG -#line 14 "agent_parser.yy" // lalr1.cc:1242 +#line 14 "agent_parser.yy" } } // isc::agent -#line 2025 "agent_parser.cc" // lalr1.cc:1242 -#line 658 "agent_parser.yy" // lalr1.cc:1243 +#line 2027 "agent_parser.cc" + +#line 658 "agent_parser.yy" void diff --git a/src/bin/agent/agent_parser.h b/src/bin/agent/agent_parser.h index ba6433eb70..cdba1f1127 100644 --- a/src/bin/agent/agent_parser.h +++ b/src/bin/agent/agent_parser.h @@ -1,4 +1,4 @@ -// A Bison parser, made by GNU Bison 3.3.2. +// A Bison parser, made by GNU Bison 3.4.1. // Skeleton interface for Bison LALR(1) parsers in C++ @@ -44,7 +44,7 @@ #ifndef YY_AGENT_AGENT_PARSER_H_INCLUDED # define YY_AGENT_AGENT_PARSER_H_INCLUDED // // "%code requires" blocks. -#line 17 "agent_parser.yy" // lalr1.cc:401 +#line 17 "agent_parser.yy" #include #include @@ -55,7 +55,7 @@ using namespace isc::agent; using namespace isc::data; using namespace std; -#line 59 "agent_parser.h" // lalr1.cc:401 +#line 59 "agent_parser.h" # include # include // std::abort @@ -177,9 +177,10 @@ using namespace std; # endif /* ! defined YYDEBUG */ #endif /* ! defined AGENT_DEBUG */ -#line 14 "agent_parser.yy" // lalr1.cc:401 +#line 14 "agent_parser.yy" namespace isc { namespace agent { -#line 183 "agent_parser.h" // lalr1.cc:401 +#line 183 "agent_parser.h" + @@ -2030,9 +2031,10 @@ switch (yytype) return token_type (yytoken_number_[type]); } -#line 14 "agent_parser.yy" // lalr1.cc:401 +#line 14 "agent_parser.yy" } } // isc::agent -#line 2036 "agent_parser.h" // lalr1.cc:401 +#line 2037 "agent_parser.h" + diff --git a/src/bin/agent/location.hh b/src/bin/agent/location.hh index 1ac8b2acd0..6317900f82 100644 --- a/src/bin/agent/location.hh +++ b/src/bin/agent/location.hh @@ -1,5 +1,5 @@ -// Generated 201905221354 -// A Bison parser, made by GNU Bison 3.3.2. +// Generated 201906181714 +// A Bison parser, made by GNU Bison 3.4.1. // Locations for Bison parsers in C++ @@ -55,9 +55,10 @@ # endif # endif -#line 14 "agent_parser.yy" // location.cc:339 +#line 14 "agent_parser.yy" namespace isc { namespace agent { -#line 60 "location.hh" // location.cc:339 +#line 60 "location.hh" + /// A point in a source file. class position { @@ -317,7 +318,8 @@ namespace isc { namespace agent { return ostr; } -#line 14 "agent_parser.yy" // location.cc:339 +#line 14 "agent_parser.yy" } } // isc::agent -#line 322 "location.hh" // location.cc:339 +#line 323 "location.hh" + #endif // !YY_AGENT_LOCATION_HH_INCLUDED diff --git a/src/bin/agent/position.hh b/src/bin/agent/position.hh index 8582f9f664..160393c15e 100644 --- a/src/bin/agent/position.hh +++ b/src/bin/agent/position.hh @@ -1,5 +1,5 @@ -// Generated 201905221354 -// A Bison parser, made by GNU Bison 3.3.2. +// Generated 201906181714 +// A Bison parser, made by GNU Bison 3.4.1. // Starting with Bison 3.2, this file is useless: the structure it // used to define is now defined in "location.hh". diff --git a/src/bin/agent/stack.hh b/src/bin/agent/stack.hh index 087021139d..958da53ee1 100644 --- a/src/bin/agent/stack.hh +++ b/src/bin/agent/stack.hh @@ -1,5 +1,5 @@ -// Generated 201905221354 -// A Bison parser, made by GNU Bison 3.3.2. +// Generated 201906181714 +// A Bison parser, made by GNU Bison 3.4.1. // Starting with Bison 3.2, this file is useless: the structure it // used to define is now defined with the parser itself. diff --git a/src/bin/d2/d2_parser.cc b/src/bin/d2/d2_parser.cc index b99b89d12f..c760d7d4cf 100644 --- a/src/bin/d2/d2_parser.cc +++ b/src/bin/d2/d2_parser.cc @@ -1,4 +1,4 @@ -// A Bison parser, made by GNU Bison 3.3.2. +// A Bison parser, made by GNU Bison 3.4.1. // Skeleton implementation for Bison LALR(1) parsers in C++ @@ -43,11 +43,11 @@ // Unqualified %code blocks. -#line 34 "d2_parser.yy" // lalr1.cc:435 +#line 34 "d2_parser.yy" #include -#line 51 "d2_parser.cc" // lalr1.cc:435 +#line 51 "d2_parser.cc" #ifndef YY_ @@ -140,9 +140,10 @@ #define YYERROR goto yyerrorlab #define YYRECOVERING() (!!yyerrstatus_) -#line 14 "d2_parser.yy" // lalr1.cc:510 +#line 14 "d2_parser.yy" namespace isc { namespace d2 { -#line 146 "d2_parser.cc" // lalr1.cc:510 +#line 146 "d2_parser.cc" + /* Return YYSTR after stripping away unnecessary quotes and backslashes, so that it's suitable for yyerror. The heuristic is @@ -386,45 +387,45 @@ namespace isc { namespace d2 { switch (yytype) { case 56: // "constant string" -#line 115 "d2_parser.yy" // lalr1.cc:676 +#line 115 "d2_parser.yy" { yyoutput << yysym.value.template as < std::string > (); } -#line 392 "d2_parser.cc" // lalr1.cc:676 +#line 393 "d2_parser.cc" break; case 57: // "integer" -#line 115 "d2_parser.yy" // lalr1.cc:676 +#line 115 "d2_parser.yy" { yyoutput << yysym.value.template as < int64_t > (); } -#line 398 "d2_parser.cc" // lalr1.cc:676 +#line 399 "d2_parser.cc" break; case 58: // "floating point" -#line 115 "d2_parser.yy" // lalr1.cc:676 +#line 115 "d2_parser.yy" { yyoutput << yysym.value.template as < double > (); } -#line 404 "d2_parser.cc" // lalr1.cc:676 +#line 405 "d2_parser.cc" break; case 59: // "boolean" -#line 115 "d2_parser.yy" // lalr1.cc:676 +#line 115 "d2_parser.yy" { yyoutput << yysym.value.template as < bool > (); } -#line 410 "d2_parser.cc" // lalr1.cc:676 +#line 411 "d2_parser.cc" break; case 71: // value -#line 115 "d2_parser.yy" // lalr1.cc:676 +#line 115 "d2_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } -#line 416 "d2_parser.cc" // lalr1.cc:676 +#line 417 "d2_parser.cc" break; case 75: // map_value -#line 115 "d2_parser.yy" // lalr1.cc:676 +#line 115 "d2_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } -#line 422 "d2_parser.cc" // lalr1.cc:676 +#line 423 "d2_parser.cc" break; case 99: // ncr_protocol_value -#line 115 "d2_parser.yy" // lalr1.cc:676 +#line 115 "d2_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } -#line 428 "d2_parser.cc" // lalr1.cc:676 +#line 429 "d2_parser.cc" break; default: @@ -684,281 +685,281 @@ namespace isc { namespace d2 { switch (yyn) { case 2: -#line 124 "d2_parser.yy" // lalr1.cc:919 +#line 124 "d2_parser.yy" { ctx.ctx_ = ctx.NO_KEYWORD; } -#line 690 "d2_parser.cc" // lalr1.cc:919 +#line 691 "d2_parser.cc" break; case 4: -#line 125 "d2_parser.yy" // lalr1.cc:919 +#line 125 "d2_parser.yy" { ctx.ctx_ = ctx.CONFIG; } -#line 696 "d2_parser.cc" // lalr1.cc:919 +#line 697 "d2_parser.cc" break; case 6: -#line 126 "d2_parser.yy" // lalr1.cc:919 +#line 126 "d2_parser.yy" { ctx.ctx_ = ctx.DHCPDDNS; } -#line 702 "d2_parser.cc" // lalr1.cc:919 +#line 703 "d2_parser.cc" break; case 8: -#line 127 "d2_parser.yy" // lalr1.cc:919 +#line 127 "d2_parser.yy" { ctx.ctx_ = ctx.TSIG_KEY; } -#line 708 "d2_parser.cc" // lalr1.cc:919 +#line 709 "d2_parser.cc" break; case 10: -#line 128 "d2_parser.yy" // lalr1.cc:919 +#line 128 "d2_parser.yy" { ctx.ctx_ = ctx.TSIG_KEYS; } -#line 714 "d2_parser.cc" // lalr1.cc:919 +#line 715 "d2_parser.cc" break; case 12: -#line 129 "d2_parser.yy" // lalr1.cc:919 +#line 129 "d2_parser.yy" { ctx.ctx_ = ctx.DDNS_DOMAIN; } -#line 720 "d2_parser.cc" // lalr1.cc:919 +#line 721 "d2_parser.cc" break; case 14: -#line 130 "d2_parser.yy" // lalr1.cc:919 +#line 130 "d2_parser.yy" { ctx.ctx_ = ctx.DDNS_DOMAINS; } -#line 726 "d2_parser.cc" // lalr1.cc:919 +#line 727 "d2_parser.cc" break; case 16: -#line 131 "d2_parser.yy" // lalr1.cc:919 +#line 131 "d2_parser.yy" { ctx.ctx_ = ctx.DNS_SERVERS; } -#line 732 "d2_parser.cc" // lalr1.cc:919 +#line 733 "d2_parser.cc" break; case 18: -#line 132 "d2_parser.yy" // lalr1.cc:919 +#line 132 "d2_parser.yy" { ctx.ctx_ = ctx.DNS_SERVERS; } -#line 738 "d2_parser.cc" // lalr1.cc:919 +#line 739 "d2_parser.cc" break; case 20: -#line 140 "d2_parser.yy" // lalr1.cc:919 +#line 140 "d2_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); } -#line 744 "d2_parser.cc" // lalr1.cc:919 +#line 745 "d2_parser.cc" break; case 21: -#line 141 "d2_parser.yy" // lalr1.cc:919 +#line 141 "d2_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location))); } -#line 750 "d2_parser.cc" // lalr1.cc:919 +#line 751 "d2_parser.cc" break; case 22: -#line 142 "d2_parser.yy" // lalr1.cc:919 +#line 142 "d2_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); } -#line 756 "d2_parser.cc" // lalr1.cc:919 +#line 757 "d2_parser.cc" break; case 23: -#line 143 "d2_parser.yy" // lalr1.cc:919 +#line 143 "d2_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); } -#line 762 "d2_parser.cc" // lalr1.cc:919 +#line 763 "d2_parser.cc" break; case 24: -#line 144 "d2_parser.yy" // lalr1.cc:919 +#line 144 "d2_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new NullElement(ctx.loc2pos(yystack_[0].location))); } -#line 768 "d2_parser.cc" // lalr1.cc:919 +#line 769 "d2_parser.cc" break; case 25: -#line 145 "d2_parser.yy" // lalr1.cc:919 +#line 145 "d2_parser.yy" { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); } -#line 774 "d2_parser.cc" // lalr1.cc:919 +#line 775 "d2_parser.cc" break; case 26: -#line 146 "d2_parser.yy" // lalr1.cc:919 +#line 146 "d2_parser.yy" { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); } -#line 780 "d2_parser.cc" // lalr1.cc:919 +#line 781 "d2_parser.cc" break; case 27: -#line 149 "d2_parser.yy" // lalr1.cc:919 +#line 149 "d2_parser.yy" { // Push back the JSON value on the stack ctx.stack_.push_back(yystack_[0].value.as < ElementPtr > ()); } -#line 789 "d2_parser.cc" // lalr1.cc:919 +#line 790 "d2_parser.cc" break; case 28: -#line 154 "d2_parser.yy" // lalr1.cc:919 +#line 154 "d2_parser.yy" { // This code is executed when we're about to start parsing // the content of the map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 800 "d2_parser.cc" // lalr1.cc:919 +#line 801 "d2_parser.cc" break; case 29: -#line 159 "d2_parser.yy" // lalr1.cc:919 +#line 159 "d2_parser.yy" { // map parsing completed. If we ever want to do any wrap up // (maybe some sanity checking), this would be the best place // for it. } -#line 810 "d2_parser.cc" // lalr1.cc:919 +#line 811 "d2_parser.cc" break; case 30: -#line 165 "d2_parser.yy" // lalr1.cc:919 +#line 165 "d2_parser.yy" { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); } -#line 816 "d2_parser.cc" // lalr1.cc:919 +#line 817 "d2_parser.cc" break; case 33: -#line 172 "d2_parser.yy" // lalr1.cc:919 +#line 172 "d2_parser.yy" { // map containing a single entry ctx.stack_.back()->set(yystack_[2].value.as < std::string > (), yystack_[0].value.as < ElementPtr > ()); } -#line 825 "d2_parser.cc" // lalr1.cc:919 +#line 826 "d2_parser.cc" break; case 34: -#line 176 "d2_parser.yy" // lalr1.cc:919 +#line 176 "d2_parser.yy" { // map consisting of a shorter map followed by // comma and string:value ctx.stack_.back()->set(yystack_[2].value.as < std::string > (), yystack_[0].value.as < ElementPtr > ()); } -#line 835 "d2_parser.cc" // lalr1.cc:919 +#line 836 "d2_parser.cc" break; case 35: -#line 183 "d2_parser.yy" // lalr1.cc:919 +#line 183 "d2_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(l); } -#line 844 "d2_parser.cc" // lalr1.cc:919 +#line 845 "d2_parser.cc" break; case 36: -#line 186 "d2_parser.yy" // lalr1.cc:919 +#line 186 "d2_parser.yy" { // list parsing complete. Put any sanity checking here } -#line 852 "d2_parser.cc" // lalr1.cc:919 +#line 853 "d2_parser.cc" break; case 39: -#line 194 "d2_parser.yy" // lalr1.cc:919 +#line 194 "d2_parser.yy" { // List consisting of a single element. ctx.stack_.back()->add(yystack_[0].value.as < ElementPtr > ()); } -#line 861 "d2_parser.cc" // lalr1.cc:919 +#line 862 "d2_parser.cc" break; case 40: -#line 198 "d2_parser.yy" // lalr1.cc:919 +#line 198 "d2_parser.yy" { // List ending with , and a value. ctx.stack_.back()->add(yystack_[0].value.as < ElementPtr > ()); } -#line 870 "d2_parser.cc" // lalr1.cc:919 +#line 871 "d2_parser.cc" break; case 41: -#line 209 "d2_parser.yy" // lalr1.cc:919 +#line 209 "d2_parser.yy" { const std::string& where = ctx.contextName(); const std::string& keyword = yystack_[1].value.as < std::string > (); error(yystack_[1].location, "got unexpected keyword \"" + keyword + "\" in " + where + " map."); } -#line 881 "d2_parser.cc" // lalr1.cc:919 +#line 882 "d2_parser.cc" break; case 42: -#line 219 "d2_parser.yy" // lalr1.cc:919 +#line 219 "d2_parser.yy" { // This code is executed when we're about to start parsing // the content of the map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 892 "d2_parser.cc" // lalr1.cc:919 +#line 893 "d2_parser.cc" break; case 43: -#line 224 "d2_parser.yy" // lalr1.cc:919 +#line 224 "d2_parser.yy" { // map parsing completed. If we ever want to do any wrap up // (maybe some sanity checking), this would be the best place // for it. } -#line 902 "d2_parser.cc" // lalr1.cc:919 +#line 903 "d2_parser.cc" break; case 52: -#line 246 "d2_parser.yy" // lalr1.cc:919 +#line 246 "d2_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("DhcpDdns", m); ctx.stack_.push_back(m); ctx.enter(ctx.DHCPDDNS); } -#line 913 "d2_parser.cc" // lalr1.cc:919 +#line 914 "d2_parser.cc" break; case 53: -#line 251 "d2_parser.yy" // lalr1.cc:919 +#line 251 "d2_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 922 "d2_parser.cc" // lalr1.cc:919 +#line 923 "d2_parser.cc" break; case 54: -#line 256 "d2_parser.yy" // lalr1.cc:919 +#line 256 "d2_parser.yy" { // Parse the dhcpddns map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 932 "d2_parser.cc" // lalr1.cc:919 +#line 933 "d2_parser.cc" break; case 55: -#line 260 "d2_parser.yy" // lalr1.cc:919 +#line 260 "d2_parser.yy" { // parsing completed } -#line 940 "d2_parser.cc" // lalr1.cc:919 +#line 941 "d2_parser.cc" break; case 71: -#line 284 "d2_parser.yy" // lalr1.cc:919 +#line 284 "d2_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 948 "d2_parser.cc" // lalr1.cc:919 +#line 949 "d2_parser.cc" break; case 72: -#line 286 "d2_parser.yy" // lalr1.cc:919 +#line 286 "d2_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ip-address", s); ctx.leave(); } -#line 958 "d2_parser.cc" // lalr1.cc:919 +#line 959 "d2_parser.cc" break; case 73: -#line 292 "d2_parser.yy" // lalr1.cc:919 +#line 292 "d2_parser.yy" { if (yystack_[0].value.as < int64_t > () <= 0 || yystack_[0].value.as < int64_t > () >= 65536 ) { error(yystack_[0].location, "port must be greater than zero but less than 65536"); @@ -966,11 +967,11 @@ namespace isc { namespace d2 { ElementPtr i(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("port", i); } -#line 970 "d2_parser.cc" // lalr1.cc:919 +#line 971 "d2_parser.cc" break; case 74: -#line 300 "d2_parser.yy" // lalr1.cc:919 +#line 300 "d2_parser.yy" { if (yystack_[0].value.as < int64_t > () <= 0) { error(yystack_[0].location, "dns-server-timeout must be greater than zero"); @@ -979,66 +980,66 @@ namespace isc { namespace d2 { ctx.stack_.back()->set("dns-server-timeout", i); } } -#line 983 "d2_parser.cc" // lalr1.cc:919 +#line 984 "d2_parser.cc" break; case 75: -#line 309 "d2_parser.yy" // lalr1.cc:919 +#line 309 "d2_parser.yy" { ctx.enter(ctx.NCR_PROTOCOL); } -#line 991 "d2_parser.cc" // lalr1.cc:919 +#line 992 "d2_parser.cc" break; case 76: -#line 311 "d2_parser.yy" // lalr1.cc:919 +#line 311 "d2_parser.yy" { ctx.stack_.back()->set("ncr-protocol", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 1000 "d2_parser.cc" // lalr1.cc:919 +#line 1001 "d2_parser.cc" break; case 77: -#line 317 "d2_parser.yy" // lalr1.cc:919 +#line 317 "d2_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("UDP", ctx.loc2pos(yystack_[0].location))); } -#line 1006 "d2_parser.cc" // lalr1.cc:919 +#line 1007 "d2_parser.cc" break; case 78: -#line 318 "d2_parser.yy" // lalr1.cc:919 +#line 318 "d2_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("TCP", ctx.loc2pos(yystack_[0].location))); } -#line 1012 "d2_parser.cc" // lalr1.cc:919 +#line 1013 "d2_parser.cc" break; case 79: -#line 321 "d2_parser.yy" // lalr1.cc:919 +#line 321 "d2_parser.yy" { ctx.enter(ctx.NCR_FORMAT); } -#line 1020 "d2_parser.cc" // lalr1.cc:919 +#line 1021 "d2_parser.cc" break; case 80: -#line 323 "d2_parser.yy" // lalr1.cc:919 +#line 323 "d2_parser.yy" { ElementPtr json(new StringElement("JSON", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ncr-format", json); ctx.leave(); } -#line 1030 "d2_parser.cc" // lalr1.cc:919 +#line 1031 "d2_parser.cc" break; case 81: -#line 329 "d2_parser.yy" // lalr1.cc:919 +#line 329 "d2_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 1038 "d2_parser.cc" // lalr1.cc:919 +#line 1039 "d2_parser.cc" break; case 82: -#line 331 "d2_parser.yy" // lalr1.cc:919 +#line 331 "d2_parser.yy" { ElementPtr parent = ctx.stack_.back(); ElementPtr user_context = yystack_[0].value.as < ElementPtr > (); @@ -1061,19 +1062,19 @@ namespace isc { namespace d2 { parent->set("user-context", user_context); ctx.leave(); } -#line 1065 "d2_parser.cc" // lalr1.cc:919 +#line 1066 "d2_parser.cc" break; case 83: -#line 354 "d2_parser.yy" // lalr1.cc:919 +#line 354 "d2_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 1073 "d2_parser.cc" // lalr1.cc:919 +#line 1074 "d2_parser.cc" break; case 84: -#line 356 "d2_parser.yy" // lalr1.cc:919 +#line 356 "d2_parser.yy" { ElementPtr parent = ctx.stack_.back(); ElementPtr user_context(new MapElement(ctx.loc2pos(yystack_[3].location))); @@ -1098,131 +1099,131 @@ namespace isc { namespace d2 { parent->set("user-context", user_context); ctx.leave(); } -#line 1102 "d2_parser.cc" // lalr1.cc:919 +#line 1103 "d2_parser.cc" break; case 85: -#line 381 "d2_parser.yy" // lalr1.cc:919 +#line 381 "d2_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("forward-ddns", m); ctx.stack_.push_back(m); ctx.enter(ctx.FORWARD_DDNS); } -#line 1113 "d2_parser.cc" // lalr1.cc:919 +#line 1114 "d2_parser.cc" break; case 86: -#line 386 "d2_parser.yy" // lalr1.cc:919 +#line 386 "d2_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 1122 "d2_parser.cc" // lalr1.cc:919 +#line 1123 "d2_parser.cc" break; case 87: -#line 391 "d2_parser.yy" // lalr1.cc:919 +#line 391 "d2_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("reverse-ddns", m); ctx.stack_.push_back(m); ctx.enter(ctx.REVERSE_DDNS); } -#line 1133 "d2_parser.cc" // lalr1.cc:919 +#line 1134 "d2_parser.cc" break; case 88: -#line 396 "d2_parser.yy" // lalr1.cc:919 +#line 396 "d2_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 1142 "d2_parser.cc" // lalr1.cc:919 +#line 1143 "d2_parser.cc" break; case 95: -#line 415 "d2_parser.yy" // lalr1.cc:919 +#line 415 "d2_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ddns-domains", l); ctx.stack_.push_back(l); ctx.enter(ctx.DDNS_DOMAINS); } -#line 1153 "d2_parser.cc" // lalr1.cc:919 +#line 1154 "d2_parser.cc" break; case 96: -#line 420 "d2_parser.yy" // lalr1.cc:919 +#line 420 "d2_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 1162 "d2_parser.cc" // lalr1.cc:919 +#line 1163 "d2_parser.cc" break; case 97: -#line 425 "d2_parser.yy" // lalr1.cc:919 +#line 425 "d2_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(l); } -#line 1171 "d2_parser.cc" // lalr1.cc:919 +#line 1172 "d2_parser.cc" break; case 98: -#line 428 "d2_parser.yy" // lalr1.cc:919 +#line 428 "d2_parser.yy" { // parsing completed } -#line 1179 "d2_parser.cc" // lalr1.cc:919 +#line 1180 "d2_parser.cc" break; case 103: -#line 440 "d2_parser.yy" // lalr1.cc:919 +#line 440 "d2_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 1189 "d2_parser.cc" // lalr1.cc:919 +#line 1190 "d2_parser.cc" break; case 104: -#line 444 "d2_parser.yy" // lalr1.cc:919 +#line 444 "d2_parser.yy" { ctx.stack_.pop_back(); } -#line 1197 "d2_parser.cc" // lalr1.cc:919 +#line 1198 "d2_parser.cc" break; case 105: -#line 448 "d2_parser.yy" // lalr1.cc:919 +#line 448 "d2_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 1206 "d2_parser.cc" // lalr1.cc:919 +#line 1207 "d2_parser.cc" break; case 106: -#line 451 "d2_parser.yy" // lalr1.cc:919 +#line 451 "d2_parser.yy" { // parsing completed } -#line 1214 "d2_parser.cc" // lalr1.cc:919 +#line 1215 "d2_parser.cc" break; case 115: -#line 468 "d2_parser.yy" // lalr1.cc:919 +#line 468 "d2_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 1222 "d2_parser.cc" // lalr1.cc:919 +#line 1223 "d2_parser.cc" break; case 116: -#line 470 "d2_parser.yy" // lalr1.cc:919 +#line 470 "d2_parser.yy" { if (yystack_[0].value.as < std::string > () == "") { error(yystack_[1].location, "Ddns domain name cannot be blank"); @@ -1232,110 +1233,110 @@ namespace isc { namespace d2 { ctx.stack_.back()->set("name", name); ctx.leave(); } -#line 1236 "d2_parser.cc" // lalr1.cc:919 +#line 1237 "d2_parser.cc" break; case 117: -#line 480 "d2_parser.yy" // lalr1.cc:919 +#line 480 "d2_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 1244 "d2_parser.cc" // lalr1.cc:919 +#line 1245 "d2_parser.cc" break; case 118: -#line 482 "d2_parser.yy" // lalr1.cc:919 +#line 482 "d2_parser.yy" { ElementPtr elem(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ElementPtr name(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("key-name", name); ctx.leave(); } -#line 1255 "d2_parser.cc" // lalr1.cc:919 +#line 1256 "d2_parser.cc" break; case 119: -#line 492 "d2_parser.yy" // lalr1.cc:919 +#line 492 "d2_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("dns-servers", l); ctx.stack_.push_back(l); ctx.enter(ctx.DNS_SERVERS); } -#line 1266 "d2_parser.cc" // lalr1.cc:919 +#line 1267 "d2_parser.cc" break; case 120: -#line 497 "d2_parser.yy" // lalr1.cc:919 +#line 497 "d2_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 1275 "d2_parser.cc" // lalr1.cc:919 +#line 1276 "d2_parser.cc" break; case 121: -#line 502 "d2_parser.yy" // lalr1.cc:919 +#line 502 "d2_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(l); } -#line 1284 "d2_parser.cc" // lalr1.cc:919 +#line 1285 "d2_parser.cc" break; case 122: -#line 505 "d2_parser.yy" // lalr1.cc:919 +#line 505 "d2_parser.yy" { // parsing completed } -#line 1292 "d2_parser.cc" // lalr1.cc:919 +#line 1293 "d2_parser.cc" break; case 125: -#line 513 "d2_parser.yy" // lalr1.cc:919 +#line 513 "d2_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 1302 "d2_parser.cc" // lalr1.cc:919 +#line 1303 "d2_parser.cc" break; case 126: -#line 517 "d2_parser.yy" // lalr1.cc:919 +#line 517 "d2_parser.yy" { ctx.stack_.pop_back(); } -#line 1310 "d2_parser.cc" // lalr1.cc:919 +#line 1311 "d2_parser.cc" break; case 127: -#line 521 "d2_parser.yy" // lalr1.cc:919 +#line 521 "d2_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 1319 "d2_parser.cc" // lalr1.cc:919 +#line 1320 "d2_parser.cc" break; case 128: -#line 524 "d2_parser.yy" // lalr1.cc:919 +#line 524 "d2_parser.yy" { // parsing completed } -#line 1327 "d2_parser.cc" // lalr1.cc:919 +#line 1328 "d2_parser.cc" break; case 137: -#line 540 "d2_parser.yy" // lalr1.cc:919 +#line 540 "d2_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 1335 "d2_parser.cc" // lalr1.cc:919 +#line 1336 "d2_parser.cc" break; case 138: -#line 542 "d2_parser.yy" // lalr1.cc:919 +#line 542 "d2_parser.yy" { if (yystack_[0].value.as < std::string > () != "") { error(yystack_[1].location, "hostname is not yet supported"); @@ -1345,29 +1346,29 @@ namespace isc { namespace d2 { ctx.stack_.back()->set("hostname", name); ctx.leave(); } -#line 1349 "d2_parser.cc" // lalr1.cc:919 +#line 1350 "d2_parser.cc" break; case 139: -#line 552 "d2_parser.yy" // lalr1.cc:919 +#line 552 "d2_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 1357 "d2_parser.cc" // lalr1.cc:919 +#line 1358 "d2_parser.cc" break; case 140: -#line 554 "d2_parser.yy" // lalr1.cc:919 +#line 554 "d2_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ip-address", s); ctx.leave(); } -#line 1367 "d2_parser.cc" // lalr1.cc:919 +#line 1368 "d2_parser.cc" break; case 141: -#line 560 "d2_parser.yy" // lalr1.cc:919 +#line 560 "d2_parser.yy" { if (yystack_[0].value.as < int64_t > () <= 0 || yystack_[0].value.as < int64_t > () >= 65536 ) { error(yystack_[0].location, "port must be greater than zero but less than 65536"); @@ -1375,92 +1376,92 @@ namespace isc { namespace d2 { ElementPtr i(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("port", i); } -#line 1379 "d2_parser.cc" // lalr1.cc:919 +#line 1380 "d2_parser.cc" break; case 142: -#line 574 "d2_parser.yy" // lalr1.cc:919 +#line 574 "d2_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("tsig-keys", l); ctx.stack_.push_back(l); ctx.enter(ctx.TSIG_KEYS); } -#line 1390 "d2_parser.cc" // lalr1.cc:919 +#line 1391 "d2_parser.cc" break; case 143: -#line 579 "d2_parser.yy" // lalr1.cc:919 +#line 579 "d2_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 1399 "d2_parser.cc" // lalr1.cc:919 +#line 1400 "d2_parser.cc" break; case 144: -#line 584 "d2_parser.yy" // lalr1.cc:919 +#line 584 "d2_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(l); } -#line 1408 "d2_parser.cc" // lalr1.cc:919 +#line 1409 "d2_parser.cc" break; case 145: -#line 587 "d2_parser.yy" // lalr1.cc:919 +#line 587 "d2_parser.yy" { // parsing completed } -#line 1416 "d2_parser.cc" // lalr1.cc:919 +#line 1417 "d2_parser.cc" break; case 150: -#line 599 "d2_parser.yy" // lalr1.cc:919 +#line 599 "d2_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 1426 "d2_parser.cc" // lalr1.cc:919 +#line 1427 "d2_parser.cc" break; case 151: -#line 603 "d2_parser.yy" // lalr1.cc:919 +#line 603 "d2_parser.yy" { ctx.stack_.pop_back(); } -#line 1434 "d2_parser.cc" // lalr1.cc:919 +#line 1435 "d2_parser.cc" break; case 152: -#line 607 "d2_parser.yy" // lalr1.cc:919 +#line 607 "d2_parser.yy" { // Parse tsig key list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 1444 "d2_parser.cc" // lalr1.cc:919 +#line 1445 "d2_parser.cc" break; case 153: -#line 611 "d2_parser.yy" // lalr1.cc:919 +#line 611 "d2_parser.yy" { // parsing completed } -#line 1452 "d2_parser.cc" // lalr1.cc:919 +#line 1453 "d2_parser.cc" break; case 163: -#line 629 "d2_parser.yy" // lalr1.cc:919 +#line 629 "d2_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 1460 "d2_parser.cc" // lalr1.cc:919 +#line 1461 "d2_parser.cc" break; case 164: -#line 631 "d2_parser.yy" // lalr1.cc:919 +#line 631 "d2_parser.yy" { if (yystack_[0].value.as < std::string > () == "") { error(yystack_[1].location, "TSIG key name cannot be blank"); @@ -1470,19 +1471,19 @@ namespace isc { namespace d2 { ctx.stack_.back()->set("name", name); ctx.leave(); } -#line 1474 "d2_parser.cc" // lalr1.cc:919 +#line 1475 "d2_parser.cc" break; case 165: -#line 641 "d2_parser.yy" // lalr1.cc:919 +#line 641 "d2_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 1482 "d2_parser.cc" // lalr1.cc:919 +#line 1483 "d2_parser.cc" break; case 166: -#line 643 "d2_parser.yy" // lalr1.cc:919 +#line 643 "d2_parser.yy" { if (yystack_[0].value.as < std::string > () == "") { error(yystack_[1].location, "TSIG key algorithm cannot be blank"); @@ -1491,11 +1492,11 @@ namespace isc { namespace d2 { ctx.stack_.back()->set("algorithm", elem); ctx.leave(); } -#line 1495 "d2_parser.cc" // lalr1.cc:919 +#line 1496 "d2_parser.cc" break; case 167: -#line 652 "d2_parser.yy" // lalr1.cc:919 +#line 652 "d2_parser.yy" { if (yystack_[0].value.as < int64_t > () < 0 || (yystack_[0].value.as < int64_t > () > 0 && (yystack_[0].value.as < int64_t > () % 8 != 0))) { error(yystack_[0].location, "TSIG key digest-bits must either be zero or a positive, multiple of eight"); @@ -1503,19 +1504,19 @@ namespace isc { namespace d2 { ElementPtr elem(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("digest-bits", elem); } -#line 1507 "d2_parser.cc" // lalr1.cc:919 +#line 1508 "d2_parser.cc" break; case 168: -#line 660 "d2_parser.yy" // lalr1.cc:919 +#line 660 "d2_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 1515 "d2_parser.cc" // lalr1.cc:919 +#line 1516 "d2_parser.cc" break; case 169: -#line 662 "d2_parser.yy" // lalr1.cc:919 +#line 662 "d2_parser.yy" { if (yystack_[0].value.as < std::string > () == "") { error(yystack_[1].location, "TSIG key secret cannot be blank"); @@ -1524,304 +1525,305 @@ namespace isc { namespace d2 { ctx.stack_.back()->set("secret", elem); ctx.leave(); } -#line 1528 "d2_parser.cc" // lalr1.cc:919 +#line 1529 "d2_parser.cc" break; case 170: -#line 676 "d2_parser.yy" // lalr1.cc:919 +#line 676 "d2_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("control-socket", m); ctx.stack_.push_back(m); ctx.enter(ctx.CONTROL_SOCKET); } -#line 1539 "d2_parser.cc" // lalr1.cc:919 +#line 1540 "d2_parser.cc" break; case 171: -#line 681 "d2_parser.yy" // lalr1.cc:919 +#line 681 "d2_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 1548 "d2_parser.cc" // lalr1.cc:919 +#line 1549 "d2_parser.cc" break; case 179: -#line 697 "d2_parser.yy" // lalr1.cc:919 +#line 697 "d2_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 1556 "d2_parser.cc" // lalr1.cc:919 +#line 1557 "d2_parser.cc" break; case 180: -#line 699 "d2_parser.yy" // lalr1.cc:919 +#line 699 "d2_parser.yy" { ElementPtr stype(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("socket-type", stype); ctx.leave(); } -#line 1566 "d2_parser.cc" // lalr1.cc:919 +#line 1567 "d2_parser.cc" break; case 181: -#line 705 "d2_parser.yy" // lalr1.cc:919 +#line 705 "d2_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 1574 "d2_parser.cc" // lalr1.cc:919 +#line 1575 "d2_parser.cc" break; case 182: -#line 707 "d2_parser.yy" // lalr1.cc:919 +#line 707 "d2_parser.yy" { ElementPtr name(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("socket-name", name); ctx.leave(); } -#line 1584 "d2_parser.cc" // lalr1.cc:919 +#line 1585 "d2_parser.cc" break; case 183: -#line 715 "d2_parser.yy" // lalr1.cc:919 +#line 715 "d2_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 1592 "d2_parser.cc" // lalr1.cc:919 +#line 1593 "d2_parser.cc" break; case 184: -#line 717 "d2_parser.yy" // lalr1.cc:919 +#line 717 "d2_parser.yy" { ctx.stack_.back()->set("Dhcp6", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 1601 "d2_parser.cc" // lalr1.cc:919 +#line 1602 "d2_parser.cc" break; case 185: -#line 722 "d2_parser.yy" // lalr1.cc:919 +#line 722 "d2_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 1609 "d2_parser.cc" // lalr1.cc:919 +#line 1610 "d2_parser.cc" break; case 186: -#line 724 "d2_parser.yy" // lalr1.cc:919 +#line 724 "d2_parser.yy" { ctx.stack_.back()->set("Dhcp4", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 1618 "d2_parser.cc" // lalr1.cc:919 +#line 1619 "d2_parser.cc" break; case 187: -#line 729 "d2_parser.yy" // lalr1.cc:919 +#line 729 "d2_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 1626 "d2_parser.cc" // lalr1.cc:919 +#line 1627 "d2_parser.cc" break; case 188: -#line 731 "d2_parser.yy" // lalr1.cc:919 +#line 731 "d2_parser.yy" { ctx.stack_.back()->set("Control-agent", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 1635 "d2_parser.cc" // lalr1.cc:919 +#line 1636 "d2_parser.cc" break; case 189: -#line 741 "d2_parser.yy" // lalr1.cc:919 +#line 741 "d2_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("Logging", m); ctx.stack_.push_back(m); ctx.enter(ctx.LOGGING); } -#line 1646 "d2_parser.cc" // lalr1.cc:919 +#line 1647 "d2_parser.cc" break; case 190: -#line 746 "d2_parser.yy" // lalr1.cc:919 +#line 746 "d2_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 1655 "d2_parser.cc" // lalr1.cc:919 +#line 1656 "d2_parser.cc" break; case 194: -#line 763 "d2_parser.yy" // lalr1.cc:919 +#line 763 "d2_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("loggers", l); ctx.stack_.push_back(l); ctx.enter(ctx.LOGGERS); } -#line 1666 "d2_parser.cc" // lalr1.cc:919 +#line 1667 "d2_parser.cc" break; case 195: -#line 768 "d2_parser.yy" // lalr1.cc:919 +#line 768 "d2_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 1675 "d2_parser.cc" // lalr1.cc:919 +#line 1676 "d2_parser.cc" break; case 198: -#line 780 "d2_parser.yy" // lalr1.cc:919 +#line 780 "d2_parser.yy" { ElementPtr l(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(l); ctx.stack_.push_back(l); } -#line 1685 "d2_parser.cc" // lalr1.cc:919 +#line 1686 "d2_parser.cc" break; case 199: -#line 784 "d2_parser.yy" // lalr1.cc:919 +#line 784 "d2_parser.yy" { ctx.stack_.pop_back(); } -#line 1693 "d2_parser.cc" // lalr1.cc:919 +#line 1694 "d2_parser.cc" break; case 209: -#line 801 "d2_parser.yy" // lalr1.cc:919 +#line 801 "d2_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 1701 "d2_parser.cc" // lalr1.cc:919 +#line 1702 "d2_parser.cc" break; case 210: -#line 803 "d2_parser.yy" // lalr1.cc:919 +#line 803 "d2_parser.yy" { ElementPtr name(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("name", name); ctx.leave(); } -#line 1711 "d2_parser.cc" // lalr1.cc:919 +#line 1712 "d2_parser.cc" break; case 211: -#line 809 "d2_parser.yy" // lalr1.cc:919 +#line 809 "d2_parser.yy" { ElementPtr dl(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("debuglevel", dl); } -#line 1720 "d2_parser.cc" // lalr1.cc:919 +#line 1721 "d2_parser.cc" break; case 212: -#line 813 "d2_parser.yy" // lalr1.cc:919 +#line 813 "d2_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 1728 "d2_parser.cc" // lalr1.cc:919 +#line 1729 "d2_parser.cc" break; case 213: -#line 815 "d2_parser.yy" // lalr1.cc:919 +#line 815 "d2_parser.yy" { ElementPtr sev(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("severity", sev); ctx.leave(); } -#line 1738 "d2_parser.cc" // lalr1.cc:919 +#line 1739 "d2_parser.cc" break; case 214: -#line 821 "d2_parser.yy" // lalr1.cc:919 +#line 821 "d2_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("output_options", l); ctx.stack_.push_back(l); ctx.enter(ctx.OUTPUT_OPTIONS); } -#line 1749 "d2_parser.cc" // lalr1.cc:919 +#line 1750 "d2_parser.cc" break; case 215: -#line 826 "d2_parser.yy" // lalr1.cc:919 +#line 826 "d2_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 1758 "d2_parser.cc" // lalr1.cc:919 +#line 1759 "d2_parser.cc" break; case 218: -#line 835 "d2_parser.yy" // lalr1.cc:919 +#line 835 "d2_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 1768 "d2_parser.cc" // lalr1.cc:919 +#line 1769 "d2_parser.cc" break; case 219: -#line 839 "d2_parser.yy" // lalr1.cc:919 +#line 839 "d2_parser.yy" { ctx.stack_.pop_back(); } -#line 1776 "d2_parser.cc" // lalr1.cc:919 +#line 1777 "d2_parser.cc" break; case 226: -#line 853 "d2_parser.yy" // lalr1.cc:919 +#line 853 "d2_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 1784 "d2_parser.cc" // lalr1.cc:919 +#line 1785 "d2_parser.cc" break; case 227: -#line 855 "d2_parser.yy" // lalr1.cc:919 +#line 855 "d2_parser.yy" { ElementPtr sev(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("output", sev); ctx.leave(); } -#line 1794 "d2_parser.cc" // lalr1.cc:919 +#line 1795 "d2_parser.cc" break; case 228: -#line 861 "d2_parser.yy" // lalr1.cc:919 +#line 861 "d2_parser.yy" { ElementPtr flush(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("flush", flush); } -#line 1803 "d2_parser.cc" // lalr1.cc:919 +#line 1804 "d2_parser.cc" break; case 229: -#line 866 "d2_parser.yy" // lalr1.cc:919 +#line 866 "d2_parser.yy" { ElementPtr maxsize(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("maxsize", maxsize); } -#line 1812 "d2_parser.cc" // lalr1.cc:919 +#line 1813 "d2_parser.cc" break; case 230: -#line 871 "d2_parser.yy" // lalr1.cc:919 +#line 871 "d2_parser.yy" { ElementPtr maxver(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("maxver", maxver); } -#line 1821 "d2_parser.cc" // lalr1.cc:919 +#line 1822 "d2_parser.cc" break; -#line 1825 "d2_parser.cc" // lalr1.cc:919 +#line 1826 "d2_parser.cc" + default: break; } @@ -2513,10 +2515,11 @@ namespace isc { namespace d2 { #endif // D2_PARSER_DEBUG -#line 14 "d2_parser.yy" // lalr1.cc:1242 +#line 14 "d2_parser.yy" } } // isc::d2 -#line 2519 "d2_parser.cc" // lalr1.cc:1242 -#line 876 "d2_parser.yy" // lalr1.cc:1243 +#line 2521 "d2_parser.cc" + +#line 876 "d2_parser.yy" void diff --git a/src/bin/d2/d2_parser.h b/src/bin/d2/d2_parser.h index 154c7ab93f..229e607597 100644 --- a/src/bin/d2/d2_parser.h +++ b/src/bin/d2/d2_parser.h @@ -1,4 +1,4 @@ -// A Bison parser, made by GNU Bison 3.3.2. +// A Bison parser, made by GNU Bison 3.4.1. // Skeleton interface for Bison LALR(1) parsers in C++ @@ -44,7 +44,7 @@ #ifndef YY_D2_PARSER_D2_PARSER_H_INCLUDED # define YY_D2_PARSER_D2_PARSER_H_INCLUDED // // "%code requires" blocks. -#line 17 "d2_parser.yy" // lalr1.cc:401 +#line 17 "d2_parser.yy" #include #include @@ -56,7 +56,7 @@ using namespace isc::d2; using namespace isc::data; using namespace std; -#line 60 "d2_parser.h" // lalr1.cc:401 +#line 60 "d2_parser.h" # include # include // std::abort @@ -178,9 +178,10 @@ using namespace std; # endif /* ! defined YYDEBUG */ #endif /* ! defined D2_PARSER_DEBUG */ -#line 14 "d2_parser.yy" // lalr1.cc:401 +#line 14 "d2_parser.yy" namespace isc { namespace d2 { -#line 184 "d2_parser.h" // lalr1.cc:401 +#line 184 "d2_parser.h" + @@ -2274,9 +2275,10 @@ switch (yytype) return token_type (yytoken_number_[type]); } -#line 14 "d2_parser.yy" // lalr1.cc:401 +#line 14 "d2_parser.yy" } } // isc::d2 -#line 2280 "d2_parser.h" // lalr1.cc:401 +#line 2281 "d2_parser.h" + diff --git a/src/bin/d2/location.hh b/src/bin/d2/location.hh index 9e8f0ab99d..3a82a88a31 100644 --- a/src/bin/d2/location.hh +++ b/src/bin/d2/location.hh @@ -1,5 +1,5 @@ -// Generated 201905221354 -// A Bison parser, made by GNU Bison 3.3.2. +// Generated 201906181714 +// A Bison parser, made by GNU Bison 3.4.1. // Locations for Bison parsers in C++ @@ -55,9 +55,10 @@ # endif # endif -#line 14 "d2_parser.yy" // location.cc:339 +#line 14 "d2_parser.yy" namespace isc { namespace d2 { -#line 60 "location.hh" // location.cc:339 +#line 60 "location.hh" + /// A point in a source file. class position { @@ -317,7 +318,8 @@ namespace isc { namespace d2 { return ostr; } -#line 14 "d2_parser.yy" // location.cc:339 +#line 14 "d2_parser.yy" } } // isc::d2 -#line 322 "location.hh" // location.cc:339 +#line 323 "location.hh" + #endif // !YY_D2_PARSER_LOCATION_HH_INCLUDED diff --git a/src/bin/d2/position.hh b/src/bin/d2/position.hh index 8582f9f664..160393c15e 100644 --- a/src/bin/d2/position.hh +++ b/src/bin/d2/position.hh @@ -1,5 +1,5 @@ -// Generated 201905221354 -// A Bison parser, made by GNU Bison 3.3.2. +// Generated 201906181714 +// A Bison parser, made by GNU Bison 3.4.1. // Starting with Bison 3.2, this file is useless: the structure it // used to define is now defined in "location.hh". diff --git a/src/bin/d2/stack.hh b/src/bin/d2/stack.hh index 087021139d..958da53ee1 100644 --- a/src/bin/d2/stack.hh +++ b/src/bin/d2/stack.hh @@ -1,5 +1,5 @@ -// Generated 201905221354 -// A Bison parser, made by GNU Bison 3.3.2. +// Generated 201906181714 +// A Bison parser, made by GNU Bison 3.4.1. // Starting with Bison 3.2, this file is useless: the structure it // used to define is now defined with the parser itself. diff --git a/src/bin/dhcp4/location.hh b/src/bin/dhcp4/location.hh index 228ff60688..6a79b0f511 100644 --- a/src/bin/dhcp4/location.hh +++ b/src/bin/dhcp4/location.hh @@ -1,4 +1,4 @@ -// Generated 201906101912 +// Generated 201906181715 // A Bison parser, made by GNU Bison 3.4.1. // Locations for Bison parsers in C++ diff --git a/src/bin/dhcp4/position.hh b/src/bin/dhcp4/position.hh index 0481e2fe60..4640297fec 100644 --- a/src/bin/dhcp4/position.hh +++ b/src/bin/dhcp4/position.hh @@ -1,4 +1,4 @@ -// Generated 201906101912 +// Generated 201906181715 // A Bison parser, made by GNU Bison 3.4.1. // Starting with Bison 3.2, this file is useless: the structure it diff --git a/src/bin/dhcp4/stack.hh b/src/bin/dhcp4/stack.hh index 6528c3d242..5bfd9a6442 100644 --- a/src/bin/dhcp4/stack.hh +++ b/src/bin/dhcp4/stack.hh @@ -1,4 +1,4 @@ -// Generated 201906101912 +// Generated 201906181715 // A Bison parser, made by GNU Bison 3.4.1. // Starting with Bison 3.2, this file is useless: the structure it diff --git a/src/bin/dhcp6/location.hh b/src/bin/dhcp6/location.hh index f60c610d0d..149f972520 100644 --- a/src/bin/dhcp6/location.hh +++ b/src/bin/dhcp6/location.hh @@ -1,4 +1,4 @@ -// Generated 201906110013 +// Generated 201906181715 // A Bison parser, made by GNU Bison 3.4.1. // Locations for Bison parsers in C++ diff --git a/src/bin/dhcp6/position.hh b/src/bin/dhcp6/position.hh index 62237de497..4640297fec 100644 --- a/src/bin/dhcp6/position.hh +++ b/src/bin/dhcp6/position.hh @@ -1,4 +1,4 @@ -// Generated 201906110013 +// Generated 201906181715 // A Bison parser, made by GNU Bison 3.4.1. // Starting with Bison 3.2, this file is useless: the structure it diff --git a/src/bin/dhcp6/stack.hh b/src/bin/dhcp6/stack.hh index 5c0b9bdb0e..5bfd9a6442 100644 --- a/src/bin/dhcp6/stack.hh +++ b/src/bin/dhcp6/stack.hh @@ -1,4 +1,4 @@ -// Generated 201906110013 +// Generated 201906181715 // A Bison parser, made by GNU Bison 3.4.1. // Starting with Bison 3.2, this file is useless: the structure it diff --git a/src/bin/netconf/location.hh b/src/bin/netconf/location.hh index e89abcaeba..7ae1e73816 100644 --- a/src/bin/netconf/location.hh +++ b/src/bin/netconf/location.hh @@ -1,5 +1,5 @@ -// Generated 201905221355 -// A Bison parser, made by GNU Bison 3.3.2. +// Generated 201906181715 +// A Bison parser, made by GNU Bison 3.4.1. // Locations for Bison parsers in C++ @@ -55,9 +55,10 @@ # endif # endif -#line 14 "netconf_parser.yy" // location.cc:339 +#line 14 "netconf_parser.yy" namespace isc { namespace netconf { -#line 60 "location.hh" // location.cc:339 +#line 60 "location.hh" + /// A point in a source file. class position { @@ -317,7 +318,8 @@ namespace isc { namespace netconf { return ostr; } -#line 14 "netconf_parser.yy" // location.cc:339 +#line 14 "netconf_parser.yy" } } // isc::netconf -#line 322 "location.hh" // location.cc:339 +#line 323 "location.hh" + #endif // !YY_NETCONF_LOCATION_HH_INCLUDED diff --git a/src/bin/netconf/netconf_parser.cc b/src/bin/netconf/netconf_parser.cc index ff1853e5fc..b8f8bcb934 100644 --- a/src/bin/netconf/netconf_parser.cc +++ b/src/bin/netconf/netconf_parser.cc @@ -1,4 +1,4 @@ -// A Bison parser, made by GNU Bison 3.3.2. +// A Bison parser, made by GNU Bison 3.4.1. // Skeleton implementation for Bison LALR(1) parsers in C++ @@ -43,11 +43,11 @@ // Unqualified %code blocks. -#line 33 "netconf_parser.yy" // lalr1.cc:435 +#line 33 "netconf_parser.yy" #include -#line 51 "netconf_parser.cc" // lalr1.cc:435 +#line 51 "netconf_parser.cc" #ifndef YY_ @@ -140,9 +140,10 @@ #define YYERROR goto yyerrorlab #define YYRECOVERING() (!!yyerrstatus_) -#line 14 "netconf_parser.yy" // lalr1.cc:510 +#line 14 "netconf_parser.yy" namespace isc { namespace netconf { -#line 146 "netconf_parser.cc" // lalr1.cc:510 +#line 146 "netconf_parser.cc" + /* Return YYSTR after stripping away unnecessary quotes and backslashes, so that it's suitable for yyerror. The heuristic is @@ -386,45 +387,45 @@ namespace isc { namespace netconf { switch (yytype) { case 45: // "constant string" -#line 107 "netconf_parser.yy" // lalr1.cc:676 +#line 107 "netconf_parser.yy" { yyoutput << yysym.value.template as < std::string > (); } -#line 392 "netconf_parser.cc" // lalr1.cc:676 +#line 393 "netconf_parser.cc" break; case 46: // "integer" -#line 107 "netconf_parser.yy" // lalr1.cc:676 +#line 107 "netconf_parser.yy" { yyoutput << yysym.value.template as < int64_t > (); } -#line 398 "netconf_parser.cc" // lalr1.cc:676 +#line 399 "netconf_parser.cc" break; case 47: // "floating point" -#line 107 "netconf_parser.yy" // lalr1.cc:676 +#line 107 "netconf_parser.yy" { yyoutput << yysym.value.template as < double > (); } -#line 404 "netconf_parser.cc" // lalr1.cc:676 +#line 405 "netconf_parser.cc" break; case 48: // "boolean" -#line 107 "netconf_parser.yy" // lalr1.cc:676 +#line 107 "netconf_parser.yy" { yyoutput << yysym.value.template as < bool > (); } -#line 410 "netconf_parser.cc" // lalr1.cc:676 +#line 411 "netconf_parser.cc" break; case 57: // value -#line 107 "netconf_parser.yy" // lalr1.cc:676 +#line 107 "netconf_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } -#line 416 "netconf_parser.cc" // lalr1.cc:676 +#line 417 "netconf_parser.cc" break; case 60: // map_value -#line 107 "netconf_parser.yy" // lalr1.cc:676 +#line 107 "netconf_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } -#line 422 "netconf_parser.cc" // lalr1.cc:676 +#line 423 "netconf_parser.cc" break; case 119: // socket_type_value -#line 107 "netconf_parser.yy" // lalr1.cc:676 +#line 107 "netconf_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } -#line 428 "netconf_parser.cc" // lalr1.cc:676 +#line 429 "netconf_parser.cc" break; default: @@ -684,206 +685,206 @@ namespace isc { namespace netconf { switch (yyn) { case 2: -#line 118 "netconf_parser.yy" // lalr1.cc:919 +#line 118 "netconf_parser.yy" { ctx.ctx_ = ctx.NO_KEYWORDS; } -#line 690 "netconf_parser.cc" // lalr1.cc:919 +#line 691 "netconf_parser.cc" break; case 4: -#line 119 "netconf_parser.yy" // lalr1.cc:919 +#line 119 "netconf_parser.yy" { ctx.ctx_ = ctx.CONFIG; } -#line 696 "netconf_parser.cc" // lalr1.cc:919 +#line 697 "netconf_parser.cc" break; case 6: -#line 120 "netconf_parser.yy" // lalr1.cc:919 +#line 120 "netconf_parser.yy" { ctx.ctx_ = ctx.NETCONF; } -#line 702 "netconf_parser.cc" // lalr1.cc:919 +#line 703 "netconf_parser.cc" break; case 8: -#line 128 "netconf_parser.yy" // lalr1.cc:919 +#line 128 "netconf_parser.yy" { // Parse the Netconf map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 712 "netconf_parser.cc" // lalr1.cc:919 +#line 713 "netconf_parser.cc" break; case 9: -#line 132 "netconf_parser.yy" // lalr1.cc:919 +#line 132 "netconf_parser.yy" { // parsing completed } -#line 720 "netconf_parser.cc" // lalr1.cc:919 +#line 721 "netconf_parser.cc" break; case 10: -#line 139 "netconf_parser.yy" // lalr1.cc:919 +#line 139 "netconf_parser.yy" { // Push back the JSON value on the stack ctx.stack_.push_back(yystack_[0].value.as < ElementPtr > ()); } -#line 729 "netconf_parser.cc" // lalr1.cc:919 +#line 730 "netconf_parser.cc" break; case 11: -#line 145 "netconf_parser.yy" // lalr1.cc:919 +#line 145 "netconf_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); } -#line 735 "netconf_parser.cc" // lalr1.cc:919 +#line 736 "netconf_parser.cc" break; case 12: -#line 146 "netconf_parser.yy" // lalr1.cc:919 +#line 146 "netconf_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location))); } -#line 741 "netconf_parser.cc" // lalr1.cc:919 +#line 742 "netconf_parser.cc" break; case 13: -#line 147 "netconf_parser.yy" // lalr1.cc:919 +#line 147 "netconf_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); } -#line 747 "netconf_parser.cc" // lalr1.cc:919 +#line 748 "netconf_parser.cc" break; case 14: -#line 148 "netconf_parser.yy" // lalr1.cc:919 +#line 148 "netconf_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); } -#line 753 "netconf_parser.cc" // lalr1.cc:919 +#line 754 "netconf_parser.cc" break; case 15: -#line 149 "netconf_parser.yy" // lalr1.cc:919 +#line 149 "netconf_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new NullElement(ctx.loc2pos(yystack_[0].location))); } -#line 759 "netconf_parser.cc" // lalr1.cc:919 +#line 760 "netconf_parser.cc" break; case 16: -#line 150 "netconf_parser.yy" // lalr1.cc:919 +#line 150 "netconf_parser.yy" { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); } -#line 765 "netconf_parser.cc" // lalr1.cc:919 +#line 766 "netconf_parser.cc" break; case 17: -#line 151 "netconf_parser.yy" // lalr1.cc:919 +#line 151 "netconf_parser.yy" { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); } -#line 771 "netconf_parser.cc" // lalr1.cc:919 +#line 772 "netconf_parser.cc" break; case 18: -#line 155 "netconf_parser.yy" // lalr1.cc:919 +#line 155 "netconf_parser.yy" { // This code is executed when we're about to start parsing // the content of the map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 782 "netconf_parser.cc" // lalr1.cc:919 +#line 783 "netconf_parser.cc" break; case 19: -#line 160 "netconf_parser.yy" // lalr1.cc:919 +#line 160 "netconf_parser.yy" { // map parsing completed. If we ever want to do any wrap up // (maybe some sanity checking), this would be the best place // for it. } -#line 792 "netconf_parser.cc" // lalr1.cc:919 +#line 793 "netconf_parser.cc" break; case 20: -#line 166 "netconf_parser.yy" // lalr1.cc:919 +#line 166 "netconf_parser.yy" { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); } -#line 798 "netconf_parser.cc" // lalr1.cc:919 +#line 799 "netconf_parser.cc" break; case 23: -#line 180 "netconf_parser.yy" // lalr1.cc:919 +#line 180 "netconf_parser.yy" { // map containing a single entry ctx.stack_.back()->set(yystack_[2].value.as < std::string > (), yystack_[0].value.as < ElementPtr > ()); } -#line 807 "netconf_parser.cc" // lalr1.cc:919 +#line 808 "netconf_parser.cc" break; case 24: -#line 184 "netconf_parser.yy" // lalr1.cc:919 +#line 184 "netconf_parser.yy" { // map consisting of a shorter map followed by // comma and string:value ctx.stack_.back()->set(yystack_[2].value.as < std::string > (), yystack_[0].value.as < ElementPtr > ()); } -#line 817 "netconf_parser.cc" // lalr1.cc:919 +#line 818 "netconf_parser.cc" break; case 25: -#line 191 "netconf_parser.yy" // lalr1.cc:919 +#line 191 "netconf_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(l); } -#line 826 "netconf_parser.cc" // lalr1.cc:919 +#line 827 "netconf_parser.cc" break; case 26: -#line 194 "netconf_parser.yy" // lalr1.cc:919 +#line 194 "netconf_parser.yy" { } -#line 833 "netconf_parser.cc" // lalr1.cc:919 +#line 834 "netconf_parser.cc" break; case 29: -#line 201 "netconf_parser.yy" // lalr1.cc:919 +#line 201 "netconf_parser.yy" { // List consisting of a single element. ctx.stack_.back()->add(yystack_[0].value.as < ElementPtr > ()); } -#line 842 "netconf_parser.cc" // lalr1.cc:919 +#line 843 "netconf_parser.cc" break; case 30: -#line 205 "netconf_parser.yy" // lalr1.cc:919 +#line 205 "netconf_parser.yy" { // List ending with , and a value. ctx.stack_.back()->add(yystack_[0].value.as < ElementPtr > ()); } -#line 851 "netconf_parser.cc" // lalr1.cc:919 +#line 852 "netconf_parser.cc" break; case 31: -#line 218 "netconf_parser.yy" // lalr1.cc:919 +#line 218 "netconf_parser.yy" { const std::string& where = ctx.contextName(); const std::string& keyword = yystack_[1].value.as < std::string > (); error(yystack_[1].location, "got unexpected keyword \"" + keyword + "\" in " + where + " map."); } -#line 862 "netconf_parser.cc" // lalr1.cc:919 +#line 863 "netconf_parser.cc" break; case 32: -#line 226 "netconf_parser.yy" // lalr1.cc:919 +#line 226 "netconf_parser.yy" { // This code is executed when we're about to start parsing // the content of the map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 873 "netconf_parser.cc" // lalr1.cc:919 +#line 874 "netconf_parser.cc" break; case 33: -#line 231 "netconf_parser.yy" // lalr1.cc:919 +#line 231 "netconf_parser.yy" { // map parsing completed. If we ever want to do any wrap up // (maybe some sanity checking), this would be the best place // for it. } -#line 883 "netconf_parser.cc" // lalr1.cc:919 +#line 884 "netconf_parser.cc" break; case 38: -#line 248 "netconf_parser.yy" // lalr1.cc:919 +#line 248 "netconf_parser.yy" { // Let's create a MapElement that will represent it, add it to the @@ -895,57 +896,57 @@ namespace isc { namespace netconf { ctx.stack_.push_back(m); ctx.enter(ctx.NETCONF); } -#line 899 "netconf_parser.cc" // lalr1.cc:919 +#line 900 "netconf_parser.cc" break; case 39: -#line 258 "netconf_parser.yy" // lalr1.cc:919 +#line 258 "netconf_parser.yy" { // Ok, we're done with parsing Netconf. Let's take the map // off the stack. ctx.stack_.pop_back(); ctx.leave(); } -#line 910 "netconf_parser.cc" // lalr1.cc:919 +#line 911 "netconf_parser.cc" break; case 53: -#line 286 "netconf_parser.yy" // lalr1.cc:919 +#line 286 "netconf_parser.yy" { ElementPtr flag(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("boot-update", flag); } -#line 919 "netconf_parser.cc" // lalr1.cc:919 +#line 920 "netconf_parser.cc" break; case 54: -#line 291 "netconf_parser.yy" // lalr1.cc:919 +#line 291 "netconf_parser.yy" { ElementPtr flag(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("subscribe-changes", flag); } -#line 928 "netconf_parser.cc" // lalr1.cc:919 +#line 929 "netconf_parser.cc" break; case 55: -#line 296 "netconf_parser.yy" // lalr1.cc:919 +#line 296 "netconf_parser.yy" { ElementPtr flag(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("validate-changes", flag); } -#line 937 "netconf_parser.cc" // lalr1.cc:919 +#line 938 "netconf_parser.cc" break; case 56: -#line 301 "netconf_parser.yy" // lalr1.cc:919 +#line 301 "netconf_parser.yy" { ctx.enter(ctx.NO_KEYWORDS); } -#line 945 "netconf_parser.cc" // lalr1.cc:919 +#line 946 "netconf_parser.cc" break; case 57: -#line 303 "netconf_parser.yy" // lalr1.cc:919 +#line 303 "netconf_parser.yy" { ElementPtr parent = ctx.stack_.back(); ElementPtr user_context = yystack_[0].value.as < ElementPtr > (); @@ -968,19 +969,19 @@ namespace isc { namespace netconf { parent->set("user-context", user_context); ctx.leave(); } -#line 972 "netconf_parser.cc" // lalr1.cc:919 +#line 973 "netconf_parser.cc" break; case 58: -#line 326 "netconf_parser.yy" // lalr1.cc:919 +#line 326 "netconf_parser.yy" { ctx.enter(ctx.NO_KEYWORDS); } -#line 980 "netconf_parser.cc" // lalr1.cc:919 +#line 981 "netconf_parser.cc" break; case 59: -#line 328 "netconf_parser.yy" // lalr1.cc:919 +#line 328 "netconf_parser.yy" { ElementPtr parent = ctx.stack_.back(); ElementPtr user_context(new MapElement(ctx.loc2pos(yystack_[3].location))); @@ -1005,479 +1006,480 @@ namespace isc { namespace netconf { parent->set("user-context", user_context); ctx.leave(); } -#line 1009 "netconf_parser.cc" // lalr1.cc:919 +#line 1010 "netconf_parser.cc" break; case 60: -#line 354 "netconf_parser.yy" // lalr1.cc:919 +#line 354 "netconf_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hooks-libraries", l); ctx.stack_.push_back(l); ctx.enter(ctx.HOOKS_LIBRARIES); } -#line 1020 "netconf_parser.cc" // lalr1.cc:919 +#line 1021 "netconf_parser.cc" break; case 61: -#line 359 "netconf_parser.yy" // lalr1.cc:919 +#line 359 "netconf_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 1029 "netconf_parser.cc" // lalr1.cc:919 +#line 1030 "netconf_parser.cc" break; case 66: -#line 372 "netconf_parser.yy" // lalr1.cc:919 +#line 372 "netconf_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 1039 "netconf_parser.cc" // lalr1.cc:919 +#line 1040 "netconf_parser.cc" break; case 67: -#line 376 "netconf_parser.yy" // lalr1.cc:919 +#line 376 "netconf_parser.yy" { ctx.stack_.pop_back(); } -#line 1047 "netconf_parser.cc" // lalr1.cc:919 +#line 1048 "netconf_parser.cc" break; case 73: -#line 389 "netconf_parser.yy" // lalr1.cc:919 +#line 389 "netconf_parser.yy" { ctx.enter(ctx.NO_KEYWORDS); } -#line 1055 "netconf_parser.cc" // lalr1.cc:919 +#line 1056 "netconf_parser.cc" break; case 74: -#line 391 "netconf_parser.yy" // lalr1.cc:919 +#line 391 "netconf_parser.yy" { ElementPtr lib(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("library", lib); ctx.leave(); } -#line 1065 "netconf_parser.cc" // lalr1.cc:919 +#line 1066 "netconf_parser.cc" break; case 75: -#line 397 "netconf_parser.yy" // lalr1.cc:919 +#line 397 "netconf_parser.yy" { ctx.enter(ctx.NO_KEYWORDS); } -#line 1073 "netconf_parser.cc" // lalr1.cc:919 +#line 1074 "netconf_parser.cc" break; case 76: -#line 399 "netconf_parser.yy" // lalr1.cc:919 +#line 399 "netconf_parser.yy" { ctx.stack_.back()->set("parameters", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 1082 "netconf_parser.cc" // lalr1.cc:919 +#line 1083 "netconf_parser.cc" break; case 77: -#line 407 "netconf_parser.yy" // lalr1.cc:919 +#line 407 "netconf_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[2].location))); ctx.stack_.back()->set("managed-servers", m); ctx.stack_.push_back(m); ctx.enter(ctx.MANAGED_SERVERS); } -#line 1093 "netconf_parser.cc" // lalr1.cc:919 +#line 1094 "netconf_parser.cc" break; case 78: -#line 412 "netconf_parser.yy" // lalr1.cc:919 +#line 412 "netconf_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 1102 "netconf_parser.cc" // lalr1.cc:919 +#line 1103 "netconf_parser.cc" break; case 88: -#line 436 "netconf_parser.yy" // lalr1.cc:919 +#line 436 "netconf_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("dhcp4", m); ctx.stack_.push_back(m); ctx.enter(ctx.SERVER); } -#line 1113 "netconf_parser.cc" // lalr1.cc:919 +#line 1114 "netconf_parser.cc" break; case 89: -#line 441 "netconf_parser.yy" // lalr1.cc:919 +#line 441 "netconf_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 1122 "netconf_parser.cc" // lalr1.cc:919 +#line 1123 "netconf_parser.cc" break; case 90: -#line 447 "netconf_parser.yy" // lalr1.cc:919 +#line 447 "netconf_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("dhcp6", m); ctx.stack_.push_back(m); ctx.enter(ctx.SERVER); } -#line 1133 "netconf_parser.cc" // lalr1.cc:919 +#line 1134 "netconf_parser.cc" break; case 91: -#line 452 "netconf_parser.yy" // lalr1.cc:919 +#line 452 "netconf_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 1142 "netconf_parser.cc" // lalr1.cc:919 +#line 1143 "netconf_parser.cc" break; case 92: -#line 458 "netconf_parser.yy" // lalr1.cc:919 +#line 458 "netconf_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("d2", m); ctx.stack_.push_back(m); ctx.enter(ctx.SERVER); } -#line 1153 "netconf_parser.cc" // lalr1.cc:919 +#line 1154 "netconf_parser.cc" break; case 93: -#line 463 "netconf_parser.yy" // lalr1.cc:919 +#line 463 "netconf_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 1162 "netconf_parser.cc" // lalr1.cc:919 +#line 1163 "netconf_parser.cc" break; case 94: -#line 469 "netconf_parser.yy" // lalr1.cc:919 +#line 469 "netconf_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ca", m); ctx.stack_.push_back(m); ctx.enter(ctx.SERVER); } -#line 1173 "netconf_parser.cc" // lalr1.cc:919 +#line 1174 "netconf_parser.cc" break; case 95: -#line 474 "netconf_parser.yy" // lalr1.cc:919 +#line 474 "netconf_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 1182 "netconf_parser.cc" // lalr1.cc:919 +#line 1183 "netconf_parser.cc" break; case 106: -#line 496 "netconf_parser.yy" // lalr1.cc:919 +#line 496 "netconf_parser.yy" { ctx.enter(ctx.NO_KEYWORDS); } -#line 1190 "netconf_parser.cc" // lalr1.cc:919 +#line 1191 "netconf_parser.cc" break; case 107: -#line 498 "netconf_parser.yy" // lalr1.cc:919 +#line 498 "netconf_parser.yy" { ElementPtr model(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("model", model); ctx.leave(); } -#line 1200 "netconf_parser.cc" // lalr1.cc:919 +#line 1201 "netconf_parser.cc" break; case 108: -#line 505 "netconf_parser.yy" // lalr1.cc:919 +#line 505 "netconf_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("control-socket", m); ctx.stack_.push_back(m); ctx.enter(ctx.CONTROL_SOCKET); } -#line 1211 "netconf_parser.cc" // lalr1.cc:919 +#line 1212 "netconf_parser.cc" break; case 109: -#line 510 "netconf_parser.yy" // lalr1.cc:919 +#line 510 "netconf_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 1220 "netconf_parser.cc" // lalr1.cc:919 +#line 1221 "netconf_parser.cc" break; case 118: -#line 528 "netconf_parser.yy" // lalr1.cc:919 +#line 528 "netconf_parser.yy" { ctx.enter(ctx.SOCKET_TYPE); } -#line 1228 "netconf_parser.cc" // lalr1.cc:919 +#line 1229 "netconf_parser.cc" break; case 119: -#line 530 "netconf_parser.yy" // lalr1.cc:919 +#line 530 "netconf_parser.yy" { ctx.stack_.back()->set("socket-type", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 1237 "netconf_parser.cc" // lalr1.cc:919 +#line 1238 "netconf_parser.cc" break; case 120: -#line 536 "netconf_parser.yy" // lalr1.cc:919 +#line 536 "netconf_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("unix", ctx.loc2pos(yystack_[0].location))); } -#line 1243 "netconf_parser.cc" // lalr1.cc:919 +#line 1244 "netconf_parser.cc" break; case 121: -#line 537 "netconf_parser.yy" // lalr1.cc:919 +#line 537 "netconf_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("http", ctx.loc2pos(yystack_[0].location))); } -#line 1249 "netconf_parser.cc" // lalr1.cc:919 +#line 1250 "netconf_parser.cc" break; case 122: -#line 538 "netconf_parser.yy" // lalr1.cc:919 +#line 538 "netconf_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("stdout", ctx.loc2pos(yystack_[0].location))); } -#line 1255 "netconf_parser.cc" // lalr1.cc:919 +#line 1256 "netconf_parser.cc" break; case 123: -#line 541 "netconf_parser.yy" // lalr1.cc:919 +#line 541 "netconf_parser.yy" { ctx.enter(ctx.NO_KEYWORDS); } -#line 1263 "netconf_parser.cc" // lalr1.cc:919 +#line 1264 "netconf_parser.cc" break; case 124: -#line 543 "netconf_parser.yy" // lalr1.cc:919 +#line 543 "netconf_parser.yy" { ElementPtr name(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("socket-name", name); ctx.leave(); } -#line 1273 "netconf_parser.cc" // lalr1.cc:919 +#line 1274 "netconf_parser.cc" break; case 125: -#line 550 "netconf_parser.yy" // lalr1.cc:919 +#line 550 "netconf_parser.yy" { ctx.enter(ctx.NO_KEYWORDS); } -#line 1281 "netconf_parser.cc" // lalr1.cc:919 +#line 1282 "netconf_parser.cc" break; case 126: -#line 552 "netconf_parser.yy" // lalr1.cc:919 +#line 552 "netconf_parser.yy" { ElementPtr url(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("socket-url", url); ctx.leave(); } -#line 1291 "netconf_parser.cc" // lalr1.cc:919 +#line 1292 "netconf_parser.cc" break; case 127: -#line 565 "netconf_parser.yy" // lalr1.cc:919 +#line 565 "netconf_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("Logging", m); ctx.stack_.push_back(m); ctx.enter(ctx.LOGGING); } -#line 1302 "netconf_parser.cc" // lalr1.cc:919 +#line 1303 "netconf_parser.cc" break; case 128: -#line 570 "netconf_parser.yy" // lalr1.cc:919 +#line 570 "netconf_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 1311 "netconf_parser.cc" // lalr1.cc:919 +#line 1312 "netconf_parser.cc" break; case 132: -#line 587 "netconf_parser.yy" // lalr1.cc:919 +#line 587 "netconf_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("loggers", l); ctx.stack_.push_back(l); ctx.enter(ctx.LOGGERS); } -#line 1322 "netconf_parser.cc" // lalr1.cc:919 +#line 1323 "netconf_parser.cc" break; case 133: -#line 592 "netconf_parser.yy" // lalr1.cc:919 +#line 592 "netconf_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 1331 "netconf_parser.cc" // lalr1.cc:919 +#line 1332 "netconf_parser.cc" break; case 136: -#line 604 "netconf_parser.yy" // lalr1.cc:919 +#line 604 "netconf_parser.yy" { ElementPtr l(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(l); ctx.stack_.push_back(l); } -#line 1341 "netconf_parser.cc" // lalr1.cc:919 +#line 1342 "netconf_parser.cc" break; case 137: -#line 608 "netconf_parser.yy" // lalr1.cc:919 +#line 608 "netconf_parser.yy" { ctx.stack_.pop_back(); } -#line 1349 "netconf_parser.cc" // lalr1.cc:919 +#line 1350 "netconf_parser.cc" break; case 147: -#line 625 "netconf_parser.yy" // lalr1.cc:919 +#line 625 "netconf_parser.yy" { ctx.enter(ctx.NO_KEYWORDS); } -#line 1357 "netconf_parser.cc" // lalr1.cc:919 +#line 1358 "netconf_parser.cc" break; case 148: -#line 627 "netconf_parser.yy" // lalr1.cc:919 +#line 627 "netconf_parser.yy" { ElementPtr name(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("name", name); ctx.leave(); } -#line 1367 "netconf_parser.cc" // lalr1.cc:919 +#line 1368 "netconf_parser.cc" break; case 149: -#line 633 "netconf_parser.yy" // lalr1.cc:919 +#line 633 "netconf_parser.yy" { ElementPtr dl(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("debuglevel", dl); } -#line 1376 "netconf_parser.cc" // lalr1.cc:919 +#line 1377 "netconf_parser.cc" break; case 150: -#line 638 "netconf_parser.yy" // lalr1.cc:919 +#line 638 "netconf_parser.yy" { ctx.enter(ctx.NO_KEYWORDS); } -#line 1384 "netconf_parser.cc" // lalr1.cc:919 +#line 1385 "netconf_parser.cc" break; case 151: -#line 640 "netconf_parser.yy" // lalr1.cc:919 +#line 640 "netconf_parser.yy" { ElementPtr sev(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("severity", sev); ctx.leave(); } -#line 1394 "netconf_parser.cc" // lalr1.cc:919 +#line 1395 "netconf_parser.cc" break; case 152: -#line 646 "netconf_parser.yy" // lalr1.cc:919 +#line 646 "netconf_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("output_options", l); ctx.stack_.push_back(l); ctx.enter(ctx.OUTPUT_OPTIONS); } -#line 1405 "netconf_parser.cc" // lalr1.cc:919 +#line 1406 "netconf_parser.cc" break; case 153: -#line 651 "netconf_parser.yy" // lalr1.cc:919 +#line 651 "netconf_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 1414 "netconf_parser.cc" // lalr1.cc:919 +#line 1415 "netconf_parser.cc" break; case 156: -#line 660 "netconf_parser.yy" // lalr1.cc:919 +#line 660 "netconf_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 1424 "netconf_parser.cc" // lalr1.cc:919 +#line 1425 "netconf_parser.cc" break; case 157: -#line 664 "netconf_parser.yy" // lalr1.cc:919 +#line 664 "netconf_parser.yy" { ctx.stack_.pop_back(); } -#line 1432 "netconf_parser.cc" // lalr1.cc:919 +#line 1433 "netconf_parser.cc" break; case 164: -#line 678 "netconf_parser.yy" // lalr1.cc:919 +#line 678 "netconf_parser.yy" { ctx.enter(ctx.NO_KEYWORDS); } -#line 1440 "netconf_parser.cc" // lalr1.cc:919 +#line 1441 "netconf_parser.cc" break; case 165: -#line 680 "netconf_parser.yy" // lalr1.cc:919 +#line 680 "netconf_parser.yy" { ElementPtr sev(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("output", sev); ctx.leave(); } -#line 1450 "netconf_parser.cc" // lalr1.cc:919 +#line 1451 "netconf_parser.cc" break; case 166: -#line 686 "netconf_parser.yy" // lalr1.cc:919 +#line 686 "netconf_parser.yy" { ElementPtr flush(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("flush", flush); } -#line 1459 "netconf_parser.cc" // lalr1.cc:919 +#line 1460 "netconf_parser.cc" break; case 167: -#line 691 "netconf_parser.yy" // lalr1.cc:919 +#line 691 "netconf_parser.yy" { ElementPtr maxsize(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("maxsize", maxsize); } -#line 1468 "netconf_parser.cc" // lalr1.cc:919 +#line 1469 "netconf_parser.cc" break; case 168: -#line 696 "netconf_parser.yy" // lalr1.cc:919 +#line 696 "netconf_parser.yy" { ElementPtr maxver(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("maxver", maxver); } -#line 1477 "netconf_parser.cc" // lalr1.cc:919 +#line 1478 "netconf_parser.cc" break; -#line 1481 "netconf_parser.cc" // lalr1.cc:919 +#line 1482 "netconf_parser.cc" + default: break; } @@ -2083,10 +2085,11 @@ namespace isc { namespace netconf { #endif // NETCONF_DEBUG -#line 14 "netconf_parser.yy" // lalr1.cc:1242 +#line 14 "netconf_parser.yy" } } // isc::netconf -#line 2089 "netconf_parser.cc" // lalr1.cc:1242 -#line 701 "netconf_parser.yy" // lalr1.cc:1243 +#line 2091 "netconf_parser.cc" + +#line 701 "netconf_parser.yy" void diff --git a/src/bin/netconf/netconf_parser.h b/src/bin/netconf/netconf_parser.h index bea5b9bc8c..c9b03ee733 100644 --- a/src/bin/netconf/netconf_parser.h +++ b/src/bin/netconf/netconf_parser.h @@ -1,4 +1,4 @@ -// A Bison parser, made by GNU Bison 3.3.2. +// A Bison parser, made by GNU Bison 3.4.1. // Skeleton interface for Bison LALR(1) parsers in C++ @@ -44,7 +44,7 @@ #ifndef YY_NETCONF_NETCONF_PARSER_H_INCLUDED # define YY_NETCONF_NETCONF_PARSER_H_INCLUDED // // "%code requires" blocks. -#line 17 "netconf_parser.yy" // lalr1.cc:401 +#line 17 "netconf_parser.yy" #include #include @@ -55,7 +55,7 @@ using namespace isc::netconf; using namespace isc::data; using namespace std; -#line 59 "netconf_parser.h" // lalr1.cc:401 +#line 59 "netconf_parser.h" # include # include // std::abort @@ -177,9 +177,10 @@ using namespace std; # endif /* ! defined YYDEBUG */ #endif /* ! defined NETCONF_DEBUG */ -#line 14 "netconf_parser.yy" // lalr1.cc:401 +#line 14 "netconf_parser.yy" namespace isc { namespace netconf { -#line 183 "netconf_parser.h" // lalr1.cc:401 +#line 183 "netconf_parser.h" + @@ -2095,9 +2096,10 @@ switch (yytype) return token_type (yytoken_number_[type]); } -#line 14 "netconf_parser.yy" // lalr1.cc:401 +#line 14 "netconf_parser.yy" } } // isc::netconf -#line 2101 "netconf_parser.h" // lalr1.cc:401 +#line 2102 "netconf_parser.h" + diff --git a/src/bin/netconf/position.hh b/src/bin/netconf/position.hh index 22d46cc1c8..4640297fec 100644 --- a/src/bin/netconf/position.hh +++ b/src/bin/netconf/position.hh @@ -1,5 +1,5 @@ -// Generated 201905221355 -// A Bison parser, made by GNU Bison 3.3.2. +// Generated 201906181715 +// A Bison parser, made by GNU Bison 3.4.1. // Starting with Bison 3.2, this file is useless: the structure it // used to define is now defined in "location.hh". diff --git a/src/bin/netconf/stack.hh b/src/bin/netconf/stack.hh index 8a65cdd7b0..5bfd9a6442 100644 --- a/src/bin/netconf/stack.hh +++ b/src/bin/netconf/stack.hh @@ -1,5 +1,5 @@ -// Generated 201905221355 -// A Bison parser, made by GNU Bison 3.3.2. +// Generated 201906181715 +// A Bison parser, made by GNU Bison 3.4.1. // Starting with Bison 3.2, this file is useless: the structure it // used to define is now defined with the parser itself. diff --git a/src/lib/eval/location.hh b/src/lib/eval/location.hh index 3b0e01b93e..135200f062 100644 --- a/src/lib/eval/location.hh +++ b/src/lib/eval/location.hh @@ -1,5 +1,5 @@ -// Generated 201903111303 -// A Bison parser, made by GNU Bison 3.3.2. +// Generated 201906181714 +// A Bison parser, made by GNU Bison 3.4.1. // Locations for Bison parsers in C++ @@ -55,9 +55,10 @@ # endif # endif -#line 14 "parser.yy" // location.cc:339 +#line 14 "parser.yy" namespace isc { namespace eval { -#line 60 "location.hh" // location.cc:339 +#line 60 "location.hh" + /// A point in a source file. class position { @@ -317,7 +318,8 @@ namespace isc { namespace eval { return ostr; } -#line 14 "parser.yy" // location.cc:339 +#line 14 "parser.yy" } } // isc::eval -#line 322 "location.hh" // location.cc:339 +#line 323 "location.hh" + #endif // !YY_EVAL_LOCATION_HH_INCLUDED diff --git a/src/lib/eval/parser.cc b/src/lib/eval/parser.cc index 0ffd8852f8..ca0869e596 100644 --- a/src/lib/eval/parser.cc +++ b/src/lib/eval/parser.cc @@ -1,4 +1,4 @@ -// A Bison parser, made by GNU Bison 3.3.2. +// A Bison parser, made by GNU Bison 3.4.1. // Skeleton implementation for Bison LALR(1) parsers in C++ @@ -43,11 +43,11 @@ // Unqualified %code blocks. -#line 33 "parser.yy" // lalr1.cc:435 +#line 33 "parser.yy" # include "eval_context.h" -#line 51 "parser.cc" // lalr1.cc:435 +#line 51 "parser.cc" #ifndef YY_ @@ -140,9 +140,10 @@ #define YYERROR goto yyerrorlab #define YYRECOVERING() (!!yyerrstatus_) -#line 14 "parser.yy" // lalr1.cc:510 +#line 14 "parser.yy" namespace isc { namespace eval { -#line 146 "parser.cc" // lalr1.cc:510 +#line 146 "parser.cc" + /* Return YYSTR after stripping away unnecessary quotes and backslashes, so that it's suitable for yyerror. The heuristic is @@ -443,87 +444,87 @@ namespace isc { namespace eval { switch (yytype) { case 50: // "constant string" -#line 111 "parser.yy" // lalr1.cc:676 +#line 111 "parser.yy" { yyoutput << yysym.value.template as < std::string > (); } -#line 449 "parser.cc" // lalr1.cc:676 +#line 450 "parser.cc" break; case 51: // "integer" -#line 111 "parser.yy" // lalr1.cc:676 +#line 111 "parser.yy" { yyoutput << yysym.value.template as < std::string > (); } -#line 455 "parser.cc" // lalr1.cc:676 +#line 456 "parser.cc" break; case 52: // "constant hexstring" -#line 111 "parser.yy" // lalr1.cc:676 +#line 111 "parser.yy" { yyoutput << yysym.value.template as < std::string > (); } -#line 461 "parser.cc" // lalr1.cc:676 +#line 462 "parser.cc" break; case 53: // "option name" -#line 111 "parser.yy" // lalr1.cc:676 +#line 111 "parser.yy" { yyoutput << yysym.value.template as < std::string > (); } -#line 467 "parser.cc" // lalr1.cc:676 +#line 468 "parser.cc" break; case 54: // "ip address" -#line 111 "parser.yy" // lalr1.cc:676 +#line 111 "parser.yy" { yyoutput << yysym.value.template as < std::string > (); } -#line 473 "parser.cc" // lalr1.cc:676 +#line 474 "parser.cc" break; case 60: // integer_expr -#line 111 "parser.yy" // lalr1.cc:676 +#line 111 "parser.yy" { yyoutput << yysym.value.template as < uint32_t > (); } -#line 479 "parser.cc" // lalr1.cc:676 +#line 480 "parser.cc" break; case 61: // option_code -#line 111 "parser.yy" // lalr1.cc:676 +#line 111 "parser.yy" { yyoutput << yysym.value.template as < uint16_t > (); } -#line 485 "parser.cc" // lalr1.cc:676 +#line 486 "parser.cc" break; case 62: // option_repr_type -#line 111 "parser.yy" // lalr1.cc:676 +#line 111 "parser.yy" { yyoutput << yysym.value.template as < TokenOption::RepresentationType > (); } -#line 491 "parser.cc" // lalr1.cc:676 +#line 492 "parser.cc" break; case 63: // nest_level -#line 111 "parser.yy" // lalr1.cc:676 +#line 111 "parser.yy" { yyoutput << yysym.value.template as < int8_t > (); } -#line 497 "parser.cc" // lalr1.cc:676 +#line 498 "parser.cc" break; case 64: // pkt_metadata -#line 111 "parser.yy" // lalr1.cc:676 +#line 111 "parser.yy" { yyoutput << yysym.value.template as < TokenPkt::MetadataType > (); } -#line 503 "parser.cc" // lalr1.cc:676 +#line 504 "parser.cc" break; case 65: // enterprise_id -#line 111 "parser.yy" // lalr1.cc:676 +#line 111 "parser.yy" { yyoutput << yysym.value.template as < uint32_t > (); } -#line 509 "parser.cc" // lalr1.cc:676 +#line 510 "parser.cc" break; case 66: // pkt4_field -#line 111 "parser.yy" // lalr1.cc:676 +#line 111 "parser.yy" { yyoutput << yysym.value.template as < TokenPkt4::FieldType > (); } -#line 515 "parser.cc" // lalr1.cc:676 +#line 516 "parser.cc" break; case 67: // pkt6_field -#line 111 "parser.yy" // lalr1.cc:676 +#line 111 "parser.yy" { yyoutput << yysym.value.template as < TokenPkt6::FieldType > (); } -#line 521 "parser.cc" // lalr1.cc:676 +#line 522 "parser.cc" break; case 68: // relay6_field -#line 111 "parser.yy" // lalr1.cc:676 +#line 111 "parser.yy" { yyoutput << yysym.value.template as < TokenRelay6Field::FieldType > (); } -#line 527 "parser.cc" // lalr1.cc:676 +#line 528 "parser.cc" break; default: @@ -802,52 +803,52 @@ namespace isc { namespace eval { switch (yyn) { case 6: -#line 131 "parser.yy" // lalr1.cc:919 +#line 131 "parser.yy" { TokenPtr neg(new TokenNot()); ctx.expression.push_back(neg); } -#line 811 "parser.cc" // lalr1.cc:919 +#line 812 "parser.cc" break; case 7: -#line 136 "parser.yy" // lalr1.cc:919 +#line 136 "parser.yy" { TokenPtr neg(new TokenAnd()); ctx.expression.push_back(neg); } -#line 820 "parser.cc" // lalr1.cc:919 +#line 821 "parser.cc" break; case 8: -#line 141 "parser.yy" // lalr1.cc:919 +#line 141 "parser.yy" { TokenPtr neg(new TokenOr()); ctx.expression.push_back(neg); } -#line 829 "parser.cc" // lalr1.cc:919 +#line 830 "parser.cc" break; case 9: -#line 146 "parser.yy" // lalr1.cc:919 +#line 146 "parser.yy" { TokenPtr eq(new TokenEqual()); ctx.expression.push_back(eq); } -#line 838 "parser.cc" // lalr1.cc:919 +#line 839 "parser.cc" break; case 10: -#line 151 "parser.yy" // lalr1.cc:919 +#line 151 "parser.yy" { TokenPtr opt(new TokenOption(yystack_[3].value.as < uint16_t > (), TokenOption::EXISTS)); ctx.expression.push_back(opt); } -#line 847 "parser.cc" // lalr1.cc:919 +#line 848 "parser.cc" break; case 11: -#line 156 "parser.yy" // lalr1.cc:919 +#line 156 "parser.yy" { switch (ctx.getUniverse()) { case Option::V4: @@ -867,11 +868,11 @@ namespace isc { namespace eval { error(yystack_[5].location, "relay4 can only be used in DHCPv4."); } } -#line 871 "parser.cc" // lalr1.cc:919 +#line 872 "parser.cc" break; case 12: -#line 176 "parser.yy" // lalr1.cc:919 +#line 176 "parser.yy" { switch (ctx.getUniverse()) { case Option::V6: @@ -885,11 +886,11 @@ namespace isc { namespace eval { error(yystack_[10].location, "relay6 can only be used in DHCPv6."); } } -#line 889 "parser.cc" // lalr1.cc:919 +#line 890 "parser.cc" break; case 13: -#line 190 "parser.yy" // lalr1.cc:919 +#line 190 "parser.yy" { // Expression: vendor-class[1234].exists // @@ -898,11 +899,11 @@ namespace isc { namespace eval { TokenPtr exist(new TokenVendorClass(ctx.getUniverse(), yystack_[3].value.as < uint32_t > (), TokenOption::EXISTS)); ctx.expression.push_back(exist); } -#line 902 "parser.cc" // lalr1.cc:919 +#line 903 "parser.cc" break; case 14: -#line 199 "parser.yy" // lalr1.cc:919 +#line 199 "parser.yy" { // Expression: vendor[1234].exists // @@ -911,11 +912,11 @@ namespace isc { namespace eval { TokenPtr exist(new TokenVendor(ctx.getUniverse(), yystack_[3].value.as < uint32_t > (), TokenOption::EXISTS)); ctx.expression.push_back(exist); } -#line 915 "parser.cc" // lalr1.cc:919 +#line 916 "parser.cc" break; case 15: -#line 208 "parser.yy" // lalr1.cc:919 +#line 208 "parser.yy" { // Expression vendor[1234].option[123].exists // @@ -925,11 +926,11 @@ namespace isc { namespace eval { TokenPtr exist(new TokenVendor(ctx.getUniverse(), yystack_[8].value.as < uint32_t > (), TokenOption::EXISTS, yystack_[3].value.as < uint16_t > ())); ctx.expression.push_back(exist); } -#line 929 "parser.cc" // lalr1.cc:919 +#line 930 "parser.cc" break; case 16: -#line 218 "parser.yy" // lalr1.cc:919 +#line 218 "parser.yy" { // Expression member('foo') // @@ -944,47 +945,47 @@ namespace isc { namespace eval { TokenPtr member(new TokenMember(cc)); ctx.expression.push_back(member); } -#line 948 "parser.cc" // lalr1.cc:919 +#line 949 "parser.cc" break; case 17: -#line 235 "parser.yy" // lalr1.cc:919 +#line 235 "parser.yy" { TokenPtr str(new TokenString(yystack_[0].value.as < std::string > ())); ctx.expression.push_back(str); } -#line 957 "parser.cc" // lalr1.cc:919 +#line 958 "parser.cc" break; case 18: -#line 240 "parser.yy" // lalr1.cc:919 +#line 240 "parser.yy" { TokenPtr hex(new TokenHexString(yystack_[0].value.as < std::string > ())); ctx.expression.push_back(hex); } -#line 966 "parser.cc" // lalr1.cc:919 +#line 967 "parser.cc" break; case 19: -#line 245 "parser.yy" // lalr1.cc:919 +#line 245 "parser.yy" { TokenPtr ip(new TokenIpAddress(yystack_[0].value.as < std::string > ())); ctx.expression.push_back(ip); } -#line 975 "parser.cc" // lalr1.cc:919 +#line 976 "parser.cc" break; case 20: -#line 250 "parser.yy" // lalr1.cc:919 +#line 250 "parser.yy" { TokenPtr opt(new TokenOption(yystack_[3].value.as < uint16_t > (), yystack_[0].value.as < TokenOption::RepresentationType > ())); ctx.expression.push_back(opt); } -#line 984 "parser.cc" // lalr1.cc:919 +#line 985 "parser.cc" break; case 21: -#line 255 "parser.yy" // lalr1.cc:919 +#line 255 "parser.yy" { switch (ctx.getUniverse()) { case Option::V4: @@ -1004,11 +1005,11 @@ namespace isc { namespace eval { error(yystack_[5].location, "relay4 can only be used in DHCPv4."); } } -#line 1008 "parser.cc" // lalr1.cc:919 +#line 1009 "parser.cc" break; case 22: -#line 276 "parser.yy" // lalr1.cc:919 +#line 276 "parser.yy" { switch (ctx.getUniverse()) { case Option::V6: @@ -1022,20 +1023,20 @@ namespace isc { namespace eval { error(yystack_[10].location, "relay6 can only be used in DHCPv6."); } } -#line 1026 "parser.cc" // lalr1.cc:919 +#line 1027 "parser.cc" break; case 23: -#line 291 "parser.yy" // lalr1.cc:919 +#line 291 "parser.yy" { TokenPtr pkt_metadata(new TokenPkt(yystack_[0].value.as < TokenPkt::MetadataType > ())); ctx.expression.push_back(pkt_metadata); } -#line 1035 "parser.cc" // lalr1.cc:919 +#line 1036 "parser.cc" break; case 24: -#line 296 "parser.yy" // lalr1.cc:919 +#line 296 "parser.yy" { switch (ctx.getUniverse()) { case Option::V4: @@ -1049,11 +1050,11 @@ namespace isc { namespace eval { error(yystack_[2].location, "pkt4 can only be used in DHCPv4."); } } -#line 1053 "parser.cc" // lalr1.cc:919 +#line 1054 "parser.cc" break; case 25: -#line 310 "parser.yy" // lalr1.cc:919 +#line 310 "parser.yy" { switch (ctx.getUniverse()) { case Option::V6: @@ -1067,11 +1068,11 @@ namespace isc { namespace eval { error(yystack_[2].location, "pkt6 can only be used in DHCPv6."); } } -#line 1071 "parser.cc" // lalr1.cc:919 +#line 1072 "parser.cc" break; case 26: -#line 324 "parser.yy" // lalr1.cc:919 +#line 324 "parser.yy" { switch (ctx.getUniverse()) { case Option::V6: @@ -1085,47 +1086,47 @@ namespace isc { namespace eval { error(yystack_[5].location, "relay6 can only be used in DHCPv6."); } } -#line 1089 "parser.cc" // lalr1.cc:919 +#line 1090 "parser.cc" break; case 27: -#line 339 "parser.yy" // lalr1.cc:919 +#line 339 "parser.yy" { TokenPtr sub(new TokenSubstring()); ctx.expression.push_back(sub); } -#line 1098 "parser.cc" // lalr1.cc:919 +#line 1099 "parser.cc" break; case 28: -#line 344 "parser.yy" // lalr1.cc:919 +#line 344 "parser.yy" { TokenPtr conc(new TokenConcat()); ctx.expression.push_back(conc); } -#line 1107 "parser.cc" // lalr1.cc:919 +#line 1108 "parser.cc" break; case 29: -#line 349 "parser.yy" // lalr1.cc:919 +#line 349 "parser.yy" { TokenPtr cond(new TokenIfElse()); ctx.expression.push_back(cond); } -#line 1116 "parser.cc" // lalr1.cc:919 +#line 1117 "parser.cc" break; case 30: -#line 354 "parser.yy" // lalr1.cc:919 +#line 354 "parser.yy" { TokenPtr tohex(new TokenToHexString()); ctx.expression.push_back(tohex); } -#line 1125 "parser.cc" // lalr1.cc:919 +#line 1126 "parser.cc" break; case 31: -#line 359 "parser.yy" // lalr1.cc:919 +#line 359 "parser.yy" { // expression: vendor.enterprise // @@ -1134,11 +1135,11 @@ namespace isc { namespace eval { TokenPtr vendor(new TokenVendor(ctx.getUniverse(), 0, TokenVendor::ENTERPRISE_ID)); ctx.expression.push_back(vendor); } -#line 1138 "parser.cc" // lalr1.cc:919 +#line 1139 "parser.cc" break; case 32: -#line 368 "parser.yy" // lalr1.cc:919 +#line 368 "parser.yy" { // expression: vendor-class.enterprise // @@ -1148,11 +1149,11 @@ namespace isc { namespace eval { TokenVendor::ENTERPRISE_ID)); ctx.expression.push_back(vendor); } -#line 1152 "parser.cc" // lalr1.cc:919 +#line 1153 "parser.cc" break; case 33: -#line 378 "parser.yy" // lalr1.cc:919 +#line 378 "parser.yy" { // This token will search for vendor option with // specified enterprise-id. If found, will search @@ -1161,11 +1162,11 @@ namespace isc { namespace eval { TokenPtr opt(new TokenVendor(ctx.getUniverse(), yystack_[8].value.as < uint32_t > (), yystack_[0].value.as < TokenOption::RepresentationType > (), yystack_[3].value.as < uint16_t > ())); ctx.expression.push_back(opt); } -#line 1165 "parser.cc" // lalr1.cc:919 +#line 1166 "parser.cc" break; case 34: -#line 387 "parser.yy" // lalr1.cc:919 +#line 387 "parser.yy" { // expression: vendor-class[1234].data // @@ -1178,11 +1179,11 @@ namespace isc { namespace eval { TokenVendor::DATA, 0)); ctx.expression.push_back(vendor_class); } -#line 1182 "parser.cc" // lalr1.cc:919 +#line 1183 "parser.cc" break; case 35: -#line 400 "parser.yy" // lalr1.cc:919 +#line 400 "parser.yy" { // expression: vendor-class[1234].data[5] // @@ -1195,247 +1196,248 @@ namespace isc { namespace eval { TokenVendor::DATA, index)); ctx.expression.push_back(vendor_class); } -#line 1199 "parser.cc" // lalr1.cc:919 +#line 1200 "parser.cc" break; case 36: -#line 413 "parser.yy" // lalr1.cc:919 +#line 413 "parser.yy" { TokenPtr integer(new TokenInteger(yystack_[0].value.as < uint32_t > ())); ctx.expression.push_back(integer); } -#line 1208 "parser.cc" // lalr1.cc:919 +#line 1209 "parser.cc" break; case 37: -#line 420 "parser.yy" // lalr1.cc:919 +#line 420 "parser.yy" { yylhs.value.as < uint32_t > () = ctx.convertUint32(yystack_[0].value.as < std::string > (), yystack_[0].location); } -#line 1216 "parser.cc" // lalr1.cc:919 +#line 1217 "parser.cc" break; case 38: -#line 426 "parser.yy" // lalr1.cc:919 +#line 426 "parser.yy" { yylhs.value.as < uint16_t > () = ctx.convertOptionCode(yystack_[0].value.as < std::string > (), yystack_[0].location); } -#line 1224 "parser.cc" // lalr1.cc:919 +#line 1225 "parser.cc" break; case 39: -#line 430 "parser.yy" // lalr1.cc:919 +#line 430 "parser.yy" { yylhs.value.as < uint16_t > () = ctx.convertOptionName(yystack_[0].value.as < std::string > (), yystack_[0].location); } -#line 1232 "parser.cc" // lalr1.cc:919 +#line 1233 "parser.cc" break; case 40: -#line 436 "parser.yy" // lalr1.cc:919 +#line 436 "parser.yy" { yylhs.value.as < TokenOption::RepresentationType > () = TokenOption::TEXTUAL; } -#line 1240 "parser.cc" // lalr1.cc:919 +#line 1241 "parser.cc" break; case 41: -#line 440 "parser.yy" // lalr1.cc:919 +#line 440 "parser.yy" { yylhs.value.as < TokenOption::RepresentationType > () = TokenOption::HEXADECIMAL; } -#line 1248 "parser.cc" // lalr1.cc:919 +#line 1249 "parser.cc" break; case 42: -#line 446 "parser.yy" // lalr1.cc:919 +#line 446 "parser.yy" { yylhs.value.as < int8_t > () = ctx.convertNestLevelNumber(yystack_[0].value.as < std::string > (), yystack_[0].location); } -#line 1256 "parser.cc" // lalr1.cc:919 +#line 1257 "parser.cc" break; case 43: -#line 455 "parser.yy" // lalr1.cc:919 +#line 455 "parser.yy" { yylhs.value.as < TokenPkt::MetadataType > () = TokenPkt::IFACE; } -#line 1264 "parser.cc" // lalr1.cc:919 +#line 1265 "parser.cc" break; case 44: -#line 459 "parser.yy" // lalr1.cc:919 +#line 459 "parser.yy" { yylhs.value.as < TokenPkt::MetadataType > () = TokenPkt::SRC; } -#line 1272 "parser.cc" // lalr1.cc:919 +#line 1273 "parser.cc" break; case 45: -#line 463 "parser.yy" // lalr1.cc:919 +#line 463 "parser.yy" { yylhs.value.as < TokenPkt::MetadataType > () = TokenPkt::DST; } -#line 1280 "parser.cc" // lalr1.cc:919 +#line 1281 "parser.cc" break; case 46: -#line 467 "parser.yy" // lalr1.cc:919 +#line 467 "parser.yy" { yylhs.value.as < TokenPkt::MetadataType > () = TokenPkt::LEN; } -#line 1288 "parser.cc" // lalr1.cc:919 +#line 1289 "parser.cc" break; case 47: -#line 473 "parser.yy" // lalr1.cc:919 +#line 473 "parser.yy" { yylhs.value.as < uint32_t > () = ctx.convertUint32(yystack_[0].value.as < std::string > (), yystack_[0].location); } -#line 1296 "parser.cc" // lalr1.cc:919 +#line 1297 "parser.cc" break; case 48: -#line 477 "parser.yy" // lalr1.cc:919 +#line 477 "parser.yy" { yylhs.value.as < uint32_t > () = 0; } -#line 1304 "parser.cc" // lalr1.cc:919 +#line 1305 "parser.cc" break; case 49: -#line 483 "parser.yy" // lalr1.cc:919 +#line 483 "parser.yy" { yylhs.value.as < TokenPkt4::FieldType > () = TokenPkt4::CHADDR; } -#line 1312 "parser.cc" // lalr1.cc:919 +#line 1313 "parser.cc" break; case 50: -#line 487 "parser.yy" // lalr1.cc:919 +#line 487 "parser.yy" { yylhs.value.as < TokenPkt4::FieldType > () = TokenPkt4::HLEN; } -#line 1320 "parser.cc" // lalr1.cc:919 +#line 1321 "parser.cc" break; case 51: -#line 491 "parser.yy" // lalr1.cc:919 +#line 491 "parser.yy" { yylhs.value.as < TokenPkt4::FieldType > () = TokenPkt4::HTYPE; } -#line 1328 "parser.cc" // lalr1.cc:919 +#line 1329 "parser.cc" break; case 52: -#line 495 "parser.yy" // lalr1.cc:919 +#line 495 "parser.yy" { yylhs.value.as < TokenPkt4::FieldType > () = TokenPkt4::CIADDR; } -#line 1336 "parser.cc" // lalr1.cc:919 +#line 1337 "parser.cc" break; case 53: -#line 499 "parser.yy" // lalr1.cc:919 +#line 499 "parser.yy" { yylhs.value.as < TokenPkt4::FieldType > () = TokenPkt4::GIADDR; } -#line 1344 "parser.cc" // lalr1.cc:919 +#line 1345 "parser.cc" break; case 54: -#line 503 "parser.yy" // lalr1.cc:919 +#line 503 "parser.yy" { yylhs.value.as < TokenPkt4::FieldType > () = TokenPkt4::YIADDR; } -#line 1352 "parser.cc" // lalr1.cc:919 +#line 1353 "parser.cc" break; case 55: -#line 507 "parser.yy" // lalr1.cc:919 +#line 507 "parser.yy" { yylhs.value.as < TokenPkt4::FieldType > () = TokenPkt4::SIADDR; } -#line 1360 "parser.cc" // lalr1.cc:919 +#line 1361 "parser.cc" break; case 56: -#line 511 "parser.yy" // lalr1.cc:919 +#line 511 "parser.yy" { yylhs.value.as < TokenPkt4::FieldType > () = TokenPkt4::MSGTYPE; } -#line 1368 "parser.cc" // lalr1.cc:919 +#line 1369 "parser.cc" break; case 57: -#line 515 "parser.yy" // lalr1.cc:919 +#line 515 "parser.yy" { yylhs.value.as < TokenPkt4::FieldType > () = TokenPkt4::TRANSID; } -#line 1376 "parser.cc" // lalr1.cc:919 +#line 1377 "parser.cc" break; case 58: -#line 521 "parser.yy" // lalr1.cc:919 +#line 521 "parser.yy" { yylhs.value.as < TokenPkt6::FieldType > () = TokenPkt6::MSGTYPE; } -#line 1384 "parser.cc" // lalr1.cc:919 +#line 1385 "parser.cc" break; case 59: -#line 525 "parser.yy" // lalr1.cc:919 +#line 525 "parser.yy" { yylhs.value.as < TokenPkt6::FieldType > () = TokenPkt6::TRANSID; } -#line 1392 "parser.cc" // lalr1.cc:919 +#line 1393 "parser.cc" break; case 60: -#line 531 "parser.yy" // lalr1.cc:919 +#line 531 "parser.yy" { yylhs.value.as < TokenRelay6Field::FieldType > () = TokenRelay6Field::PEERADDR; } -#line 1400 "parser.cc" // lalr1.cc:919 +#line 1401 "parser.cc" break; case 61: -#line 535 "parser.yy" // lalr1.cc:919 +#line 535 "parser.yy" { yylhs.value.as < TokenRelay6Field::FieldType > () = TokenRelay6Field::LINKADDR; } -#line 1408 "parser.cc" // lalr1.cc:919 +#line 1409 "parser.cc" break; case 62: -#line 541 "parser.yy" // lalr1.cc:919 +#line 541 "parser.yy" { TokenPtr str(new TokenString(yystack_[0].value.as < std::string > ())); ctx.expression.push_back(str); } -#line 1417 "parser.cc" // lalr1.cc:919 +#line 1418 "parser.cc" break; case 63: -#line 548 "parser.yy" // lalr1.cc:919 +#line 548 "parser.yy" { TokenPtr str(new TokenString(yystack_[0].value.as < std::string > ())); ctx.expression.push_back(str); } -#line 1426 "parser.cc" // lalr1.cc:919 +#line 1427 "parser.cc" break; case 64: -#line 553 "parser.yy" // lalr1.cc:919 +#line 553 "parser.yy" { TokenPtr str(new TokenString("all")); ctx.expression.push_back(str); } -#line 1435 "parser.cc" // lalr1.cc:919 +#line 1436 "parser.cc" break; -#line 1439 "parser.cc" // lalr1.cc:919 +#line 1440 "parser.cc" + default: break; } @@ -1936,10 +1938,11 @@ namespace isc { namespace eval { #endif // EVALDEBUG -#line 14 "parser.yy" // lalr1.cc:1242 +#line 14 "parser.yy" } } // isc::eval -#line 1942 "parser.cc" // lalr1.cc:1242 -#line 559 "parser.yy" // lalr1.cc:1243 +#line 1944 "parser.cc" + +#line 559 "parser.yy" void isc::eval::EvalParser::error(const location_type& loc, diff --git a/src/lib/eval/parser.h b/src/lib/eval/parser.h index 4c8e540391..c789ce4685 100644 --- a/src/lib/eval/parser.h +++ b/src/lib/eval/parser.h @@ -1,4 +1,4 @@ -// A Bison parser, made by GNU Bison 3.3.2. +// A Bison parser, made by GNU Bison 3.4.1. // Skeleton interface for Bison LALR(1) parsers in C++ @@ -44,7 +44,7 @@ #ifndef YY_EVAL_PARSER_H_INCLUDED # define YY_EVAL_PARSER_H_INCLUDED // // "%code requires" blocks. -#line 17 "parser.yy" // lalr1.cc:401 +#line 17 "parser.yy" #include #include @@ -55,7 +55,7 @@ using namespace isc::dhcp; using namespace isc::eval; -#line 59 "parser.h" // lalr1.cc:401 +#line 59 "parser.h" # include # include // std::abort @@ -177,9 +177,10 @@ using namespace isc::eval; # endif /* ! defined YYDEBUG */ #endif /* ! defined EVALDEBUG */ -#line 14 "parser.yy" // lalr1.cc:401 +#line 14 "parser.yy" namespace isc { namespace eval { -#line 183 "parser.h" // lalr1.cc:401 +#line 183 "parser.h" + @@ -2296,9 +2297,10 @@ switch (yytype) return token_type (yytoken_number_[type]); } -#line 14 "parser.yy" // lalr1.cc:401 +#line 14 "parser.yy" } } // isc::eval -#line 2302 "parser.h" // lalr1.cc:401 +#line 2303 "parser.h" + diff --git a/src/lib/eval/position.hh b/src/lib/eval/position.hh index 0d3fd68cd0..160393c15e 100644 --- a/src/lib/eval/position.hh +++ b/src/lib/eval/position.hh @@ -1,5 +1,5 @@ -// Generated 201903111303 -// A Bison parser, made by GNU Bison 3.3.2. +// Generated 201906181714 +// A Bison parser, made by GNU Bison 3.4.1. // Starting with Bison 3.2, this file is useless: the structure it // used to define is now defined in "location.hh". diff --git a/src/lib/eval/stack.hh b/src/lib/eval/stack.hh index 592977c75a..958da53ee1 100644 --- a/src/lib/eval/stack.hh +++ b/src/lib/eval/stack.hh @@ -1,5 +1,5 @@ -// Generated 201903111303 -// A Bison parser, made by GNU Bison 3.3.2. +// Generated 201906181714 +// A Bison parser, made by GNU Bison 3.4.1. // Starting with Bison 3.2, this file is useless: the structure it // used to define is now defined with the parser itself.