proof/: add StarForth_Defining_Words.thy (defining_words.c coverage)

4 of 19 words fully modelled ([, ], STATE, IMMEDIATE), 2 guard-only
partial (:, ;), rest deferred behind three named model gaps: dictionary-
entry creation (never modelled anywhere in this suite before now),
data-field addressing (same class as the existing >BODY gap), and
mutable per-entry dispatch (word_table is a fixed global, can't express
DEFER/IS).

Finding: defining_words.c's [/]/STATE are registered after (and thus
permanently shadow) dictionary_manipulation_words.c's versions of the
same names -- that file's prior "dead cross-VM-shared static" finding
only ever applied to the shadowed, unreachable code. The live versions
correctly use vm->state_addr, a real per-VM field, now added to
vm_state.
This commit is contained in:
Robert Allan James
2026-08-14 14:33:29 -04:00
parent a34fba5c1c
commit 4d025ab0f4
3 changed files with 346 additions and 0 deletions
+1
View File
@@ -12,6 +12,7 @@ session "StarForth" = "HOL-Library" +
StarForth_Memory_Words
StarForth_Dictionary_Words
StarForth_Dictionary_Manipulation_Words
StarForth_Defining_Words
StarForth_Control_Words
StarForth_String_Words
StarForth_Block_Words