[net.lang.forth] FORTH Implementation Help

husmann@uiucdcsb.UUCP (09/18/84)

A group of us are going to implement FORTH for a Z-80 in C.  None of us have
ever seen, let alone used it.

Can anyone suggest books/articles that might help us implement FORTH?  The
more details about implementing FORTH, the better.  Thanks in advance.


Harlan Husmann

usenet: {ihnp4,pur-ee}!uiucdcs!husmann
csnet:  husmann@uiucdcs.Uiuc

jhv@houxu.UUCP (James Van Ornum) (09/20/84)

<>
Standard references for fig-FORTH are:
 1. fig-FORTH installation Manual
 2. assembly language source listing of fig-FORTH, available for:
    1802, 8080, PACE, 6502, 8086/8088, NOVA, 6800, 9900, PDP-11,
    6809, Apple II, 68000, VAX, ECLIPSE, ALPHA MICRO, Z80, IBM PC
available from Forth Interest Group, PO Box 1105, San Carlos, CA 94070,
(415) 962-8653; or Mountain View Press, Inc., PO Box 4656,
Mountain View, CA 94040, (415) 961-4103 for $15 each in USA.

 3. "Threaded Interpretive Languages," by R. G. Loeliger, Byte Books,
    1981 discusses the implementation of threaded languages, of which
    FORTH is one(?) specific example.
 4. "An Architectural Trail to Threaded-Code Systems," by Peter M.
    Kogge, COMPUTER (IEEE), March 1982, pg 22.
 5. "Write Your Own FORTH Interpreter," by Richard Fritzson,
    Microcomputing, Feb. 1981 pg 76, March 1981 pg 44.
 6. "STOIC, an Interactive Programming System for Dedicated Computing,"
    by J. M. Sachs and S. K. Burns, Software-Practice and Experience,
    Vol. 13, 1983, pg 1-16.
All contain details on implementing FORTH and FORTH-like interpreters.

-----------------------
	James Van Ornum, AT&T Bell Laboratories, inhp4!houxu!jhv

wmb@sun.uucp (Mitch Bradley) (09/20/84)

> A group of us are going to implement FORTH for a Z-80 in C.  None of us have
> ever seen, let alone used it.
> 
> Can anyone suggest books/articles that might help us implement FORTH?  The
> more details about implementing FORTH, the better.  Thanks in advance.

Try "Systems Guide to fig-FORTH" by Ting, "All about Forth" by Haydon,
"MVP Forth Assembly Source Code" by Haydon, and "1983 Rochester FORTH
Proceedings".  All are available from Mountain View Press, Mountain View CA
94040, (415) 961-4103.  Prices $25, $25, $20, $25, respectively.

The Rochester proceedings contains an article "The Development of a C-Based
Forth" by Peter Blaser, which you should definitely read, but it alone won't
give you nearly enough information.

NOW, let me caution you about something:  Don't expect to come up with a
useable system.  Peter Blaser's C Forth was about 3 times slower on a
VAX than an assembly-language VAX Forth, and the VAX is a pretty good
architecture for C, as opposed to Z-80 which isn't so efficient at supporting
C.

C itself is not particularly great for writing Forth systems in, because
the usual sorts of data structures that one finds in Forth kernels
are linked lists, and initialization of them at compile time or load time
is inconvenient in C.  Of course, C is probably better than most other
high-level languages in this regard, but it's still not wonderful.

If you just want something to use on a Z-80, there are a number of
excellent Forth systems available.  One of my favorites is the public-domain
F83, available for $25 from No Visible Support Software, P.O. Box 1344,
2000 Center Street, Berkeley, CA 94704.  It comes on an 8" ss/sd CP/M
format disk.  You can also get it from Simtel-20 if you have ARPANET
access.

If there is any more information you need, send me mail.

Mitch Bradley
Sun Microsystems, Inc.
decvax!decwrl!sun!wmb