/*
 * ToAutomatonBototmUp.cpp
 *
 * Created on: 20. 5. 2015
 * Author: Tomas Pecka
 */
#include "ToAutomatonBottomUp.h"
#include <registration/AlgoRegistration.hpp>

namespace {

auto ToAutomatonBottomUpCFG = registration::AbstractRegister < grammar::convert::ToAutomatonBottomUp, automaton::NPDA < DefaultSymbolType, ext::variant < DefaultSymbolType, DefaultSymbolType >, unsigned >, const grammar::CFG < > & > ( grammar::convert::ToAutomatonBottomUp::convert, "grammar" ).setDocumentation (
"Converts a context free grammar to a pushdown automaton by method of bottom up analysis.\n\
\n\
@param grammar the converted context free grammar\n\
@return pushdown automaton accepting the language generated by @p grammar");

auto ToAutomatonBottomUpEpsilonFreeCFG = registration::AbstractRegister < grammar::convert::ToAutomatonBottomUp, automaton::NPDA < DefaultSymbolType, ext::variant < DefaultSymbolType, DefaultSymbolType >, unsigned >, const grammar::EpsilonFreeCFG < > & > ( grammar::convert::ToAutomatonBottomUp::convert, "grammar" ).setDocumentation (
"Converts a context free grammar to a pushdown automaton by method of bottom up analysis.\n\
\n\
@param grammar the converted context free grammar\n\
@return pushdown automaton accepting the language generated by @p grammar");

} /* namespace */
