Sun May 18 12:23:03 CEST 2008
It's not so simple, because there is no way to guarantee there's only
a single chunk going to be compiled: the problem is 'org-pop' which
needs to restore the current/code/chunk state.
The right way to solve this is to dump the whole structure on the
control stack, and restore it on org-pop.
OK: push-chain and pop-chain work. it's now possible to create new
word chains while compiling another one.
It's funny how Forth syntax's inherent lack of nested structures makes
you appreciate the simplicity of s-expressions. However, it's easily
solved by introducing balanced tokens.
So, what about this: if a label's name is anything else than a symbol,
it will be evaluated and used as code location.
Some more changes: forth/forth-tx.ss will now save the prelude code
under a #f label. scat/ns-tx.ss is changed so #f labels do not have an
associated define, but DO evaluate their expressions for side effect
(which will define a target #f word)
Changed wrap-macro/postponed-word to not create a target word struct
if there's no word name.