Index of /src/postforth-3

Icon  Name                    Last modified      Size  Description
[DIR] Parent Directory - [DIR] FORTH/ 14-Feb-2007 21:46 - [   ] Makefile 25-Aug-2007 09:25 132 [TXT] README.html 12-Feb-2007 18:10 1.6K [TXT] elf.py 14-Feb-2007 21:13 3.2K [   ] min_pe 06-Aug-2007 02:47 608 [   ] pe 28-Jul-2007 15:41 181 [TXT] pe.c 28-Jul-2007 13:09 62 [TXT] pe.py 15-Aug-2007 22:20 9.8K [   ] pe.pyc 03-Aug-2007 14:36 8.1K [TXT] pf.py 14-Feb-2007 21:20 3.1K
Putting postforth-1 and postforth-2 on hold while a third, related, idea percolates to consciousness. I've been experimenting in ../postforth-0/experimentation/ with the ELF file format, and building guaranteed-unique entries for each new word. This will totally eliminate the collision problem in postforth-0 (other Forths have this problem too, including colorForth 2001).

The current plan is to write the core of the language in postFORTH itself, and use a Python script to compile it. When the language has reached a certain stage of development, it will then be able to compile itself.

Some ideas are presented here, in no particular order.

Some of the goals: Easy to understand quickly how the system is built and how it runs: transparency. Well commented, self-documenting. Very small core, easy to port. Easy to disassemble/decompile. Good as a student language and for serious applications. Use C operators where possible, to attract C programmers into the Forth fold; Forth operators are no more and no less inscrutable as those of C, so why have two completely different sets of obscure gobbledygook?

Put a back-pointer in front of each block of code to its symbol table entry. That way, even if a word is redefined, its old embodiments can be located. Maybe a version number for each word can be stored there too. I was thinking of storing the elf_hash of each word before the code block too but that would be wasted space; it should be in only one location. Calculating the hash is not an expensive operation, and this might be unnecessary anyway.