X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libmemcached%2Fcsl%2Fscanner.l;h=a139c75e4db1030cd4b72c2e93a6ceb8f5fecfdf;hb=cf55f693c7fc7693afbb4594d97d23795cf7f2a0;hp=8968b3c66be57083bd36b39a24fa834e1e049553;hpb=f92f0f9bcb54167331067b6891ee33e5f27d691c;p=m6w6%2Flibmemcached diff --git a/libmemcached/csl/scanner.l b/libmemcached/csl/scanner.l index 8968b3c6..a139c75e 100644 --- a/libmemcached/csl/scanner.l +++ b/libmemcached/csl/scanner.l @@ -1,33 +1,54 @@ /* 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 . */ + %top{ -#include +#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* @@ -89,53 +110,53 @@ return COMMENT; } -"--SERVER=" { yyextra->begin= yytext; yyextra->set_server(); return SERVER; } - -"--SOCKET=" { yyextra->begin= yytext; return SOCKET; } - -"--BINARY-PROTOCOL" { yyextra->begin= yytext; return BINARY_PROTOCOL; } -"--BUFFER-REQUESTS" { yyextra->begin= yytext; return BUFFER_REQUESTS; } -"--CONFIGURE-FILE=" { yyextra->begin= yytext; return CONFIGURE_FILE; } -"--CONNECT-TIMEOUT=" { yyextra->begin= yytext; return CONNECT_TIMEOUT; } -"--DISTRIBUTION=" { yyextra->begin= yytext; return DISTRIBUTION; } -"--HASH-WITH-NAMESPACE" { yyextra->begin= yytext; return HASH_WITH_NAMESPACE; } -"--HASH=" { yyextra->begin= yytext; return HASH; } -"--IO-BYTES-WATERMARK=" { yyextra->begin= yytext; return IO_BYTES_WATERMARK; } -"--IO-KEY-PREFETCH=" { yyextra->begin= yytext; return IO_KEY_PREFETCH; } -"--IO-MSG-WATERMARK=" { yyextra->begin= yytext; return IO_MSG_WATERMARK; } -"--NOREPLY" { yyextra->begin= yytext; return NOREPLY; } -"--NUMBER-OF-REPLICAS=" { yyextra->begin= yytext; return NUMBER_OF_REPLICAS; } -"--POLL-TIMEOUT=" { yyextra->begin= yytext; return POLL_TIMEOUT; } -"--RANDOMIZE-REPLICA-READ" { yyextra->begin= yytext; return RANDOMIZE_REPLICA_READ; } -"--RCV-TIMEOUT=" { yyextra->begin= yytext; return RCV_TIMEOUT; } -"--REMOVE-FAILED-SERVERS=" { yyextra->begin= yytext; return REMOVE_FAILED_SERVERS; } -"--RETRY-TIMEOUT=" { yyextra->begin= yytext; return RETRY_TIMEOUT; } -"--SND-TIMEOUT=" { yyextra->begin= yytext; return SND_TIMEOUT; } -"--SOCKET-RECV-SIZE=" { yyextra->begin= yytext; return SOCKET_RECV_SIZE; } -"--SOCKET-SEND-SIZE=" { yyextra->begin= yytext; return SOCKET_SEND_SIZE; } -"--SORT-HOSTS" { yyextra->begin= yytext; return SORT_HOSTS; } -"--SUPPORT-CAS" { yyextra->begin= yytext; return SUPPORT_CAS; } -"--TCP-KEEPALIVE" { yyextra->begin= yytext; return _TCP_KEEPALIVE; } -"--TCP-KEEPIDLE" { yyextra->begin= yytext; return _TCP_KEEPIDLE; } -"--TCP-NODELAY" { yyextra->begin= yytext; return _TCP_NODELAY; } -"--USE-UDP" { yyextra->begin= yytext; return USE_UDP; } -"--USER-DATA" { yyextra->begin= yytext; return USER_DATA; } -"--VERIFY-KEY" { yyextra->begin= yytext; return VERIFY_KEY; } - -"--POOL-MIN=" { yyextra->begin= yytext; return POOL_MIN; } -"--POOL-MAX=" { yyextra->begin= yytext; return POOL_MAX; } - -"--NAMESPACE=" { yyextra->begin= yytext; return NAMESPACE; } - -INCLUDE { yyextra->begin= yytext; return INCLUDE; } -RESET { yyextra->begin= yytext; return RESET; } -DEBUG { yyextra->begin= yytext; return PARSER_DEBUG; } -SERVERS { yyextra->begin= yytext; return SERVERS; } -END { yyextra->begin= yytext; return END; } -ERROR { yyextra->begin= yytext; return ERROR; } - -TRUE { return TRUE; } -FALSE { return FALSE; } +"--SERVER=" { yyextra->begin= yytext; yyextra->set_server(); return yyextra->previous_token= SERVER; } + +"--SOCKET=" { yyextra->begin= yytext; return yyextra->previous_token= SOCKET; } + +"--BINARY-PROTOCOL" { yyextra->begin= yytext; return yyextra->previous_token= BINARY_PROTOCOL; } +"--BUFFER-REQUESTS" { yyextra->begin= yytext; return yyextra->previous_token= BUFFER_REQUESTS; } +"--CONFIGURE-FILE=" { yyextra->begin= yytext; return yyextra->previous_token= CONFIGURE_FILE; } +"--CONNECT-TIMEOUT=" { yyextra->begin= yytext; return yyextra->previous_token= CONNECT_TIMEOUT; } +"--DISTRIBUTION=" { yyextra->begin= yytext; return yyextra->previous_token= DISTRIBUTION; } +"--HASH-WITH-NAMESPACE" { yyextra->begin= yytext; return yyextra->previous_token= HASH_WITH_NAMESPACE; } +"--HASH=" { yyextra->begin= yytext; return yyextra->previous_token= HASH; } +"--IO-BYTES-WATERMARK=" { yyextra->begin= yytext; return yyextra->previous_token= IO_BYTES_WATERMARK; } +"--IO-KEY-PREFETCH=" { yyextra->begin= yytext; return yyextra->previous_token= IO_KEY_PREFETCH; } +"--IO-MSG-WATERMARK=" { yyextra->begin= yytext; return yyextra->previous_token= IO_MSG_WATERMARK; } +"--NOREPLY" { yyextra->begin= yytext; return yyextra->previous_token= NOREPLY; } +"--NUMBER-OF-REPLICAS=" { yyextra->begin= yytext; return yyextra->previous_token= NUMBER_OF_REPLICAS; } +"--POLL-TIMEOUT=" { yyextra->begin= yytext; return yyextra->previous_token= POLL_TIMEOUT; } +"--RANDOMIZE-REPLICA-READ" { yyextra->begin= yytext; return yyextra->previous_token= RANDOMIZE_REPLICA_READ; } +"--RCV-TIMEOUT=" { yyextra->begin= yytext; return yyextra->previous_token= RCV_TIMEOUT; } +"--REMOVE-FAILED-SERVERS=" { yyextra->begin= yytext; return yyextra->previous_token= REMOVE_FAILED_SERVERS; } +"--RETRY-TIMEOUT=" { yyextra->begin= yytext; return yyextra->previous_token= RETRY_TIMEOUT; } +"--SND-TIMEOUT=" { yyextra->begin= yytext; return yyextra->previous_token= SND_TIMEOUT; } +"--SOCKET-RECV-SIZE=" { yyextra->begin= yytext; return yyextra->previous_token= SOCKET_RECV_SIZE; } +"--SOCKET-SEND-SIZE=" { yyextra->begin= yytext; return yyextra->previous_token= SOCKET_SEND_SIZE; } +"--SORT-HOSTS" { yyextra->begin= yytext; return yyextra->previous_token= SORT_HOSTS; } +"--SUPPORT-CAS" { yyextra->begin= yytext; return yyextra->previous_token= SUPPORT_CAS; } +"--TCP-KEEPALIVE" { yyextra->begin= yytext; return yyextra->previous_token= _TCP_KEEPALIVE; } +"--TCP-KEEPIDLE" { yyextra->begin= yytext; return yyextra->previous_token= _TCP_KEEPIDLE; } +"--TCP-NODELAY" { yyextra->begin= yytext; return yyextra->previous_token= _TCP_NODELAY; } +"--USE-UDP" { yyextra->begin= yytext; return yyextra->previous_token= USE_UDP; } +"--USER-DATA" { yyextra->begin= yytext; return yyextra->previous_token= USER_DATA; } +"--VERIFY-KEY" { yyextra->begin= yytext; return yyextra->previous_token= VERIFY_KEY; } + +"--POOL-MIN=" { yyextra->begin= yytext; return yyextra->previous_token= POOL_MIN; } +"--POOL-MAX=" { yyextra->begin= yytext; return yyextra->previous_token= POOL_MAX; } + +"--NAMESPACE=" { yyextra->begin= yytext; return yyextra->previous_token= NAMESPACE; } + +INCLUDE { yyextra->begin= yytext; return yyextra->previous_token= INCLUDE; } +RESET { yyextra->begin= yytext; return yyextra->previous_token= RESET; } +DEBUG { yyextra->begin= yytext; return yyextra->previous_token= PARSER_DEBUG; } +SERVERS { yyextra->begin= yytext; return yyextra->previous_token= SERVERS; } +END { yyextra->begin= yytext; return yyextra->previous_token= END; } +ERROR { yyextra->begin= yytext; return yyextra->previous_token= ERROR; } + +TRUE { return yyextra->previous_token= TRUE; } +FALSE { return yyextra->previous_token= FALSE; } "--"[[:alnum:]]* {