Переглянути джерело

docs: note the Sources/Dezip corpus as future regression material

Sources/Dezip/ holds 5,887 files, 4,919 of them .PAS, plus SWAG collections,
122 .EXE and 53 .OBJ. Sources/ is a user directory and stays untracked; this
records only what the corpus is good for.

Two things it enables that the plan did not have: a population metric (how far
the compiler gets across thousands of real programs, a stronger regression
signal than the CALC ladder alone), and dialect triage, since not all of it is
TP3. Flagged that a batch driver must report "rejected" as a result rather
than a failure, or the corpus reads as a catastrophe instead of a baseline.

Ordered after the ladder rather than before it, so the baseline is measured
once and later stages can be shown to move it.
Eric Streit 2 днів тому
батько
коміт
a1ef700dd4
1 змінених файлів з 19 додано та 0 видалено
  1. 19 0
      CALC-COMPILE.md

+ 19 - 0
CALC-COMPILE.md

@@ -351,6 +351,25 @@ work is still entirely at the planning stage, and everything below is the
   `Resources/TP3/HELLO.COM`, the two reference binaries used for §3.1. They are
   derived from the proprietary `TURBO.COM`; do not stage them. The recipe and
   the numbers are in §3.1, which is what this document keeps.
+- **Corpus for later, already in the tree (untracked):** `Sources/Dezip/` holds
+  5,887 files, of which **4,919 are `.PAS`** — plus 122 `.EXE`, 53 `.OBJ`,
+  26 `.TPU` and a SWAG collection (`swag9702`, `swag9708`,
+  `swag-pascal-master`, …). `Sources/` is a user directory and is **never
+  staged**; it is here as test material only.
+  Two things it enables, neither of which this plan currently has:
+  1. A **population metric** — how far does the compiler get across thousands
+     of *real* programs, not one. That is a far stronger regression signal than
+     the CALC ladder alone, and it would have caught bug classes that a single
+     hand-written fixture cannot.
+  2. **Dialect triage** — not all of it is TP3. Expect TP1/TP2/TP4, DOS
+     interrupt units, and units (`.TPU`) this compiler has no linker for. Any
+     batch driver must report "rejected" as a *result*, not as a failure, or
+     the corpus will look like a catastrophe rather than a baseline.
+  Do this **after** the ladder, not before: measure the baseline once, so later
+  stages can be shown to move it. A first pass needs a batch driver that feeds
+  `compiletest` a file list (it already reads filenames from stdin, one per
+  line) and tallies `(verdict, errno)` — cheap, and it turns the corpus into a
+  number the moment it exists.
 - **Cheap evidence still missing (Q6):** one memory-mode run of `TURBO` in
   dosemu to see whether CALC reports "Compiler Overflow #99" as its banner
   warns. The `.COM` path succeeds; the memory path was never tried.