sipha_tree/lib.rs
1//! CST/AST construction and node arena management.
2//!
3//! This crate provides:
4//! - `NodeArena` for efficient CST node storage
5//! - `CstNode` and `CstKind` for representing concrete syntax trees
6//! - `NodeChildren` for managing node relationships
7//! - `RawNodeId` and `NodeId` implementations
8//! - `LowerCtx` and `AstNode` trait for AST lowering
9
10pub mod arena;
11pub mod children;
12pub mod id;
13pub mod lowering;
14pub mod node;
15
16/// Prelude module containing commonly used types.
17pub mod prelude {
18 pub use crate::{
19 arena::NodeArena,
20 children::NodeChildren,
21 id::RawNodeId,
22 lowering::{AstNode, LowerCtx},
23 node::{CstKind, CstNode},
24 };
25}
26
27pub use crate::{
28 arena::NodeArena,
29 children::NodeChildren,
30 id::RawNodeId,
31 lowering::{AstNode, LowerCtx},
32 node::{CstKind, CstNode},
33};