From: Tomek Mrugalski Date: Tue, 23 Aug 2016 11:18:07 +0000 (+0200) Subject: [4483] Parser files regenerated. X-Git-Tag: trac4631_base~15^2~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a82769b7246a4273fb5d641dc1a6ea65b1125044;p=thirdparty%2Fkea.git [4483] Parser files regenerated. --- diff --git a/src/lib/eval/lexer.cc b/src/lib/eval/lexer.cc index 69757ba1b3..af6de6d4bb 100644 --- a/src/lib/eval/lexer.cc +++ b/src/lib/eval/lexer.cc @@ -745,11 +745,11 @@ int yy_flex_debug = 1; static yyconst flex_int16_t yy_rule_linenum[51] = { 0, - 82, 86, 92, 102, 108, 122, 129, 143, 144, 145, - 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, - 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, - 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, - 176, 177, 178, 179, 180, 181, 182, 183, 184, 185 + 82, 86, 92, 102, 108, 126, 133, 147, 148, 149, + 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, + 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, + 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, + 180, 181, 182, 183, 184, 185, 186, 187, 188, 189 } ; static yy_state_type *yy_state_buf=0, *yy_state_ptr=0; @@ -1286,7 +1286,11 @@ YY_RULE_SETUP std::string tmp(yytext); try { - static_cast(boost::lexical_cast(tmp)); + // In substring we want to use negative values (e.g. -1). + // In enterprise-id we need to use values up to 0xffffffff. + // To cover both of those use cases, we need at least + // int64_t. + static_cast(boost::lexical_cast(tmp)); } catch (const boost::bad_lexical_cast &) { driver.error(loc, "Failed to convert " + tmp + " to an integer."); } @@ -1298,7 +1302,7 @@ YY_RULE_SETUP case 6: /* rule 6 can match eol */ YY_RULE_SETUP -#line 122 "lexer.ll" +#line 126 "lexer.ll" { // This string specifies option name starting with a letter // and further containing letters, digits, hyphens and @@ -1308,7 +1312,7 @@ YY_RULE_SETUP YY_BREAK case 7: YY_RULE_SETUP -#line 129 "lexer.ll" +#line 133 "lexer.ll" { // IPv4 or IPv6 address std::string tmp(yytext); @@ -1325,229 +1329,229 @@ YY_RULE_SETUP YY_BREAK case 8: YY_RULE_SETUP -#line 143 "lexer.ll" +#line 147 "lexer.ll" return isc::eval::EvalParser::make_EQUAL(loc); YY_BREAK case 9: YY_RULE_SETUP -#line 144 "lexer.ll" +#line 148 "lexer.ll" return isc::eval::EvalParser::make_OPTION(loc); YY_BREAK case 10: YY_RULE_SETUP -#line 145 "lexer.ll" +#line 149 "lexer.ll" return isc::eval::EvalParser::make_RELAY4(loc); YY_BREAK case 11: YY_RULE_SETUP -#line 146 "lexer.ll" +#line 150 "lexer.ll" return isc::eval::EvalParser::make_RELAY6(loc); YY_BREAK case 12: YY_RULE_SETUP -#line 147 "lexer.ll" +#line 151 "lexer.ll" return isc::eval::EvalParser::make_PEERADDR(loc); YY_BREAK case 13: YY_RULE_SETUP -#line 148 "lexer.ll" +#line 152 "lexer.ll" return isc::eval::EvalParser::make_LINKADDR(loc); YY_BREAK case 14: YY_RULE_SETUP -#line 149 "lexer.ll" +#line 153 "lexer.ll" return isc::eval::EvalParser::make_TEXT(loc); YY_BREAK case 15: YY_RULE_SETUP -#line 150 "lexer.ll" +#line 154 "lexer.ll" return isc::eval::EvalParser::make_HEX(loc); YY_BREAK case 16: YY_RULE_SETUP -#line 151 "lexer.ll" +#line 155 "lexer.ll" return isc::eval::EvalParser::make_EXISTS(loc); YY_BREAK case 17: YY_RULE_SETUP -#line 152 "lexer.ll" +#line 156 "lexer.ll" return isc::eval::EvalParser::make_PKT(loc); YY_BREAK case 18: YY_RULE_SETUP -#line 153 "lexer.ll" +#line 157 "lexer.ll" return isc::eval::EvalParser::make_IFACE(loc); YY_BREAK case 19: YY_RULE_SETUP -#line 154 "lexer.ll" +#line 158 "lexer.ll" return isc::eval::EvalParser::make_SRC(loc); YY_BREAK case 20: YY_RULE_SETUP -#line 155 "lexer.ll" +#line 159 "lexer.ll" return isc::eval::EvalParser::make_DST(loc); YY_BREAK case 21: YY_RULE_SETUP -#line 156 "lexer.ll" +#line 160 "lexer.ll" return isc::eval::EvalParser::make_LEN(loc); YY_BREAK case 22: YY_RULE_SETUP -#line 157 "lexer.ll" +#line 161 "lexer.ll" return isc::eval::EvalParser::make_PKT4(loc); YY_BREAK case 23: YY_RULE_SETUP -#line 158 "lexer.ll" +#line 162 "lexer.ll" return isc::eval::EvalParser::make_CHADDR(loc); YY_BREAK case 24: YY_RULE_SETUP -#line 159 "lexer.ll" +#line 163 "lexer.ll" return isc::eval::EvalParser::make_HLEN(loc); YY_BREAK case 25: YY_RULE_SETUP -#line 160 "lexer.ll" +#line 164 "lexer.ll" return isc::eval::EvalParser::make_HTYPE(loc); YY_BREAK case 26: YY_RULE_SETUP -#line 161 "lexer.ll" +#line 165 "lexer.ll" return isc::eval::EvalParser::make_CIADDR(loc); YY_BREAK case 27: YY_RULE_SETUP -#line 162 "lexer.ll" +#line 166 "lexer.ll" return isc::eval::EvalParser::make_GIADDR(loc); YY_BREAK case 28: YY_RULE_SETUP -#line 163 "lexer.ll" +#line 167 "lexer.ll" return isc::eval::EvalParser::make_YIADDR(loc); YY_BREAK case 29: YY_RULE_SETUP -#line 164 "lexer.ll" +#line 168 "lexer.ll" return isc::eval::EvalParser::make_SIADDR(loc); YY_BREAK case 30: YY_RULE_SETUP -#line 165 "lexer.ll" +#line 169 "lexer.ll" return isc::eval::EvalParser::make_PKT6(loc); YY_BREAK case 31: YY_RULE_SETUP -#line 166 "lexer.ll" +#line 170 "lexer.ll" return isc::eval::EvalParser::make_MSGTYPE(loc); YY_BREAK case 32: YY_RULE_SETUP -#line 167 "lexer.ll" +#line 171 "lexer.ll" return isc::eval::EvalParser::make_TRANSID(loc); YY_BREAK case 33: YY_RULE_SETUP -#line 168 "lexer.ll" +#line 172 "lexer.ll" return isc::eval::EvalParser::make_VENDOR(loc); YY_BREAK case 34: YY_RULE_SETUP -#line 169 "lexer.ll" +#line 173 "lexer.ll" return isc::eval::EvalParser::make_VENDOR_CLASS(loc); YY_BREAK case 35: YY_RULE_SETUP -#line 170 "lexer.ll" +#line 174 "lexer.ll" return isc::eval::EvalParser::make_DATA(loc); YY_BREAK case 36: YY_RULE_SETUP -#line 171 "lexer.ll" +#line 175 "lexer.ll" return isc::eval::EvalParser::make_ENTERPRISE(loc); YY_BREAK case 37: YY_RULE_SETUP -#line 172 "lexer.ll" +#line 176 "lexer.ll" return isc::eval::EvalParser::make_SUBSTRING(loc); YY_BREAK case 38: YY_RULE_SETUP -#line 173 "lexer.ll" +#line 177 "lexer.ll" return isc::eval::EvalParser::make_ALL(loc); YY_BREAK case 39: YY_RULE_SETUP -#line 174 "lexer.ll" +#line 178 "lexer.ll" return isc::eval::EvalParser::make_CONCAT(loc); YY_BREAK case 40: YY_RULE_SETUP -#line 175 "lexer.ll" +#line 179 "lexer.ll" return isc::eval::EvalParser::make_NOT(loc); YY_BREAK case 41: YY_RULE_SETUP -#line 176 "lexer.ll" +#line 180 "lexer.ll" return isc::eval::EvalParser::make_AND(loc); YY_BREAK case 42: YY_RULE_SETUP -#line 177 "lexer.ll" +#line 181 "lexer.ll" return isc::eval::EvalParser::make_OR(loc); YY_BREAK case 43: YY_RULE_SETUP -#line 178 "lexer.ll" +#line 182 "lexer.ll" return isc::eval::EvalParser::make_DOT(loc); YY_BREAK case 44: YY_RULE_SETUP -#line 179 "lexer.ll" +#line 183 "lexer.ll" return isc::eval::EvalParser::make_LPAREN(loc); YY_BREAK case 45: YY_RULE_SETUP -#line 180 "lexer.ll" +#line 184 "lexer.ll" return isc::eval::EvalParser::make_RPAREN(loc); YY_BREAK case 46: YY_RULE_SETUP -#line 181 "lexer.ll" +#line 185 "lexer.ll" return isc::eval::EvalParser::make_LBRACKET(loc); YY_BREAK case 47: YY_RULE_SETUP -#line 182 "lexer.ll" +#line 186 "lexer.ll" return isc::eval::EvalParser::make_RBRACKET(loc); YY_BREAK case 48: YY_RULE_SETUP -#line 183 "lexer.ll" +#line 187 "lexer.ll" return isc::eval::EvalParser::make_COMA(loc); YY_BREAK case 49: YY_RULE_SETUP -#line 184 "lexer.ll" +#line 188 "lexer.ll" return isc::eval::EvalParser::make_ANY(loc); YY_BREAK case 50: YY_RULE_SETUP -#line 185 "lexer.ll" +#line 189 "lexer.ll" driver.error (loc, "Invalid character: " + std::string(yytext)); YY_BREAK case YY_STATE_EOF(INITIAL): -#line 186 "lexer.ll" +#line 190 "lexer.ll" return isc::eval::EvalParser::make_END(loc); YY_BREAK case 51: YY_RULE_SETUP -#line 187 "lexer.ll" +#line 191 "lexer.ll" ECHO; YY_BREAK -#line 1551 "lexer.cc" +#line 1555 "lexer.cc" case YY_END_OF_BUFFER: { @@ -2630,7 +2634,7 @@ void yyfree (void * ptr ) /* %ok-for-header */ -#line 187 "lexer.ll" +#line 191 "lexer.ll" diff --git a/src/lib/eval/parser.cc b/src/lib/eval/parser.cc index 7a0f30ac65..4631b44a7d 100644 --- a/src/lib/eval/parser.cc +++ b/src/lib/eval/parser.cc @@ -1109,8 +1109,8 @@ namespace isc { namespace eval { case 32: #line 382 "parser.yy" // lalr1.cc:859 { - yylhs.value.as< uint32_t > () = ctx.convertUint32(yystack_[0].value.as< std::string > (), yystack_[0].location); - } + yylhs.value.as< uint32_t > () = ctx.convertUint32(yystack_[0].value.as< std::string > (), yystack_[0].location); + } #line 1115 "parser.cc" // lalr1.cc:859 break;