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