public final class CfgLoopBackend extends CfgEmptyVisitor
Finite loops are transformed into sequences of statements (i.e. loop unrolling), infinite loops are transformed into separate processes.
ModelVisitor.Status
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
NAME
The backend name.
|
Constructor and Description |
---|
CfgLoopBackend() |
Modifier and Type | Method and Description |
---|---|
void |
onLoopEnd(CfgLoopStatement loop)
Finishes visiting
CfgLoopStatement node. |
void |
onModuleBegin(Module module)
Starts visiting
Module node. |
void |
onModuleEnd(Module module)
Finishes visiting
Module node. |
onAssertBegin, onAssertEnd, onBlockBegin, onBlockEnd, onCaseBegin, onCaseEnd, onLoopBegin, onSwitchBegin, onSwitchEnd, onWaitBegin, onWaitEnd
getStatus, onModelBegin, onModelEnd, onProcessBegin, onProcessEnd, onRootBegin, onRootEnd, onStatementBegin, onStatementEnd
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getStatus, onModelBegin, onModelEnd, onProcessBegin, onProcessEnd, onRootBegin, onRootEnd, onStatementBegin, onStatementEnd
public static final java.lang.String NAME
public void onModuleBegin(Module module)
ModelVisitor
Module
node.onModuleBegin
in interface ModelVisitor
onModuleBegin
in class ModelEmptyVisitor
module
- Module node to be visited.public void onModuleEnd(Module module)
ModelVisitor
Module
node.onModuleEnd
in interface ModelVisitor
onModuleEnd
in class ModelEmptyVisitor
module
- Module node to be visited.public void onLoopEnd(CfgLoopStatement loop)
CfgVisitor
CfgLoopStatement
node.onLoopEnd
in interface CfgVisitor
onLoopEnd
in class CfgEmptyVisitor
loop
- Loop statement to be visited.