diff options
author | Stefan Radomski <sradomski@mintwerk.de> | 2015-12-04 08:00:18 (GMT) |
---|---|---|
committer | Stefan Radomski <sradomski@mintwerk.de> | 2015-12-04 08:00:18 (GMT) |
commit | b8ba0e7c31f397a66f9d509ff20a85b33619475a (patch) | |
tree | 9a5adb4f891cdc29eb80f597510e0cef8ee0a47f /src/uscxml/interpreter | |
parent | 57ba362eae6e8209cf560555fd4cc4bb76dbe2a1 (diff) | |
download | uscxml-b8ba0e7c31f397a66f9d509ff20a85b33619475a.zip uscxml-b8ba0e7c31f397a66f9d509ff20a85b33619475a.tar.gz uscxml-b8ba0e7c31f397a66f9d509ff20a85b33619475a.tar.bz2 |
All changes up to my dissertation
Diffstat (limited to 'src/uscxml/interpreter')
-rw-r--r-- | src/uscxml/interpreter/InterpreterRC.cpp | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/src/uscxml/interpreter/InterpreterRC.cpp b/src/uscxml/interpreter/InterpreterRC.cpp index b933993..879c771 100644 --- a/src/uscxml/interpreter/InterpreterRC.cpp +++ b/src/uscxml/interpreter/InterpreterRC.cpp @@ -209,15 +209,22 @@ Arabica::XPath::NodeSet<std::string> InterpreterRC::computeExitSet(const Arabica } Arabica::XPath::NodeSet<std::string> InterpreterRC::computeExitSet(const Arabica::DOM::Node<std::string>& transition) { - if (_exitSet.find(transition) != _exitSet.end()) // speed up removeConflicting - return _exitSet[transition]; +// if (_exitSet.find(transition) != _exitSet.end()) // speed up removeConflicting +// return _exitSet[transition]; Arabica::XPath::NodeSet<std::string> transitions; transitions.push_back(transition); Arabica::XPath::NodeSet<std::string> exitSet = computeExitSet(transitions); - _exitSet[transition] = exitSet; + //_exitSet[transition] = exitSet; +#if 0 + std::cerr << "Exit set for transition '" << transition << "': " << std::endl; + for (int i = 0; i < exitSet.size(); i++) { + std::cerr << ATTR_CAST(exitSet[i], "id") << std::endl << "----" << std::endl; + } + std::cerr << std::endl; +#endif return exitSet; } @@ -303,11 +310,11 @@ void InterpreterRC::enterStates(const Arabica::XPath::NodeSet<std::string>& enab // only process first donedata element doneData = Element<std::string>(doneDatas[0]); } - internalDoneSend(parent, doneData); if (parentIsScxmlState(s)) { _topLevelFinalReached = true; } else { + internalDoneSend(parent, doneData); Element<std::string> grandParent = (Element<std::string>)parent.getParentNode(); // internalDoneSend(parent, Arabica::DOM::Element<std::string>()); |