summaryrefslogtreecommitdiffstats
path: root/src/uscxml/transform/ChartToPromela.cpp
diff options
context:
space:
mode:
authorStefan Radomski <radomski@tk.informatik.tu-darmstadt.de>2014-10-21 18:45:42 (GMT)
committerStefan Radomski <radomski@tk.informatik.tu-darmstadt.de>2014-10-21 18:45:42 (GMT)
commitc66fa34eb48f81da05966b947a2e37067318a09f (patch)
treead365818c666fb670721fc3c1aec64049e40012b /src/uscxml/transform/ChartToPromela.cpp
parentaa6cadbcc57c0f9562247b29cac8d653c5a18956 (diff)
downloaduscxml-c66fa34eb48f81da05966b947a2e37067318a09f.zip
uscxml-c66fa34eb48f81da05966b947a2e37067318a09f.tar.gz
uscxml-c66fa34eb48f81da05966b947a2e37067318a09f.tar.bz2
More output when transforming
Diffstat (limited to 'src/uscxml/transform/ChartToPromela.cpp')
-rw-r--r--src/uscxml/transform/ChartToPromela.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/uscxml/transform/ChartToPromela.cpp b/src/uscxml/transform/ChartToPromela.cpp
index b9b1637..930fb8d 100644
--- a/src/uscxml/transform/ChartToPromela.cpp
+++ b/src/uscxml/transform/ChartToPromela.cpp
@@ -279,8 +279,8 @@ void PromelaCodeAnalyzer::addCode(const std::string& code) {
// break fall through from ASGN
break;
}
- node->dump();
- assert(false);
+// node->dump();
+// assert(false);
break;
}
@@ -1664,12 +1664,14 @@ void ChartToPromela::writeFSM(std::ostream& stream) {
// write initial transition
// transitions = filterChildElements(_nsInfo.xmlNSPrefix + "transition", _startState);
// assert(transitions.size() == 1);
- stream << " /* transition's executable content */" << std::endl;
+ stream << " /* transition to initial state */" << std::endl;
assert(_start->sortedOutgoing.size() == 1);
// initial transition has to be first one for control flow at start
writeTransition(stream, _start->sortedOutgoing.front(), 1);
+ stream << std::endl;
+ stream << " /* transition's executable content */" << std::endl;
// every other transition
for (std::map<std::string, GlobalState*>::iterator stateIter = _globalConf.begin(); stateIter != _globalConf.end(); stateIter++) {
for (std::list<GlobalTransition*>::iterator transIter = stateIter->second->sortedOutgoing.begin(); transIter != stateIter->second->sortedOutgoing.end(); transIter++) {
@@ -1886,7 +1888,7 @@ void ChartToPromela::initNodes() {
continue;
Element<std::string> stateElem(states[i]);
_analyzer.addOrigState(ATTR(stateElem, "id"));
- if (isCompound(stateElem) || isParallel(stateElem)) {
+ if ((isCompound(stateElem) || isParallel(stateElem)) && !parentIsScxmlState(stateElem)) {
_analyzer.addEvent("done.state." + ATTR(stateElem, "id"));
}
}