Mercurial > hg > Applications > Grep
view regexParser/transition.cc @ 188:109d22faf7b5 pairPro
remove errors and warnings
author | Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 25 Dec 2015 02:57:21 +0900 |
parents | ef798db705e9 |
children | 3e8e5780ad4a |
line wrap: on
line source
#include <stdlib.h> #include "transition.h" node::StatePtr searchState(node::StatePtr stateArray, node::StatePtr state) { while(stateArray) { if (stateArray->bitState.bitContainer == state->bitState.bitContainer) { return stateArray; } if (stateArray->next == NULL) { node::StatePtr s = createState(state->bitState); stateArray = appendState(stateArray,s); return stateArray; } stateArray = stateArray->next; } return stateArray; } node::StatePtr createState(BitVector bi) { node::StatePtr state = NEW(node::State); state->bitState = bi; state->node = NEW(Node); return state; } node::StatePtr appendState(node::StatePtr x,node::StatePtr y) { node::StatePtr x0 = createState(x->bitState); node::StatePtr x1 = x0; for(;;) { if (x->next == NULL) { x1->next = y; return x0; } x = x->next; x1->next = createState(x->bitState); x1 = x1->next; } return x0; }