zerodds-ast-core 1.0.0-rc.7

Generic AST infrastructure: generational arenas, stable node ids, three-valued references, undo-logged transactions, changesets, observers, deterministic snapshots. No DDS knowledge.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# `zerodds-ast-core`

The arena the common AST is built in.

Generational arenas with typed handles, stable node identity across
edits, three-valued references — resolved, pending, broken — and
undo-logged transactions that emit a changeset. An observer sees what
changed without diffing the tree.

This crate knows **nothing about IDL, XTypes or the wire**. It has no
node kinds of its own; `zerodds-ast` supplies those. Keeping the two
apart is what lets a second frontend reuse the storage without
inheriting one language's node space.

See `docs/specs/zerodds-ast-1.0.md` §3 for the identity and transaction
rules this crate implements.