pub struct InferredAutomaton {
pub states: Vec<InferredState>,
pub transitions: Vec<BTreeMap<Symbol, usize>>,
pub final_probabilities: Vec<Option<ProbabilisticTruthValue>>,
pub transition_probabilities: Vec<BTreeMap<Symbol, ProbabilisticTruthValue>>,
pub merge_history: Vec<MergeEvent>,
}Expand description
Inferred deterministic finite automaton.
The automaton is partial: absent transitions reject. States that cannot reach an accepting state are pruned after learning, while their negative labels are still used internally to reject inconsistent merges.
Fields§
§states: Vec<InferredState>Productive DFA states. State 0 is the initial state.
transitions: Vec<BTreeMap<Symbol, usize>>Deterministic transitions for each state.
final_probabilities: Vec<Option<ProbabilisticTruthValue>>Final-state probabilities for stochastic ALERGIA output.
transition_probabilities: Vec<BTreeMap<Symbol, ProbabilisticTruthValue>>Transition probabilities for stochastic ALERGIA output.
merge_history: Vec<MergeEvent>Accepted merge history in deterministic order.
Implementations§
Source§impl InferredAutomaton
impl InferredAutomaton
Sourcepub fn accepts(&self, input: &[Symbol]) -> bool
pub fn accepts(&self, input: &[Symbol]) -> bool
Returns true when input is accepted by the inferred automaton.
Sourcepub fn accepts_text(&self, text: &str) -> bool
pub fn accepts_text(&self, text: &str) -> bool
Convenience helper for character-level automata.
Sourcepub fn to_grammar(&self) -> Grammar
pub fn to_grammar(&self) -> Grammar
Converts the automaton into a right-linear grammar.
Trait Implementations§
Source§impl Clone for InferredAutomaton
impl Clone for InferredAutomaton
Source§fn clone(&self) -> InferredAutomaton
fn clone(&self) -> InferredAutomaton
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for InferredAutomaton
impl Debug for InferredAutomaton
Source§impl PartialEq for InferredAutomaton
impl PartialEq for InferredAutomaton
Source§fn eq(&self, other: &InferredAutomaton) -> bool
fn eq(&self, other: &InferredAutomaton) -> bool
Tests for
self and other values to be equal, and is used by ==.impl Eq for InferredAutomaton
impl StructuralPartialEq for InferredAutomaton
Auto Trait Implementations§
impl Freeze for InferredAutomaton
impl RefUnwindSafe for InferredAutomaton
impl Send for InferredAutomaton
impl Sync for InferredAutomaton
impl Unpin for InferredAutomaton
impl UnsafeUnpin for InferredAutomaton
impl UnwindSafe for InferredAutomaton
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.