oni_comb_parser_rs/internal/parser_impl/
parser_runner_impl.rsuse crate::core::{ParseResult, ParseState, Parser, ParserRunner};
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;
fn parse(&self, input: &'a [Self::Input]) -> ParseResult<'a, Self::Input, Self::Output> {
let parse_state = ParseState::new(input, 0);
self.run(&parse_state)
}
fn run(&self, param: &ParseState<'a, Self::Input>) -> ParseResult<'a, Self::Input, Self::Output> {
(self.method)(param)
}
}