[net.sources] Reposting - part 1 of 8 - Princeton FORTH v2.0 for the VAX

wls@astrovax.UUCP (William L. Sebok) (07/13/84)

Part 1 of 8

This is a reposting of Princeton Forth v2.0, due to the fact that there were
so many complaints of, or problems attributable to, files being lost or mangled
on the net.  There are 8 parts. A size and checksum is now included the
beginning of each part.  Part 8 has several bug fixes:
	1) a colon had been omitted from  ./vaxforth/makefile.4.1
	2) several error handlers in the initialization code in
	   ./vaxforth/forth3.S were faulty and caused core dumps.
	3) A bug in the 4.1BSD section of the above code caused the invocation
	   of one of these error handlers.
 -------
  This is a 32 bit public domain implementation of Forth has been written for
a VAX running under 4.1 or 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 t