zerodds-ast-core
Generic AST infrastructure: generational arenas, stable node ids, three-valued references, undo-logged transactions, changesets, observers, deterministic snapshots. No DDS knowledge.
- Source: crates/ast-core
- API docs: docs.rs/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.
Position
- No dependency on another ZeroDDS crate.
- Base of
zerodds-ast; the crates that work on the model, among themzerodds-ast-layout,zerodds-idl-lower,zerodds-lang-rulesandzerodds-wire-codec, depend on it as well.
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.
- Quelle: crates/ast-core
- API-Docs: docs.rs/zerodds-ast-core
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
- Keine Abhängigkeit von einer anderen ZeroDDS-Crate.
- Grundlage von
zerodds-ast; die Crates, die auf dem Modell arbeiten, darunterzerodds-ast-layout,zerodds-idl-lower,zerodds-lang-rulesundzerodds-wire-codec, hängen ebenfalls von ihr ab.
Spezifikation
docs/specs/zerodds-ast-1.0.md §3 — die Regeln für Identität und Transaktionen, die diese Crate umsetzt.