39 template <
class T,
class TerminalSymbolType =
typename grammar::TerminalSymbolTypeOfGrammar < T >,
class NonterminalSymbolType =
typename grammar::NonterminalSymbolTypeOfGrammar < T > >
43template <
class T,
class TerminalSymbolType,
class NonterminalSymbolType >
45 unsigned q = label::InitialStateLabel::instance < unsigned > ( );
46 unsigned r = label::FinalStateLabel::instance < unsigned > ( );
54 for(
const NonterminalSymbolType& symbol :
grammar.getNonterminalAlphabet())
56 for(
const TerminalSymbolType& symbol :
grammar.getTerminalAlphabet())
59 for(
const TerminalSymbolType& symbol :
grammar.getTerminalAlphabet())
63 for (
const auto & kv : rawRules )
Implementation of the variant class allowing to store any type of those listed in the template parame...
Definition: variant.hpp:98
Class extending the vector class from the standard library. Original reason is to allow printing of t...
Definition: vector.hpp:45
static ext::map< NonterminalSymbolType, ext::set< ext::vector< ext::variant< TerminalSymbolType, NonterminalSymbolType > > > > getRawRules(const LG< TerminalSymbolType, NonterminalSymbolType > &grammar)
Definition: RawRules.h:92
Definition: ToAutomatonBottomUp.h:25
static automaton::NPDA< TerminalSymbolType, ext::variant< TerminalSymbolType, NonterminalSymbolType >, unsigned > convert(const T &grammar)
Definition: ToAutomatonBottomUp.h:44
q
Definition: SingleInitialStateEpsilonTransition.h:85
Definition: ToGrammar.h:31
Definition: converterCommon.hpp:8
Definition: ToAutomaton.h:24