Section 34 of 51
88. Compiler Intermediate Representations
Stable section ID: S05-CON-008-SECTION-34 · 17 content blocks
The Engineering Compiler shall use multiple Intermediate Representations, or IRs, suited to different stages of compilation.
These may include:
Source IR;
Syntax IR;
Semantic IR;
Canonical Engineering IR;
Graph IR;
Resolved Configuration IR;
Validation IR;
Target Preparation IR;
- Execution Package IR.
- Each IR shall have a defined purpose, schema, ownership boundary, and permitted transformations.
An IR shall preserve stable identities and sufficient provenance to trace its content back to source inputs and forward to generated outputs.
Transformations between IRs shall be deterministic where required and shall produce diagnostics when information is rejected, approximated, aggregated, or lost.
Earlier IRs may preserve unresolved alternatives, while later execution-oriented IRs shall require the degree of resolution appropriate to their target.
IRs shall not become undocumented secondary sources of engineering truth. Any transformation that changes engineering meaning shall identify its governing rule and authority.
Intermediate results may be cached, exchanged, or inspected when their version, integrity, compilation context, and dependency status are known.