Mercurial > hg > Applications > Grep
comparison regexParser/subsetConstruction.cc @ 261:2b36dde3ffb7
add cond.range image above charClassMerge
author | Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 26 Jan 2016 14:35:34 +0900 |
parents | ebb429c2b6a7 |
children | 157f6886ba55 |
comparison
equal
deleted
inserted
replaced
260:3f3c9902bb6d | 261:2b36dde3ffb7 |
---|---|
29 } else { | 29 } else { |
30 cc1 = createCharClassRange(mBegin,mEnd,nextState.bitContainer,NULL,NULL); | 30 cc1 = createCharClassRange(mBegin,mEnd,nextState.bitContainer,NULL,NULL); |
31 } | 31 } |
32 return cc1; | 32 return cc1; |
33 } | 33 } |
34 | |
35 /* | |
36 cond.range.begin cond.range.end | |
37 |----------------| | |
38 1.b---e | |
39 2.b------e | |
40 3.b------------e | |
41 4.b-----------------------e | |
42 5.b----------------------------e | |
43 | |
44 |----------------| | |
45 6. b---------e | |
46 7. b----------------e | |
47 8. b---------------------e | |
48 | |
49 |----------------| | |
50 9. b-----e | |
51 10. b--------e | |
52 11. b-------------e | |
53 | |
54 |----------------| | |
55 12. b-----e | |
56 | |
57 |----------------| | |
58 13. b--e | |
59 | |
60 */ | |
34 | 61 |
35 CharClassPtr charClassMerge(CharClassPtr cc,unsigned long begin, unsigned long end, BitVector nextState) { | 62 CharClassPtr charClassMerge(CharClassPtr cc,unsigned long begin, unsigned long end, BitVector nextState) { |
36 // 重なっているccの領域を分割する | 63 // 重なっているccの領域を分割する |
37 // 必要ならばnextStateを重ねあわせる | 64 // 必要ならばnextStateを重ねあわせる |
38 // 変更があった場合は新しくリストを作って返す | 65 // 変更があった場合は新しくリストを作って返す |