mirror of
				https://github.com/MariaDB/server.git
				synced 2025-11-04 04:46:15 +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
 | 
						|
 | 
						|
%%
 |