pfe-system-ext
Prev? | pfe Forth Wordset List | ?Next

## Name

pfe-system-ext ? System-extension wordset from forth-83

## Synopsis

`<MARK ( -- DP-mark ) ?=>? (` | `)`; | ?

`"FORTH"`;
?

`<RESOLVE ( DP-mark -- ) ?=>? (` | `)`; | ?

`"FORTH"`;
?

`MARK> ( -- DP-mark ) ?=>? (` | `)`; | ?

`"FORTH"`;
?

`RESOLVE> ( DP-mark -- ) ?=>? (` | `)`; | ?

`"FORTH"`;
?

`BRANCH ( -- ) ?=>? (` | `)`; | ?

`"FORTH"`;
?

`?BRANCH ( -- ) ?=>? (` | `)`; | ?

`"FORTH"`;
?

## Description

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 => @

<MARK ( -- DP-mark ) compile-only => "FORTH"

memorizes the current `DP` on the CS-STACK used for `<RESOLVE` later. Useful for creation of compiling words, eg. `BEGIN` , see `AHEAD`

      simulate:
        : &lt;MARK ?COMP  HERE ;

<RESOLVE ( DP-mark -- ) compile-only => "FORTH"

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:
        : &lt;RESOLVE ?COMP  , ;

MARK> ( -- DP-mark ) compile-only => "FORTH"

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&gt; ?COMP  HERE 0 , ;

RESOLVE> ( DP-mark -- ) compile-only => "FORTH"

resolves a pointer created by `MARK>` Mostly used in compiling words like `THEN`

      simulate:
        : RESOLVE&gt; ?COMP  HERE SWAP ! ;

BRANCH ( -- ) => "FORTH"

compiles a branch-runtime into the dictionary that can be resolved with `MARK&lt;`d or `&lt;RESOLVE`. Usage:

          BRANCH MARK&amp;lt;     or
          BRANCH &amp;gt;RESOLVE  or ...

this is the runtime-portion of `ELSE` - the use of `ELSE` should be preferred. See also => ?BRANCH

      : BRANCH COMPILE (BRANCH) ;

?BRANCH ( -- ) => "FORTH"

compiles a cond-branch-runtime into the dictionary that can be resolved with `&gt;MARK&`d or `RESOLVE&gt;`. Usage:

          ?BRANCH MARK&amp;lt;     or
          ?BRANCH &amp;gt;RESOLVE  or ...

this is the runtime-portion of `IF` - the use of `IF` should be preferred. See also `BRANCH`

      : ?BRANCH COMPILE (?BRANCH) ;

Prev? | Up | ?Next
pfe-structs-ext? | Home | ?pfe-term-ext