version 1.68, 2012/02/13 22:08:58
|
version 1.69, 2012/06/27 20:49:34
|
Line 735 is free-old-local-names
|
Line 735 is free-old-local-names
|
code-address! |
code-address! |
then ; |
then ; |
|
|
:noname |
: (int-to) ( xt -- ) dup >definer |
' dup >definer [ ' locals-wordlist ] literal >definer = |
case |
if |
[ ' locals-wordlist ] literal >definer \ value |
>body ! |
of >body ! endof |
else |
[ ' parse-name ] literal >definer \ defer |
|
of defer! endof |
-&32 throw |
-&32 throw |
endif ; |
endcase ; |
:noname |
|
comp' drop dup >definer |
: (comp-to) ( xt -- ) dup >definer |
case |
case |
[ ' locals-wordlist ] literal >definer \ value |
[ ' locals-wordlist ] literal >definer \ value |
OF >body POSTPONE Aliteral POSTPONE ! ENDOF |
OF >body POSTPONE Aliteral POSTPONE ! ENDOF |
|
[ ' parse-name ] literal >definer \ defer |
|
OF POSTPONE Aliteral POSTPONE defer! ENDOF |
\ !! dependent on c: etc. being does>-defining words |
\ !! dependent on c: etc. being does>-defining words |
\ this works, because >definer uses >does-code in this case, |
\ this works, because >definer uses >does-code in this case, |
\ which produces a relocatable address |
\ which produces a relocatable address |
Line 760 is free-old-local-names
|
Line 763 is free-old-local-names
|
OF POSTPONE laddr# >body @ lp-offset, POSTPONE f! ENDOF |
OF POSTPONE laddr# >body @ lp-offset, POSTPONE f! ENDOF |
-&32 throw |
-&32 throw |
endcase ; |
endcase ; |
|
|
|
:noname |
|
' (int-to) ; |
|
:noname |
|
comp' drop (comp-to) ; |
interpret/compile: TO ( c|w|d|r "name" -- ) \ core-ext,local |
interpret/compile: TO ( c|w|d|r "name" -- ) \ core-ext,local |
|
|
: locals| ( ... "name ..." -- ) \ local-ext locals-bar |
: locals| ( ... "name ..." -- ) \ local-ext locals-bar |