From 08487063cdfc17a5c7952a9fa0f7ce26fcd84407 Mon Sep 17 00:00:00 2001 From: Jan Travnicek <Jan.Travnicek@fit.cvut.cz> Date: Wed, 25 Dec 2019 21:58:30 +0100 Subject: [PATCH] test unit build in automaton simplify --- ...ncoming.cpp => EpsilonRemoverIncoming.cxx} | 0 ...utgoing.cpp => EpsilonRemoverOutgoing.cxx} | 0 .../simplify/{Minimize.cpp => Minimize.cxx} | 0 ...eBrzozowski.cpp => MinimizeBrzozowski.cxx} | 0 ...tioning.cpp => MinimizeByPartitioning.cxx} | 0 ...inimizeVerbose.cpp => MinimizeVerbose.cxx} | 0 .../simplify/{Normalize.cpp => Normalize.cxx} | 0 .../simplify/{Rename.cpp => Rename.cxx} | 0 alib2algo/src/automaton/simplify/Simplify.cpp | 14 +++++ ...nitialState.cpp => SingleInitialState.cxx} | 0 .../SingleInitialStateEpsilonTransition.cpp | 55 ------------------- .../SingleInitialStateEpsilonTransition.cxx | 55 +++++++++++++++++++ .../simplify/{Total.cpp => Total.cxx} | 0 .../automaton/simplify/{Trim.cpp => Trim.cxx} | 0 ...mover.cpp => UnreachableStatesRemover.cxx} | 0 ...esRemover.cpp => UselessStatesRemover.cxx} | 0 16 files changed, 69 insertions(+), 55 deletions(-) rename alib2algo/src/automaton/simplify/{EpsilonRemoverIncoming.cpp => EpsilonRemoverIncoming.cxx} (100%) rename alib2algo/src/automaton/simplify/{EpsilonRemoverOutgoing.cpp => EpsilonRemoverOutgoing.cxx} (100%) rename alib2algo/src/automaton/simplify/{Minimize.cpp => Minimize.cxx} (100%) rename alib2algo/src/automaton/simplify/{MinimizeBrzozowski.cpp => MinimizeBrzozowski.cxx} (100%) rename alib2algo/src/automaton/simplify/{MinimizeByPartitioning.cpp => MinimizeByPartitioning.cxx} (100%) rename alib2algo/src/automaton/simplify/{MinimizeVerbose.cpp => MinimizeVerbose.cxx} (100%) rename alib2algo/src/automaton/simplify/{Normalize.cpp => Normalize.cxx} (100%) rename alib2algo/src/automaton/simplify/{Rename.cpp => Rename.cxx} (100%) create mode 100644 alib2algo/src/automaton/simplify/Simplify.cpp rename alib2algo/src/automaton/simplify/{SingleInitialState.cpp => SingleInitialState.cxx} (100%) delete mode 100644 alib2algo/src/automaton/simplify/SingleInitialStateEpsilonTransition.cpp create mode 100644 alib2algo/src/automaton/simplify/SingleInitialStateEpsilonTransition.cxx rename alib2algo/src/automaton/simplify/{Total.cpp => Total.cxx} (100%) rename alib2algo/src/automaton/simplify/{Trim.cpp => Trim.cxx} (100%) rename alib2algo/src/automaton/simplify/{UnreachableStatesRemover.cpp => UnreachableStatesRemover.cxx} (100%) rename alib2algo/src/automaton/simplify/{UselessStatesRemover.cpp => UselessStatesRemover.cxx} (100%) 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 0000000000..a20d1d9223 --- /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 9622d01197..0000000000 --- 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 0000000000..b0168a1513 --- /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 -- GitLab