Algorithms Library Toolkit
A toolkit for algorithms, especially for algorithms on formal languages
|
#include <UselessStatesRemover.h>
Static Public Member Functions | |
template<class T > | |
static T | remove (const T &fsm) |
template<class SymbolType , class StateType > | |
static automaton::MultiInitialStateNFA< SymbolType, StateType > | remove (const automaton::MultiInitialStateNFA< SymbolType, StateType > &fsm) |
template<class SymbolType , class StateType > | |
static automaton::DFTA< SymbolType, StateType > | remove (const automaton::DFTA< SymbolType, StateType > &fta) |
template<class SymbolType , class StateType > | |
static automaton::NFTA< SymbolType, StateType > | remove (const automaton::NFTA< SymbolType, StateType > &fta) |
template<class SymbolType , class StateType > | |
static automaton::ArcFactoredNondeterministicZAutomaton< SymbolType, StateType > | remove (const automaton::ArcFactoredNondeterministicZAutomaton< SymbolType, StateType > &afza) |
template<class SymbolType , class StateType > | |
static automaton::ArcFactoredDeterministicZAutomaton< SymbolType, StateType > | remove (const automaton::ArcFactoredDeterministicZAutomaton< SymbolType, StateType > &afza) |
Algorithm for the removal of useless states from a finite automaton and a deterministic finite tree automaton. A state q
is called useless if there is no path from q
to any final state.
For a finite automaton, we implement Melichar: Jazyky a překlady, 2.32. For a deterministic finite tree automaton, we implement ???
|
static |
|
static |
Removes unreachable states from a deterministic arc-factored z-automaton
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
SymbolType | Type for input symbols. |
StateType | Type for states. |
afdza | automaton to trim |
afdza
without unreachable states
|
static |
Removes unreachable states from a deterministic finite tree automaton.
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
SymbolType | Type for input symbols. |
RankType | Type for rank (arity) in ranked alphabet. |
StateType | Type for states. |
dfta | automaton to trim |
autoamton
without unreachable states
|
static |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
SymbolType | Type for input symbols. |
StateType | Type for states. |
|
static |
Removes unreachable states from a deterministic finite tree automaton.
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
SymbolType | Type for input symbols. |
RankType | Type for rank (arity) in ranked alphabet. |
StateType | Type for states. |
dfta | automaton to trim |
autoamton
without unreachable states
|
static |
Removes useless states from an automaton.
T | type of a finite automaton |
automaton | automaton to trim |
automaton
without useless states