* Segher Boessenkool segher@chello.nl [020627 01:48]:
for the first one we need to be able to get to a word's header when we have the execution token (xt). This seems impossible at the moment as we have a variable header length
Two easy solutions spring to mind:
- have the flag byte be the lasy byte in the header (it's the first bybte right now);
- have the flag byte have the high bit set always (so you can find it easily).
I think I'll go with 1).
BTW, nothing requires SEE to accurately show the flags of a word ;)
SEE still needs the word's name, which is ugly to get when you have the XT only. Even though we don't really need a fast SEE. With the word I posted we have O(N) instead of O(1), but this is acceptable taking into regard that SEE is only for debugging anyways and we have the sources without SEE ;)
There's no need for COMPILE-ONLY wrt FCode; the FCode loader can assume all FCode is legal FCode, the burden of checking is on the tokenizer.
b(;) is a COMPILE-ONLY/IMMEDIATE word. The evaluator gets B(;)'s FCode# and fetches it's XT. But it of course needs to find out that this word must not be compiled but executed, when in compile mode.
Stefan