Mercurial > hg > Applications > Grep
comparison regexParser/regexParser.cc @ 188:109d22faf7b5 pairPro
remove errors and warnings
author | Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 25 Dec 2015 02:57:21 +0900 |
parents | ef798db705e9 |
children | 3e8e5780ad4a |
comparison
equal
deleted
inserted
replaced
187:ef798db705e9 | 188:109d22faf7b5 |
---|---|
13 * Create a node of regex parse tree. | 13 * Create a node of regex parse tree. |
14 * tokenType | 14 * tokenType |
15 * regexPosition(state) | 15 * regexPosition(state) |
16 * stateTransitionTable | 16 * stateTransitionTable |
17 */ | 17 */ |
18 | |
19 static | 18 static |
20 NodePtr allocateNode() { | 19 NodePtr allocateNode() { |
21 NodePtr n = NEW(Node); | 20 NodePtr n = NEW(Node); |
22 n->cc = NULL; | 21 n->cc = NULL; |
23 n->left = NULL; | 22 n->left = NULL; |
70 13. b--e | 69 13. b--e |
71 | 70 |
72 */ | 71 */ |
73 CharClassPtr insertCharClass(CharClassPtr cc, unsigned long begin, unsigned long end) { | 72 CharClassPtr insertCharClass(CharClassPtr cc, unsigned long begin, unsigned long end) { |
74 if (cc == NULL) { | 73 if (cc == NULL) { |
75 createCharClassRange(begin,end,0,0); | 74 createCharClassRange(begin,end,0,0,0); |
76 } | 75 } |
77 if (end < cc->cond.range.begin ) { // 1 | 76 if (end < cc->cond.range.begin ) { // 1 |
78 if (cc->left) { | 77 if (cc->left) { |
79 cc->left = insertCharClass(cc->left,begin,end); | 78 cc->left = insertCharClass(cc->left,begin,end); |
80 } else { | 79 } else { |
81 cc->left = createCharClassRange(begin,end,0,0); | 80 cc->left = createCharClassRange(begin,end,0,0,0); |
82 } | 81 } |
83 return cc; | 82 return cc; |
84 } else if (end == cc->cond.range.begin ) { // 2 | 83 } else if (end == cc->cond.range.begin ) { // 2 |
85 cc->cond.range.begin = begin; | 84 cc->cond.range.begin = begin; |
86 return cc; | 85 return cc; |
91 return cc; | 90 return cc; |
92 } else if (begin > cc->cond.range.end ) { // 13 | 91 } else if (begin > cc->cond.range.end ) { // 13 |
93 if (cc->right) { | 92 if (cc->right) { |
94 cc->right = insertCharClass(cc->right,begin,end); | 93 cc->right = insertCharClass(cc->right,begin,end); |
95 } else { | 94 } else { |
96 cc->right = createCharClassRange(begin,end,0,0); | 95 cc->right = createCharClassRange(begin,end,0,0,0); |
97 } | 96 } |
98 return cc; | 97 return cc; |
99 } | 98 } |
100 if (cc->right) { | 99 if (cc->right) { |
101 CharClassPtr right = cc->right; | 100 CharClassPtr right = cc->right; |