# HG changeset patch # User Masataka Kohagura # Date 1453804338 -32400 # Node ID 157f6886ba55c3ec5173c78c0858718fe26dc0b0 # Parent 2b36dde3ffb784e9e0f89daebb2fa350e64c2667 write driver of threadedSearch diff -r 2b36dde3ffb7 -r 157f6886ba55 regexParser/main.cc --- a/regexParser/main.cc Tue Jan 26 14:35:34 2016 +0900 +++ b/regexParser/main.cc Tue Jan 26 19:32:18 2016 +0900 @@ -61,9 +61,7 @@ int fd = 0; st_mmap_t st_mmap = createSt_mmap(filename,fd); Buffer buff = createBuffer(st_mmap); - TSValue tsv; - tsv.buff = buff; - if (ts) tSearch(tsv); + if (ts) threadedSearch(tgv.tg,buff); else grepWalk(tgv.tg,buff); close(fd); } diff -r 2b36dde3ffb7 -r 157f6886ba55 regexParser/sequentialSearch.cc --- a/regexParser/sequentialSearch.cc Tue Jan 26 14:35:34 2016 +0900 +++ b/regexParser/sequentialSearch.cc Tue Jan 26 19:32:18 2016 +0900 @@ -15,7 +15,7 @@ } void stateMatch(Buffer buff) { - fwrite(buff.matchBegin,buff.buffptr-buff.matchBegin,1,stdout); + fwrite(buff.matchBegin,buff.buffptr-buff.matchBegin-1,1,stdout); puts(""); stateSkip(buff); } diff -r 2b36dde3ffb7 -r 157f6886ba55 regexParser/subsetConstruction.cc --- a/regexParser/subsetConstruction.cc Tue Jan 26 14:35:34 2016 +0900 +++ b/regexParser/subsetConstruction.cc Tue Jan 26 19:32:18 2016 +0900 @@ -16,6 +16,8 @@ cc->cond.range.begin = begin; cc->cond.range.end = end; cc->cond.range.next = NULL; + cc->cond.w.word = NULL; + cc->cond.w.length = 0; cc->left = left; cc->right = right; cc->nextState.bitContainer = state; diff -r 2b36dde3ffb7 -r 157f6886ba55 regexParser/threadedSearch.cc --- a/regexParser/threadedSearch.cc Tue Jan 26 14:35:34 2016 +0900 +++ b/regexParser/threadedSearch.cc Tue Jan 26 19:32:18 2016 +0900 @@ -85,3 +85,11 @@ tsv.current->stateSkip(tsv); } } + +void threadedSearch(TransitionGeneratorPtr tg, Buffer buff) { + TSValue tsv; + tsv.buff = buff; + tsv.tg = tg; + tsv.current = generateTState(tg->stateList); + stateSkip(tsv); +} diff -r 2b36dde3ffb7 -r 157f6886ba55 regexParser/threadedSearch.h --- a/regexParser/threadedSearch.h Tue Jan 26 14:35:34 2016 +0900 +++ b/regexParser/threadedSearch.h Tue Jan 26 19:32:18 2016 +0900 @@ -1,1 +1,1 @@ -extern void tSearch(TSValue tsv); +extern void threadedSearch(TransitionGeneratorPtr tg, Buffer buff);