When defining a new word, if an undefined word is used in the definition, then the interpreter correctly prints a ? but it incorrectly leaves the half-defined word in memory (and HERE remains at the previously added word). I think in this case it should reset HERE to the beginning of the word (assuming it's in compile mode), whose address might be found in LATEST.
The lookup function will need to be modified to jump to a different error handler.
When defining a new word, if an undefined word is used in the definition, then the interpreter correctly prints a
?
but it incorrectly leaves the half-defined word in memory (andHERE
remains at the previously added word). I think in this case it should resetHERE
to the beginning of the word (assuming it's in compile mode), whose address might be found inLATEST
.The
lookup
function will need to be modified to jump to a different error handler.