version 1.1, 1994/07/08 15:00:28
|
version 1.2, 1995/01/12 18:37:48
|
Line 6 variable assert-level \ all assertions a
|
Line 6 variable assert-level \ all assertions a
|
1 assert-level ! |
1 assert-level ! |
|
|
: assertn ( n -- ) |
: assertn ( n -- ) |
|
\ this is internal (it is not immediate) |
assert-level @ > |
assert-level @ > |
if |
if |
POSTPONE ( |
POSTPONE ( |
then ; |
then ; |
|
|
: assert0( ( -- ) |
: assert0( ( -- ) |
|
\ important assertions that should always be turned on |
0 assertn ; immediate |
0 assertn ; immediate |
: assert1( ( -- ) |
: assert1( ( -- ) |
|
\ normal assertions; turned on by default |
1 assertn ; immediate |
1 assertn ; immediate |
: assert2( ( -- ) |
: assert2( ( -- ) |
|
\ debugging assertions |
2 assertn ; immediate |
2 assertn ; immediate |
: assert3( ( -- ) |
: assert3( ( -- ) |
|
\ slow assertions that you may not want to turn on in normal debugging; |
|
\ you would turn them on mainly for thorough checking |
3 assertn ; immediate |
3 assertn ; immediate |
: assert( ( -- ) |
: assert( ( -- ) |
|
\ equivalent to assert1( |
POSTPONE assert1( ; immediate |
POSTPONE assert1( ; immediate |
|
|
: (endassert) ( flag -- ) |
: (endassert) ( flag -- ) |