| : back? ( n -- flag ) 0< ; |
: back? ( n -- flag ) 0< ; |
| : ahead? ( n -- flag ) 0> ; |
: ahead? ( n -- flag ) 0> ; |
| |
|
| : c-(compile) |
|
| Display? |
|
| IF |
|
| s" POSTPONE " Com# .string |
|
| dup @ look 0= ABORT" SEE: No valid XT" |
|
| name>string 0 .string bl cemit |
|
| THEN |
|
| cell+ ; |
|
| |
|
| : c-lit |
: c-lit |
| Display? IF |
Display? IF |
| dup @ dup abs 0 <# #S rot sign #> 0 .string bl cemit |
dup @ dup abs 0 <# #S rot sign #> 0 .string bl cemit |
| THEN |
THEN |
| Debug? IF drop THEN ; |
Debug? IF drop THEN ; |
| |
|
| : c-does> \ end of create part |
|
| Display? IF S" DOES> " Com# .string THEN |
|
| maxaligned /does-handler + ; |
|
| |
|
| : c-abort" |
: c-abort" |
| count 2dup + aligned -rot |
count 2dup + aligned -rot |
| Display? |
Display? |
| ELSE 2drop |
ELSE 2drop |
| THEN ; |
THEN ; |
| |
|
| |
[IFDEF] (does>) |
| |
: c-does> \ end of create part |
| |
Display? IF S" DOES> " Com# .string THEN |
| |
maxaligned /does-handler + ; |
| |
[THEN] |
| |
|
| |
[IFDEF] (compile) |
| |
: c-(compile) |
| |
Display? |
| |
IF |
| |
s" POSTPONE " Com# .string |
| |
dup @ look 0= ABORT" SEE: No valid XT" |
| |
name>string 0 .string bl cemit |
| |
THEN |
| |
cell+ ; |
| |
[THEN] |
| |
|
| CREATE C-Table |
CREATE C-Table |
| ' lit A, ' c-lit A, |
' lit A, ' c-lit A, |
| [IFDEF] (-loop) ' (-loop) A, ' c-loop A, [THEN] |
[IFDEF] (-loop) ' (-loop) A, ' c-loop A, [THEN] |
| ' (next) A, ' c-loop A, |
' (next) A, ' c-loop A, |
| ' ;s A, ' c-exit A, |
' ;s A, ' c-exit A, |
| ' (does>) A, ' c-does> A, |
|
| ' (abort") A, ' c-abort" A, |
' (abort") A, ' c-abort" A, |
| ' (compile) A, ' c-(compile) A, |
\ only defined if compiler is loaded |
| |
[IFDEF] (compile) ' (compile) A, ' c-(compile) A, [THEN] |
| |
[IFDEF] (does>) ' (does>) A, ' c-does> A, [THEN] |
| 0 , here 0 , |
0 , here 0 , |
| |
|
| avariable c-extender |
avariable c-extender |