annotate regexParser/sequentialSearch.cc @ 262:157f6886ba55

write driver of threadedSearch
author Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
date Tue, 26 Jan 2016 19:32:18 +0900
parents a3cddb32b87f
children ef95a7f1bc03
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("");
227
8be58af605da fix getNext()
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 226
diff changeset
20 stateSkip(buff);
8be58af605da fix getNext()
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 226
diff changeset
21 }
8be58af605da fix getNext()
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 226
diff changeset
22
231
d67649929e96 add grepWalk
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 230
diff changeset
23 #include "state.cc"
d67649929e96 add grepWalk
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 230
diff changeset
24 int main(int argc, char **argv) {
d67649929e96 add grepWalk
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 230
diff changeset
25 char *filename;
d67649929e96 add grepWalk
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 230
diff changeset
26 for (int i = 1; i < argc; i++) {
d67649929e96 add grepWalk
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 230
diff changeset
27 if (strcmp(argv[i],"-file") == 0) {
d67649929e96 add grepWalk
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 230
diff changeset
28 filename = argv[i+1]; i++;
d67649929e96 add grepWalk
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 230
diff changeset
29 }
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
240
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 232
diff changeset
32 int fd = 0;
231
d67649929e96 add grepWalk
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 230
diff changeset
33 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
34 Buffer buff = createBuffer(st_mmap);
226
b4022ba23de5 add sequentialSearch
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
35 stateSkip(buff);
b4022ba23de5 add sequentialSearch
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
36 close(fd);
b4022ba23de5 add sequentialSearch
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
37 return 0;
b4022ba23de5 add sequentialSearch
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
38 }