| 0 GhostNames ! |
0 GhostNames ! |
| |
|
| : GhostName ( -- addr ) |
: GhostName ( -- addr ) |
| here GhostNames @ , GhostNames ! here 0 , |
align here GhostNames @ , GhostNames ! here 0 , |
| bl word count |
bl word count |
| \ 2dup type space |
\ 2dup type space |
| string, \ !! cfalign ? |
string, \ !! cfalign ? |
| dup >rstart @ swap >rdp @ over - ; |
dup >rstart @ swap >rdp @ over - ; |
| |
|
| : area ( region -- startaddr totallen ) \G returns the total area |
: area ( region -- startaddr totallen ) \G returns the total area |
| dup >rstart swap >rlen @ ; |
dup >rstart @ swap >rlen @ ; |
| |
|
| : mirrored \G mark a region as mirrored |
: mirrored \G mark a region as mirrored |
| mirrored-link |
mirrored-link |
| ELSE drop |
ELSE drop |
| THEN ; |
THEN ; |
| |
|
| >MINIMAL |
|
| : .unresolved ( -- ) |
: .unresolved ( -- ) |
| ResolveFlag off cr ." Unresolved: " |
ResolveFlag off cr ." Unresolved: " |
| Ghostnames |
Ghostnames |
| cr ." named Headers: " headers-named @ . |
cr ." named Headers: " headers-named @ . |
| r> base ! ; |
r> base ! ; |
| |
|
| |
>MINIMAL |
| |
|
| |
: .unresolved .unresolved ; |
| |
|
| >CROSS |
>CROSS |
| \ Header states 12dec92py |
\ Header states 12dec92py |
| |
|
| Defer skip? ' false IS skip? |
Defer skip? ' false IS skip? |
| |
|
| : skipdef ( <name> -- ) |
: skipdef ( <name> -- ) |
| \G skip definition of an undefined word in undef-words mode |
\G skip definition of an undefined word in undef-words and |
| |
\G all-words mode |
| ghost dup forward? |
ghost dup forward? |
| IF >magic <skip> swap ! |
IF >magic <skip> swap ! |
| ELSE drop THEN ; |
ELSE drop THEN ; |
| \G that's what we want |
\G that's what we want |
| ghost forward? 0= ; |
ghost forward? 0= ; |
| |
|
| |
: forced? ( -- flag ) \ name |
| |
\G return ture if it is a foreced skip with defskip |
| |
ghost >magic @ <skip> = ; |
| |
|
| : needed? ( -- flag ) \ name |
: needed? ( -- flag ) \ name |
| \G returns a false flag when |
\G returns a false flag when |
| \G a word is not defined |
\G a word is not defined |
| \ LINKED ERR" ENV" 2ENV" 18may93jaw |
\ LINKED ERR" ENV" 2ENV" 18may93jaw |
| |
|
| \ linked list primitive |
\ linked list primitive |
| : linked T here over @ A, swap ! H ; |
: linked X here over X @ X A, swap X ! ; |
| : chained T linked A, H ; |
: chained T linked A, H ; |
| |
|
| : err" s" ErrLink linked" evaluate T , H |
: err" s" ErrLink linked" evaluate T , H |
| : 2/ 2/ ; |
: 2/ 2/ ; |
| : . . ; |
: . . ; |
| |
|
| : all-words ['] false IS skip? ; |
: all-words ['] forced? IS skip? ; |
| : needed-words ['] needed? IS skip? ; |
: needed-words ['] needed? IS skip? ; |
| : undef-words ['] defined2? IS skip? ; |
: undef-words ['] defined2? IS skip? ; |
| : skipdef skipdef ; |
: skipdef skipdef ; |