[][src]Trait branchy::RuleSelector

pub trait RuleSelector<Nt, T> {
    fn select_matching_rule<'a>(
        &self,
        matching_rules: &[&'a Rule<Nt, T>]
    ) -> Option<&'a Rule<Nt, T>>; fn select_rule<'a>(
        &self,
        all_rules: &'a [Rule<Nt, T>],
        nonterm_value: &Nt
    ) -> Option<&'a Rule<Nt, T>>
    where
        Nt: NonterminalValue
, { ... }
fn find_matching_rules<'a>(
        &self,
        all_rules: &'a [Rule<Nt, T>],
        nonterm_value: &Nt
    ) -> Vec<&'a Rule<Nt, T>>
    where
        Nt: NonterminalValue
, { ... } }

Implement this trait if you want to provide custom rule selection logic.

See crate docs for an example.

Required methods

fn select_matching_rule<'a>(
    &self,
    matching_rules: &[&'a Rule<Nt, T>]
) -> Option<&'a Rule<Nt, T>>

Loading content...

Provided methods

fn select_rule<'a>(
    &self,
    all_rules: &'a [Rule<Nt, T>],
    nonterm_value: &Nt
) -> Option<&'a Rule<Nt, T>> where
    Nt: NonterminalValue

fn find_matching_rules<'a>(
    &self,
    all_rules: &'a [Rule<Nt, T>],
    nonterm_value: &Nt
) -> Vec<&'a Rule<Nt, T>> where
    Nt: NonterminalValue

Loading content...

Implementors

impl<Nt, T> RuleSelector<Nt, T> for UniformRandomRuleSelector[src]

Loading content...