"System-extension wordset from forth-83"

system
forth-83 did define a system extension word set which
was deleted in dpans94 due to some problems with the
native-compiling variants of forth. pfe is traditional
enough to use the words as they were originally intended.
Tektronix CTE %version: bln_mpt1!1.5 % GNU LGPL
FORTH
* <MARK ( -- DP-mark ) compile-only

memorizes the current DP on the CS-STACK
used for <RESOLVE later. Useful for creation of
compiling words, eg. BEGIN , see AHEAD
 simulate:
   : <MARK ?COMP  HERE ;

system ordinary primitive

* <RESOLVE ( DP-mark -- ) compile-only

resolves a previous <MARK , actually pushes
the DP-address memorized at <MARK into the dictionary.
Mostly used after BRANCH or ?BRANCH in compiling
words like UNTIL
 simulate:
   : <RESOLVE ?COMP  , ;

system ordinary primitive

* MARK> ( -- DP-mark ) compile-only

makes room for a pointer in the dictionary to
be resolved through RESOLVE> and does therefore
memorize that cell's address on the CS-STACK
Mostly used after BRANCH or ?BRANCH in compiling
words like IF or ELSE
 simulate:
   : MARK> ?COMP  HERE 0 , ;

system ordinary primitive

* RESOLVE> ( DP-mark -- ) compile-only

resolves a pointer created by MARK>
Mostly used in compiling words like THEN
 simulate:
   : RESOLVE> ?COMP  HERE SWAP ! ;

system ordinary primitive

* BRANCH ( -- )

compiles a branch-runtime into the dictionary that
can be resolved with MARKlt;d or lt;RESOLVE.
Usage:
     BRANCH MARKlt;     or
     BRANCH gt;RESOLVE  or ...
this is the runtime-portion of ELSE - the use of
ELSE should be preferred. See also ?BRANCH

system ordinary primitive

* ?BRANCH ( -- )

compiles a cond-branch-runtime into the dictionary that
can be resolved with gt;MARKd or RESOLVEgt;.
Usage:
     ?BRANCH MARKlt;     or
     ?BRANCH gt;RESOLVE  or ...
this is the runtime-portion of IF - the use of
IF should be preferred. See also BRANCH

system ordinary primitive

* SEARCH ORDER variables,
       for VOCABULARY ALSO DEFINITIONS 

* CONTEXT ( addr -- )

The variable that holds the or the topmost search-order
wordlist. The new ansforth standard suggests the use
of SET-CONTEXT and GET-CONTEXT instead of
using CONTEXT ! and CONTEXT @

system threadstate variable

* CURRENT ( addr -- )

The variable that holds the or the topmost compile-order
wordlist. The new ansforth standard suggests the use
of SET-CURRENT and GET-CURRENT instead of
using CURRENT ! and CURRENT @

system threadstate variable

ENVIRONMENT ENVIRONMENT SYSTEM-EXT

no special info, see general notes

system ordinary constant