| dup cell+ swap @ |
dup cell+ swap @ |
| dup >r DoTable r> swap IF drop EXIT THEN |
dup >r DoTable r> swap IF drop EXIT THEN |
| Display? |
Display? |
| IF look 0= ABORT" SEE: Bua!" |
IF look 0= IF drop dup 1 cells - @ . \ ABORT" SEE: Bua!" |
| cell+ dup count 31 and rot wordinfo .string bl cemit |
ELSE dup cell+ count 31 and rot wordinfo .string THEN bl cemit |
| ELSE drop |
ELSE drop |
| THEN ; |
THEN ; |
| |
|
| here @ .name cr |
here @ .name cr |
| here @ dosee ; |
here @ dosee ; |
| : docol S" : " Com# .string |
: docol S" : " Com# .string |
| cell+ dup count $1F and 2 pick wordinfo .string bl cemit bl cemit |
dup cell+ count $1F and 2 pick wordinfo .string bl cemit bl cemit |
| ( XPos @ ) 2 Level ! |
( XPos @ ) 2 Level ! |
| name> >body |
name> >body |
| C-Pass @ DebugMode = IF ScanMode c-pass ! EXIT THEN |
C-Pass @ DebugMode = IF ScanMode c-pass ! EXIT THEN |
| 0 , |
0 , |
| |
|
| : (dosee) ( lfa -- ) |
: (dosee) ( lfa -- ) |
| dup cell+ dup c@ 32 and IF over .name ." is an immediate word" cr THEN |
dup dup cell+ c@ 32 and IF over .name ." is an immediate word" cr THEN |
| wordinfo |
wordinfo |
| wordtypes |
wordtypes |
| BEGIN dup @ dup |
BEGIN dup @ dup |
| |
|
| ' (dosee) IS dosee |
' (dosee) IS dosee |
| |
|
| : see name find cr 0= IF ." Word unknown" cr drop exit THEN |
|
| >name c-init |
|
| dosee ; |
|
| |
|
| : xtc ( xt -- ) \ do see at xt |
: xtc ( xt -- ) \ do see at xt |
| Look 0= ABORT" SEE: No valid XT" |
Look 0= ABORT" SEE: No valid XT" |
| cr c-init |
cr c-init |
| dosee ; |
dosee ; |
| |
|
| |
: see name find 0= IF ." Word unknown" cr drop exit THEN |
| |
xtc ; |
| |
|
| : lfc cr c-init cell+ dosee ; |
: lfc cr c-init cell+ dosee ; |
| : nfc cr c-init dosee ; |
: nfc cr c-init dosee ; |
| |
|