reinhardt_manouche/lib.rs
1#![warn(missing_docs)]
2//! Manouche DSL - front-end for the reinhardt-pages macro family.
3//!
4//! This crate provides the Abstract Syntax Tree (AST) structures,
5//! parsing logic, and semantic validation for the `page!`, `form!`,
6//! and `head!` macros. Final code generation is performed by
7//! downstream consumers (e.g. `reinhardt-pages/macros`) directly from
8//! the Typed AST.
9//!
10//! The name "manouche" comes from [Manouche Jazz](https://en.wikipedia.org/wiki/Gypsy_jazz),
11//! a genre of music created by Django Reinhardt in the 1930s.
12//!
13//! ## Modules
14//!
15//! - [`core`] - DSL types, Untyped/Typed AST, reactive traits
16//! - [`parser`] - TokenStream -> Untyped AST
17//! - [`validator`] - Untyped AST -> Typed AST (semantic analysis)
18//!
19//! ## Pipeline
20//!
21//! ```text
22//! TokenStream -> parse -> Untyped AST -> validate -> Typed AST
23//! ```
24
25pub mod core;
26pub mod parser;
27pub mod validator;
28
29// Convenience re-exports from core
30pub use core::*;