[net.lang] Public-Domain Unix-FORTH available: FOLLOWUP

wls@astrovax.UUCP (William L. Sebok) (06/21/84)

I hate to sound "me too" but that is the way it is this time.  I just
came back from a round of conferences, one of which was the Forth Conference
in Rochester, NY.  My talk was about the Forth compiler for 4.1-4.2 BSD Unix
on the VAX that I wrote in 1982, and use for image processing here. At the
conference I decided that it will be posted to net.sources some time this
summer. Over the last year I have sent out many "pre-release" tapes.  This
compiler has been more or less stable for the last couple of years (a fair
amount of time to work the bugs out), but the documentation was not finished.
Well, that is just about remedied.  Posting will be "soon" (but still
unspecified).  I have had many ideas for "improvements" but, of course, one
could work on such improvements forever.  They will be left till a possible
later addition.
  I will close with a bit of the abstract of the talk I gave at that
conference:
--------------
  A public domain implementation of Forth has been written for the VAX
super-mini that runs under 4.1 and 4.2 BSD UNIX.  It has been running now for
about two years at the Astrophysics Dept. at Princeton University and is used
for image processing.  It follows the 79-standards except: 1) entries on the
parameter stack are 32 bits wide,  2) addresses are 32 bits (rather than the
demanded 16 bits) wide, 3) Certain escape sequences beginning with a backslash
are recognized in the printing word  ." ......"

  Some extensions to the 79-standard are: 1) A character string stack, with a
full set of string operators. This also make manipulation of Unix file names
infinitely easier,  2) A floating point stack, and 3) A set of Unix interface
words.

  Colon definitions are compiled as a series of bsbb, bsbw, or jsb instructions
(the shortest one that will reach) rather than as  list of pointers.  The ICODE
operator can be used instead of the ICODE operator for short definitions.  When
a word defined by the ICODE operator is compiled its code is stuffed in-line
rather than referenced.  Number references are compiled as the shortest of the
many possible instructions to push that number onto the stack.
-- 
Bill Sebok			Princeton University, Astrophysics
{allegra,akgua,burl,cbosgd,decvax,ihnp4,kpno,princeton,vax135}!astrovax!wls