|
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