compat
Portable (mostly standard) implementations of some Gforth features
- raw README
 - raw anslocal.fs
 - raw assert.fs
 - raw caseext.fs
 - raw control.fs
 - raw defer.fs
 - raw exception.fs
 - raw execute-parsing.fs
 - raw loops.fs
 - raw macros.fs
 - raw package.4th
 - raw required.fs
 - raw strcomp.fs
 - raw struct.fs
 - raw vocabulary.fs
 - raw xlocals.fs
 
\ string comparisons
\ This file is in the public domain. NO WARRANTY.
\ Uses of COMPARE can be replaced with STR=, STRING-PREFIX?, and STR<
\ (and these can be implemented more efficiently and used more easily
\ than COMPARE).  See <news:2002Aug12.110229@a0.complang.tuwien.ac.at>
\ and following.
s" gforth" environment? [if]
    2drop defined str=
[else]
    \ : \G postpone \ ; immediate
    0
[then]
0= [if]
: str= ( c-addr1 u1 c-addr2 u2 -- f ) \ gforth
    compare 0= ;
: string-prefix? ( c-addr1 u1 c-addr2 u2 -- f ) \ gforth
    \G Is @var{c-addr2 u2} a prefix of @var{c-addr1 u1}?
    tuck 2>r min 2r> str= ;
: str< ( c-addr1 u1 c-addr2 u2 -- f ) \ gforth
    compare 0< ;
[then]
              by AntonErtl
Versions
Tags
forth-94, forth-2012, strings, gforth, locals, assertions, control-structures, macros
Dependencies
None
Dependents
None