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§
sourcefn scope<R, Info: FnOnce() -> ParserInfo, F: FnOnce(&mut Self) -> R>(
&mut self,
info: Info,
f: F
) -> R
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.
sourcefn emit_with<F: FnOnce() -> ParseEvent>(&mut self, f: F)
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.
sourcefn 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>>)
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.