Sat Mar 28 12:01:04 CET 2009
Threaded code + control primitives working
The only remaining parts are bootstrapping the rest of the Forth code
and/or defining the structure of the dictionary.
I'm thinking about bootstrapping the code by hand (writing an
interpreter in scheme) instead of using an external interpreter. This
requires breaking two feedback loops:
- parsing words
Once the forth is bootstrapped it can be used to generate images for
other interpreters by changing the semantics.
How to represent the dictionary? The bootstrap parser should work
directly on the binary form of the dictionary. It looks like the best
approach is this: massage the Forth source file such that it is simple
enough to be parsed by a non-reflective parser, but remains ANS
Removed all CODE words from eforth.f
The remaining forth->machine code reference problem is CALL, (and
How to bootstrap.
* First make sure everything parses to lists of words.
* Then it's probably best to use the macros from the .f file to do
the rest of the compiling. This requires them to be identified
right after parsing.
* Build a dependency graph of the code and manually resolve all
circular conflicts by replacing words with primitives.