Skip to main content

bnf/
lib.rs

1#![doc = include_str!("../README.md")]
2
3mod append_vec;
4mod earley;
5mod error;
6mod expression;
7mod generation;
8mod grammar;
9mod parser;
10mod parsers;
11mod production;
12mod term;
13mod tracing;
14mod validation;
15pub use crate::error::Error;
16pub use crate::expression::Expression;
17pub use crate::generation::{
18    CoverageGuided, DepthBounded, GenerationStrategy, RandomWalk, Weighted,
19};
20pub use crate::grammar::{Grammar, ParseTree, ParseTreeNode, escape_mermaid_label};
21pub use crate::parser::GrammarParser;
22pub use crate::production::Production;
23pub use crate::term::Term;
24
25// The version of `rand` used by the public API.
26pub use rand;
27
28#[cfg(feature = "ABNF")]
29pub use parsers::ABNF;
30pub use parsers::{BNF, Format};
31
32pub(crate) use hashbrown::HashMap;
33pub(crate) use hashbrown::HashSet;