From fdc6409e55259c44adae6de50ea4e100a8e1c7da Mon Sep 17 00:00:00 2001 From: Francis Dupont Date: Wed, 7 Aug 2024 19:49:42 +0000 Subject: [PATCH] [#3502] Regen flex/bison --- src/lib/eval/location.hh | 2 +- src/lib/eval/parser.cc | 350 +++++++++++++++++++-------------------- 2 files changed, 176 insertions(+), 176 deletions(-) diff --git a/src/lib/eval/location.hh b/src/lib/eval/location.hh index 8301f12026..674df6e31a 100644 --- a/src/lib/eval/location.hh +++ b/src/lib/eval/location.hh @@ -1,4 +1,4 @@ -// Generated 202408071933 +// Generated 202408071949 // A Bison parser, made by GNU Bison 3.8.2. // Locations for Bison parsers in C++ diff --git a/src/lib/eval/parser.cc b/src/lib/eval/parser.cc index cc7c1e825a..2faa1aaedd 100644 --- a/src/lib/eval/parser.cc +++ b/src/lib/eval/parser.cc @@ -865,82 +865,82 @@ namespace isc { namespace eval { #line 165 "parser.yy" { unsigned target = ctx.labels.back(); - ctx.labels.pop_back(); + ctx.labels.pop_back(); TokenPtr lab(new TokenLabel(target)); ctx.expression.push_back(lab); } -#line 872 "parser.cc" +#line 873 "parser.cc" break; case 9: // bool_expr: bool_expr "sand" bool_expr -#line 171 "parser.yy" +#line 172 "parser.yy" { TokenPtr neg(new TokenAnd()); ctx.expression.push_back(neg); } -#line 881 "parser.cc" +#line 882 "parser.cc" break; case 10: // $@2: %empty -#line 176 "parser.yy" +#line 177 "parser.yy" { unsigned target = ++ctx.label; ctx.labels.push_back(target); TokenPtr pobt(new TokenPopOrBranchTrue(target)); ctx.expression.push_back(pobt); } -#line 892 "parser.cc" +#line 893 "parser.cc" break; case 11: // bool_expr: bool_expr "or" $@2 bool_expr -#line 181 "parser.yy" +#line 182 "parser.yy" { unsigned target = ctx.labels.back(); - ctx.labels.pop_back(); + ctx.labels.pop_back(); TokenPtr lab(new TokenLabel(target)); ctx.expression.push_back(lab); } -#line 902 "parser.cc" +#line 904 "parser.cc" break; case 12: // bool_expr: bool_expr "sor" bool_expr -#line 187 "parser.yy" +#line 189 "parser.yy" { TokenPtr neg(new TokenOr()); ctx.expression.push_back(neg); } -#line 911 "parser.cc" +#line 913 "parser.cc" break; case 13: // bool_expr: string_expr "==" string_expr -#line 192 "parser.yy" +#line 194 "parser.yy" { TokenPtr eq(new TokenEqual()); ctx.expression.push_back(eq); } -#line 920 "parser.cc" +#line 922 "parser.cc" break; case 14: // bool_expr: "option" "[" option_code "]" "." "exists" -#line 197 "parser.yy" +#line 199 "parser.yy" { TokenPtr opt(new TokenOption(yystack_[3].value.as < uint16_t > (), TokenOption::EXISTS)); ctx.expression.push_back(opt); } -#line 929 "parser.cc" +#line 931 "parser.cc" break; case 15: // bool_expr: "option" "[" option_code "]" "." "option" "[" sub_option_code "]" "." "exists" -#line 202 "parser.yy" +#line 204 "parser.yy" { TokenPtr opt(new TokenSubOption(yystack_[8].value.as < uint16_t > (), yystack_[3].value.as < uint16_t > (), TokenOption::EXISTS)); ctx.expression.push_back(opt); } -#line 938 "parser.cc" +#line 940 "parser.cc" break; case 16: // bool_expr: "relay4" "[" sub_option_code "]" "." "exists" -#line 207 "parser.yy" +#line 209 "parser.yy" { switch (ctx.getUniverse()) { case Option::V4: @@ -960,11 +960,11 @@ namespace isc { namespace eval { error(yystack_[5].location, "relay4 can only be used in DHCPv4."); } } -#line 962 "parser.cc" +#line 964 "parser.cc" break; case 17: // bool_expr: "relay6" "[" nest_level "]" "." "option" "[" sub_option_code "]" "." "exists" -#line 227 "parser.yy" +#line 229 "parser.yy" { switch (ctx.getUniverse()) { case Option::V6: @@ -978,11 +978,11 @@ namespace isc { namespace eval { error(yystack_[10].location, "relay6 can only be used in DHCPv6."); } } -#line 980 "parser.cc" +#line 982 "parser.cc" break; case 18: // bool_expr: "vendor-class" "[" enterprise_id "]" "." "exists" -#line 241 "parser.yy" +#line 243 "parser.yy" { // Expression: vendor-class[1234].exists // @@ -991,11 +991,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 993 "parser.cc" +#line 995 "parser.cc" break; case 19: // bool_expr: "vendor" "[" enterprise_id "]" "." "exists" -#line 250 "parser.yy" +#line 252 "parser.yy" { // Expression: vendor[1234].exists // @@ -1004,11 +1004,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 1006 "parser.cc" +#line 1008 "parser.cc" break; case 20: // bool_expr: "vendor" "[" enterprise_id "]" "." "option" "[" sub_option_code "]" "." "exists" -#line 259 "parser.yy" +#line 261 "parser.yy" { // Expression vendor[1234].option[123].exists // @@ -1018,11 +1018,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 1020 "parser.cc" +#line 1022 "parser.cc" break; case 21: // bool_expr: "member" "(" "constant string" ")" -#line 269 "parser.yy" +#line 271 "parser.yy" { // Expression member('foo') // @@ -1037,11 +1037,11 @@ namespace isc { namespace eval { TokenPtr member(new TokenMember(cc)); ctx.expression.push_back(member); } -#line 1039 "parser.cc" +#line 1041 "parser.cc" break; case 22: // bool_expr: "match" "(" "constant string" "," string_expr ")" -#line 284 "parser.yy" +#line 286 "parser.yy" { // Expression match('', ) // @@ -1050,56 +1050,56 @@ namespace isc { namespace eval { TokenPtr match(new TokenMatch(yystack_[3].value.as < std::string > ())); ctx.expression.push_back(match); } -#line 1052 "parser.cc" +#line 1054 "parser.cc" break; case 23: // string_expr: "constant string" -#line 295 "parser.yy" +#line 297 "parser.yy" { TokenPtr str(new TokenString(yystack_[0].value.as < std::string > ())); ctx.expression.push_back(str); } -#line 1061 "parser.cc" +#line 1063 "parser.cc" break; case 24: // string_expr: "constant hexstring" -#line 300 "parser.yy" +#line 302 "parser.yy" { TokenPtr hex(new TokenHexString(yystack_[0].value.as < std::string > ())); ctx.expression.push_back(hex); } -#line 1070 "parser.cc" +#line 1072 "parser.cc" break; case 25: // string_expr: "ip address" -#line 305 "parser.yy" +#line 307 "parser.yy" { TokenPtr ip(new TokenIpAddress(yystack_[0].value.as < std::string > ())); ctx.expression.push_back(ip); } -#line 1079 "parser.cc" +#line 1081 "parser.cc" break; case 26: // string_expr: "option" "[" option_code "]" "." option_repr_type -#line 310 "parser.yy" +#line 312 "parser.yy" { TokenPtr opt(new TokenOption(yystack_[3].value.as < uint16_t > (), yystack_[0].value.as < TokenOption::RepresentationType > ())); ctx.expression.push_back(opt); } -#line 1088 "parser.cc" +#line 1090 "parser.cc" break; case 27: // string_expr: "option" "[" option_code "]" "." "option" "[" sub_option_code "]" "." option_repr_type -#line 315 "parser.yy" +#line 317 "parser.yy" { TokenPtr opt(new TokenSubOption(yystack_[8].value.as < uint16_t > (), yystack_[3].value.as < uint16_t > (), yystack_[0].value.as < TokenOption::RepresentationType > ())); ctx.expression.push_back(opt); } -#line 1097 "parser.cc" +#line 1099 "parser.cc" break; case 28: // string_expr: "relay4" "[" sub_option_code "]" "." option_repr_type -#line 320 "parser.yy" +#line 322 "parser.yy" { switch (ctx.getUniverse()) { case Option::V4: @@ -1119,11 +1119,11 @@ namespace isc { namespace eval { error(yystack_[5].location, "relay4 can only be used in DHCPv4."); } } -#line 1121 "parser.cc" +#line 1123 "parser.cc" break; case 29: // string_expr: "relay6" "[" nest_level "]" "." "option" "[" sub_option_code "]" "." option_repr_type -#line 341 "parser.yy" +#line 343 "parser.yy" { switch (ctx.getUniverse()) { case Option::V6: @@ -1137,20 +1137,20 @@ namespace isc { namespace eval { error(yystack_[10].location, "relay6 can only be used in DHCPv6."); } } -#line 1139 "parser.cc" +#line 1141 "parser.cc" break; case 30: // string_expr: "pkt" "." pkt_metadata -#line 356 "parser.yy" +#line 358 "parser.yy" { TokenPtr pkt_metadata(new TokenPkt(yystack_[0].value.as < TokenPkt::MetadataType > ())); ctx.expression.push_back(pkt_metadata); } -#line 1148 "parser.cc" +#line 1150 "parser.cc" break; case 31: // string_expr: "pkt4" "." pkt4_field -#line 361 "parser.yy" +#line 363 "parser.yy" { switch (ctx.getUniverse()) { case Option::V4: @@ -1164,11 +1164,11 @@ namespace isc { namespace eval { error(yystack_[2].location, "pkt4 can only be used in DHCPv4."); } } -#line 1166 "parser.cc" +#line 1168 "parser.cc" break; case 32: // string_expr: "pkt6" "." pkt6_field -#line 375 "parser.yy" +#line 377 "parser.yy" { switch (ctx.getUniverse()) { case Option::V6: @@ -1182,11 +1182,11 @@ namespace isc { namespace eval { error(yystack_[2].location, "pkt6 can only be used in DHCPv6."); } } -#line 1184 "parser.cc" +#line 1186 "parser.cc" break; case 33: // string_expr: "relay6" "[" nest_level "]" "." relay6_field -#line 389 "parser.yy" +#line 391 "parser.yy" { switch (ctx.getUniverse()) { case Option::V6: @@ -1200,79 +1200,79 @@ namespace isc { namespace eval { error(yystack_[5].location, "relay6 can only be used in DHCPv6."); } } -#line 1202 "parser.cc" +#line 1204 "parser.cc" break; case 34: // string_expr: "substring" "(" string_expr "," start_expr "," length_expr ")" -#line 404 "parser.yy" +#line 406 "parser.yy" { TokenPtr sub(new TokenSubstring()); ctx.expression.push_back(sub); } -#line 1211 "parser.cc" +#line 1213 "parser.cc" break; case 35: // string_expr: "split" "(" string_expr "," string_expr "," int_expr ")" -#line 409 "parser.yy" +#line 411 "parser.yy" { TokenPtr split(new TokenSplit()); ctx.expression.push_back(split); } -#line 1220 "parser.cc" +#line 1222 "parser.cc" break; case 36: // string_expr: "concat" "(" string_expr "," string_expr ")" -#line 414 "parser.yy" +#line 416 "parser.yy" { TokenPtr conc(new TokenConcat()); ctx.expression.push_back(conc); } -#line 1229 "parser.cc" +#line 1231 "parser.cc" break; case 37: // string_expr: string_expr "+" string_expr -#line 419 "parser.yy" +#line 421 "parser.yy" { TokenPtr conc(new TokenConcat()); ctx.expression.push_back(conc); } -#line 1238 "parser.cc" +#line 1240 "parser.cc" break; case 38: // string_expr: "lcase" "(" string_expr ")" -#line 424 "parser.yy" +#line 426 "parser.yy" { TokenPtr lcase(new TokenLowerCase()); ctx.expression.push_back(lcase); } -#line 1247 "parser.cc" +#line 1249 "parser.cc" break; case 39: // string_expr: "ucase" "(" string_expr ")" -#line 429 "parser.yy" +#line 431 "parser.yy" { TokenPtr ucase(new TokenUpperCase()); ctx.expression.push_back(ucase); } -#line 1256 "parser.cc" +#line 1258 "parser.cc" break; case 40: // $@3: %empty -#line 434 "parser.yy" +#line 436 "parser.yy" { unsigned target = ++ctx.label; ctx.labels.push_back(target); TokenPtr pabf(new TokenPopAndBranchFalse(target)); ctx.expression.push_back(pabf); } -#line 1267 "parser.cc" +#line 1269 "parser.cc" break; case 41: // $@4: %empty -#line 439 "parser.yy" +#line 441 "parser.yy" { unsigned target = ctx.labels.back(); - ctx.labels.pop_back(); + ctx.labels.pop_back(); unsigned target2 = ++ctx.label; ctx.labels.push_back(target2); TokenPtr branch(new TokenBranch(target2)); @@ -1280,103 +1280,103 @@ namespace isc { namespace eval { TokenPtr lab(new TokenLabel(target)); ctx.expression.push_back(lab); } -#line 1281 "parser.cc" +#line 1284 "parser.cc" break; case 42: // string_expr: "ifelse" "(" bool_expr "," $@3 string_expr "," $@4 string_expr ")" -#line 447 "parser.yy" +#line 450 "parser.yy" { unsigned target = ctx.labels.back(); - ctx.labels.pop_back(); + ctx.labels.pop_back(); TokenPtr lab(new TokenLabel(target)); ctx.expression.push_back(lab); } -#line 1291 "parser.cc" +#line 1295 "parser.cc" break; case 43: // string_expr: "sifelse" "(" bool_expr "," string_expr "," string_expr ")" -#line 453 "parser.yy" +#line 457 "parser.yy" { TokenPtr cond(new TokenIfElse()); ctx.expression.push_back(cond); } -#line 1300 "parser.cc" +#line 1304 "parser.cc" break; case 44: // string_expr: "hexstring" "(" string_expr "," string_expr ")" -#line 458 "parser.yy" +#line 462 "parser.yy" { TokenPtr tohex(new TokenToHexString()); ctx.expression.push_back(tohex); } -#line 1309 "parser.cc" +#line 1313 "parser.cc" break; case 45: // string_expr: "addrtotext" "(" string_expr ")" -#line 463 "parser.yy" +#line 467 "parser.yy" { TokenPtr addrtotext(new TokenIpAddressToText()); ctx.expression.push_back(addrtotext); } -#line 1318 "parser.cc" +#line 1322 "parser.cc" break; case 46: // string_expr: "int8totext" "(" string_expr ")" -#line 468 "parser.yy" +#line 472 "parser.yy" { TokenPtr int8totext(new TokenInt8ToText()); ctx.expression.push_back(int8totext); } -#line 1327 "parser.cc" +#line 1331 "parser.cc" break; case 47: // string_expr: "int16totext" "(" string_expr ")" -#line 473 "parser.yy" +#line 477 "parser.yy" { TokenPtr int16totext(new TokenInt16ToText()); ctx.expression.push_back(int16totext); } -#line 1336 "parser.cc" +#line 1340 "parser.cc" break; case 48: // string_expr: "int32totext" "(" string_expr ")" -#line 478 "parser.yy" +#line 482 "parser.yy" { TokenPtr int32totext(new TokenInt32ToText()); ctx.expression.push_back(int32totext); } -#line 1345 "parser.cc" +#line 1349 "parser.cc" break; case 49: // string_expr: "uint8totext" "(" string_expr ")" -#line 483 "parser.yy" +#line 487 "parser.yy" { TokenPtr uint8totext(new TokenUInt8ToText()); ctx.expression.push_back(uint8totext); } -#line 1354 "parser.cc" +#line 1358 "parser.cc" break; case 50: // string_expr: "uint16totext" "(" string_expr ")" -#line 488 "parser.yy" +#line 492 "parser.yy" { TokenPtr uint16totext(new TokenUInt16ToText()); ctx.expression.push_back(uint16totext); } -#line 1363 "parser.cc" +#line 1367 "parser.cc" break; case 51: // string_expr: "uint32totext" "(" string_expr ")" -#line 493 "parser.yy" +#line 497 "parser.yy" { TokenPtr uint32totext(new TokenUInt32ToText()); ctx.expression.push_back(uint32totext); } -#line 1372 "parser.cc" +#line 1376 "parser.cc" break; case 52: // string_expr: "vendor" "." "enterprise" -#line 498 "parser.yy" +#line 502 "parser.yy" { // expression: vendor.enterprise // @@ -1385,11 +1385,11 @@ namespace isc { namespace eval { TokenPtr vendor(new TokenVendor(ctx.getUniverse(), 0, TokenVendor::ENTERPRISE_ID)); ctx.expression.push_back(vendor); } -#line 1385 "parser.cc" +#line 1389 "parser.cc" break; case 53: // string_expr: "vendor-class" "." "enterprise" -#line 507 "parser.yy" +#line 511 "parser.yy" { // expression: vendor-class.enterprise // @@ -1399,11 +1399,11 @@ namespace isc { namespace eval { TokenVendor::ENTERPRISE_ID)); ctx.expression.push_back(vendor); } -#line 1399 "parser.cc" +#line 1403 "parser.cc" break; case 54: // string_expr: "vendor" "[" enterprise_id "]" "." "option" "[" sub_option_code "]" "." option_repr_type -#line 517 "parser.yy" +#line 521 "parser.yy" { // This token will search for vendor option with // specified enterprise-id. If found, will search @@ -1412,11 +1412,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 1412 "parser.cc" +#line 1416 "parser.cc" break; case 55: // string_expr: "vendor-class" "[" enterprise_id "]" "." "data" -#line 526 "parser.yy" +#line 530 "parser.yy" { // expression: vendor-class[1234].data // @@ -1429,11 +1429,11 @@ namespace isc { namespace eval { TokenVendor::DATA, 0)); ctx.expression.push_back(vendor_class); } -#line 1429 "parser.cc" +#line 1433 "parser.cc" break; case 56: // string_expr: "vendor-class" "[" enterprise_id "]" "." "data" "[" "integer" "]" -#line 539 "parser.yy" +#line 543 "parser.yy" { // expression: vendor-class[1234].data[5] // @@ -1446,264 +1446,264 @@ namespace isc { namespace eval { TokenVendor::DATA, index)); ctx.expression.push_back(vendor_class); } -#line 1446 "parser.cc" +#line 1450 "parser.cc" break; case 57: // string_expr: integer_expr -#line 552 "parser.yy" +#line 556 "parser.yy" { TokenPtr integer(new TokenInteger(yystack_[0].value.as < uint32_t > ())); ctx.expression.push_back(integer); } -#line 1455 "parser.cc" +#line 1459 "parser.cc" break; case 59: // integer_expr: "integer" -#line 560 "parser.yy" +#line 564 "parser.yy" { yylhs.value.as < uint32_t > () = ctx.convertUint32(yystack_[0].value.as < std::string > (), yystack_[0].location); } -#line 1463 "parser.cc" +#line 1467 "parser.cc" break; case 60: // option_code: "integer" -#line 566 "parser.yy" +#line 570 "parser.yy" { yylhs.value.as < uint16_t > () = ctx.convertOptionCode(yystack_[0].value.as < std::string > (), yystack_[0].location); } -#line 1471 "parser.cc" +#line 1475 "parser.cc" break; case 61: // option_code: "option name" -#line 570 "parser.yy" +#line 574 "parser.yy" { yylhs.value.as < uint16_t > () = ctx.convertOptionName(yystack_[0].value.as < std::string > (), yystack_[0].location); } -#line 1479 "parser.cc" +#line 1483 "parser.cc" break; case 62: // sub_option_code: "integer" -#line 576 "parser.yy" +#line 580 "parser.yy" { yylhs.value.as < uint16_t > () = ctx.convertOptionCode(yystack_[0].value.as < std::string > (), yystack_[0].location); } -#line 1487 "parser.cc" +#line 1491 "parser.cc" break; case 63: // option_repr_type: "text" -#line 582 "parser.yy" +#line 586 "parser.yy" { yylhs.value.as < TokenOption::RepresentationType > () = TokenOption::TEXTUAL; } -#line 1495 "parser.cc" +#line 1499 "parser.cc" break; case 64: // option_repr_type: "hex" -#line 586 "parser.yy" +#line 590 "parser.yy" { yylhs.value.as < TokenOption::RepresentationType > () = TokenOption::HEXADECIMAL; } -#line 1503 "parser.cc" +#line 1507 "parser.cc" break; case 65: // nest_level: "integer" -#line 592 "parser.yy" +#line 596 "parser.yy" { yylhs.value.as < int8_t > () = ctx.convertNestLevelNumber(yystack_[0].value.as < std::string > (), yystack_[0].location); } -#line 1511 "parser.cc" +#line 1515 "parser.cc" break; case 66: // pkt_metadata: "iface" -#line 601 "parser.yy" +#line 605 "parser.yy" { yylhs.value.as < TokenPkt::MetadataType > () = TokenPkt::IFACE; } -#line 1519 "parser.cc" +#line 1523 "parser.cc" break; case 67: // pkt_metadata: "src" -#line 605 "parser.yy" +#line 609 "parser.yy" { yylhs.value.as < TokenPkt::MetadataType > () = TokenPkt::SRC; } -#line 1527 "parser.cc" +#line 1531 "parser.cc" break; case 68: // pkt_metadata: "dst" -#line 609 "parser.yy" +#line 613 "parser.yy" { yylhs.value.as < TokenPkt::MetadataType > () = TokenPkt::DST; } -#line 1535 "parser.cc" +#line 1539 "parser.cc" break; case 69: // pkt_metadata: "len" -#line 613 "parser.yy" +#line 617 "parser.yy" { yylhs.value.as < TokenPkt::MetadataType > () = TokenPkt::LEN; } -#line 1543 "parser.cc" +#line 1547 "parser.cc" break; case 70: // enterprise_id: "integer" -#line 619 "parser.yy" +#line 623 "parser.yy" { yylhs.value.as < uint32_t > () = ctx.convertUint32(yystack_[0].value.as < std::string > (), yystack_[0].location); } -#line 1551 "parser.cc" +#line 1555 "parser.cc" break; case 71: // enterprise_id: "*" -#line 623 "parser.yy" +#line 627 "parser.yy" { yylhs.value.as < uint32_t > () = 0; } -#line 1559 "parser.cc" +#line 1563 "parser.cc" break; case 72: // pkt4_field: "mac" -#line 629 "parser.yy" +#line 633 "parser.yy" { yylhs.value.as < TokenPkt4::FieldType > () = TokenPkt4::CHADDR; } -#line 1567 "parser.cc" +#line 1571 "parser.cc" break; case 73: // pkt4_field: "hlen" -#line 633 "parser.yy" +#line 637 "parser.yy" { yylhs.value.as < TokenPkt4::FieldType > () = TokenPkt4::HLEN; } -#line 1575 "parser.cc" +#line 1579 "parser.cc" break; case 74: // pkt4_field: "htype" -#line 637 "parser.yy" +#line 641 "parser.yy" { yylhs.value.as < TokenPkt4::FieldType > () = TokenPkt4::HTYPE; } -#line 1583 "parser.cc" +#line 1587 "parser.cc" break; case 75: // pkt4_field: "ciaddr" -#line 641 "parser.yy" +#line 645 "parser.yy" { yylhs.value.as < TokenPkt4::FieldType > () = TokenPkt4::CIADDR; } -#line 1591 "parser.cc" +#line 1595 "parser.cc" break; case 76: // pkt4_field: "giaddr" -#line 645 "parser.yy" +#line 649 "parser.yy" { yylhs.value.as < TokenPkt4::FieldType > () = TokenPkt4::GIADDR; } -#line 1599 "parser.cc" +#line 1603 "parser.cc" break; case 77: // pkt4_field: "yiaddr" -#line 649 "parser.yy" +#line 653 "parser.yy" { yylhs.value.as < TokenPkt4::FieldType > () = TokenPkt4::YIADDR; } -#line 1607 "parser.cc" +#line 1611 "parser.cc" break; case 78: // pkt4_field: "siaddr" -#line 653 "parser.yy" +#line 657 "parser.yy" { yylhs.value.as < TokenPkt4::FieldType > () = TokenPkt4::SIADDR; } -#line 1615 "parser.cc" +#line 1619 "parser.cc" break; case 79: // pkt4_field: "msgtype" -#line 657 "parser.yy" +#line 661 "parser.yy" { yylhs.value.as < TokenPkt4::FieldType > () = TokenPkt4::MSGTYPE; } -#line 1623 "parser.cc" +#line 1627 "parser.cc" break; case 80: // pkt4_field: "transid" -#line 661 "parser.yy" +#line 665 "parser.yy" { yylhs.value.as < TokenPkt4::FieldType > () = TokenPkt4::TRANSID; } -#line 1631 "parser.cc" +#line 1635 "parser.cc" break; case 81: // pkt6_field: "msgtype" -#line 667 "parser.yy" +#line 671 "parser.yy" { yylhs.value.as < TokenPkt6::FieldType > () = TokenPkt6::MSGTYPE; } -#line 1639 "parser.cc" +#line 1643 "parser.cc" break; case 82: // pkt6_field: "transid" -#line 671 "parser.yy" +#line 675 "parser.yy" { yylhs.value.as < TokenPkt6::FieldType > () = TokenPkt6::TRANSID; } -#line 1647 "parser.cc" +#line 1651 "parser.cc" break; case 83: // relay6_field: "peeraddr" -#line 677 "parser.yy" +#line 681 "parser.yy" { yylhs.value.as < TokenRelay6Field::FieldType > () = TokenRelay6Field::PEERADDR; } -#line 1655 "parser.cc" +#line 1659 "parser.cc" break; case 84: // relay6_field: "linkaddr" -#line 681 "parser.yy" +#line 685 "parser.yy" { yylhs.value.as < TokenRelay6Field::FieldType > () = TokenRelay6Field::LINKADDR; } -#line 1663 "parser.cc" +#line 1667 "parser.cc" break; case 85: // start_expr: "integer" -#line 687 "parser.yy" +#line 691 "parser.yy" { TokenPtr str(new TokenString(yystack_[0].value.as < std::string > ())); ctx.expression.push_back(str); } -#line 1672 "parser.cc" +#line 1676 "parser.cc" break; case 86: // length_expr: "integer" -#line 694 "parser.yy" +#line 698 "parser.yy" { TokenPtr str(new TokenString(yystack_[0].value.as < std::string > ())); ctx.expression.push_back(str); } -#line 1681 "parser.cc" +#line 1685 "parser.cc" break; case 87: // length_expr: "all" -#line 699 "parser.yy" +#line 703 "parser.yy" { TokenPtr str(new TokenString("all")); ctx.expression.push_back(str); } -#line 1690 "parser.cc" +#line 1694 "parser.cc" break; case 88: // int_expr: "integer" -#line 706 "parser.yy" +#line 710 "parser.yy" { TokenPtr str(new TokenString(yystack_[0].value.as < std::string > ())); ctx.expression.push_back(str); } -#line 1699 "parser.cc" +#line 1703 "parser.cc" break; -#line 1703 "parser.cc" +#line 1707 "parser.cc" default: break; @@ -2314,15 +2314,15 @@ namespace isc { namespace eval { const short EvalParser::yyrline_[] = { - 0, 144, 144, 145, 150, 153, 154, 160, 159, 170, - 176, 175, 186, 191, 196, 201, 206, 226, 240, 249, - 258, 268, 283, 294, 299, 304, 309, 314, 319, 340, - 355, 360, 374, 388, 403, 408, 413, 418, 423, 428, - 434, 439, 433, 452, 457, 462, 467, 472, 477, 482, - 487, 492, 497, 506, 516, 525, 538, 551, 556, 559, - 565, 569, 575, 581, 585, 591, 600, 604, 608, 612, - 618, 622, 628, 632, 636, 640, 644, 648, 652, 656, - 660, 666, 670, 676, 680, 686, 693, 698, 705 + 0, 144, 144, 145, 150, 153, 154, 160, 159, 171, + 177, 176, 188, 193, 198, 203, 208, 228, 242, 251, + 260, 270, 285, 296, 301, 306, 311, 316, 321, 342, + 357, 362, 376, 390, 405, 410, 415, 420, 425, 430, + 436, 441, 435, 456, 461, 466, 471, 476, 481, 486, + 491, 496, 501, 510, 520, 529, 542, 555, 560, 563, + 569, 573, 579, 585, 589, 595, 604, 608, 612, 616, + 622, 626, 632, 636, 640, 644, 648, 652, 656, 660, + 664, 670, 674, 680, 684, 690, 697, 702, 709 }; void @@ -2355,9 +2355,9 @@ namespace isc { namespace eval { #line 14 "parser.yy" } } // isc::eval -#line 2355 "parser.cc" +#line 2359 "parser.cc" -#line 712 "parser.yy" +#line 716 "parser.yy" void isc::eval::EvalParser::error(const location_type& loc,