Mercurial > hg > Applications > Grep
comparison regexParser/subsetConstruction.cc @ 238:5d66672e5029
recover to previous version
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Wed, 20 Jan 2016 08:58:35 +0900 |
parents | 399380ad95b7 |
children | f5931151d70c |
comparison
equal
deleted
inserted
replaced
237:b809e7b62986 | 238:5d66672e5029 |
---|---|
248 TGValue tgv1 = generateTransition(n->left,tgv,pass); | 248 TGValue tgv1 = generateTransition(n->left,tgv,pass); |
249 TGValue tgv2 = generateTransition(n->right,tgv1,pass); | 249 TGValue tgv2 = generateTransition(n->right,tgv1,pass); |
250 return tgv2; | 250 return tgv2; |
251 } else if (n->tokenType == '*') { | 251 } else if (n->tokenType == '*') { |
252 TGValue tgvAstah = tgv; | 252 TGValue tgvAstah = tgv; |
253 if (tgvAstah.endState->bitState.bitContainer & 2) { | 253 tgvAstah.endState = tgvAstah.startState; |
254 tgvAstah.endState = tgvAstah.startState; | |
255 tgvAstah.endState->bitState = bitSet(tgvAstah.endState->bitState,1); | |
256 } else { | |
257 tgvAstah.endState = tgvAstah.startState; | |
258 } | |
259 tgvAstah = generateTransition(n->left,tgvAstah,pass); | 254 tgvAstah = generateTransition(n->left,tgvAstah,pass); |
260 tgvAstah.asterisk = tgvAstah.endState; | 255 tgvAstah.asterisk = tgvAstah.startState; |
261 return tgvAstah; | 256 return tgvAstah; |
262 } else if (n->tokenType == 'c' || n->tokenType == 'a'){ | 257 } else if (n->tokenType == 'c' || n->tokenType == 'a'){ |
263 TGValue tgv1 = tgv; | 258 TGValue tgv1 = tgv; |
264 if (pass==1) { | 259 if (pass==1) { |
265 n->stateNum = tgv.startState->stateNum; | 260 n->stateNum = tgv.startState->stateNum; |