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);