"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "src/fsmbase.cc" between
ragel-7.0.0.11.tar.gz and ragel-7.0.0.12.tar.gz

About: Ragel compiles executable finite state machines from regular languages (C, C++, Obj-C, C#, D, Java, Go and Ruby). Development version.

fsmbase.cc  (ragel-7.0.0.11):fsmbase.cc  (ragel-7.0.0.12)
skipping to change at line 506 skipping to change at line 506
for ( NfaTransList::Iter st = *state->nfaOut; st.lte(); st++ ) for ( NfaTransList::Iter st = *state->nfaOut; st.lte(); st++ )
markReachableFromHere( st->toState ); markReachableFromHere( st->toState );
} }
if ( state->stateDictEl != 0 ) { if ( state->stateDictEl != 0 ) {
for ( StateSet::Iter ss = state->stateDictEl->stateSet; ss.lte(); ss++ ) for ( StateSet::Iter ss = state->stateDictEl->stateSet; ss.lte(); ss++ )
markReachableFromHere( *ss ); markReachableFromHere( *ss );
} }
} }
/* Any transitions to another state? */
bool FsmAp::anyRegularTransitions( StateAp *state )
{
for ( TransList::Iter trans = state->outList; trans.lte(); trans++ ) {
if ( trans->plain() ) {
StateAp *toState = trans->tdap()->toState;
if ( toState != 0 )
return true;
}
else {
for ( CondList::Iter cond = trans->tcap()->condList; cond
.lte(); cond++ ) {
StateAp *toState = cond->toState;
if ( toState != 0 )
return true;
}
}
}
return false;
}
void FsmAp::markReachableFromHereStopFinal( StateAp *state ) void FsmAp::markReachableFromHereStopFinal( StateAp *state )
{ {
/* Base case: return; */ /* Base case: return; */
if ( state->stateBits & STB_ISMARKED ) if ( state->stateBits & STB_ISMARKED )
return; return;
/* Set this state as processed. We are going to visit all states that thi s /* Set this state as processed. We are going to visit all states that thi s
* state has a transition to. */ * state has a transition to. */
state->stateBits |= STB_ISMARKED; state->stateBits |= STB_ISMARKED;
 End of changes. 1 change blocks. 
0 lines changed or deleted 21 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)