assert.txt


\ 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



  HTMLized by Forth2HTML