My Project
lex_symbol.h
00001 /* Copyright (c) 2000, 2004, 2006, 2007 MySQL AB
00002    Use is subject to license terms.
00003 
00004    This program is free software; you can redistribute it and/or modify
00005    it under the terms of the GNU General Public License as published by
00006    the Free Software Foundation; version 2 of the License.
00007 
00008    This program is distributed in the hope that it will be useful,
00009    but WITHOUT ANY WARRANTY; without even the implied warranty of
00010    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00011    GNU General Public License for more details.
00012 
00013    You should have received a copy of the GNU General Public License
00014    along with this program; if not, write to the Free Software Foundation,
00015    51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
00016 
00017 
00018 /* This struct includes all reserved words and functions */
00019 
00020 #ifndef _lex_symbol_h
00021 #define _lex_symbol_h
00022 
00023 struct st_sym_group;
00024 
00025 typedef struct st_symbol {
00026   const char *name;
00027   uint  tok;
00028   uint length;
00029   struct st_sym_group *group;
00030 } SYMBOL;
00031 
00032 typedef struct st_lex_symbol
00033 {
00034   SYMBOL *symbol;
00035   char   *str;
00036   uint   length;
00037 } LEX_SYMBOL;
00038 
00039 typedef struct st_sym_group {
00040   const char *name;
00041   const char *needed_define;
00042 } SYM_GROUP;
00043 
00044 extern SYM_GROUP sym_group_common;
00045 extern SYM_GROUP sym_group_geom;
00046 extern SYM_GROUP sym_group_rtree;
00047 
00048 #endif /* _lex_symbol_h */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines