49 template <
class SymbolType,
class StateType >
55 template <
class SymbolType,
class StateType >
61 template <
class SymbolType,
class StateType >
66template <
class SymbolType,
class StateType >
68 unsigned firstDefault = 1;
69 unsigned secondDefault = 2;
75 res.addInputSymbol(a);
76 for(
const auto& a :
second.getInputAlphabet())
77 res.addInputSymbol(a);
81 for (
const auto &
q :
second.getStates ( ) )
86 for(
const auto&
q :
second.getFinalStates())
90 res.addFinalState (
q0 );
94 for (
const auto & t :
second.getTransitionsFromState (
second.getInitialState ( ) ) )
100 for(
const auto& t :
second.getTransitions())
106template <
class SymbolType,
class StateType >
108 unsigned firstDefault = 1;
109 unsigned secondDefault = 2;
115 res.addInputSymbol(a);
116 for(
const auto& a :
second.getInputAlphabet())
117 res.addInputSymbol(a);
121 for (
const auto &
q :
second.getStates ( ) )
126 for(
const auto&
q :
second.getFinalStates())
130 res.addFinalState (
q0 );
134 for (
const auto & t :
second.getTransitionsFromState (
second.getInitialState ( ) ) )
140 for(
const auto& t :
second.getTransitions())
146template <
class SymbolType,
class StateType >
148 unsigned firstDefault = 1;
149 unsigned secondDefault = 2;
155 res.addInputSymbol(a);
156 for(
const auto& a :
second.getInputAlphabet())
157 res.addInputSymbol(a);
161 for (
const auto &
q :
second.getStates ( ) )
166 for(
const auto&
q :
second.getFinalStates())
170 res.addFinalState (
q0 );
174 for (
const auto & t :
second.getTransitionsFromState (
second.getInitialState ( ) ) )
180 for(
const auto& t :
second.getTransitions())
Deterministic finite automaton. Accepts regular languages.
Definition: DFA.h:71
const ext::set< StateType > & getFinalStates() const &
Definition: DFA.h:183
const ext::map< ext::pair< StateType, SymbolType >, StateType > & getTransitions() const &
Definition: DFA.h:473
const StateType & getInitialState() const &
Definition: DFA.h:105
const ext::set< SymbolType > & getInputAlphabet() const &
Definition: DFA.h:232
const ext::set< StateType > & getStates() const &
Definition: DFA.h:134
ext::iterator_range< typename ext::map< ext::pair< StateType, SymbolType >, StateType >::const_iterator > getTransitionsFromState(const StateType &from) const
Definition: DFA.h:483
Epsilon nondeterministic finite automaton. Accepts regular languages.
Definition: EpsilonNFA.h:74
const ext::set< StateType > & getStates() const &
Definition: EpsilonNFA.h:158
ext::multimap< ext::pair< StateType, common::symbol_or_epsilon< SymbolType > >, StateType > getTransitionsFromState(const StateType &from) const
Definition: EpsilonNFA.h:698
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
Nondeterministic finite automaton. Accepts regular languages.
Definition: NFA.h:66
const ext::set< StateType > & getStates() const &
Definition: NFA.h:136
const StateType & getInitialState() const &
Definition: NFA.h:107
const ext::set< SymbolType > & getInputAlphabet() const &
Definition: NFA.h:234
const ext::multimap< ext::pair< StateType, SymbolType >, StateType > & getTransitions() const &
Definition: NFA.h:484
const ext::set< StateType > & getFinalStates() const &
Definition: NFA.h:185
auto getTransitionsFromState(const StateType &from) const
Definition: NFA.h:494
Class extending the pair class from the standard library. Original reason is to allow printing of the...
Definition: pair.hpp:43
q
Definition: SingleInitialStateEpsilonTransition.h:85
StateType q0
Definition: SingleInitialState.h:96
Definition: ToGrammar.h:31
ContainerType< ResType > transform(const ContainerType< InType, Ts ... > &in, Callback transform)
In container tranformation of all elements according to the tranform.
Definition: algorithm.hpp:150
constexpr auto make_pair(T1 &&x, T2 &&y)
Definition: pair.hpp:79