Просмотр исходного кода

docs: add Blaise process alignment reference note

Maps the m2compiler-V2 phases and working discipline to the Blaise
compiler project's phased process (graemeg/blaise), with an honest
deviations section (no self-hosting, Wirth-school single-pass
heritage, different roadmap ahead).
Eric Streit 2 дней назад
Родитель
Сommit
b4fcf1ef4b
1 измененных файлов с 45 добавлено и 0 удалено
  1. 45 0
      docs/blaise-process.md

+ 45 - 0
docs/blaise-process.md

@@ -0,0 +1,45 @@
+# 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.