Mercurial > hg > Applications > Grep
comparison regexParser/subsetConstraction.h @ 180:d97bcab546e8 pairPro
implement getNext
author | Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Thu, 24 Dec 2015 17:56:28 +0900 |
parents | 3be0fbcd4b52 |
children | 3c4db09b8581 |
comparison
equal
deleted
inserted
replaced
179:6cf8252f3912 | 180:d97bcab546e8 |
---|---|
5 BitVector state; | 5 BitVector state; |
6 struct stateStack *next; | 6 struct stateStack *next; |
7 } StateStack, *StateStackPtr; | 7 } StateStack, *StateStackPtr; |
8 | 8 |
9 typedef struct transitionGenerator { | 9 typedef struct transitionGenerator { |
10 TransitionPtr ts; | |
11 long stateMax; | 10 long stateMax; |
12 StateStack stack; | 11 StateStack stack; |
13 StatePtr state; | 12 StatePtr state; |
14 TransitionPtr transitionList; | |
15 StatePtr stateArray; | 13 StatePtr stateArray; |
16 StatePtr stateArrayLast; | 14 StatePtr stateArrayLast; |
17 StatePtr currentState; | 15 StatePtr currentState; |
18 StatePtr nextState; | 16 StatePtr nextState; |
19 } TransitionGenerator, *TransitionGeneratorPtr; | 17 } TransitionGenerator, *TransitionGeneratorPtr; |
20 | 18 |
21 typedef struct tgValue { | 19 typedef struct tgValue { |
22 TransitionPtr ts; | |
23 bool asterisk; | 20 bool asterisk; |
24 TransitionGeneratorPtr tg; | 21 TransitionGeneratorPtr tg; |
25 } TGValue, *TGValuePtr; | 22 } TGValue, *TGValuePtr; |
26 | 23 |
24 enum charClassStackState { | |
25 LEFT, | |
26 SELF, | |
27 RIGHT | |
28 } | |
29 | |
27 typedef struct charClassStack { | 30 typedef struct charClassStack { |
28 bool left; | 31 charClassStackState turn; |
29 CharClassPtr cc; | 32 CharClassPtr cc; |
30 struct charClassStack *next; | 33 struct charClassStack *next; |
31 } CharClassStack, *CharClassStackPtr; | 34 } CharClassStack, *CharClassStackPtr; |
32 | 35 |
33 typedef struct charClassWalker { | 36 typedef struct charClassWalker { |
34 CharClassStack stack; | 37 CharClassStackPtr stack; |
35 CharClassPtr next; | 38 CharClassPtr next; |
36 } CharClassWalker, *CharClassWalkerPtr; | 39 } CharClassWalker, *CharClassWalkerPtr; |
37 | 40 |
38 CharClassPtr charClassMerge(CharClassPtr cc,unsigned long begin, unsigned long end, BitVector nextState); | 41 CharClassPtr charClassMerge(CharClassPtr cc,unsigned long begin, unsigned long end, BitVector nextState); |