mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-30 18:36:12 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			69 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			69 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| /*****************************************************************************
 | |
| 
 | |
| Copyright (c) 2007, 2014, Oracle and/or its affiliates. All Rights Reserved.
 | |
| 
 | |
| This program is free software; you can redistribute it and/or modify it under
 | |
| the terms of the GNU General Public License as published by the Free Software
 | |
| Foundation; version 2 of the License.
 | |
| 
 | |
| 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 General Public License for more details.
 | |
| 
 | |
| You should have received a copy of the GNU General Public License along with
 | |
| this program; if not, write to the Free Software Foundation, Inc.,
 | |
| 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 | |
| 
 | |
| *****************************************************************************/
 | |
| 
 | |
| /**
 | |
|  * @file fts/fts0tlex.l
 | |
|  * FTS parser lexical analyzer
 | |
|  *
 | |
|  * Created 2007/5/9 Sunny Bains
 | |
|  */
 | |
| 
 | |
| %{
 | |
| 
 | |
| #include "fts0ast.h"
 | |
| #include "fts0pars.h"
 | |
| 
 | |
| /* Required for reentrant parser */
 | |
| #define YY_DECL int fts_tlexer(YYSTYPE* val, yyscan_t yyscanner)
 | |
| #define exit(A)   ut_error
 | |
| 
 | |
| %}
 | |
| 
 | |
| %option noinput
 | |
| %option nounput
 | |
| %option noyywrap
 | |
| %option nostdinit
 | |
| %option reentrant
 | |
| %option never-interactive
 | |
| 
 | |
| 
 | |
| %%
 | |
| 
 | |
| [\t ]+	/* Ignore whitespace */ ;
 | |
| 
 | |
| [*]	{
 | |
| 	val->oper = fts0tget_text(yyscanner)[0];
 | |
| 
 | |
| 	return(val->oper);
 | |
| }
 | |
| 
 | |
| \"[^\"\n]*\"	{
 | |
| 	val->token = fts_ast_string_create(reinterpret_cast<const byte*>(fts0tget_text(yyscanner)), fts0tget_leng(yyscanner));
 | |
| 
 | |
| 	return(FTS_TEXT);
 | |
| }
 | |
| 
 | |
| [^" \n\%]*	{
 | |
| 	val->token = fts_ast_string_create(reinterpret_cast<const byte*>(fts0tget_text(yyscanner)), fts0tget_leng(yyscanner));
 | |
| 
 | |
| 	return(FTS_TERM);
 | |
| }
 | |
| .	;
 | |
| \n
 | |
| 
 | |
| %%
 | 
