version 1.4, 1994/07/13 19:21:09
|
version 1.7, 1995/10/07 17:38:21
|
Line 20 INCLUDE look.fs
|
Line 20 INCLUDE look.fs
|
ELSE 2drop false THEN ; |
ELSE 2drop false THEN ; |
|
|
: var? ( nfa -- flag ) |
: var? ( nfa -- flag ) |
cell+ (name>) |
cell+ (name>) >code-address dovar: = ; |
>code-address ['] udp >code-address = ; |
|
|
|
: con? ( nfa -- flag ) |
: con? ( nfa -- flag ) |
cell+ (name>) |
cell+ (name>) >code-address docon: = ; |
>code-address ['] bl >code-address = ; |
|
|
: user? ( nfa -- flag ) |
|
cell+ (name>) >code-address douser: = ; |
|
|
: does? ( nfa -- flag ) |
: does? ( nfa -- flag ) |
cell+ dup (name>) |
\ !! does not work on all installations |
>code-address ['] source >code-address = |
cell+ (name>) |
dup IF swap (name>) cell+ @ here ! ELSE nip THEN ; |
>code-address ['] bits >code-address = ; |
|
|
: defered? ( nfa -- flag ) |
: defered? ( nfa -- flag ) |
dup does? |
cell+ (name>) >code-address dodefer: = ; |
IF here @ ['] source cell+ @ = |
|
dup IF swap cell+ (name>) >body @ here ! ELSE nip THEN |
|
ELSE drop false THEN ; |
|
|
|
: colon? ( nfa -- flag ) |
: colon? ( nfa -- flag ) |
cell+ (name>) |
cell+ (name>) >code-address docol: = ; |
>code-address ['] does? >code-address = ; |
|
|
\ the above words could be factored with create-does>, but this would |
|
\ probably make this file incompatible with cross. |
|
|
\ VALUE VCheck |
\ VALUE VCheck |
|
|
Line 66 INCLUDE look.fs
|
Line 66 INCLUDE look.fs
|
5 CONSTANT Doe# \ Does part |
5 CONSTANT Doe# \ Does part |
6 CONSTANT Def# \ Defer |
6 CONSTANT Def# \ Defer |
7 CONSTANT Col# \ Colon def |
7 CONSTANT Col# \ Colon def |
|
8 CONSTANT Use# \ User variable |
|
|
\ Nobody knows: |
\ Nobody knows: |
|
|
8 CONSTANT Ali# \ Alias |
9 CONSTANT Ali# \ Alias |
|
|
9 CONSTANT Str# \ Structure words |
10 CONSTANT Str# \ Structure words |
|
|
10 CONSTANT Com# \ Compiler directives : ; POSTPONE |
11 CONSTANT Com# \ Compiler directives : ; POSTPONE |
|
|
CREATE InfoTable |
CREATE InfoTable |
' Prim? A, Pri# , |
' Prim? A, Pri# , |
' Alias? A, Ali# , |
' Alias? A, Ali# , |
' Con? A, Con# , |
' Con? A, Con# , |
' Var? A, Var# , |
' Var? A, Var# , |
\ ' Value? A, Val# , |
\ ' Value? A, Val# , |
' Defered? A, Def# , |
' Defered? A, Def# , |
' Does? A, Doe# , |
' Does? A, Doe# , |
' Colon? A, Col# , |
' Colon? A, Col# , |
|
' User? A, Use# , |
0 , |
0 , |
|
|
: WordInfo ( nfa --- code ) |
: WordInfo ( nfa --- code ) |