Struct typestate_automata::NonDeterministicFiniteAutomata [−][src]
pub struct NonDeterministicFiniteAutomata<State, Transition> where
State: Eq + Hash + Clone,
Transition: Eq + Hash + Clone, { pub states: HashSet<State>, pub initial_states: HashMap<State, HashSet<Transition>>, pub final_states: HashMap<State, HashSet<Transition>>, // some fields omitted }
Expand description
A representation for non-deterministic finite automata.
Fields
states: HashSet<State>
Deterministic finite automata states.
initial_states: HashMap<State, HashSet<Transition>>
Deterministic finite automata initial state-indexes.
final_states: HashMap<State, HashSet<Transition>>
Deterministic finite automata final state-indexes.
Implementations
Add an initial state to the automata.
Add a final state to the automata.
pub fn add_non_deterministic_transitions(
&mut self,
source: &State,
symbol: &Transition,
destinations: impl Iterator<Item = State>
)
Compute the automata productive states.
Compute the automata non-productive states.
This is done by calling NonDeterministicFiniteAutomata::productive_states
and performing a diference against the full state set.
Compute the automata useful states.
Compute the automata non-useful states.
This is done by calling NonDeterministicFiniteAutomata::useful_states
and performing a diference against the full state set.
Trait Implementations
Implementation of the Default
trait for a NonDeterministicFiniteAutomata
.
This function is equivalent to NonDeterministicFiniteAutomata::new
.
Auto Trait Implementations
impl<State, Transition> RefUnwindSafe for NonDeterministicFiniteAutomata<State, Transition> where
State: RefUnwindSafe,
Transition: RefUnwindSafe,
impl<State, Transition> Send for NonDeterministicFiniteAutomata<State, Transition> where
State: Send,
Transition: Send,
impl<State, Transition> Sync for NonDeterministicFiniteAutomata<State, Transition> where
State: Sync,
Transition: Sync,
impl<State, Transition> Unpin for NonDeterministicFiniteAutomata<State, Transition> where
State: Unpin,
Transition: Unpin,
impl<State, Transition> UnwindSafe for NonDeterministicFiniteAutomata<State, Transition> where
State: UnwindSafe,
Transition: UnwindSafe,
Blanket Implementations
Mutably borrows from an owned value. Read more