//! Parsuna: parser generator for recoverable, pull-based parsers.
//!
//! A grammar is parsed by [`grammar::parse_grammar`] into a [`Grammar`] IR,
//! [`analysis::analyze`] checks it and computes FIRST/FOLLOW up to the
//! smallest `k` that removes LL conflicts, [`lowering::lower`] turns the
//! result into a flat [`lowering::StateTable`], and a [`codegen::Backend`]
//! emits target-language source from that table.
//!
//! Generated parsers at run time use the [`parsuna_rt`] crate (re-exported
//! here for [`Error`], [`Span`]) for the generic pull loop; each target
//! language has its own embedded runtime when there is no host crate.
pub use AnalyzedGrammar;
pub use ;
pub use Error;
pub use ;
pub use Span;