PFE 0.33.71

Homepage
SourceForge
Download
Documentation
-Overview
-The PFE Manual
old manual / (book)
-ChangeLog
-Authors
-License (LGPL)
-Wordsets / (book)
-Functions .. (book)
-Dp of ANS Forth
-The 4thTutor
-Forthprimer.pdf
- Old Wordsets
- Old Words List
Forth Links
* Forth Repository
* Taygeta Compilation
* TinyBoot FirmWare
* FiCL, Free Forth
* Research Vienna
* Research Bournemouth
* zForth WebRing
Other Links
* Tektronix/MPT
* Forth Org. (FIG)
* Forth Inc.
* MPE Ltd. Forths
* SF Win32Forth
* PD Win32Forth
* Neil Bawd

generated
(C) Guido U. Draheim
guidod@gmx.de

## System-extension

> wordset from forth-83

`<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:
          : <MARK ?COMP  HERE ;

  primitive code = [p4_backward_mark]

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

  primitive code = [p4_backward_resolve]

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

  primitive code = [p4_forward_mark]

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

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

        simulate:
          : RESOLVE> ?COMP  HERE SWAP ! ;

  primitive code = [p4_forward_resolve]

`BRANCH``( -- )``` => `"FORTH"`

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

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

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

        : BRANCH COMPILE (BRANCH) ;

  immediate code = [p4_branch]

`?BRANCH``( -- )``` => `"FORTH"`

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

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

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

        : ?BRANCH COMPILE (?BRANCH) ;

  immediate code = [p4_q_branch]