|
template<class SymbolType , class StateType > |
static automaton::EpsilonNFA< SymbolType, ext::pair< StateType, unsigned > > | concatenation (const automaton::DFA< SymbolType, StateType > &first, const automaton::DFA< SymbolType, StateType > &second) |
|
template<class SymbolType , class StateType > |
static automaton::EpsilonNFA< SymbolType, ext::pair< StateType, unsigned > > | concatenation (const automaton::NFA< SymbolType, StateType > &first, const automaton::NFA< SymbolType, StateType > &second) |
|
template<class SymbolType , class StateType > |
static automaton::EpsilonNFA< SymbolType, ext::pair< StateType, unsigned > > | concatenation (const automaton::EpsilonNFA< SymbolType, StateType > &first, const automaton::EpsilonNFA< SymbolType, StateType > &second) |
|
Concatenation of two finite automata. For finite automata A1, A2, we create a finite automaton A such that L(A) = L(A1).L(A2). This method utilizes epsilon transitions in the resulting finite automata (Melichar: Jazyky a překlady, 2.80).