1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
// SPDX-License-Identifier: Apache-2.0
// Copyright 2026 ZeroDDS Contributors
//! Crate `zerodds-idl-lower`. Safety classification: **SAFE**.
//!
//! Lowers the IDL CST into the common AST: scopes and name binding,
//! resolution, and the IDL rules the model cannot express structurally.
//!
//! A name that cannot be resolved yet becomes a pending reference rather
//! than an error — the model is built for partial knowledge, and forward
//! declarations depend on it.
//!
//! ## Spec
//!
//! - `docs/specs/zerodds-idl-frontend-1.0.md` §4 (lowering), §5
//! (completion), §6 (validation).
//! - `docs/specs/zerodds-ast-1.0.md` §2 (references), §5 (transactions).
//!
//! ## Layer position
//!
//! Layer 2 of the frontend — over `zerodds-idl-parse` and `zerodds-ast`.
extern crate alloc;
extern crate std;
pub use verbatim_placement;
pub use hashed_member_id;
pub use ;
pub use ScopeStack;
pub use rule_name;