diff --git a/alib2algo/src/automaton/simplify/EpsilonRemoverIncoming.cpp b/alib2algo/src/automaton/simplify/EpsilonRemoverIncoming.cxx similarity index 100% rename from alib2algo/src/automaton/simplify/EpsilonRemoverIncoming.cpp rename to alib2algo/src/automaton/simplify/EpsilonRemoverIncoming.cxx diff --git a/alib2algo/src/automaton/simplify/EpsilonRemoverOutgoing.cpp b/alib2algo/src/automaton/simplify/EpsilonRemoverOutgoing.cxx similarity index 100% rename from alib2algo/src/automaton/simplify/EpsilonRemoverOutgoing.cpp rename to alib2algo/src/automaton/simplify/EpsilonRemoverOutgoing.cxx diff --git a/alib2algo/src/automaton/simplify/Minimize.cpp b/alib2algo/src/automaton/simplify/Minimize.cxx similarity index 100% rename from alib2algo/src/automaton/simplify/Minimize.cpp rename to alib2algo/src/automaton/simplify/Minimize.cxx diff --git a/alib2algo/src/automaton/simplify/MinimizeBrzozowski.cpp b/alib2algo/src/automaton/simplify/MinimizeBrzozowski.cxx similarity index 100% rename from alib2algo/src/automaton/simplify/MinimizeBrzozowski.cpp rename to alib2algo/src/automaton/simplify/MinimizeBrzozowski.cxx diff --git a/alib2algo/src/automaton/simplify/MinimizeByPartitioning.cpp b/alib2algo/src/automaton/simplify/MinimizeByPartitioning.cxx similarity index 100% rename from alib2algo/src/automaton/simplify/MinimizeByPartitioning.cpp rename to alib2algo/src/automaton/simplify/MinimizeByPartitioning.cxx diff --git a/alib2algo/src/automaton/simplify/MinimizeVerbose.cpp b/alib2algo/src/automaton/simplify/MinimizeVerbose.cxx similarity index 100% rename from alib2algo/src/automaton/simplify/MinimizeVerbose.cpp rename to alib2algo/src/automaton/simplify/MinimizeVerbose.cxx diff --git a/alib2algo/src/automaton/simplify/Normalize.cpp b/alib2algo/src/automaton/simplify/Normalize.cxx similarity index 100% rename from alib2algo/src/automaton/simplify/Normalize.cpp rename to alib2algo/src/automaton/simplify/Normalize.cxx diff --git a/alib2algo/src/automaton/simplify/Rename.cpp b/alib2algo/src/automaton/simplify/Rename.cxx similarity index 100% rename from alib2algo/src/automaton/simplify/Rename.cpp rename to alib2algo/src/automaton/simplify/Rename.cxx diff --git a/alib2algo/src/automaton/simplify/Simplify.cpp b/alib2algo/src/automaton/simplify/Simplify.cpp new file mode 100644 index 0000000000000000000000000000000000000000..a20d1d9223a34a868e3539cd4b3fb40d30188d6d --- /dev/null +++ b/alib2algo/src/automaton/simplify/Simplify.cpp @@ -0,0 +1,14 @@ +#include "EpsilonRemoverIncoming.cxx" +#include "EpsilonRemoverOutgoing.cxx" +#include "Minimize.cxx" +#include "MinimizeBrzozowski.cxx" +#include "MinimizeByPartitioning.cxx" +#include "MinimizeVerbose.cxx" +#include "Normalize.cxx" +#include "Rename.cxx" +#include "SingleInitialState.cxx" +#include "SingleInitialStateEpsilonTransition.cxx" +#include "Total.cxx" +#include "Trim.cxx" +#include "UnreachableStatesRemover.cxx" +#include "UselessStatesRemover.cxx" diff --git a/alib2algo/src/automaton/simplify/SingleInitialState.cpp b/alib2algo/src/automaton/simplify/SingleInitialState.cxx similarity index 100% rename from alib2algo/src/automaton/simplify/SingleInitialState.cpp rename to alib2algo/src/automaton/simplify/SingleInitialState.cxx diff --git a/alib2algo/src/automaton/simplify/SingleInitialStateEpsilonTransition.cpp b/alib2algo/src/automaton/simplify/SingleInitialStateEpsilonTransition.cpp deleted file mode 100644 index 9622d011979fa96aa8b1818d1e335de71adeead0..0000000000000000000000000000000000000000 --- a/alib2algo/src/automaton/simplify/SingleInitialStateEpsilonTransition.cpp +++ /dev/null @@ -1,55 +0,0 @@ -/* - * SingleInitialStateEpsilonTransition.cpp - * - * Created on: 6. 6. 2018 - * Author: Jan Travnicek - */ - -#include "SingleInitialStateEpsilonTransition.h" -#include <registration/AlgoRegistration.hpp> - -namespace { - -auto SingleInitialStateMultiInitialStateNFA = registration::AbstractRegister < automaton::simplify::SingleInitialStateEpsilonTransition, automaton::EpsilonNFA < >, const automaton::MultiInitialStateNFA < > & > ( automaton::simplify::SingleInitialStateEpsilonTransition::convert, "automaton" ).setDocumentation ( -"Converts multi-initial state automaton to a single-initial state automaton with the use of epsilon transitions.\n\ -\n\ -@param automaton automaton to convert\n\ -@return an automaton equivalent to @p with only one initial state" ); - -auto SingleInitialStateMultiInitialStateEpsilonNFA = registration::AbstractRegister < automaton::simplify::SingleInitialStateEpsilonTransition, automaton::EpsilonNFA < >, const automaton::MultiInitialStateEpsilonNFA < > & > ( automaton::simplify::SingleInitialStateEpsilonTransition::convert, "automaton" ).setDocumentation ( -"Converts multi-initial state epsilon automaton to a single-initial state automaton with the use of epsilon transitions.\n\ -\n\ -@param automaton automaton to convert\n\ -@return an automaton equivalent to @p with only one initial state" ); - -auto SingleInitialStateDFA = registration::AbstractRegister < automaton::simplify::SingleInitialStateEpsilonTransition, automaton::DFA < >, const automaton::DFA < > & > ( automaton::simplify::SingleInitialStateEpsilonTransition::convert, "automaton" ).setDocumentation ( -"No-op for deterministic finite automaton.\n\ -\n\ -@param automaton automaton to convert\n\ -@return an automaton equivalent to @p with only one initial state" ); - -auto SingleInitialStateEpsilonNFA = registration::AbstractRegister < automaton::simplify::SingleInitialStateEpsilonTransition, automaton::EpsilonNFA < >, const automaton::EpsilonNFA < > & > ( automaton::simplify::SingleInitialStateEpsilonTransition::convert, "automaton" ).setDocumentation ( -"No-op for epsilon nondeterministic finite automaton.\n\ -\n\ -@param automaton automaton to convert\n\ -@return an automaton equivalent to @p with only one initial state" ); - -auto SingleInitialStateNFA = registration::AbstractRegister < automaton::simplify::SingleInitialStateEpsilonTransition, automaton::NFA < >, const automaton::NFA < > & > ( automaton::simplify::SingleInitialStateEpsilonTransition::convert, "automaton" ).setDocumentation ( -"No-op for nondeterministic finite automaton.\n\ -\n\ -@param automaton automaton to convert\n\ -@return an automaton equivalent to @p with only one initial state" ); - -auto SingleInitialStateCompactNFA = registration::AbstractRegister < automaton::simplify::SingleInitialStateEpsilonTransition, automaton::CompactNFA < >, const automaton::CompactNFA < > & > ( automaton::simplify::SingleInitialStateEpsilonTransition::convert, "automaton" ).setDocumentation ( -"No-op for compact nondeterministic finite automaton.\n\ -\n\ -@param automaton automaton to convert\n\ -@return an automaton equivalent to @p with only one initial state" ); - -auto SingleInitialStateExtendedNFA = registration::AbstractRegister < automaton::simplify::SingleInitialStateEpsilonTransition, automaton::ExtendedNFA < >, const automaton::ExtendedNFA < > & > ( automaton::simplify::SingleInitialStateEpsilonTransition::convert, "automaton" ).setDocumentation ( -"No-op for extended nondeterministic finite automaton.\n\ -\n\ -@param automaton automaton to convert\n\ -@return an automaton equivalent to @p with only one initial state" ); - -} /* namespace */ diff --git a/alib2algo/src/automaton/simplify/SingleInitialStateEpsilonTransition.cxx b/alib2algo/src/automaton/simplify/SingleInitialStateEpsilonTransition.cxx new file mode 100644 index 0000000000000000000000000000000000000000..b0168a15131eb6ab104d4dabaa14f68f327332eb --- /dev/null +++ b/alib2algo/src/automaton/simplify/SingleInitialStateEpsilonTransition.cxx @@ -0,0 +1,55 @@ +/* + * SingleInitialStateEpsilonTransition.cpp + * + * Created on: 6. 6. 2018 + * Author: Jan Travnicek + */ + +#include "SingleInitialStateEpsilonTransition.h" +#include <registration/AlgoRegistration.hpp> + +namespace { + +auto SingleInitialStateEpsilonTransitionMultiInitialStateNFA = registration::AbstractRegister < automaton::simplify::SingleInitialStateEpsilonTransition, automaton::EpsilonNFA < >, const automaton::MultiInitialStateNFA < > & > ( automaton::simplify::SingleInitialStateEpsilonTransition::convert, "automaton" ).setDocumentation ( +"Converts multi-initial state automaton to a single-initial state automaton with the use of epsilon transitions.\n\ +\n\ +@param automaton automaton to convert\n\ +@return an automaton equivalent to @p with only one initial state" ); + +auto SingleInitialStateEpsilonTransitionMultiInitialStateEpsilonNFA = registration::AbstractRegister < automaton::simplify::SingleInitialStateEpsilonTransition, automaton::EpsilonNFA < >, const automaton::MultiInitialStateEpsilonNFA < > & > ( automaton::simplify::SingleInitialStateEpsilonTransition::convert, "automaton" ).setDocumentation ( +"Converts multi-initial state epsilon automaton to a single-initial state automaton with the use of epsilon transitions.\n\ +\n\ +@param automaton automaton to convert\n\ +@return an automaton equivalent to @p with only one initial state" ); + +auto SingleInitialStateEpsilonTransitionDFA = registration::AbstractRegister < automaton::simplify::SingleInitialStateEpsilonTransition, automaton::DFA < >, const automaton::DFA < > & > ( automaton::simplify::SingleInitialStateEpsilonTransition::convert, "automaton" ).setDocumentation ( +"No-op for deterministic finite automaton.\n\ +\n\ +@param automaton automaton to convert\n\ +@return an automaton equivalent to @p with only one initial state" ); + +auto SingleInitialStateEpsilonTransitionEpsilonNFA = registration::AbstractRegister < automaton::simplify::SingleInitialStateEpsilonTransition, automaton::EpsilonNFA < >, const automaton::EpsilonNFA < > & > ( automaton::simplify::SingleInitialStateEpsilonTransition::convert, "automaton" ).setDocumentation ( +"No-op for epsilon nondeterministic finite automaton.\n\ +\n\ +@param automaton automaton to convert\n\ +@return an automaton equivalent to @p with only one initial state" ); + +auto SingleInitialStateEpsilonTransitionNFA = registration::AbstractRegister < automaton::simplify::SingleInitialStateEpsilonTransition, automaton::NFA < >, const automaton::NFA < > & > ( automaton::simplify::SingleInitialStateEpsilonTransition::convert, "automaton" ).setDocumentation ( +"No-op for nondeterministic finite automaton.\n\ +\n\ +@param automaton automaton to convert\n\ +@return an automaton equivalent to @p with only one initial state" ); + +auto SingleInitialStateEpsilonTransitionCompactNFA = registration::AbstractRegister < automaton::simplify::SingleInitialStateEpsilonTransition, automaton::CompactNFA < >, const automaton::CompactNFA < > & > ( automaton::simplify::SingleInitialStateEpsilonTransition::convert, "automaton" ).setDocumentation ( +"No-op for compact nondeterministic finite automaton.\n\ +\n\ +@param automaton automaton to convert\n\ +@return an automaton equivalent to @p with only one initial state" ); + +auto SingleInitialStateEpsilonTransitionExtendedNFA = registration::AbstractRegister < automaton::simplify::SingleInitialStateEpsilonTransition, automaton::ExtendedNFA < >, const automaton::ExtendedNFA < > & > ( automaton::simplify::SingleInitialStateEpsilonTransition::convert, "automaton" ).setDocumentation ( +"No-op for extended nondeterministic finite automaton.\n\ +\n\ +@param automaton automaton to convert\n\ +@return an automaton equivalent to @p with only one initial state" ); + +} /* namespace */ diff --git a/alib2algo/src/automaton/simplify/Total.cpp b/alib2algo/src/automaton/simplify/Total.cxx similarity index 100% rename from alib2algo/src/automaton/simplify/Total.cpp rename to alib2algo/src/automaton/simplify/Total.cxx diff --git a/alib2algo/src/automaton/simplify/Trim.cpp b/alib2algo/src/automaton/simplify/Trim.cxx similarity index 100% rename from alib2algo/src/automaton/simplify/Trim.cpp rename to alib2algo/src/automaton/simplify/Trim.cxx diff --git a/alib2algo/src/automaton/simplify/UnreachableStatesRemover.cpp b/alib2algo/src/automaton/simplify/UnreachableStatesRemover.cxx similarity index 100% rename from alib2algo/src/automaton/simplify/UnreachableStatesRemover.cpp rename to alib2algo/src/automaton/simplify/UnreachableStatesRemover.cxx diff --git a/alib2algo/src/automaton/simplify/UselessStatesRemover.cpp b/alib2algo/src/automaton/simplify/UselessStatesRemover.cxx similarity index 100% rename from alib2algo/src/automaton/simplify/UselessStatesRemover.cpp rename to alib2algo/src/automaton/simplify/UselessStatesRemover.cxx