version 1.15, 1994/08/25 15:25:28
|
version 1.16, 1994/08/31 16:37:48
|
Line 780 Avariable leave-sp leave-stack 3 cells
|
Line 780 Avariable leave-sp leave-stack 3 cells
|
\ information through global variables), but they are useful for dealing |
\ information through global variables), but they are useful for dealing |
\ with existing/independent defining words |
\ with existing/independent defining words |
|
|
defer header |
defer (header) |
|
defer header ' (header) IS header |
|
|
: name, ( "name" -- ) |
: name, ( "name" -- ) |
name c@ |
name c@ |
dup $1F u> -&19 and throw ( is name too long? ) |
dup $1F u> -&19 and throw ( is name too long? ) |
1+ chars allot align ; |
1+ chars allot align ; |
|
|
: input-stream-header ( "name" -- ) |
: input-stream-header ( "name" -- ) |
\ !! this is f83-implementation-dependent |
\ !! this is f83-implementation-dependent |
align here last ! -1 A, |
align here last ! -1 A, |
Line 793 defer header
|
Line 795 defer header
|
|
|
: input-stream ( -- ) \ general |
: input-stream ( -- ) \ general |
\ switches back to getting the name from the input stream ; |
\ switches back to getting the name from the input stream ; |
['] input-stream-header IS header ; |
['] input-stream-header IS (header) ; |
|
|
' input-stream-header IS header |
' input-stream-header IS (header) |
|
|
\ !! make that a 2variable |
\ !! make that a 2variable |
create nextname-buffer 32 chars allot |
create nextname-buffer 32 chars allot |
Line 813 create nextname-buffer 32 chars allot
|
Line 815 create nextname-buffer 32 chars allot
|
dup $1F u> -&19 and throw ( is name too long? ) |
dup $1F u> -&19 and throw ( is name too long? ) |
nextname-buffer c! ( c-addr ) |
nextname-buffer c! ( c-addr ) |
nextname-buffer count move |
nextname-buffer count move |
['] nextname-header IS header ; |
['] nextname-header IS (header) ; |
|
|
: noname-header ( -- ) |
: noname-header ( -- ) |
0 last ! |
0 last ! |
Line 821 create nextname-buffer 32 chars allot
|
Line 823 create nextname-buffer 32 chars allot
|
|
|
: noname ( -- ) \ general |
: noname ( -- ) \ general |
\ the next defined word remains anonymous. The xt of that word is given by lastxt |
\ the next defined word remains anonymous. The xt of that word is given by lastxt |
['] noname-header IS header ; |
['] noname-header IS (header) ; |
|
|
: lastxt ( -- xt ) \ general |
: lastxt ( -- xt ) \ general |
\ xt is the execution token of the last word defined. The main purpose of this word is to get the xt of words defined using noname |
\ xt is the execution token of the last word defined. The main purpose of this word is to get the xt of words defined using noname |
Line 1013 Variable warnings G -1 warnings T !
|
Line 1015 Variable warnings G -1 warnings T !
|
|
|
07 constant #bell |
07 constant #bell |
08 constant #bs |
08 constant #bs |
|
09 constant #tab |
7F constant #del |
7F constant #del |
0D constant #cr \ the newline key code |
0D constant #cr \ the newline key code |
0A constant #lf |
0A constant #lf |
|
0C constant #ff |
|
|
: bell #bell emit ; |
: bell #bell emit ; |
|
|