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 {
 
namespace convert {
 
auto ToGrammarNFA = registration::AbstractRegister < ToGrammar, grammar::RightRG < >, const automaton::NFA < > & > ( ToGrammar::convert );
auto ToGrammarDFA = registration::AbstractRegister < ToGrammar, grammar::RightRG < >, const automaton::DFA < > & > ( ToGrammar::convert );
auto ToGrammarNFA = registration::AbstractRegister < ToGrammar, grammar::RightRG < >, const automaton::NFA < > & > ( 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" );
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 */
 
......
......@@ -42,16 +42,19 @@ class ToGrammar {
public:
/**
* Performs the conversion (@sa ToGrammarRightRG::convert).
* @tparam SymbolType Type for symbols.
* @tparam StateType Type for states.
* @param automaton the automaton to convert
* @return right regular grammar equivalent to the input @p automaton
*
* \tparam SymbolType Type for symbols.
* \tparam StateType Type for states.
*
* \param automaton the automaton to convert
*
* \return right regular grammar equivalent to the input @p automaton
*/
template < class SymbolType, class StateType >
static grammar::RightRG < SymbolType, StateType > convert(const automaton::NFA < SymbolType, StateType > & automaton);
 
/**
* @overload
* \overload
*/
template < class SymbolType, class StateType >
static grammar::RightRG < SymbolType, StateType > convert(const automaton::DFA < SymbolType, StateType > & automaton);
......
......@@ -12,8 +12,17 @@ namespace automaton {
 
namespace convert {
 
auto ToGrammarLeftRGNFA = registration::AbstractRegister < ToGrammarLeftRG, grammar::LeftRG < >, const automaton::NFA < > & > ( ToGrammarLeftRG::convert );
auto ToGrammarLeftRGDFA = registration::AbstractRegister < ToGrammarLeftRG, grammar::LeftRG < >, const automaton::DFA < > & > ( ToGrammarLeftRG::convert );
auto ToGrammarLeftRGNFA = registration::AbstractRegister < ToGrammarLeftRG, grammar::LeftRG < >, const automaton::NFA < > & > ( 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." );
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 */
 
......
......@@ -12,8 +12,17 @@ namespace automaton {
 
namespace convert {
 
auto ToGrammarRightRGNFA = registration::AbstractRegister < ToGrammarRightRG, grammar::RightRG < >, const automaton::NFA < > & > ( ToGrammarRightRG::convert );
auto ToGrammarRightRGDFA = registration::AbstractRegister < ToGrammarRightRG, grammar::RightRG < >, const automaton::DFA < > & > ( ToGrammarRightRG::convert );
auto ToGrammarRightRGNFA = registration::AbstractRegister < ToGrammarRightRG, grammar::RightRG < >, const automaton::NFA < > & > ( 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." );
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 */
 
......
......@@ -97,8 +97,17 @@ automaton::NPDA < > ToPostfixPushdownAutomaton::convert ( const automaton::NFTA
return automaton;
}
 
auto ToAutomatonDFTA = registration::AbstractRegister < ToPostfixPushdownAutomaton, automaton::DPDA < >, const automaton::DFTA < > & > ( ToPostfixPushdownAutomaton::convert );
auto ToAutomatonNFTA = registration::AbstractRegister < ToPostfixPushdownAutomaton, automaton::NPDA < >, const automaton::NFTA < > & > ( ToPostfixPushdownAutomaton::convert );
auto ToAutomatonDFTA = registration::AbstractRegister < ToPostfixPushdownAutomaton, automaton::DPDA < >, const automaton::DFTA < > & > ( ToPostfixPushdownAutomaton::convert, "dfta" ).setDocumentation (
"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 */
 
......
......@@ -12,12 +12,41 @@ namespace automaton {
 
namespace convert {
 
auto ToRegExpEpsilonNFA = registration::AbstractRegister < ToRegExp, regexp::UnboundedRegExp < >, const automaton::EpsilonNFA < > & > ( ToRegExp::convert );
auto ToRegExpMultiInitialStateNFA = registration::AbstractRegister < ToRegExp, regexp::UnboundedRegExp < >, const automaton::MultiInitialStateNFA < > & > ( ToRegExp::convert );
auto ToRegExpNFA = registration::AbstractRegister < ToRegExp, regexp::UnboundedRegExp < >, const automaton::NFA < > & > ( ToRegExp::convert );
auto ToRegExpDFA = registration::AbstractRegister < ToRegExp, regexp::UnboundedRegExp < >, const automaton::DFA < > & > ( ToRegExp::convert );
auto ToRegExpExtendedNFA = registration::AbstractRegister < ToRegExp, regexp::UnboundedRegExp < >, const automaton::ExtendedNFA < > & > ( ToRegExp::convert );
auto ToRegExpCompactNFA = registration::AbstractRegister < ToRegExp, regexp::UnboundedRegExp < >, const automaton::CompactNFA < > & > ( ToRegExp::convert );
auto ToRegExpEpsilonNFA = registration::AbstractRegister < ToRegExp, regexp::UnboundedRegExp < >, const automaton::EpsilonNFA < > & > ( 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 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 */
 
......
......@@ -12,10 +12,29 @@ namespace automaton {
 
namespace convert {
 
auto ToRegExpAlgebraicEpsilonNFA = registration::AbstractRegister < ToRegExpAlgebraic, regexp::UnboundedRegExp < >, const automaton::EpsilonNFA < > & > ( ToRegExpAlgebraic::convert );
auto ToRegExpAlgebraicMultiInitialStateNFA = registration::AbstractRegister < ToRegExpAlgebraic, regexp::UnboundedRegExp < >, const automaton::MultiInitialStateNFA < > & > ( ToRegExpAlgebraic::convert );
auto ToRegExpAlgebraicNFA = registration::AbstractRegister < ToRegExpAlgebraic, regexp::UnboundedRegExp < >, const automaton::NFA < > & > ( ToRegExpAlgebraic::convert );
auto ToRegExpAlgebraicDFA = registration::AbstractRegister < ToRegExpAlgebraic, regexp::UnboundedRegExp < >, const automaton::DFA < > & > ( ToRegExpAlgebraic::convert );
auto ToRegExpAlgebraicEpsilonNFA = registration::AbstractRegister < ToRegExpAlgebraic, regexp::UnboundedRegExp < >, const automaton::EpsilonNFA < > & > ( 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 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 */
 
......
......@@ -12,12 +12,41 @@ namespace automaton {
 
namespace convert {
 
auto ToRegExpStateEliminationEpsilonNFA = registration::AbstractRegister < ToRegExpStateElimination, regexp::UnboundedRegExp < >, const automaton::EpsilonNFA < > & >(ToRegExpStateElimination::convert);
auto ToRegExpStateEliminationMultiInitialStateNFA = registration::AbstractRegister < ToRegExpStateElimination, regexp::UnboundedRegExp < >, const automaton::MultiInitialStateNFA < > & >(ToRegExpStateElimination::convert);
auto ToRegExpStateEliminationNFA = registration::AbstractRegister < ToRegExpStateElimination, regexp::UnboundedRegExp < >, const automaton::NFA < > & >(ToRegExpStateElimination::convert);
auto ToRegExpStateEliminationDFA = registration::AbstractRegister < ToRegExpStateElimination, regexp::UnboundedRegExp < >, const automaton::DFA < > & >(ToRegExpStateElimination::convert);
auto ToRegExpStateEliminationExtendedNFA = registration::AbstractRegister < ToRegExpStateElimination, regexp::UnboundedRegExp < >, const automaton::ExtendedNFA < > & >(ToRegExpStateElimination::convert);
auto ToRegExpStateEliminationCompactNFA = registration::AbstractRegister < ToRegExpStateElimination, regexp::UnboundedRegExp < >, const automaton::CompactNFA < > & >(ToRegExpStateElimination::convert);
auto ToRegExpStateEliminationEpsilonNFA = registration::AbstractRegister < ToRegExpStateElimination, regexp::UnboundedRegExp < >, const automaton::EpsilonNFA < > & > ( 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 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 */
 
......
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