Nondeterministic Z-Automaton. Computation model for unranked regular tree languages.
More...
|
| | NondeterministicZAutomaton () |
| | Creates a new instance of the automaton. More...
|
| |
| | NondeterministicZAutomaton (ext::set< StateType > states, ext::set< SymbolType > inputAlphabet, ext::set< StateType > finalStates) |
| | Creates a new instance of the automaton with a concrete set of states, input alphabet, and a set of final states. More...
|
| |
| 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 (ext::variant< SymbolType, StateType > symbol, ext::vector< ext::variant< SymbolType, StateType > > prevStates, StateType next) |
| | Add a transition to the automaton. More...
|
| |
| bool | removeTransition (const ext::variant< SymbolType, StateType > &symbol, const ext::vector< ext::variant< SymbolType, StateType > > &states, const StateType &next) |
| | Removes a transition from the automaton. More...
|
| |
| const ext::multimap< ext::pair< ext::variant< SymbolType, StateType >, ext::vector< ext::variant< SymbolType, StateType > > >, StateType > & | getTransitions () const & |
| |
| ext::multimap< ext::pair< ext::variant< SymbolType, StateType >, ext::vector< ext::variant< SymbolType, StateType > > >, StateType > && | getTransitions () && |
| |
| ext::multimap< ext::pair< ext::variant< SymbolType, StateType >, ext::vector< ext::variant< SymbolType, StateType > > >, StateType > | getTransitionsToState (const StateType &q) const |
| |
| ext::multimap< ext::pair< ext::variant< SymbolType, StateType >, ext::vector< ext::variant< SymbolType, StateType > > >, StateType > | getTransitionsFromState (const StateType &q) const |
| |
| auto | operator<=> (const NondeterministicZAutomaton &other) const |
| |
| bool | operator== (const NondeterministicZAutomaton &other) const |
| |
| void | accessComponent () |
| |
template<class SymbolTypeT = DefaultSymbolType, class StateTypeT = DefaultStateType>
class automaton::NondeterministicZAutomaton< SymbolTypeT, StateTypeT >
Nondeterministic Z-Automaton. Computation model for unranked regular tree languages.
Defined in Björklund, Drewes, Satta: Z-Automata for Compact and Direct Representation of Unranked Tree Languages https://doi.org/10.1007/978-3-030-23679-3_7
Nondeterministic Z-Automaton is a quadruple A = (\Sigma, Q, R, F), where \Sigma is an input alphabet; Q is the finite set of states, Q \cap T = \emptyset; R is the set of transition rules, each of the form s -> q, q \in Q, s is a tree over \Sigma \cup Q; F is a set of final states
- Template Parameters
-
| SymbolTypeT | used for the symbols of the tree the automaton is executed on. |
| StateTypeT | used for the states, and the initial state of the automaton. |