Mercurial > hg > Applications > Grep
comparison c/regexParser/regexParser.cc @ 151:6ba059ce9109 pairPro
test file
author | Nozomi |
---|---|
date | Wed, 16 Dec 2015 17:09:56 +0900 |
parents | a4940a8dd263 |
children | 1c9e8ba64f6a |
comparison
equal
deleted
inserted
replaced
150:a4940a8dd263 | 151:6ba059ce9109 |
---|---|
104 if (begin < cc->cond.range.begin) { // 3,4 | 104 if (begin < cc->cond.range.begin) { // 3,4 |
105 cc->cond.range.begin = begin; | 105 cc->cond.range.begin = begin; |
106 } | 106 } |
107 return cc; | 107 return cc; |
108 } else if (begin > cc->cond.range.end ) { // 13 | 108 } else if (begin > cc->cond.range.end ) { // 13 |
109 CharClassPtr cc1 = createCharClassRange(cc->cond.range.begin,cc->cond.range.end,cc->left,cc->right); | |
110 if (cc->right) { | 109 if (cc->right) { |
111 cc1->right = insertCharClass(cc->right,begin,end); | 110 cc->right = insertCharClass(cc->right,begin,end); |
112 return cc1; | 111 } else { |
113 } else { | 112 cc->right = createCharClassRange(begin,end,0,0); |
114 CharClassPtr cc2 = createCharClassRange(begin,end,0,0); | 113 } |
115 cc1->right = cc2; | 114 return cc; |
116 return cc1; | |
117 } | |
118 } | 115 } |
119 if (cc->right) { | 116 if (cc->right) { |
120 return insertCharClass(cc->right,cc->cond.range.begin,end); | 117 CharClassPtr right = cc->right; |
118 begin = cc->cond.range.begin; | |
119 free(cc); | |
120 return insertCharClass(right,begin,end); | |
121 } | 121 } |
122 if (begin >= cc->cond.range.begin && begin <= cc->cond.range.end) { // 12 | 122 if (begin >= cc->cond.range.begin && begin <= cc->cond.range.end) { // 12 |
123 if (end > cc->cond.range.end) cc->cond.range.end = end; // 11 | 123 if (end > cc->cond.range.end) cc->cond.range.end = end; // 11,8 |
124 } else if (begin < cc->cond.range.begin) { // 5 | 124 } else if (begin < cc->cond.range.begin) { // 5 |
125 cc->cond.range.begin = begin; | 125 cc->cond.range.begin = begin; |
126 cc->cond.range.end = end; | 126 cc->cond.range.end = end; |
127 } else { | 127 } else { |
128 printf("insertCharClass Error : begin %lu end %lu cc->begin %lu cc->end %lu\n", begin,end,cc->cond.range.begin,cc->cond.range.end); | 128 printf("insertCharClass Error : begin %lu end %lu cc->begin %lu cc->end %lu\n", begin,end,cc->cond.range.begin,cc->cond.range.end); |