Mercurial > hg > Applications > Grep
comparison regexParser/subsetConstruction.cc @ 264:ef95a7f1bc03
implement tSearch
author | Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Wed, 27 Jan 2016 17:41:01 +0900 |
parents | 157f6886ba55 |
children | e51cac73e42a |
comparison
equal
deleted
inserted
replaced
263:292753bb31e4 | 264:ef95a7f1bc03 |
---|---|
396 int bitPosition = searchBit(bi); | 396 int bitPosition = searchBit(bi); |
397 if (!bitPosition) break; | 397 if (!bitPosition) break; |
398 unsigned long baseNum = 1 << (bitPosition-1); | 398 unsigned long baseNum = 1 << (bitPosition-1); |
399 // printf("bit %lx pos %d baseNum %lx\n",bi.bitContainer,bitPosition,baseNum); | 399 // printf("bit %lx pos %d baseNum %lx\n",bi.bitContainer,bitPosition,baseNum); |
400 bi.bitContainer ^= baseNum; | 400 bi.bitContainer ^= baseNum; |
401 if (baseNum==2) continue; // EOF case | 401 if (baseNum==2) { |
402 s->accept = true; | |
403 continue; // EOF case | |
404 } | |
402 StatePtr base = tg->stateArray[baseNum]; | 405 StatePtr base = tg->stateArray[baseNum]; |
403 if (base == NULL) { | 406 if (base == NULL) { |
404 errorMassege("No base state",__LINE__,__FILE__); break; | 407 errorMassege("No base state",__LINE__,__FILE__); break; |
405 } | 408 } |
406 CharClassPtr merge = mergeTransition(s,base->cc); | 409 CharClassPtr merge = mergeTransition(s,base->cc); |