\ tools-ext 97.12.7 1:35 am NAB : [THEN] ( --) ; immediate variable 'else : [ELSE] ( --) 'else @ execute ; immediate variable 'if variable ifdepth : [IF] ( flag --) 0 ifdepth ! 'if @ execute ; immediate : ([if]) ( flag --) if exit then 1 ifdepth +! begin begin bl word dup c@ while dup 1+ c@ [char] [ = if find else 0 then if dup ['] [if] = if 0 recurse then dup ['] [else] = ifdepth @ 1 = and swap ['] [then] = or if -1 ifdepth +! exit then else drop then repeat drop refill 0= until ; : ([else]) ( --) 1 ifdepth ! 0 ([if]) ; ' ([if]) 'if ! ' ([else]) 'else !