annotate regexParser/sequentialSearch.cc @ 296:28c695dac305

Todo
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Tue, 02 Feb 2016 11:50:33 +0900
parents ef95a7f1bc03
children 63213964502a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
226
b4022ba23de5 add sequentialSearch
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 #include <stdio.h>
b4022ba23de5 add sequentialSearch
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2 #include <string.h>
b4022ba23de5 add sequentialSearch
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
3 #include <unistd.h>
b4022ba23de5 add sequentialSearch
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
4 #include <fcntl.h>
b4022ba23de5 add sequentialSearch
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
5 #include <sys/stat.h>
b4022ba23de5 add sequentialSearch
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
6 #include <sys/mman.h>
b4022ba23de5 add sequentialSearch
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
7
232
1a34e702776a add fileread.cc
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 231
diff changeset
8 #include "fileread.h"
226
b4022ba23de5 add sequentialSearch
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
9
230
2081b9d6a179 change var name BufferList to Buffer.
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 227
diff changeset
10 void state1(Buffer buff);
227
8be58af605da fix getNext()
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 226
diff changeset
11
230
2081b9d6a179 change var name BufferList to Buffer.
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 227
diff changeset
12 void stateSkip(Buffer buff) {
227
8be58af605da fix getNext()
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 226
diff changeset
13 buff.matchBegin = buff.buffptr;
8be58af605da fix getNext()
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 226
diff changeset
14 state1(buff);
8be58af605da fix getNext()
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 226
diff changeset
15 }
8be58af605da fix getNext()
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 226
diff changeset
16
230
2081b9d6a179 change var name BufferList to Buffer.
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 227
diff changeset
17 void stateMatch(Buffer buff) {
262
157f6886ba55 write driver of threadedSearch
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 244
diff changeset
18 fwrite(buff.matchBegin,buff.buffptr-buff.matchBegin-1,1,stdout);
244
a3cddb32b87f change condition in generateTransition
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 240
diff changeset
19 puts("");
264
ef95a7f1bc03 implement tSearch
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 262
diff changeset
20 buff.buffptr--;
227
8be58af605da fix getNext()
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 226
diff changeset
21 stateSkip(buff);
8be58af605da fix getNext()
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 226
diff changeset
22 }
8be58af605da fix getNext()
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 226
diff changeset
23
231
d67649929e96 add grepWalk
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 230
diff changeset
24 #include "state.cc"
d67649929e96 add grepWalk
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 230
diff changeset
25 int main(int argc, char **argv) {
d67649929e96 add grepWalk
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 230
diff changeset
26 char *filename;
d67649929e96 add grepWalk
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 230
diff changeset
27 for (int i = 1; i < argc; i++) {
d67649929e96 add grepWalk
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 230
diff changeset
28 if (strcmp(argv[i],"-file") == 0) {
d67649929e96 add grepWalk
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 230
diff changeset
29 filename = argv[i+1]; i++;
d67649929e96 add grepWalk
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 230
diff changeset
30 }
d67649929e96 add grepWalk
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 230
diff changeset
31 }
d67649929e96 add grepWalk
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 230
diff changeset
32
240
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 232
diff changeset
33 int fd = 0;
231
d67649929e96 add grepWalk
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 230
diff changeset
34 st_mmap_t st_mmap = createSt_mmap(filename,fd);
d67649929e96 add grepWalk
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 230
diff changeset
35 Buffer buff = createBuffer(st_mmap);
226
b4022ba23de5 add sequentialSearch
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
36 stateSkip(buff);
b4022ba23de5 add sequentialSearch
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
37 close(fd);
b4022ba23de5 add sequentialSearch
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
38 return 0;
b4022ba23de5 add sequentialSearch
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
39 }