Abstract Syntax Tree definitions for the CJC compiler.
This crate defines the complete AST node taxonomy produced by [cjc_parser]:
[Program], [Stmt]/[StmtKind], [Expr]/[ExprKind], [Decl]/[DeclKind],
type expressions ([TypeExpr]/[TypeExprKind]), patterns ([Pattern]/[PatternKind]),
and all supporting structures (identifiers, spans, operators, etc.).
This is a leaf crate with zero internal dependencies, ensuring it can be consumed by every downstream stage of the compiler pipeline without cycles.
Submodules
- [
visit] — Read-only visitor trait and walk functions for AST traversal - [
metrics] — Structural statistics (node counts, depths, feature flags) - [
validate] — Lightweight structural validation before HIR lowering - [
inspect] — Deterministic text dumps for debugging and testing - [
node_utils] — Pure query methods on [Expr], [Block], and [Program]