[][src]Struct ascesis::sentence::Generator

pub struct Generator<'g> { /* fields omitted */ }

Axiom-independent derivation data.

Methods

impl<'g> Generator<'g>[src]

pub fn new(grammar: &'g Grammar) -> Self[src]

Creates a new Generator and gathers axiom-independent derivation data.

Computes shortest derivation paths from productions to sentences. For each production stores the computed length. For each nonterminal stores the ID of the best production having that nonterminal on the left.

pub fn rooted<S: AsRef<str>>(&self, axiom: S) -> Result<RootedGenerator, String>[src]

Returns a new RootedGenerator and gathers axiom-specific derivation data.

Computes shortest derivation paths from axiom through all nonterminals. For each nonterminal stores the computed length and the ID of the best production having that nonterminal on the right (best parent production).

Trait Implementations

impl<'g> Debug for Generator<'g>[src]

Auto Trait Implementations

impl<'g> RefUnwindSafe for Generator<'g>

impl<'g> Send for Generator<'g>

impl<'g> Sync for Generator<'g>

impl<'g> Unpin for Generator<'g>

impl<'g> UnwindSafe for Generator<'g>

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<Reference, Outer, OuterFieldType, Inner> HasPart<Nested<Outer, Inner>> for Reference where
    Inner: Part,
    Outer: Part<PartType = Field<OuterFieldType>>,
    OuterFieldType: HasPart<Inner, RawTarget = OuterFieldType> + PartialRefTarget + ?Sized,
    Reference: HasPart<Outer> + ?Sized

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,