Mercurial > hg > Applications > Grep
diff regexParser/transition.cc @ 175:3be0fbcd4b52 pairPro
implement createTransitionGenerator
author | Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 22 Dec 2015 20:27:26 +0900 |
parents | 540fc12871d9 |
children | c092dd0e1ae0 |
line wrap: on
line diff
--- a/regexParser/transition.cc Tue Dec 22 18:48:11 2015 +0900 +++ b/regexParser/transition.cc Tue Dec 22 20:27:26 2015 +0900 @@ -1,8 +1,22 @@ #include <stdlib.h> #include "transition.h" +StatePtr createState(StatePtr state,BitVector bi) { + StatePtr s = state; + if (state != NULL) { + while (state->next) { + state = state->next; + } + } + state = NEW(State); + state->bitState = bi; + state->transition = NEW(Transition); + state->nextNode = NEW(Node); + return s; +} + TransitionPtr createTransition(CharClassPtr cc, BitVectorPtr state) { - TransitionPtr transition = (TransitionPtr)malloc(sizeof(Transition)); + TransitionPtr transition = NEW(Transition); transition->condition = cc; transition->condition->nextState = *state; return transition;