version 1.1, 1994/05/07 14:55:56
|
version 1.2, 1994/06/01 10:05:17
|
Line 74 include search-order.fs
|
Line 74 include search-order.fs
|
vocabulary locals \ this contains the local variables |
vocabulary locals \ this contains the local variables |
' locals >body Constant locals-list \ acts like a variable that contains |
' locals >body Constant locals-list \ acts like a variable that contains |
\ a linear list of locals names |
\ a linear list of locals names |
|
: locals-list! ( list -- ) locals-list ! locals-list rehash ; |
|
|
create locals-buffer 1000 allot \ !! limited and unsafe |
create locals-buffer 1000 allot \ !! limited and unsafe |
\ here the names of the local variables are stored |
\ here the names of the local variables are stored |
Line 412 variable dead-code \ true if normal code
|
Line 413 variable dead-code \ true if normal code
|
else |
else |
0 0 |
0 0 |
endif |
endif |
locals-list ! |
locals-list! |
locals-size ! ; |
locals-size ! ; |
|
|
: check-begin ( list -- ) |
: check-begin ( list -- ) |
Line 446 variable dead-code \ true if normal code
|
Line 447 variable dead-code \ true if normal code
|
dead-code @ |
dead-code @ |
if |
if |
>resolve |
>resolve |
locals-list ! |
locals-list! |
locals-size ! |
locals-size ! |
else |
else |
locals-size @ 3 roll - compile-lp+!# |
locals-size @ 3 roll - compile-lp+!# |
>resolve |
>resolve |
locals-list @ common-list locals-list ! |
locals-list @ common-list locals-list! |
locals-size @ locals-list @ list-size - compile-lp+!# |
locals-size @ locals-list @ list-size - compile-lp+!# |
endif |
endif |
dead-code off ; immediate |
dead-code off ; immediate |
Line 461 variable dead-code \ true if normal code
|
Line 462 variable dead-code \ true if normal code
|
|
|
: endscope ( dest -- ) |
: endscope ( dest -- ) |
drop |
drop |
locals-list @ common-list locals-list ! |
locals-list @ common-list locals-list! |
locals-size @ locals-list @ list-size - compile-lp+!# |
locals-size @ locals-list @ list-size - compile-lp+!# |
drop ; immediate |
drop ; immediate |
|
|
Line 622 variable leave-sp leave-stack leave-sp
|
Line 623 variable leave-sp leave-stack leave-sp
|
clear-leave-stack |
clear-leave-stack |
0 locals-size ! |
0 locals-size ! |
locals-buffer locals-dp ! |
locals-buffer locals-dp ! |
0 locals-list ! ; ( clear locals vocabulary ) |
0 locals-list! ; ( clear locals vocabulary ) |
|
|
: locals-;-hook ( sys addr xt -- sys ) |
: locals-;-hook ( sys addr xt -- sys ) |
0 TO locals-wordlist |
0 TO locals-wordlist |