# HG changeset patch # User Masataka Kohagura # Date 1453786220 -32400 # Node ID 3f3c9902bb6d7bd3080c8d1085a6ac4f867beab1 # Parent 6a6546a753cfcd2770c0cd2960b93b8baef7aee2 initialize node in allocateNode() diff -r 6a6546a753cf -r 3f3c9902bb6d regexParser/main.cc --- a/regexParser/main.cc Tue Jan 26 13:34:33 2016 +0900 +++ b/regexParser/main.cc Tue Jan 26 14:30:20 2016 +0900 @@ -7,13 +7,14 @@ #include "node.h" #include "grepWalk.h" #include "fileread.h" +#include "threadedSearch.h" int main(int argc, char **argv) { bool generate = true; bool subset = false; bool generateSequentialSearch = false; - bool tSearch = false; + bool ts = false; char *filename; RegexInfo ri; @@ -29,8 +30,8 @@ generateSequentialSearch = true; } else if (strcmp(argv[i],"-file") == 0) { filename = argv[i+1]; i++; - } else if (strcmp(argv[i],"-tSearch") == 0) { - tSearch = true; + } else if (strcmp(argv[i],"-ts") == 0) { + ts = true; } } if (!ri.ptr) return 0; @@ -60,7 +61,9 @@ int fd = 0; st_mmap_t st_mmap = createSt_mmap(filename,fd); Buffer buff = createBuffer(st_mmap); - if (tSearch) tSearch(tsv); + TSValue tsv; + tsv.buff = buff; + if (ts) tSearch(tsv); else grepWalk(tgv.tg,buff); close(fd); } diff -r 6a6546a753cf -r 3f3c9902bb6d regexParser/regexParser.cc --- a/regexParser/regexParser.cc Tue Jan 26 13:34:33 2016 +0900 +++ b/regexParser/regexParser.cc Tue Jan 26 14:30:20 2016 +0900 @@ -18,10 +18,12 @@ NodePtr allocateNode() { NodePtr n = NEW(Node); n->cc = NULL; + n->stateNum = 0; + n->nextStateNum = 0; + n->state = NULL; + n->nextState = NULL; n->left = NULL; n->right = NULL; - n->stateNum = 0; - n->nextStateNum = 0; return n; } diff -r 6a6546a753cf -r 3f3c9902bb6d regexParser/threadedSearch.cc --- a/regexParser/threadedSearch.cc Tue Jan 26 13:34:33 2016 +0900 +++ b/regexParser/threadedSearch.cc Tue Jan 26 14:30:20 2016 +0900 @@ -13,9 +13,9 @@ } void stateMatch(TSValue tsv) { - fwrite(tsv.buff.matchBegin,tsv.buff.buffptr-buff.matchBegin,1,stdout); + fwrite(tsv.buff.matchBegin,tsv.buff.buffptr-tsv.buff.matchBegin,1,stdout); puts("\n"); - grepSkip(tg,buff); + stateSkip(tsv); } TStatePtr generateTState(StatePtr state) {