|
@ -110,9 +110,11 @@ namespace storm { |
|
|
{ |
|
|
{ |
|
|
graph = new storm::ppg::ProgramGraph(program.getExpressionManager(), program.getVariableDeclarations()); |
|
|
graph = new storm::ppg::ProgramGraph(program.getExpressionManager(), program.getVariableDeclarations()); |
|
|
noActionId = graph->getNoActionId(); |
|
|
noActionId = graph->getNoActionId(); |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* Runs the translator. |
|
|
|
|
|
*/ |
|
|
void run() { |
|
|
void run() { |
|
|
currentStack.push_back(graph->addLocation(true)); |
|
|
currentStack.push_back(graph->addLocation(true)); |
|
|
// Terminal state. |
|
|
// Terminal state. |
|
@ -124,24 +126,25 @@ namespace storm { |
|
|
buildBlock(program); |
|
|
buildBlock(program); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* Extracts the program graph from the builder. |
|
|
|
|
|
* @return |
|
|
|
|
|
*/ |
|
|
storm::ppg::ProgramGraph* finalize() { |
|
|
storm::ppg::ProgramGraph* finalize() { |
|
|
storm::ppg::ProgramGraph* tmp = graph; |
|
|
storm::ppg::ProgramGraph* tmp = graph; |
|
|
graph = nullptr; |
|
|
graph = nullptr; |
|
|
return tmp; |
|
|
return tmp; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
std::vector<storm::ppg::ProgramLocation*> currentStack; |
|
|
std::vector<storm::ppg::ProgramLocation*> currentStack; |
|
|
std::vector<storm::ppg::ProgramLocation*> nextStack; |
|
|
std::vector<storm::ppg::ProgramLocation*> nextStack; |
|
|
|
|
|
|
|
|
|
|
|
/// Action id if no action is to be executed. |
|
|
storm::ppg::ProgramActionIdentifier noActionId; |
|
|
storm::ppg::ProgramActionIdentifier noActionId; |
|
|
|
|
|
|
|
|
|
|
|
/// Resulting state of an failed observation. |
|
|
storm::ppg::ProgramLocation* observeFailedState = nullptr; |
|
|
storm::ppg::ProgramLocation* observeFailedState = nullptr; |
|
|
|
|
|
|
|
|
|
|
|
/// PGCL Program to translate. |
|
|
storm::pgcl::PgclProgram const& program; |
|
|
storm::pgcl::PgclProgram const& program; |
|
|
|
|
|
/// Obtained Program Graph. |
|
|
storm::ppg::ProgramGraph* graph; |
|
|
storm::ppg::ProgramGraph* graph; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|