Skip to content
Snippets Groups Projects
Commit d9e084e8 authored by Jan Trávníček's avatar Jan Trávníček
Browse files

user documentation of automaton conversions

parent 37530b95
No related branches found
No related tags found
1 merge request!55Dev
...@@ -12,8 +12,17 @@ namespace automaton { ...@@ -12,8 +12,17 @@ namespace automaton {
   
namespace convert { namespace convert {
   
auto ToGrammarNFA = registration::AbstractRegister < ToGrammar, grammar::RightRG < >, const automaton::NFA < > & > ( ToGrammar::convert ); auto ToGrammarNFA = registration::AbstractRegister < ToGrammar, grammar::RightRG < >, const automaton::NFA < > & > ( ToGrammar::convert, "automaton" ).setDocumentation (
auto ToGrammarDFA = registration::AbstractRegister < ToGrammar, grammar::RightRG < >, const automaton::DFA < > & > ( ToGrammar::convert ); "Performs the conversion (@sa ToGrammarRightRG)\n\
\n\
@param automaton the automaton to convert\n\
@return right regular grammar equivalent to the input @p automaton" );
auto ToGrammarDFA = registration::AbstractRegister < ToGrammar, grammar::RightRG < >, const automaton::DFA < > & > ( ToGrammar::convert, "automaton" ).setDocumentation (
"Performs the conversion (@sa ToGrammarRightRG)\n\
\n\
@param automaton the automaton to convert\n\
@return right regular grammar equivalent to the input @p automaton" );
   
} /* namespace convert */ } /* namespace convert */
   
......
...@@ -42,16 +42,19 @@ class ToGrammar { ...@@ -42,16 +42,19 @@ class ToGrammar {
public: public:
/** /**
* Performs the conversion (@sa ToGrammarRightRG::convert). * Performs the conversion (@sa ToGrammarRightRG::convert).
* @tparam SymbolType Type for symbols. *
* @tparam StateType Type for states. * \tparam SymbolType Type for symbols.
* @param automaton the automaton to convert * \tparam StateType Type for states.
* @return right regular grammar equivalent to the input @p automaton *
* \param automaton the automaton to convert
*
* \return right regular grammar equivalent to the input @p automaton
*/ */
template < class SymbolType, class StateType > template < class SymbolType, class StateType >
static grammar::RightRG < SymbolType, StateType > convert(const automaton::NFA < SymbolType, StateType > & automaton); static grammar::RightRG < SymbolType, StateType > convert(const automaton::NFA < SymbolType, StateType > & automaton);
   
/** /**
* @overload * \overload
*/ */
template < class SymbolType, class StateType > template < class SymbolType, class StateType >
static grammar::RightRG < SymbolType, StateType > convert(const automaton::DFA < SymbolType, StateType > & automaton); static grammar::RightRG < SymbolType, StateType > convert(const automaton::DFA < SymbolType, StateType > & automaton);
......
...@@ -12,8 +12,17 @@ namespace automaton { ...@@ -12,8 +12,17 @@ namespace automaton {
   
namespace convert { namespace convert {
   
auto ToGrammarLeftRGNFA = registration::AbstractRegister < ToGrammarLeftRG, grammar::LeftRG < >, const automaton::NFA < > & > ( ToGrammarLeftRG::convert ); auto ToGrammarLeftRGNFA = registration::AbstractRegister < ToGrammarLeftRG, grammar::LeftRG < >, const automaton::NFA < > & > ( ToGrammarLeftRG::convert, "automaton" ).setDocumentation (
auto ToGrammarLeftRGDFA = registration::AbstractRegister < ToGrammarLeftRG, grammar::LeftRG < >, const automaton::DFA < > & > ( ToGrammarLeftRG::convert ); "Performs the conversion of the finite automaton to left regular grammar.\n\
\n\
@param automaton a finite automaton to convert\n\
@return left regular grammar equivalent to the source @p automaton." );
auto ToGrammarLeftRGDFA = registration::AbstractRegister < ToGrammarLeftRG, grammar::LeftRG < >, const automaton::DFA < > & > ( ToGrammarLeftRG::convert, "automaton").setDocumentation (
"Performs the conversion of the finite automaton to left regular grammar.\n\
\n\
@param automaton a finite automaton to convert\n\
@return left regular grammar equivalent to the source @p automaton." );
   
} /* namespace convert */ } /* namespace convert */
   
......
...@@ -12,8 +12,17 @@ namespace automaton { ...@@ -12,8 +12,17 @@ namespace automaton {
   
namespace convert { namespace convert {
   
auto ToGrammarRightRGNFA = registration::AbstractRegister < ToGrammarRightRG, grammar::RightRG < >, const automaton::NFA < > & > ( ToGrammarRightRG::convert ); auto ToGrammarRightRGNFA = registration::AbstractRegister < ToGrammarRightRG, grammar::RightRG < >, const automaton::NFA < > & > ( ToGrammarRightRG::convert, "automaton" ).setDocumentation (
auto ToGrammarRightRGDFA = registration::AbstractRegister < ToGrammarRightRG, grammar::RightRG < >, const automaton::DFA < > & > ( ToGrammarRightRG::convert ); "Performs the conversion of the finite automaton to right regular grammar.\n\
\n\
@param automaton a finite automaton to convert\n\
@return right regular grammar equivalent to the source @p automaton." );
auto ToGrammarRightRGDFA = registration::AbstractRegister < ToGrammarRightRG, grammar::RightRG < >, const automaton::DFA < > & > ( ToGrammarRightRG::convert, "automaton" ).setDocumentation (
"Performs the conversion of the finite automaton to right regular grammar.\n\
\n\
@param automaton a finite automaton to convert\n\
ěreturn right regular grammar equivalent to the source @p automaton." );
   
} /* namespace convert */ } /* namespace convert */
   
......
...@@ -97,8 +97,17 @@ automaton::NPDA < > ToPostfixPushdownAutomaton::convert ( const automaton::NFTA ...@@ -97,8 +97,17 @@ automaton::NPDA < > ToPostfixPushdownAutomaton::convert ( const automaton::NFTA
return automaton; return automaton;
} }
   
auto ToAutomatonDFTA = registration::AbstractRegister < ToPostfixPushdownAutomaton, automaton::DPDA < >, const automaton::DFTA < > & > ( ToPostfixPushdownAutomaton::convert ); auto ToAutomatonDFTA = registration::AbstractRegister < ToPostfixPushdownAutomaton, automaton::DPDA < >, const automaton::DFTA < > & > ( ToPostfixPushdownAutomaton::convert, "dfta" ).setDocumentation (
auto ToAutomatonNFTA = registration::AbstractRegister < ToPostfixPushdownAutomaton, automaton::NPDA < >, const automaton::NFTA < > & > ( ToPostfixPushdownAutomaton::convert ); "Performs the conversion of the deterministic FTA to the deterministic PDA\n\
\n\
@param dfta Deterministic finite tree automaton to convert\n\
@return (D)PDA equivalent to original finite tree automaton reading linearized postfix tree" );
auto ToAutomatonNFTA = registration::AbstractRegister < ToPostfixPushdownAutomaton, automaton::NPDA < >, const automaton::NFTA < > & > ( ToPostfixPushdownAutomaton::convert, "nfta" ).setDocumentation (
"Performs the conversion of the deterministic FTA to the deterministic PDA\n\
\n\
@param nfta Nondeterministic finite tree automaton to convert\n\
@return (N)PDA equivalent to original finite tree automaton reading linearized postfix tree" );
   
} /* namespace convert */ } /* namespace convert */
   
......
...@@ -12,12 +12,41 @@ namespace automaton { ...@@ -12,12 +12,41 @@ namespace automaton {
   
namespace convert { namespace convert {
   
auto ToRegExpEpsilonNFA = registration::AbstractRegister < ToRegExp, regexp::UnboundedRegExp < >, const automaton::EpsilonNFA < > & > ( ToRegExp::convert ); auto ToRegExpEpsilonNFA = registration::AbstractRegister < ToRegExp, regexp::UnboundedRegExp < >, const automaton::EpsilonNFA < > & > ( ToRegExp::convert, "automaton" ).setDocumentation (
auto ToRegExpMultiInitialStateNFA = registration::AbstractRegister < ToRegExp, regexp::UnboundedRegExp < >, const automaton::MultiInitialStateNFA < > & > ( ToRegExp::convert ); "Performs the conversion (@sa ToRegExpStateElimination::convert).\n\
auto ToRegExpNFA = registration::AbstractRegister < ToRegExp, regexp::UnboundedRegExp < >, const automaton::NFA < > & > ( ToRegExp::convert ); \n\
auto ToRegExpDFA = registration::AbstractRegister < ToRegExp, regexp::UnboundedRegExp < >, const automaton::DFA < > & > ( ToRegExp::convert ); @param automaton the automaton to convert\n\
auto ToRegExpExtendedNFA = registration::AbstractRegister < ToRegExp, regexp::UnboundedRegExp < >, const automaton::ExtendedNFA < > & > ( ToRegExp::convert ); @return regular expression equivalent to the input @p automaton" );
auto ToRegExpCompactNFA = registration::AbstractRegister < ToRegExp, regexp::UnboundedRegExp < >, const automaton::CompactNFA < > & > ( ToRegExp::convert );
auto ToRegExpMultiInitialStateNFA = registration::AbstractRegister < ToRegExp, regexp::UnboundedRegExp < >, const automaton::MultiInitialStateNFA < > & > ( ToRegExp::convert, "automaton" ).setDocumentation (
"Performs the conversion (@sa ToRegExpStateElimination::convert).\n\
\n\
@param automaton the automaton to convert\n\
@return regular expression equivalent to the input @p automaton" );
auto ToRegExpNFA = registration::AbstractRegister < ToRegExp, regexp::UnboundedRegExp < >, const automaton::NFA < > & > ( ToRegExp::convert, "automaton" ).setDocumentation (
"Performs the conversion (@sa ToRegExpStateElimination::convert).\n\
\n\
@param automaton the automaton to convert\n\
@return regular expression equivalent to the input @p automaton" );
auto ToRegExpDFA = registration::AbstractRegister < ToRegExp, regexp::UnboundedRegExp < >, const automaton::DFA < > & > ( ToRegExp::convert, "automaton" ).setDocumentation (
"Performs the conversion (@sa ToRegExpStateElimination::convert).\n\
\n\
@param automaton the automaton to convert\n\
@return regular expression equivalent to the input @p automaton" );
auto ToRegExpExtendedNFA = registration::AbstractRegister < ToRegExp, regexp::UnboundedRegExp < >, const automaton::ExtendedNFA < > & > ( ToRegExp::convert, "automaton" ).setDocumentation (
"Performs the conversion (@sa ToRegExpStateElimination::convert).\n\
\n\
@param automaton the automaton to convert\n\
@return regular expression equivalent to the input @p automaton" );
auto ToRegExpCompactNFA = registration::AbstractRegister < ToRegExp, regexp::UnboundedRegExp < >, const automaton::CompactNFA < > & > ( ToRegExp::convert, "automaton" ).setDocumentation (
"Performs the conversion (@sa ToRegExpStateElimination::convert).\n\
\n\
@param automaton the automaton to convert\n\
@return regular expression equivalent to the input @p automaton" );
   
} /* namespace convert */ } /* namespace convert */
   
......
...@@ -12,10 +12,29 @@ namespace automaton { ...@@ -12,10 +12,29 @@ namespace automaton {
   
namespace convert { namespace convert {
   
auto ToRegExpAlgebraicEpsilonNFA = registration::AbstractRegister < ToRegExpAlgebraic, regexp::UnboundedRegExp < >, const automaton::EpsilonNFA < > & > ( ToRegExpAlgebraic::convert ); auto ToRegExpAlgebraicEpsilonNFA = registration::AbstractRegister < ToRegExpAlgebraic, regexp::UnboundedRegExp < >, const automaton::EpsilonNFA < > & > ( ToRegExpAlgebraic::convert, "automaton" ).setDocumentation (
auto ToRegExpAlgebraicMultiInitialStateNFA = registration::AbstractRegister < ToRegExpAlgebraic, regexp::UnboundedRegExp < >, const automaton::MultiInitialStateNFA < > & > ( ToRegExpAlgebraic::convert ); "Performs the actual conversion.\n\
auto ToRegExpAlgebraicNFA = registration::AbstractRegister < ToRegExpAlgebraic, regexp::UnboundedRegExp < >, const automaton::NFA < > & > ( ToRegExpAlgebraic::convert ); \n\
auto ToRegExpAlgebraicDFA = registration::AbstractRegister < ToRegExpAlgebraic, regexp::UnboundedRegExp < >, const automaton::DFA < > & > ( ToRegExpAlgebraic::convert ); @param automaton The automaton that is to be converted to the regular expression\n\
@return regular expression equivalent to the input @p automaton" );
auto ToRegExpAlgebraicMultiInitialStateNFA = registration::AbstractRegister < ToRegExpAlgebraic, regexp::UnboundedRegExp < >, const automaton::MultiInitialStateNFA < > & > ( ToRegExpAlgebraic::convert, "automaton" ).setDocumentation (
"Performs the actual conversion.\n\
\n\
@param automaton The automaton that is to be converted to the regular expression\n\
@return regular expression equivalent to the input @p automaton" );
auto ToRegExpAlgebraicNFA = registration::AbstractRegister < ToRegExpAlgebraic, regexp::UnboundedRegExp < >, const automaton::NFA < > & > ( ToRegExpAlgebraic::convert, "automaton" ).setDocumentation (
"Performs the actual conversion.\n\
\n\
@param automaton The automaton that is to be converted to the regular expression\n\
@return regular expression equivalent to the input @p automaton" );
auto ToRegExpAlgebraicDFA = registration::AbstractRegister < ToRegExpAlgebraic, regexp::UnboundedRegExp < >, const automaton::DFA < > & > ( ToRegExpAlgebraic::convert, "automaton" ).setDocumentation (
"Performs the actual conversion.\n\
\n\
@param automaton The automaton that is to be converted to the regular expression\n\
@return regular expression equivalent to the input @p automaton" );
   
} /* namespace convert */ } /* namespace convert */
   
......
...@@ -12,12 +12,41 @@ namespace automaton { ...@@ -12,12 +12,41 @@ namespace automaton {
   
namespace convert { namespace convert {
   
auto ToRegExpStateEliminationEpsilonNFA = registration::AbstractRegister < ToRegExpStateElimination, regexp::UnboundedRegExp < >, const automaton::EpsilonNFA < > & >(ToRegExpStateElimination::convert); auto ToRegExpStateEliminationEpsilonNFA = registration::AbstractRegister < ToRegExpStateElimination, regexp::UnboundedRegExp < >, const automaton::EpsilonNFA < > & > ( ToRegExpStateElimination::convert, "automaton" ).setDocumentation (
auto ToRegExpStateEliminationMultiInitialStateNFA = registration::AbstractRegister < ToRegExpStateElimination, regexp::UnboundedRegExp < >, const automaton::MultiInitialStateNFA < > & >(ToRegExpStateElimination::convert); "Performs conversion.\n\
auto ToRegExpStateEliminationNFA = registration::AbstractRegister < ToRegExpStateElimination, regexp::UnboundedRegExp < >, const automaton::NFA < > & >(ToRegExpStateElimination::convert); \n\
auto ToRegExpStateEliminationDFA = registration::AbstractRegister < ToRegExpStateElimination, regexp::UnboundedRegExp < >, const automaton::DFA < > & >(ToRegExpStateElimination::convert); @param automaton finite automaton to convert\n\
auto ToRegExpStateEliminationExtendedNFA = registration::AbstractRegister < ToRegExpStateElimination, regexp::UnboundedRegExp < >, const automaton::ExtendedNFA < > & >(ToRegExpStateElimination::convert); @return unbounded regular expression equivalent to the original automaton" );
auto ToRegExpStateEliminationCompactNFA = registration::AbstractRegister < ToRegExpStateElimination, regexp::UnboundedRegExp < >, const automaton::CompactNFA < > & >(ToRegExpStateElimination::convert);
auto ToRegExpStateEliminationMultiInitialStateNFA = registration::AbstractRegister < ToRegExpStateElimination, regexp::UnboundedRegExp < >, const automaton::MultiInitialStateNFA < > & > ( ToRegExpStateElimination::convert, "automaton" ).setDocumentation (
"Performs conversion.\n\
\n\
@param automaton finite automaton to convert\n\
@return unbounded regular expression equivalent to the original automaton" );
auto ToRegExpStateEliminationNFA = registration::AbstractRegister < ToRegExpStateElimination, regexp::UnboundedRegExp < >, const automaton::NFA < > & > ( ToRegExpStateElimination::convert, "automaton" ).setDocumentation (
"Performs conversion.\n\
\n\
@param automaton finite automaton to convert\n\
@return unbounded regular expression equivalent to the original automaton" );
auto ToRegExpStateEliminationDFA = registration::AbstractRegister < ToRegExpStateElimination, regexp::UnboundedRegExp < >, const automaton::DFA < > & > ( ToRegExpStateElimination::convert, "automaton" ).setDocumentation (
"Performs conversion.\n\
\n\
@param automaton finite automaton to convert\n\
@return unbounded regular expression equivalent to the original automaton" );
auto ToRegExpStateEliminationExtendedNFA = registration::AbstractRegister < ToRegExpStateElimination, regexp::UnboundedRegExp < >, const automaton::ExtendedNFA < > & > ( ToRegExpStateElimination::convert, "automaton" ).setDocumentation (
"Performs conversion.\n\
\n\
@param automaton finite automaton to convert\n\
@return unbounded regular expression equivalent to the original automaton" );
auto ToRegExpStateEliminationCompactNFA = registration::AbstractRegister < ToRegExpStateElimination, regexp::UnboundedRegExp < >, const automaton::CompactNFA < > & > ( ToRegExpStateElimination::convert, "automaton" ).setDocumentation (
"Performs conversion.\n\
\n\
@param automaton finite automaton to convert\n\
@return unbounded regular expression equivalent to the original automaton" );
   
} /* namespace convert */ } /* namespace convert */
   
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment