|
|
@@ -0,0 +1,34 @@
|
|
|
+# V3 step 3.5 — showcase8: the everything-tour (done 2026-09-20)
|
|
|
+
|
|
|
+Suite 57/57 (26 run — incl. 3 trap-aborts — + 31 reject).
|
|
|
+Single-file proof that every lowered construct composes:
|
|
|
+`showcase8.mod` → ExitCode 170, hand-computed, first try.
|
|
|
+
|
|
|
+## Coverage (in execution order)
|
|
|
+
|
|
|
+- `FOR`-filled vector + indexed accumulation (arrays)
|
|
|
+- Nested matrix stores (multi-dim headers)
|
|
|
+- Set union + `IN` gate
|
|
|
+- String store + indexed `CHAR` compare
|
|
|
+- `RECORD` + nested `WITH` field updates
|
|
|
+- Subrange + alias use (zero net, for coverage)
|
|
|
+- `INTEGER`→`REAL` conversion, real arithmetic + comparison
|
|
|
+- `CASE` with ranges + `ELSE`
|
|
|
+- `WHILE` down-loop, `REPEAT` up-loop, `LOOP`/`EXIT` up-loop
|
|
|
+- Final boolean + char gate into `ExitCode`
|
|
|
+
|
|
|
+## Arithmetic (hand check)
|
|
|
+
|
|
|
+100 (vector) + 6 (matrix) + 1 (IN) + 2 (char) + 42 (WITH fields)
|
|
|
++ 7 (subrange) + 10 (real gate) + 1 (CASE) − 4 (WHILE) + 2
|
|
|
+(REPEAT) + 3 (LOOP) = 170. Every intermediate asserted in the
|
|
|
+file comments; the binary agreed on the first run.
|
|
|
+
|
|
|
+## Notes
|
|
|
+
|
|
|
+- 170 < 256 by design (exit codes are 8-bit); the tour stays
|
|
|
+ clear of that ceiling deliberately.
|
|
|
+- `WITH`-on-field-designator and deep-copy paths from 3.4 both
|
|
|
+ execute here (not just in their unit tests).
|
|
|
+- Next showcase point: 3.6 pointers (linked structures need
|
|
|
+ `NEW`; currently impossible to build one).
|