Sun May 18 18:48:18 CEST 2008
Labels and code
so.. maybe it's time forget about splitting the target code into
words? is it a false abstraction?
not really.. but the current fallthrough mechanism does look a bit
clumsy. the problem wrap-macro/postponed-word solves is the creation
of wrapper macros, which is quite essential as it allows ALL names to
be handled by the PLT module + lexical scoping..
whatever the representation is of the code that generates the
assembler is moot. currently it's this:
(#f . prelude-macro)
(word0 . macro0)
(word1 . macro1) ...
the macro<x> are then wrapped with a split (label) and concatenated
a different, possibly simpler implementation would be to collect all
names separately, and define a single big macro that generates the
module's code. the problem here is that inline macros need to be
so let's stick to the current implementation.
* macro definitions are clearly delimited: one name for one macro,
no multiple entry points.
* forth definitions have multiple entry points + there's an unnamed
prelude at the beginning of the file. (names merely interleave one
big macro that generates the code body)