Skip to main content

zerodds_idl/
lib.rs

1// SPDX-License-Identifier: Apache-2.0
2// Copyright 2026 ZeroDDS Contributors
3//! IDL4 parser, AST, and semantic model (OMG IDL 4.2 / ISO/IEC 19516).
4//!
5//! Crate `zerodds-idl`.
6//!
7//! Safety classification: **SAFE (std-only)**.
8//! Siehe `docs/architecture/02_architecture.md §3` und
9//! `docs/architecture/04_safety_by_architecture.md §2`.
10//!
11//! Diese Bibliothek liefert Parser, AST-Typen und Semantik-Analyse fuer
12//! OMG IDL 4.2. Backend-Code-Generatoren (C, C++, C#, Java, Python, Rust)
13//! leben im Binary-Crate `zerodds-idlc`, der diese Bibliothek konsumiert.
14//!
15//! **Keine no_std-Unterstuetzung:** IDL-Parsing ist eine Build-Zeit-Operation
16//! (Tool-Pipeline, Code-Generator). IDL-Strukturen werden zu fertigen Binaries
17//! kompiliert, bevor sie auf embedded-Targets deployed werden. Ein no_std-IDL-
18//! Parser hat keinen realen Use-Case. Safety-Qualitaet wird ueber
19//! `forbid(unsafe_code)` + Workspace-Clippy-Regeln (no panic/unwrap/expect)
20//! gesichert, nicht ueber embedded-Faehigkeit. Siehe RFC 0001
21//! (`docs/rfcs/0001-idl-parser-architecture.md`).
22
23#![forbid(unsafe_code)]
24#![warn(missing_docs)]
25
26pub mod ast;
27pub mod config;
28pub mod cst;
29pub mod engine;
30pub mod errors;
31pub mod features;
32pub mod grammar;
33pub mod lexer;
34pub mod parser;
35pub mod preprocessor;
36pub mod semantics;
37
38pub use parser::{Error, parse};