syntacks 0.1.0-alpha0.2

An opinionated parser library for Rust
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
use std::future::Future;

use crate::{Error, Input, Output};

pub type ParserResult<'src, I, O> = Result<Output<'src, I, O>, Error<'src, <I as Input<'src>>::Source>>;

pub trait Parser<'src, I, O>
where
	I: Input<'src>,
{
	fn parse(&mut self, input: I) -> ParserResult<'src, I, O>;
	fn parse_async(&mut self, input: I) -> impl Future<Output = ParserResult<'src, I, O>>;
}