From e9cdb5481c5352888456477485744610f892db8c Mon Sep 17 00:00:00 2001 From: Jan Travnicek <Jan.Travnicek@fit.cvut.cz> Date: Thu, 11 Jun 2015 11:28:51 +0200 Subject: [PATCH] even more improvements of includes --- alib2data/src/XmlApi.cpp | 10 ++++++ alib2data/src/alphabet/SymbolFeatures.h | 1 + alib2data/src/alphabet/SymbolToXMLComposer.h | 2 +- alib2data/src/automaton/AutomatonFeatures.h | 3 ++ .../src/automaton/AutomatonFromStringParser.h | 6 ++-- .../src/automaton/AutomatonFromXMLParser.cpp | 6 ++-- .../src/automaton/AutomatonFromXMLParser.h | 7 ++-- .../src/automaton/AutomatonToXMLComposer.cpp | 5 +-- .../src/automaton/AutomatonToXMLComposer.h | 10 +++--- alib2data/src/automaton/common/Shift.cpp | 33 +++++++++++++++++++ alib2data/src/automaton/common/Shift.h | 9 +++-- alib2data/src/container/ContainerFeatures.h | 1 + .../src/container/ContainerToXMLComposer.cpp | 1 + .../src/container/ContainerToXMLComposer.hpp | 2 +- .../src/exception/ExceptionToXMLComposer.h | 2 +- alib2data/src/grammar/GrammarFeatures.h | 1 + alib2data/src/grammar/GrammarFromXMLParser.h | 2 +- .../src/grammar/GrammarToXMLComposer.cpp | 1 + alib2data/src/grammar/GrammarToXMLComposer.h | 3 +- alib2data/src/graph/GraphFeatures.h | 6 ++++ alib2data/src/graph/GraphFromXMLParser.h | 4 +-- alib2data/src/graph/GraphToXMLComposer.cpp | 1 + alib2data/src/graph/GraphToXMLComposer.h | 2 +- alib2data/src/label/LabelFeatures.h | 1 + alib2data/src/label/LabelToXMLComposer.cpp | 1 + alib2data/src/label/LabelToXMLComposer.h | 2 +- alib2data/src/object/ObjectFeatures.h | 1 + alib2data/src/object/ObjectFromXMLParser.cpp | 10 ++++++ alib2data/src/object/ObjectToXMLComposer.h | 2 +- alib2data/src/primitive/PrimitiveFeatures.h | 1 + .../src/primitive/PrimitiveToXMLComposer.h | 2 +- alib2data/src/regexp/RegExpFeatures.h | 1 + alib2data/src/regexp/RegExpToXMLComposer.cpp | 1 + alib2data/src/regexp/RegExpToXMLComposer.h | 2 +- alib2data/src/string/StringFeatures.h | 1 + alib2data/src/string/StringFromXMLParser.h | 2 +- alib2data/src/string/StringToXMLComposer.cpp | 1 + alib2data/src/string/StringToXMLComposer.h | 2 +- alib2data/src/tree/TreeFeatures.h | 1 + alib2data/src/tree/TreeFromXMLParser.h | 2 +- alib2data/src/tree/TreeToXMLComposer.cpp | 1 + alib2data/src/tree/TreeToXMLComposer.h | 3 +- astat2/src/AutomataSettings.h | 4 +-- astat2/src/GrammarSettings.h | 20 +++++++++++ astat2/src/GrammarStat.h | 16 +++++++++ astat2/src/RegExpSettings.h | 18 ++++++++++ astat2/src/RegExpStat.h | 16 +++++++++ astat2/src/astat.cpp | 5 ++- 48 files changed, 194 insertions(+), 40 deletions(-) create mode 100644 astat2/src/GrammarSettings.h create mode 100644 astat2/src/GrammarStat.h create mode 100644 astat2/src/RegExpSettings.h create mode 100644 astat2/src/RegExpStat.h diff --git a/alib2data/src/XmlApi.cpp b/alib2data/src/XmlApi.cpp index 21a28d361e..41a741a47f 100644 --- a/alib2data/src/XmlApi.cpp +++ b/alib2data/src/XmlApi.cpp @@ -7,17 +7,27 @@ #include "XmlApi.hpp" +#include "alphabet/Symbol.h" #include "alphabet/SymbolClasses.h" +#include "label/Label.h" #include "label/LabelClasses.h" +#include "primitive/Primitive.h" #include "primitive/PrimitiveClasses.h" #include "object/ObjectClasses.h" #include "exception/ExceptionClasses.h" +#include "string/String.h" #include "string/StringClasses.h" +#include "automaton/Automaton.h" #include "automaton/AutomatonClasses.h" +#include "container/Container.h" #include "container/ContainerClasses.h" +#include "grammar/Grammar.h" #include "grammar/GrammarClasses.h" +#include "regexp/RegExp.h" #include "regexp/RegExpClasses.h" +#include "tree/Tree.h" #include "tree/TreeClasses.h" +#include "graph/Graph.h" #include "graph/GraphClasses.h" namespace alib { diff --git a/alib2data/src/alphabet/SymbolFeatures.h b/alib2data/src/alphabet/SymbolFeatures.h index 65c3e03060..6d6ff7cb6b 100644 --- a/alib2data/src/alphabet/SymbolFeatures.h +++ b/alib2data/src/alphabet/SymbolFeatures.h @@ -26,6 +26,7 @@ enum class FEATURES { }; class Symbol; +class SymbolBase; class LabeledSymbol; class BlankSymbol; diff --git a/alib2data/src/alphabet/SymbolToXMLComposer.h b/alib2data/src/alphabet/SymbolToXMLComposer.h index fb254e4450..6dedb4ad58 100644 --- a/alib2data/src/alphabet/SymbolToXMLComposer.h +++ b/alib2data/src/alphabet/SymbolToXMLComposer.h @@ -9,7 +9,7 @@ #define SYMBOL_TO_XML_COMPOSER_H_ #include <deque> -#include "Symbol.h" +#include "SymbolFeatures.h" #include "../sax/Token.h" namespace alib { diff --git a/alib2data/src/automaton/AutomatonFeatures.h b/alib2data/src/automaton/AutomatonFeatures.h index 2981c4bf32..83cb35dce0 100644 --- a/alib2data/src/automaton/AutomatonFeatures.h +++ b/alib2data/src/automaton/AutomatonFeatures.h @@ -33,6 +33,9 @@ enum class FEATURES { }; class Automaton; +class AutomatonBase; +class State; +enum class Shift; class EpsilonNFA; class NFA; diff --git a/alib2data/src/automaton/AutomatonFromStringParser.h b/alib2data/src/automaton/AutomatonFromStringParser.h index 7a6fbb5a58..717e0cc517 100644 --- a/alib2data/src/automaton/AutomatonFromStringParser.h +++ b/alib2data/src/automaton/AutomatonFromStringParser.h @@ -11,11 +11,13 @@ #include "AutomatonFromStringLexer.h" #include "AutomatonFeatures.h" -#include "common/State.h" +#include "../string/StringFeatures.h" +#include "../alphabet/SymbolFeatures.h" +#include <set> +#include <vector> #include <tuple> #include <variant> -#include "../string/Epsilon.h" namespace alib { diff --git a/alib2data/src/automaton/AutomatonFromXMLParser.cpp b/alib2data/src/automaton/AutomatonFromXMLParser.cpp index 6005709e06..7efdfcd348 100644 --- a/alib2data/src/automaton/AutomatonFromXMLParser.cpp +++ b/alib2data/src/automaton/AutomatonFromXMLParser.cpp @@ -997,11 +997,11 @@ Shift AutomatonFromXMLParser::parseTransitionShift(std::deque<sax::Token>::itera popToken(input, sax::Token::TokenType::START_ELEMENT, "shift"); if (isToken(input, sax::Token::TokenType::CHARACTER, "left")) { - shift = LEFT; + shift = Shift::LEFT; } else if (isToken(input, sax::Token::TokenType::CHARACTER, "right")) { - shift = RIGHT; + shift = Shift::RIGHT; } else if (isToken(input, sax::Token::TokenType::CHARACTER, "none")) { - shift = NONE; + shift = Shift::NONE; } else { throw sax::ParserException(sax::Token("", sax::Token::TokenType::CHARACTER), *input); } diff --git a/alib2data/src/automaton/AutomatonFromXMLParser.h b/alib2data/src/automaton/AutomatonFromXMLParser.h index f625ba9d9b..9d000c0d81 100644 --- a/alib2data/src/automaton/AutomatonFromXMLParser.h +++ b/alib2data/src/automaton/AutomatonFromXMLParser.h @@ -13,10 +13,9 @@ #include <vector> #include <variant> #include "AutomatonFeatures.h" - -#include "common/State.h" -#include "common/Shift.h" -#include "../regexp/RegExp.h" +#include "../regexp/RegExpFeatures.h" +#include "../alphabet/SymbolFeatures.h" +#include "../string/StringFeatures.h" namespace alib { diff --git a/alib2data/src/automaton/AutomatonToXMLComposer.cpp b/alib2data/src/automaton/AutomatonToXMLComposer.cpp index af9978167d..f6b192c73d 100644 --- a/alib2data/src/automaton/AutomatonToXMLComposer.cpp +++ b/alib2data/src/automaton/AutomatonToXMLComposer.cpp @@ -9,6 +9,7 @@ #include "../XmlApi.hpp" +#include "Automaton.h" #include "AutomatonClasses.h" namespace automaton { @@ -576,9 +577,9 @@ void AutomatonToXMLComposer::composeTransitionFrom(std::deque<sax::Token>& out, out.emplace_back(sax::Token("from", sax::Token::TokenType::END_ELEMENT)); } -void AutomatonToXMLComposer::composeTransitionShift(std::deque<sax::Token>& out, const Shift shift) const { +void AutomatonToXMLComposer::composeTransitionShift(std::deque<sax::Token>& out, Shift shift) const { out.emplace_back("shift", sax::Token::TokenType::START_ELEMENT); - out.emplace_back(SHIFT_NAMES [shift], sax::Token::TokenType::CHARACTER); + out.emplace_back(SHIFT_NAMES [shiftToInt(shift)], sax::Token::TokenType::CHARACTER); out.emplace_back("shift", sax::Token::TokenType::END_ELEMENT); } diff --git a/alib2data/src/automaton/AutomatonToXMLComposer.h b/alib2data/src/automaton/AutomatonToXMLComposer.h index 39ce199a2b..313c67e395 100644 --- a/alib2data/src/automaton/AutomatonToXMLComposer.h +++ b/alib2data/src/automaton/AutomatonToXMLComposer.h @@ -13,12 +13,12 @@ #include <vector> #include <set> #include <variant> -#include "Automaton.h" +#include "AutomatonFeatures.h" +#include "../regexp/RegExpFeatures.h" +#include "../alphabet/SymbolFeatures.h" +#include "../string/StringFeatures.h" #include "../sax/Token.h" -#include "common/Shift.h" -#include "../regexp/RegExp.h" - namespace alib { template<typename T> @@ -77,7 +77,7 @@ private: void composeTransitionTo(std::deque<sax::Token>&, const State& state) const; void composeTransitionFrom(std::deque<sax::Token>&, const State& state) const; void composeTransitionFrom(std::deque<sax::Token>&, const std::vector<State> & states) const; - void composeTransitionShift(std::deque<sax::Token>&, const Shift shift) const; + void composeTransitionShift(std::deque<sax::Token>&, Shift shift) const; void composeTransitionPop(std::deque<sax::Token>&, const std::vector<alphabet::Symbol>& symbols) const; void composeTransitionSinglePop(std::deque<sax::Token>&, const alphabet::Symbol& symbol) const; void composeTransitionPush(std::deque<sax::Token>&, const std::vector<alphabet::Symbol>& symbols) const; diff --git a/alib2data/src/automaton/common/Shift.cpp b/alib2data/src/automaton/common/Shift.cpp index 8ca3a6be4b..fbc79dad58 100644 --- a/alib2data/src/automaton/common/Shift.cpp +++ b/alib2data/src/automaton/common/Shift.cpp @@ -11,4 +11,37 @@ namespace automaton { std::string SHIFT_NAMES[] = {"LEFT", "RIGHT", "NONE", "NOT_SET" }; +int shiftToInt(const automaton::Shift& shift) { + switch(shift) { + case automaton::Shift::LEFT: + return 0; + case automaton::Shift::RIGHT: + return 1; + case automaton::Shift::NONE: + return 2; + case automaton::Shift::NOT_SET: + return 3; + } + return 3; +} + +automaton::Shift intToShift(int value) { + switch(value) { + case 0: + return automaton::Shift::LEFT; + case 1: + return automaton::Shift::RIGHT; + case 2: + return automaton::Shift::NONE; + case 3: + return automaton::Shift::NOT_SET; + } + return automaton::Shift::NOT_SET; +} + +std::ostream& operator<<(std::ostream& out, const automaton::Shift&) { + + return out; +} + } /* namepsace automaton */ diff --git a/alib2data/src/automaton/common/Shift.h b/alib2data/src/automaton/common/Shift.h index 9bd37b10f1..5f9c033bf5 100644 --- a/alib2data/src/automaton/common/Shift.h +++ b/alib2data/src/automaton/common/Shift.h @@ -16,12 +16,17 @@ namespace automaton { /** * Represent movement of the reading head in the Turing machine. */ -enum Shift { +enum class Shift { LEFT, RIGHT, NONE, NOT_SET }; +int shiftToInt(const automaton::Shift& shift); +automaton::Shift intToShift(int value); + extern std::string SHIFT_NAMES[4]; +std::ostream& operator<<(std::ostream& out, const automaton::Shift&); + } /* namespace automaton */ namespace std { @@ -29,7 +34,7 @@ namespace std { template<> struct compare<automaton::Shift> { int operator()(const automaton::Shift& first, const automaton::Shift& second) { - return first - second; + return automaton::shiftToInt(first) - automaton::shiftToInt(second); } }; diff --git a/alib2data/src/container/ContainerFeatures.h b/alib2data/src/container/ContainerFeatures.h index 49a1a35f41..b98acd2048 100644 --- a/alib2data/src/container/ContainerFeatures.h +++ b/alib2data/src/container/ContainerFeatures.h @@ -18,6 +18,7 @@ enum class FEATURES { }; class Container; +class ContainerBase; class ObjectsSet; class ObjectsVector; diff --git a/alib2data/src/container/ContainerToXMLComposer.cpp b/alib2data/src/container/ContainerToXMLComposer.cpp index c8d9f65915..d7dc9c3116 100644 --- a/alib2data/src/container/ContainerToXMLComposer.cpp +++ b/alib2data/src/container/ContainerToXMLComposer.cpp @@ -9,6 +9,7 @@ #include "../XmlApi.hpp" +#include "Container.h" #include "ContainerClasses.h" namespace container { diff --git a/alib2data/src/container/ContainerToXMLComposer.hpp b/alib2data/src/container/ContainerToXMLComposer.hpp index 7214b89ee0..07502e1b53 100644 --- a/alib2data/src/container/ContainerToXMLComposer.hpp +++ b/alib2data/src/container/ContainerToXMLComposer.hpp @@ -9,7 +9,7 @@ #define CONTAINER_TO_XML_COMPOSER_H_ #include <deque> -#include "Container.h" +#include "ContainerFeatures.h" #include <variant> #include <set> #include <vector> diff --git a/alib2data/src/exception/ExceptionToXMLComposer.h b/alib2data/src/exception/ExceptionToXMLComposer.h index a8529ab0ff..611085e813 100644 --- a/alib2data/src/exception/ExceptionToXMLComposer.h +++ b/alib2data/src/exception/ExceptionToXMLComposer.h @@ -9,7 +9,7 @@ #define EXCEPTION_TO_XML_COMPOSER_H_ #include <deque> -#include "AlibException.h" +#include "ExceptionFeatures.h" #include "../sax/Token.h" namespace alib { diff --git a/alib2data/src/grammar/GrammarFeatures.h b/alib2data/src/grammar/GrammarFeatures.h index 4533db988b..919b3d2cd9 100644 --- a/alib2data/src/grammar/GrammarFeatures.h +++ b/alib2data/src/grammar/GrammarFeatures.h @@ -27,6 +27,7 @@ enum class FEATURES { }; class Grammar; +class GrammarBase; class LeftLG; class LeftRG; diff --git a/alib2data/src/grammar/GrammarFromXMLParser.h b/alib2data/src/grammar/GrammarFromXMLParser.h index 30eb28e887..9919933bbe 100644 --- a/alib2data/src/grammar/GrammarFromXMLParser.h +++ b/alib2data/src/grammar/GrammarFromXMLParser.h @@ -14,7 +14,7 @@ #include <variant> #include <vector> #include "GrammarFeatures.h" -#include "../alphabet/Symbol.h" +#include "../alphabet/SymbolFeatures.h" namespace alib { diff --git a/alib2data/src/grammar/GrammarToXMLComposer.cpp b/alib2data/src/grammar/GrammarToXMLComposer.cpp index 7785030f4e..38df7374ce 100644 --- a/alib2data/src/grammar/GrammarToXMLComposer.cpp +++ b/alib2data/src/grammar/GrammarToXMLComposer.cpp @@ -9,6 +9,7 @@ #include "../XmlApi.hpp" +#include "Grammar.h" #include "GrammarClasses.h" namespace grammar { diff --git a/alib2data/src/grammar/GrammarToXMLComposer.h b/alib2data/src/grammar/GrammarToXMLComposer.h index b48f971fe5..7d90a1adcd 100644 --- a/alib2data/src/grammar/GrammarToXMLComposer.h +++ b/alib2data/src/grammar/GrammarToXMLComposer.h @@ -15,7 +15,8 @@ #include <map> #include <set> #include <variant> -#include "Grammar.h" +#include "GrammarFeatures.h" +#include "../alphabet/SymbolFeatures.h" #include "../sax/Token.h" namespace alib { diff --git a/alib2data/src/graph/GraphFeatures.h b/alib2data/src/graph/GraphFeatures.h index 0a5e5e8f77..20924e0a5a 100644 --- a/alib2data/src/graph/GraphFeatures.h +++ b/alib2data/src/graph/GraphFeatures.h @@ -16,9 +16,15 @@ enum class FEATURES { }; class Graph; +class GraphBase; + +class Node; +enum class REPRESENTATION; class DirectedGraph; +class DirectedEdge; class UndirectedGraph; +class UndirectedEdge; } // namespace graph diff --git a/alib2data/src/graph/GraphFromXMLParser.h b/alib2data/src/graph/GraphFromXMLParser.h index 877154b5b6..bb415006a7 100644 --- a/alib2data/src/graph/GraphFromXMLParser.h +++ b/alib2data/src/graph/GraphFromXMLParser.h @@ -10,9 +10,7 @@ #include "../sax/FromXMLParserHelper.h" #include "GraphFeatures.h" -#include "common/Node.h" -#include "../alphabet/Symbol.h" -#include "GraphRepresentation.h" +#include "../alphabet/SymbolFeatures.h" namespace alib { diff --git a/alib2data/src/graph/GraphToXMLComposer.cpp b/alib2data/src/graph/GraphToXMLComposer.cpp index af4e64f09c..3dc0210634 100644 --- a/alib2data/src/graph/GraphToXMLComposer.cpp +++ b/alib2data/src/graph/GraphToXMLComposer.cpp @@ -9,6 +9,7 @@ #include "../XmlApi.hpp" #include "GraphRepresentation.h" +#include "Graph.h" #include "GraphClasses.h" namespace graph { diff --git a/alib2data/src/graph/GraphToXMLComposer.h b/alib2data/src/graph/GraphToXMLComposer.h index a7a3411f77..1e7c1b136e 100644 --- a/alib2data/src/graph/GraphToXMLComposer.h +++ b/alib2data/src/graph/GraphToXMLComposer.h @@ -11,7 +11,7 @@ #include <set> #include <deque> -#include "Graph.h" +#include "GraphFeatures.h" #include "common/GraphElement.h" #include "../sax/Token.h" diff --git a/alib2data/src/label/LabelFeatures.h b/alib2data/src/label/LabelFeatures.h index 8f6721c757..33eb238f44 100644 --- a/alib2data/src/label/LabelFeatures.h +++ b/alib2data/src/label/LabelFeatures.h @@ -20,6 +20,7 @@ enum class FEATURES { }; class Label; +class LabelBase; class PrimitiveLabel; class HexavigesimalLabel; diff --git a/alib2data/src/label/LabelToXMLComposer.cpp b/alib2data/src/label/LabelToXMLComposer.cpp index c316f6033c..dbd0a3ed81 100644 --- a/alib2data/src/label/LabelToXMLComposer.cpp +++ b/alib2data/src/label/LabelToXMLComposer.cpp @@ -9,6 +9,7 @@ #include "../XmlApi.hpp" +#include "Label.h" #include "LabelClasses.h" namespace label { diff --git a/alib2data/src/label/LabelToXMLComposer.h b/alib2data/src/label/LabelToXMLComposer.h index d3cc0d1ff7..868d103d88 100644 --- a/alib2data/src/label/LabelToXMLComposer.h +++ b/alib2data/src/label/LabelToXMLComposer.h @@ -9,7 +9,7 @@ #define LABEL_TO_XML_COMPOSER_H_ #include <deque> -#include "Label.h" +#include "LabelFeatures.h" #include "../sax/Token.h" namespace alib { diff --git a/alib2data/src/object/ObjectFeatures.h b/alib2data/src/object/ObjectFeatures.h index a0361a23c1..a57aa1f843 100644 --- a/alib2data/src/object/ObjectFeatures.h +++ b/alib2data/src/object/ObjectFeatures.h @@ -15,6 +15,7 @@ enum class FEATURES { }; class Object; +class ObjectBase; class Void; diff --git a/alib2data/src/object/ObjectFromXMLParser.cpp b/alib2data/src/object/ObjectFromXMLParser.cpp index 38b2cef558..e9575438b2 100644 --- a/alib2data/src/object/ObjectFromXMLParser.cpp +++ b/alib2data/src/object/ObjectFromXMLParser.cpp @@ -12,6 +12,16 @@ #include "Object.h" #include "ObjectClasses.h" +#include "../alphabet/Symbol.h" +#include "../automaton/Automaton.h" +#include "../container/Container.h" +#include "../grammar/Grammar.h" +#include "../label/Label.h" +#include "../primitive/Primitive.h" +#include "../regexp/RegExp.h" +#include "../string/String.h" +#include "../tree/Tree.h" + namespace alib { Object ObjectFromXMLParser::parseObject(std::deque<sax::Token>::iterator& input) const { diff --git a/alib2data/src/object/ObjectToXMLComposer.h b/alib2data/src/object/ObjectToXMLComposer.h index a00e3917d9..a6ff6ee337 100644 --- a/alib2data/src/object/ObjectToXMLComposer.h +++ b/alib2data/src/object/ObjectToXMLComposer.h @@ -9,7 +9,7 @@ #define OBJECT_TO_XML_COMPOSER_H_ #include <deque> -#include "Object.h" +#include "ObjectFeatures.h" #include "../sax/Token.h" namespace alib { diff --git a/alib2data/src/primitive/PrimitiveFeatures.h b/alib2data/src/primitive/PrimitiveFeatures.h index 3fdbc4a8d3..e66479e7a7 100644 --- a/alib2data/src/primitive/PrimitiveFeatures.h +++ b/alib2data/src/primitive/PrimitiveFeatures.h @@ -19,6 +19,7 @@ enum class FEATURES { }; class Primitive; +class PrimitiveBase; class String; class Integer; diff --git a/alib2data/src/primitive/PrimitiveToXMLComposer.h b/alib2data/src/primitive/PrimitiveToXMLComposer.h index fab4070830..328c533fe6 100644 --- a/alib2data/src/primitive/PrimitiveToXMLComposer.h +++ b/alib2data/src/primitive/PrimitiveToXMLComposer.h @@ -9,7 +9,7 @@ #define PRIMITIVE_TO_XML_COMPOSER_H_ #include <deque> -#include "Primitive.h" +#include "PrimitiveFeatures.h" #include "../sax/Token.h" namespace alib { diff --git a/alib2data/src/regexp/RegExpFeatures.h b/alib2data/src/regexp/RegExpFeatures.h index 71d3d5e687..cd1c24f8fa 100644 --- a/alib2data/src/regexp/RegExpFeatures.h +++ b/alib2data/src/regexp/RegExpFeatures.h @@ -16,6 +16,7 @@ enum class FEATURES { }; class RegExp; +class RegExpBase; class UnboundedRegExp; diff --git a/alib2data/src/regexp/RegExpToXMLComposer.cpp b/alib2data/src/regexp/RegExpToXMLComposer.cpp index 3d76f27050..d9b6ccb8c2 100644 --- a/alib2data/src/regexp/RegExpToXMLComposer.cpp +++ b/alib2data/src/regexp/RegExpToXMLComposer.cpp @@ -8,6 +8,7 @@ #include "RegExpToXMLComposer.h" #include "../XmlApi.hpp" +#include "RegExp.h" #include "RegExpClasses.h" #include "unbounded/UnboundedRegExpElements.h" diff --git a/alib2data/src/regexp/RegExpToXMLComposer.h b/alib2data/src/regexp/RegExpToXMLComposer.h index 314cf322ef..00b98c422e 100644 --- a/alib2data/src/regexp/RegExpToXMLComposer.h +++ b/alib2data/src/regexp/RegExpToXMLComposer.h @@ -9,7 +9,7 @@ #define REG_EXP_TO_XML_COMPOSER_H_ #include <deque> -#include "RegExp.h" +#include "RegExpFeatures.h" #include "unbounded/UnboundedRegExpElement.h" #include "formal/FormalRegExpElement.h" #include "../sax/Token.h" diff --git a/alib2data/src/string/StringFeatures.h b/alib2data/src/string/StringFeatures.h index c1f954e132..e8187b712a 100644 --- a/alib2data/src/string/StringFeatures.h +++ b/alib2data/src/string/StringFeatures.h @@ -17,6 +17,7 @@ enum class FEATURES { }; class String; +class StringBase; class Epsilon; class LinearString; diff --git a/alib2data/src/string/StringFromXMLParser.h b/alib2data/src/string/StringFromXMLParser.h index 0903832daa..78e655c6fe 100644 --- a/alib2data/src/string/StringFromXMLParser.h +++ b/alib2data/src/string/StringFromXMLParser.h @@ -12,7 +12,7 @@ #include <vector> #include <set> #include "StringFeatures.h" -#include "../alphabet/Symbol.h" +#include "../alphabet/SymbolFeatures.h" namespace alib { diff --git a/alib2data/src/string/StringToXMLComposer.cpp b/alib2data/src/string/StringToXMLComposer.cpp index 23dd1f74e4..7508195a1f 100644 --- a/alib2data/src/string/StringToXMLComposer.cpp +++ b/alib2data/src/string/StringToXMLComposer.cpp @@ -8,6 +8,7 @@ #include "StringToXMLComposer.h" #include "../XmlApi.hpp" +#include "String.h" #include "StringClasses.h" namespace string { diff --git a/alib2data/src/string/StringToXMLComposer.h b/alib2data/src/string/StringToXMLComposer.h index aba820c437..6c4ab396ba 100644 --- a/alib2data/src/string/StringToXMLComposer.h +++ b/alib2data/src/string/StringToXMLComposer.h @@ -9,7 +9,7 @@ #define STRING_TO_XML_COMPOSER_H_ #include <deque> -#include "String.h" +#include "StringFeatures.h" #include "../sax/Token.h" namespace alib { diff --git a/alib2data/src/tree/TreeFeatures.h b/alib2data/src/tree/TreeFeatures.h index ebc94bef34..8c7e94ac7b 100644 --- a/alib2data/src/tree/TreeFeatures.h +++ b/alib2data/src/tree/TreeFeatures.h @@ -22,6 +22,7 @@ enum class FEATURES { }; class Tree; +class TreeBase; class RankedTree; class RankedPattern; diff --git a/alib2data/src/tree/TreeFromXMLParser.h b/alib2data/src/tree/TreeFromXMLParser.h index 5131a5be76..3b14bffcec 100644 --- a/alib2data/src/tree/TreeFromXMLParser.h +++ b/alib2data/src/tree/TreeFromXMLParser.h @@ -15,7 +15,7 @@ #include <variant> #include <vector> -#include "../alphabet/Symbol.h" +#include "../alphabet/SymbolFeatures.h" namespace alib { diff --git a/alib2data/src/tree/TreeToXMLComposer.cpp b/alib2data/src/tree/TreeToXMLComposer.cpp index 340f2d439b..ba1b5e4cda 100644 --- a/alib2data/src/tree/TreeToXMLComposer.cpp +++ b/alib2data/src/tree/TreeToXMLComposer.cpp @@ -7,6 +7,7 @@ #include "TreeToXMLComposer.h" #include "../XmlApi.hpp" +#include "Tree.h" #include "TreeClasses.h" namespace tree { diff --git a/alib2data/src/tree/TreeToXMLComposer.h b/alib2data/src/tree/TreeToXMLComposer.h index c807678c58..4204168175 100644 --- a/alib2data/src/tree/TreeToXMLComposer.h +++ b/alib2data/src/tree/TreeToXMLComposer.h @@ -9,7 +9,8 @@ #define TREE_TO_XML_COMPOSER_H_ #include <deque> -#include "Tree.h" +#include "TreeFeatures.h" +#include "../alphabet/SymbolFeatures.h" #include "../sax/Token.h" #include <set> diff --git a/astat2/src/AutomataSettings.h b/astat2/src/AutomataSettings.h index 3e39f9596a..97b59fe0d7 100644 --- a/astat2/src/AutomataSettings.h +++ b/astat2/src/AutomataSettings.h @@ -1,5 +1,5 @@ /* - * Settings.h + * AutomataSettings.h * * Created on: 26. 3. 2014 * Author: Jan Travnicek @@ -18,4 +18,4 @@ struct AutomataSettings { PrintingOptions transitions; }; -#endif /* __AUTOMATA_SETTINGS_H_ */ +#endif /* __AUTOMATA_SETTINGS_H__ */ diff --git a/astat2/src/GrammarSettings.h b/astat2/src/GrammarSettings.h new file mode 100644 index 0000000000..ece01e5b7a --- /dev/null +++ b/astat2/src/GrammarSettings.h @@ -0,0 +1,20 @@ +/* + * GrammarSettings.h + * + * Created on: 26. 3. 2014 + * Author: Jan Travnicek + */ + +#ifndef __GRAMMAR_SETTINGS_H__ +#define __GRAMMAR_SETTINGS_H__ + +#include "PrintingOptions.h" + +struct GrammarSettings { + PrintingOptions nonterminals; + PrintingOptions terminals; + PrintingOptions initialNonterminal; + PrintingOptions rules; +}; + +#endif /* __GRAMMAR_SETTINGS_H__ */ diff --git a/astat2/src/GrammarStat.h b/astat2/src/GrammarStat.h new file mode 100644 index 0000000000..690dbbab8f --- /dev/null +++ b/astat2/src/GrammarStat.h @@ -0,0 +1,16 @@ +/* + * GrammarStat.h + * + * Created on: 20. 9. 2014 + * Author: Jan Travnicek + */ + +#ifndef GRAMMAR_STAT_H_ +#define GRAMMAR_STAT_H_ + +#include "grammar/Grammar.h" + +#include "GrammarSettings.h" + + +#endif /* GRAMMAR_STAT_H_ */ diff --git a/astat2/src/RegExpSettings.h b/astat2/src/RegExpSettings.h new file mode 100644 index 0000000000..6c888c86ff --- /dev/null +++ b/astat2/src/RegExpSettings.h @@ -0,0 +1,18 @@ +/* + * RegExpSettings.h + * + * Created on: 26. 3. 2014 + * Author: Jan Travnicek + */ + +#ifndef __REG_EXP_SETTINGS_H__ +#define __REG_EXP_SETTINGS_H__ + +#include "PrintingOptions.h" + +struct RegExpSettings { + PrintingOptions nodes; + PrintingOptions alphabet; +}; + +#endif /* __REG_EXP_SETTINGS_H__ */ diff --git a/astat2/src/RegExpStat.h b/astat2/src/RegExpStat.h new file mode 100644 index 0000000000..be57cf81e5 --- /dev/null +++ b/astat2/src/RegExpStat.h @@ -0,0 +1,16 @@ +/* + * RegExpStat.h + * + * Created on: 20. 9. 2014 + * Author: Jan Travnicek + */ + +#ifndef REG_EXP_STATS_H_ +#define REG_EXP_STATS_H_ + +#include "regexp/RegExp.h" + +#include "RegExpSettings.h" + + +#endif /* REG_EXP_STATS_H_ */ diff --git a/astat2/src/astat.cpp b/astat2/src/astat.cpp index 9e40a770be..0570db9ed9 100644 --- a/astat2/src/astat.cpp +++ b/astat2/src/astat.cpp @@ -11,10 +11,9 @@ #include <factory/XmlDataFactory.hpp> #include <exception/AlibException.h> -#include "AutomataSettings.h" #include "AutomataStat.h" - -#include "SetSettings.h" +#include "GrammarStat.h" +#include "RegExpStat.h" #include "SetStat.h" PrintingOptions translatePrintingOptions(std::string value) { -- GitLab