PFE - Portable Forth Environment - pfe Forth Wordsets

  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 | ## YOUR kernel extensions `@>``( [name] -- value )``` => `"EXTENSIONS"` does fetch the value from the PFA of the named item, which may be about everything, including a `VARIABLE` , `VALUE` `LVALUE` , `LOCALS|` , `VAR` , `DEFER` , `DOER` , `DOES>` and more. compiling word = [p4_fetch_from] `'>``( [name] -- xt )``` => `"EXTENSIONS"` get the execution-token, ie the CFA, of the word following. This word is fully state-smart while the ANSI standard words namely `'` and `[']` are not. compiling word = [p4_tick_from] `INTO``( [name] -- pfa )``` => `"EXTENSIONS"` will return the parameter-field address of the following word. Unlike others, this word will also return the address of `LOCALS|` and local `LVALUE` - so in fact a `TO A` and `INTO A !` are the same. This word is most useful when calling C-exported function with a temporary local-VAR as a return-place argument - so the address of a local has to be given as an arg. Beware that you should not try to save the address anywhere else, since a local's address does always depend of the RP-depth - EXIT from a colon-word and the value may soon get overwritten. (see also `TO` ) compiling word = [p4_into] `.H2``( value -- )``` => `"EXTENSIONS"` print hexadecimal, but with per-byte 0-padding
          0x0     -> 00
          0xf     -> 0f
          0x12    -> 12
          0x123   -> 0123
          0x1234  -> 1234
          0x12345 -> 012345
primitive code = [p4_dot_h2] `HERE-WORD``( char "name<char>" -- )``` => `"EXTENSIONS"` a FIG-compatible WORD. Where ANSI says "skip leading delimiters" this one acts as "skip leading whitespace". And it will not return anything and have the string parsed to `HERE` primitive code = [p4_here_word]