From 18934b1888965bd2301cbac441f1df7c577f7cee Mon Sep 17 00:00:00 2001 From: Jan Travnicek <Jan.Travnicek@fit.cvut.cz> Date: Sat, 21 Oct 2017 17:08:21 +0200 Subject: [PATCH] remove not needed registrations --- alib2aux/src/convert/DotConverter.cpp | 62 ++++++++---------------- alib2aux/src/convert/DotConverter.h | 9 +--- alib2aux/src/convert/GasTexConverter.cpp | 62 ++++++++---------------- alib2aux/src/convert/GasTexConverter.h | 9 +--- alib2aux/src/convert/TikZConverter.cpp | 62 ++++++++---------------- alib2aux/src/convert/TikZConverter.h | 11 +---- 6 files changed, 61 insertions(+), 154 deletions(-) diff --git a/alib2aux/src/convert/DotConverter.cpp b/alib2aux/src/convert/DotConverter.cpp index e947d167f9..51c3f7c9b0 100644 --- a/alib2aux/src/convert/DotConverter.cpp +++ b/alib2aux/src/convert/DotConverter.cpp @@ -10,48 +10,24 @@ namespace convert { -void DotConverter::convert(std::ostream& out, const automaton::Automaton& a) { - dispatch(out, a.getData()); -} - -auto DotConverterEpsilonNFA = registration::OverloadRegister < DotConverter, void, automaton::EpsilonNFA < > > ( DotConverter::convert ); -auto DotConverterMultiInitialStateNFA = registration::OverloadRegister < DotConverter, void, automaton::MultiInitialStateNFA < > > ( DotConverter::convert ); -auto DotConverterNFA = registration::OverloadRegister < DotConverter, void, automaton::NFA < > > ( DotConverter::convert ); -auto DotConverterDFA = registration::OverloadRegister < DotConverter, void, automaton::DFA < > > ( DotConverter::convert ); -auto DotConverterExtendedNFA = registration::OverloadRegister < DotConverter, void, automaton::ExtendedNFA < > > ( DotConverter::convert ); -auto DotConverterCompactNFA = registration::OverloadRegister < DotConverter, void, automaton::CompactNFA < > > ( DotConverter::convert ); -auto DotConverterNFTA = registration::OverloadRegister < DotConverter, void, automaton::NFTA < > > ( DotConverter::convert ); -auto DotConverterDFTA = registration::OverloadRegister < DotConverter, void, automaton::DFTA < > > ( DotConverter::convert ); -auto DotConverterDPDA = registration::OverloadRegister < DotConverter, void, automaton::DPDA < > > ( DotConverter::convert ); -auto DotConverterSinglePopDPDA = registration::OverloadRegister < DotConverter, void, automaton::SinglePopDPDA < > > ( DotConverter::convert ); -auto DotConverterInputDrivenDPDA = registration::OverloadRegister < DotConverter, void, automaton::InputDrivenDPDA < > > ( DotConverter::convert ); -auto DotConverterInputDrivenNPDA = registration::OverloadRegister < DotConverter, void, automaton::InputDrivenNPDA < > > ( DotConverter::convert ); -auto DotConverterVisiblyPushdownDPDA = registration::OverloadRegister < DotConverter, void, automaton::VisiblyPushdownDPDA < > > ( DotConverter::convert ); -auto DotConverterVisiblyPushdownNPDA = registration::OverloadRegister < DotConverter, void, automaton::VisiblyPushdownNPDA < > > ( DotConverter::convert ); -auto DotConverterRealTimeHeightDeterministicDPDA = registration::OverloadRegister < DotConverter, void, automaton::RealTimeHeightDeterministicDPDA < > > ( DotConverter::convert ); -auto DotConverterRealTimeHeightDeterministicNPDA = registration::OverloadRegister < DotConverter, void, automaton::RealTimeHeightDeterministicNPDA < > > ( DotConverter::convert ); -auto DotConverterNPDA = registration::OverloadRegister < DotConverter, void, automaton::NPDA < > > ( DotConverter::convert ); -auto DotConverterSinglePopNPDA = registration::OverloadRegister < DotConverter, void, automaton::SinglePopNPDA < > > ( DotConverter::convert ); -auto DotConverterOneTapeDTM = registration::OverloadRegister < DotConverter, void, automaton::OneTapeDTM < > > ( DotConverter::convert ); - -auto DotConverterEpsilonNFA2 = registration::AbstractRegister < DotConverter, std::string, const automaton::EpsilonNFA < > & > ( DotConverter::convert ); -auto DotConverterMultiInitialStateNFA2 = registration::AbstractRegister < DotConverter, std::string, const automaton::MultiInitialStateNFA < > & > ( DotConverter::convert ); -auto DotConverterNFA2 = registration::AbstractRegister < DotConverter, std::string, const automaton::NFA < > & > ( DotConverter::convert ); -auto DotConverterDFA2 = registration::AbstractRegister < DotConverter, std::string, const automaton::DFA < > & > ( DotConverter::convert ); -auto DotConverterExtendedNFA2 = registration::AbstractRegister < DotConverter, std::string, const automaton::ExtendedNFA < > & > ( DotConverter::convert ); -auto DotConverterCompactNFA2 = registration::AbstractRegister < DotConverter, std::string, const automaton::CompactNFA < > & > ( DotConverter::convert ); -auto DotConverterNFTA2 = registration::AbstractRegister < DotConverter, std::string, const automaton::NFTA < > & > ( DotConverter::convert ); -auto DotConverterDFTA2 = registration::AbstractRegister < DotConverter, std::string, const automaton::DFTA < > & > ( DotConverter::convert ); -auto DotConverterDPDA2 = registration::AbstractRegister < DotConverter, std::string, const automaton::DPDA < > & > ( DotConverter::convert ); -auto DotConverterSinglePopDPDA2 = registration::AbstractRegister < DotConverter, std::string, const automaton::SinglePopDPDA < > & > ( DotConverter::convert ); -auto DotConverterInputDrivenDPDA2 = registration::AbstractRegister < DotConverter, std::string, const automaton::InputDrivenDPDA < > & > ( DotConverter::convert ); -auto DotConverterInputDrivenNPDA2 = registration::AbstractRegister < DotConverter, std::string, const automaton::InputDrivenNPDA < > & > ( DotConverter::convert ); -auto DotConverterVisiblyPushdownDPDA2 = registration::AbstractRegister < DotConverter, std::string, const automaton::VisiblyPushdownDPDA < > & > ( DotConverter::convert ); -auto DotConverterVisiblyPushdownNPDA2 = registration::AbstractRegister < DotConverter, std::string, const automaton::VisiblyPushdownNPDA < > & > ( DotConverter::convert ); -auto DotConverterRealTimeHeightDeterministicDPDA2 = registration::AbstractRegister < DotConverter, std::string, const automaton::RealTimeHeightDeterministicDPDA < > & > ( DotConverter::convert ); -auto DotConverterRealTimeHeightDeterministicNPDA2 = registration::AbstractRegister < DotConverter, std::string, const automaton::RealTimeHeightDeterministicNPDA < > & > ( DotConverter::convert ); -auto DotConverterNPDA2 = registration::AbstractRegister < DotConverter, std::string, const automaton::NPDA < > & > ( DotConverter::convert ); -auto DotConverterSinglePopNPDA2 = registration::AbstractRegister < DotConverter, std::string, const automaton::SinglePopNPDA < > & > ( DotConverter::convert ); -auto DotConverterOneTapeDTM2 = registration::AbstractRegister < DotConverter, std::string, const automaton::OneTapeDTM < > & > ( DotConverter::convert ); +auto DotConverterEpsilonNFA = registration::AbstractRegister < DotConverter, std::string, const automaton::EpsilonNFA < > & > ( DotConverter::convert ); +auto DotConverterMultiInitialStateNFA = registration::AbstractRegister < DotConverter, std::string, const automaton::MultiInitialStateNFA < > & > ( DotConverter::convert ); +auto DotConverterNFA = registration::AbstractRegister < DotConverter, std::string, const automaton::NFA < > & > ( DotConverter::convert ); +auto DotConverterDFA = registration::AbstractRegister < DotConverter, std::string, const automaton::DFA < > & > ( DotConverter::convert ); +auto DotConverterExtendedNFA = registration::AbstractRegister < DotConverter, std::string, const automaton::ExtendedNFA < > & > ( DotConverter::convert ); +auto DotConverterCompactNFA = registration::AbstractRegister < DotConverter, std::string, const automaton::CompactNFA < > & > ( DotConverter::convert ); +auto DotConverterNFTA = registration::AbstractRegister < DotConverter, std::string, const automaton::NFTA < > & > ( DotConverter::convert ); +auto DotConverterDFTA = registration::AbstractRegister < DotConverter, std::string, const automaton::DFTA < > & > ( DotConverter::convert ); +auto DotConverterDPDA = registration::AbstractRegister < DotConverter, std::string, const automaton::DPDA < > & > ( DotConverter::convert ); +auto DotConverterSinglePopDPDA = registration::AbstractRegister < DotConverter, std::string, const automaton::SinglePopDPDA < > & > ( DotConverter::convert ); +auto DotConverterInputDrivenDPDA = registration::AbstractRegister < DotConverter, std::string, const automaton::InputDrivenDPDA < > & > ( DotConverter::convert ); +auto DotConverterInputDrivenNPDA = registration::AbstractRegister < DotConverter, std::string, const automaton::InputDrivenNPDA < > & > ( DotConverter::convert ); +auto DotConverterVisiblyPushdownDPDA = registration::AbstractRegister < DotConverter, std::string, const automaton::VisiblyPushdownDPDA < > & > ( DotConverter::convert ); +auto DotConverterVisiblyPushdownNPDA = registration::AbstractRegister < DotConverter, std::string, const automaton::VisiblyPushdownNPDA < > & > ( DotConverter::convert ); +auto DotConverterRealTimeHeightDeterministicDPDA = registration::AbstractRegister < DotConverter, std::string, const automaton::RealTimeHeightDeterministicDPDA < > & > ( DotConverter::convert ); +auto DotConverterRealTimeHeightDeterministicNPDA = registration::AbstractRegister < DotConverter, std::string, const automaton::RealTimeHeightDeterministicNPDA < > & > ( DotConverter::convert ); +auto DotConverterNPDA = registration::AbstractRegister < DotConverter, std::string, const automaton::NPDA < > & > ( DotConverter::convert ); +auto DotConverterSinglePopNPDA = registration::AbstractRegister < DotConverter, std::string, const automaton::SinglePopNPDA < > & > ( DotConverter::convert ); +auto DotConverterOneTapeDTM = registration::AbstractRegister < DotConverter, std::string, const automaton::OneTapeDTM < > & > ( DotConverter::convert ); } /* namespace convert */ diff --git a/alib2aux/src/convert/DotConverter.h b/alib2aux/src/convert/DotConverter.h index 754fa37ac3..9a76566ea7 100644 --- a/alib2aux/src/convert/DotConverter.h +++ b/alib2aux/src/convert/DotConverter.h @@ -16,14 +16,9 @@ #include <vector> #include <typeinfo> -#include <core/multipleDispatch.hpp> #include <exception/CommonException.h> - #include <string/String.h> -#include <automaton/Automaton.h> -#include <automaton/AutomatonFeatures.h> - #include <automaton/FSM/NFA.h> #include <automaton/FSM/EpsilonNFA.h> #include <automaton/FSM/MultiInitialStateNFA.h> @@ -52,7 +47,7 @@ namespace convert { -class DotConverter : public alib::SingleDispatchFirstStaticParam<DotConverter, void, std::ostream&, const automaton::AutomatonBase &> { +class DotConverter { template < class SymbolType, class StateType > static void transitions(const automaton::DFA < SymbolType, StateType > & fsm, const ext::map < StateType, int > & states, std::ostream & out); @@ -110,8 +105,6 @@ class DotConverter : public alib::SingleDispatchFirstStaticParam<DotConverter, v template < class SymbolType, class StateType > static void transitions(const automaton::OneTapeDTM < SymbolType, StateType > & tm, const ext::map < StateType, int > & states, std::ostream & out); public: - static void convert(std::ostream& out, const automaton::Automaton& a); - template < class SymbolType, class StateType > static void convert(std::ostream& out, const automaton::DFA < SymbolType, StateType > & a); diff --git a/alib2aux/src/convert/GasTexConverter.cpp b/alib2aux/src/convert/GasTexConverter.cpp index 7d22497b86..6162c7a995 100644 --- a/alib2aux/src/convert/GasTexConverter.cpp +++ b/alib2aux/src/convert/GasTexConverter.cpp @@ -35,48 +35,24 @@ void GasTexConverter::printTransitionMap(const ext::map<std::pair<std::string, s } } -void GasTexConverter::convert(std::ostream& out, const automaton::Automaton& a) { - dispatch(out, a.getData()); -} - -auto GasTexConverterEpsilonNFA = registration::OverloadRegister < GasTexConverter, void, automaton::EpsilonNFA < > > ( GasTexConverter::convert ); -auto GasTexConverterMultiInitialStateNFA = registration::OverloadRegister < GasTexConverter, void, automaton::MultiInitialStateNFA < > > ( GasTexConverter::convert ); -auto GasTexConverterNFA = registration::OverloadRegister < GasTexConverter, void, automaton::NFA < > > ( GasTexConverter::convert ); -auto GasTexConverterDFA = registration::OverloadRegister < GasTexConverter, void, automaton::DFA < > > ( GasTexConverter::convert ); -auto GasTexConverterExtendedNFA = registration::OverloadRegister < GasTexConverter, void, automaton::ExtendedNFA < > > ( GasTexConverter::convert ); -auto GasTexConverterCompactNFA = registration::OverloadRegister < GasTexConverter, void, automaton::CompactNFA < > > ( GasTexConverter::convert ); -auto GasTexConverterNFTA = registration::OverloadRegister < GasTexConverter, void, automaton::NFTA < > > ( GasTexConverter::convert ); -auto GasTexConverterDFTA = registration::OverloadRegister < GasTexConverter, void, automaton::DFTA < > > ( GasTexConverter::convert ); -auto GasTexConverterDPDA = registration::OverloadRegister < GasTexConverter, void, automaton::DPDA < > > ( GasTexConverter::convert ); -auto GasTexConverterSinglePopDPDA = registration::OverloadRegister < GasTexConverter, void, automaton::SinglePopDPDA < > > ( GasTexConverter::convert ); -auto GasTexConverterInputDrivenDPDA = registration::OverloadRegister < GasTexConverter, void, automaton::InputDrivenDPDA < > > ( GasTexConverter::convert ); -auto GasTexConverterInputDrivenNPDA = registration::OverloadRegister < GasTexConverter, void, automaton::InputDrivenNPDA < > > ( GasTexConverter::convert ); -auto GasTexConverterVisiblyPushdownDPDA = registration::OverloadRegister < GasTexConverter, void, automaton::VisiblyPushdownDPDA < > > ( GasTexConverter::convert ); -auto GasTexConverterVisiblyPushdownNPDA = registration::OverloadRegister < GasTexConverter, void, automaton::VisiblyPushdownNPDA < > > ( GasTexConverter::convert ); -auto GasTexConverterRealTimeHeightDeterministicDPDA = registration::OverloadRegister < GasTexConverter, void, automaton::RealTimeHeightDeterministicDPDA < > > ( GasTexConverter::convert ); -auto GasTexConverterRealTimeHeightDeterministicNPDA = registration::OverloadRegister < GasTexConverter, void, automaton::RealTimeHeightDeterministicNPDA < > > ( GasTexConverter::convert ); -auto GasTexConverterNPDA = registration::OverloadRegister < GasTexConverter, void, automaton::NPDA < > > ( GasTexConverter::convert ); -auto GasTexConverterSinglePopNPDA = registration::OverloadRegister < GasTexConverter, void, automaton::SinglePopNPDA < > > ( GasTexConverter::convert ); -auto GasTexConverterOneTapeDTM = registration::OverloadRegister < GasTexConverter, void, automaton::OneTapeDTM < > > ( GasTexConverter::convert ); - -auto GasTexConverterEpsilonNFA2 = registration::AbstractRegister < GasTexConverter, std::string, const automaton::EpsilonNFA < > & > ( GasTexConverter::convert ); -auto GasTexConverterMultiInitialStateNFA2 = registration::AbstractRegister < GasTexConverter, std::string, const automaton::MultiInitialStateNFA < > & > ( GasTexConverter::convert ); -auto GasTexConverterNFA2 = registration::AbstractRegister < GasTexConverter, std::string, const automaton::NFA < > & > ( GasTexConverter::convert ); -auto GasTexConverterDFA2 = registration::AbstractRegister < GasTexConverter, std::string, const automaton::DFA < > & > ( GasTexConverter::convert ); -auto GasTexConverterExtendedNFA2 = registration::AbstractRegister < GasTexConverter, std::string, const automaton::ExtendedNFA < > & > ( GasTexConverter::convert ); -auto GasTexConverterCompactNFA2 = registration::AbstractRegister < GasTexConverter, std::string, const automaton::CompactNFA < > & > ( GasTexConverter::convert ); -auto GasTexConverterNFTA2 = registration::AbstractRegister < GasTexConverter, std::string, const automaton::NFTA < > & > ( GasTexConverter::convert ); -auto GasTexConverterDFTA2 = registration::AbstractRegister < GasTexConverter, std::string, const automaton::DFTA < > & > ( GasTexConverter::convert ); -auto GasTexConverterDPDA2 = registration::AbstractRegister < GasTexConverter, std::string, const automaton::DPDA < > & > ( GasTexConverter::convert ); -auto GasTexConverterSinglePopDPDA2 = registration::AbstractRegister < GasTexConverter, std::string, const automaton::SinglePopDPDA < > & > ( GasTexConverter::convert ); -auto GasTexConverterInputDrivenDPDA2 = registration::AbstractRegister < GasTexConverter, std::string, const automaton::InputDrivenDPDA < > & > ( GasTexConverter::convert ); -auto GasTexConverterInputDrivenNPDA2 = registration::AbstractRegister < GasTexConverter, std::string, const automaton::InputDrivenNPDA < > & > ( GasTexConverter::convert ); -auto GasTexConverterVisiblyPushdownDPDA2 = registration::AbstractRegister < GasTexConverter, std::string, const automaton::VisiblyPushdownDPDA < > & > ( GasTexConverter::convert ); -auto GasTexConverterVisiblyPushdownNPDA2 = registration::AbstractRegister < GasTexConverter, std::string, const automaton::VisiblyPushdownNPDA < > & > ( GasTexConverter::convert ); -auto GasTexConverterRealTimeHeightDeterministicDPDA2 = registration::AbstractRegister < GasTexConverter, std::string, const automaton::RealTimeHeightDeterministicDPDA < > & > ( GasTexConverter::convert ); -auto GasTexConverterRealTimeHeightDeterministicNPDA2 = registration::AbstractRegister < GasTexConverter, std::string, const automaton::RealTimeHeightDeterministicNPDA < > & > ( GasTexConverter::convert ); -auto GasTexConverterNPDA2 = registration::AbstractRegister < GasTexConverter, std::string, const automaton::NPDA < > & > ( GasTexConverter::convert ); -auto GasTexConverterSinglePopNPDA2 = registration::AbstractRegister < GasTexConverter, std::string, const automaton::SinglePopNPDA < > & > ( GasTexConverter::convert ); -auto GasTexConverterOneTapeDTM2 = registration::AbstractRegister < GasTexConverter, std::string, const automaton::OneTapeDTM < > & > ( GasTexConverter::convert ); +auto GasTexConverterEpsilonNFA = registration::AbstractRegister < GasTexConverter, std::string, const automaton::EpsilonNFA < > & > ( GasTexConverter::convert ); +auto GasTexConverterMultiInitialStateNFA = registration::AbstractRegister < GasTexConverter, std::string, const automaton::MultiInitialStateNFA < > & > ( GasTexConverter::convert ); +auto GasTexConverterNFA = registration::AbstractRegister < GasTexConverter, std::string, const automaton::NFA < > & > ( GasTexConverter::convert ); +auto GasTexConverterDFA = registration::AbstractRegister < GasTexConverter, std::string, const automaton::DFA < > & > ( GasTexConverter::convert ); +auto GasTexConverterExtendedNFA = registration::AbstractRegister < GasTexConverter, std::string, const automaton::ExtendedNFA < > & > ( GasTexConverter::convert ); +auto GasTexConverterCompactNFA = registration::AbstractRegister < GasTexConverter, std::string, const automaton::CompactNFA < > & > ( GasTexConverter::convert ); +auto GasTexConverterNFTA = registration::AbstractRegister < GasTexConverter, std::string, const automaton::NFTA < > & > ( GasTexConverter::convert ); +auto GasTexConverterDFTA = registration::AbstractRegister < GasTexConverter, std::string, const automaton::DFTA < > & > ( GasTexConverter::convert ); +auto GasTexConverterDPDA = registration::AbstractRegister < GasTexConverter, std::string, const automaton::DPDA < > & > ( GasTexConverter::convert ); +auto GasTexConverterSinglePopDPDA = registration::AbstractRegister < GasTexConverter, std::string, const automaton::SinglePopDPDA < > & > ( GasTexConverter::convert ); +auto GasTexConverterInputDrivenDPDA = registration::AbstractRegister < GasTexConverter, std::string, const automaton::InputDrivenDPDA < > & > ( GasTexConverter::convert ); +auto GasTexConverterInputDrivenNPDA = registration::AbstractRegister < GasTexConverter, std::string, const automaton::InputDrivenNPDA < > & > ( GasTexConverter::convert ); +auto GasTexConverterVisiblyPushdownDPDA = registration::AbstractRegister < GasTexConverter, std::string, const automaton::VisiblyPushdownDPDA < > & > ( GasTexConverter::convert ); +auto GasTexConverterVisiblyPushdownNPDA = registration::AbstractRegister < GasTexConverter, std::string, const automaton::VisiblyPushdownNPDA < > & > ( GasTexConverter::convert ); +auto GasTexConverterRealTimeHeightDeterministicDPDA = registration::AbstractRegister < GasTexConverter, std::string, const automaton::RealTimeHeightDeterministicDPDA < > & > ( GasTexConverter::convert ); +auto GasTexConverterRealTimeHeightDeterministicNPDA = registration::AbstractRegister < GasTexConverter, std::string, const automaton::RealTimeHeightDeterministicNPDA < > & > ( GasTexConverter::convert ); +auto GasTexConverterNPDA = registration::AbstractRegister < GasTexConverter, std::string, const automaton::NPDA < > & > ( GasTexConverter::convert ); +auto GasTexConverterSinglePopNPDA = registration::AbstractRegister < GasTexConverter, std::string, const automaton::SinglePopNPDA < > & > ( GasTexConverter::convert ); +auto GasTexConverterOneTapeDTM = registration::AbstractRegister < GasTexConverter, std::string, const automaton::OneTapeDTM < > & > ( GasTexConverter::convert ); } /* namespace convert */ diff --git a/alib2aux/src/convert/GasTexConverter.h b/alib2aux/src/convert/GasTexConverter.h index b1a3901530..6b514c4b38 100644 --- a/alib2aux/src/convert/GasTexConverter.h +++ b/alib2aux/src/convert/GasTexConverter.h @@ -15,12 +15,7 @@ #include <set> #include <typeinfo> -#include <core/multipleDispatch.hpp> #include <exception/CommonException.h> - -#include <automaton/Automaton.h> -#include <automaton/AutomatonFeatures.h> - #include <string/String.h> #include <automaton/FSM/NFA.h> @@ -51,7 +46,7 @@ namespace convert { -class GasTexConverter : public alib::SingleDispatchFirstStaticParam<GasTexConverter, void, std::ostream&, const automaton::AutomatonBase &> { +class GasTexConverter { static void printTransitionMap( const ext::map<std::pair<std::string, std::string>, std::string> transitionMap, std::ostream& out); template < class SymbolType > @@ -114,8 +109,6 @@ class GasTexConverter : public alib::SingleDispatchFirstStaticParam<GasTexConver template < class SymbolType, class StateType > static void transitions(const automaton::OneTapeDTM < SymbolType, StateType > & tm, std::ostream & out); public: - static void convert(std::ostream& out, const automaton::Automaton& a); - template < class SymbolType, class StateType > static void convert(std::ostream& out, const automaton::DFA < SymbolType, StateType > & a); diff --git a/alib2aux/src/convert/TikZConverter.cpp b/alib2aux/src/convert/TikZConverter.cpp index aa778bb2f1..cd2b0b3aea 100644 --- a/alib2aux/src/convert/TikZConverter.cpp +++ b/alib2aux/src/convert/TikZConverter.cpp @@ -10,48 +10,24 @@ namespace convert { -void TikZConverter::convert ( std::ostream & out, const automaton::Automaton & a ) { - dispatch ( out, a.getData ( ) ); -} - -auto TikZConverterEpsilonNFA = registration::OverloadRegister < TikZConverter, void, automaton::EpsilonNFA < > > ( TikZConverter::convert ); -auto TikZConverterMultiInitialStateNFA = registration::OverloadRegister < TikZConverter, void, automaton::MultiInitialStateNFA < > > ( TikZConverter::convert ); -auto TikZConverterNFA = registration::OverloadRegister < TikZConverter, void, automaton::NFA < > > ( TikZConverter::convert ); -auto TikZConverterDFA = registration::OverloadRegister < TikZConverter, void, automaton::DFA < > > ( TikZConverter::convert ); -auto TikZConverterExtendedNFA = registration::OverloadRegister < TikZConverter, void, automaton::ExtendedNFA < > > ( TikZConverter::convert ); -auto TikZConverterCompactNFA = registration::OverloadRegister < TikZConverter, void, automaton::CompactNFA < > > ( TikZConverter::convert ); -auto TikZConverterNFTA = registration::OverloadRegister < TikZConverter, void, automaton::NFTA < > > ( TikZConverter::convert ); -auto TikZConverterDFTA = registration::OverloadRegister < TikZConverter, void, automaton::DFTA < > > ( TikZConverter::convert ); -auto TikZConverterDPDA = registration::OverloadRegister < TikZConverter, void, automaton::DPDA < > > ( TikZConverter::convert ); -auto TikZConverterSinglePopDPDA = registration::OverloadRegister < TikZConverter, void, automaton::SinglePopDPDA < > > ( TikZConverter::convert ); -auto TikZConverterInputDrivenDPDA = registration::OverloadRegister < TikZConverter, void, automaton::InputDrivenDPDA < > > ( TikZConverter::convert ); -auto TikZConverterInputDrivenNPDA = registration::OverloadRegister < TikZConverter, void, automaton::InputDrivenNPDA < > > ( TikZConverter::convert ); -auto TikZConverterVisiblyPushdownDPDA = registration::OverloadRegister < TikZConverter, void, automaton::VisiblyPushdownDPDA < > > ( TikZConverter::convert ); -auto TikZConverterVisiblyPushdownNPDA = registration::OverloadRegister < TikZConverter, void, automaton::VisiblyPushdownNPDA < > > ( TikZConverter::convert ); -auto TikZConverterRealTimeHeightDeterministicDPDA = registration::OverloadRegister < TikZConverter, void, automaton::RealTimeHeightDeterministicDPDA < > > ( TikZConverter::convert ); -auto TikZConverterRealTimeHeightDeterministicNPDA = registration::OverloadRegister < TikZConverter, void, automaton::RealTimeHeightDeterministicNPDA < > > ( TikZConverter::convert ); -auto TikZConverterNPDA = registration::OverloadRegister < TikZConverter, void, automaton::NPDA < > > ( TikZConverter::convert ); -auto TikZConverterSinglePopNPDA = registration::OverloadRegister < TikZConverter, void, automaton::SinglePopNPDA < > > ( TikZConverter::convert ); -auto TikZConverterOneTapeDTM = registration::OverloadRegister < TikZConverter, void, automaton::OneTapeDTM < > > ( TikZConverter::convert ); - -auto TikZConverterEpsilonNFA2 = registration::AbstractRegister < TikZConverter, std::string, const automaton::EpsilonNFA < > & > ( TikZConverter::convert ); -auto TikZConverterMultiInitialStateNFA2 = registration::AbstractRegister < TikZConverter, std::string, const automaton::MultiInitialStateNFA < > & > ( TikZConverter::convert ); -auto TikZConverterNFA2 = registration::AbstractRegister < TikZConverter, std::string, const automaton::NFA < > & > ( TikZConverter::convert ); -auto TikZConverterDFA2 = registration::AbstractRegister < TikZConverter, std::string, const automaton::DFA < > & > ( TikZConverter::convert ); -auto TikZConverterExtendedNFA2 = registration::AbstractRegister < TikZConverter, std::string, const automaton::ExtendedNFA < > & > ( TikZConverter::convert ); -auto TikZConverterCompactNFA2 = registration::AbstractRegister < TikZConverter, std::string, const automaton::CompactNFA < > & > ( TikZConverter::convert ); -auto TikZConverterNFTA2 = registration::AbstractRegister < TikZConverter, std::string, const automaton::NFTA < > & > ( TikZConverter::convert ); -auto TikZConverterDFTA2 = registration::AbstractRegister < TikZConverter, std::string, const automaton::DFTA < > & > ( TikZConverter::convert ); -auto TikZConverterDPDA2 = registration::AbstractRegister < TikZConverter, std::string, const automaton::DPDA < > & > ( TikZConverter::convert ); -auto TikZConverterSinglePopDPDA2 = registration::AbstractRegister < TikZConverter, std::string, const automaton::SinglePopDPDA < > & > ( TikZConverter::convert ); -auto TikZConverterInputDrivenDPDA2 = registration::AbstractRegister < TikZConverter, std::string, const automaton::InputDrivenDPDA < > & > ( TikZConverter::convert ); -auto TikZConverterInputDrivenNPDA2 = registration::AbstractRegister < TikZConverter, std::string, const automaton::InputDrivenNPDA < > & > ( TikZConverter::convert ); -auto TikZConverterVisiblyPushdownDPDA2 = registration::AbstractRegister < TikZConverter, std::string, const automaton::VisiblyPushdownDPDA < > & > ( TikZConverter::convert ); -auto TikZConverterVisiblyPushdownNPDA2 = registration::AbstractRegister < TikZConverter, std::string, const automaton::VisiblyPushdownNPDA < > & > ( TikZConverter::convert ); -auto TikZConverterRealTimeHeightDeterministicDPDA2 = registration::AbstractRegister < TikZConverter, std::string, const automaton::RealTimeHeightDeterministicDPDA < > & > ( TikZConverter::convert ); -auto TikZConverterRealTimeHeightDeterministicNPDA2 = registration::AbstractRegister < TikZConverter, std::string, const automaton::RealTimeHeightDeterministicNPDA < > & > ( TikZConverter::convert ); -auto TikZConverterNPDA2 = registration::AbstractRegister < TikZConverter, std::string, const automaton::NPDA < > & > ( TikZConverter::convert ); -auto TikZConverterSinglePopNPDA2 = registration::AbstractRegister < TikZConverter, std::string, const automaton::SinglePopNPDA < > & > ( TikZConverter::convert ); -auto TikZConverterOneTapeDTM2 = registration::AbstractRegister < TikZConverter, std::string, const automaton::OneTapeDTM < > & > ( TikZConverter::convert ); +auto TikZConverterEpsilonNFA = registration::AbstractRegister < TikZConverter, std::string, const automaton::EpsilonNFA < > & > ( TikZConverter::convert ); +auto TikZConverterMultiInitialStateNFA = registration::AbstractRegister < TikZConverter, std::string, const automaton::MultiInitialStateNFA < > & > ( TikZConverter::convert ); +auto TikZConverterNFA = registration::AbstractRegister < TikZConverter, std::string, const automaton::NFA < > & > ( TikZConverter::convert ); +auto TikZConverterDFA = registration::AbstractRegister < TikZConverter, std::string, const automaton::DFA < > & > ( TikZConverter::convert ); +auto TikZConverterExtendedNFA = registration::AbstractRegister < TikZConverter, std::string, const automaton::ExtendedNFA < > & > ( TikZConverter::convert ); +auto TikZConverterCompactNFA = registration::AbstractRegister < TikZConverter, std::string, const automaton::CompactNFA < > & > ( TikZConverter::convert ); +auto TikZConverterNFTA = registration::AbstractRegister < TikZConverter, std::string, const automaton::NFTA < > & > ( TikZConverter::convert ); +auto TikZConverterDFTA = registration::AbstractRegister < TikZConverter, std::string, const automaton::DFTA < > & > ( TikZConverter::convert ); +auto TikZConverterDPDA = registration::AbstractRegister < TikZConverter, std::string, const automaton::DPDA < > & > ( TikZConverter::convert ); +auto TikZConverterSinglePopDPDA = registration::AbstractRegister < TikZConverter, std::string, const automaton::SinglePopDPDA < > & > ( TikZConverter::convert ); +auto TikZConverterInputDrivenDPDA = registration::AbstractRegister < TikZConverter, std::string, const automaton::InputDrivenDPDA < > & > ( TikZConverter::convert ); +auto TikZConverterInputDrivenNPDA = registration::AbstractRegister < TikZConverter, std::string, const automaton::InputDrivenNPDA < > & > ( TikZConverter::convert ); +auto TikZConverterVisiblyPushdownDPDA = registration::AbstractRegister < TikZConverter, std::string, const automaton::VisiblyPushdownDPDA < > & > ( TikZConverter::convert ); +auto TikZConverterVisiblyPushdownNPDA = registration::AbstractRegister < TikZConverter, std::string, const automaton::VisiblyPushdownNPDA < > & > ( TikZConverter::convert ); +auto TikZConverterRealTimeHeightDeterministicDPDA = registration::AbstractRegister < TikZConverter, std::string, const automaton::RealTimeHeightDeterministicDPDA < > & > ( TikZConverter::convert ); +auto TikZConverterRealTimeHeightDeterministicNPDA = registration::AbstractRegister < TikZConverter, std::string, const automaton::RealTimeHeightDeterministicNPDA < > & > ( TikZConverter::convert ); +auto TikZConverterNPDA = registration::AbstractRegister < TikZConverter, std::string, const automaton::NPDA < > & > ( TikZConverter::convert ); +auto TikZConverterSinglePopNPDA = registration::AbstractRegister < TikZConverter, std::string, const automaton::SinglePopNPDA < > & > ( TikZConverter::convert ); +auto TikZConverterOneTapeDTM = registration::AbstractRegister < TikZConverter, std::string, const automaton::OneTapeDTM < > & > ( TikZConverter::convert ); } /* namespace convert */ diff --git a/alib2aux/src/convert/TikZConverter.h b/alib2aux/src/convert/TikZConverter.h index f44f9145d2..45466a2d81 100644 --- a/alib2aux/src/convert/TikZConverter.h +++ b/alib2aux/src/convert/TikZConverter.h @@ -16,12 +16,7 @@ #include <map> #include <utility> -#include <core/multipleDispatch.hpp> #include <exception/CommonException.h> - -#include <automaton/Automaton.h> -#include <automaton/AutomatonFeatures.h> - #include <string/String.h> #include <automaton/FSM/NFA.h> @@ -52,7 +47,7 @@ namespace convert { -class TikZConverter : public alib::SingleDispatchFirstStaticParam < TikZConverter, void, std::ostream &, const automaton::AutomatonBase & > { +class TikZConverter { template < class SymbolType, class StateType > static void transitions(const automaton::DFA < SymbolType, StateType > & fsm, const ext::map < StateType, int > & states, std::ostream & out); @@ -110,8 +105,6 @@ class TikZConverter : public alib::SingleDispatchFirstStaticParam < TikZConverte template < class SymbolType, class StateType > static void transitions(const automaton::OneTapeDTM < SymbolType, StateType > & tm, const ext::map < StateType, int > & states, std::ostream & out); public: - static void convert ( std::ostream & out, const automaton::Automaton & a ); - template < class SymbolType, class StateType > static void convert(std::ostream& out, const automaton::DFA < SymbolType, StateType > & a); @@ -927,7 +920,7 @@ void TikZConverter::transitions ( const automaton::CompactNFA < SymbolType, Stat // put transitions from automaton to "transitions" for ( const auto & transition : fsm.getTransitions ( ) ) { - std::string symbol = replace ( alib::StringDataFactory::toString ( string::stringFrom ( transition.first.second ) ), "\"", "\\\"" ); + std::string symbol = replace ( alib::StringDataFactory::toString ( string::stringFrom ( transition.first.second ) ), "\"", "\\\"" ); for ( const StateType & to : transition.second ) { std::pair < int, int > key ( states.find ( transition.first.first )->second, states.find ( to )->second ); -- GitLab