More support for building with Forth metacompiler.
Making forward references actually work, step 1:
Make new definitions override the previously forward referencing words.
Move up definition of EXECUTE to avoid a forward ' reference.
Also rename (DEFER) to the more traditional name PERFORME.
Move (S") from core to kernel, becuase it's emitted by the Forth metacompiler.
Add/fix metacompilation of ['], IS, TO, S", and .".
Complain and abort if ' is used with forward refernce.
Making forward references actually work, step 2:
Create a linked chain of unresolved forward references.
Metacompile [CHAR] and ABORT".
Copy of Moore's book 'Programming a Problem-Oriented Language'.
Searching the target dictionary before forward references make things easier.
Making forward references actually work, step 3:
At the end, replace chains of forward references with the corresponding xt.
Bug fix for CASE/OF/ENDOF/ENDCASE.
"Disassemble" the target dictionary to produce C code.
Make (* and *) nest.
Metacompile IMMEDIATE, BEGIN, WHILE, REPEAT, UNTIL, AGAIN.
Add experimental FORWARD facility; it's mostly
a placeholder for future development.
Factor out FORWARD from the metacompiler into a separate library.