# Blaise process alignment — reference note How the m2compiler-V2 build process maps to the Blaise compiler project's phased process (`graemeg/blaise`: Phase 1 bootstrap pipeline, 2 type system, 3 generics, 4 multi-file compilation, 5 OPDF debug info, 6 LLVM backend, 7 LSP, 8 migration analyser). ## Phase mapping | Blaise phase | Our step | Match | |---|---|---| | 1 bootstrap pipeline | 1 Coco/R frontend + `gm2` toolchain proof | Loose — same "prove the pipeline first" idea, but no bootstrapping | | 2 type system | 2 SymTab semantic analysis | Yes — see `summary_m2comp_step2.md` ("Follows Blaise Phase 2") | | (AST/IR) | 3 AST layer (Mössenböck recipe) | Yes in spirit — Blaise builds IR; we build a tree | | Backend (QBE/native) | 4 MC64 tree-walking backend | Yes — frontend builds tree, backend walks it | | 4 multi-file compilation | 5 separate compilation | Yes, almost one-to-one | | 5 OPDF debug info | 7 backend listing (`DumpImage`) | Partial — disassembly listing, not debug records | ## Shared discipline - Phased work, tagged milestones (`m2comp-step1` …), test-guarded progress (3/3 → 65/65). - Per-phase docs (`docs/summary_m2comp_stepN.md` ~ their `docs/design.adoc`). - Byte-identical-image checks play the role of their fixpoint verification (don't break the past, different mechanism). ## Honest deviations - **No self-hosting.** Bootstrapping to a fixpoint is central to Blaise; we compile with `gm2` and target a VM interpreter. - **Wirth-school single-pass heritage.** Steps 1–2 fold checking into Coco/R grammar actions; Blaise is a multi-pass IR compiler. Steps 3–4 move toward Blaise's front/back split, but the actions remain. - **Different roadmap ahead.** `goal_step8.md` (opaque types, procedure types, LONGINT quads) targets language completeness; Blaise's remaining phases (generics, LSP, LLVM, migration analyser) target ecosystem. - **Spec-driven VM work** (`mc64-spec.md`, loader, `STAK`/`DEP`) has no Blaise counterpart — Turbo Modula-2 archaeology, not their process. Conclusion: skeleton and phase rhythm are Blaise-like, adapted to a Wirth-style, VM-targeted, non-bootstrapped compiler.