Trait nom::Parser [−][src]
pub trait Parser<I, O, E> { fn parse(&mut self, input: I) -> IResult<I, O, E>; fn map<G, O2>(self, g: G) -> Map<Self, G, O>
where
G: Fn(O) -> O2,
Self: Sized, { ... } fn flat_map<G, H, O2>(self, g: G) -> FlatMap<Self, G, O>
where
G: Fn(O) -> H,
H: Parser<I, O2, E>,
Self: Sized, { ... } fn and_then<G, O2>(self, g: G) -> AndThen<Self, G, O>
where
G: Parser<O, O2, E>,
Self: Sized, { ... } fn and<G, O2>(self, g: G) -> And<Self, G>
where
G: Parser<I, O2, E>,
Self: Sized, { ... } fn or<G>(self, g: G) -> Or<Self, G>
where
G: Parser<I, O, E>,
Self: Sized, { ... } fn into<O2: From<O>, E2: From<E>>(self) -> Into<Self, O, O2, E, E2>
where
Self: Sized, { ... } }
Expand description
All nom parsers implement this trait
Required methods
Provided methods
Maps a function over the result of a parser
Creates a second parser from the output of the first one, then apply over the rest of the input
Applies a second parser over the output of the first one
Applies a second parser after the first one, return their results as a tuple
Applies a second parser over the input if the first one failed
Implementations on Foreign Types
Implementors
impl<'a, I, O1, O2, E, F: Parser<I, O1, E>, G: Fn(O1) -> H, H: Parser<I, O2, E>> Parser<I, O2, E> for FlatMap<F, G, O1>
impl<'a, I, O1, O2, E, F: Parser<I, O1, E>, G: Parser<I, O2, E>> Parser<I, (O1, O2), E> for And<F, G>
impl<'a, I, O1, O2, E, F: Parser<I, O1, E>, G: Parser<O1, O2, E>> Parser<I, O2, E> for AndThen<F, G, O1>