From fb402f7569c9649083401e51cd4a240be9ad7e7d Mon Sep 17 00:00:00 2001 From: Tomek Date: Sat, 25 Mar 2017 00:39:31 -0500 Subject: [5132] several parser files regenerated --- src/lib/eval/parser.cc | 585 +++++++++++++++++++++++++------------------------ 1 file changed, 296 insertions(+), 289 deletions(-) (limited to 'src/lib/eval/parser.cc') diff --git a/src/lib/eval/parser.cc b/src/lib/eval/parser.cc index 2891cb0b4e..489bb57182 100644 --- a/src/lib/eval/parser.cc +++ b/src/lib/eval/parser.cc @@ -253,44 +253,44 @@ namespace isc { namespace eval { { switch (that.type_get ()) { - case 56: // option_repr_type + case 60: // option_repr_type value.move< TokenOption::RepresentationType > (that.value); break; - case 60: // pkt4_field + case 64: // pkt4_field value.move< TokenPkt4::FieldType > (that.value); break; - case 61: // pkt6_field + case 65: // pkt6_field value.move< TokenPkt6::FieldType > (that.value); break; - case 58: // pkt_metadata + case 62: // pkt_metadata value.move< TokenPkt::MetadataType > (that.value); break; - case 62: // relay6_field + case 66: // relay6_field value.move< TokenRelay6Field::FieldType > (that.value); break; - case 45: // "constant string" - case 46: // "integer" - case 47: // "constant hexstring" - case 48: // "option name" - case 49: // "ip address" + case 47: // "constant string" + case 48: // "integer" + case 49: // "constant hexstring" + case 50: // "option name" + case 51: // "ip address" value.move< std::string > (that.value); break; - case 55: // option_code + case 59: // option_code value.move< uint16_t > (that.value); break; - case 54: // integer_expr - case 59: // enterprise_id + case 58: // integer_expr + case 63: // enterprise_id value.move< uint32_t > (that.value); break; - case 57: // nest_level + case 61: // nest_level value.move< uint8_t > (that.value); break; @@ -309,44 +309,44 @@ namespace isc { namespace eval { state = that.state; switch (that.type_get ()) { - case 56: // option_repr_type + case 60: // option_repr_type value.copy< TokenOption::RepresentationType > (that.value); break; - case 60: // pkt4_field + case 64: // pkt4_field value.copy< TokenPkt4::FieldType > (that.value); break; - case 61: // pkt6_field + case 65: // pkt6_field value.copy< TokenPkt6::FieldType > (that.value); break; - case 58: // pkt_metadata + case 62: // pkt_metadata value.copy< TokenPkt::MetadataType > (that.value); break; - case 62: // relay6_field + case 66: // relay6_field value.copy< TokenRelay6Field::FieldType > (that.value); break; - case 45: // "constant string" - case 46: // "integer" - case 47: // "constant hexstring" - case 48: // "option name" - case 49: // "ip address" + case 47: // "constant string" + case 48: // "integer" + case 49: // "constant hexstring" + case 50: // "option name" + case 51: // "ip address" value.copy< std::string > (that.value); break; - case 55: // option_code + case 59: // option_code value.copy< uint16_t > (that.value); break; - case 54: // integer_expr - case 59: // enterprise_id + case 58: // integer_expr + case 63: // enterprise_id value.copy< uint32_t > (that.value); break; - case 57: // nest_level + case 61: // nest_level value.copy< uint8_t > (that.value); break; @@ -386,100 +386,100 @@ namespace isc { namespace eval { << yysym.location << ": "; switch (yytype) { - case 45: // "constant string" + case 47: // "constant string" -#line 105 "parser.yy" // lalr1.cc:636 +#line 108 "parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< std::string > (); } #line 394 "parser.cc" // lalr1.cc:636 break; - case 46: // "integer" + case 48: // "integer" -#line 105 "parser.yy" // lalr1.cc:636 +#line 108 "parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< std::string > (); } #line 401 "parser.cc" // lalr1.cc:636 break; - case 47: // "constant hexstring" + case 49: // "constant hexstring" -#line 105 "parser.yy" // lalr1.cc:636 +#line 108 "parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< std::string > (); } #line 408 "parser.cc" // lalr1.cc:636 break; - case 48: // "option name" + case 50: // "option name" -#line 105 "parser.yy" // lalr1.cc:636 +#line 108 "parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< std::string > (); } #line 415 "parser.cc" // lalr1.cc:636 break; - case 49: // "ip address" + case 51: // "ip address" -#line 105 "parser.yy" // lalr1.cc:636 +#line 108 "parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< std::string > (); } #line 422 "parser.cc" // lalr1.cc:636 break; - case 54: // integer_expr + case 58: // integer_expr -#line 105 "parser.yy" // lalr1.cc:636 +#line 108 "parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< uint32_t > (); } #line 429 "parser.cc" // lalr1.cc:636 break; - case 55: // option_code + case 59: // option_code -#line 105 "parser.yy" // lalr1.cc:636 +#line 108 "parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< uint16_t > (); } #line 436 "parser.cc" // lalr1.cc:636 break; - case 56: // option_repr_type + case 60: // option_repr_type -#line 105 "parser.yy" // lalr1.cc:636 +#line 108 "parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< TokenOption::RepresentationType > (); } #line 443 "parser.cc" // lalr1.cc:636 break; - case 57: // nest_level + case 61: // nest_level -#line 105 "parser.yy" // lalr1.cc:636 +#line 108 "parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< uint8_t > (); } #line 450 "parser.cc" // lalr1.cc:636 break; - case 58: // pkt_metadata + case 62: // pkt_metadata -#line 105 "parser.yy" // lalr1.cc:636 +#line 108 "parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< TokenPkt::MetadataType > (); } #line 457 "parser.cc" // lalr1.cc:636 break; - case 59: // enterprise_id + case 63: // enterprise_id -#line 105 "parser.yy" // lalr1.cc:636 +#line 108 "parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< uint32_t > (); } #line 464 "parser.cc" // lalr1.cc:636 break; - case 60: // pkt4_field + case 64: // pkt4_field -#line 105 "parser.yy" // lalr1.cc:636 +#line 108 "parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< TokenPkt4::FieldType > (); } #line 471 "parser.cc" // lalr1.cc:636 break; - case 61: // pkt6_field + case 65: // pkt6_field -#line 105 "parser.yy" // lalr1.cc:636 +#line 108 "parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< TokenPkt6::FieldType > (); } #line 478 "parser.cc" // lalr1.cc:636 break; - case 62: // relay6_field + case 66: // relay6_field -#line 105 "parser.yy" // lalr1.cc:636 +#line 108 "parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< TokenRelay6Field::FieldType > (); } #line 485 "parser.cc" // lalr1.cc:636 break; @@ -681,44 +681,44 @@ namespace isc { namespace eval { when using variants. */ switch (yyr1_[yyn]) { - case 56: // option_repr_type + case 60: // option_repr_type yylhs.value.build< TokenOption::RepresentationType > (); break; - case 60: // pkt4_field + case 64: // pkt4_field yylhs.value.build< TokenPkt4::FieldType > (); break; - case 61: // pkt6_field + case 65: // pkt6_field yylhs.value.build< TokenPkt6::FieldType > (); break; - case 58: // pkt_metadata + case 62: // pkt_metadata yylhs.value.build< TokenPkt::MetadataType > (); break; - case 62: // relay6_field + case 66: // relay6_field yylhs.value.build< TokenRelay6Field::FieldType > (); break; - case 45: // "constant string" - case 46: // "integer" - case 47: // "constant hexstring" - case 48: // "option name" - case 49: // "ip address" + case 47: // "constant string" + case 48: // "integer" + case 49: // "constant hexstring" + case 50: // "option name" + case 51: // "ip address" yylhs.value.build< std::string > (); break; - case 55: // option_code + case 59: // option_code yylhs.value.build< uint16_t > (); break; - case 54: // integer_expr - case 59: // enterprise_id + case 58: // integer_expr + case 63: // enterprise_id yylhs.value.build< uint32_t > (); break; - case 57: // nest_level + case 61: // nest_level yylhs.value.build< uint8_t > (); break; @@ -739,8 +739,8 @@ namespace isc { namespace eval { { switch (yyn) { - case 4: -#line 119 "parser.yy" // lalr1.cc:859 + case 8: +#line 134 "parser.yy" // lalr1.cc:859 { TokenPtr neg(new TokenNot()); ctx.expression.push_back(neg); @@ -748,8 +748,8 @@ namespace isc { namespace eval { #line 749 "parser.cc" // lalr1.cc:859 break; - case 5: -#line 124 "parser.yy" // lalr1.cc:859 + case 9: +#line 139 "parser.yy" // lalr1.cc:859 { TokenPtr neg(new TokenAnd()); ctx.expression.push_back(neg); @@ -757,8 +757,8 @@ namespace isc { namespace eval { #line 758 "parser.cc" // lalr1.cc:859 break; - case 6: -#line 129 "parser.yy" // lalr1.cc:859 + case 10: +#line 144 "parser.yy" // lalr1.cc:859 { TokenPtr neg(new TokenOr()); ctx.expression.push_back(neg); @@ -766,8 +766,8 @@ namespace isc { namespace eval { #line 767 "parser.cc" // lalr1.cc:859 break; - case 7: -#line 134 "parser.yy" // lalr1.cc:859 + case 11: +#line 149 "parser.yy" // lalr1.cc:859 { TokenPtr eq(new TokenEqual()); ctx.expression.push_back(eq); @@ -775,8 +775,8 @@ namespace isc { namespace eval { #line 776 "parser.cc" // lalr1.cc:859 break; - case 8: -#line 139 "parser.yy" // lalr1.cc:859 + case 12: +#line 154 "parser.yy" // lalr1.cc:859 { TokenPtr opt(new TokenOption(yystack_[3].value.as< uint16_t > (), TokenOption::EXISTS)); ctx.expression.push_back(opt); @@ -784,8 +784,8 @@ namespace isc { namespace eval { #line 785 "parser.cc" // lalr1.cc:859 break; - case 9: -#line 144 "parser.yy" // lalr1.cc:859 + case 13: +#line 159 "parser.yy" // lalr1.cc:859 { switch (ctx.getUniverse()) { case Option::V4: @@ -808,8 +808,8 @@ namespace isc { namespace eval { #line 809 "parser.cc" // lalr1.cc:859 break; - case 10: -#line 164 "parser.yy" // lalr1.cc:859 + case 14: +#line 179 "parser.yy" // lalr1.cc:859 { switch (ctx.getUniverse()) { case Option::V6: @@ -826,8 +826,8 @@ namespace isc { namespace eval { #line 827 "parser.cc" // lalr1.cc:859 break; - case 11: -#line 178 "parser.yy" // lalr1.cc:859 + case 15: +#line 193 "parser.yy" // lalr1.cc:859 { // Expression: vendor-class[1234].exists // @@ -839,8 +839,8 @@ namespace isc { namespace eval { #line 840 "parser.cc" // lalr1.cc:859 break; - case 12: -#line 187 "parser.yy" // lalr1.cc:859 + case 16: +#line 202 "parser.yy" // lalr1.cc:859 { // Expression: vendor[1234].exists // @@ -852,8 +852,8 @@ namespace isc { namespace eval { #line 853 "parser.cc" // lalr1.cc:859 break; - case 13: -#line 196 "parser.yy" // lalr1.cc:859 + case 17: +#line 211 "parser.yy" // lalr1.cc:859 { // Expression vendor[1234].option[123].exists // @@ -866,8 +866,8 @@ namespace isc { namespace eval { #line 867 "parser.cc" // lalr1.cc:859 break; - case 14: -#line 208 "parser.yy" // lalr1.cc:859 + case 18: +#line 223 "parser.yy" // lalr1.cc:859 { TokenPtr str(new TokenString(yystack_[0].value.as< std::string > ())); ctx.expression.push_back(str); @@ -875,8 +875,8 @@ namespace isc { namespace eval { #line 876 "parser.cc" // lalr1.cc:859 break; - case 15: -#line 213 "parser.yy" // lalr1.cc:859 + case 19: +#line 228 "parser.yy" // lalr1.cc:859 { TokenPtr hex(new TokenHexString(yystack_[0].value.as< std::string > ())); ctx.expression.push_back(hex); @@ -884,8 +884,8 @@ namespace isc { namespace eval { #line 885 "parser.cc" // lalr1.cc:859 break; - case 16: -#line 218 "parser.yy" // lalr1.cc:859 + case 20: +#line 233 "parser.yy" // lalr1.cc:859 { TokenPtr ip(new TokenIpAddress(yystack_[0].value.as< std::string > ())); ctx.expression.push_back(ip); @@ -893,8 +893,8 @@ namespace isc { namespace eval { #line 894 "parser.cc" // lalr1.cc:859 break; - case 17: -#line 223 "parser.yy" // lalr1.cc:859 + case 21: +#line 238 "parser.yy" // lalr1.cc:859 { TokenPtr opt(new TokenOption(yystack_[3].value.as< uint16_t > (), yystack_[0].value.as< TokenOption::RepresentationType > ())); ctx.expression.push_back(opt); @@ -902,8 +902,8 @@ namespace isc { namespace eval { #line 903 "parser.cc" // lalr1.cc:859 break; - case 18: -#line 228 "parser.yy" // lalr1.cc:859 + case 22: +#line 243 "parser.yy" // lalr1.cc:859 { switch (ctx.getUniverse()) { case Option::V4: @@ -926,8 +926,8 @@ namespace isc { namespace eval { #line 927 "parser.cc" // lalr1.cc:859 break; - case 19: -#line 249 "parser.yy" // lalr1.cc:859 + case 23: +#line 264 "parser.yy" // lalr1.cc:859 { switch (ctx.getUniverse()) { case Option::V6: @@ -944,8 +944,8 @@ namespace isc { namespace eval { #line 945 "parser.cc" // lalr1.cc:859 break; - case 20: -#line 264 "parser.yy" // lalr1.cc:859 + case 24: +#line 279 "parser.yy" // lalr1.cc:859 { TokenPtr pkt_metadata(new TokenPkt(yystack_[0].value.as< TokenPkt::MetadataType > ())); ctx.expression.push_back(pkt_metadata); @@ -953,8 +953,8 @@ namespace isc { namespace eval { #line 954 "parser.cc" // lalr1.cc:859 break; - case 21: -#line 269 "parser.yy" // lalr1.cc:859 + case 25: +#line 284 "parser.yy" // lalr1.cc:859 { switch (ctx.getUniverse()) { case Option::V4: @@ -971,8 +971,8 @@ namespace isc { namespace eval { #line 972 "parser.cc" // lalr1.cc:859 break; - case 22: -#line 283 "parser.yy" // lalr1.cc:859 + case 26: +#line 298 "parser.yy" // lalr1.cc:859 { switch (ctx.getUniverse()) { case Option::V6: @@ -989,8 +989,8 @@ namespace isc { namespace eval { #line 990 "parser.cc" // lalr1.cc:859 break; - case 23: -#line 297 "parser.yy" // lalr1.cc:859 + case 27: +#line 312 "parser.yy" // lalr1.cc:859 { switch (ctx.getUniverse()) { case Option::V6: @@ -1007,8 +1007,8 @@ namespace isc { namespace eval { #line 1008 "parser.cc" // lalr1.cc:859 break; - case 24: -#line 312 "parser.yy" // lalr1.cc:859 + case 28: +#line 327 "parser.yy" // lalr1.cc:859 { TokenPtr sub(new TokenSubstring()); ctx.expression.push_back(sub); @@ -1016,8 +1016,8 @@ namespace isc { namespace eval { #line 1017 "parser.cc" // lalr1.cc:859 break; - case 25: -#line 317 "parser.yy" // lalr1.cc:859 + case 29: +#line 332 "parser.yy" // lalr1.cc:859 { TokenPtr conc(new TokenConcat()); ctx.expression.push_back(conc); @@ -1025,8 +1025,8 @@ namespace isc { namespace eval { #line 1026 "parser.cc" // lalr1.cc:859 break; - case 26: -#line 322 "parser.yy" // lalr1.cc:859 + case 30: +#line 337 "parser.yy" // lalr1.cc:859 { // expression: vendor.enterprise // @@ -1038,8 +1038,8 @@ namespace isc { namespace eval { #line 1039 "parser.cc" // lalr1.cc:859 break; - case 27: -#line 331 "parser.yy" // lalr1.cc:859 + case 31: +#line 346 "parser.yy" // lalr1.cc:859 { // expression: vendor-class.enterprise // @@ -1052,8 +1052,8 @@ namespace isc { namespace eval { #line 1053 "parser.cc" // lalr1.cc:859 break; - case 28: -#line 341 "parser.yy" // lalr1.cc:859 + case 32: +#line 356 "parser.yy" // lalr1.cc:859 { // This token will search for vendor option with // specified enterprise-id. If found, will search @@ -1065,8 +1065,8 @@ namespace isc { namespace eval { #line 1066 "parser.cc" // lalr1.cc:859 break; - case 29: -#line 350 "parser.yy" // lalr1.cc:859 + case 33: +#line 365 "parser.yy" // lalr1.cc:859 { // expression: vendor-class[1234].data // @@ -1082,8 +1082,8 @@ namespace isc { namespace eval { #line 1083 "parser.cc" // lalr1.cc:859 break; - case 30: -#line 363 "parser.yy" // lalr1.cc:859 + case 34: +#line 378 "parser.yy" // lalr1.cc:859 { // expression: vendor-class[1234].data[5] // @@ -1099,8 +1099,8 @@ namespace isc { namespace eval { #line 1100 "parser.cc" // lalr1.cc:859 break; - case 31: -#line 376 "parser.yy" // lalr1.cc:859 + case 35: +#line 391 "parser.yy" // lalr1.cc:859 { TokenPtr integer(new TokenInteger(yystack_[0].value.as< uint32_t > ())); ctx.expression.push_back(integer); @@ -1108,208 +1108,208 @@ namespace isc { namespace eval { #line 1109 "parser.cc" // lalr1.cc:859 break; - case 32: -#line 383 "parser.yy" // lalr1.cc:859 + case 36: +#line 398 "parser.yy" // lalr1.cc:859 { yylhs.value.as< uint32_t > () = ctx.convertUint32(yystack_[0].value.as< std::string > (), yystack_[0].location); } #line 1117 "parser.cc" // lalr1.cc:859 break; - case 33: -#line 389 "parser.yy" // lalr1.cc:859 + case 37: +#line 404 "parser.yy" // lalr1.cc:859 { yylhs.value.as< uint16_t > () = ctx.convertOptionCode(yystack_[0].value.as< std::string > (), yystack_[0].location); } #line 1125 "parser.cc" // lalr1.cc:859 break; - case 34: -#line 393 "parser.yy" // lalr1.cc:859 + case 38: +#line 408 "parser.yy" // lalr1.cc:859 { yylhs.value.as< uint16_t > () = ctx.convertOptionName(yystack_[0].value.as< std::string > (), yystack_[0].location); } #line 1133 "parser.cc" // lalr1.cc:859 break; - case 35: -#line 399 "parser.yy" // lalr1.cc:859 + case 39: +#line 414 "parser.yy" // lalr1.cc:859 { yylhs.value.as< TokenOption::RepresentationType > () = TokenOption::TEXTUAL; } #line 1141 "parser.cc" // lalr1.cc:859 break; - case 36: -#line 403 "parser.yy" // lalr1.cc:859 + case 40: +#line 418 "parser.yy" // lalr1.cc:859 { yylhs.value.as< TokenOption::RepresentationType > () = TokenOption::HEXADECIMAL; } #line 1149 "parser.cc" // lalr1.cc:859 break; - case 37: -#line 409 "parser.yy" // lalr1.cc:859 + case 41: +#line 424 "parser.yy" // lalr1.cc:859 { yylhs.value.as< uint8_t > () = ctx.convertNestLevelNumber(yystack_[0].value.as< std::string > (), yystack_[0].location); } #line 1157 "parser.cc" // lalr1.cc:859 break; - case 38: -#line 418 "parser.yy" // lalr1.cc:859 + case 42: +#line 433 "parser.yy" // lalr1.cc:859 { yylhs.value.as< TokenPkt::MetadataType > () = TokenPkt::IFACE; } #line 1165 "parser.cc" // lalr1.cc:859 break; - case 39: -#line 422 "parser.yy" // lalr1.cc:859 + case 43: +#line 437 "parser.yy" // lalr1.cc:859 { yylhs.value.as< TokenPkt::MetadataType > () = TokenPkt::SRC; } #line 1173 "parser.cc" // lalr1.cc:859 break; - case 40: -#line 426 "parser.yy" // lalr1.cc:859 + case 44: +#line 441 "parser.yy" // lalr1.cc:859 { yylhs.value.as< TokenPkt::MetadataType > () = TokenPkt::DST; } #line 1181 "parser.cc" // lalr1.cc:859 break; - case 41: -#line 430 "parser.yy" // lalr1.cc:859 + case 45: +#line 445 "parser.yy" // lalr1.cc:859 { yylhs.value.as< TokenPkt::MetadataType > () = TokenPkt::LEN; } #line 1189 "parser.cc" // lalr1.cc:859 break; - case 42: -#line 436 "parser.yy" // lalr1.cc:859 + case 46: +#line 451 "parser.yy" // lalr1.cc:859 { yylhs.value.as< uint32_t > () = ctx.convertUint32(yystack_[0].value.as< std::string > (), yystack_[0].location); } #line 1197 "parser.cc" // lalr1.cc:859 break; - case 43: -#line 440 "parser.yy" // lalr1.cc:859 + case 47: +#line 455 "parser.yy" // lalr1.cc:859 { yylhs.value.as< uint32_t > () = 0; } #line 1205 "parser.cc" // lalr1.cc:859 break; - case 44: -#line 446 "parser.yy" // lalr1.cc:859 + case 48: +#line 461 "parser.yy" // lalr1.cc:859 { yylhs.value.as< TokenPkt4::FieldType > () = TokenPkt4::CHADDR; } #line 1213 "parser.cc" // lalr1.cc:859 break; - case 45: -#line 450 "parser.yy" // lalr1.cc:859 + case 49: +#line 465 "parser.yy" // lalr1.cc:859 { yylhs.value.as< TokenPkt4::FieldType > () = TokenPkt4::HLEN; } #line 1221 "parser.cc" // lalr1.cc:859 break; - case 46: -#line 454 "parser.yy" // lalr1.cc:859 + case 50: +#line 469 "parser.yy" // lalr1.cc:859 { yylhs.value.as< TokenPkt4::FieldType > () = TokenPkt4::HTYPE; } #line 1229 "parser.cc" // lalr1.cc:859 break; - case 47: -#line 458 "parser.yy" // lalr1.cc:859 + case 51: +#line 473 "parser.yy" // lalr1.cc:859 { yylhs.value.as< TokenPkt4::FieldType > () = TokenPkt4::CIADDR; } #line 1237 "parser.cc" // lalr1.cc:859 break; - case 48: -#line 462 "parser.yy" // lalr1.cc:859 + case 52: +#line 477 "parser.yy" // lalr1.cc:859 { yylhs.value.as< TokenPkt4::FieldType > () = TokenPkt4::GIADDR; } #line 1245 "parser.cc" // lalr1.cc:859 break; - case 49: -#line 466 "parser.yy" // lalr1.cc:859 + case 53: +#line 481 "parser.yy" // lalr1.cc:859 { yylhs.value.as< TokenPkt4::FieldType > () = TokenPkt4::YIADDR; } #line 1253 "parser.cc" // lalr1.cc:859 break; - case 50: -#line 470 "parser.yy" // lalr1.cc:859 + case 54: +#line 485 "parser.yy" // lalr1.cc:859 { yylhs.value.as< TokenPkt4::FieldType > () = TokenPkt4::SIADDR; } #line 1261 "parser.cc" // lalr1.cc:859 break; - case 51: -#line 474 "parser.yy" // lalr1.cc:859 + case 55: +#line 489 "parser.yy" // lalr1.cc:859 { yylhs.value.as< TokenPkt4::FieldType > () = TokenPkt4::MSGTYPE; } #line 1269 "parser.cc" // lalr1.cc:859 break; - case 52: -#line 478 "parser.yy" // lalr1.cc:859 + case 56: +#line 493 "parser.yy" // lalr1.cc:859 { yylhs.value.as< TokenPkt4::FieldType > () = TokenPkt4::TRANSID; } #line 1277 "parser.cc" // lalr1.cc:859 break; - case 53: -#line 484 "parser.yy" // lalr1.cc:859 + case 57: +#line 499 "parser.yy" // lalr1.cc:859 { yylhs.value.as< TokenPkt6::FieldType > () = TokenPkt6::MSGTYPE; } #line 1285 "parser.cc" // lalr1.cc:859 break; - case 54: -#line 488 "parser.yy" // lalr1.cc:859 + case 58: +#line 503 "parser.yy" // lalr1.cc:859 { yylhs.value.as< TokenPkt6::FieldType > () = TokenPkt6::TRANSID; } #line 1293 "parser.cc" // lalr1.cc:859 break; - case 55: -#line 494 "parser.yy" // lalr1.cc:859 + case 59: +#line 509 "parser.yy" // lalr1.cc:859 { yylhs.value.as< TokenRelay6Field::FieldType > () = TokenRelay6Field::PEERADDR; } #line 1301 "parser.cc" // lalr1.cc:859 break; - case 56: -#line 498 "parser.yy" // lalr1.cc:859 + case 60: +#line 513 "parser.yy" // lalr1.cc:859 { yylhs.value.as< TokenRelay6Field::FieldType > () = TokenRelay6Field::LINKADDR; } #line 1309 "parser.cc" // lalr1.cc:859 break; - case 57: -#line 504 "parser.yy" // lalr1.cc:859 + case 61: +#line 519 "parser.yy" // lalr1.cc:859 { TokenPtr str(new TokenString(yystack_[0].value.as< std::string > ())); ctx.expression.push_back(str); @@ -1317,8 +1317,8 @@ namespace isc { namespace eval { #line 1318 "parser.cc" // lalr1.cc:859 break; - case 58: -#line 511 "parser.yy" // lalr1.cc:859 + case 62: +#line 526 "parser.yy" // lalr1.cc:859 { TokenPtr str(new TokenString(yystack_[0].value.as< std::string > ())); ctx.expression.push_back(str); @@ -1326,8 +1326,8 @@ namespace isc { namespace eval { #line 1327 "parser.cc" // lalr1.cc:859 break; - case 59: -#line 516 "parser.yy" // lalr1.cc:859 + case 63: +#line 531 "parser.yy" // lalr1.cc:859 { TokenPtr str(new TokenString("all")); ctx.expression.push_back(str); @@ -1591,153 +1591,158 @@ namespace isc { namespace eval { } - const signed char EvalParser::yypact_ninf_ = -91; + const signed char EvalParser::yypact_ninf_ = -98; const signed char EvalParser::yytable_ninf_ = -1; const short int EvalParser::yypact_[] = { - 3, 3, 3, -5, 13, 23, 4, 14, 54, 80, - 68, 37, 95, -91, -91, -91, -91, 93, 35, 98, - -91, 73, -91, 67, 67, 64, 50, 69, 45, 45, - 84, -20, 74, -20, 81, -91, 3, 3, 45, -91, - -91, -91, 109, 111, -91, 112, -91, -91, -91, -91, - -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, - -91, 114, 115, 116, 100, 103, 96, 97, -91, -91, - -91, -91, -91, 118, -91, 119, -91, -91, 129, -91, - 120, 121, 122, 67, 67, 64, -20, -20, 94, 45, - 123, 125, 16, 28, 6, 127, 128, 130, 131, 132, - -91, 113, 140, -14, -2, -91, -91, -91, -91, -91, - -91, 135, -91, -91, -91, 134, 136, 137, 138, 139, - -30, -91, -91, 142, 143, -91, 67, 58, 58, 12, - 108, 149, -91, -91, 155, 117, 67, 145, 147, 148, - -91, 150, 151, 152, 67, 67, -91, 153, 70, 156, - 157, 86, -91, -91, 154, 158, -91, -91, 58, 58 + -23, 41, 41, 36, 41, 41, 28, 31, 35, 56, + 60, 92, 93, 84, -8, 59, -98, -98, -98, -98, + -98, 47, 55, -98, -98, 47, 55, -98, 58, -98, + 43, 43, 61, 17, -14, 88, 88, 48, -22, 73, + -22, 74, 41, 41, 88, -98, -98, -98, 107, 108, + -98, 111, -98, -98, -98, -98, -98, -98, -98, -98, + -98, -98, -98, -98, -98, -98, -98, 113, 116, 117, + 91, 96, 71, 98, -98, -98, -98, -98, -98, 119, + -98, 123, -98, -98, 126, -98, 124, 125, 127, 43, + 43, 61, -22, -22, 94, 88, 128, 129, 52, 66, + 18, 131, 132, 133, 134, 135, -98, 118, 147, -15, + 2, -98, -98, -98, -98, -98, -98, 138, -98, -98, + -98, 139, 140, 141, 142, 143, -29, -98, -98, 146, + 148, -98, 43, 62, 62, 20, 120, 145, -98, -98, + 157, 121, 43, 149, 151, 152, -98, 153, 155, 156, + 43, 43, -98, 158, 85, 160, 161, 97, -98, -98, + 162, 163, -98, -98, 62, 62 }; const unsigned char EvalParser::yydefact_[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 14, 32, 15, 16, 0, 2, 0, - 31, 0, 4, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, 0, 0, 0, 3, - 33, 34, 0, 0, 37, 0, 38, 39, 40, 41, - 20, 44, 45, 46, 47, 48, 49, 50, 51, 52, - 21, 0, 0, 0, 0, 0, 0, 0, 53, 54, - 22, 43, 42, 0, 27, 0, 26, 5, 6, 7, + 0, 0, 0, 0, 0, 0, 18, 36, 19, 20, + 2, 6, 0, 35, 3, 4, 5, 1, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 7, 37, 38, 0, 0, + 41, 0, 42, 43, 44, 45, 24, 48, 49, 50, + 51, 52, 53, 54, 55, 56, 25, 0, 0, 0, + 0, 0, 0, 0, 57, 58, 26, 47, 46, 0, + 31, 0, 30, 9, 10, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 57, 0, 0, 0, 0, 35, 36, 8, 17, 9, - 18, 0, 55, 56, 23, 0, 0, 0, 0, 0, - 0, 25, 11, 29, 0, 12, 0, 0, 0, 0, - 0, 0, 59, 58, 0, 0, 0, 0, 0, 0, - 24, 0, 0, 0, 0, 0, 30, 0, 0, 0, - 0, 0, 10, 19, 0, 0, 13, 28, 0, 0 + 0, 0, 0, 0, 0, 0, 61, 0, 0, 0, + 0, 39, 40, 12, 21, 13, 22, 0, 59, 60, + 27, 0, 0, 0, 0, 0, 0, 29, 15, 33, + 0, 16, 0, 0, 0, 0, 0, 0, 63, 62, + 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, + 0, 0, 34, 0, 0, 0, 0, 0, 14, 23, + 0, 0, 17, 32, 0, 0 }; const signed char EvalParser::yypgoto_[] = { - -91, -91, 30, -27, -91, -24, -90, 79, -91, -23, - -91, -91, -91, -91, -91 + -98, -98, -98, -98, 5, -1, -98, -31, -97, 76, + -98, -37, -98, -98, -98, -98, -98 }; const short int EvalParser::yydefgoto_[] = { - -1, 17, 18, 19, 20, 42, 108, 45, 50, 73, - 60, 70, 114, 101, 134 + -1, 3, 24, 20, 21, 22, 23, 48, 114, 51, + 56, 79, 66, 76, 120, 107, 140 }; const unsigned char EvalParser::yytable_[] = { - 43, 66, 67, 110, 132, 122, 1, 124, 2, 23, - 75, 79, 3, 4, 5, 111, 133, 125, 112, 113, - 26, 138, 71, 6, 112, 113, 72, 24, 7, 123, - 27, 21, 22, 105, 106, 107, 8, 25, 110, 9, - 10, 36, 37, 11, 12, 105, 106, 109, 13, 14, - 15, 31, 16, 32, 61, 62, 63, 28, 153, 95, - 96, 157, 102, 98, 99, 6, 77, 78, 153, 157, - 7, 46, 47, 48, 49, 105, 106, 39, 8, 36, - 37, 9, 10, 29, 30, 64, 65, 105, 106, 152, - 13, 14, 15, 35, 16, 51, 52, 53, 54, 55, - 56, 57, 137, 105, 106, 156, 38, 58, 59, 33, - 44, 34, 142, 40, 86, 41, 32, 87, 74, 34, - 149, 150, 68, 69, 80, 76, 81, 82, 83, 84, - 85, 88, 89, 90, 91, 36, 92, 93, 94, 103, - 100, 104, 115, 116, 121, 117, 118, 119, 120, 126, - 127, 123, 128, 129, 130, 131, 135, 136, 139, 140, - 143, 144, 145, 141, 97, 146, 147, 0, 148, 151, - 158, 154, 155, 0, 159 + 49, 26, 116, 81, 128, 138, 38, 25, 39, 28, + 29, 130, 57, 58, 59, 60, 61, 62, 63, 139, + 77, 131, 1, 2, 64, 65, 78, 117, 129, 144, + 118, 119, 118, 119, 72, 73, 27, 116, 52, 53, + 54, 55, 30, 85, 4, 31, 5, 83, 84, 32, + 6, 7, 8, 42, 43, 104, 105, 159, 101, 102, + 163, 9, 45, 44, 42, 43, 10, 159, 163, 111, + 112, 113, 33, 40, 11, 41, 34, 12, 13, 111, + 112, 14, 15, 111, 112, 115, 74, 75, 16, 17, + 18, 46, 19, 47, 108, 35, 36, 67, 68, 69, + 37, 143, 111, 112, 158, 92, 94, 39, 9, 50, + 93, 148, 41, 10, 111, 112, 162, 80, 82, 155, + 156, 11, 86, 87, 12, 13, 88, 89, 70, 71, + 90, 91, 42, 95, 96, 16, 17, 18, 97, 19, + 98, 99, 106, 100, 109, 110, 121, 122, 123, 124, + 125, 127, 132, 126, 145, 133, 134, 135, 136, 137, + 141, 146, 142, 129, 149, 150, 151, 103, 152, 147, + 153, 0, 154, 0, 157, 160, 161, 0, 164, 165 }; const short int EvalParser::yycheck_[] = { - 24, 28, 29, 93, 34, 19, 3, 9, 5, 14, - 33, 38, 9, 10, 11, 9, 46, 19, 12, 13, - 16, 9, 42, 20, 12, 13, 46, 14, 25, 43, - 16, 1, 2, 17, 18, 19, 33, 14, 128, 36, - 37, 6, 7, 40, 41, 17, 18, 19, 45, 46, - 47, 14, 49, 16, 9, 10, 11, 3, 148, 83, - 84, 151, 89, 86, 87, 20, 36, 37, 158, 159, - 25, 21, 22, 23, 24, 17, 18, 4, 33, 6, - 7, 36, 37, 3, 16, 40, 41, 17, 18, 19, - 45, 46, 47, 0, 49, 26, 27, 28, 29, 30, - 31, 32, 126, 17, 18, 19, 8, 38, 39, 14, - 46, 16, 136, 46, 14, 48, 16, 14, 44, 16, - 144, 145, 38, 39, 15, 44, 15, 15, 14, 14, - 14, 35, 35, 15, 15, 6, 16, 16, 16, 16, - 46, 16, 15, 15, 4, 15, 15, 15, 35, 14, - 16, 43, 16, 16, 16, 16, 14, 14, 9, 4, - 15, 14, 14, 46, 85, 15, 15, -1, 16, 16, - 16, 15, 15, -1, 16 + 31, 2, 99, 40, 19, 34, 14, 2, 16, 4, + 5, 9, 26, 27, 28, 29, 30, 31, 32, 48, + 42, 19, 45, 46, 38, 39, 48, 9, 43, 9, + 12, 13, 12, 13, 35, 36, 0, 134, 21, 22, + 23, 24, 14, 44, 3, 14, 5, 42, 43, 14, + 9, 10, 11, 6, 7, 92, 93, 154, 89, 90, + 157, 20, 4, 8, 6, 7, 25, 164, 165, 17, + 18, 19, 16, 14, 33, 16, 16, 36, 37, 17, + 18, 40, 41, 17, 18, 19, 38, 39, 47, 48, + 49, 48, 51, 50, 95, 3, 3, 9, 10, 11, + 16, 132, 17, 18, 19, 14, 35, 16, 20, 48, + 14, 142, 16, 25, 17, 18, 19, 44, 44, 150, + 151, 33, 15, 15, 36, 37, 15, 14, 40, 41, + 14, 14, 6, 35, 15, 47, 48, 49, 15, 51, + 16, 16, 48, 16, 16, 16, 15, 15, 15, 15, + 15, 4, 14, 35, 9, 16, 16, 16, 16, 16, + 14, 4, 14, 43, 15, 14, 14, 91, 15, 48, + 15, -1, 16, -1, 16, 15, 15, -1, 16, 16 }; const unsigned char EvalParser::yystos_[] = { - 0, 3, 5, 9, 10, 11, 20, 25, 33, 36, - 37, 40, 41, 45, 46, 47, 49, 51, 52, 53, - 54, 52, 52, 14, 14, 14, 16, 16, 3, 3, - 16, 14, 16, 14, 16, 0, 6, 7, 8, 4, - 46, 48, 55, 55, 46, 57, 21, 22, 23, 24, - 58, 26, 27, 28, 29, 30, 31, 32, 38, 39, - 60, 9, 10, 11, 40, 41, 53, 53, 38, 39, - 61, 42, 46, 59, 44, 59, 44, 52, 52, 53, - 15, 15, 15, 14, 14, 14, 14, 14, 35, 35, - 15, 15, 16, 16, 16, 55, 55, 57, 59, 59, - 46, 63, 53, 16, 16, 17, 18, 19, 56, 19, - 56, 9, 12, 13, 62, 15, 15, 15, 15, 15, - 35, 4, 19, 43, 9, 19, 14, 16, 16, 16, - 16, 16, 34, 46, 64, 14, 14, 55, 9, 9, - 4, 46, 55, 15, 14, 14, 15, 15, 16, 55, - 55, 16, 19, 56, 15, 15, 19, 56, 16, 16 + 0, 45, 46, 53, 3, 5, 9, 10, 11, 20, + 25, 33, 36, 37, 40, 41, 47, 48, 49, 51, + 55, 56, 57, 58, 54, 56, 57, 0, 56, 56, + 14, 14, 14, 16, 16, 3, 3, 16, 14, 16, + 14, 16, 6, 7, 8, 4, 48, 50, 59, 59, + 48, 61, 21, 22, 23, 24, 62, 26, 27, 28, + 29, 30, 31, 32, 38, 39, 64, 9, 10, 11, + 40, 41, 57, 57, 38, 39, 65, 42, 48, 63, + 44, 63, 44, 56, 56, 57, 15, 15, 15, 14, + 14, 14, 14, 14, 35, 35, 15, 15, 16, 16, + 16, 59, 59, 61, 63, 63, 48, 67, 57, 16, + 16, 17, 18, 19, 60, 19, 60, 9, 12, 13, + 66, 15, 15, 15, 15, 15, 35, 4, 19, 43, + 9, 19, 14, 16, 16, 16, 16, 16, 34, 48, + 68, 14, 14, 59, 9, 9, 4, 48, 59, 15, + 14, 14, 15, 15, 16, 59, 59, 16, 19, 60, + 15, 15, 19, 60, 16, 16 }; const unsigned char EvalParser::yyr1_[] = { - 0, 50, 51, 52, 52, 52, 52, 52, 52, 52, - 52, 52, 52, 52, 53, 53, 53, 53, 53, 53, - 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, - 53, 53, 54, 55, 55, 56, 56, 57, 58, 58, - 58, 58, 59, 59, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 61, 61, 62, 62, 63, 64, 64 + 0, 52, 53, 53, 54, 54, 55, 56, 56, 56, + 56, 56, 56, 56, 56, 56, 56, 56, 57, 57, + 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, + 57, 57, 57, 57, 57, 57, 58, 59, 59, 60, + 60, 61, 62, 62, 62, 62, 63, 63, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 65, 65, 66, + 66, 67, 68, 68 }; const unsigned char EvalParser::yyr2_[] = { - 0, 2, 1, 3, 2, 3, 3, 3, 6, 6, - 11, 6, 6, 11, 1, 1, 1, 6, 6, 11, - 3, 3, 3, 6, 8, 6, 3, 3, 11, 6, - 9, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 0, 2, 2, 2, 1, 1, 1, 3, 2, 3, + 3, 3, 6, 6, 11, 6, 6, 11, 1, 1, + 1, 6, 6, 11, 3, 3, 3, 6, 8, 6, + 3, 3, 11, 6, 9, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 + 1, 1, 1, 1 }; @@ -1755,8 +1760,9 @@ namespace isc { namespace eval { "\"giaddr\"", "\"yiaddr\"", "\"siaddr\"", "\"substring\"", "\"all\"", "\",\"", "\"concat\"", "\"pkt6\"", "\"msgtype\"", "\"transid\"", "\"vendor-class\"", "\"vendor\"", "\"*\"", "\"data\"", "\"enterprise\"", - "\"constant string\"", "\"integer\"", "\"constant hexstring\"", - "\"option name\"", "\"ip address\"", "$accept", "expression", + "\"top-level bool\"", "\"top-level string\"", "\"constant string\"", + "\"integer\"", "\"constant hexstring\"", "\"option name\"", + "\"ip address\"", "$accept", "start", "string_expression", "expression", "bool_expr", "string_expr", "integer_expr", "option_code", "option_repr_type", "nest_level", "pkt_metadata", "enterprise_id", "pkt4_field", "pkt6_field", "relay6_field", "start_expr", "length_expr", YY_NULLPTR @@ -1766,12 +1772,13 @@ namespace isc { namespace eval { const unsigned short int EvalParser::yyrline_[] = { - 0, 114, 114, 117, 118, 123, 128, 133, 138, 143, - 163, 177, 186, 195, 207, 212, 217, 222, 227, 248, - 263, 268, 282, 296, 311, 316, 321, 330, 340, 349, - 362, 375, 382, 388, 392, 398, 402, 408, 417, 421, - 425, 429, 435, 439, 445, 449, 453, 457, 461, 465, - 469, 473, 477, 483, 487, 493, 497, 503, 510, 515 + 0, 117, 117, 118, 123, 124, 129, 132, 133, 138, + 143, 148, 153, 158, 178, 192, 201, 210, 222, 227, + 232, 237, 242, 263, 278, 283, 297, 311, 326, 331, + 336, 345, 355, 364, 377, 390, 397, 403, 407, 413, + 417, 423, 432, 436, 440, 444, 450, 454, 460, 464, + 468, 472, 476, 480, 484, 488, 492, 498, 502, 508, + 512, 518, 525, 530 }; // Print the state stack on the debug stream. @@ -1806,8 +1813,8 @@ namespace isc { namespace eval { #line 14 "parser.yy" // lalr1.cc:1167 } } // isc::eval -#line 1810 "parser.cc" // lalr1.cc:1167 -#line 522 "parser.yy" // lalr1.cc:1168 +#line 1817 "parser.cc" // lalr1.cc:1167 +#line 537 "parser.yy" // lalr1.cc:1168 void isc::eval::EvalParser::error(const location_type& loc, -- cgit v1.2.3 From 08ccac5d4640c7975895ae4bfcf55cf16dfbc5ff Mon Sep 17 00:00:00 2001 From: Tomek Mrugalski Date: Mon, 3 Apr 2017 12:17:01 +0000 Subject: bison regenerated --- src/lib/eval/location.hh | 9 +- src/lib/eval/parser.cc | 526 ++++++++++++++++++++++++----------------------- src/lib/eval/parser.h | 92 ++++----- src/lib/eval/position.hh | 9 +- src/lib/eval/stack.hh | 9 +- 5 files changed, 326 insertions(+), 319 deletions(-) (limited to 'src/lib/eval/parser.cc') diff --git a/src/lib/eval/location.hh b/src/lib/eval/location.hh index e6997a26b9..25223ebf96 100644 --- a/src/lib/eval/location.hh +++ b/src/lib/eval/location.hh @@ -1,3 +1,4 @@ +// Generated 201704031216 // A Bison parser, made by GNU Bison 3.0.4. // Locations for Bison parsers in C++ @@ -40,9 +41,9 @@ # include "position.hh" -#line 14 "parser.yy" // location.cc:337 +#line 14 "parser.yy" // location.cc:296 namespace isc { namespace eval { -#line 46 "location.hh" // location.cc:337 +#line 46 "location.hh" // location.cc:296 /// Abstract a location. class location { @@ -186,7 +187,7 @@ namespace isc { namespace eval { return ostr; } -#line 14 "parser.yy" // location.cc:337 +#line 14 "parser.yy" // location.cc:296 } } // isc::eval -#line 192 "location.hh" // location.cc:337 +#line 192 "location.hh" // location.cc:296 #endif // !YY_EVAL_LOCATION_HH_INCLUDED diff --git a/src/lib/eval/parser.cc b/src/lib/eval/parser.cc index 489bb57182..b68bf1b952 100644 --- a/src/lib/eval/parser.cc +++ b/src/lib/eval/parser.cc @@ -253,23 +253,23 @@ namespace isc { namespace eval { { switch (that.type_get ()) { - case 60: // option_repr_type + case 59: // option_repr_type value.move< TokenOption::RepresentationType > (that.value); break; - case 64: // pkt4_field + case 63: // pkt4_field value.move< TokenPkt4::FieldType > (that.value); break; - case 65: // pkt6_field + case 64: // pkt6_field value.move< TokenPkt6::FieldType > (that.value); break; - case 62: // pkt_metadata + case 61: // pkt_metadata value.move< TokenPkt::MetadataType > (that.value); break; - case 66: // relay6_field + case 65: // relay6_field value.move< TokenRelay6Field::FieldType > (that.value); break; @@ -281,16 +281,16 @@ namespace isc { namespace eval { value.move< std::string > (that.value); break; - case 59: // option_code + case 58: // option_code value.move< uint16_t > (that.value); break; - case 58: // integer_expr - case 63: // enterprise_id + case 57: // integer_expr + case 62: // enterprise_id value.move< uint32_t > (that.value); break; - case 61: // nest_level + case 60: // nest_level value.move< uint8_t > (that.value); break; @@ -309,23 +309,23 @@ namespace isc { namespace eval { state = that.state; switch (that.type_get ()) { - case 60: // option_repr_type + case 59: // option_repr_type value.copy< TokenOption::RepresentationType > (that.value); break; - case 64: // pkt4_field + case 63: // pkt4_field value.copy< TokenPkt4::FieldType > (that.value); break; - case 65: // pkt6_field + case 64: // pkt6_field value.copy< TokenPkt6::FieldType > (that.value); break; - case 62: // pkt_metadata + case 61: // pkt_metadata value.copy< TokenPkt::MetadataType > (that.value); break; - case 66: // relay6_field + case 65: // relay6_field value.copy< TokenRelay6Field::FieldType > (that.value); break; @@ -337,16 +337,16 @@ namespace isc { namespace eval { value.copy< std::string > (that.value); break; - case 59: // option_code + case 58: // option_code value.copy< uint16_t > (that.value); break; - case 58: // integer_expr - case 63: // enterprise_id + case 57: // integer_expr + case 62: // enterprise_id value.copy< uint32_t > (that.value); break; - case 61: // nest_level + case 60: // nest_level value.copy< uint8_t > (that.value); break; @@ -421,63 +421,63 @@ namespace isc { namespace eval { #line 422 "parser.cc" // lalr1.cc:636 break; - case 58: // integer_expr + case 57: // integer_expr #line 108 "parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< uint32_t > (); } #line 429 "parser.cc" // lalr1.cc:636 break; - case 59: // option_code + case 58: // option_code #line 108 "parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< uint16_t > (); } #line 436 "parser.cc" // lalr1.cc:636 break; - case 60: // option_repr_type + case 59: // option_repr_type #line 108 "parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< TokenOption::RepresentationType > (); } #line 443 "parser.cc" // lalr1.cc:636 break; - case 61: // nest_level + case 60: // nest_level #line 108 "parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< uint8_t > (); } #line 450 "parser.cc" // lalr1.cc:636 break; - case 62: // pkt_metadata + case 61: // pkt_metadata #line 108 "parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< TokenPkt::MetadataType > (); } #line 457 "parser.cc" // lalr1.cc:636 break; - case 63: // enterprise_id + case 62: // enterprise_id #line 108 "parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< uint32_t > (); } #line 464 "parser.cc" // lalr1.cc:636 break; - case 64: // pkt4_field + case 63: // pkt4_field #line 108 "parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< TokenPkt4::FieldType > (); } #line 471 "parser.cc" // lalr1.cc:636 break; - case 65: // pkt6_field + case 64: // pkt6_field #line 108 "parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< TokenPkt6::FieldType > (); } #line 478 "parser.cc" // lalr1.cc:636 break; - case 66: // relay6_field + case 65: // relay6_field #line 108 "parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< TokenRelay6Field::FieldType > (); } @@ -681,23 +681,23 @@ namespace isc { namespace eval { when using variants. */ switch (yyr1_[yyn]) { - case 60: // option_repr_type + case 59: // option_repr_type yylhs.value.build< TokenOption::RepresentationType > (); break; - case 64: // pkt4_field + case 63: // pkt4_field yylhs.value.build< TokenPkt4::FieldType > (); break; - case 65: // pkt6_field + case 64: // pkt6_field yylhs.value.build< TokenPkt6::FieldType > (); break; - case 62: // pkt_metadata + case 61: // pkt_metadata yylhs.value.build< TokenPkt::MetadataType > (); break; - case 66: // relay6_field + case 65: // relay6_field yylhs.value.build< TokenRelay6Field::FieldType > (); break; @@ -709,16 +709,16 @@ namespace isc { namespace eval { yylhs.value.build< std::string > (); break; - case 59: // option_code + case 58: // option_code yylhs.value.build< uint16_t > (); break; - case 58: // integer_expr - case 63: // enterprise_id + case 57: // integer_expr + case 62: // enterprise_id yylhs.value.build< uint32_t > (); break; - case 61: // nest_level + case 60: // nest_level yylhs.value.build< uint8_t > (); break; @@ -739,8 +739,8 @@ namespace isc { namespace eval { { switch (yyn) { - case 8: -#line 134 "parser.yy" // lalr1.cc:859 + case 6: +#line 128 "parser.yy" // lalr1.cc:859 { TokenPtr neg(new TokenNot()); ctx.expression.push_back(neg); @@ -748,8 +748,8 @@ namespace isc { namespace eval { #line 749 "parser.cc" // lalr1.cc:859 break; - case 9: -#line 139 "parser.yy" // lalr1.cc:859 + case 7: +#line 133 "parser.yy" // lalr1.cc:859 { TokenPtr neg(new TokenAnd()); ctx.expression.push_back(neg); @@ -757,8 +757,8 @@ namespace isc { namespace eval { #line 758 "parser.cc" // lalr1.cc:859 break; - case 10: -#line 144 "parser.yy" // lalr1.cc:859 + case 8: +#line 138 "parser.yy" // lalr1.cc:859 { TokenPtr neg(new TokenOr()); ctx.expression.push_back(neg); @@ -766,8 +766,8 @@ namespace isc { namespace eval { #line 767 "parser.cc" // lalr1.cc:859 break; - case 11: -#line 149 "parser.yy" // lalr1.cc:859 + case 9: +#line 143 "parser.yy" // lalr1.cc:859 { TokenPtr eq(new TokenEqual()); ctx.expression.push_back(eq); @@ -775,8 +775,8 @@ namespace isc { namespace eval { #line 776 "parser.cc" // lalr1.cc:859 break; - case 12: -#line 154 "parser.yy" // lalr1.cc:859 + case 10: +#line 148 "parser.yy" // lalr1.cc:859 { TokenPtr opt(new TokenOption(yystack_[3].value.as< uint16_t > (), TokenOption::EXISTS)); ctx.expression.push_back(opt); @@ -784,8 +784,8 @@ namespace isc { namespace eval { #line 785 "parser.cc" // lalr1.cc:859 break; - case 13: -#line 159 "parser.yy" // lalr1.cc:859 + case 11: +#line 153 "parser.yy" // lalr1.cc:859 { switch (ctx.getUniverse()) { case Option::V4: @@ -808,8 +808,8 @@ namespace isc { namespace eval { #line 809 "parser.cc" // lalr1.cc:859 break; - case 14: -#line 179 "parser.yy" // lalr1.cc:859 + case 12: +#line 173 "parser.yy" // lalr1.cc:859 { switch (ctx.getUniverse()) { case Option::V6: @@ -826,8 +826,8 @@ namespace isc { namespace eval { #line 827 "parser.cc" // lalr1.cc:859 break; - case 15: -#line 193 "parser.yy" // lalr1.cc:859 + case 13: +#line 187 "parser.yy" // lalr1.cc:859 { // Expression: vendor-class[1234].exists // @@ -839,8 +839,8 @@ namespace isc { namespace eval { #line 840 "parser.cc" // lalr1.cc:859 break; - case 16: -#line 202 "parser.yy" // lalr1.cc:859 + case 14: +#line 196 "parser.yy" // lalr1.cc:859 { // Expression: vendor[1234].exists // @@ -852,8 +852,8 @@ namespace isc { namespace eval { #line 853 "parser.cc" // lalr1.cc:859 break; - case 17: -#line 211 "parser.yy" // lalr1.cc:859 + case 15: +#line 205 "parser.yy" // lalr1.cc:859 { // Expression vendor[1234].option[123].exists // @@ -866,8 +866,8 @@ namespace isc { namespace eval { #line 867 "parser.cc" // lalr1.cc:859 break; - case 18: -#line 223 "parser.yy" // lalr1.cc:859 + case 16: +#line 217 "parser.yy" // lalr1.cc:859 { TokenPtr str(new TokenString(yystack_[0].value.as< std::string > ())); ctx.expression.push_back(str); @@ -875,8 +875,8 @@ namespace isc { namespace eval { #line 876 "parser.cc" // lalr1.cc:859 break; - case 19: -#line 228 "parser.yy" // lalr1.cc:859 + case 17: +#line 222 "parser.yy" // lalr1.cc:859 { TokenPtr hex(new TokenHexString(yystack_[0].value.as< std::string > ())); ctx.expression.push_back(hex); @@ -884,8 +884,8 @@ namespace isc { namespace eval { #line 885 "parser.cc" // lalr1.cc:859 break; - case 20: -#line 233 "parser.yy" // lalr1.cc:859 + case 18: +#line 227 "parser.yy" // lalr1.cc:859 { TokenPtr ip(new TokenIpAddress(yystack_[0].value.as< std::string > ())); ctx.expression.push_back(ip); @@ -893,8 +893,8 @@ namespace isc { namespace eval { #line 894 "parser.cc" // lalr1.cc:859 break; - case 21: -#line 238 "parser.yy" // lalr1.cc:859 + case 19: +#line 232 "parser.yy" // lalr1.cc:859 { TokenPtr opt(new TokenOption(yystack_[3].value.as< uint16_t > (), yystack_[0].value.as< TokenOption::RepresentationType > ())); ctx.expression.push_back(opt); @@ -902,8 +902,8 @@ namespace isc { namespace eval { #line 903 "parser.cc" // lalr1.cc:859 break; - case 22: -#line 243 "parser.yy" // lalr1.cc:859 + case 20: +#line 237 "parser.yy" // lalr1.cc:859 { switch (ctx.getUniverse()) { case Option::V4: @@ -926,8 +926,8 @@ namespace isc { namespace eval { #line 927 "parser.cc" // lalr1.cc:859 break; - case 23: -#line 264 "parser.yy" // lalr1.cc:859 + case 21: +#line 258 "parser.yy" // lalr1.cc:859 { switch (ctx.getUniverse()) { case Option::V6: @@ -944,8 +944,8 @@ namespace isc { namespace eval { #line 945 "parser.cc" // lalr1.cc:859 break; - case 24: -#line 279 "parser.yy" // lalr1.cc:859 + case 22: +#line 273 "parser.yy" // lalr1.cc:859 { TokenPtr pkt_metadata(new TokenPkt(yystack_[0].value.as< TokenPkt::MetadataType > ())); ctx.expression.push_back(pkt_metadata); @@ -953,8 +953,8 @@ namespace isc { namespace eval { #line 954 "parser.cc" // lalr1.cc:859 break; - case 25: -#line 284 "parser.yy" // lalr1.cc:859 + case 23: +#line 278 "parser.yy" // lalr1.cc:859 { switch (ctx.getUniverse()) { case Option::V4: @@ -971,8 +971,8 @@ namespace isc { namespace eval { #line 972 "parser.cc" // lalr1.cc:859 break; - case 26: -#line 298 "parser.yy" // lalr1.cc:859 + case 24: +#line 292 "parser.yy" // lalr1.cc:859 { switch (ctx.getUniverse()) { case Option::V6: @@ -989,8 +989,8 @@ namespace isc { namespace eval { #line 990 "parser.cc" // lalr1.cc:859 break; - case 27: -#line 312 "parser.yy" // lalr1.cc:859 + case 25: +#line 306 "parser.yy" // lalr1.cc:859 { switch (ctx.getUniverse()) { case Option::V6: @@ -1007,8 +1007,8 @@ namespace isc { namespace eval { #line 1008 "parser.cc" // lalr1.cc:859 break; - case 28: -#line 327 "parser.yy" // lalr1.cc:859 + case 26: +#line 321 "parser.yy" // lalr1.cc:859 { TokenPtr sub(new TokenSubstring()); ctx.expression.push_back(sub); @@ -1016,8 +1016,8 @@ namespace isc { namespace eval { #line 1017 "parser.cc" // lalr1.cc:859 break; - case 29: -#line 332 "parser.yy" // lalr1.cc:859 + case 27: +#line 326 "parser.yy" // lalr1.cc:859 { TokenPtr conc(new TokenConcat()); ctx.expression.push_back(conc); @@ -1025,8 +1025,8 @@ namespace isc { namespace eval { #line 1026 "parser.cc" // lalr1.cc:859 break; - case 30: -#line 337 "parser.yy" // lalr1.cc:859 + case 28: +#line 331 "parser.yy" // lalr1.cc:859 { // expression: vendor.enterprise // @@ -1038,8 +1038,8 @@ namespace isc { namespace eval { #line 1039 "parser.cc" // lalr1.cc:859 break; - case 31: -#line 346 "parser.yy" // lalr1.cc:859 + case 29: +#line 340 "parser.yy" // lalr1.cc:859 { // expression: vendor-class.enterprise // @@ -1052,8 +1052,8 @@ namespace isc { namespace eval { #line 1053 "parser.cc" // lalr1.cc:859 break; - case 32: -#line 356 "parser.yy" // lalr1.cc:859 + case 30: +#line 350 "parser.yy" // lalr1.cc:859 { // This token will search for vendor option with // specified enterprise-id. If found, will search @@ -1065,8 +1065,8 @@ namespace isc { namespace eval { #line 1066 "parser.cc" // lalr1.cc:859 break; - case 33: -#line 365 "parser.yy" // lalr1.cc:859 + case 31: +#line 359 "parser.yy" // lalr1.cc:859 { // expression: vendor-class[1234].data // @@ -1082,8 +1082,8 @@ namespace isc { namespace eval { #line 1083 "parser.cc" // lalr1.cc:859 break; - case 34: -#line 378 "parser.yy" // lalr1.cc:859 + case 32: +#line 372 "parser.yy" // lalr1.cc:859 { // expression: vendor-class[1234].data[5] // @@ -1099,8 +1099,8 @@ namespace isc { namespace eval { #line 1100 "parser.cc" // lalr1.cc:859 break; - case 35: -#line 391 "parser.yy" // lalr1.cc:859 + case 33: +#line 385 "parser.yy" // lalr1.cc:859 { TokenPtr integer(new TokenInteger(yystack_[0].value.as< uint32_t > ())); ctx.expression.push_back(integer); @@ -1108,208 +1108,208 @@ namespace isc { namespace eval { #line 1109 "parser.cc" // lalr1.cc:859 break; - case 36: -#line 398 "parser.yy" // lalr1.cc:859 + case 34: +#line 392 "parser.yy" // lalr1.cc:859 { yylhs.value.as< uint32_t > () = ctx.convertUint32(yystack_[0].value.as< std::string > (), yystack_[0].location); } #line 1117 "parser.cc" // lalr1.cc:859 break; - case 37: -#line 404 "parser.yy" // lalr1.cc:859 + case 35: +#line 398 "parser.yy" // lalr1.cc:859 { yylhs.value.as< uint16_t > () = ctx.convertOptionCode(yystack_[0].value.as< std::string > (), yystack_[0].location); } #line 1125 "parser.cc" // lalr1.cc:859 break; - case 38: -#line 408 "parser.yy" // lalr1.cc:859 + case 36: +#line 402 "parser.yy" // lalr1.cc:859 { yylhs.value.as< uint16_t > () = ctx.convertOptionName(yystack_[0].value.as< std::string > (), yystack_[0].location); } #line 1133 "parser.cc" // lalr1.cc:859 break; - case 39: -#line 414 "parser.yy" // lalr1.cc:859 + case 37: +#line 408 "parser.yy" // lalr1.cc:859 { yylhs.value.as< TokenOption::RepresentationType > () = TokenOption::TEXTUAL; } #line 1141 "parser.cc" // lalr1.cc:859 break; - case 40: -#line 418 "parser.yy" // lalr1.cc:859 + case 38: +#line 412 "parser.yy" // lalr1.cc:859 { yylhs.value.as< TokenOption::RepresentationType > () = TokenOption::HEXADECIMAL; } #line 1149 "parser.cc" // lalr1.cc:859 break; - case 41: -#line 424 "parser.yy" // lalr1.cc:859 + case 39: +#line 418 "parser.yy" // lalr1.cc:859 { yylhs.value.as< uint8_t > () = ctx.convertNestLevelNumber(yystack_[0].value.as< std::string > (), yystack_[0].location); } #line 1157 "parser.cc" // lalr1.cc:859 break; - case 42: -#line 433 "parser.yy" // lalr1.cc:859 + case 40: +#line 427 "parser.yy" // lalr1.cc:859 { yylhs.value.as< TokenPkt::MetadataType > () = TokenPkt::IFACE; } #line 1165 "parser.cc" // lalr1.cc:859 break; - case 43: -#line 437 "parser.yy" // lalr1.cc:859 + case 41: +#line 431 "parser.yy" // lalr1.cc:859 { yylhs.value.as< TokenPkt::MetadataType > () = TokenPkt::SRC; } #line 1173 "parser.cc" // lalr1.cc:859 break; - case 44: -#line 441 "parser.yy" // lalr1.cc:859 + case 42: +#line 435 "parser.yy" // lalr1.cc:859 { yylhs.value.as< TokenPkt::MetadataType > () = TokenPkt::DST; } #line 1181 "parser.cc" // lalr1.cc:859 break; - case 45: -#line 445 "parser.yy" // lalr1.cc:859 + case 43: +#line 439 "parser.yy" // lalr1.cc:859 { yylhs.value.as< TokenPkt::MetadataType > () = TokenPkt::LEN; } #line 1189 "parser.cc" // lalr1.cc:859 break; - case 46: -#line 451 "parser.yy" // lalr1.cc:859 + case 44: +#line 445 "parser.yy" // lalr1.cc:859 { yylhs.value.as< uint32_t > () = ctx.convertUint32(yystack_[0].value.as< std::string > (), yystack_[0].location); } #line 1197 "parser.cc" // lalr1.cc:859 break; - case 47: -#line 455 "parser.yy" // lalr1.cc:859 + case 45: +#line 449 "parser.yy" // lalr1.cc:859 { yylhs.value.as< uint32_t > () = 0; } #line 1205 "parser.cc" // lalr1.cc:859 break; - case 48: -#line 461 "parser.yy" // lalr1.cc:859 + case 46: +#line 455 "parser.yy" // lalr1.cc:859 { yylhs.value.as< TokenPkt4::FieldType > () = TokenPkt4::CHADDR; } #line 1213 "parser.cc" // lalr1.cc:859 break; - case 49: -#line 465 "parser.yy" // lalr1.cc:859 + case 47: +#line 459 "parser.yy" // lalr1.cc:859 { yylhs.value.as< TokenPkt4::FieldType > () = TokenPkt4::HLEN; } #line 1221 "parser.cc" // lalr1.cc:859 break; - case 50: -#line 469 "parser.yy" // lalr1.cc:859 + case 48: +#line 463 "parser.yy" // lalr1.cc:859 { yylhs.value.as< TokenPkt4::FieldType > () = TokenPkt4::HTYPE; } #line 1229 "parser.cc" // lalr1.cc:859 break; - case 51: -#line 473 "parser.yy" // lalr1.cc:859 + case 49: +#line 467 "parser.yy" // lalr1.cc:859 { yylhs.value.as< TokenPkt4::FieldType > () = TokenPkt4::CIADDR; } #line 1237 "parser.cc" // lalr1.cc:859 break; - case 52: -#line 477 "parser.yy" // lalr1.cc:859 + case 50: +#line 471 "parser.yy" // lalr1.cc:859 { yylhs.value.as< TokenPkt4::FieldType > () = TokenPkt4::GIADDR; } #line 1245 "parser.cc" // lalr1.cc:859 break; - case 53: -#line 481 "parser.yy" // lalr1.cc:859 + case 51: +#line 475 "parser.yy" // lalr1.cc:859 { yylhs.value.as< TokenPkt4::FieldType > () = TokenPkt4::YIADDR; } #line 1253 "parser.cc" // lalr1.cc:859 break; - case 54: -#line 485 "parser.yy" // lalr1.cc:859 + case 52: +#line 479 "parser.yy" // lalr1.cc:859 { yylhs.value.as< TokenPkt4::FieldType > () = TokenPkt4::SIADDR; } #line 1261 "parser.cc" // lalr1.cc:859 break; - case 55: -#line 489 "parser.yy" // lalr1.cc:859 + case 53: +#line 483 "parser.yy" // lalr1.cc:859 { yylhs.value.as< TokenPkt4::FieldType > () = TokenPkt4::MSGTYPE; } #line 1269 "parser.cc" // lalr1.cc:859 break; - case 56: -#line 493 "parser.yy" // lalr1.cc:859 + case 54: +#line 487 "parser.yy" // lalr1.cc:859 { yylhs.value.as< TokenPkt4::FieldType > () = TokenPkt4::TRANSID; } #line 1277 "parser.cc" // lalr1.cc:859 break; - case 57: -#line 499 "parser.yy" // lalr1.cc:859 + case 55: +#line 493 "parser.yy" // lalr1.cc:859 { yylhs.value.as< TokenPkt6::FieldType > () = TokenPkt6::MSGTYPE; } #line 1285 "parser.cc" // lalr1.cc:859 break; - case 58: -#line 503 "parser.yy" // lalr1.cc:859 + case 56: +#line 497 "parser.yy" // lalr1.cc:859 { yylhs.value.as< TokenPkt6::FieldType > () = TokenPkt6::TRANSID; } #line 1293 "parser.cc" // lalr1.cc:859 break; - case 59: -#line 509 "parser.yy" // lalr1.cc:859 + case 57: +#line 503 "parser.yy" // lalr1.cc:859 { yylhs.value.as< TokenRelay6Field::FieldType > () = TokenRelay6Field::PEERADDR; } #line 1301 "parser.cc" // lalr1.cc:859 break; - case 60: -#line 513 "parser.yy" // lalr1.cc:859 + case 58: +#line 507 "parser.yy" // lalr1.cc:859 { yylhs.value.as< TokenRelay6Field::FieldType > () = TokenRelay6Field::LINKADDR; } #line 1309 "parser.cc" // lalr1.cc:859 break; - case 61: -#line 519 "parser.yy" // lalr1.cc:859 + case 59: +#line 513 "parser.yy" // lalr1.cc:859 { TokenPtr str(new TokenString(yystack_[0].value.as< std::string > ())); ctx.expression.push_back(str); @@ -1317,8 +1317,8 @@ namespace isc { namespace eval { #line 1318 "parser.cc" // lalr1.cc:859 break; - case 62: -#line 526 "parser.yy" // lalr1.cc:859 + case 60: +#line 520 "parser.yy" // lalr1.cc:859 { TokenPtr str(new TokenString(yystack_[0].value.as< std::string > ())); ctx.expression.push_back(str); @@ -1326,8 +1326,8 @@ namespace isc { namespace eval { #line 1327 "parser.cc" // lalr1.cc:859 break; - case 63: -#line 531 "parser.yy" // lalr1.cc:859 + case 61: +#line 525 "parser.yy" // lalr1.cc:859 { TokenPtr str(new TokenString("all")); ctx.expression.push_back(str); @@ -1591,112 +1591,116 @@ namespace isc { namespace eval { } - const signed char EvalParser::yypact_ninf_ = -98; + const signed char EvalParser::yypact_ninf_ = -106; const signed char EvalParser::yytable_ninf_ = -1; const short int EvalParser::yypact_[] = { - -23, 41, 41, 36, 41, 41, 28, 31, 35, 56, - 60, 92, 93, 84, -8, 59, -98, -98, -98, -98, - -98, 47, 55, -98, -98, 47, 55, -98, 58, -98, - 43, 43, 61, 17, -14, 88, 88, 48, -22, 73, - -22, 74, 41, 41, 88, -98, -98, -98, 107, 108, - -98, 111, -98, -98, -98, -98, -98, -98, -98, -98, - -98, -98, -98, -98, -98, -98, -98, 113, 116, 117, - 91, 96, 71, 98, -98, -98, -98, -98, -98, 119, - -98, 123, -98, -98, 126, -98, 124, 125, 127, 43, - 43, 61, -22, -22, 94, 88, 128, 129, 52, 66, - 18, 131, 132, 133, 134, 135, -98, 118, 147, -15, - 2, -98, -98, -98, -98, -98, -98, 138, -98, -98, - -98, 139, 140, 141, 142, 143, -29, -98, -98, 146, - 148, -98, 43, 62, 62, 20, 120, 145, -98, -98, - 157, 121, 43, 149, 151, 152, -98, 153, 155, 156, - 43, 43, -98, 158, 85, 160, 161, 97, -98, -98, - 162, 163, -98, -98, 62, 62 + 24, 8, 51, 5, 8, 8, -2, 10, 20, -7, + 31, 47, 72, 42, 69, 90, -106, -106, -106, -106, + -106, 83, 78, -106, 25, 82, 108, 91, 104, -106, + -106, 36, -106, 71, 71, 53, 44, 85, 51, 51, + 87, -17, 86, -17, 88, 8, 8, 51, 71, 71, + 53, -17, -17, -106, -106, -106, 114, 116, -106, 118, + -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, + -106, -106, -106, -106, -106, 99, 100, -106, -106, -106, + -106, -106, 121, -106, 122, -106, -106, 132, -106, 124, + 125, 126, 127, 128, 129, 130, 131, 96, 51, 133, + 134, 135, 136, 137, 138, 139, 55, 60, -5, -106, + 113, 152, -16, 7, 110, 110, 23, 115, 148, -106, + -106, -106, -106, -106, -106, 145, -106, -106, -106, -28, + -106, -106, 146, 147, -106, 149, 150, 71, -106, -106, + 158, 117, 71, 71, 71, 151, -106, 153, 154, 155, + 156, 157, -106, 159, 160, 161, 63, 76, 110, 110, + -106, -106, -106, -106 }; const unsigned char EvalParser::yydefact_[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 18, 36, 19, 20, - 2, 6, 0, 35, 3, 4, 5, 1, 0, 8, + 0, 0, 0, 0, 0, 0, 16, 34, 17, 18, + 2, 4, 0, 33, 0, 0, 0, 0, 0, 3, + 1, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 37, 38, 0, 0, - 41, 0, 42, 43, 44, 45, 24, 48, 49, 50, - 51, 52, 53, 54, 55, 56, 25, 0, 0, 0, - 0, 0, 0, 0, 57, 58, 26, 47, 46, 0, - 31, 0, 30, 9, 10, 11, 0, 0, 0, 0, + 0, 0, 0, 5, 35, 36, 0, 0, 39, 0, + 40, 41, 42, 43, 22, 46, 47, 48, 49, 50, + 51, 52, 53, 54, 23, 0, 0, 55, 56, 24, + 45, 44, 0, 29, 0, 28, 7, 8, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 61, 0, 0, 0, - 0, 39, 40, 12, 21, 13, 22, 0, 59, 60, - 27, 0, 0, 0, 0, 0, 0, 29, 15, 33, - 0, 16, 0, 0, 0, 0, 0, 0, 63, 62, - 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, - 0, 0, 34, 0, 0, 0, 0, 0, 14, 23, - 0, 0, 17, 32, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, + 38, 10, 19, 11, 20, 0, 57, 58, 25, 0, + 27, 13, 31, 0, 14, 0, 0, 0, 61, 60, + 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, + 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, + 12, 21, 15, 30 }; - const signed char + const short int EvalParser::yypgoto_[] = { - -98, -98, -98, -98, 5, -1, -98, -31, -97, 76, - -98, -37, -98, -98, -98, -98, -98 + -106, -106, -106, 18, -1, -106, -34, -105, 140, -106, + -22, -106, -106, -106, -106, -106 }; const short int EvalParser::yydefgoto_[] = { - -1, 3, 24, 20, 21, 22, 23, 48, 114, 51, - 56, 79, 66, 76, 120, 107, 140 + -1, 3, 20, 21, 22, 23, 56, 122, 59, 64, + 82, 74, 79, 128, 110, 140 }; const unsigned char EvalParser::yytable_[] = { - 49, 26, 116, 81, 128, 138, 38, 25, 39, 28, - 29, 130, 57, 58, 59, 60, 61, 62, 63, 139, - 77, 131, 1, 2, 64, 65, 78, 117, 129, 144, - 118, 119, 118, 119, 72, 73, 27, 116, 52, 53, - 54, 55, 30, 85, 4, 31, 5, 83, 84, 32, - 6, 7, 8, 42, 43, 104, 105, 159, 101, 102, - 163, 9, 45, 44, 42, 43, 10, 159, 163, 111, - 112, 113, 33, 40, 11, 41, 34, 12, 13, 111, - 112, 14, 15, 111, 112, 115, 74, 75, 16, 17, - 18, 46, 19, 47, 108, 35, 36, 67, 68, 69, - 37, 143, 111, 112, 158, 92, 94, 39, 9, 50, - 93, 148, 41, 10, 111, 112, 162, 80, 82, 155, - 156, 11, 86, 87, 12, 13, 88, 89, 70, 71, - 90, 91, 42, 95, 96, 16, 17, 18, 97, 19, - 98, 99, 106, 100, 109, 110, 121, 122, 123, 124, - 125, 127, 132, 126, 145, 133, 134, 135, 136, 137, - 141, 146, 142, 129, 149, 150, 151, 103, 152, 147, - 153, 0, 154, 0, 157, 160, 161, 0, 164, 165 + 57, 29, 124, 131, 125, 30, 138, 126, 127, 36, + 124, 4, 33, 5, 89, 90, 133, 6, 7, 8, + 139, 84, 31, 32, 34, 80, 134, 132, 9, 92, + 93, 81, 135, 10, 35, 126, 127, 75, 76, 48, + 53, 11, 45, 46, 12, 13, 88, 37, 14, 15, + 38, 161, 163, 161, 163, 16, 17, 18, 40, 19, + 24, 25, 26, 86, 87, 60, 61, 62, 63, 1, + 2, 9, 119, 120, 121, 39, 10, 119, 120, 123, + 119, 120, 160, 41, 11, 42, 47, 12, 13, 45, + 46, 27, 28, 119, 120, 162, 49, 111, 16, 17, + 18, 58, 19, 145, 43, 51, 44, 42, 148, 149, + 150, 65, 66, 67, 68, 69, 70, 71, 52, 54, + 44, 55, 50, 72, 73, 77, 78, 119, 120, 94, + 83, 95, 85, 96, 97, 98, 99, 100, 45, 101, + 102, 103, 104, 105, 109, 106, 107, 108, 129, 112, + 113, 114, 115, 116, 117, 118, 130, 136, 132, 137, + 141, 142, 146, 143, 144, 147, 151, 0, 152, 153, + 154, 155, 0, 156, 0, 157, 158, 159, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 91 }; const short int EvalParser::yycheck_[] = { - 31, 2, 99, 40, 19, 34, 14, 2, 16, 4, - 5, 9, 26, 27, 28, 29, 30, 31, 32, 48, - 42, 19, 45, 46, 38, 39, 48, 9, 43, 9, - 12, 13, 12, 13, 35, 36, 0, 134, 21, 22, - 23, 24, 14, 44, 3, 14, 5, 42, 43, 14, - 9, 10, 11, 6, 7, 92, 93, 154, 89, 90, - 157, 20, 4, 8, 6, 7, 25, 164, 165, 17, - 18, 19, 16, 14, 33, 16, 16, 36, 37, 17, - 18, 40, 41, 17, 18, 19, 38, 39, 47, 48, - 49, 48, 51, 50, 95, 3, 3, 9, 10, 11, - 16, 132, 17, 18, 19, 14, 35, 16, 20, 48, - 14, 142, 16, 25, 17, 18, 19, 44, 44, 150, - 151, 33, 15, 15, 36, 37, 15, 14, 40, 41, - 14, 14, 6, 35, 15, 47, 48, 49, 15, 51, - 16, 16, 48, 16, 16, 16, 15, 15, 15, 15, - 15, 4, 14, 35, 9, 16, 16, 16, 16, 16, - 14, 4, 14, 43, 15, 14, 14, 91, 15, 48, - 15, -1, 16, -1, 16, 15, 15, -1, 16, 16 + 34, 2, 107, 19, 9, 0, 34, 12, 13, 16, + 115, 3, 14, 5, 48, 49, 9, 9, 10, 11, + 48, 43, 4, 5, 14, 42, 19, 43, 20, 51, + 52, 48, 9, 25, 14, 12, 13, 38, 39, 14, + 4, 33, 6, 7, 36, 37, 47, 16, 40, 41, + 3, 156, 157, 158, 159, 47, 48, 49, 16, 51, + 9, 10, 11, 45, 46, 21, 22, 23, 24, 45, + 46, 20, 17, 18, 19, 3, 25, 17, 18, 19, + 17, 18, 19, 14, 33, 16, 8, 36, 37, 6, + 7, 40, 41, 17, 18, 19, 14, 98, 47, 48, + 49, 48, 51, 137, 14, 14, 16, 16, 142, 143, + 144, 26, 27, 28, 29, 30, 31, 32, 14, 48, + 16, 50, 14, 38, 39, 38, 39, 17, 18, 15, + 44, 15, 44, 15, 35, 35, 15, 15, 6, 15, + 15, 15, 15, 15, 48, 16, 16, 16, 35, 16, + 16, 16, 16, 16, 16, 16, 4, 9, 43, 14, + 14, 14, 4, 14, 14, 48, 15, -1, 15, 15, + 15, 15, -1, 16, -1, 16, 16, 16, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 50 }; const unsigned char @@ -1704,45 +1708,45 @@ namespace isc { namespace eval { { 0, 45, 46, 53, 3, 5, 9, 10, 11, 20, 25, 33, 36, 37, 40, 41, 47, 48, 49, 51, - 55, 56, 57, 58, 54, 56, 57, 0, 56, 56, - 14, 14, 14, 16, 16, 3, 3, 16, 14, 16, - 14, 16, 6, 7, 8, 4, 48, 50, 59, 59, - 48, 61, 21, 22, 23, 24, 62, 26, 27, 28, - 29, 30, 31, 32, 38, 39, 64, 9, 10, 11, - 40, 41, 57, 57, 38, 39, 65, 42, 48, 63, - 44, 63, 44, 56, 56, 57, 15, 15, 15, 14, - 14, 14, 14, 14, 35, 35, 15, 15, 16, 16, - 16, 59, 59, 61, 63, 63, 48, 67, 57, 16, - 16, 17, 18, 19, 60, 19, 60, 9, 12, 13, - 66, 15, 15, 15, 15, 15, 35, 4, 19, 43, - 9, 19, 14, 16, 16, 16, 16, 16, 34, 48, - 68, 14, 14, 59, 9, 9, 4, 48, 59, 15, - 14, 14, 15, 15, 16, 59, 59, 16, 19, 60, - 15, 15, 19, 60, 16, 16 + 54, 55, 56, 57, 9, 10, 11, 40, 41, 56, + 0, 55, 55, 14, 14, 14, 16, 16, 3, 3, + 16, 14, 16, 14, 16, 6, 7, 8, 14, 14, + 14, 14, 14, 4, 48, 50, 58, 58, 48, 60, + 21, 22, 23, 24, 61, 26, 27, 28, 29, 30, + 31, 32, 38, 39, 63, 56, 56, 38, 39, 64, + 42, 48, 62, 44, 62, 44, 55, 55, 56, 58, + 58, 60, 62, 62, 15, 15, 15, 35, 35, 15, + 15, 15, 15, 15, 15, 15, 16, 16, 16, 48, + 66, 56, 16, 16, 16, 16, 16, 16, 16, 17, + 18, 19, 59, 19, 59, 9, 12, 13, 65, 35, + 4, 19, 43, 9, 19, 9, 9, 14, 34, 48, + 67, 14, 14, 14, 14, 58, 4, 48, 58, 58, + 58, 15, 15, 15, 15, 15, 16, 16, 16, 16, + 19, 59, 19, 59 }; const unsigned char EvalParser::yyr1_[] = { - 0, 52, 53, 53, 54, 54, 55, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 58, 59, 59, 60, - 60, 61, 62, 62, 62, 62, 63, 63, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 65, 65, 66, - 66, 67, 68, 68 + 0, 52, 53, 53, 54, 55, 55, 55, 55, 55, + 55, 55, 55, 55, 55, 55, 56, 56, 56, 56, + 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, + 56, 56, 56, 56, 57, 58, 58, 59, 59, 60, + 61, 61, 61, 61, 62, 62, 63, 63, 63, 63, + 63, 63, 63, 63, 63, 64, 64, 65, 65, 66, + 67, 67 }; const unsigned char EvalParser::yyr2_[] = { - 0, 2, 2, 2, 1, 1, 1, 3, 2, 3, - 3, 3, 6, 6, 11, 6, 6, 11, 1, 1, - 1, 6, 6, 11, 3, 3, 3, 6, 8, 6, - 3, 3, 11, 6, 9, 1, 1, 1, 1, 1, + 0, 2, 2, 2, 1, 3, 2, 3, 3, 3, + 6, 6, 11, 6, 6, 11, 1, 1, 1, 6, + 6, 11, 3, 3, 3, 6, 8, 6, 3, 3, + 11, 6, 9, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1 + 1, 1 }; @@ -1762,23 +1766,23 @@ namespace isc { namespace eval { "\"vendor-class\"", "\"vendor\"", "\"*\"", "\"data\"", "\"enterprise\"", "\"top-level bool\"", "\"top-level string\"", "\"constant string\"", "\"integer\"", "\"constant hexstring\"", "\"option name\"", - "\"ip address\"", "$accept", "start", "string_expression", "expression", - "bool_expr", "string_expr", "integer_expr", "option_code", - "option_repr_type", "nest_level", "pkt_metadata", "enterprise_id", - "pkt4_field", "pkt6_field", "relay6_field", "start_expr", "length_expr", YY_NULLPTR + "\"ip address\"", "$accept", "start", "expression", "bool_expr", + "string_expr", "integer_expr", "option_code", "option_repr_type", + "nest_level", "pkt_metadata", "enterprise_id", "pkt4_field", + "pkt6_field", "relay6_field", "start_expr", "length_expr", YY_NULLPTR }; #if EVALDEBUG const unsigned short int EvalParser::yyrline_[] = { - 0, 117, 117, 118, 123, 124, 129, 132, 133, 138, - 143, 148, 153, 158, 178, 192, 201, 210, 222, 227, - 232, 237, 242, 263, 278, 283, 297, 311, 326, 331, - 336, 345, 355, 364, 377, 390, 397, 403, 407, 413, - 417, 423, 432, 436, 440, 444, 450, 454, 460, 464, - 468, 472, 476, 480, 484, 488, 492, 498, 502, 508, - 512, 518, 525, 530 + 0, 117, 117, 118, 123, 126, 127, 132, 137, 142, + 147, 152, 172, 186, 195, 204, 216, 221, 226, 231, + 236, 257, 272, 277, 291, 305, 320, 325, 330, 339, + 349, 358, 371, 384, 391, 397, 401, 407, 411, 417, + 426, 430, 434, 438, 444, 448, 454, 458, 462, 466, + 470, 474, 478, 482, 486, 492, 496, 502, 506, 512, + 519, 524 }; // Print the state stack on the debug stream. @@ -1813,8 +1817,8 @@ namespace isc { namespace eval { #line 14 "parser.yy" // lalr1.cc:1167 } } // isc::eval -#line 1817 "parser.cc" // lalr1.cc:1167 -#line 537 "parser.yy" // lalr1.cc:1168 +#line 1821 "parser.cc" // lalr1.cc:1167 +#line 531 "parser.yy" // lalr1.cc:1168 void isc::eval::EvalParser::error(const location_type& loc, diff --git a/src/lib/eval/parser.h b/src/lib/eval/parser.h index d799193602..02653cdb46 100644 --- a/src/lib/eval/parser.h +++ b/src/lib/eval/parser.h @@ -40,7 +40,7 @@ #ifndef YY_EVAL_PARSER_H_INCLUDED # define YY_EVAL_PARSER_H_INCLUDED // // "%code requires" blocks. -#line 17 "parser.yy" // lalr1.cc:392 +#line 17 "parser.yy" // lalr1.cc:377 #include #include @@ -51,7 +51,7 @@ using namespace isc::dhcp; using namespace isc::eval; -#line 55 "parser.h" // lalr1.cc:392 +#line 55 "parser.h" // lalr1.cc:377 # include # include // std::abort @@ -134,9 +134,9 @@ using namespace isc::eval; # endif /* ! defined YYDEBUG */ #endif /* ! defined EVALDEBUG */ -#line 14 "parser.yy" // lalr1.cc:392 +#line 14 "parser.yy" // lalr1.cc:377 namespace isc { namespace eval { -#line 140 "parser.h" // lalr1.cc:392 +#line 140 "parser.h" // lalr1.cc:377 @@ -803,7 +803,7 @@ namespace isc { namespace eval { static const unsigned char yydefact_[]; // YYPGOTO[NTERM-NUM]. - static const signed char yypgoto_[]; + static const short int yypgoto_[]; // YYDEFGOTO[NTERM-NUM]. static const short int yydefgoto_[]; @@ -933,9 +933,9 @@ namespace isc { namespace eval { enum { yyeof_ = 0, - yylast_ = 179, ///< Last index in yytable_. - yynnts_ = 17, ///< Number of nonterminal symbols. - yyfinal_ = 27, ///< Termination state number. + yylast_ = 190, ///< Last index in yytable_. + yynnts_ = 16, ///< Number of nonterminal symbols. + yyfinal_ = 30, ///< Termination state number. yyterror_ = 1, yyerrcode_ = 256, yyntokens_ = 52 ///< Number of tokens. @@ -1020,23 +1020,23 @@ namespace isc { namespace eval { { switch (other.type_get ()) { - case 60: // option_repr_type + case 59: // option_repr_type value.copy< TokenOption::RepresentationType > (other.value); break; - case 64: // pkt4_field + case 63: // pkt4_field value.copy< TokenPkt4::FieldType > (other.value); break; - case 65: // pkt6_field + case 64: // pkt6_field value.copy< TokenPkt6::FieldType > (other.value); break; - case 62: // pkt_metadata + case 61: // pkt_metadata value.copy< TokenPkt::MetadataType > (other.value); break; - case 66: // relay6_field + case 65: // relay6_field value.copy< TokenRelay6Field::FieldType > (other.value); break; @@ -1048,16 +1048,16 @@ namespace isc { namespace eval { value.copy< std::string > (other.value); break; - case 59: // option_code + case 58: // option_code value.copy< uint16_t > (other.value); break; - case 58: // integer_expr - case 63: // enterprise_id + case 57: // integer_expr + case 62: // enterprise_id value.copy< uint32_t > (other.value); break; - case 61: // nest_level + case 60: // nest_level value.copy< uint8_t > (other.value); break; @@ -1078,23 +1078,23 @@ namespace isc { namespace eval { (void) v; switch (this->type_get ()) { - case 60: // option_repr_type + case 59: // option_repr_type value.copy< TokenOption::RepresentationType > (v); break; - case 64: // pkt4_field + case 63: // pkt4_field value.copy< TokenPkt4::FieldType > (v); break; - case 65: // pkt6_field + case 64: // pkt6_field value.copy< TokenPkt6::FieldType > (v); break; - case 62: // pkt_metadata + case 61: // pkt_metadata value.copy< TokenPkt::MetadataType > (v); break; - case 66: // relay6_field + case 65: // relay6_field value.copy< TokenRelay6Field::FieldType > (v); break; @@ -1106,16 +1106,16 @@ namespace isc { namespace eval { value.copy< std::string > (v); break; - case 59: // option_code + case 58: // option_code value.copy< uint16_t > (v); break; - case 58: // integer_expr - case 63: // enterprise_id + case 57: // integer_expr + case 62: // enterprise_id value.copy< uint32_t > (v); break; - case 61: // nest_level + case 60: // nest_level value.copy< uint8_t > (v); break; @@ -1223,23 +1223,23 @@ namespace isc { namespace eval { // Type destructor. switch (yytype) { - case 60: // option_repr_type + case 59: // option_repr_type value.template destroy< TokenOption::RepresentationType > (); break; - case 64: // pkt4_field + case 63: // pkt4_field value.template destroy< TokenPkt4::FieldType > (); break; - case 65: // pkt6_field + case 64: // pkt6_field value.template destroy< TokenPkt6::FieldType > (); break; - case 62: // pkt_metadata + case 61: // pkt_metadata value.template destroy< TokenPkt::MetadataType > (); break; - case 66: // relay6_field + case 65: // relay6_field value.template destroy< TokenRelay6Field::FieldType > (); break; @@ -1251,16 +1251,16 @@ namespace isc { namespace eval { value.template destroy< std::string > (); break; - case 59: // option_code + case 58: // option_code value.template destroy< uint16_t > (); break; - case 58: // integer_expr - case 63: // enterprise_id + case 57: // integer_expr + case 62: // enterprise_id value.template destroy< uint32_t > (); break; - case 61: // nest_level + case 60: // nest_level value.template destroy< uint8_t > (); break; @@ -1287,23 +1287,23 @@ namespace isc { namespace eval { super_type::move(s); switch (this->type_get ()) { - case 60: // option_repr_type + case 59: // option_repr_type value.move< TokenOption::RepresentationType > (s.value); break; - case 64: // pkt4_field + case 63: // pkt4_field value.move< TokenPkt4::FieldType > (s.value); break; - case 65: // pkt6_field + case 64: // pkt6_field value.move< TokenPkt6::FieldType > (s.value); break; - case 62: // pkt_metadata + case 61: // pkt_metadata value.move< TokenPkt::MetadataType > (s.value); break; - case 66: // relay6_field + case 65: // relay6_field value.move< TokenRelay6Field::FieldType > (s.value); break; @@ -1315,16 +1315,16 @@ namespace isc { namespace eval { value.move< std::string > (s.value); break; - case 59: // option_code + case 58: // option_code value.move< uint16_t > (s.value); break; - case 58: // integer_expr - case 63: // enterprise_id + case 57: // integer_expr + case 62: // enterprise_id value.move< uint32_t > (s.value); break; - case 61: // nest_level + case 60: // nest_level value.move< uint8_t > (s.value); break; @@ -1694,9 +1694,9 @@ namespace isc { namespace eval { } -#line 14 "parser.yy" // lalr1.cc:392 +#line 14 "parser.yy" // lalr1.cc:377 } } // isc::eval -#line 1700 "parser.h" // lalr1.cc:392 +#line 1700 "parser.h" // lalr1.cc:377 diff --git a/src/lib/eval/position.hh b/src/lib/eval/position.hh index 6807f9f15a..48652e3a63 100644 --- a/src/lib/eval/position.hh +++ b/src/lib/eval/position.hh @@ -1,3 +1,4 @@ +// Generated 201704031216 // A Bison parser, made by GNU Bison 3.0.4. // Positions for Bison parsers in C++ @@ -50,9 +51,9 @@ # endif # endif -#line 14 "parser.yy" // location.cc:337 +#line 14 "parser.yy" // location.cc:296 namespace isc { namespace eval { -#line 56 "position.hh" // location.cc:337 +#line 56 "position.hh" // location.cc:296 /// Abstract a position. class position { @@ -174,7 +175,7 @@ namespace isc { namespace eval { return ostr << pos.line << '.' << pos.column; } -#line 14 "parser.yy" // location.cc:337 +#line 14 "parser.yy" // location.cc:296 } } // isc::eval -#line 180 "position.hh" // location.cc:337 +#line 180 "position.hh" // location.cc:296 #endif // !YY_EVAL_POSITION_HH_INCLUDED diff --git a/src/lib/eval/stack.hh b/src/lib/eval/stack.hh index 7c11d0ffef..14deda3a8e 100644 --- a/src/lib/eval/stack.hh +++ b/src/lib/eval/stack.hh @@ -1,3 +1,4 @@ +// Generated 201704031216 // A Bison parser, made by GNU Bison 3.0.4. // Stack handling for Bison parsers in C++ @@ -40,9 +41,9 @@ # include -#line 14 "parser.yy" // stack.hh:151 +#line 14 "parser.yy" // stack.hh:132 namespace isc { namespace eval { -#line 46 "stack.hh" // stack.hh:151 +#line 46 "stack.hh" // stack.hh:132 template > class stack { @@ -150,8 +151,8 @@ namespace isc { namespace eval { unsigned int range_; }; -#line 14 "parser.yy" // stack.hh:151 +#line 14 "parser.yy" // stack.hh:132 } } // isc::eval -#line 156 "stack.hh" // stack.hh:151 +#line 156 "stack.hh" // stack.hh:132 #endif // !YY_EVAL_STACK_HH_INCLUDED -- cgit v1.2.3 From 7d0f7a8372dcf256fea8ac13330f0e3e7ed2e8ef Mon Sep 17 00:00:00 2001 From: Francis Dupont Date: Wed, 5 Jul 2017 12:19:18 +0000 Subject: [master] regen parser --- src/lib/eval/location.hh | 2 +- src/lib/eval/parser.cc | 34 ++++++++++++++--------------- src/lib/eval/parser.h | 56 ++++++++++++++++++++++++------------------------ src/lib/eval/position.hh | 2 +- src/lib/eval/stack.hh | 2 +- 5 files changed, 48 insertions(+), 48 deletions(-) (limited to 'src/lib/eval/parser.cc') diff --git a/src/lib/eval/location.hh b/src/lib/eval/location.hh index 63b391a29a..66556de21c 100644 --- a/src/lib/eval/location.hh +++ b/src/lib/eval/location.hh @@ -1,4 +1,4 @@ -// Generated 201705171457 +// Generated 201707051218 // A Bison parser, made by GNU Bison 3.0.4. // Locations for Bison parsers in C++ diff --git a/src/lib/eval/parser.cc b/src/lib/eval/parser.cc index b68bf1b952..bf9349a55a 100644 --- a/src/lib/eval/parser.cc +++ b/src/lib/eval/parser.cc @@ -273,6 +273,10 @@ namespace isc { namespace eval { value.move< TokenRelay6Field::FieldType > (that.value); break; + case 60: // nest_level + value.move< int8_t > (that.value); + break; + case 47: // "constant string" case 48: // "integer" case 49: // "constant hexstring" @@ -290,10 +294,6 @@ namespace isc { namespace eval { value.move< uint32_t > (that.value); break; - case 60: // nest_level - value.move< uint8_t > (that.value); - break; - default: break; } @@ -329,6 +329,10 @@ namespace isc { namespace eval { value.copy< TokenRelay6Field::FieldType > (that.value); break; + case 60: // nest_level + value.copy< int8_t > (that.value); + break; + case 47: // "constant string" case 48: // "integer" case 49: // "constant hexstring" @@ -346,10 +350,6 @@ namespace isc { namespace eval { value.copy< uint32_t > (that.value); break; - case 60: // nest_level - value.copy< uint8_t > (that.value); - break; - default: break; } @@ -445,7 +445,7 @@ namespace isc { namespace eval { case 60: // nest_level #line 108 "parser.yy" // lalr1.cc:636 - { yyoutput << yysym.value.template as< uint8_t > (); } + { yyoutput << yysym.value.template as< int8_t > (); } #line 450 "parser.cc" // lalr1.cc:636 break; @@ -701,6 +701,10 @@ namespace isc { namespace eval { yylhs.value.build< TokenRelay6Field::FieldType > (); break; + case 60: // nest_level + yylhs.value.build< int8_t > (); + break; + case 47: // "constant string" case 48: // "integer" case 49: // "constant hexstring" @@ -718,10 +722,6 @@ namespace isc { namespace eval { yylhs.value.build< uint32_t > (); break; - case 60: // nest_level - yylhs.value.build< uint8_t > (); - break; - default: break; } @@ -814,7 +814,7 @@ namespace isc { namespace eval { switch (ctx.getUniverse()) { case Option::V6: { - TokenPtr opt(new TokenRelay6Option(yystack_[8].value.as< uint8_t > (), yystack_[3].value.as< uint16_t > (), TokenOption::EXISTS)); + TokenPtr opt(new TokenRelay6Option(yystack_[8].value.as< int8_t > (), yystack_[3].value.as< uint16_t > (), TokenOption::EXISTS)); ctx.expression.push_back(opt); break; } @@ -932,7 +932,7 @@ namespace isc { namespace eval { switch (ctx.getUniverse()) { case Option::V6: { - TokenPtr opt(new TokenRelay6Option(yystack_[8].value.as< uint8_t > (), yystack_[3].value.as< uint16_t > (), yystack_[0].value.as< TokenOption::RepresentationType > ())); + TokenPtr opt(new TokenRelay6Option(yystack_[8].value.as< int8_t > (), yystack_[3].value.as< uint16_t > (), yystack_[0].value.as< TokenOption::RepresentationType > ())); ctx.expression.push_back(opt); break; } @@ -995,7 +995,7 @@ namespace isc { namespace eval { switch (ctx.getUniverse()) { case Option::V6: { - TokenPtr relay6field(new TokenRelay6Field(yystack_[3].value.as< uint8_t > (), yystack_[0].value.as< TokenRelay6Field::FieldType > ())); + TokenPtr relay6field(new TokenRelay6Field(yystack_[3].value.as< int8_t > (), yystack_[0].value.as< TokenRelay6Field::FieldType > ())); ctx.expression.push_back(relay6field); break; } @@ -1151,7 +1151,7 @@ namespace isc { namespace eval { case 39: #line 418 "parser.yy" // lalr1.cc:859 { - yylhs.value.as< uint8_t > () = ctx.convertNestLevelNumber(yystack_[0].value.as< std::string > (), yystack_[0].location); + yylhs.value.as< int8_t > () = ctx.convertNestLevelNumber(yystack_[0].value.as< std::string > (), yystack_[0].location); } #line 1157 "parser.cc" // lalr1.cc:859 break; diff --git a/src/lib/eval/parser.h b/src/lib/eval/parser.h index 02653cdb46..a5d86f39a9 100644 --- a/src/lib/eval/parser.h +++ b/src/lib/eval/parser.h @@ -318,22 +318,22 @@ namespace isc { namespace eval { // relay6_field char dummy5[sizeof(TokenRelay6Field::FieldType)]; + // nest_level + char dummy6[sizeof(int8_t)]; + // "constant string" // "integer" // "constant hexstring" // "option name" // "ip address" - char dummy6[sizeof(std::string)]; + char dummy7[sizeof(std::string)]; // option_code - char dummy7[sizeof(uint16_t)]; + char dummy8[sizeof(uint16_t)]; // integer_expr // enterprise_id - char dummy8[sizeof(uint32_t)]; - - // nest_level - char dummy9[sizeof(uint8_t)]; + char dummy9[sizeof(uint32_t)]; }; /// Symbol semantic values. @@ -453,14 +453,14 @@ namespace isc { namespace eval { basic_symbol (typename Base::kind_type t, const TokenRelay6Field::FieldType v, const location_type& l); + basic_symbol (typename Base::kind_type t, const int8_t v, const location_type& l); + basic_symbol (typename Base::kind_type t, const std::string v, const location_type& l); basic_symbol (typename Base::kind_type t, const uint16_t v, const location_type& l); basic_symbol (typename Base::kind_type t, const uint32_t v, const location_type& l); - basic_symbol (typename Base::kind_type t, const uint8_t v, const location_type& l); - /// Constructor for symbols with semantic value. basic_symbol (typename Base::kind_type t, @@ -1040,6 +1040,10 @@ namespace isc { namespace eval { value.copy< TokenRelay6Field::FieldType > (other.value); break; + case 60: // nest_level + value.copy< int8_t > (other.value); + break; + case 47: // "constant string" case 48: // "integer" case 49: // "constant hexstring" @@ -1057,10 +1061,6 @@ namespace isc { namespace eval { value.copy< uint32_t > (other.value); break; - case 60: // nest_level - value.copy< uint8_t > (other.value); - break; - default: break; } @@ -1098,6 +1098,10 @@ namespace isc { namespace eval { value.copy< TokenRelay6Field::FieldType > (v); break; + case 60: // nest_level + value.copy< int8_t > (v); + break; + case 47: // "constant string" case 48: // "integer" case 49: // "constant hexstring" @@ -1115,10 +1119,6 @@ namespace isc { namespace eval { value.copy< uint32_t > (v); break; - case 60: // nest_level - value.copy< uint8_t > (v); - break; - default: break; } @@ -1170,28 +1170,28 @@ namespace isc { namespace eval { {} template - EvalParser::basic_symbol::basic_symbol (typename Base::kind_type t, const std::string v, const location_type& l) + EvalParser::basic_symbol::basic_symbol (typename Base::kind_type t, const int8_t v, const location_type& l) : Base (t) , value (v) , location (l) {} template - EvalParser::basic_symbol::basic_symbol (typename Base::kind_type t, const uint16_t v, const location_type& l) + EvalParser::basic_symbol::basic_symbol (typename Base::kind_type t, const std::string v, const location_type& l) : Base (t) , value (v) , location (l) {} template - EvalParser::basic_symbol::basic_symbol (typename Base::kind_type t, const uint32_t v, const location_type& l) + EvalParser::basic_symbol::basic_symbol (typename Base::kind_type t, const uint16_t v, const location_type& l) : Base (t) , value (v) , location (l) {} template - EvalParser::basic_symbol::basic_symbol (typename Base::kind_type t, const uint8_t v, const location_type& l) + EvalParser::basic_symbol::basic_symbol (typename Base::kind_type t, const uint32_t v, const location_type& l) : Base (t) , value (v) , location (l) @@ -1243,6 +1243,10 @@ namespace isc { namespace eval { value.template destroy< TokenRelay6Field::FieldType > (); break; + case 60: // nest_level + value.template destroy< int8_t > (); + break; + case 47: // "constant string" case 48: // "integer" case 49: // "constant hexstring" @@ -1260,10 +1264,6 @@ namespace isc { namespace eval { value.template destroy< uint32_t > (); break; - case 60: // nest_level - value.template destroy< uint8_t > (); - break; - default: break; } @@ -1307,6 +1307,10 @@ namespace isc { namespace eval { value.move< TokenRelay6Field::FieldType > (s.value); break; + case 60: // nest_level + value.move< int8_t > (s.value); + break; + case 47: // "constant string" case 48: // "integer" case 49: // "constant hexstring" @@ -1324,10 +1328,6 @@ namespace isc { namespace eval { value.move< uint32_t > (s.value); break; - case 60: // nest_level - value.move< uint8_t > (s.value); - break; - default: break; } diff --git a/src/lib/eval/position.hh b/src/lib/eval/position.hh index 8421b7d047..8b6fbea73c 100644 --- a/src/lib/eval/position.hh +++ b/src/lib/eval/position.hh @@ -1,4 +1,4 @@ -// Generated 201705171457 +// Generated 201707051218 // A Bison parser, made by GNU Bison 3.0.4. // Positions for Bison parsers in C++ diff --git a/src/lib/eval/stack.hh b/src/lib/eval/stack.hh index ba3a4c6737..6ebdc5161a 100644 --- a/src/lib/eval/stack.hh +++ b/src/lib/eval/stack.hh @@ -1,4 +1,4 @@ -// Generated 201705171457 +// Generated 201707051218 // A Bison parser, made by GNU Bison 3.0.4. // Stack handling for Bison parsers in C++ -- cgit v1.2.3 From c20efb697dd807f098f5e9038506360cae14b4e1 Mon Sep 17 00:00:00 2001 From: Josh Soref Date: Sun, 23 Jul 2017 16:33:16 -0400 Subject: spelling: should --- src/bin/agent/agent_parser.cc | 2 +- src/bin/agent/tests/ca_controller_unittests.cc | 4 ++-- src/bin/d2/d2_parser.cc | 2 +- src/bin/dhcp4/dhcp4_parser.cc | 2 +- src/bin/dhcp6/dhcp6_parser.cc | 2 +- src/bin/perfdhcp/command_options.h | 2 +- src/lib/dhcp/tests/opaque_data_tuple_unittest.cc | 2 +- src/lib/eval/parser.cc | 2 +- 8 files changed, 9 insertions(+), 9 deletions(-) (limited to 'src/lib/eval/parser.cc') diff --git a/src/bin/agent/agent_parser.cc b/src/bin/agent/agent_parser.cc index 9d00e198fb..4805cc75cc 100644 --- a/src/bin/agent/agent_parser.cc +++ b/src/bin/agent/agent_parser.cc @@ -490,7 +490,7 @@ namespace isc { namespace agent { /// The return value of parse (). int yyresult; - // FIXME: This shoud be completely indented. It is not yet to + // FIXME: This should be completely indented. It is not yet to // avoid gratuitous conflicts when merging into the master branch. try { diff --git a/src/bin/agent/tests/ca_controller_unittests.cc b/src/bin/agent/tests/ca_controller_unittests.cc index ef5e590ebc..566ea8d01f 100644 --- a/src/bin/agent/tests/ca_controller_unittests.cc +++ b/src/bin/agent/tests/ca_controller_unittests.cc @@ -436,7 +436,7 @@ TEST_F(CtrlAgentControllerTest, registeredCommands) { // code as CtrlAgentController is not initialized the same way it is // in production code. In particular, the way CtrlAgentController // is initialized in tests does not call registerCommands(). - // This is a crude workaround for this problem. Proper solution shoul + // This is a crude workaround for this problem. Proper solution should // be developed sooner rather than later. const DControllerBasePtr& base = getController(); const CtrlAgentControllerPtr& ctrl = @@ -466,7 +466,7 @@ TEST_F(CtrlAgentControllerTest, configWrite) { // code as CtrlAgentController is not initialized the same way it is // in production code. In particular, the way CtrlAgentController // is initialized in tests does not call registerCommands(). - // This is a crude workaround for this problem. Proper solution shoul + // This is a crude workaround for this problem. Proper solution should // be developed sooner rather than later. const DControllerBasePtr& base = getController(); const CtrlAgentControllerPtr& ctrl diff --git a/src/bin/d2/d2_parser.cc b/src/bin/d2/d2_parser.cc index b4405c679d..44349ec1bb 100644 --- a/src/bin/d2/d2_parser.cc +++ b/src/bin/d2/d2_parser.cc @@ -490,7 +490,7 @@ namespace isc { namespace d2 { /// The return value of parse (). int yyresult; - // FIXME: This shoud be completely indented. It is not yet to + // FIXME: This should be completely indented. It is not yet to // avoid gratuitous conflicts when merging into the master branch. try { diff --git a/src/bin/dhcp4/dhcp4_parser.cc b/src/bin/dhcp4/dhcp4_parser.cc index d01c4f88ae..5a8422d860 100644 --- a/src/bin/dhcp4/dhcp4_parser.cc +++ b/src/bin/dhcp4/dhcp4_parser.cc @@ -535,7 +535,7 @@ namespace isc { namespace dhcp { /// The return value of parse (). int yyresult; - // FIXME: This shoud be completely indented. It is not yet to + // FIXME: This should be completely indented. It is not yet to // avoid gratuitous conflicts when merging into the master branch. try { diff --git a/src/bin/dhcp6/dhcp6_parser.cc b/src/bin/dhcp6/dhcp6_parser.cc index eb6205f2b2..f864233d49 100644 --- a/src/bin/dhcp6/dhcp6_parser.cc +++ b/src/bin/dhcp6/dhcp6_parser.cc @@ -535,7 +535,7 @@ namespace isc { namespace dhcp { /// The return value of parse (). int yyresult; - // FIXME: This shoud be completely indented. It is not yet to + // FIXME: This should be completely indented. It is not yet to // avoid gratuitous conflicts when merging into the master branch. try { diff --git a/src/bin/perfdhcp/command_options.h b/src/bin/perfdhcp/command_options.h index d6cae48669..8b957d3d82 100644 --- a/src/bin/perfdhcp/command_options.h +++ b/src/bin/perfdhcp/command_options.h @@ -272,7 +272,7 @@ public: /// \return true if server-iD to be taken from first package. bool isUseFirst() const { return use_first_; } - /// \brief Check if generated DHCPv6 messages shuold appear as relayed. + /// \brief Check if generated DHCPv6 messages should appear as relayed. /// /// \return true if generated traffic should appear as relayed. bool isUseRelayedV6() const { return (v6_relay_encapsulation_level_ > 0); } diff --git a/src/lib/dhcp/tests/opaque_data_tuple_unittest.cc b/src/lib/dhcp/tests/opaque_data_tuple_unittest.cc index 10f4d2a6ae..85cbe868b2 100644 --- a/src/lib/dhcp/tests/opaque_data_tuple_unittest.cc +++ b/src/lib/dhcp/tests/opaque_data_tuple_unittest.cc @@ -417,7 +417,7 @@ TEST(OpaqueDataTuple, unpack2Byte) { for (int i = 0; i < 400; ++i) { wire_data.push_back(i); } - // The unpack shoud succeed. + // The unpack should succeed. ASSERT_NO_THROW(tuple.unpack(wire_data.begin(), wire_data.end())); // The decoded length should be 400. ASSERT_EQ(400, tuple.getLength()); diff --git a/src/lib/eval/parser.cc b/src/lib/eval/parser.cc index bf9349a55a..f952ef31de 100644 --- a/src/lib/eval/parser.cc +++ b/src/lib/eval/parser.cc @@ -586,7 +586,7 @@ namespace isc { namespace eval { /// The return value of parse (). int yyresult; - // FIXME: This shoud be completely indented. It is not yet to + // FIXME: This should be completely indented. It is not yet to // avoid gratuitous conflicts when merging into the master branch. try { -- cgit v1.2.3