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. |