//! The Killer Rule Language (`.klr`).
//!
//! The pipeline is:
//!
//! ```text
//! .klr text ──▶ lexer ──▶ tokens ──▶ parser ──▶ Program (AST)
//! │
//! ┌────────────────────────┴───────────────┐
//! ▼ ▼
//! interpreter (attacks) rule_engine (static rules)
//! │ │
//! ▼ ▼
//! AttackOutcome RuleFinding
//! ```
//!
//! The lexer is deliberately private. `Token`/`TokenKind` describe the parser's
//! own intermediate representation, not the language, so exposing them would
//! make every change to the token stream a semver break. [`parse`] is the
//! supported entry point; [`ast`] is the supported representation.
pub use parse;