Mercurial > hg > Applications > Grep
comparison regexParser/subsetConstruction.cc @ 293:948428caf616
NFA maximum match worked
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 02 Feb 2016 10:38:45 +0900 |
parents | 20ed7536784f |
children | 3e78631a6222 |
comparison
equal
deleted
inserted
replaced
292:868f01f1ba8e | 293:948428caf616 |
---|---|
105 CharClassPtr cc2 = createCharClassRange(begin,cc->cond.range.end,cc->nextState.bitContainer | nextState.bitContainer,NULL,cc->right); | 105 CharClassPtr cc2 = createCharClassRange(begin,cc->cond.range.end,cc->nextState.bitContainer | nextState.bitContainer,NULL,cc->right); |
106 return createCharClassRange(cc->cond.range.begin,begin-1,cc->nextState.bitContainer,cc->left,cc2); | 106 return createCharClassRange(cc->cond.range.begin,begin-1,cc->nextState.bitContainer,cc->left,cc2); |
107 } | 107 } |
108 if (begin > cc->cond.range.end ) { // 13 | 108 if (begin > cc->cond.range.end ) { // 13 |
109 if (cc->right) { | 109 if (cc->right) { |
110 return createCharClassRange(cc->cond.range.begin,cc->cond.range.end,nextState.bitContainer,cc->left,charClassMerge(cc->right,begin,end,nextState)); | 110 return createCharClassRange(cc->cond.range.begin,cc->cond.range.end,cc->nextState.bitContainer,cc->left,charClassMerge(cc->right,begin,end,nextState)); |
111 } else { | 111 } else { |
112 return createCharClassRange(begin,end,nextState.bitContainer,cc,NULL); | 112 return createCharClassRange(begin,end,nextState.bitContainer,cc,NULL); |
113 } | 113 } |
114 } | 114 } |
115 if (begin >= cc->cond.range.begin && begin <= cc->cond.range.end) { | 115 if (begin >= cc->cond.range.begin && begin <= cc->cond.range.end) { |