| |
|
| Create block-input A, A, A, A, A, |
Create block-input A, A, A, A, A, |
| |
|
| : load ( i*x n -- j*x ) \ block |
: load ( i*x u -- j*x ) \ block |
| \G Save the current input source specification. Store @i{n} in |
\g Text-interpret block @i{u}. Block 0 cannot be @code{load}ed. |
| \G @code{BLK}, set @code{>IN} to 0 and interpret. When the parse |
|
| \G area is exhausted, restore the input source specification. |
|
| dup 0= -35 and throw |
dup 0= -35 and throw |
| block-input 0 new-tib dup loadline ! blk ! s" * a block*" loadfilename 2! |
block-input 0 new-tib dup loadline ! blk ! s" * a block*" loadfilename 2! |
| ['] interpret catch pop-file throw ; |
['] interpret catch pop-file throw ; |
| \G @i{c-addr} is the address of the input buffer and @i{u} is the |
\G @i{c-addr} is the address of the input buffer and @i{u} is the |
| \G number of characters in it. |
\G number of characters in it. |
| |
|
| : load ( i*x n -- j*x ) \ block |
: load ( i*x u -- j*x ) \ block |
| \G Save the current input source specification. Store @i{n} in |
\g Text-interpret block @i{u}. Block 0 cannot be @code{load}ed. |
| \G @code{BLK}, set @code{>IN} to 0 and interpret. When the parse |
|
| \G area is exhausted, restore the input source specification. |
|
| dup 0= -35 and throw |
dup 0= -35 and throw |
| s" * a block*" loadfilename>r |
s" * a block*" loadfilename>r |
| push-file |
push-file |