From 26045970fb7a0fdc4d654275f6b9c3627129fc7b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Pecka?= <peckato1@fit.cvut.cz>
Date: Thu, 11 Sep 2014 17:21:13 +0200
Subject: [PATCH] algo: post-merge fix

---
 .../fa2re/formal/StateEliminationFormal.cpp       | 14 ++++++++++++--
 .../fa2re/formal/StateEliminationFormal.h         |  4 +++-
 .../fa2re/unbounded/StateEliminationUnbounded.cpp | 15 ++++++++++++---
 .../fa2re/unbounded/StateEliminationUnbounded.h   |  4 +++-
 4 files changed, 30 insertions(+), 7 deletions(-)

diff --git a/alib2algo/src/conversions/fa2re/formal/StateEliminationFormal.cpp b/alib2algo/src/conversions/fa2re/formal/StateEliminationFormal.cpp
index b7302c366a..51095e4f1c 100644
--- a/alib2algo/src/conversions/fa2re/formal/StateEliminationFormal.cpp
+++ b/alib2algo/src/conversions/fa2re/formal/StateEliminationFormal.cpp
@@ -50,7 +50,7 @@ template<>
 regexp::RegExp StateEliminationFormal::convert(const automaton::Automaton& automaton)
 {
     regexp::RegExp* out = NULL;
-    automaton.getData().Accept((void*) &out, StateEliminationFormal::STATE_ELIMINATION);
+    automaton.getData().Accept((void*) &out, StateEliminationFormal::STATE_ELIMINATION_FORMAL);
     regexp::RegExp res = std::move(*out);
     delete out;
     return res;
@@ -92,6 +92,16 @@ void StateEliminationFormal::Visit(void*, const automaton::CompactNFA& ) const
     throw exception::AlibException("Unsupported automaton type CompactNFA");
 }
 
+void StateEliminationFormal::Visit(void*, const automaton::DPDA&) const
+{
+    throw exception::AlibException("Unsupported automaton type DPDA");
+}
+
+void StateEliminationFormal::Visit(void*, const automaton::SinglePopDPDA&) const
+{
+    throw exception::AlibException("Unsupported automaton type SinglePopDPDA");
+}
+
 void StateEliminationFormal::Visit(void*, const automaton::NPDA&) const
 {
     throw exception::AlibException("Unsupported automaton type NPDA");
@@ -287,6 +297,6 @@ void StateEliminationFormal::extendExtendedNFA(automaton::ExtendedNFA& automaton
     }
 }
 
-const StateEliminationFormal StateEliminationFormal::STATE_ELIMINATION;
+const StateEliminationFormal StateEliminationFormal::STATE_ELIMINATION_FORMAL;
 
 } /* namespace fa2re */
diff --git a/alib2algo/src/conversions/fa2re/formal/StateEliminationFormal.h b/alib2algo/src/conversions/fa2re/formal/StateEliminationFormal.h
index 594ffa7041..86fcb39b75 100644
--- a/alib2algo/src/conversions/fa2re/formal/StateEliminationFormal.h
+++ b/alib2algo/src/conversions/fa2re/formal/StateEliminationFormal.h
@@ -41,6 +41,8 @@ private:
     void Visit(void*, const automaton::DFA& automaton) const;
     void Visit(void*, const automaton::ExtendedNFA& automaton) const;
     void Visit(void*, const automaton::CompactNFA& automaton) const;
+    void Visit(void*, const automaton::DPDA& automaton) const;
+    void Visit(void*, const automaton::SinglePopDPDA& automaton) const;
     void Visit(void*, const automaton::NPDA& automaton) const;
     void Visit(void*, const automaton::SinglePopNPDA& automaton) const;
     void Visit(void*, const automaton::OneTapeDTM& automaton) const;
@@ -54,7 +56,7 @@ private:
 
     static automaton::ExtendedNFA eliminateState(const automaton::ExtendedNFA& extendedAutomaton, const automaton::State& state);
 
-    static const StateEliminationFormal STATE_ELIMINATION;
+    static const StateEliminationFormal STATE_ELIMINATION_FORMAL;
 };
 
 } /* namespace fa2re */
diff --git a/alib2algo/src/conversions/fa2re/unbounded/StateEliminationUnbounded.cpp b/alib2algo/src/conversions/fa2re/unbounded/StateEliminationUnbounded.cpp
index 311a8c74e0..890e1454b1 100644
--- a/alib2algo/src/conversions/fa2re/unbounded/StateEliminationUnbounded.cpp
+++ b/alib2algo/src/conversions/fa2re/unbounded/StateEliminationUnbounded.cpp
@@ -10,7 +10,6 @@
 #include <regexp/unbounded/UnboundedRegExp.h>
 #include <label/StringLabel.h>
 #include <exception/AlibException.h>
-#include <factory/DataFactory.hpp>
 
 #include "../../../regexp/RegExpOptimize.h"
 
@@ -49,7 +48,7 @@ template<>
 regexp::RegExp StateEliminationUnbounded::convert(const automaton::Automaton& automaton)
 {
     regexp::RegExp* out = NULL;
-    automaton.getData().Accept((void*) &out, StateEliminationUnbounded::STATE_ELIMINATION);
+    automaton.getData().Accept((void*) &out, StateEliminationUnbounded::STATE_ELIMINATION_UNBOUNDED);
     regexp::RegExp res = std::move(*out);
     delete out;
     return res;
@@ -91,6 +90,16 @@ void StateEliminationUnbounded::Visit(void*, const automaton::CompactNFA& ) cons
     throw exception::AlibException("Unsupported automaton type CompactNFA");
 }
 
+void StateEliminationUnbounded::Visit(void*, const automaton::DPDA&) const
+{
+    throw exception::AlibException("Unsupported automaton type DPDA");
+}
+
+void StateEliminationUnbounded::Visit(void*, const automaton::SinglePopDPDA&) const
+{
+    throw exception::AlibException("Unsupported automaton type SinglePopDPDA");
+}
+
 void StateEliminationUnbounded::Visit(void*, const automaton::NPDA&) const
 {
     throw exception::AlibException("Unsupported automaton type NPDA");
@@ -267,6 +276,6 @@ void StateEliminationUnbounded::extendExtendedNFA(automaton::ExtendedNFA& automa
     }
 }
 
-const StateEliminationUnbounded StateEliminationUnbounded::STATE_ELIMINATION;
+const StateEliminationUnbounded StateEliminationUnbounded::STATE_ELIMINATION_UNBOUNDED;
 
 } /* namespace fa2re */
diff --git a/alib2algo/src/conversions/fa2re/unbounded/StateEliminationUnbounded.h b/alib2algo/src/conversions/fa2re/unbounded/StateEliminationUnbounded.h
index f5e081814c..419e100b35 100644
--- a/alib2algo/src/conversions/fa2re/unbounded/StateEliminationUnbounded.h
+++ b/alib2algo/src/conversions/fa2re/unbounded/StateEliminationUnbounded.h
@@ -41,6 +41,8 @@ private:
     void Visit(void*, const automaton::DFA& automaton) const;
     void Visit(void*, const automaton::ExtendedNFA& automaton) const;
     void Visit(void*, const automaton::CompactNFA& automaton) const;
+    void Visit(void*, const automaton::DPDA& automaton) const;
+    void Visit(void*, const automaton::SinglePopDPDA& automaton) const;
     void Visit(void*, const automaton::NPDA& automaton) const;
     void Visit(void*, const automaton::SinglePopNPDA& automaton) const;
     void Visit(void*, const automaton::OneTapeDTM& automaton) const;
@@ -54,7 +56,7 @@ private:
 
     static automaton::ExtendedNFA eliminateState(const automaton::ExtendedNFA& extendedAutomaton, const automaton::State& state);
 
-    static const StateEliminationUnbounded STATE_ELIMINATION;
+    static const StateEliminationUnbounded STATE_ELIMINATION_UNBOUNDED;
 };
 
 } /* namespace fa2re */
-- 
GitLab