~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/lex_symbol.h

  • Committer: Mark Atwood
  • Date: 2011-10-08 04:50:51 UTC
  • mfrom: (2430.1.1 rf)
  • Revision ID: me@mark.atwood.name-20111008045051-6ha1qiy7k2a9c3jv
Tags: 2011.10.27
mergeĀ lp:~olafvdspek/drizzle/refactor2

Show diffs side-by-side

added added

removed removed

Lines of Context:
22
22
 
23
23
#pragma once
24
24
 
25
 
namespace drizzled {
26
 
 
27
 
struct SYM_GROUP 
28
 
{
29
 
  const char* name;
30
 
  const char* needed_define;
31
 
};
32
 
 
33
 
struct SYMBOL
34
 
{
35
 
  const char* name;
36
 
  uint tok;
37
 
};
38
 
 
39
 
struct LEX_SYMBOL
40
 
{
41
 
  const char* begin() const
42
 
  {
43
 
    return data();
44
 
  }
45
 
 
46
 
  const char* end() const
47
 
  {
48
 
    return data() + size();
49
 
  }
50
 
 
51
 
  const char* data() const
52
 
  {
53
 
    return str;
54
 
  }
55
 
 
56
 
  size_t size() const
57
 
  {
58
 
    return length;
59
 
  }
60
 
 
61
 
  const SYMBOL* symbol;
62
 
  char* str;
63
 
  uint32_t length;
64
 
};
 
25
namespace drizzled
 
26
{
 
27
 
 
28
typedef struct st_sym_group {
 
29
  const char *name;
 
30
  const char *needed_define;
 
31
} SYM_GROUP;
 
32
 
 
33
typedef struct st_symbol {
 
34
  const char *name;
 
35
  uint  tok;
 
36
} SYMBOL;
 
37
 
 
38
typedef struct st_lex_symbol
 
39
{
 
40
  const SYMBOL *symbol;
 
41
  char   *str;
 
42
  uint32_t   length;
 
43
} LEX_SYMBOL;
65
44
 
66
45
extern SYM_GROUP sym_group_common;
67
46
extern SYM_GROUP sym_group_geom;