zerodds-ast
Common AST for the ZeroDDS type system: source-neutral node space with per-source typed facets.
- Source: crates/ast
- API docs: docs.rs/zerodds-ast
The one model every frontend lowers into and every backend reads from.
A source-neutral core node space carries per-source typed facets, so a construct that exists in OMG IDL and not in ROS 2 IDL is a facet on a shared node rather than a second node kind. Twenty-one language columns and every wire probe read this model; none of them reads an IDL file.
This crate holds no layout and no bytes. What a member's offset is, which header frames it, how long the extent runs — that is the answer of zerodds-ast-layout, computed per encoding and byte order.
Position
- Built on
zerodds-ast-core, which supplies the storage; this crate supplies the node kinds. - Written by the frontends
zerodds-idl-lower(OMG IDL) andzerodds-xml-compose(DDS-XML). - Read by
zerodds-ast-layoutandzerodds-lang-rules. - Together with the
zerodds-idl-*crates it replaces the formerzerodds-idl.
Specification
docs/specs/zerodds-ast-1.0.md — the model and the facet rules.
zerodds-ast
Gemeinsamer AST für das ZeroDDS-Typsystem: ein quellneutraler Knotenraum mit typisierten Facetten je Quelle.
- Quelle: crates/ast
- API-Docs: docs.rs/zerodds-ast
Das eine Modell, in das jedes Frontend absenkt und aus dem jedes Backend liest.
Ein quellneutraler Kernknotenraum trägt typisierte Facetten je Quelle. Ein Konstrukt, das es in OMG IDL gibt und in ROS-2-IDL nicht, ist deshalb eine Facette an einem gemeinsamen Knoten und keine zweite Knotenart. Einundzwanzig Sprachspalten und jede Wire-Probe lesen dieses Modell; keine davon liest eine IDL-Datei.
Diese Crate enthält kein Layout und keine Bytes. Wo ein Member liegt, welcher Header ihn rahmt und wie weit seine Ausdehnung reicht, beantwortet zerodds-ast-layout, berechnet je Kodierung und Bytereihenfolge.
Stellung
- Baut auf
zerodds-ast-coreauf, das den Speicher liefert; diese Crate liefert die Knotenarten. - Geschrieben von den Frontends
zerodds-idl-lower(OMG IDL) undzerodds-xml-compose(DDS-XML). - Gelesen von
zerodds-ast-layoutundzerodds-lang-rules. - Ersetzt zusammen mit den
zerodds-idl-*-Crates die frühere Cratezerodds-idl.
Spezifikation
docs/specs/zerodds-ast-1.0.md — das Modell und die Regeln für Facetten.