gendata.cpp (ragel-6.9) | : | gendata.cpp (ragel-6.10) | ||
---|---|---|---|---|
skipping to change at line 453 | skipping to change at line 453 | |||
actExpr(0), | actExpr(0), | |||
tokstartExpr(0), | tokstartExpr(0), | |||
tokendExpr(0), | tokendExpr(0), | |||
dataExpr(0), | dataExpr(0), | |||
wantComplete(true), | wantComplete(true), | |||
hasLongestMatch(false), | hasLongestMatch(false), | |||
noEnd(false), | noEnd(false), | |||
noPrefix(false), | noPrefix(false), | |||
noFinal(false), | noFinal(false), | |||
noError(false), | noError(false), | |||
noEntry(false), | ||||
noCS(false) | noCS(false) | |||
{} | {} | |||
void CodeGenData::createMachine() | void CodeGenData::createMachine() | |||
{ | { | |||
redFsm = new RedFsmAp(); | redFsm = new RedFsmAp(); | |||
} | } | |||
void CodeGenData::initActionList( unsigned long length ) | void CodeGenData::initActionList( unsigned long length ) | |||
{ | { | |||
skipping to change at line 834 | skipping to change at line 835 | |||
{ | { | |||
for ( GenInlineList::Iter item = *inlineList; item.lte(); item++ ) { | for ( GenInlineList::Iter item = *inlineList; item.lte(); item++ ) { | |||
/* Only consider actions that are referenced. */ | /* Only consider actions that are referenced. */ | |||
if ( act->numRefs() > 0 ) { | if ( act->numRefs() > 0 ) { | |||
if ( item->type == GenInlineItem::Goto || item->type == G enInlineItem::GotoExpr ) | if ( item->type == GenInlineItem::Goto || item->type == G enInlineItem::GotoExpr ) | |||
redFsm->bAnyActionGotos = true; | redFsm->bAnyActionGotos = true; | |||
else if ( item->type == GenInlineItem::Call || item->type == GenInlineItem::CallExpr ) | else if ( item->type == GenInlineItem::Call || item->type == GenInlineItem::CallExpr ) | |||
redFsm->bAnyActionCalls = true; | redFsm->bAnyActionCalls = true; | |||
else if ( item->type == GenInlineItem::Ret ) | else if ( item->type == GenInlineItem::Ret ) | |||
redFsm->bAnyActionRets = true; | redFsm->bAnyActionRets = true; | |||
if ( item->type == GenInlineItem::CallExpr || item->type | ||||
== GenInlineItem::GotoExpr ) | ||||
redFsm->bAnyActionByValControl = true; | ||||
} | } | |||
/* Check for various things in regular actions. */ | /* Check for various things in regular actions. */ | |||
if ( act->numTransRefs > 0 || act->numToStateRefs > 0 || act->num FromStateRefs > 0 ) { | if ( act->numTransRefs > 0 || act->numToStateRefs > 0 || act->num FromStateRefs > 0 ) { | |||
/* Any returns in regular actions? */ | /* Any returns in regular actions? */ | |||
if ( item->type == GenInlineItem::Ret ) | if ( item->type == GenInlineItem::Ret ) | |||
redFsm->bAnyRegActionRets = true; | redFsm->bAnyRegActionRets = true; | |||
/* Any next statements in the regular actions? */ | /* Any next statements in the regular actions? */ | |||
if ( item->type == GenInlineItem::Next || item->type == G enInlineItem::NextExpr ) | if ( item->type == GenInlineItem::Next || item->type == G enInlineItem::NextExpr ) | |||
skipping to change at line 1074 | skipping to change at line 1079 | |||
genLineDirective( out ); | genLineDirective( out ); | |||
followLineDirective = true; | followLineDirective = true; | |||
for ( int i = 1; i < nargs; i++ ) { | for ( int i = 1; i < nargs; i++ ) { | |||
if ( strcmp( args[i], "noerror" ) == 0 ) | if ( strcmp( args[i], "noerror" ) == 0 ) | |||
noError = true; | noError = true; | |||
else if ( strcmp( args[i], "noprefix" ) == 0 ) | else if ( strcmp( args[i], "noprefix" ) == 0 ) | |||
noPrefix = true; | noPrefix = true; | |||
else if ( strcmp( args[i], "nofinal" ) == 0 ) | else if ( strcmp( args[i], "nofinal" ) == 0 ) | |||
noFinal = true; | noFinal = true; | |||
else if ( strcmp( args[i], "noentry" ) == 0 ) | ||||
noEntry = true; | ||||
else | else | |||
write_option_error( loc, args[i] ); | write_option_error( loc, args[i] ); | |||
} | } | |||
writeData(); | writeData(); | |||
} | } | |||
else if ( strcmp( args[0], "init" ) == 0 ) { | else if ( strcmp( args[0], "init" ) == 0 ) { | |||
out << '\n'; | out << '\n'; | |||
genLineDirective( out ); | genLineDirective( out ); | |||
followLineDirective = true; | followLineDirective = true; | |||
End of changes. 3 change blocks. | ||||
0 lines changed or deleted | 8 lines changed or added |