HEAD: 6877b81. Milestone tags v3-step8.1 (plus all of
v3-step5.1…v3-step7.1). Suite 103/103, build warning-free.
Tree clean; git.txt untracked (ignored). No remote.
M2.atg,
SymTab.mod, QbeGen.mod, compiler.frm, parser.frm,
scanner.frm converted (&→AND, ~→NOT, <>→#, octal
NNC→CHR(n)), string/comment-aware. Still builds under gm2;
103/103. (FileIO left as the host library — stage-1 split.)FROM SYSTEM IMPORT TSIZE; parses
(pervasive names accepted and ignored; built-in applies).SymTabRunning V3 over SymTab.def + SymTab.mod reveals the next work
(recorded in docs/summary_step8.1.md):
ARRAY [0 .. MaxPend - 1] and similar
bounds are 230: V3 folds only literals; a named CONST loads as
a temporary. Dominant cause of the failures. Needs compile-time
constant-expression folding (named CONSTs + +/-).TSIZE/SIZE — TSIZE(ScopeNode) (a type
name) is unsupported; V3's built-in takes a designator.ident expected/201s that should clear once the two
above are fixed.TSIZE/SIZE.FileIO selection in the build (stage 1 host library,
stage 2 runtime/syslib/FileIO).bootstrap/fixpoint.sh: Stage1 (gm2) → Stage2 (V3) → Stage3 (V3),
diff -r all .ssa byte-identical, suite green on all stages
(rolling-bootstrap design per the Blaise map).Deferred elsewhere: class lowering (vtable/THIS), procedure-type
variables, cross-class VAL/CAST, FLOAT/TRUNC, CAP, long↔REAL
conversions, string escapes, WITH-field VAR actuals.
cd /home/eric/Projets/Projets-Modula2/MyWork/m2compiler-V3/compiler
./build.sh && ./run_tests.sh # expect 103/103, zero gm2 warnings
Recommended next: named-CONST constant folding in V3.