00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #pragma once
00024
00025 namespace drizzled {
00026
00027 struct SYM_GROUP
00028 {
00029 const char* name;
00030 const char* needed_define;
00031 };
00032
00033 struct SYMBOL
00034 {
00035 const char* name;
00036 uint tok;
00037 };
00038
00039 struct LEX_SYMBOL
00040 {
00041 const char* begin() const
00042 {
00043 return data();
00044 }
00045
00046 const char* end() const
00047 {
00048 return data() + size();
00049 }
00050
00051 const char* data() const
00052 {
00053 return str;
00054 }
00055
00056 size_t size() const
00057 {
00058 return length;
00059 }
00060
00061 const SYMBOL* symbol;
00062 char* str;
00063 uint32_t length;
00064 };
00065
00066 extern SYM_GROUP sym_group_common;
00067 extern SYM_GROUP sym_group_geom;
00068 extern SYM_GROUP sym_group_rtree;
00069
00070 }
00071