src
bitmap.h
Go to the documentation of this file.
1 #ifndef _RE2C_CODEGEN_BITMAP_
2 #define _RE2C_CODEGEN_BITMAP_
3 
4 #include "src/util/c99_stdint.h"
5 
6 #include "src/util/forbid_copy.h"
7 
8 namespace re2c
9 {
10 
11 struct Go;
12 struct Span;
13 class State;
14 class OutputFile;
15 
16 class BitMap
17 {
18 public:
19  static BitMap *first;
20 
21  const Go *go;
22  const State *on;
23  const BitMap *next;
24  uint32_t i;
25  uint32_t m;
26 
27 public:
28  static const BitMap *find(const Go*, const State*);
29  static const BitMap *find(const State*);
30  static void gen(OutputFile &, uint32_t ind, uint32_t, uint32_t);
31  BitMap(const Go*, const State*);
32  ~BitMap();
33 
35 };
36 
37 bool matches(const Span * b1, uint32_t n1, const State * s1, const Span * b2, uint32_t n2, const State * s2);
38 
39 #ifdef _MSC_VER
40 # pragma warning(disable: 4355) /* 'this' : used in base member initializer list */
41 #endif
42 
43 } // end namespace re2c
44 
45 #endif // _RE2C_CODEGEN_BITMAP_
const State * on
Definition: bitmap.h:22
FORBID_COPY(BitMap)
static void gen(OutputFile &, uint32_t ind, uint32_t, uint32_t)
Definition: bitmap.cc:75
const BitMap * next
Definition: bitmap.h:23
uint32_t m
Definition: bitmap.h:25
uint32_t i
Definition: bitmap.h:24
BitMap(const Go *, const State *)
Definition: bitmap.cc:15
const Go * go
Definition: bitmap.h:21
static BitMap * first
Definition: bitmap.h:19
static const BitMap * find(const Go *, const State *)
Definition: bitmap.cc:30
bool matches(const Span *b1, uint32_t n1, const State *s1, const Span *b2, uint32_t n2, const State *s2)
Definition: bitmap.cc:134
Definition: bitmap.cc:10
Definition: go.h:19
Definition: go.h:172