From 54e2adc0fd910f57383c27c9fe58950cbb9e64e3 Mon Sep 17 00:00:00 2001 From: Alexey Fedoseev Date: Mon, 22 Apr 2024 21:16:22 +0300 Subject: [PATCH] correct SM dump output --- cyberiadamlpp.cpp | 36 ++++++++++++------------------------ tests/04-output.txt | 4 ++-- tests/05-output.txt | 4 ++-- tests/06-output.txt | 2 +- 4 files changed, 17 insertions(+), 29 deletions(-) diff --git a/cyberiadamlpp.cpp b/cyberiadamlpp.cpp index 166b5cc..da58c82 100644 --- a/cyberiadamlpp.cpp +++ b/cyberiadamlpp.cpp @@ -122,20 +122,20 @@ std::ostream& Element::dump(std::ostream& os) const { String type_str; switch (type) { - case elementRoot: type_str = "doc"; break; - case elementSM: type_str = "stm"; break; - case elementSimpleState: type_str = "sst"; break; - case elementCompositeState: type_str = "cst"; break; - case elementComment: type_str = "ico"; break; - case elementFormalComment: type_str = "fco"; break; - case elementInitial: type_str = "ini"; break; - case elementFinal: type_str = "fin"; break; - case elementChoice: type_str = "cho"; break; - case elementTransition: type_str = "tra"; break; + case elementRoot: type_str = "Document"; break; + case elementSM: type_str = "State Machine"; break; + case elementSimpleState: type_str = "Simple State"; break; + case elementCompositeState: type_str = "Composite State"; break; + case elementComment: type_str = "Comment"; break; + case elementFormalComment: type_str = "Formal Comment"; break; + case elementInitial: type_str = "Initial"; break; + case elementFinal: type_str = "Final"; break; + case elementChoice: type_str = "Choice"; break; + case elementTransition: type_str = "Transition"; break; default: CYB_ASSERT(false); } - os << "Element type: " << type_str << ", id: '" << id << "'"; + os << type_str << ": {id: '" << id << "'"; if (name_is_set) { os << ", name: '" << name << "'"; } @@ -472,7 +472,6 @@ CyberiadaEdge* Comment::subjects_to_edge() const std::ostream& Comment::dump(std::ostream& os) const { - os << "Comment { " << (human_readable ? "informal" : "formal") << ", "; Element::dump(os); os << ", body: '" << body << "'"; if (has_geometry()) { @@ -835,7 +834,6 @@ InitialPseudostate::InitialPseudostate(Element* _parent, const ID& _id, const Na std::ostream& InitialPseudostate::dump(std::ostream& os) const { - os << "Initial {"; Element::dump(os); Vertex::dump(os); os << "}"; @@ -870,7 +868,6 @@ CyberiadaNode* ChoicePseudostate::to_node() const std::ostream& ChoicePseudostate::dump(std::ostream& os) const { - os << "Choice {"; Element::dump(os); if (has_geometry()) { os << ", geometry: " << geometry_rect; @@ -898,7 +895,6 @@ FinalState::FinalState(Element* _parent, const ID& _id, const Name& _name, const std::ostream& FinalState::dump(std::ostream& os) const { - os << "Final {"; Element::dump(os); Vertex::dump(os); os << "}"; @@ -1003,11 +999,6 @@ CyberiadaNode* State::to_node() const std::ostream& State::dump(std::ostream& os) const { - if (is_simple_state()) { - os << "State {"; - } else { - os << "Composite state {"; - } Element::dump(os); if (has_actions()) { os << ", actions: {"; @@ -1072,7 +1063,6 @@ CyberiadaEdge* Transition::to_edge() const std::ostream& Transition::dump(std::ostream& os) const { - os << "Transition {"; Element::dump(os); if (has_action()) { os << ", action: {"; @@ -1154,7 +1144,6 @@ std::list StateMachine::get_transitions() std::ostream& StateMachine::dump(std::ostream& os) const { - os << "State Machine {"; Element::dump(os); ElementCollection::dump(os); os << "}"; @@ -1727,9 +1716,8 @@ std::list Document::get_state_machines() std::ostream& Document::dump(std::ostream& os) const { - os << "Document [" << format << "] {"; Element::dump(os); - os << ", meta: {"; + os << ", format: '" << format << "', meta: {"; std::list params; if (!metainfo.standard_version.empty()) { params.push_back("standard version: '" + metainfo.standard_version + "'"); diff --git a/tests/04-output.txt b/tests/04-output.txt index 6c664a5..39e45c0 100644 --- a/tests/04-output.txt +++ b/tests/04-output.txt @@ -1,6 +1,6 @@ -Document [Cyberiada-GraphML-1.0] {Element type: doc, id: '', name: 'Test document', meta: {standard version: '1.0', platform name: 'Berloga', platform version: '1.4', platform language: 'script', target system: 'Unit', name: 'Test document', author: 'Author', contact: 'platform@kruzhok.org', description: '1 +Document: {id: '', name: 'Test document', format: 'Cyberiada-GraphML-1.0', meta: {standard version: '1.0', platform name: 'Berloga', platform version: '1.4', platform language: 'script', target system: 'Unit', name: 'Test document', author: 'Author', contact: 'platform@kruzhok.org', description: '1 2 -3', version: '0.1', date: '2024-04-14 11:22', markup language: 'html', transition order: exit first, event propagation: propagate events}, elements: {State Machine {Element type: stm, id: 'G0', name: 'SM', elements: {Comment { formal, Element type: fco, id: 'nMeta', name: 'CGML_META', body: 'standardVersion/ 1.0 +3', version: '0.1', date: '2024-04-14 11:22', markup language: 'html', transition order: exit first, event propagation: propagate events}, elements: {State Machine: {id: 'G0', name: 'SM', elements: {Formal Comment: {id: 'nMeta', name: 'CGML_META', body: 'standardVersion/ 1.0 platform/ Berloga diff --git a/tests/05-output.txt b/tests/05-output.txt index 3266d47..4ec13c5 100644 --- a/tests/05-output.txt +++ b/tests/05-output.txt @@ -1,6 +1,6 @@ -Document [Cyberiada-GraphML-1.0] {Element type: doc, id: '', name: 'Test document 2', meta: {standard version: '1.0', platform name: 'Berloga', platform version: '1.4', platform language: 'script', target system: 'Unit', name: 'Test document 2', author: 'Author', contact: 'platform@kruzhok.org', description: '1 +Document: {id: '', name: 'Test document 2', format: 'Cyberiada-GraphML-1.0', meta: {standard version: '1.0', platform name: 'Berloga', platform version: '1.4', platform language: 'script', target system: 'Unit', name: 'Test document 2', author: 'Author', contact: 'platform@kruzhok.org', description: '1 2 -3', version: '0.1', date: '2024-04-14 11:22', markup language: 'html', transition order: exit first, event propagation: propagate events}, elements: {State Machine {Element type: stm, id: 'G0', name: 'SM', elements: {Comment { formal, Element type: fco, id: 'nMeta', name: 'CGML_META', body: 'standardVersion/ 1.0 +3', version: '0.1', date: '2024-04-14 11:22', markup language: 'html', transition order: exit first, event propagation: propagate events}, elements: {State Machine: {id: 'G0', name: 'SM', elements: {Formal Comment: {id: 'nMeta', name: 'CGML_META', body: 'standardVersion/ 1.0 platform/ Berloga diff --git a/tests/06-output.txt b/tests/06-output.txt index de64cd9..bb597c2 100644 --- a/tests/06-output.txt +++ b/tests/06-output.txt @@ -1 +1 @@ -Document [Cyberiada-GraphML-1.0] {Element type: doc, id: '', name: '', meta: {standard version: '1.0', transition order: transition first, event propagation: block events}, elements: {State Machine {Element type: stm, id: 'G0', name: 'SM1'}, State Machine {Element type: stm, id: 'G1', name: 'SM2'}} +Document: {id: '', name: '', format: 'Cyberiada-GraphML-1.0', meta: {standard version: '1.0', transition order: transition first, event propagation: block events}, elements: {State Machine: {id: 'G0', name: 'SM1'}, State Machine: {id: 'G1', name: 'SM2'}}