Path: utzoo!censor!geac!torsqnt!news-server.csri.toronto.edu!rutgers!usc!julius.cs.uiuc.edu!zaphod.mps.ohio-state.edu!unix.cis.pitt.edu!pitt!willett!ForthNet From: ForthNet@willett.pgh.pa.us (ForthNet articles from GEnie) Newsgroups: comp.lang.forth Subject: Experimental Ideas Message-ID: <2025.UUL1.3#5129@willett.pgh.pa.us> Date: 29 Nov 90 13:00:40 GMT Organization: String, Scotch tape, and Paperclips. (in Pgh, PA) Lines: 28 Category 3, Topic 5 Message 52 Thu Nov 29, 1990 D.RUFFER [Dennis] at 00:50 EST Re: ELLIOTT CHAPIN Ah, you are making a "Token Threaded" Forth. You have a "token" table where every execution address can be relocated without changing the actual object code. I've played with the concept myself, in a previous job. It does add a level of overhead, but opens up a whole new world of flexibility. I used the technique to bank switch PROMed overlays in and out of an application that I put together. They are still using it today (I think). With the CREATE/DOES> words, just think about the DOES> as a completely new definition. Give it its own token table entry. The ;CODE version (if you have them) is pretty much just like your normal primative. Your DOES> versions can be treated just like any other high level definition (it just doesn't really have a head and is not executed until the defined word is executed). Basically, the CREATE/DOES> word creates a new class of CFA for your table. I'd love to see what you come up with, whenever you decide you happy enough with it to let someone else look at it. DaR ----- This message came from GEnie via willett through a semi-automated process. Report problems to: dwp@willett.pgh.pa.us or uunet!willett!dwp Brought to you by Super Global Mega Corp .com