annotate regexParser/subsetConstraction.h @ 181:3c4db09b8581 pairPro

change return value findLeftMost()
author Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
date Thu, 24 Dec 2015 18:00:55 +0900
parents d97bcab546e8
children dbe004d03ef0
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
139
6c258910cacb remove some warning and error
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 117
diff changeset
1 #include "transition.h"
175
3be0fbcd4b52 implement createTransitionGenerator
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 173
diff changeset
2 #define INIT_STATE_BIT 0
3be0fbcd4b52 implement createTransitionGenerator
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 173
diff changeset
3 #define END_STATE_BIT 63
170
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 169
diff changeset
4 typedef struct stateStack {
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 169
diff changeset
5 BitVector state;
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 169
diff changeset
6 struct stateStack *next;
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 169
diff changeset
7 } StateStack, *StateStackPtr;
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 169
diff changeset
8
139
6c258910cacb remove some warning and error
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 117
diff changeset
9 typedef struct transitionGenerator {
6c258910cacb remove some warning and error
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 117
diff changeset
10 long stateMax;
170
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 169
diff changeset
11 StateStack stack;
173
masa
parents: 171
diff changeset
12 StatePtr state;
masa
parents: 171
diff changeset
13 StatePtr stateArray;
masa
parents: 171
diff changeset
14 StatePtr stateArrayLast;
masa
parents: 171
diff changeset
15 StatePtr currentState;
masa
parents: 171
diff changeset
16 StatePtr nextState;
139
6c258910cacb remove some warning and error
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 117
diff changeset
17 } TransitionGenerator, *TransitionGeneratorPtr;
6c258910cacb remove some warning and error
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 117
diff changeset
18
6c258910cacb remove some warning and error
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 117
diff changeset
19 typedef struct tgValue {
6c258910cacb remove some warning and error
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 117
diff changeset
20 bool asterisk;
170
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 169
diff changeset
21 TransitionGeneratorPtr tg;
139
6c258910cacb remove some warning and error
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 117
diff changeset
22 } TGValue, *TGValuePtr;
6c258910cacb remove some warning and error
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 117
diff changeset
23
180
d97bcab546e8 implement getNext
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 175
diff changeset
24 enum charClassStackState {
d97bcab546e8 implement getNext
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 175
diff changeset
25 LEFT,
d97bcab546e8 implement getNext
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 175
diff changeset
26 SELF,
d97bcab546e8 implement getNext
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 175
diff changeset
27 RIGHT
181
3c4db09b8581 change return value findLeftMost()
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 180
diff changeset
28 };
180
d97bcab546e8 implement getNext
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 175
diff changeset
29
169
313f1c176328 implement mergeTransition
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 167
diff changeset
30 typedef struct charClassStack {
180
d97bcab546e8 implement getNext
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 175
diff changeset
31 charClassStackState turn;
169
313f1c176328 implement mergeTransition
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 167
diff changeset
32 CharClassPtr cc;
171
684363c44d6f remove some warning and error (not working)
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 170
diff changeset
33 struct charClassStack *next;
169
313f1c176328 implement mergeTransition
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 167
diff changeset
34 } CharClassStack, *CharClassStackPtr;
313f1c176328 implement mergeTransition
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 167
diff changeset
35
313f1c176328 implement mergeTransition
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 167
diff changeset
36 typedef struct charClassWalker {
180
d97bcab546e8 implement getNext
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 175
diff changeset
37 CharClassStackPtr stack;
169
313f1c176328 implement mergeTransition
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 167
diff changeset
38 CharClassPtr next;
313f1c176328 implement mergeTransition
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 167
diff changeset
39 } CharClassWalker, *CharClassWalkerPtr;
313f1c176328 implement mergeTransition
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 167
diff changeset
40
164
93d3ad1d20ed add mergeTest.cc
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 144
diff changeset
41 CharClassPtr charClassMerge(CharClassPtr cc,unsigned long begin, unsigned long end, BitVector nextState);