1 \ @(#) private.fth 98/01/26 1.2
\r
4 \ Privatize words that are only needed within the file
\r
5 \ and do not need to be exported.
\r
9 \ : FOO ; \ Everything between PRIVATE{ and }PRIVATE will become private.
\r
12 \ : GOO foo moo ; \ can use foo and moo
\r
13 \ PRIVATIZE \ smudge foo and moo
\r
16 \ Copyright 1996 Phil Burk
\r
18 \ 19970701 PLB Use unsigned compares for machines with "negative" addresses.
\r
20 anew task-private.fth
\r
22 variable private-start
\r
23 variable private-stop
\r
24 $ 20 constant FLAG_SMUDGE
\r
27 latest private-start !
\r
31 private-stop @ 0= not abort" Extra }PRIVATE"
\r
32 latest private-stop !
\r
34 : PRIVATIZE ( -- , smudge all words between PRIVATE{ and }PRIVATE )
\r
35 private-start @ 0= abort" Missing PRIVATE{"
\r
36 private-stop @ 0= abort" Missing }PRIVATE"
\r
39 dup private-start @ u> \ 19970701
\r
41 \ ." Smudge " dup id. cr
\r
42 dup c@ flag_smudge or over c!
\r