61 static T
remove(
const T & fsm );
68 template <
class SymbolType,
class StateType >
81 template <
class SymbolType,
class StateType >
94 template <
class SymbolType,
class StateType >
106 template <
class SymbolType,
class StateType >
109 template <
class SymbolType,
class StateType >
121 T M(fsm.getInitialState());
123 for(
const auto & a : fsm.getInputAlphabet( ) )
124 M.addInputSymbol( a );
130 for(
const auto &
q : Qu )
133 for(
const auto & t : fsm.getTransitions( ) )
134 if( Qu.count( t.second ) )
135 M.addTransition( t.first.first, t.first.second, t.second );
137 for(
const auto &
q : fsm.getFinalStates( ) )
138 M.addFinalState(
q );
143template <
class SymbolType,
class StateType >
158 for(
const auto &
q : Qu )
167 if( Qu.count ( t.second ) )
176template <
class SymbolType,
class StateType >
191 for(
const auto &
q : Qu )
195 if( Qu.count( t.second ) )
204template <
class SymbolType,
class StateType >
219 for(
const auto &
q : Qu )
223 if( Qu.count( t.second ) )
232template <
class SymbolType,
class StateType >
245 if ( Qu.count ( t.second ) )
252template <
class SymbolType,
class StateType >
265 if ( Qu.count ( t.second ) )
Deterministic Z-Automaton in Arc-Factored Normal Form. Computation model for unranked regular tree la...
Definition: ArcFactoredDeterministicZAutomaton.h:65
const ext::set< StateType > & getFinalStates() const &
Definition: ArcFactoredDeterministicZAutomaton.h:145
void setInputAlphabet(ext::set< SymbolType > symbols)
Definition: ArcFactoredDeterministicZAutomaton.h:232
void setStates(ext::set< StateType > states)
Definition: ArcFactoredDeterministicZAutomaton.h:125
const ext::map< ext::variant< SymbolType, ext::pair< StateType, StateType > >, StateType > & getTransitions() const &
Definition: ArcFactoredDeterministicZAutomaton.h:284
const ext::set< SymbolType > & getInputAlphabet() const &
Definition: ArcFactoredDeterministicZAutomaton.h:194
const ext::set< StateType > & getStates() const &
Definition: ArcFactoredDeterministicZAutomaton.h:96
void setFinalStates(ext::set< StateType > states)
Definition: ArcFactoredDeterministicZAutomaton.h:174
bool addTransition(ext::variant< SymbolType, ext::pair< StateType, StateType > > lhs, StateType rhs)
Add a transition to the automaton.
Definition: ArcFactoredDeterministicZAutomaton.h:401
Nondeterministic Z-Automaton in Arc-Factored Normal Form. Computation model for unranked regular tree...
Definition: ArcFactoredNondeterministicZAutomaton.h:67
const ext::set< SymbolType > & getInputAlphabet() const &
Definition: ArcFactoredNondeterministicZAutomaton.h:203
void setInputAlphabet(ext::set< SymbolType > symbols)
Definition: ArcFactoredNondeterministicZAutomaton.h:241
void setStates(ext::set< StateType > states)
Definition: ArcFactoredNondeterministicZAutomaton.h:134
const ext::set< StateType > & getFinalStates() const &
Definition: ArcFactoredNondeterministicZAutomaton.h:154
void setFinalStates(ext::set< StateType > states)
Definition: ArcFactoredNondeterministicZAutomaton.h:183
const ext::multimap< ext::variant< SymbolType, ext::pair< StateType, StateType > >, StateType > & getTransitions() const &
Definition: ArcFactoredNondeterministicZAutomaton.h:293
const ext::set< StateType > & getStates() const &
Definition: ArcFactoredNondeterministicZAutomaton.h:105
bool addTransition(ext::variant< SymbolType, ext::pair< StateType, StateType > > lhs, StateType rhs)
Add a transition to the automaton.
Definition: ArcFactoredNondeterministicZAutomaton.h:415
Nondeterministic finite tree automaton without epsilon transitions. Accepts regular tree languages.
Definition: DFTA.h:74
const ext::map< ext::pair< common::ranked_symbol< SymbolType >, ext::vector< StateType > >, StateType > & getTransitions() const &
Definition: DFTA.h:289
bool addInputSymbol(common::ranked_symbol< SymbolType > symbol)
Definition: DFTA.h:223
const ext::set< common::ranked_symbol< SymbolType > > & getInputAlphabet() const &
Definition: DFTA.h:203
bool addFinalState(StateType state)
Definition: DFTA.h:174
bool addTransition(common::ranked_symbol< SymbolType > symbol, ext::vector< StateType > prevStates, StateType next)
Add a transition to the automaton.
Definition: DFTA.h:406
bool addState(StateType state)
Definition: DFTA.h:125
const ext::set< StateType > & getFinalStates() const &
Definition: DFTA.h:154
Nondeterministic finite automaton with multiple initial states. Accepts regular languages.
Definition: MultiInitialStateNFA.h:69
bool addInitialState(StateType state)
Definition: MultiInitialStateNFA.h:137
bool addState(StateType state)
Definition: MultiInitialStateNFA.h:186
bool addFinalState(StateType state)
Definition: MultiInitialStateNFA.h:235
bool addInputSymbol(SymbolType symbol)
Definition: MultiInitialStateNFA.h:284
const ext::set< StateType > & getInitialStates() const &
Definition: MultiInitialStateNFA.h:117
const ext::multimap< ext::pair< StateType, SymbolType >, StateType > & getTransitions() const &
Definition: MultiInitialStateNFA.h:520
const ext::set< StateType > & getFinalStates() const &
Definition: MultiInitialStateNFA.h:215
const ext::set< SymbolType > & getInputAlphabet() const &
Definition: MultiInitialStateNFA.h:264
bool addTransition(StateType from, SymbolType input, StateType to)
Add a transition to the automaton.
Definition: MultiInitialStateNFA.h:486
Nondeterministic finite tree automaton without epsilon transitions. Accepts regular tree languages.
Definition: NFTA.h:72
bool addTransition(common::ranked_symbol< SymbolType > symbol, ext::vector< StateType > prevStates, StateType next)
Add a transition to the automaton.
Definition: NFTA.h:425
const ext::set< StateType > & getFinalStates() const &
Definition: NFTA.h:159
bool addState(StateType state)
Definition: NFTA.h:130
const ext::multimap< ext::pair< common::ranked_symbol< SymbolType >, ext::vector< StateType > >, StateType > & getTransitions() const &
Definition: NFTA.h:294
const ext::set< common::ranked_symbol< SymbolType > > & getInputAlphabet() const &
Definition: NFTA.h:208
bool addFinalState(StateType state)
Definition: NFTA.h:179
bool addInputSymbol(common::ranked_symbol< SymbolType > symbol)
Definition: NFTA.h:228
static ext::set< typename T::StateType > usefulStates(const T &fsm)
Definition: UselessStatesRemover.h:52
static T remove(const T &fsm)
Definition: UselessStatesRemover.h:114
typename T::StateType StateType
Definition: ToGrammarLeftRG.h:64
q
Definition: SingleInitialStateEpsilonTransition.h:85
Definition: ToGrammar.h:31