mod parser;
mod scanner;
mod source;
pub use parser::*;
pub use scanner::*;
pub use source::*;
pub enum ParseResult<R, E> {
Fail(E),
Warn(E, R),
Ok(R),
}
impl<R, E> ParseResult<R, E>
where
E: std::error::Error,
{
pub fn unwrap(self) -> R {
match self {
Self::Fail(err) => {
panic!("{err}");
}
Self::Warn(_err, res) => res,
Self::Ok(res) => res,
}
}
}