"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "src/redfsm.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.

redfsm.cc  (ragel-7.0.0.11):redfsm.cc  (ragel-7.0.0.12)
skipping to change at line 73 skipping to change at line 73
errState(0), errState(0),
errTrans(0), errTrans(0),
errCond(0), errCond(0),
firstFinState(0), firstFinState(0),
numFinStates(0), numFinStates(0),
bAnyToStateActions(false), bAnyToStateActions(false),
bAnyFromStateActions(false), bAnyFromStateActions(false),
bAnyRegActions(false), bAnyRegActions(false),
bAnyEofActions(false), bAnyEofActions(false),
bAnyEofTrans(false), bAnyEofTrans(false),
bAnyEofActivity(false),
bAnyActionGotos(false), bAnyActionGotos(false),
bAnyActionCalls(false), bAnyActionCalls(false),
bAnyActionNcalls(false), bAnyActionNcalls(false),
bAnyActionRets(false), bAnyActionRets(false),
bAnyActionNrets(false), bAnyActionNrets(false),
bAnyActionByValControl(false), bAnyActionByValControl(false),
bAnyRegActionRets(false), bAnyRegActionRets(false),
bAnyRegActionByValControl(false), bAnyRegActionByValControl(false),
bAnyRegNextStmt(false), bAnyRegNextStmt(false),
bAnyRegCurStateRef(false), bAnyRegCurStateRef(false),
skipping to change at line 1063 skipping to change at line 1064
RedTransAp *defTrans = chooseDefaultNumRanges( st ); RedTransAp *defTrans = chooseDefaultNumRanges( st );
/* Rewrite the transition list taking out the transition we picke d /* Rewrite the transition list taking out the transition we picke d
* as the default and store the default. */ * as the default and store the default. */
moveToDefault( defTrans, st ); moveToDefault( defTrans, st );
} }
} }
RedCondAp *RedFsmAp::getErrorCond() RedCondAp *RedFsmAp::getErrorCond()
{ {
if ( errCond == 0 ) { return allocateCond( getErrorState(), 0 );
/* Create the cond transition. This should also always succeed. *
/
errCond = new RedCondAp( getErrorState(), 0, nextCondId++ );
RedCondAp *inCondSet = condSet.insert( errCond );
assert( inCondSet != 0 );
}
return errCond;
} }
RedTransAp *RedFsmAp::getErrorTrans() RedTransAp *RedFsmAp::getErrorTrans()
{ {
/* If the error trans has not been made aready, make it. */ return allocateTrans( getErrorState(), 0 );
if ( errTrans == 0 ) {
/* This insert should always succeed. No transition created by th
e user
* can point to the error state. */
errTrans = new RedTransAp( nextTransId++, nextCondId++, getErrorS
tate(), 0 );
RedTransAp *inTransSet = transSet.insert( errTrans );
assert( inTransSet != 0 );
}
return errTrans;
} }
RedStateAp *RedFsmAp::getErrorState() RedStateAp *RedFsmAp::getErrorState()
{ {
/* Something went wrong. An error state is needed but one was not supplie d /* Something went wrong. An error state is needed but one was not supplie d
* by the frontend. */ * by the frontend. */
assert( errState != 0 ); assert( errState != 0 );
return errState; return errState;
} }
 End of changes. 3 change blocks. 
20 lines changed or deleted 3 lines changed or added

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