55 template <
class StateType,
class SymbolType >
66 template <
class StateType,
class SymbolType >
72 template <
class StateType,
class SymbolType >
78 template <
class StateType,
class SymbolType >
84 template <
class StateType,
class SymbolType >
88template <
class StateType,
class SymbolType >
93template <
class StateType,
class SymbolType >
98template <
class StateType,
class SymbolType >
103template <
class StateType,
class SymbolType >
113 for(
const auto & middle : fsm.
getStates( ) ) {
122 if(transition.second != middle )
continue;
123 if(transition.first.second != symbol)
continue;
125 for(
const auto & to : middleClosure )
126 res.addTransition(transition.first.first, symbol, to );
135 res.setInitialStates( cl );
140template <
class StateType,
class SymbolType >
152 for(
const auto & middle : fta.
getStates ( ) ) {
161 if ( transition.second != middle )
continue;
162 if ( transition.first.first != symbol )
continue;
164 for (
const auto & to : middleClosure )
165 res.addTransition ( symbol, transition.first.second, to );
Deterministic finite automaton. Accepts regular languages.
Definition: DFA.h:71
Epsilon nondeterministic finite automaton. Accepts regular languages.
Definition: EpsilonNFA.h:74
const ext::set< StateType > & getStates() const &
Definition: EpsilonNFA.h:158
const ext::set< StateType > & getFinalStates() const &
Definition: EpsilonNFA.h:207
const ext::set< SymbolType > & getInputAlphabet() const &
Definition: EpsilonNFA.h:256
const ext::multimap< ext::pair< StateType, common::symbol_or_epsilon< SymbolType > >, StateType > & getTransitions() const &
Definition: EpsilonNFA.h:666
const StateType & getInitialState() const &
Definition: EpsilonNFA.h:129
Epsilon nondeterministic finite tree automaton. Accepts regular tree languages.
Definition: EpsilonNFTA.h:73
ext::multimap< ext::pair< common::ranked_symbol< SymbolType >, ext::vector< StateType > >, StateType > getSymbolTransitions() const
Definition: EpsilonNFTA.h:615
const ext::set< StateType > & getFinalStates() const &
Definition: EpsilonNFTA.h:167
const ext::set< StateType > & getStates() const &
Definition: EpsilonNFTA.h:118
const ext::set< common::ranked_symbol< SymbolType > > & getInputAlphabet() const &
Definition: EpsilonNFTA.h:216
Nondeterministic finite automaton with multiple initial states. Accepts regular languages.
Definition: MultiInitialStateNFA.h:69
Nondeterministic finite automaton. Accepts regular languages.
Definition: NFA.h:66
Nondeterministic finite tree automaton without epsilon transitions. Accepts regular tree languages.
Definition: NFTA.h:72
static ext::set< StateType > epsilonClosure(const automaton::EpsilonNFA< SymbolType, StateType > &fsm, const StateType &q)
Definition: EpsilonClosure.h:125
Definition: EpsilonRemoverOutgoing.h:45
static automaton::MultiInitialStateNFA< SymbolType, StateType > remove(const automaton::EpsilonNFA< SymbolType, StateType > &fsm)
Definition: EpsilonRemoverOutgoing.h:104
static bool verbose
Verbose flag. Some algorithms print additional runtime information about internal datastructures or t...
Definition: GlobalData.h:24
static ext::reference_wrapper< ext::ostream > err
Standard error stream. Mapped to descriptor 2.
Definition: GlobalData.h:72
Definition: ranked_symbol.hpp:20
Class extending the multimap class from the standard library. Original reason is to allow printing of...
Definition: multimap.hpp:48
Class extending the pair class from the standard library. Original reason is to allow printing of the...
Definition: pair.hpp:43
Class extending the vector class from the standard library. Original reason is to allow printing of t...
Definition: vector.hpp:45
typename T::StateType StateType
Definition: ToGrammarLeftRG.h:64
return res
Definition: MinimizeByPartitioning.h:145
Definition: ToGrammar.h:31