diff options
Diffstat (limited to 'src/uscxml/transform/ChartToC.h')
-rw-r--r-- | src/uscxml/transform/ChartToC.h | 26 |
1 files changed, 20 insertions, 6 deletions
diff --git a/src/uscxml/transform/ChartToC.h b/src/uscxml/transform/ChartToC.h index 1ac59f3..f9b9599 100644 --- a/src/uscxml/transform/ChartToC.h +++ b/src/uscxml/transform/ChartToC.h @@ -29,6 +29,7 @@ #include <DOM/Node.hpp> #include <XPath/XPath.hpp> #include <ostream> +#include <set> namespace uscxml { @@ -42,14 +43,18 @@ public: protected: ChartToC(const Interpreter& other); - + void writeIncludes(std::ostream& stream); void writeMacros(std::ostream& stream); void writeTypes(std::ostream& stream); void writeHelpers(std::ostream& stream); void writeExecContent(std::ostream& stream); + void writeExecContentFinalize(std::ostream& stream); + void writeElementInfoInvocation(std::ostream& stream); + void writeElementInfo(std::ostream& stream); + void writeMachineInfo(std::ostream& stream); void writeStates(std::ostream& stream); void writeTransitions(std::ostream& stream); void writeFSM(std::ostream& stream); @@ -61,16 +66,20 @@ protected: void resortStates(Arabica::DOM::Node<std::string>& node); void setHistoryCompletion(); - void setStateCompletion(); - void prepare(); - + void setStateCompletion(); + void prepare(); + + void findNestedMachines(); + Interpreter interpreter; Arabica::XPath::NodeSet<std::string> _states; Arabica::XPath::NodeSet<std::string> _transitions; -// std::string md5sum; - + std::string _md5; + std::string _prefix; + std::set<std::string> _hasElement; + size_t _transCharArraySize; std::string _transCharArrayInit; std::string _transDataType; @@ -78,6 +87,11 @@ protected: size_t _stateCharArraySize; std::string _stateCharArrayInit; std::string _stateDataType; + + ChartToC* _topMostMachine; + ChartToC* _parentMachine; + std::list<ChartToC*> _nestedMachines; + std::list<ChartToC*> _allMachines; }; } |