chumsky::debug

Trait 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.

Dyn Compatibilityยง

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementorsยง