Skip to main content

badness_parser/
lib.rs

1//! badness-parser — the lossless CST parser, semantic model, and
2//! command-signature database behind [badness](https://badness.dev/), for
3//! LaTeX (`.tex`, `.sty`/`.cls`, `.dtx`, `.ins`) and BibTeX (`.bib`).
4//!
5//! The parser treats input as generic TeX surface syntax and always produces a
6//! lossless rowan tree: `reconstruct(text) == text`, byte for byte. Semantics
7//! (arity, verbatim-ness, sectioning) are layered on top in [`semantic`],
8//! never inside the grammar.
9
10pub mod ast;
11pub mod bib;
12pub mod parser;
13pub mod semantic;
14pub mod syntax;
15
16// Re-export rowan so embedders can name the exact tree types this crate is
17// built against without pinning a matching rowan version themselves.
18pub use rowan;