X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libmemcached%2Fcsl%2Fscanner.cc;h=757d907164902e0f44a08bffb4e0c0bafc3be00f;hb=a7df49566dd006c5725eabcd11aab958cf8e5600;hp=c476019a67fac23b526a3a28b636700fdd814083;hpb=aeb06adc2d73bd2e481c162e3ac162f93a006382;p=m6w6%2Flibmemcached diff --git a/libmemcached/csl/scanner.cc b/libmemcached/csl/scanner.cc index c476019a..757d9071 100644 --- a/libmemcached/csl/scanner.cc +++ b/libmemcached/csl/scanner.cc @@ -1,21 +1,25 @@ #line 2 "libmemcached/csl/scanner.cc" -#line 22 "libmemcached/csl/scanner.l" +#line 39 "libmemcached/csl/scanner.l" #include #include #include #include +#ifndef __INTEL_COMPILER #pragma GCC diagnostic ignored "-Wold-style-cast" #pragma GCC diagnostic ignored "-Wsign-compare" #pragma GCC diagnostic ignored "-Wunused-parameter" +#endif + +#define YY_NO_INPUT #define YY_EXTRA_TYPE Context* -#line 19 "libmemcached/csl/scanner.cc" +#line 23 "libmemcached/csl/scanner.cc" #define YY_INT_ALIGNED short int @@ -1089,13 +1093,13 @@ static yyconst flex_int16_t yy_chk[1786] = static yyconst flex_int16_t yy_rule_linenum[65] = { 0, - 77, 79, 81, 83, 85, 88, 92, 94, 96, 97, - 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, - 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, - 118, 119, 120, 121, 122, 123, 125, 126, 128, 130, - 131, 132, 133, 134, 135, 137, 138, 141, 146, 147, - 148, 150, 151, 152, 153, 154, 155, 156, 157, 158, - 160, 169, 187, 194 + 98, 100, 102, 104, 106, 109, 113, 115, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, + 139, 140, 141, 142, 143, 144, 146, 147, 149, 151, + 152, 153, 154, 155, 156, 158, 159, 162, 167, 168, + 169, 171, 172, 173, 174, 175, 176, 177, 178, 179, + 181, 190, 208, 215 } ; /* The intent behind this definition is that it'll catch @@ -1108,25 +1112,41 @@ static yyconst flex_int16_t yy_rule_linenum[65] = #line 1 "libmemcached/csl/scanner.l" /* vim:expandtab:shiftwidth=2:tabstop=2:smarttab: * - * Configure Scripting Language + * Libmemcached library + * + * Copyright (C) 2012 Data Differential, http://datadifferential.com/ + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * + * * The names of its contributors may not be used to endorse or + * promote products derived from this software without specific prior + * written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * Copyright (C) 2011 DataDifferental, http://datadifferential.com - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . */ -#line 38 "libmemcached/csl/scanner.l" +#line 59 "libmemcached/csl/scanner.l" #include #include @@ -1150,7 +1170,7 @@ static yyconst flex_int16_t yy_rule_linenum[65] = #define YY_INPUT(buffer, result, max_size) get_lex_chars(buffer, result, max_size, PARAM) -#line 1154 "libmemcached/csl/scanner.cc" +#line 1174 "libmemcached/csl/scanner.cc" #define INITIAL 0 @@ -1453,11 +1473,11 @@ YY_DECL struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; /* %% [7.0] user's declarations go here */ -#line 74 "libmemcached/csl/scanner.l" +#line 95 "libmemcached/csl/scanner.l" -#line 1461 "libmemcached/csl/scanner.cc" +#line 1481 "libmemcached/csl/scanner.cc" yylval = yylval_param; @@ -1576,28 +1596,28 @@ do_action: /* This label is used only to access EOF actions. */ case 1: YY_RULE_SETUP -#line 77 "libmemcached/csl/scanner.l" +#line 98 "libmemcached/csl/scanner.l" { return yytext[0];} YY_BREAK case 2: YY_RULE_SETUP -#line 79 "libmemcached/csl/scanner.l" +#line 100 "libmemcached/csl/scanner.l" { yylval->number= atoi(yytext); return (NUMBER); } YY_BREAK case 3: YY_RULE_SETUP -#line 81 "libmemcached/csl/scanner.l" +#line 102 "libmemcached/csl/scanner.l" { yylval->number= atoi(yytext +1); return PORT; } YY_BREAK case 4: YY_RULE_SETUP -#line 83 "libmemcached/csl/scanner.l" +#line 104 "libmemcached/csl/scanner.l" { yylval->number= atoi(yytext +2); return WEIGHT_START; } YY_BREAK case 5: /* rule 5 can match eol */ YY_RULE_SETUP -#line 85 "libmemcached/csl/scanner.l" +#line 106 "libmemcached/csl/scanner.l" ; /* skip whitespace */ YY_BREAK case 6: @@ -1605,219 +1625,219 @@ case 6: yyg->yy_c_buf_p = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 88 "libmemcached/csl/scanner.l" +#line 109 "libmemcached/csl/scanner.l" { return COMMENT; } YY_BREAK case 7: YY_RULE_SETUP -#line 92 "libmemcached/csl/scanner.l" +#line 113 "libmemcached/csl/scanner.l" { yyextra->begin= yytext; yyextra->set_server(); return yyextra->previous_token= SERVER; } YY_BREAK case 8: YY_RULE_SETUP -#line 94 "libmemcached/csl/scanner.l" +#line 115 "libmemcached/csl/scanner.l" { yyextra->begin= yytext; return yyextra->previous_token= SOCKET; } YY_BREAK case 9: YY_RULE_SETUP -#line 96 "libmemcached/csl/scanner.l" +#line 117 "libmemcached/csl/scanner.l" { yyextra->begin= yytext; return yyextra->previous_token= BINARY_PROTOCOL; } YY_BREAK case 10: YY_RULE_SETUP -#line 97 "libmemcached/csl/scanner.l" +#line 118 "libmemcached/csl/scanner.l" { yyextra->begin= yytext; return yyextra->previous_token= BUFFER_REQUESTS; } YY_BREAK case 11: YY_RULE_SETUP -#line 98 "libmemcached/csl/scanner.l" +#line 119 "libmemcached/csl/scanner.l" { yyextra->begin= yytext; return yyextra->previous_token= CONFIGURE_FILE; } YY_BREAK case 12: YY_RULE_SETUP -#line 99 "libmemcached/csl/scanner.l" +#line 120 "libmemcached/csl/scanner.l" { yyextra->begin= yytext; return yyextra->previous_token= CONNECT_TIMEOUT; } YY_BREAK case 13: YY_RULE_SETUP -#line 100 "libmemcached/csl/scanner.l" +#line 121 "libmemcached/csl/scanner.l" { yyextra->begin= yytext; return yyextra->previous_token= DISTRIBUTION; } YY_BREAK case 14: YY_RULE_SETUP -#line 101 "libmemcached/csl/scanner.l" +#line 122 "libmemcached/csl/scanner.l" { yyextra->begin= yytext; return yyextra->previous_token= HASH_WITH_NAMESPACE; } YY_BREAK case 15: YY_RULE_SETUP -#line 102 "libmemcached/csl/scanner.l" +#line 123 "libmemcached/csl/scanner.l" { yyextra->begin= yytext; return yyextra->previous_token= HASH; } YY_BREAK case 16: YY_RULE_SETUP -#line 103 "libmemcached/csl/scanner.l" +#line 124 "libmemcached/csl/scanner.l" { yyextra->begin= yytext; return yyextra->previous_token= IO_BYTES_WATERMARK; } YY_BREAK case 17: YY_RULE_SETUP -#line 104 "libmemcached/csl/scanner.l" +#line 125 "libmemcached/csl/scanner.l" { yyextra->begin= yytext; return yyextra->previous_token= IO_KEY_PREFETCH; } YY_BREAK case 18: YY_RULE_SETUP -#line 105 "libmemcached/csl/scanner.l" +#line 126 "libmemcached/csl/scanner.l" { yyextra->begin= yytext; return yyextra->previous_token= IO_MSG_WATERMARK; } YY_BREAK case 19: YY_RULE_SETUP -#line 106 "libmemcached/csl/scanner.l" +#line 127 "libmemcached/csl/scanner.l" { yyextra->begin= yytext; return yyextra->previous_token= NOREPLY; } YY_BREAK case 20: YY_RULE_SETUP -#line 107 "libmemcached/csl/scanner.l" +#line 128 "libmemcached/csl/scanner.l" { yyextra->begin= yytext; return yyextra->previous_token= NUMBER_OF_REPLICAS; } YY_BREAK case 21: YY_RULE_SETUP -#line 108 "libmemcached/csl/scanner.l" +#line 129 "libmemcached/csl/scanner.l" { yyextra->begin= yytext; return yyextra->previous_token= POLL_TIMEOUT; } YY_BREAK case 22: YY_RULE_SETUP -#line 109 "libmemcached/csl/scanner.l" +#line 130 "libmemcached/csl/scanner.l" { yyextra->begin= yytext; return yyextra->previous_token= RANDOMIZE_REPLICA_READ; } YY_BREAK case 23: YY_RULE_SETUP -#line 110 "libmemcached/csl/scanner.l" +#line 131 "libmemcached/csl/scanner.l" { yyextra->begin= yytext; return yyextra->previous_token= RCV_TIMEOUT; } YY_BREAK case 24: YY_RULE_SETUP -#line 111 "libmemcached/csl/scanner.l" +#line 132 "libmemcached/csl/scanner.l" { yyextra->begin= yytext; return yyextra->previous_token= REMOVE_FAILED_SERVERS; } YY_BREAK case 25: YY_RULE_SETUP -#line 112 "libmemcached/csl/scanner.l" +#line 133 "libmemcached/csl/scanner.l" { yyextra->begin= yytext; return yyextra->previous_token= RETRY_TIMEOUT; } YY_BREAK case 26: YY_RULE_SETUP -#line 113 "libmemcached/csl/scanner.l" +#line 134 "libmemcached/csl/scanner.l" { yyextra->begin= yytext; return yyextra->previous_token= SND_TIMEOUT; } YY_BREAK case 27: YY_RULE_SETUP -#line 114 "libmemcached/csl/scanner.l" +#line 135 "libmemcached/csl/scanner.l" { yyextra->begin= yytext; return yyextra->previous_token= SOCKET_RECV_SIZE; } YY_BREAK case 28: YY_RULE_SETUP -#line 115 "libmemcached/csl/scanner.l" +#line 136 "libmemcached/csl/scanner.l" { yyextra->begin= yytext; return yyextra->previous_token= SOCKET_SEND_SIZE; } YY_BREAK case 29: YY_RULE_SETUP -#line 116 "libmemcached/csl/scanner.l" +#line 137 "libmemcached/csl/scanner.l" { yyextra->begin= yytext; return yyextra->previous_token= SORT_HOSTS; } YY_BREAK case 30: YY_RULE_SETUP -#line 117 "libmemcached/csl/scanner.l" +#line 138 "libmemcached/csl/scanner.l" { yyextra->begin= yytext; return yyextra->previous_token= SUPPORT_CAS; } YY_BREAK case 31: YY_RULE_SETUP -#line 118 "libmemcached/csl/scanner.l" +#line 139 "libmemcached/csl/scanner.l" { yyextra->begin= yytext; return yyextra->previous_token= _TCP_KEEPALIVE; } YY_BREAK case 32: YY_RULE_SETUP -#line 119 "libmemcached/csl/scanner.l" +#line 140 "libmemcached/csl/scanner.l" { yyextra->begin= yytext; return yyextra->previous_token= _TCP_KEEPIDLE; } YY_BREAK case 33: YY_RULE_SETUP -#line 120 "libmemcached/csl/scanner.l" +#line 141 "libmemcached/csl/scanner.l" { yyextra->begin= yytext; return yyextra->previous_token= _TCP_NODELAY; } YY_BREAK case 34: YY_RULE_SETUP -#line 121 "libmemcached/csl/scanner.l" +#line 142 "libmemcached/csl/scanner.l" { yyextra->begin= yytext; return yyextra->previous_token= USE_UDP; } YY_BREAK case 35: YY_RULE_SETUP -#line 122 "libmemcached/csl/scanner.l" +#line 143 "libmemcached/csl/scanner.l" { yyextra->begin= yytext; return yyextra->previous_token= USER_DATA; } YY_BREAK case 36: YY_RULE_SETUP -#line 123 "libmemcached/csl/scanner.l" +#line 144 "libmemcached/csl/scanner.l" { yyextra->begin= yytext; return yyextra->previous_token= VERIFY_KEY; } YY_BREAK case 37: YY_RULE_SETUP -#line 125 "libmemcached/csl/scanner.l" +#line 146 "libmemcached/csl/scanner.l" { yyextra->begin= yytext; return yyextra->previous_token= POOL_MIN; } YY_BREAK case 38: YY_RULE_SETUP -#line 126 "libmemcached/csl/scanner.l" +#line 147 "libmemcached/csl/scanner.l" { yyextra->begin= yytext; return yyextra->previous_token= POOL_MAX; } YY_BREAK case 39: YY_RULE_SETUP -#line 128 "libmemcached/csl/scanner.l" +#line 149 "libmemcached/csl/scanner.l" { yyextra->begin= yytext; return yyextra->previous_token= NAMESPACE; } YY_BREAK case 40: YY_RULE_SETUP -#line 130 "libmemcached/csl/scanner.l" +#line 151 "libmemcached/csl/scanner.l" { yyextra->begin= yytext; return yyextra->previous_token= INCLUDE; } YY_BREAK case 41: YY_RULE_SETUP -#line 131 "libmemcached/csl/scanner.l" +#line 152 "libmemcached/csl/scanner.l" { yyextra->begin= yytext; return yyextra->previous_token= RESET; } YY_BREAK case 42: YY_RULE_SETUP -#line 132 "libmemcached/csl/scanner.l" +#line 153 "libmemcached/csl/scanner.l" { yyextra->begin= yytext; return yyextra->previous_token= PARSER_DEBUG; } YY_BREAK case 43: YY_RULE_SETUP -#line 133 "libmemcached/csl/scanner.l" +#line 154 "libmemcached/csl/scanner.l" { yyextra->begin= yytext; return yyextra->previous_token= SERVERS; } YY_BREAK case 44: YY_RULE_SETUP -#line 134 "libmemcached/csl/scanner.l" +#line 155 "libmemcached/csl/scanner.l" { yyextra->begin= yytext; return yyextra->previous_token= END; } YY_BREAK case 45: YY_RULE_SETUP -#line 135 "libmemcached/csl/scanner.l" +#line 156 "libmemcached/csl/scanner.l" { yyextra->begin= yytext; return yyextra->previous_token= ERROR; } YY_BREAK case 46: YY_RULE_SETUP -#line 137 "libmemcached/csl/scanner.l" +#line 158 "libmemcached/csl/scanner.l" { return yyextra->previous_token= TRUE; } YY_BREAK case 47: YY_RULE_SETUP -#line 138 "libmemcached/csl/scanner.l" +#line 159 "libmemcached/csl/scanner.l" { return yyextra->previous_token= FALSE; } YY_BREAK case 48: YY_RULE_SETUP -#line 141 "libmemcached/csl/scanner.l" +#line 162 "libmemcached/csl/scanner.l" { yyextra->begin= yytext; return UNKNOWN_OPTION; @@ -1825,67 +1845,67 @@ YY_RULE_SETUP YY_BREAK case 49: YY_RULE_SETUP -#line 146 "libmemcached/csl/scanner.l" +#line 167 "libmemcached/csl/scanner.l" { return CONSISTENT; } YY_BREAK case 50: YY_RULE_SETUP -#line 147 "libmemcached/csl/scanner.l" +#line 168 "libmemcached/csl/scanner.l" { return MODULA; } YY_BREAK case 51: YY_RULE_SETUP -#line 148 "libmemcached/csl/scanner.l" +#line 169 "libmemcached/csl/scanner.l" { return RANDOM; } YY_BREAK case 52: YY_RULE_SETUP -#line 150 "libmemcached/csl/scanner.l" +#line 171 "libmemcached/csl/scanner.l" { return MD5; } YY_BREAK case 53: YY_RULE_SETUP -#line 151 "libmemcached/csl/scanner.l" +#line 172 "libmemcached/csl/scanner.l" { return CRC; } YY_BREAK case 54: YY_RULE_SETUP -#line 152 "libmemcached/csl/scanner.l" +#line 173 "libmemcached/csl/scanner.l" { return FNV1_64; } YY_BREAK case 55: YY_RULE_SETUP -#line 153 "libmemcached/csl/scanner.l" +#line 174 "libmemcached/csl/scanner.l" { return FNV1A_64; } YY_BREAK case 56: YY_RULE_SETUP -#line 154 "libmemcached/csl/scanner.l" +#line 175 "libmemcached/csl/scanner.l" { return FNV1_32; } YY_BREAK case 57: YY_RULE_SETUP -#line 155 "libmemcached/csl/scanner.l" +#line 176 "libmemcached/csl/scanner.l" { return FNV1A_32; } YY_BREAK case 58: YY_RULE_SETUP -#line 156 "libmemcached/csl/scanner.l" +#line 177 "libmemcached/csl/scanner.l" { return HSIEH; } YY_BREAK case 59: YY_RULE_SETUP -#line 157 "libmemcached/csl/scanner.l" +#line 178 "libmemcached/csl/scanner.l" { return MURMUR; } YY_BREAK case 60: YY_RULE_SETUP -#line 158 "libmemcached/csl/scanner.l" +#line 179 "libmemcached/csl/scanner.l" { return JENKINS; } YY_BREAK case 61: YY_RULE_SETUP -#line 160 "libmemcached/csl/scanner.l" +#line 181 "libmemcached/csl/scanner.l" { yylval->server.port= MEMCACHED_DEFAULT_PORT; yylval->server.weight= 1; @@ -1897,7 +1917,7 @@ YY_RULE_SETUP YY_BREAK case 62: YY_RULE_SETUP -#line 169 "libmemcached/csl/scanner.l" +#line 190 "libmemcached/csl/scanner.l" { if (yyextra->is_server()) { @@ -1919,7 +1939,7 @@ YY_RULE_SETUP case 63: /* rule 63 can match eol */ YY_RULE_SETUP -#line 187 "libmemcached/csl/scanner.l" +#line 208 "libmemcached/csl/scanner.l" { config_get_text(yyscanner)[yyleng -1]= 0; yylval->string.c_str= yytext +1; @@ -1929,7 +1949,7 @@ YY_RULE_SETUP YY_BREAK case 64: YY_RULE_SETUP -#line 194 "libmemcached/csl/scanner.l" +#line 215 "libmemcached/csl/scanner.l" { yyextra->begin= yytext; return UNKNOWN; @@ -1937,10 +1957,10 @@ YY_RULE_SETUP YY_BREAK case 65: YY_RULE_SETUP -#line 199 "libmemcached/csl/scanner.l" +#line 220 "libmemcached/csl/scanner.l" ECHO; YY_BREAK -#line 1944 "libmemcached/csl/scanner.cc" +#line 1964 "libmemcached/csl/scanner.cc" case YY_STATE_EOF(INITIAL): yyterminate(); @@ -3206,7 +3226,7 @@ void config_free (void * ptr , yyscan_t yyscanner) /* %ok-for-header */ -#line 199 "libmemcached/csl/scanner.l" +#line 220 "libmemcached/csl/scanner.l"