From fe13ff2107cc3176c6566fb1f8bfeebd2b65de4e Mon Sep 17 00:00:00 2001
From: Jan Travnicek <Jan.Travnicek@fit.cvut.cz>
Date: Thu, 14 Jun 2018 14:59:18 +0200
Subject: [PATCH] drop dependency on AutomatonFeatures header

---
 .../convert/ToPostfixPushdownAutomaton.cpp    |  2 ++
 .../src/automaton/convert/ToRegExpAlgebraic.h |  7 +++++--
 .../src/automaton/determinize/Determinize.h   | 19 ++++++++++++++++---
 .../src/automaton/transform/PDAToRHPDA.h      |  5 ++++-
 .../src/automaton/transform/RHPDAToPDA.h      |  6 +++++-
 5 files changed, 32 insertions(+), 7 deletions(-)

diff --git a/alib2algo/src/automaton/convert/ToPostfixPushdownAutomaton.cpp b/alib2algo/src/automaton/convert/ToPostfixPushdownAutomaton.cpp
index fae049fb02..f67754dd48 100644
--- a/alib2algo/src/automaton/convert/ToPostfixPushdownAutomaton.cpp
+++ b/alib2algo/src/automaton/convert/ToPostfixPushdownAutomaton.cpp
@@ -21,6 +21,8 @@
 
 #include <registration/AlgoRegistration.hpp>
 
+#include <alphabet/RankedSymbol.h>
+
 namespace automaton {
 
 namespace convert {
diff --git a/alib2algo/src/automaton/convert/ToRegExpAlgebraic.h b/alib2algo/src/automaton/convert/ToRegExpAlgebraic.h
index bc91dcae1b..a6bc5c239c 100644
--- a/alib2algo/src/automaton/convert/ToRegExpAlgebraic.h
+++ b/alib2algo/src/automaton/convert/ToRegExpAlgebraic.h
@@ -9,7 +9,10 @@
 #define AUTOMATON_TO_REG_EXP_ALGEBRAIC_H_
 
 #include <regexp/unbounded/UnboundedRegExp.h>
-#include <automaton/AutomatonFeatures.h>
+#include <automaton/FSM/EpsilonNFA.h>
+#include <automaton/FSM/MultiInitialStateNFA.h>
+#include <automaton/FSM/NFA.h>
+#include <automaton/FSM/DFA.h>
 
 namespace automaton {
 
@@ -31,7 +34,7 @@ public:
 	static regexp::UnboundedRegExp < > convert(const automaton::EpsilonNFA < > & automaton);
 	static regexp::UnboundedRegExp < > convert(const automaton::MultiInitialStateNFA < > & automaton);
 	static regexp::UnboundedRegExp < > convert(const automaton::NFA < > & automaton);
-	static regexp::UnboundedRegExp < > convert(const automaton::DFA<>& automaton);
+	static regexp::UnboundedRegExp < > convert(const automaton::DFA < > & automaton);
 };
 
 } /* namespace convert */
diff --git a/alib2algo/src/automaton/determinize/Determinize.h b/alib2algo/src/automaton/determinize/Determinize.h
index f7dd25cab7..02ad1f5a8d 100644
--- a/alib2algo/src/automaton/determinize/Determinize.h
+++ b/alib2algo/src/automaton/determinize/Determinize.h
@@ -10,14 +10,27 @@
 
 #include <alib/set>
 
-#include <automaton/Automaton.h>
-#include <automaton/AutomatonFeatures.h>
+#include <automaton/PDA/InputDrivenNPDA.h>
+#include <automaton/PDA/InputDrivenDPDA.h>
+#include <automaton/PDA/RealTimeHeightDeterministicNPDA.h>
+#include <automaton/PDA/RealTimeHeightDeterministicDPDA.h>
+#include <automaton/PDA/VisiblyPushdownNPDA.h>
+#include <automaton/PDA/VisiblyPushdownDPDA.h>
+#include <automaton/FSM/NFA.h>
+#include <automaton/FSM/DFA.h>
+#include <automaton/FSM/MultiInitialStateNFA.h>
+#include <automaton/TA/NFTA.h>
+#include <automaton/TA/DFTA.h>
 
 #include <automaton/transform/PDAToRHPDA.h>
 #include <automaton/transform/RHPDAToPDA.h>
 
-#include <automaton/PDA/RealTimeHeightDeterministicDPDA.h>
+#include <automaton/PDA/NPDA.h>
 #include <automaton/PDA/DPDA.h>
+#include <automaton/PDA/SinglePopNPDA.h>
+#include <automaton/PDA/SinglePopDPDA.h>
+
+#include <automaton/TM/OneTapeDTM.h>
 
 namespace automaton {
 
diff --git a/alib2algo/src/automaton/transform/PDAToRHPDA.h b/alib2algo/src/automaton/transform/PDAToRHPDA.h
index d14b7beccd..a9d679c117 100644
--- a/alib2algo/src/automaton/transform/PDAToRHPDA.h
+++ b/alib2algo/src/automaton/transform/PDAToRHPDA.h
@@ -8,7 +8,10 @@
 #ifndef PDA_TO_RHPDA_H_
 #define PDA_TO_RHPDA_H_
 
-#include "automaton/AutomatonFeatures.h"
+#include <automaton/PDA/RealTimeHeightDeterministicNPDA.h>
+#include <automaton/PDA/RealTimeHeightDeterministicDPDA.h>
+#include <automaton/PDA/NPDA.h>
+#include <automaton/PDA/DPDA.h>
 
 namespace automaton {
 
diff --git a/alib2algo/src/automaton/transform/RHPDAToPDA.h b/alib2algo/src/automaton/transform/RHPDAToPDA.h
index a3a416da6d..3dcf0fb982 100644
--- a/alib2algo/src/automaton/transform/RHPDAToPDA.h
+++ b/alib2algo/src/automaton/transform/RHPDAToPDA.h
@@ -8,7 +8,11 @@
 #ifndef RHPDA_TO_PDA_H_
 #define RHPDA_TO_PDA_H_
 
-#include "automaton/AutomatonFeatures.h"
+#include <automaton/PDA/RealTimeHeightDeterministicNPDA.h>
+#include <automaton/PDA/RealTimeHeightDeterministicDPDA.h>
+#include <automaton/PDA/NPDA.h>
+#include <automaton/PDA/DPDA.h>
+
 
 namespace automaton {
 
-- 
GitLab