From 11a946c727a7db04ffabf4e8b24975fb302bc808 Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Tue, 28 Nov 2017 23:29:33 +0100 Subject: Update .gitignore and minor changes (mostly formatting) --- src/diagram/BranchStatement.hpp | 11 +++++++---- src/diagram/Statement.cpp | 2 ++ src/diagram/Statement.hpp | 16 ++++------------ 3 files changed, 13 insertions(+), 16 deletions(-) (limited to 'src/diagram') diff --git a/src/diagram/BranchStatement.hpp b/src/diagram/BranchStatement.hpp index dacf060..1f07e5a 100644 --- a/src/diagram/BranchStatement.hpp +++ b/src/diagram/BranchStatement.hpp @@ -10,17 +10,20 @@ #include "Statement.hpp" +#include + namespace samb { class BranchStatement: public Statement { public: BranchStatement(Type t, const std::string& condition, pointer next); - const std::string& condition() const { return text(); } - void condition(const std::string& condition) { return text(condition); } + /* accessors */ + const std::map& branches() const { return m_branches; } + std::size_t branchesCount() const { return m_branchesCount; } - std::vector branches(); - std::size_t branchesCount(); + inline const std::string& condition() const { return text(); } + inline void condition(const std::string& condition) { return text(condition); } private: std::map m_branches; diff --git a/src/diagram/Statement.cpp b/src/diagram/Statement.cpp index d708dd9..dc4bfb7 100644 --- a/src/diagram/Statement.cpp +++ b/src/diagram/Statement.cpp @@ -10,6 +10,8 @@ namespace samb { /* Statement */ + +Statement::Statement(Type t, const std::string& text): type(t), m_text(text), m_next(nullptr) {} Statement::Statement(Type t, const std::string& text, Statement::pointer p): type(t), m_text(text), m_next(p) {} Statement::~Statement() {} diff --git a/src/diagram/Statement.hpp b/src/diagram/Statement.hpp index 4eb3b4d..0c769ba 100644 --- a/src/diagram/Statement.hpp +++ b/src/diagram/Statement.hpp @@ -10,19 +10,17 @@ #include #include -#include -#include namespace samb { /* Possible types of statement, according to the NS diagram paper * * PROCESS : a statement that does something + * SCOPE : simple scope to isolate variables * DECISION : splits the program in 2 branches based on a condition * SWITCH : splits the program in n branches depending on a value * WHILE : repeat first loop * UNTIL : repeat last loop - * SCOPE : simple scope to isolate variables * PARALLEL : parallel operations */ @@ -36,24 +34,18 @@ public: enum Type { PROCESS, + SCOPE, DECISION, SWITCH, WHILE, UNTIL, - SCOPE, PARALLEL, - - /* this type of statement indicates the end of the program - * and it is used only internally - * - * TODO: think of something more elegant to solve this - */ - END }; const Type type; - Statement(Type type, const std::string& text, pointer next); + Statement(Type t, const std::string& text); + Statement(Type t, const std::string& text, pointer next); virtual ~Statement(); bool operator==(const Statement& other) const; -- cgit v1.2.1