705d68deec
With KEY and EMIT being switch words, most of the high layer can be defined before drivers. In addition to this change, I've compacted core blocks which were becoming quite sparse.
14 lines
456 B
Plaintext
14 lines
456 B
Plaintext
( We don't use ." and ABORT in core, they're not xcomp-ed )
|
|
: ." [COMPILE] LIT" COMPILE (print) ; IMMEDIATE
|
|
: ABORT" [COMPILE] ." COMPILE ABORT ; IMMEDIATE
|
|
: BEGIN H@ ; IMMEDIATE
|
|
: AGAIN COMPILE (br) H@ - _bchk C, ; IMMEDIATE
|
|
: UNTIL COMPILE (?br) H@ - _bchk C, ; IMMEDIATE
|
|
: [ INTERPRET ; IMMEDIATE
|
|
: ] R> DROP ;
|
|
: COMPILE ' LITN ['] , , ; IMMEDIATE
|
|
: [COMPILE] ' , ; IMMEDIATE
|
|
: ['] ' LITN ; IMMEDIATE
|
|
':' X' _ 4 - C! ( give : its name )
|
|
'(' X' _ 4 - C!
|