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
\ deferred words and perform
\ This file is in the public domain. NO WARRANTY.
: perform ( ? addr -- ? )
@ execute ;
: defer ( "name" -- )
create ['] abort , \ you should not rely on initialization with noop
does> ( ? -- ? )
perform ;
: defer@ ( xt1 -- xt2 )
>body @ ;
: defer! ( xt2 xt1 -- )
>body ! ;
: <is> ( xt "name" -- )
' defer! ;
: [is] ( compilation: "name" -- ; run-time: xt -- )
postpone ['] postpone defer! ; immediate
: is
state @ if
postpone [is]
else
<is>
then ; immediate
: action-of
state @ if
POSTPONE ['] POSTPONE defer@
else
' defer@
then ; immediate
by AntonErtl
Versions
Tags
forth-94, forth-2012, strings, gforth, locals, assertions, control-structures, macros
Dependencies
None
Dependents
None