bynk_syntax/lib.rs
1//! Bynk's syntax foundation — the lowest leaf of the compiler crate set.
2//!
3//! This crate holds the modules every other layer depends *on* and none depend
4//! *up* from: the lexer, the parser and its AST, source [`span`]s, the
5//! [`keywords`] table, the structured [`CompileError`]
6//! type, and the [`diagnostics`] code registry (the single source of truth for
7//! `bynk.*` codes). Diagnostics, positions, and codes therefore cross every
8//! crate without an upward edge.
9//!
10//! Extracted from `bynkc` as slice 1 of the crate-decomposition track (ADRs
11//! 0099 layering, 0102 foundation boundary). Behaviour is unchanged from when
12//! these modules lived in `bynkc`; `bynkc` now re-exports them so its public
13//! API is preserved.
14
15pub mod ast;
16pub mod diagnostics;
17pub mod error;
18pub mod keywords;
19pub mod lexer;
20pub mod parser;
21pub mod span;
22
23pub use error::{CompileError, Severity, partition_by_severity};