Extended nondeterministic finite automaton. Accepts regular languages. The automaton has a regular expression on transitions.
More...
|
| ExtendedNFA (StateType initialState) |
| Creates a new instance of the automaton with a concrete initial state. More...
|
|
| ExtendedNFA (ext::set< StateType > states, ext::set< SymbolType > inputAlphabet, StateType initialState, ext::set< StateType > finalStates) |
| Creates a new instance of the automaton with a concrete set of states, input alphabet, initial state, and a set of final states. More...
|
|
| ExtendedNFA (const CompactNFA< SymbolType, StateType > &other) |
|
| ExtendedNFA (const MultiInitialStateEpsilonNFA< SymbolType, StateType > &other) |
|
| ExtendedNFA (const EpsilonNFA< SymbolType, StateType > &other) |
|
| ExtendedNFA (const MultiInitialStateNFA< SymbolType, StateType > &other) |
|
| ExtendedNFA (const NFA< SymbolType, StateType > &other) |
|
| ExtendedNFA (const DFA< SymbolType, StateType > &other) |
|
const StateType & | getInitialState () const & |
|
StateType && | getInitialState () && |
|
bool | setInitialState (StateType state) |
|
const ext::set< StateType > & | getStates () const & |
|
ext::set< StateType > && | getStates () && |
|
bool | addState (StateType state) |
|
void | setStates (ext::set< StateType > states) |
|
void | removeState (const StateType &state) |
|
const ext::set< StateType > & | getFinalStates () const & |
|
ext::set< StateType > && | getFinalStates () && |
|
bool | addFinalState (StateType state) |
|
void | setFinalStates (ext::set< StateType > states) |
|
void | removeFinalState (const StateType &state) |
|
const ext::set< SymbolType > & | getInputAlphabet () const & |
|
ext::set< SymbolType > && | getInputAlphabet () && |
|
bool | addInputSymbol (SymbolType symbol) |
|
void | addInputSymbols (ext::set< SymbolType > symbols) |
|
void | setInputAlphabet (ext::set< SymbolType > symbols) |
|
void | removeInputSymbol (const SymbolType &symbol) |
|
bool | addTransition (StateType from, regexp::UnboundedRegExpStructure< SymbolType > input, StateType to) |
| Add a transition to the automaton. More...
|
|
bool | removeTransition (const StateType &from, const regexp::UnboundedRegExpStructure< SymbolType > &input, const StateType &to) |
| Removes a transition from the automaton. More...
|
|
const ext::multimap< ext::pair< StateType, regexp::UnboundedRegExpStructure< SymbolType > >, StateType > & | getTransitions () const & |
|
ext::multimap< ext::pair< StateType, regexp::UnboundedRegExpStructure< SymbolType > >, StateType > && | getTransitions () && |
|
ext::multimap< ext::pair< StateType, regexp::UnboundedRegExpStructure< SymbolType > >, StateType > | getTransitionsFromState (const StateType &from) const |
|
ext::multimap< ext::pair< StateType, regexp::UnboundedRegExpStructure< SymbolType > >, StateType > | getTransitionsToState (const StateType &to) const |
|
auto | operator<=> (const ExtendedNFA &other) const |
|
bool | operator== (const ExtendedNFA &other) const |
|
void | accessComponent () |
|
template<class SymbolTypeT = DefaultSymbolType, class StateTypeT = DefaultStateType>
class automaton::ExtendedNFA< SymbolTypeT, StateTypeT >
Extended nondeterministic finite automaton. Accepts regular languages. The automaton has a regular expression on transitions.
Definition is classical definition of finite automata. A = (Q, T, I, \delta, F), Q (States) = nonempty finite set of states, T (TerminalAlphabet) = finite set of terminal symbols - having this empty won't let automaton do much though, I (InitialState) = initial state, \delta = transition function of the form A \times a -> P(Q), where A \in Q, a \in RegExpsOver(T), and P(Q) is a powerset of states, F (FinalStates) = set of final states
- Template Parameters
-
SymbolTypeT | used for the terminal alphabet |
StateTypeT | used to the states, and the initial state of the automaton. |