Date: 2026-03-21 Version: 0.27.0 Status: Completed
FASE 27 closed structural data lowering in the bootstrap backend. The phase implemented SIGILLUM code generation, simple and payload ORDO lowering, and ELIGE lowering over scalar, string, and tagged payload cases.
Delivered subphases:
SIGILLUMmaterialization as Cstruct- simple
ORDOmaterialization as Cenum - payload
ORDOmaterialization as tagged unions / structured compound literals ELIGElowering over integers, booleans, strings, simpleORDO, and payloadORDO- structural end-to-end codegen gates
Implementation concentrated in:
src/bootstrap/codegen/codegen_struct.cctsrc/bootstrap/codegen/codegen_ordo.cctsrc/bootstrap/codegen/codegen_elige.cctsrc/bootstrap/codegen/codegen_stmt.cctsrc/bootstrap/codegen/codegen_expr.cctsrc/bootstrap/codegen/codegen_context.cct
ORDOpayload cases were lowered as explicit tagged unions instead of backend-side implicit conventionsELIGElowering uses the correct underlying C strategy by subject type (switch,strcmpchain, or tag-switch)- payload binding in
CASUSwas treated as a first-class lowering concern, with unsupported combinations rejected explicitly rather than miscompiled silently
The phase closed with dedicated tests for:
SIGILLUMtype emission- simple
ORDOemission and usage - payload
ORDOconstructors and returns ELIGEover scalar, string, simple enum, and payload enum subjects- structural codegen end-to-end gates
User-facing structured language constructs now have a validated bootstrap backend path. This was the point at which the bootstrap compiler stopped being limited to mostly scalar/procedural code generation.
Generic materialization in codegen, advanced control flow lowering, and FORMA still remained open for FASE 28.
FASE 28 could rely on:
- stable structural type lowering
- explicit payload-tag model
- selection lowering patterns ready to coexist with more advanced control-flow lowering