Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!watmath!clyde!rutgers!im4u!ut-sally!seismo!rochester!pt.cs.cmu.edu!andrew.cmu.edu!postman# From: postman#@andrew.cmu.edu.UUCP Newsgroups: comp.lang.forth Subject: Re: 128K MacForth and C to Forth Message-ID: Date: Mon, 26-Jan-87 12:06:00 EST Article-I.D.: andrew.EM.V2.0.ms5n.mercer.ibm032 Posted: Mon Jan 26 12:06:00 1987 Date-Received: Tue, 27-Jan-87 06:02:42 EST Organization: Carnegie-Mellon University Lines: 25 ReSent-Date: Mon, 26 Jan 87 14:22:45 est ReSent-From: postman#@andrew.cmu.edu ReSent-To:nntp-xmit#@andrew.cmu.edu Return-path: To: outnews#ext.nn.comp.lang.forth@andrew.cmu.edu In-Reply-To: <1174@dicome.UUCP> If I understand what you correctly, it sounds like you're describing a subroutine threaded Forth interpreter. Subroutine threading means that when a Forth word in compiled, machine language jsr (or whatever the instruction is on your favorite machine) instructions are are written to memory with a jump to the word being compiled. Upon execution, the interpreter simply passes control to the word being executed and lets the machine do the rest, because every word is just a list of jsrs terminated by an rts. This kind of Forth is extremely fast and versions do exist for the Mac (what they are, I can't remember). But writing such a Forth is C is usually more difficult than writing it in assembly. A friend and I attempted just such a feat in C on the PC. We got a fast working version, but we still needed some machine language support code for some of the routines. On a 68000 based machine, however, writing a subroutine threaded Forth in Assembly language is trivial. Anyway, there are a lot of versions of Forth for the Mac. There is MacForth, by Creative Solutions. Its a Token Threaded Forth (the slowest around), but I think you can get the Level 1 version for about $100. The Level 1 version is limited, but it gets better with Levels II and III. Apparently Level III lets you create stand alone applications. Any help??? OK. -Mike