pub struct Parser<'a, I, A> { /* private fields */ }
Implementations§
Trait Implementations§
Source§impl<'a, I, A> CacheParser<'a> for Parser<'a, I, A>
impl<'a, I, A> CacheParser<'a> for Parser<'a, I, A>
Source§impl<'a, I, A> CollectParser<'a> for Parser<'a, I, A>
impl<'a, I, A> CollectParser<'a> for Parser<'a, I, A>
Source§impl<'a, I, A> ConversionParser<'a> for Parser<'a, I, A>
impl<'a, I, A> ConversionParser<'a> for Parser<'a, I, A>
Source§impl<'a, I, A> DiscardParser<'a> for Parser<'a, I, A>
impl<'a, I, A> DiscardParser<'a> for Parser<'a, I, A>
Source§impl<'a, I, A> LoggingParser<'a> for Parser<'a, I, A>
impl<'a, I, A> LoggingParser<'a> for Parser<'a, I, A>
fn log( self, name: &'a str, log_level: LogLevel, ) -> Self::P<'a, Self::Input, Self::Output>
fn debug(self, name: &'a str) -> Self::P<'a, Self::Input, Self::Output>
fn info(self, name: &'a str) -> Self::P<'a, Self::Input, Self::Output>
fn warn(self, name: &'a str) -> Self::P<'a, Self::Input, Self::Output>
fn error(self, name: &'a str) -> Self::P<'a, Self::Input, Self::Output>
fn name(self, name: &'a str) -> Self::P<'a, Self::Input, Self::Output>
Source§impl<'a, I, A> OffsetParser<'a> for Parser<'a, I, A>
impl<'a, I, A> OffsetParser<'a> for Parser<'a, I, A>
Source§impl<'a, I, A> OperatorParser<'a> for Parser<'a, I, A>
impl<'a, I, A> OperatorParser<'a> for Parser<'a, I, A>
fn and_then<B>( self, pb: Self::P<'a, Self::Input, B>, ) -> Self::P<'a, Self::Input, (Self::Output, B)>
fn or( self, pb: Self::P<'a, Self::Input, Self::Output>, ) -> Self::P<'a, Self::Input, Self::Output>
fn exists(self) -> Self::P<'a, Self::Input, bool>
fn not(self) -> Self::P<'a, Self::Input, ()>
fn opt(self) -> Self::P<'a, Self::Input, Option<Self::Output>>
fn attempt(self) -> Self::P<'a, Self::Input, Self::Output>
fn scan_right1<BOP>( self, op: Self::P<'a, Self::Input, BOP>, ) -> Self::P<'a, Self::Input, Self::Output>
fn chain_right0<BOP>( self, op: Self::P<'a, Self::Input, BOP>, x: Self::Output, ) -> Self::P<'a, Self::Input, Self::Output>
fn chain_left0<BOP>( self, op: Self::P<'a, Self::Input, BOP>, x: Self::Output, ) -> Self::P<'a, Self::Input, Self::Output>
fn chain_right1<BOP>( self, op: Self::P<'a, Self::Input, BOP>, ) -> Self::P<'a, Self::Input, Self::Output>
fn chain_left1<BOP>( self, op: Self::P<'a, Self::Input, BOP>, ) -> Self::P<'a, Self::Input, Self::Output>
fn rest_right1<BOP>( self, op: Self::P<'a, Self::Input, BOP>, x: Self::Output, ) -> Self::P<'a, Self::Input, Self::Output>
fn rest_left1<BOP>( self, op: Self::P<'a, Self::Input, BOP>, x: Self::Output, ) -> Self::P<'a, Self::Input, Self::Output>
Source§impl<'a, I, A> ParserFilter<'a> for Parser<'a, I, A>
impl<'a, I, A> ParserFilter<'a> for Parser<'a, I, A>
Source§impl<'a, I, A> ParserFunctor<'a> for Parser<'a, I, A>
impl<'a, I, A> ParserFunctor<'a> for Parser<'a, I, A>
Source§impl<'a, I, A> ParserMonad<'a> for Parser<'a, I, A>
impl<'a, I, A> ParserMonad<'a> for Parser<'a, I, A>
Source§impl<'a, I, A> ParserPure<'a> for Parser<'a, I, A>
impl<'a, I, A> ParserPure<'a> for Parser<'a, I, A>
Source§impl<'a, I, A> ParserRunner<'a> for Parser<'a, I, A>
impl<'a, I, A> ParserRunner<'a> for Parser<'a, I, A>
type Input = I
type Output = A
type P<'m, X, Y> = Parser<'m, X, Y> where X: 'm
Source§fn parse(
&self,
input: &'a [Self::Input],
) -> ParseResult<'a, Self::Input, Self::Output>
fn parse( &self, input: &'a [Self::Input], ) -> ParseResult<'a, Self::Input, Self::Output>
Analyze input value(for ParseResult).
入力を解析する。
入力を解析する。
Source§fn run(
&self,
param: &ParseState<'a, Self::Input>,
) -> ParseResult<'a, Self::Input, Self::Output>
fn run( &self, param: &ParseState<'a, Self::Input>, ) -> ParseResult<'a, Self::Input, Self::Output>
Source§fn parse_as_result(
&self,
input: &'a [Self::Input],
) -> Result<Self::Output, ParseError<'a, Self::Input>>
fn parse_as_result( &self, input: &'a [Self::Input], ) -> Result<Self::Output, ParseError<'a, Self::Input>>
Analyze input value(for Result).
入力を解析する。
入力を解析する。
Source§impl<'a, I, A> PeekParser<'a> for Parser<'a, I, A>
impl<'a, I, A> PeekParser<'a> for Parser<'a, I, A>
Source§impl<'a, I, A> RepeatParser<'a> for Parser<'a, I, A>
impl<'a, I, A> RepeatParser<'a> for Parser<'a, I, A>
fn repeat<R>(self, range: R) -> Self::P<'a, Self::Input, Vec<Self::Output>>
fn of_many0(self) -> Self::P<'a, Self::Input, Vec<Self::Output>>
fn of_many1(self) -> Self::P<'a, Self::Input, Vec<Self::Output>>
fn of_many_n_m( self, n: usize, m: usize, ) -> Self::P<'a, Self::Input, Vec<Self::Output>>
fn of_count(self, n: usize) -> Self::P<'a, Self::Input, Vec<Self::Output>>
fn of_rep_sep<B, R>( self, range: R, separator: Option<Self::P<'a, Self::Input, B>>, ) -> Self::P<'a, Self::Input, Vec<Self::Output>>
fn of_many0_sep<B>( self, separator: Self::P<'a, Self::Input, B>, ) -> Self::P<'a, Self::Input, Vec<Self::Output>>
fn of_many1_sep<B>( self, separator: Self::P<'a, Self::Input, B>, ) -> Self::P<'a, Self::Input, Vec<Self::Output>>
fn of_many_n_m_sep<B>( self, n: usize, m: usize, separator: Self::P<'a, Self::Input, B>, ) -> Self::P<'a, Self::Input, Vec<Self::Output>>
fn of_count_sep<B>( self, n: usize, separator: Self::P<'a, Self::Input, B>, ) -> Self::P<'a, Self::Input, Vec<Self::Output>>
Source§impl<'a, I, A> SkipParser<'a> for Parser<'a, I, A>
impl<'a, I, A> SkipParser<'a> for Parser<'a, I, A>
fn skip_left<B>( self, pb: Self::P<'a, Self::Input, B>, ) -> Self::P<'a, Self::Input, B>
fn skip_right<B>( self, pb: Self::P<'a, Self::Input, B>, ) -> Self::P<'a, Self::Input, Self::Output>
fn surround<B, C>( self, left_parser: Self::P<'a, Self::Input, B>, right_parser: Self::P<'a, Self::Input, C>, ) -> Self::P<'a, Self::Input, Self::Output>
Auto Trait Implementations§
impl<'a, I, A> Freeze for Parser<'a, I, A>
impl<'a, I, A> !RefUnwindSafe for Parser<'a, I, A>
impl<'a, I, A> !Send for Parser<'a, I, A>
impl<'a, I, A> !Sync for Parser<'a, I, A>
impl<'a, I, A> Unpin for Parser<'a, I, A>
impl<'a, I, A> !UnwindSafe for Parser<'a, I, A>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more