Trait chumsky::debug::Debugger

source ·
pub trait Debugger {
    // Required methods
    fn scope<R, Info: FnOnce() -> ParserInfo, F: FnOnce(&mut Self) -> R>(
        &mut self,
        info: Info,
        f: F
    ) -> R;
    fn emit_with<F: FnOnce() -> ParseEvent>(&mut self, f: F);
    fn invoke<I: Clone, O, P: Parser<I, O> + ?Sized>(
        &mut self,
        parser: &P,
        stream: &mut Stream<'_, I, <P::Error as Error<I>>::Span>
    ) -> (Vec<Located<I, P::Error>>, Result<(O, Option<Located<I, P::Error>>), Located<I, P::Error>>);
}
👎Deprecated: This trait is excluded from the semver guarantees of chumsky. If you decide to use it, broken builds are your fault.
Expand description

A trait implemented by parser debuggers.

Required Methods§

source

fn scope<R, Info: FnOnce() -> ParserInfo, F: FnOnce(&mut Self) -> R>( &mut self, info: Info, f: F ) -> R

👎Deprecated: This trait is excluded from the semver guarantees of chumsky. If you decide to use it, broken builds are your fault.

Create a new debugging scope.

source

fn emit_with<F: FnOnce() -> ParseEvent>(&mut self, f: F)

👎Deprecated: This trait is excluded from the semver guarantees of chumsky. If you decide to use it, broken builds are your fault.

Emit a parse event, if the debugger supports them.

source

fn invoke<I: Clone, O, P: Parser<I, O> + ?Sized>( &mut self, parser: &P, stream: &mut Stream<'_, I, <P::Error as Error<I>>::Span> ) -> (Vec<Located<I, P::Error>>, Result<(O, Option<Located<I, P::Error>>), Located<I, P::Error>>)

👎Deprecated: This trait is excluded from the semver guarantees of chumsky. If you decide to use it, broken builds are your fault.

Invoke the given parser with a mode specific to this debugger.

Implementors§