bd38d80f9c
and renamed it "Core words". Also, reworded the presentation.
14 lines
440 B
Plaintext
14 lines
440 B
Plaintext
( Read word from C<, copy to WORDBUF, null-terminate, and
|
|
return WORDBUF. )
|
|
: WORD
|
|
0x0e RAM+ TOWORD ( a c )
|
|
DUP EOT? IF OVER ! EXIT THEN
|
|
BEGIN
|
|
( We take advantage of the fact that char MSB is
|
|
always zero to pre-write our null-termination )
|
|
OVER ! 1+ C< ( a c )
|
|
OVER 0x2d ( 2e-1 for NULL ) RAM+ = OVER WS? OR
|
|
UNTIL ( a c )
|
|
SWAP DROP 0x0e RAM+ ( ws a )
|
|
SWAP EOT? IF 4 OVER ! THEN ;
|