zerodds-ast-layout
Wire layout planning over the common AST: XCDR1/XCDR2 member plans, length codes, key holders. Computes the plan; codecs execute it.
- Source: crates/ast-layout
- API docs: docs.rs/zerodds-ast-layout
Where a member sits, and what frames it.
Wire layout planning over the common AST: alignment, extent, header framing and offsets, computed per (encoding, endianness, purpose). Every difference between XCDR1 and XCDR2, between a plain and a delimited stream, between a payload and a KeyHash, is a different plan over the same model.
This crate never moves sample bytes. A codec executes the plan; the plan is data. That separation is why twenty-one language columns can be compared against each other: they all execute the same plan, so a disagreement is theirs and not the plan's.
The dialect axes live in this crate — one named value per question the vendors answer differently. zerodds-idlc generate --dialect/--<axis> and Config::dialect/Config::axis of zerodds-build read the same table; docs/wire-axis-flags.md lists every dialect's answer to every axis.
Position
- Built on
zerodds-ast-coreandzerodds-ast. - Its plans are executed by
zerodds-wire-codec;zerodds-wirereceives their answers as arguments. - Read by
zerodds-lang-rules.
Specification
zerodds-ast-layout
Planung des Wire-Layouts über dem gemeinsamen AST: Member-Pläne für XCDR1/XCDR2, Längencodes, Key-Holder. Berechnet den Plan; Codecs führen ihn aus.
- Quelle: crates/ast-layout
- API-Docs: docs.rs/zerodds-ast-layout
Wo ein Member liegt und was ihn rahmt.
Planung des Wire-Layouts über dem gemeinsamen AST: Ausrichtung, Ausdehnung, Rahmung durch Header und Offsets, berechnet je (encoding, endianness, purpose). Jeder Unterschied zwischen XCDR1 und XCDR2, zwischen einem einfachen und einem begrenzten Strom, zwischen einer Nutzlast und einem KeyHash ist ein anderer Plan über demselben Modell.
Diese Crate bewegt nie Bytes eines Samples. Ein Codec führt den Plan aus; der Plan ist Daten. Diese Trennung ist der Grund, warum sich einundzwanzig Sprachspalten miteinander vergleichen lassen: Alle führen denselben Plan aus, eine Abweichung liegt also bei ihnen und nicht beim Plan.
Die Dialektachsen liegen in dieser Crate — ein benannter Wert je Frage, die die Hersteller unterschiedlich beantworten. zerodds-idlc generate --dialect/--<axis> und Config::dialect/Config::axis von zerodds-build lesen dieselbe Tabelle; docs/wire-axis-flags.md führt die Antwort jedes Dialekts auf jede Achse auf.
Stellung
- Baut auf
zerodds-ast-coreundzerodds-astauf. - Ihre Pläne führt
zerodds-wire-codecaus;zerodds-wireerhält ihre Antworten als Argumente. - Gelesen von
zerodds-lang-rules.