use crate::ast::Ast;
use crate::error::SwiftletError;
use crate::lexer::Tokenizer;
use crate::parser_frontends::GrammarRuntime;
use std::sync::Arc;
pub mod clr;
pub mod earley;
mod utils;
pub trait ParserBackend {
fn get_parser_frontend(&self) -> &Arc<GrammarRuntime>;
fn parse(&self, token: &mut Tokenizer) -> Result<Ast, SwiftletError>;
}