\ assert 98.11.9 2:02 pm NAB
-86 constant assert-throw
variable assert-level
1 assert-level !
: assert-error ( x -- )
abort" Assertion failure!" ;
: assertion(
\ ( n "...<)>" -- )
assert-level @ 1+ < if
[char] ) parse
evaluate
state @ if
postpone 0=
postpone assert-error
else 0= assert-error
then
else postpone ( then
; immediate
: assert0(
0 postpone assertion( ; immediate
: assert1(
1 postpone assertion( ; immediate
: assert2(
2 postpone assertion( ; immediate
: assert3(
3 postpone assertion( ; immediate
: assert(
postpone assert1( ; immediate