/*
 * ToPostfixPushdownAutomaton.cpp
 *
 *  Created on: 13. 3. 2017
 *	  Author: Stepan Plachy
 */

#include "ToPostfixPushdownAutomaton.h"
#include <registration/AlgoRegistration.hpp>

namespace {

auto ToAutomatonDFTA = registration::AbstractRegister < automaton::convert::ToPostfixPushdownAutomaton, automaton::DPDA < ext::variant < common::ranked_symbol < DefaultSymbolType >, alphabet::EndSymbol >, ext::variant < DefaultStateType, alphabet::BottomOfTheStackSymbol >, char >, const automaton::DFTA < > & > ( automaton::convert::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 < automaton::convert::ToPostfixPushdownAutomaton, automaton::NPDA < ext::variant < common::ranked_symbol < DefaultSymbolType >, alphabet::EndSymbol >, ext::variant < DefaultStateType, alphabet::BottomOfTheStackSymbol >, char >, const automaton::NFTA < > & > ( automaton::convert::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 */
