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};