Trait Parser

Source
pub trait Parser<I: Input> {
    type Output;

    // Required method
    fn parse(
        input: &I,
        current: I::Position,
        context: &ParserContext,
    ) -> ResultOf<I, Self::Output>;
}

Required Associated Types§

Required Methods§

Source

fn parse( input: &I, current: I::Position, context: &ParserContext, ) -> ResultOf<I, Self::Output>

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§

Source§

impl<I: Input> Parser<I> for Null

Source§

impl<I: Input, P: Parser<I>> Parser<I> for OneOrMore<P>

Source§

type Output = Vec<<P as Parser<I>>::Output>

Source§

impl<I: Input, P: Parser<I>, P2: Parser<I>> Parser<I> for Concat<P, P2>

Source§

type Output = (<P as Parser<I>>::Output, <P2 as Parser<I>>::Output)

Source§

impl<I: Input, P: Parser<I>, P2: Parser<I>> Parser<I> for OneOf<P, P2>

Source§

type Output = Either<<P as Parser<I>>::Output, <P2 as Parser<I>>::Output>

Source§

impl<P: Predicate<char>, I: Input> Parser<I> for ExpectChar<P>