|
|
@@ -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.
|