[][src]Trait branchy::ExpansionLogger

pub trait ExpansionLogger<Nt, T> {
    fn on_nonterm_expanded(
        &mut self,
        _expanded_nonterm_value: &Nt,
        _rule: &Rule<Nt, T>
    ) { ... }
fn on_nonterm_expansion_failed(&mut self, _expanded_nonterm_value: &Nt) { ... }
fn on_input_fully_expanded(&mut self, _expansion_result: &[T]) { ... }
fn on_max_iterations_reached(
        &mut self,
        _current_state: &[Symbol<Nt, T>],
        _iterations: usize
    ) { ... } }

Implement this trait if you want to log or otherwise handle individual steps during expansion.

See crate docs for an example.

Provided methods

fn on_nonterm_expanded(
    &mut self,
    _expanded_nonterm_value: &Nt,
    _rule: &Rule<Nt, T>
)

fn on_nonterm_expansion_failed(&mut self, _expanded_nonterm_value: &Nt)

fn on_input_fully_expanded(&mut self, _expansion_result: &[T])

fn on_max_iterations_reached(
    &mut self,
    _current_state: &[Symbol<Nt, T>],
    _iterations: usize
)

Loading content...

Implementors

impl<Nt, T> ExpansionLogger<Nt, T> for NullExpansionLogger[src]

Loading content...