Algorithms Library Toolkit
A toolkit for algorithms, especially for algorithms on formal languages
|
#include <AllEpsilonClosure.h>
Static Public Member Functions | |
template<class T > requires isEpsilonNFA < T > || isEpsilonNFTA < T > | |
static ext::map< typename T::StateType, ext::set< typename T::StateType > > | allEpsilonClosure (const T &fsm) |
template<class T > requires isDFA < T > || isNFA < T > || isMultiInitialStateNFA < T > | |
static ext::map< typename T::StateType, ext::set< typename T::StateType > > | allEpsilonClosure (const T &fsm) |
template<class SymbolType , class StateType > | |
static ext::map< StateType, ext::set< StateType > > | allEpsilonClosure (const automaton::ExtendedNFA< SymbolType, StateType > &fsm) |
template<class SymbolType , class StateType > | |
static ext::map< StateType, ext::set< StateType > > | allEpsilonClosure (const automaton::CompactNFA< SymbolType, StateType > &fsm) |
template<class SymbolType , class StateType > | |
static ext::map< StateType, ext::set< StateType > > | allEpsilonClosure (const automaton::NondeterministicZAutomaton< SymbolType, StateType > &fsm) |
Algorithm computing an epsilon closure for all states of a finite automaton.
|
static |
Computes epsilon closure for all states of a compact nondeterministic finite automaton. Any string of size 0 is considered as epsilon.
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 the input symbols. |
StateType | Type for the states. |
fsm | compact nondeterministic finite automaton |
fsm
|
static |
Computes epsilon closure for all states of an extended nondeterministic finite automaton. Any regexp that can denote epsilon word is considered as an epsilon transition for the purpose of this algorithm.
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 the input symbols. |
StateType | Type for the states. |
fsm | extended nondeterministic finite automaton |
fsm
|
static |
|
static |
Computes epsilon closure for all states of a nondeterministic finite (tree) automaton with epsilon transitions. Implemented using closures (breadth-first search).
T | type of tested automaton. |
fsm | nondeterministic finite (tree) automaton with epsilon transitions |
fsm
|
static |
Computes epsilon closure for all states of a nondeterministic finite automaton with multiple initial states. Epsilon closure of a state q of an automaton without epsilon transitions is eps-closure(q) = {q}.
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
T | type of tested automaton. |
fsm | (nondeterministic) finite automaton (with multiple initial states) |
fsm