zerodds-ast-core

Generic AST infrastructure: generational arenas, stable node ids, three-valued references, undo-logged transactions, changesets, observers, deterministic snapshots. No DDS knowledge.

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.

Position

Specification

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

zerodds-ast-core

Generische AST-Infrastruktur: Arenen mit Generationszählern, stabile Knoten-IDs, dreiwertige Referenzen, Transaktionen mit Rücknahmeprotokoll, Changesets, Beobachter, deterministische Momentaufnahmen. Kein Wissen über DDS.

Die Arena, in der der gemeinsame AST gebaut wird.

Arenen mit Generationszählern und typisierten Handles, eine Knotenidentität, die über Änderungen stabil bleibt, dreiwertige Referenzen — aufgelöst, ausstehend, gebrochen — und Transaktionen mit Rücknahmeprotokoll, die ein Changeset ausgeben. Ein Beobachter sieht, was sich geändert hat, ohne den Baum zu vergleichen.

Diese Crate weiß nichts über IDL, XTypes oder die Kodierung auf der Leitung. Sie hat keine eigenen Knotenarten; die liefert zerodds-ast. Weil beide getrennt sind, kann ein zweites Frontend den Speicher nutzen, ohne den Knotenraum einer Sprache zu erben.

Stellung

Spezifikation

docs/specs/zerodds-ast-1.0.md §3 — die Regeln für Identität und Transaktionen, die diese Crate umsetzt.