# HG changeset patch # User Masataka Kohagura # Date 1453714137 -32400 # Node ID 72f3673dd7a522acc07f89cc4d91d50e25b2dbd7 # Parent 61d4d466e64c4c6e59facbb8eec98f59e4794c79 remove tg->stateTop diff -r 61d4d466e64c -r 72f3673dd7a5 regexParser/regexParser.h --- a/regexParser/regexParser.h Mon Jan 25 18:20:37 2016 +0900 +++ b/regexParser/regexParser.h Mon Jan 25 18:28:57 2016 +0900 @@ -90,7 +90,6 @@ typedef struct transitionGenerator { long totalStateCount; StateStackPtr stack; - StatePtr stateTop; StatePtr stateEnd; StatePtr *stateArray; StatePtr stateList; diff -r 61d4d466e64c -r 72f3673dd7a5 regexParser/subsetConstruction.cc --- a/regexParser/subsetConstruction.cc Mon Jan 25 18:20:37 2016 +0900 +++ b/regexParser/subsetConstruction.cc Mon Jan 25 18:28:57 2016 +0900 @@ -380,13 +380,13 @@ } void subsetConstruction(TransitionGeneratorPtr tg) { - for (;tg->stateTop;tg->stateTop = tg->stateTop->next) { - CharClassWalkerPtr cw = createCharClassWalker(tg->stateTop->cc); + for (StatePtr st = tg->stateList;st;st = st->next) { + CharClassWalkerPtr cw = createCharClassWalker(st->cc); while (hasNext(cw)) { CharClassPtr cc = getNext(cw); BitVector bi = cc->nextState; if (tg->stateArray[bi.bitContainer]) continue; // already done - StatePtr s = createState(tg,bi); + StatePtr s = createState(tg,bi); // s is added at the end of stateList. tg->stateArray[bi.bitContainer] = s; determinize(s,tg); }