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