forked from KolibriOS/kolibrios
KolSPForth12 uploaded to SVN
git-svn-id: svn://kolibrios.org@4867 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
35
programs/develop/SPForth/devel/~mak/lib/map.f
Normal file
35
programs/develop/SPForth/devel/~mak/lib/map.f
Normal file
@@ -0,0 +1,35 @@
|
||||
|
||||
\ ~mak/want.f WANT #define
|
||||
|
||||
0 VALUE M#define-CODE
|
||||
|
||||
: M#define CREATE PARSE-WORD EVALUATE ,
|
||||
DOES> [ HERE 5 - TO M#define-CODE ] @ ;
|
||||
|
||||
: Archive_
|
||||
PARSE-WORD EVALUATE
|
||||
' DUP 1+ REL@ CELL+ M#define-CODE =
|
||||
IF
|
||||
>BODY ! EXIT
|
||||
THEN 1 THROW ;
|
||||
|
||||
|
||||
: Archive \ F7_ED
|
||||
BEGIN
|
||||
PARSE-WORD DUP 0=
|
||||
IF NIP REFILL 0= IF DROP TRUE THEN
|
||||
ELSE S" size" COMPARE 0= THEN
|
||||
UNTIL
|
||||
REFILL DROP
|
||||
BEGIN REFILL 0= IF \EOF EXIT THEN
|
||||
SOURCE NIP
|
||||
WHILE M#define
|
||||
REPEAT
|
||||
|
||||
BEGIN REFILL
|
||||
WHILE SOURCE NIP 40 >
|
||||
IF
|
||||
['] Archive_ CATCH DROP
|
||||
THEN
|
||||
REPEAT POSTPONE \
|
||||
;
|
Reference in New Issue
Block a user