public class CfgSwitchSequenceBackend extends CfgDefaultVisitor
The HDL parser backend that optimises sequences
of control flow graph CfgModel
model
CfgSwitchStatement
switch nodes. A sequence can be treated as nested switch statements
and as sequential switch statements. Switch nodes must contain conditions of the following form:
x == const_1 || ... || x == const_n
, and only the x
must be used
in every node of the sequences to be transformed.
CfgVisitor.Status
Constructor and Description |
---|
CfgSwitchSequenceBackend()
Default constructor.
|
Modifier and Type | Method and Description |
---|---|
void |
onProcessBegin(CfgProcess process)
Starts visiting
CfgProcess node. |
void |
onProcessEnd(CfgProcess process)
Finishes visiting
CfgProcess node. |
void |
onSwitchBegin(CfgSwitchStatement switchNode)
Starts visiting
CfgSwitchStatement node. |
getStatus, onAssertBegin, onAssertEnd, onBasicBlockBegin, onBasicBlockEnd, onCaseBegin, onCaseEnd, onCfgModelBegin, onCfgModelEnd, onLoopBegin, onLoopEnd, onModuleBegin, onModuleEnd, onNodeBegin, onNodeEnd, onRootBegin, onRootEnd, onSwitchEnd, onWaitBegin, onWaitEnd
public void onProcessBegin(CfgProcess process)
CfgVisitor
CfgProcess
node.onProcessBegin
in interface CfgVisitor
onProcessBegin
in class CfgDefaultVisitor
process
- Process node to be visited.public void onProcessEnd(CfgProcess process)
CfgVisitor
CfgProcess
node.onProcessEnd
in interface CfgVisitor
onProcessEnd
in class CfgDefaultVisitor
process
- Process node to be visited.public void onSwitchBegin(CfgSwitchStatement switchNode)
CfgVisitor
CfgSwitchStatement
node.onSwitchBegin
in interface CfgVisitor
onSwitchBegin
in class CfgDefaultVisitor
switchNode
- Switch statement to be visited.