annotate regexParser/regexParser.h @ 271:6640b0d5bf13

remove anystate processing in sequential seqrch
author Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
date Fri, 29 Jan 2016 19:37:11 +0900
parents 0e423d9f9647
children 5aa9d01926f1
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
126
639b0b437ebf remove error (do not work)
masa
parents: 125
diff changeset
1 #define NEW(type) (type*)malloc(sizeof(type))
639b0b437ebf remove error (do not work)
masa
parents: 125
diff changeset
2
188
109d22faf7b5 remove errors and warnings
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 187
diff changeset
3 #ifndef INCLUDED_STRUCT
109d22faf7b5 remove errors and warnings
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 187
diff changeset
4 #define INCLUDED_STRUCT
191
02031fb73af8 remove somefiles and fix header files
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 190
diff changeset
5
02031fb73af8 remove somefiles and fix header files
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 190
diff changeset
6 #define BITBLOCK 64
144
d8a4922eceae remove some errors (not working)
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 142
diff changeset
7 typedef struct bitVector {
d8a4922eceae remove some errors (not working)
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 142
diff changeset
8 unsigned long bitContainer;
191
02031fb73af8 remove somefiles and fix header files
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 190
diff changeset
9 } BitVector,*BitVectorPtr;
144
d8a4922eceae remove some errors (not working)
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 142
diff changeset
10
129
b930be74a16e remove word.h
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 126
diff changeset
11 typedef struct word {
b930be74a16e remove word.h
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 126
diff changeset
12 unsigned char *word;
b930be74a16e remove word.h
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 126
diff changeset
13 int length;
248
2b1fbfb92d54 implement tSearch
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 239
diff changeset
14 // look up table for BM search.
2b1fbfb92d54 implement tSearch
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 239
diff changeset
15 // BitVector nextState;
2b1fbfb92d54 implement tSearch
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 239
diff changeset
16 // struct word *next;
129
b930be74a16e remove word.h
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 126
diff changeset
17 } Word, *WordPtr;
b930be74a16e remove word.h
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 126
diff changeset
18
126
639b0b437ebf remove error (do not work)
masa
parents: 125
diff changeset
19 typedef struct utf8Range {
142
de0f332d560c insert charClassMerge function
masa
parents: 133
diff changeset
20 unsigned long begin;
de0f332d560c insert charClassMerge function
masa
parents: 133
diff changeset
21 unsigned long end;
de0f332d560c insert charClassMerge function
masa
parents: 133
diff changeset
22 struct utf8Range *next; // only used in the parser.
126
639b0b437ebf remove error (do not work)
masa
parents: 125
diff changeset
23 } RangeList , *RangeListPtr;
639b0b437ebf remove error (do not work)
masa
parents: 125
diff changeset
24
178
5e8c6857934c implement charClassMerge
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 175
diff changeset
25 typedef struct condition {
142
de0f332d560c insert charClassMerge function
masa
parents: 133
diff changeset
26 RangeList range;
de0f332d560c insert charClassMerge function
masa
parents: 133
diff changeset
27 Word w;
116
66c633575b53 remove error and warning
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 115
diff changeset
28 } Condition, *ConditionList;
66c633575b53 remove error and warning
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 115
diff changeset
29
77
7f53a587bf97 add regexParser.h
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
30 typedef struct charClass {
111
1d30f70702df add determinize.cc and transition.cc
masa
parents: 110
diff changeset
31 unsigned char type;
115
ca30f8334741 rename createRegexParser.cc to regexParser.cc
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 111
diff changeset
32 struct charClass *left;
ca30f8334741 rename createRegexParser.cc to regexParser.cc
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 111
diff changeset
33 struct charClass *right;
142
de0f332d560c insert charClassMerge function
masa
parents: 133
diff changeset
34 Condition cond;
212
b0ae5273925c implement allocateCCState()
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 203
diff changeset
35 int stateNum;
142
de0f332d560c insert charClassMerge function
masa
parents: 133
diff changeset
36 BitVector nextState;
77
7f53a587bf97 add regexParser.h
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
37 } CharClass, *CharClassPtr;
7f53a587bf97 add regexParser.h
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
38
190
3e8e5780ad4a change node::State to State
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 188
diff changeset
39 struct node;
3e8e5780ad4a change node::State to State
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 188
diff changeset
40
3e8e5780ad4a change node::State to State
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 188
diff changeset
41 typedef struct state {
192
ecf70fb215a5 print charclass
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 191
diff changeset
42 int stateNum;
190
3e8e5780ad4a change node::State to State
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 188
diff changeset
43 BitVector bitState;
3e8e5780ad4a change node::State to State
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 188
diff changeset
44 CharClassPtr cc;
239
f5931151d70c add accept flag
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 232
diff changeset
45 bool accept;
248
2b1fbfb92d54 implement tSearch
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 239
diff changeset
46 struct tState *tState;
190
3e8e5780ad4a change node::State to State
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 188
diff changeset
47 struct node *node;
3e8e5780ad4a change node::State to State
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 188
diff changeset
48 struct state *next;
3e8e5780ad4a change node::State to State
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 188
diff changeset
49 } State, *StatePtr;
3e8e5780ad4a change node::State to State
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 188
diff changeset
50
248
2b1fbfb92d54 implement tSearch
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 239
diff changeset
51 struct tsValue;
2b1fbfb92d54 implement tSearch
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 239
diff changeset
52
2b1fbfb92d54 implement tSearch
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 239
diff changeset
53 typedef struct ccv {
2b1fbfb92d54 implement tSearch
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 239
diff changeset
54 unsigned long begin;
2b1fbfb92d54 implement tSearch
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 239
diff changeset
55 unsigned long end;
2b1fbfb92d54 implement tSearch
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 239
diff changeset
56 Word w;
2b1fbfb92d54 implement tSearch
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 239
diff changeset
57 BitVector state;
2b1fbfb92d54 implement tSearch
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 239
diff changeset
58 struct tState *tState;
2b1fbfb92d54 implement tSearch
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 239
diff changeset
59 } CCV,*CCVPtr;
2b1fbfb92d54 implement tSearch
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 239
diff changeset
60
2b1fbfb92d54 implement tSearch
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 239
diff changeset
61 typedef struct tState {
2b1fbfb92d54 implement tSearch
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 239
diff changeset
62 State *state;
264
ef95a7f1bc03 implement tSearch
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 257
diff changeset
63 tsValue (*stateSkip)(tsValue);
ef95a7f1bc03 implement tSearch
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 257
diff changeset
64 tsValue (*stateContinue)(tsValue);
248
2b1fbfb92d54 implement tSearch
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 239
diff changeset
65 int ccvSize;
251
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 249
diff changeset
66 CCVPtr ccv;
248
2b1fbfb92d54 implement tSearch
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 239
diff changeset
67 } TState, *TStatePtr;
2b1fbfb92d54 implement tSearch
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 239
diff changeset
68
2b1fbfb92d54 implement tSearch
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 239
diff changeset
69 typedef struct result {
266
e51cac73e42a CeriumGrep start
masa
parents: 264
diff changeset
70 unsigned char *begin;
e51cac73e42a CeriumGrep start
masa
parents: 264
diff changeset
71 unsigned char *end;
248
2b1fbfb92d54 implement tSearch
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 239
diff changeset
72 struct result *next;
2b1fbfb92d54 implement tSearch
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 239
diff changeset
73 } Result, *ResultPtr;
2b1fbfb92d54 implement tSearch
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 239
diff changeset
74
77
7f53a587bf97 add regexParser.h
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
75 typedef struct node {
89
50a146c05192 add NodeNumber in Regex Parser tree
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 85
diff changeset
76 unsigned char tokenType;
111
1d30f70702df add determinize.cc and transition.cc
masa
parents: 110
diff changeset
77 CharClassPtr cc;
183
7ae0a3070647 implement generateTransitionList
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 180
diff changeset
78 int stateNum;
7ae0a3070647 implement generateTransitionList
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 180
diff changeset
79 int nextStateNum;
7ae0a3070647 implement generateTransitionList
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 180
diff changeset
80 StatePtr state;
195
4fefd80c05f2 change variable name (TGValue tg -> TGValue tgv)
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 192
diff changeset
81 StatePtr nextState;
77
7f53a587bf97 add regexParser.h
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
82 struct node *left;
7f53a587bf97 add regexParser.h
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
83 struct node *right;
7f53a587bf97 add regexParser.h
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
84 } Node, *NodePtr;
116
66c633575b53 remove error and warning
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 115
diff changeset
85
187
ef798db705e9 remove some warnings and errors(not working)
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 186
diff changeset
86 typedef struct stateStack {
ef798db705e9 remove some warnings and errors(not working)
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 186
diff changeset
87 BitVector state;
ef798db705e9 remove some warnings and errors(not working)
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 186
diff changeset
88 struct stateStack *next;
ef798db705e9 remove some warnings and errors(not working)
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 186
diff changeset
89 } StateStack, *StateStackPtr;
ef798db705e9 remove some warnings and errors(not working)
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 186
diff changeset
90
ef798db705e9 remove some warnings and errors(not working)
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 186
diff changeset
91 typedef struct transitionGenerator {
203
e809a2dd0731 add scValue
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 201
diff changeset
92 long totalStateCount;
271
6640b0d5bf13 remove anystate processing in sequential seqrch
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 268
diff changeset
93 long totalBasicState;
187
ef798db705e9 remove some warnings and errors(not working)
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 186
diff changeset
94 StateStackPtr stack;
248
2b1fbfb92d54 implement tSearch
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 239
diff changeset
95 StatePtr stateEnd;
192
ecf70fb215a5 print charclass
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 191
diff changeset
96 StatePtr *stateArray;
ecf70fb215a5 print charclass
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 191
diff changeset
97 StatePtr stateList;
266
e51cac73e42a CeriumGrep start
masa
parents: 264
diff changeset
98 StatePtr anyState;
268
0e423d9f9647 remove error (remain 1 warning(no use variable))
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 267
diff changeset
99 tsValue (*stateSkip)(tsValue tsv);
0e423d9f9647 remove error (remain 1 warning(no use variable))
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 267
diff changeset
100 tsValue (*stateMatch)(tsValue tsv);
0e423d9f9647 remove error (remain 1 warning(no use variable))
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 267
diff changeset
101 tsValue (*stateNothing)(tsValue tsv);
187
ef798db705e9 remove some warnings and errors(not working)
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 186
diff changeset
102 } TransitionGenerator, *TransitionGeneratorPtr;
ef798db705e9 remove some warnings and errors(not working)
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 186
diff changeset
103
249
9493800265a8 remove SCValue(not all remove)
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 248
diff changeset
104 typedef struct buffer {
9493800265a8 remove SCValue(not all remove)
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 248
diff changeset
105 unsigned char *buff;
9493800265a8 remove SCValue(not all remove)
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 248
diff changeset
106 unsigned char *buffptr;
9493800265a8 remove SCValue(not all remove)
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 248
diff changeset
107 unsigned char *buffend;
9493800265a8 remove SCValue(not all remove)
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 248
diff changeset
108 unsigned char *matchBegin;
9493800265a8 remove SCValue(not all remove)
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 248
diff changeset
109 } Buffer, *BufferPtr;
9493800265a8 remove SCValue(not all remove)
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 248
diff changeset
110
248
2b1fbfb92d54 implement tSearch
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 239
diff changeset
111 typedef struct tsValue {
2b1fbfb92d54 implement tSearch
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 239
diff changeset
112 Buffer buff;
2b1fbfb92d54 implement tSearch
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 239
diff changeset
113 ResultPtr result;
266
e51cac73e42a CeriumGrep start
masa
parents: 264
diff changeset
114 ResultPtr resultEnd;
203
e809a2dd0731 add scValue
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 201
diff changeset
115 TransitionGeneratorPtr tg;
248
2b1fbfb92d54 implement tSearch
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 239
diff changeset
116 TState *current;
2b1fbfb92d54 implement tSearch
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 239
diff changeset
117 TState *blockBegin;
2b1fbfb92d54 implement tSearch
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 239
diff changeset
118 TState *blockEnd;
2b1fbfb92d54 implement tSearch
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 239
diff changeset
119 } TSValue, *TSValuePtr;
203
e809a2dd0731 add scValue
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 201
diff changeset
120
187
ef798db705e9 remove some warnings and errors(not working)
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 186
diff changeset
121 typedef struct tgValue {
215
63e9224c7b2b try to fix asterisk
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 214
diff changeset
122 StatePtr asterisk; // last * state of the expression
192
ecf70fb215a5 print charclass
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 191
diff changeset
123 StatePtr startState;
ecf70fb215a5 print charclass
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 191
diff changeset
124 StatePtr endState;
187
ef798db705e9 remove some warnings and errors(not working)
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 186
diff changeset
125 TransitionGeneratorPtr tg;
ef798db705e9 remove some warnings and errors(not working)
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 186
diff changeset
126 } TGValue, *TGValuePtr;
ef798db705e9 remove some warnings and errors(not working)
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 186
diff changeset
127
ef798db705e9 remove some warnings and errors(not working)
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 186
diff changeset
128 enum charClassStackState {
ef798db705e9 remove some warnings and errors(not working)
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 186
diff changeset
129 LEFT,
ef798db705e9 remove some warnings and errors(not working)
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 186
diff changeset
130 SELF,
ef798db705e9 remove some warnings and errors(not working)
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 186
diff changeset
131 RIGHT
ef798db705e9 remove some warnings and errors(not working)
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 186
diff changeset
132 };
ef798db705e9 remove some warnings and errors(not working)
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 186
diff changeset
133
ef798db705e9 remove some warnings and errors(not working)
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 186
diff changeset
134 typedef struct charClassStack {
ef798db705e9 remove some warnings and errors(not working)
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 186
diff changeset
135 charClassStackState turn;
184
1da1b2eacb84 gather struct
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 183
diff changeset
136 CharClassPtr cc;
187
ef798db705e9 remove some warnings and errors(not working)
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 186
diff changeset
137 struct charClassStack *next;
ef798db705e9 remove some warnings and errors(not working)
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 186
diff changeset
138 } CharClassStack, *CharClassStackPtr;
ef798db705e9 remove some warnings and errors(not working)
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 186
diff changeset
139
ef798db705e9 remove some warnings and errors(not working)
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 186
diff changeset
140 typedef struct charClassWalker {
ef798db705e9 remove some warnings and errors(not working)
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 186
diff changeset
141 CharClassStackPtr stack;
201
b8bc24abaf8a add TODO and fix CharClassWalker
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 195
diff changeset
142 charClassStackState turn;
187
ef798db705e9 remove some warnings and errors(not working)
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 186
diff changeset
143 CharClassPtr next;
ef798db705e9 remove some warnings and errors(not working)
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 186
diff changeset
144 } CharClassWalker, *CharClassWalkerPtr;
ef798db705e9 remove some warnings and errors(not working)
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 186
diff changeset
145
184
1da1b2eacb84 gather struct
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 183
diff changeset
146
116
66c633575b53 remove error and warning
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 115
diff changeset
147 typedef struct regexInfo {
66c633575b53 remove error and warning
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 115
diff changeset
148 unsigned char *ptr;
66c633575b53 remove error and warning
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 115
diff changeset
149 unsigned char tokenType;
118
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 116
diff changeset
150 unsigned char *tokenValue;
178
5e8c6857934c implement charClassMerge
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 175
diff changeset
151 int stateNumber;
116
66c633575b53 remove error and warning
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 115
diff changeset
152 } RegexInfo, *RegexInfoPtr;
232
1a34e702776a add fileread.cc
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 220
diff changeset
153
1a34e702776a add fileread.cc
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 220
diff changeset
154 typedef struct {
1a34e702776a add fileread.cc
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 220
diff changeset
155 unsigned char* file_mmap;
267
5d4afe6f6d00 fix(not working)
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 266
diff changeset
156 unsigned long size;
232
1a34e702776a add fileread.cc
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 220
diff changeset
157 } st_mmap_t;
266
e51cac73e42a CeriumGrep start
masa
parents: 264
diff changeset
158
e51cac73e42a CeriumGrep start
masa
parents: 264
diff changeset
159 typedef struct search {
e51cac73e42a CeriumGrep start
masa
parents: 264
diff changeset
160 TransitionGeneratorPtr tg;
e51cac73e42a CeriumGrep start
masa
parents: 264
diff changeset
161 const char* filename;
e51cac73e42a CeriumGrep start
masa
parents: 264
diff changeset
162 } Search, *SearchPtr;
188
109d22faf7b5 remove errors and warnings
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 187
diff changeset
163 #endif
190
3e8e5780ad4a change node::State to State
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 188
diff changeset
164
3e8e5780ad4a change node::State to State
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 188
diff changeset
165 extern NodePtr createNode(RegexInfoPtr ri,unsigned char type,CharClassPtr cc, NodePtr left, NodePtr right);
188
109d22faf7b5 remove errors and warnings
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 187
diff changeset
166 extern CharClassPtr createCharClassRange(unsigned long begin, unsigned long end,unsigned long state, CharClassPtr left, CharClassPtr right);
190
3e8e5780ad4a change node::State to State
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 188
diff changeset
167 extern NodePtr regex(RegexInfoPtr);