diff --git a/aconversions/src/aconversion/ConversionHandler.cpp b/aconversions/src/aconversion/ConversionHandler.cpp index 7230d808b12b7ba6b80a32907ed7536b3fb72b5e..dc1a5aed19073b1a489ca1208a10fc8f1d7c3f47 100644 --- a/aconversions/src/aconversion/ConversionHandler.cpp +++ b/aconversions/src/aconversion/ConversionHandler.cpp @@ -83,7 +83,7 @@ void ConversionHandler::convertFSMtoRE( void ) { const FSM fsm = AutomatonFactory::buildFSM( AutomatonParser::parse( m_tokens ) ); - AbstractFAtoREConverter* conv; + IConversionRE* conv; switch( m_algorithm ) { @@ -115,7 +115,7 @@ void ConversionHandler::convertFSMtoRRG( void ) { const FSM fsm = AutomatonFactory::buildFSM( AutomatonParser::parse( m_tokens ) ); - AbstractFAtoRRGConverter* conv; + IConversionRRG* conv; switch( m_algorithm ) { @@ -132,7 +132,7 @@ void ConversionHandler::convertFSMtoLRG( void ) { const FSM fsm = AutomatonFactory::buildFSM( AutomatonParser::parse( m_tokens ) ); - AbstractFAtoLRGConverter* conv; + IConversionLRG* conv; switch( m_algorithm ) { @@ -150,7 +150,7 @@ void ConversionHandler::convertFSMtoLRG( void ) void ConversionHandler::convertREtoFSM( void ) { const RegExp regexp = RegExpParser::parse( m_tokens ); - AbstractREtoFAConverter* conv; + IConversionFSM* conv; switch( m_algorithm ) { @@ -183,7 +183,7 @@ void ConversionHandler::convertREtoRG( void ) void ConversionHandler::convertREtoRRG( void ) { const RegExp regexp = RegExpParser::parse( m_tokens ); - AbstractREtoRRGConverter* conv; + IConversionRRG* conv; switch( m_algorithm ) { @@ -247,7 +247,7 @@ void ConversionHandler::convertLRGtoFSM( void ) { const LeftRegularGrammar lrg = GrammarFactory::buildLeftRegularGrammar( GrammarParser::parse( m_tokens ) ); - AbstractRGtoFAConverter* conv; + IConversionFSM* conv; switch( m_algorithm ) { @@ -264,7 +264,7 @@ void ConversionHandler::convertRRGtoFSM( void ) { const RightRegularGrammar rrg = GrammarFactory::buildRightRegularGrammar( GrammarParser::parse( m_tokens ) ); - AbstractRGtoFAConverter* conv; + IConversionFSM* conv; switch( m_algorithm ) { @@ -281,7 +281,7 @@ void ConversionHandler::convertLRGtoRE( void ) { const LeftRegularGrammar lrg = GrammarFactory::buildLeftRegularGrammar( GrammarParser::parse( m_tokens ) ); - AbstractRGtoREConverter* conv; + IConversionRE* conv; switch( m_algorithm ) { @@ -299,7 +299,7 @@ void ConversionHandler::convertRRGtoRE( void ) { const RightRegularGrammar rrg = GrammarFactory::buildRightRegularGrammar( GrammarParser::parse( m_tokens ) ); - AbstractRGtoREConverter* conv; + IConversionRE* conv; switch( m_algorithm ) { @@ -317,7 +317,7 @@ void ConversionHandler::convertLRGtoRRG( void ) { const LeftRegularGrammar lrg = GrammarFactory::buildLeftRegularGrammar( GrammarParser::parse( m_tokens ) ); - AbstractLRGtoRRGConverter* conv; + IConversionRRG* conv; switch( m_algorithm ) { @@ -334,7 +334,7 @@ void ConversionHandler::convertRRGtoLRG( void ) { const RightRegularGrammar rrg = GrammarFactory::buildRightRegularGrammar( GrammarParser::parse( m_tokens ) ); - AbstractRRGtoLRGConverter* conv; + IConversionLRG* conv; switch( m_algorithm ) { diff --git a/aconversions/src/fa2re/AbstractFAtoREConverter.cpp b/aconversions/src/fa2re/AbstractFAtoREConverter.cpp deleted file mode 100644 index 7d056806ed478f107f6545fbfce21fc07be62cc0..0000000000000000000000000000000000000000 --- a/aconversions/src/fa2re/AbstractFAtoREConverter.cpp +++ /dev/null @@ -1,14 +0,0 @@ -#include "AbstractFAtoREConverter.h" - -using namespace automaton; -using namespace regexp; - -namespace conversions -{ - -AbstractFAtoREConverter::~AbstractFAtoREConverter( void ) -{ - -} - -} /* namespace conversions */ diff --git a/aconversions/src/fa2re/AbstractFAtoREConverter.h b/aconversions/src/fa2re/AbstractFAtoREConverter.h deleted file mode 100644 index dbc23772567d4d046237ae93f6a6af73f07187f2..0000000000000000000000000000000000000000 --- a/aconversions/src/fa2re/AbstractFAtoREConverter.h +++ /dev/null @@ -1,31 +0,0 @@ -#ifndef __ABSTRACTFATORECONVERTER_H__ -#define __ABSTRACTFATORECONVERTER_H__ - -#include <automaton/FSM/FSM.h> -#include <regexp/RegExp.h> -#include <AlibException.h> - -#include "../include/macros.h" -#include "../abstract/Conversion.h" - -namespace conversions -{ - -/** - * Interface for finite automaton to regular expression conversion. - */ -class AbstractFAtoREConverter : public Conversion -{ -public: - /** - * @return regular expression equivalent to source automata. - */ - virtual regexp::RegExp convert( void ) = 0; - - virtual ~AbstractFAtoREConverter( void ); - -}; - -} /* namespace conversions */ - -#endif /* __ABSTRACTFATORECONVERTER_H__ */ diff --git a/aconversions/src/fa2re/BrzozowskiAlgebraic.h b/aconversions/src/fa2re/BrzozowskiAlgebraic.h index dbfee0b4bccb684b19af5ec083b24d2fdda969de..3256ac36aa01bd8f99b6be091288446ab74da054 100644 --- a/aconversions/src/fa2re/BrzozowskiAlgebraic.h +++ b/aconversions/src/fa2re/BrzozowskiAlgebraic.h @@ -13,8 +13,10 @@ #include <queue> #include <regexp/RegExpElements.h> +#include <automaton/FSM/FSM.h> -#include "AbstractFAtoREConverter.h" +#include "../include/macros.h" +#include "../interface/IConversionRE.h" #include "../shared/equations/RightRegularEquationSolver.h" namespace conversions @@ -27,7 +29,7 @@ namespace conversions * Converts FA to RE using Brzozowski's algebraic method using right regular equations. * Source : Melichar 2.122 */ -class BrzozowskiAlgebraic: public AbstractFAtoREConverter +class BrzozowskiAlgebraic: public IConversionRE { public: /** diff --git a/aconversions/src/fa2re/StateElimination.h b/aconversions/src/fa2re/StateElimination.h index 6c02f2eb0bff454242835d2c71122c77d18a0438..95d8b300c562da8fd67510950c416e4d285ae932 100644 --- a/aconversions/src/fa2re/StateElimination.h +++ b/aconversions/src/fa2re/StateElimination.h @@ -14,7 +14,8 @@ #include <regexp/RegExp.h> #include <regexp/RegExpElements.h> -#include "AbstractFAtoREConverter.h" +#include "../interface/IConversionRE.h" +#include "../include/macros.h" #include "RegExpOptimize.h" @@ -25,7 +26,7 @@ namespace conversions * Converts FSM to RE using State Elimination algorithm. * Source: Melichar 2.118 */ -class StateElimination: public AbstractFAtoREConverter +class StateElimination: public IConversionRE { public: /** diff --git a/aconversions/src/fa2rg/AbstractFAtoRGConverter.cpp b/aconversions/src/fa2rg/AbstractFAtoRGConverter.cpp deleted file mode 100644 index 499919b3514cea4feaa8c39ebbca65a76dc20d7f..0000000000000000000000000000000000000000 --- a/aconversions/src/fa2rg/AbstractFAtoRGConverter.cpp +++ /dev/null @@ -1,22 +0,0 @@ -/* - * AbstractFAtoRGConverter.cpp - * - * Created on: 27. 2. 2014 - * Author: tomas - */ - -#include "AbstractFAtoRGConverter.h" - -using namespace alib; -using namespace automaton; -using namespace grammar; - -namespace conversions -{ - -AbstractFAtoRGConverter::~AbstractFAtoRGConverter( void ) -{ - -} - -} /* namespace conversions */ diff --git a/aconversions/src/fa2rg/AbstractFAtoRGConverter.h b/aconversions/src/fa2rg/AbstractFAtoRGConverter.h deleted file mode 100644 index 76af14f1c659cfa4ecf18ee9ed6e7b4191a187bc..0000000000000000000000000000000000000000 --- a/aconversions/src/fa2rg/AbstractFAtoRGConverter.h +++ /dev/null @@ -1,31 +0,0 @@ -/* - * AbstractFAtoRGConverter.h - * - * Created on: 27. 2. 2014 - * Author: tomas - */ - -#ifndef ABSTRACTFATORGCONVERTER_H_ -#define ABSTRACTFATORGCONVERTER_H_ - -#include <automaton/FSM/FSM.h> -#include <grammar/Regular/RegularGrammar.h> -#include <AlibException.h> - -#include "../abstract/Conversion.h" - -namespace conversions -{ - -/** - * Abstract finite automata to regular grammar conversion. - */ -class AbstractFAtoRGConverter : public Conversion -{ -public: - ~AbstractFAtoRGConverter( void ); -}; - -} /* namespace conversions */ - -#endif /* ABSTRACTFATORGCONVERTER_H_ */ diff --git a/aconversions/src/fa2rg/fa2lrg/AbstractFAtoLRGConverter.cpp b/aconversions/src/fa2rg/fa2lrg/AbstractFAtoLRGConverter.cpp deleted file mode 100644 index e6b531f79a1bb867f0489cd192b15acdb01f08be..0000000000000000000000000000000000000000 --- a/aconversions/src/fa2rg/fa2lrg/AbstractFAtoLRGConverter.cpp +++ /dev/null @@ -1,11 +0,0 @@ -#include "AbstractFAtoLRGConverter.h" - -namespace conversions -{ - -AbstractFAtoLRGConverter::~AbstractFAtoLRGConverter( void ) -{ - -} - -} /* namespace conversions */ diff --git a/aconversions/src/fa2rg/fa2lrg/AbstractFAtoLRGConverter.h b/aconversions/src/fa2rg/fa2lrg/AbstractFAtoLRGConverter.h deleted file mode 100644 index 38b61b7a9959079e018120937730975e059d40fc..0000000000000000000000000000000000000000 --- a/aconversions/src/fa2rg/fa2lrg/AbstractFAtoLRGConverter.h +++ /dev/null @@ -1,29 +0,0 @@ -#ifndef __ABSTRACTFATOLRGCONVERTER_H__ -#define __ABSTRACTFATOLRGCONVERTER_H__ - -#include <automaton/FSM/FSM.h> -#include <grammar/Regular/LeftRegularGrammar.h> -#include <AlibException.h> - -#include "../../include/macros.h" -#include "../AbstractFAtoRGConverter.h" - -namespace conversions -{ - -/** - * Abstract finite automata to right regular grammar. - */ -class AbstractFAtoLRGConverter : public AbstractFAtoRGConverter -{ -public: - /** - * @return left regular grammar equivalent to source automata. - */ - virtual grammar::LeftRegularGrammar convert( void ) = 0; - virtual ~AbstractFAtoLRGConverter( void ); -}; - -} /* namespace conversions */ - -#endif /* __ABSTRACTFATOLRGCONVERTER_H__ */ diff --git a/aconversions/src/fa2rg/fa2lrg/FAtoLRGConverter.h b/aconversions/src/fa2rg/fa2lrg/FAtoLRGConverter.h index 4bc20c401d27ff3b1998972e47638daf494d17a5..ad0d456a8c7c707f9ac8b43bdcc426ba8d846cb3 100644 --- a/aconversions/src/fa2rg/fa2lrg/FAtoLRGConverter.h +++ b/aconversions/src/fa2rg/fa2lrg/FAtoLRGConverter.h @@ -5,8 +5,10 @@ #include <grammar/Regular/LeftRegularGrammar.h> #include <automaton/FSM/FSM.h> +#include <AlibException.h> -#include "AbstractFAtoLRGConverter.h" +#include "../../interface/IConversionLRG.h" +#include "../../include/macros.h" namespace conversions { @@ -15,7 +17,7 @@ namespace conversions * Finite automata to right regular grammar converter. * Source: My own :) */ -class FAtoLRGConverter: public AbstractFAtoLRGConverter +class FAtoLRGConverter: public IConversionLRG { public: /** diff --git a/aconversions/src/fa2rg/fa2rrg/AbstractFAtoRRGConverter.cpp b/aconversions/src/fa2rg/fa2rrg/AbstractFAtoRRGConverter.cpp deleted file mode 100644 index 1af46b4f827289835a681c9d5e514b596afc4712..0000000000000000000000000000000000000000 --- a/aconversions/src/fa2rg/fa2rrg/AbstractFAtoRRGConverter.cpp +++ /dev/null @@ -1,11 +0,0 @@ -#include "AbstractFAtoRRGConverter.h" - -namespace conversions -{ - -AbstractFAtoRRGConverter::~AbstractFAtoRRGConverter( void ) -{ - -} - -} /* namespace conversions */ diff --git a/aconversions/src/fa2rg/fa2rrg/AbstractFAtoRRGConverter.h b/aconversions/src/fa2rg/fa2rrg/AbstractFAtoRRGConverter.h deleted file mode 100644 index 6df8f25e871256a83eb74a433bb413bee8dd514c..0000000000000000000000000000000000000000 --- a/aconversions/src/fa2rg/fa2rrg/AbstractFAtoRRGConverter.h +++ /dev/null @@ -1,30 +0,0 @@ -#ifndef __ABSTRACTFATORRGCONVERTER_H__ -#define __ABSTRACTFATORRGCONVERTER_H__ - -#include <automaton/FSM/FSM.h> -#include <grammar/Regular/RightRegularGrammar.h> -#include <AlibException.h> - -#include "../../include/macros.h" -#include "../AbstractFAtoRGConverter.h" - -namespace conversions -{ - -/** - * Abstract finite automata to right regular grammar. - */ -class AbstractFAtoRRGConverter : public AbstractFAtoRGConverter -{ -public: - /** - * @return right regular grammar equivalent to source automata. - */ - virtual grammar::RightRegularGrammar convert( void ) = 0; - - virtual ~AbstractFAtoRRGConverter( void ); -}; - -} /* namespace conversions */ - -#endif /* __ABSTRACTFATORRGCONVERTER_H__ */ diff --git a/aconversions/src/fa2rg/fa2rrg/FAtoRRGConverter.h b/aconversions/src/fa2rg/fa2rrg/FAtoRRGConverter.h index dc759f8488bd845c84c0fc393601aed6f34a617d..2a23de835e35079ceade9ea2911b356406353400 100644 --- a/aconversions/src/fa2rg/fa2rrg/FAtoRRGConverter.h +++ b/aconversions/src/fa2rg/fa2rrg/FAtoRRGConverter.h @@ -5,8 +5,10 @@ #include <grammar/Regular/RightRegularGrammar.h> #include <automaton/FSM/FSM.h> +#include <AlibException.h> -#include "AbstractFAtoRRGConverter.h" +#include "../../interface/IConversionRRG.h" +#include "../../include/macros.h" namespace conversions { @@ -15,7 +17,7 @@ namespace conversions * Finite automata to right regular grammar converter. * Source: Melichar 2.104 */ -class FAtoRRGConverter : public AbstractFAtoRRGConverter +class FAtoRRGConverter : public IConversionRRG { public: /** diff --git a/aconversions/src/abstract/Conversion.cpp b/aconversions/src/interface/Conversion.cpp similarity index 100% rename from aconversions/src/abstract/Conversion.cpp rename to aconversions/src/interface/Conversion.cpp diff --git a/aconversions/src/abstract/Conversion.h b/aconversions/src/interface/Conversion.h similarity index 100% rename from aconversions/src/abstract/Conversion.h rename to aconversions/src/interface/Conversion.h diff --git a/aconversions/src/interface/IConversionFSM.cpp b/aconversions/src/interface/IConversionFSM.cpp new file mode 100644 index 0000000000000000000000000000000000000000..261d6827327e181201f014ffddaaaba708f9ec6d --- /dev/null +++ b/aconversions/src/interface/IConversionFSM.cpp @@ -0,0 +1,18 @@ +/* + * IConversionFSM.cpp + * + * Created on: 19. 4. 2014 + * Author: tomas + */ + +#include "IConversionFSM.h" + +namespace conversions +{ + +IConversionFSM::~IConversionFSM( void ) +{ + +} + +} /* namespace conversions */ diff --git a/aconversions/src/interface/IConversionFSM.h b/aconversions/src/interface/IConversionFSM.h new file mode 100644 index 0000000000000000000000000000000000000000..62ac23c4046530c45ded7dfab67121d761fc79bc --- /dev/null +++ b/aconversions/src/interface/IConversionFSM.h @@ -0,0 +1,35 @@ +/* + * IConversionFSM.h + * + * Created on: 19. 4. 2014 + * Author: tomas + */ + +#ifndef __ICONVERSIONFSM_H__ +#define __ICONVERSIONFSM_H__ + +#include "Conversion.h" + +#include <automaton/FSM/FSM.h> + +namespace conversions +{ + +/** + * Interface for conversion to finite automaton. + */ +class IConversionFSM : public Conversion +{ +public: + /** + * @return fsm equivalent to input. + */ + virtual automaton::FSM convert( void ) = 0; + + virtual ~IConversionFSM( void ); + +}; + +} /* namespace conversions */ + +#endif /* __ICONVERSIONFSM_H__ */ diff --git a/aconversions/src/interface/IConversionLRG.cpp b/aconversions/src/interface/IConversionLRG.cpp new file mode 100644 index 0000000000000000000000000000000000000000..47f03aec8887c3661a28c6e0a0af05d0d45bbf16 --- /dev/null +++ b/aconversions/src/interface/IConversionLRG.cpp @@ -0,0 +1,18 @@ +/* + * IConversionLRG.cpp + * + * Created on: 19. 4. 2014 + * Author: tomas + */ + +#include "IConversionLRG.h" + +namespace conversions +{ + +IConversionLRG::~IConversionLRG( void ) +{ + +} + +} /* namespace conversions */ diff --git a/aconversions/src/interface/IConversionLRG.h b/aconversions/src/interface/IConversionLRG.h new file mode 100644 index 0000000000000000000000000000000000000000..f3e56bbe87f86d92833c9d5f2f8c17cfcb8c764e --- /dev/null +++ b/aconversions/src/interface/IConversionLRG.h @@ -0,0 +1,35 @@ +/* + * IConversionLRG.h + * + * Created on: 19. 4. 2014 + * Author: tomas + */ + +#ifndef __ICONVERSIONLRG_H__ +#define __ICONVERSIONLRG_H__ + +#include "Conversion.h" + +#include <grammar/Regular/LeftRegularGrammar.h> + +namespace conversions +{ + +/** + * Interface for conversion to left regular grammar. + */ +class IConversionLRG : public Conversion +{ +public: + /** + * @return rrg equivalent to input. + */ + virtual grammar::LeftRegularGrammar convert( void ) = 0; + + virtual ~IConversionLRG( void ); + +}; + +} /* namespace conversions */ + +#endif /* __ICONVERSIONLRG_H__ */ diff --git a/aconversions/src/interface/IConversionRE.cpp b/aconversions/src/interface/IConversionRE.cpp new file mode 100644 index 0000000000000000000000000000000000000000..03c3c4c1ec2de89ad9b07c8294a712f5a099602d --- /dev/null +++ b/aconversions/src/interface/IConversionRE.cpp @@ -0,0 +1,18 @@ +/* + * IConversionRE.cpp + * + * Created on: 19. 4. 2014 + * Author: tomas + */ + +#include "IConversionRE.h" + +namespace conversions +{ + +IConversionRE::~IConversionRE( void ) +{ + +} + +} /* namespace conversions */ diff --git a/aconversions/src/interface/IConversionRE.h b/aconversions/src/interface/IConversionRE.h new file mode 100644 index 0000000000000000000000000000000000000000..70658fa3f5a83b982290a405584b7d0f8ce85cb6 --- /dev/null +++ b/aconversions/src/interface/IConversionRE.h @@ -0,0 +1,35 @@ +/* + * IConversionRE.h + * + * Created on: 19. 4. 2014 + * Author: tomas + */ + +#ifndef __ICONVERSIONRE_H__ +#define __ICONVERSIONRE_H__ + +#include "Conversion.h" + +#include <regexp/RegExp.h> + +namespace conversions +{ + +/** + * Interface for conversion to regexp. + */ +class IConversionRE : public Conversion +{ +public: + /** + * @return regexp equivalent to input. + */ + virtual regexp::RegExp convert( void ) = 0; + + virtual ~IConversionRE( void ); + +}; + +} /* namespace conversions */ + +#endif /* __ICONVERSIONRE_H__ */ diff --git a/aconversions/src/interface/IConversionRRG.cpp b/aconversions/src/interface/IConversionRRG.cpp new file mode 100644 index 0000000000000000000000000000000000000000..b358409101151b2a696b0084aab822bd018d47d5 --- /dev/null +++ b/aconversions/src/interface/IConversionRRG.cpp @@ -0,0 +1,18 @@ +/* + * IConversionRRG.cpp + * + * Created on: 19. 4. 2014 + * Author: tomas + */ + +#include "IConversionRRG.h" + +namespace conversions +{ + +IConversionRRG::~IConversionRRG( void ) +{ + +} + +} /* namespace conversions */ diff --git a/aconversions/src/interface/IConversionRRG.h b/aconversions/src/interface/IConversionRRG.h new file mode 100644 index 0000000000000000000000000000000000000000..40a5382747979938b1886c75ae9cd8f0648c2f5f --- /dev/null +++ b/aconversions/src/interface/IConversionRRG.h @@ -0,0 +1,35 @@ +/* + * IConversionRRG.h + * + * Created on: 19. 4. 2014 + * Author: tomas + */ + +#ifndef __ICONVERSIONRRG_H__ +#define __ICONVERSIONRRG_H__ + +#include "Conversion.h" + +#include <grammar/Regular/RightRegularGrammar.h> + +namespace conversions +{ + +/** + * Interface for conversion to right regular grammar. + */ +class IConversionRRG : public Conversion +{ +public: + /** + * @return rrg equivalent to input. + */ + virtual grammar::RightRegularGrammar convert( void ) = 0; + + virtual ~IConversionRRG( void ); + +}; + +} /* namespace conversions */ + +#endif /* __ICONVERSIONRRG_H__ */ diff --git a/aconversions/src/re2fa/AbstractREtoFAConverter.cpp b/aconversions/src/re2fa/AbstractREtoFAConverter.cpp deleted file mode 100644 index c99bff419f1f15c9bf9fa6990f2f4790479a4ed7..0000000000000000000000000000000000000000 --- a/aconversions/src/re2fa/AbstractREtoFAConverter.cpp +++ /dev/null @@ -1,13 +0,0 @@ -#include "AbstractREtoFAConverter.h" - -using namespace regexp; - -namespace conversions -{ - -AbstractREtoFAConverter::~AbstractREtoFAConverter(void) -{ - -} - -} /* namespace conversions */ diff --git a/aconversions/src/re2fa/AbstractREtoFAConverter.h b/aconversions/src/re2fa/AbstractREtoFAConverter.h deleted file mode 100644 index cfea00444534e3bd8ffe398cfd3e901543b6629a..0000000000000000000000000000000000000000 --- a/aconversions/src/re2fa/AbstractREtoFAConverter.h +++ /dev/null @@ -1,31 +0,0 @@ -#ifndef __ABSTRACTRETOFACONVERTER_H__ -#define __ABSTRACTRETOFACONVERTER_H__ - -#include <regexp/RegExp.h> -#include <automaton/FSM/FSM.h> - -#include <AlibException.h> - -#include "../include/macros.h" -#include "../abstract/Conversion.h" - -namespace conversions -{ - -/** - * Interface for regular expression to finite automata conversion. - */ -class AbstractREtoFAConverter : public Conversion -{ -public: - /** - * @return FSM equivalent to original regular expression. - */ - virtual automaton::FSM convert( void ) = 0; - - virtual ~AbstractREtoFAConverter( void ); -}; - -} /* namespace conversions */ - -#endif /* __ABSTRACTRETOFACONVERTER_H__ */ diff --git a/aconversions/src/re2fa/Brzozowski.h b/aconversions/src/re2fa/Brzozowski.h index e145355cd7752cacf7f5c938859978aca7943fd2..c2264b88a516f8f09e02b8d5a7205e1b41dab2c4 100644 --- a/aconversions/src/re2fa/Brzozowski.h +++ b/aconversions/src/re2fa/Brzozowski.h @@ -16,8 +16,9 @@ #include <automaton/State.h> #include <AlibException.h> -#include "AbstractREtoFAConverter.h" +#include "../interface/IConversionFSM.h" #include "../shared/Hexavigesimal.h" +#include "../include/macros.h" #include "RegExpDerivation.h" #include "RegExpOptimize.h" @@ -29,7 +30,7 @@ namespace conversions * Converts regular expression to finite automata using Brzozowski algorithm (derivations of regular expressions). * Source: Melichar 2.110 */ -class Brzozowski : public AbstractREtoFAConverter +class Brzozowski : public IConversionFSM { public: /** diff --git a/aconversions/src/re2fa/Glushkov.h b/aconversions/src/re2fa/Glushkov.h index 59faa884b443e8f6fe7e078025fb464fd6af53bc..b6fa54e939695b8bb4b5ddd026d7faf101360737 100644 --- a/aconversions/src/re2fa/Glushkov.h +++ b/aconversions/src/re2fa/Glushkov.h @@ -15,7 +15,7 @@ #include <regexp/RegExp.h> #include <regexp/RegExpElements.h> -#include "AbstractREtoFAConverter.h" +#include "../interface/IConversionFSM.h" #include "../shared/glushkov/GlushkovTraversal.h" namespace conversions @@ -25,7 +25,7 @@ namespace conversions * Converts regular expression to finite automata using Glushkov's NFA construction algorithm. * Source: Melichar 2.107 */ -class Glushkov : public AbstractREtoFAConverter +class Glushkov : public IConversionFSM { public: /** diff --git a/aconversions/src/re2fa/Thompson.h b/aconversions/src/re2fa/Thompson.h index 3e1455415fb29c7821431ad9cac3d6477d2cd08c..d4633afe2c4071e47900a3e596875512dbf86ced 100644 --- a/aconversions/src/re2fa/Thompson.h +++ b/aconversions/src/re2fa/Thompson.h @@ -11,11 +11,14 @@ #include <set> #include <vector> +#include <AlibException.h> #include <automaton/FSM/FSM.h> #include <regexp/RegExp.h> #include <regexp/RegExpElements.h> -#include "AbstractREtoFAConverter.h" +#include "../interface/IConversionFSM.h" +#include "../include/macros.h" + namespace conversions { @@ -28,7 +31,7 @@ namespace conversions * http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.21.7450&rep=rep1&type=ps * Melichar 2.112 */ -class Thompson : public AbstractREtoFAConverter +class Thompson : public IConversionFSM { public: /** diff --git a/aconversions/src/re2rg/AbstractREtoRGConverter.cpp b/aconversions/src/re2rg/AbstractREtoRGConverter.cpp deleted file mode 100644 index 1d5cff0f8306d5ce4fdfe35eefb51a3b1b22baba..0000000000000000000000000000000000000000 --- a/aconversions/src/re2rg/AbstractREtoRGConverter.cpp +++ /dev/null @@ -1,20 +0,0 @@ -/* - * AbstractREtoRGConverter.cpp - * - * Created on: 5. 3. 2014 - * Author: tomas - */ - -#include "AbstractREtoRGConverter.h" - -using namespace regexp; - -namespace conversions -{ - -AbstractREtoRGConverter::~AbstractREtoRGConverter( void ) -{ - -} - -} /* namespace conversions */ diff --git a/aconversions/src/re2rg/AbstractREtoRGConverter.h b/aconversions/src/re2rg/AbstractREtoRGConverter.h deleted file mode 100644 index b18bb971529db20a4ee93ced03f202e28e65cc42..0000000000000000000000000000000000000000 --- a/aconversions/src/re2rg/AbstractREtoRGConverter.h +++ /dev/null @@ -1,30 +0,0 @@ -/* - * AbstractREtoRGConverter.h - * - * Created on: 5. 3. 2014 - * Author: tomas - */ - -#ifndef ABSTRACTRETORGCONVERTER_H_ -#define ABSTRACTRETORGCONVERTER_H_ - -#include <regexp/RegExp.h> - -#include "../include/macros.h" -#include "../abstract/Conversion.h" - -namespace conversions -{ - -/** - * Interface for regular expression to regular grammar conversion. - */ -class AbstractREtoRGConverter : public Conversion -{ -public: - virtual ~AbstractREtoRGConverter( void ); -}; - -} /* namespace conversions */ - -#endif /* ABSTRACTRETORGCONVERTER_H_ */ diff --git a/aconversions/src/re2rg/re2rrg/AbstractREtoRRGConverter.cpp b/aconversions/src/re2rg/re2rrg/AbstractREtoRRGConverter.cpp deleted file mode 100644 index 2012a5a800e24b028b0995e3e813f62c46ad6108..0000000000000000000000000000000000000000 --- a/aconversions/src/re2rg/re2rrg/AbstractREtoRRGConverter.cpp +++ /dev/null @@ -1,20 +0,0 @@ -/* - * AbstractREtoRRGConverter.cpp - * - * Created on: 5. 3. 2014 - * Author: tomas - */ - -#include "AbstractREtoRRGConverter.h" - -using namespace regexp; - -namespace conversions -{ - -AbstractREtoRRGConverter::~AbstractREtoRRGConverter( void ) -{ - -} - -} /* namespace conversions */ diff --git a/aconversions/src/re2rg/re2rrg/AbstractREtoRRGConverter.h b/aconversions/src/re2rg/re2rrg/AbstractREtoRRGConverter.h deleted file mode 100644 index 36cd9224f2ff24b940f21b4b68d4c656263e7148..0000000000000000000000000000000000000000 --- a/aconversions/src/re2rg/re2rrg/AbstractREtoRRGConverter.h +++ /dev/null @@ -1,36 +0,0 @@ -/* - * AbstractREtoRRGConverter.h - * - * Created on: 5. 3. 2014 - * Author: tomas - */ - -#ifndef ABSTRACTRETORRGCONVERTER_H_ -#define ABSTRACTRETORRGCONVERTER_H_ - -#include <regexp/RegExp.h> -#include <grammar/Regular/RightRegularGrammar.h> - -#include "../../include/macros.h" -#include "../AbstractREtoRGConverter.h" - -namespace conversions -{ - -/** - * Interface for regular epxression to right regular grammar conversion. - */ -class AbstractREtoRRGConverter: public AbstractREtoRGConverter -{ -public: - virtual ~AbstractREtoRRGConverter( void ); - - /** - * @return right regular grammar equivalent to source regexp. - */ - virtual grammar::RightRegularGrammar convert( void ) = 0; -}; - -} /* namespace conversions */ - -#endif /* ABSTRACTRETORRGCONVERTER_H_ */ diff --git a/aconversions/src/re2rg/re2rrg/BrzozowskiDerivationRRG.h b/aconversions/src/re2rg/re2rrg/BrzozowskiDerivationRRG.h index 83f1218b682da0e8f1322227f016d633b2ecc206..28be812b35c18084055e8f06ea8378f05359b312 100644 --- a/aconversions/src/re2rg/re2rrg/BrzozowskiDerivationRRG.h +++ b/aconversions/src/re2rg/re2rrg/BrzozowskiDerivationRRG.h @@ -16,7 +16,8 @@ #include <grammar/Regular/RightRegularGrammar.h> #include <regexp/RegExp.h> -#include "AbstractREtoRRGConverter.h" +#include "../../include/macros.h" +#include "../../interface/IConversionRRG.h" #include "../../shared/Hexavigesimal.h" #include "RegExpOptimize.h" @@ -29,7 +30,7 @@ namespace conversions * Converts reg. expression to right regular grammar using brzozowski derivation algorithm. * Source: Melichar 2.137 */ -class BrzozowskiDerivationRRG : public AbstractREtoRRGConverter +class BrzozowskiDerivationRRG : public IConversionRRG { public: /** diff --git a/aconversions/src/re2rg/re2rrg/GlushkovRRG.h b/aconversions/src/re2rg/re2rrg/GlushkovRRG.h index e7e10807c74f656cadd1900621bb58e881628eff..fa9b74747070e8bcb1dcd228f3616f8f947590f9 100644 --- a/aconversions/src/re2rg/re2rrg/GlushkovRRG.h +++ b/aconversions/src/re2rg/re2rrg/GlushkovRRG.h @@ -13,8 +13,8 @@ #include <grammar/Regular/RightRegularGrammar.h> #include <regexp/RegExp.h> +#include "../../interface/IConversionRRG.h" #include "../../shared/glushkov/GlushkovTraversal.h" -#include "AbstractREtoRRGConverter.h" namespace conversions { @@ -23,7 +23,7 @@ namespace conversions * Converts regular expression to right regular grammar using Glushkov algorithm. * Source: None yet. */ -class GlushkovRRG : public AbstractREtoRRGConverter +class GlushkovRRG : public IConversionRRG { public: /** diff --git a/aconversions/src/rg2fa/AbstractRGtoFAConverter.cpp b/aconversions/src/rg2fa/AbstractRGtoFAConverter.cpp deleted file mode 100644 index 4dce814a342ef1021e90f96dd1d87122f9e2d86e..0000000000000000000000000000000000000000 --- a/aconversions/src/rg2fa/AbstractRGtoFAConverter.cpp +++ /dev/null @@ -1,11 +0,0 @@ -#include "AbstractRGtoFAConverter.h" - -namespace conversions -{ - -AbstractRGtoFAConverter::~AbstractRGtoFAConverter( void ) -{ - -} - -} /* namespace conversions */ diff --git a/aconversions/src/rg2fa/AbstractRGtoFAConverter.h b/aconversions/src/rg2fa/AbstractRGtoFAConverter.h deleted file mode 100644 index 6a93df1afdaf16ff4d6edfdb0487f2e4468dafe9..0000000000000000000000000000000000000000 --- a/aconversions/src/rg2fa/AbstractRGtoFAConverter.h +++ /dev/null @@ -1,28 +0,0 @@ -#ifndef __ABSTRACTRGTOFACONVERTER_H__ -#define __ABSTRACTRGTOFACONVERTER_H__ - -#include <automaton/FSM/FSM.h> -#include <AlibException.h> - -#include "../include/macros.h" -#include "../abstract/Conversion.h" - -namespace conversions -{ - -/** - * Interface for regular grammar to finite automaton conversion. - */ -class AbstractRGtoFAConverter : public Conversion -{ -public: - /** - * @return FSM equivalent to source grammar. - */ - virtual automaton::FSM convert( void ) = 0; - virtual ~AbstractRGtoFAConverter( void ); -}; - -} /* namespace conversions */ - -#endif /* __ABSTRACTRGTOFACONVERTER_H__ */ diff --git a/aconversions/src/rg2fa/lrg2fa/LRGtoFAConverter.h b/aconversions/src/rg2fa/lrg2fa/LRGtoFAConverter.h index 19f42c89051b7bcf74b30ab2d9a26cd7c7213c01..e468dd82e6ccd97c6550113153455163ae7fa8b1 100644 --- a/aconversions/src/rg2fa/lrg2fa/LRGtoFAConverter.h +++ b/aconversions/src/rg2fa/lrg2fa/LRGtoFAConverter.h @@ -4,7 +4,7 @@ #include <grammar/Regular/LeftRegularGrammar.h> #include <automaton/FSM/FSM.h> -#include "../AbstractRGtoFAConverter.h" +#include "../../interface/IConversionFSM.h" namespace conversions { @@ -13,7 +13,7 @@ namespace conversions * Converts left regular grammar to finite automata. * Source: Melichar 2.102. */ -class LRGtoFAConverter : public AbstractRGtoFAConverter +class LRGtoFAConverter : public IConversionFSM { public: /** diff --git a/aconversions/src/rg2fa/rrg2fa/RRGtoFAConverter.h b/aconversions/src/rg2fa/rrg2fa/RRGtoFAConverter.h index 854790c7616c43ec0d081f3f70fdaf20021fecc6..c18a0d398fbfdeb129de28d5cee1c0aa8de53fad 100644 --- a/aconversions/src/rg2fa/rrg2fa/RRGtoFAConverter.h +++ b/aconversions/src/rg2fa/rrg2fa/RRGtoFAConverter.h @@ -4,7 +4,7 @@ #include <grammar/Regular/RightRegularGrammar.h> #include <automaton/FSM/FSM.h> -#include "../AbstractRGtoFAConverter.h" +#include "../../interface/IConversionFSM.h" namespace conversions { @@ -13,7 +13,7 @@ namespace conversions * Converts left regular grammar to finite automata. * Source: Melichar 2.98 */ -class RRGtoFAConverter : public AbstractRGtoFAConverter +class RRGtoFAConverter : public IConversionFSM { public: /** diff --git a/aconversions/src/rg2re/AbstractRGtoREConverter.cpp b/aconversions/src/rg2re/AbstractRGtoREConverter.cpp deleted file mode 100644 index d6df0214fab43672f8fd91193ca6a9159e058c53..0000000000000000000000000000000000000000 --- a/aconversions/src/rg2re/AbstractRGtoREConverter.cpp +++ /dev/null @@ -1,18 +0,0 @@ -/* - * AbstractRGtoREConverter.cpp - * - * Created on: 4. 3. 2014 - * Author: tomas - */ - -#include "AbstractRGtoREConverter.h" - -namespace conversions -{ - -AbstractRGtoREConverter::~AbstractRGtoREConverter( void ) -{ - -} - -} /* namespace conversions */ diff --git a/aconversions/src/rg2re/AbstractRGtoREConverter.h b/aconversions/src/rg2re/AbstractRGtoREConverter.h deleted file mode 100644 index bfc2ea1310db6a99338500016cec453a30bea525..0000000000000000000000000000000000000000 --- a/aconversions/src/rg2re/AbstractRGtoREConverter.h +++ /dev/null @@ -1,34 +0,0 @@ -/* - * AbstractRGtoREConverter.h - * - * Created on: 4. 3. 2014 - * Author: tomas - */ - -#ifndef ABSTRACTRGTORECONVERTER_H_ -#define ABSTRACTRGTORECONVERTER_H_ - -#include <regexp/RegExp.h> - -#include "../abstract/Conversion.h" - -namespace conversions -{ - -/** - * Interface for regular grammar to regular expression conversion. - */ -class AbstractRGtoREConverter : public Conversion -{ -public: - /** - * @return regexp equivalent to source regular grammar. - */ - virtual regexp::RegExp convert( void ) = 0; - - virtual ~AbstractRGtoREConverter( void ); -}; - -} /* namespace conversions */ - -#endif /* ABSTRACTRGTORECONVERTER_H_ */ diff --git a/aconversions/src/rg2re/lrg2re/LRGAlgebraic.h b/aconversions/src/rg2re/lrg2re/LRGAlgebraic.h index 53e06251518a6288303f11b5c1d94968de639537..dcd36c4425ecf42eeb0efe6ac85540c10fe7edc1 100644 --- a/aconversions/src/rg2re/lrg2re/LRGAlgebraic.h +++ b/aconversions/src/rg2re/lrg2re/LRGAlgebraic.h @@ -12,12 +12,12 @@ #include <regexp/RegExp.h> #include "../../shared/equations/LeftRegularEquationSolver.h" -#include "../AbstractRGtoREConverter.h" +#include "../../interface/IConversionRE.h" namespace conversions { -class LRGAlgebraic: public AbstractRGtoREConverter +class LRGAlgebraic: public IConversionRE { public: /** diff --git a/aconversions/src/rg2re/rrg2re/RRGAlgebraic.h b/aconversions/src/rg2re/rrg2re/RRGAlgebraic.h index cb40fea3e417dea00c95b9bb323d266f37f78dd7..3b6f663a468bf739628472ca84ea5e4ac07fcfaa 100644 --- a/aconversions/src/rg2re/rrg2re/RRGAlgebraic.h +++ b/aconversions/src/rg2re/rrg2re/RRGAlgebraic.h @@ -12,12 +12,12 @@ #include <regexp/RegExp.h> #include "../../shared/equations/RightRegularEquationSolver.h" -#include "../AbstractRGtoREConverter.h" +#include "../../interface/IConversionRE.h" namespace conversions { -class RRGAlgebraic: public AbstractRGtoREConverter +class RRGAlgebraic: public IConversionRE { public: /** diff --git a/aconversions/src/rg2rg/lrg2rrg/AbstractLRGtoRRGConverter.cpp b/aconversions/src/rg2rg/lrg2rrg/AbstractLRGtoRRGConverter.cpp deleted file mode 100644 index 212a0b1e22adbbdcc353890ea2861aae6f321975..0000000000000000000000000000000000000000 --- a/aconversions/src/rg2rg/lrg2rrg/AbstractLRGtoRRGConverter.cpp +++ /dev/null @@ -1,20 +0,0 @@ -/* - * AbstractLRGtoRRGConverter.cpp - * - * Created on: 8. 3. 2014 - * Author: tomas - */ - -#include "AbstractLRGtoRRGConverter.h" - -using namespace grammar; - -namespace conversions -{ - -AbstractLRGtoRRGConverter::~AbstractLRGtoRRGConverter( void ) -{ - -} - -} /* namespace conversions */ diff --git a/aconversions/src/rg2rg/lrg2rrg/AbstractLRGtoRRGConverter.h b/aconversions/src/rg2rg/lrg2rrg/AbstractLRGtoRRGConverter.h deleted file mode 100644 index bcbbe93676bb5f6f1342bf7f423f9aebf401fbe6..0000000000000000000000000000000000000000 --- a/aconversions/src/rg2rg/lrg2rrg/AbstractLRGtoRRGConverter.h +++ /dev/null @@ -1,35 +0,0 @@ -/* - * AbstractLRGtoRRGConverter.h - * - * Created on: 8. 3. 2014 - * Author: tomas - */ - -#ifndef ABSTRACTLRGTORRGCONVERTER_H_ -#define ABSTRACTLRGTORRGCONVERTER_H_ - -#include <grammar/Regular/LeftRegularGrammar.h> -#include <grammar/Regular/RightRegularGrammar.h> - -#include "../../abstract/Conversion.h" - -namespace conversions -{ - -/** - * Abstract left regular grammar to right regular grammar converter. - */ -class AbstractLRGtoRRGConverter : public Conversion -{ -public: - virtual ~AbstractLRGtoRRGConverter( void ); - - /** - * @return right regular grammar which is equivalent to source left regular grammar. - */ - virtual grammar::RightRegularGrammar convert( void ) = 0; -}; - -} /* namespace conversions */ - -#endif /* ABSTRACTLRGTORRGCONVERTER_H_ */ diff --git a/aconversions/src/rg2rg/lrg2rrg/LeftToRightRegularGrammar.h b/aconversions/src/rg2rg/lrg2rrg/LeftToRightRegularGrammar.h index 8e65008481d9592e865e93c4370acb051fb792bf..0ba1f9f0ec7bd4c706c8a7b227f9fcb42a8e2bd7 100644 --- a/aconversions/src/rg2rg/lrg2rrg/LeftToRightRegularGrammar.h +++ b/aconversions/src/rg2rg/lrg2rrg/LeftToRightRegularGrammar.h @@ -8,12 +8,15 @@ #ifndef LEFTTORIGHTREGULARGRAMMAR_H_ #define LEFTTORIGHTREGULARGRAMMAR_H_ -#include "AbstractLRGtoRRGConverter.h" +#include <grammar/Regular/LeftRegularGrammar.h> +#include <grammar/Regular/RightRegularGrammar.h> + +#include "../../interface/IConversionRRG.h" namespace conversions { -class LeftToRightRegularGrammar: public AbstractLRGtoRRGConverter +class LeftToRightRegularGrammar: public IConversionRRG { public: /** diff --git a/aconversions/src/rg2rg/rrg2lrg/AbstractRRGtoLRGConverter.cpp b/aconversions/src/rg2rg/rrg2lrg/AbstractRRGtoLRGConverter.cpp deleted file mode 100644 index c904f0c912e98c0a94364eae0a9f74e2720f63da..0000000000000000000000000000000000000000 --- a/aconversions/src/rg2rg/rrg2lrg/AbstractRRGtoLRGConverter.cpp +++ /dev/null @@ -1,20 +0,0 @@ -/* - * AbstractRRGtoLRGConverter.cpp - * - * Created on: 8. 3. 2014 - * Author: tomas - */ - -#include "AbstractRRGtoLRGConverter.h" - -using namespace grammar; - -namespace conversions -{ - -AbstractRRGtoLRGConverter::~AbstractRRGtoLRGConverter( void ) -{ - -} - -} /* namespace conversions */ diff --git a/aconversions/src/rg2rg/rrg2lrg/AbstractRRGtoLRGConverter.h b/aconversions/src/rg2rg/rrg2lrg/AbstractRRGtoLRGConverter.h deleted file mode 100644 index ce556b30869e2a1fd722aac7eb5f581e16e4c58d..0000000000000000000000000000000000000000 --- a/aconversions/src/rg2rg/rrg2lrg/AbstractRRGtoLRGConverter.h +++ /dev/null @@ -1,35 +0,0 @@ -/* - * AbstractRRGtoLRGConverter.h - * - * Created on: 8. 3. 2014 - * Author: tomas - */ - -#ifndef ABSTRACTRRGTOLRGCONVERTER_H_ -#define ABSTRACTRRGTOLRGCONVERTER_H_ - -#include "../../abstract/Conversion.h" - -#include <grammar/Regular/LeftRegularGrammar.h> -#include <grammar/Regular/RightRegularGrammar.h> - -namespace conversions -{ - -/** - * Abstract right regular grammar to left regular grammar converter. - */ -class AbstractRRGtoLRGConverter: public Conversion -{ -public: - virtual ~AbstractRRGtoLRGConverter( void ); - - /** - * @return left regular grammar which is equivalent to source right regular grammar. - */ - virtual grammar::LeftRegularGrammar convert( void ) = 0; -}; - -} /* namespace conversions */ - -#endif /* ABSTRACTRRGTOLRGCONVERTER_H_ */ diff --git a/aconversions/src/rg2rg/rrg2lrg/RightToLeftRegularGrammar.h b/aconversions/src/rg2rg/rrg2lrg/RightToLeftRegularGrammar.h index 23a94c318b7df7d95e884c6d327ce67b49e866a9..12ba44eff4a2f13603aeb45012d6423b0577eb7e 100644 --- a/aconversions/src/rg2rg/rrg2lrg/RightToLeftRegularGrammar.h +++ b/aconversions/src/rg2rg/rrg2lrg/RightToLeftRegularGrammar.h @@ -8,7 +8,10 @@ #ifndef RIGHTTOLEFTREGULARGRAMMAR_H_ #define RIGHTTOLEFTREGULARGRAMMAR_H_ -#include "AbstractRRGtoLRGConverter.h" +#include <grammar/Regular/LeftRegularGrammar.h> +#include <grammar/Regular/RightRegularGrammar.h> + +#include "../../interface/IConversionLRG.h" namespace conversions { @@ -16,7 +19,7 @@ namespace conversions /** * Converts right regular grammar to left regular grammar. */ -class RightToLeftRegularGrammar: public AbstractRRGtoLRGConverter +class RightToLeftRegularGrammar: public IConversionLRG { public: /**