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

## String

> + extensions

`-TRAILING``( str-ptr str-len -- str-ptr str-len' )``` => `"[ANS] FORTH"`

  check the given buffer if it contains whitespace at its end. If so, shorten str-len to meet the last non-whitespace character in the buffer.

  primitive code = [p4_dash_trailing]

`/STRING``( str-ptr str-len n -- str-ptr' str-len' )``` => `"[ANS] FORTH"`

  shorten the buffer from the beginning by n characters, i.e.

         str-ptr += n ;
         str-len -= n;

  primitive code = [p4_slash_string]

`BLANK``( str-ptr str-len -- )``` => `"[ANS] FORTH"`

  `FILL` a given buffer with `BL` blanks

  primitive code = [p4_blank]

`CMOVE``( from-ptr to-ptr len# -- )``` => `"[ANS] FORTH"`

  memcpy an area from->to for len bytes, starting at the lower addresses, see `CMOVE>`

  primitive code = [p4_cmove]

`CMOVE>``( from-ptr to-ptr len# -- )``` => `"[ANS] FORTH"`

  memcpy an area from->to for len bytes, starting with the higher addresses, see `CMOVE`

  primitive code = [p4_cmove_up]

`COMPARE``( str1-ptr str1-len str2-ptr str2-len -- diff# )``` => `"[ANS] FORTH"`

  compare both str-buffers, return 0 if they are equal, -1 if lower or shorter, and 1 if greater or longer

  primitive code = [p4_compare]

`SEARCH``( str1-ptr str1-len str2-ptr str2-len -- str1-ptr' str1-len' flag )``` => `"[ANS] FORTH"`

  search the str-buffer1 for the text of str-buffer2, if it is contained return TRUE and return buffer-values that point to the contained string, otherwise return FALSE and leave the original str-buffer1.

  primitive code = [p4_search]

`SLITERAL``( C: str-ptr str-len -- S: str-ptr str-len )``` => `"[ANS] FORTH"`

  this word does almost the same as `LITERAL` - it takes an `S"` string as specified in the CS-STACK at compile time and compiles into the current definition where it is returned as if there were a direct string-literal. This can be used to compute a string-literal at compile-time and hardwire it.

        example:
          : ORIGINAL-HOME  [ $HOME COUNT ] SLITERAL ; ( -- str-ptr str-len )

  compiling word = [p4_sliteral]