version 1.33, 1999/03/23 20:24:18
|
version 1.35, 1999/05/21 20:35:35
|
Line 90 decimal
|
Line 90 decimal
|
\ CONVERT 17may93jaw |
\ CONVERT 17may93jaw |
|
|
: convert ( ud1 c-addr1 -- ud2 c-addr2 ) \ core-ext |
: convert ( ud1 c-addr1 -- ud2 c-addr2 ) \ core-ext |
\G OBSOLESCENT; superseded by @code{>number}. |
\G OBSOLESCENT: superseded by @code{>number}. |
char+ true >number drop ; |
char+ true >number drop ; |
|
|
\ ERASE 17may93jaw |
\ ERASE 17may93jaw |
Line 100 decimal
|
Line 100 decimal
|
\G of @var{len} address units starting at address @var{addr}. |
\G of @var{len} address units starting at address @var{addr}. |
\ !! dependence on "1 chars 1 =" |
\ !! dependence on "1 chars 1 =" |
( 0 1 chars um/mod nip ) 0 fill ; |
( 0 1 chars um/mod nip ) 0 fill ; |
: blank ( addr len -- ) \ string |
: blank ( c-addr u -- ) \ string |
\G If @var{len}>0, store the character value for a space in each |
\G If @var{u}>0, store the character value for a space in each |
\G location of a memory region |
\G location of a memory region |
\G of @var{len} character units starting at address @var{addr}. |
\G of @var{u} character units starting at address @var{c-addr}. |
bl fill ; |
bl fill ; |
|
|
\ SEARCH 02sep94py |
\ SEARCH 02sep94py |
Line 128 decimal
|
Line 128 decimal
|
\ SOURCE-ID SAVE-INPUT RESTORE-INPUT 11jun93jaw |
\ SOURCE-ID SAVE-INPUT RESTORE-INPUT 11jun93jaw |
|
|
: source-id ( -- 0 | -1 | fileid ) \ core-ext,file source-i-d |
: source-id ( -- 0 | -1 | fileid ) \ core-ext,file source-i-d |
loadfile @ dup 0= IF drop sourceline# 0 min THEN ; |
\G Return 0 (the input source is the user input device), -1 (the |
|
\G input source is a string being processed by @code{evaluate}) or |
: save-input ( -- x1 .. xn n ) \ core-ext |
\G a @var{fileid} (the input source is the file specified by |
|
\G @var{fileid}). |
|
loadfile @ dup 0= IF drop sourceline# 0 min THEN ; |
|
|
|
: save-input ( -- xn .. x1 n ) \ core-ext |
|
\G The @var{n} entries @var{xn - x1} describe the current state of the |
|
\G input source specification, in some platform-dependent way that can |
|
\G be used by @code{restore-input}. |
>in @ |
>in @ |
loadfile @ |
loadfile @ |
if |
if |
Line 144 decimal
|
Line 151 decimal
|
source-id |
source-id |
6 ; |
6 ; |
|
|
: restore-input ( x1 .. xn n -- flag ) \ core-ext |
: restore-input ( xn .. x1 n -- flag ) \ core-ext |
|
\G Attempt to restore the input source specification to the state |
|
\G described by the @var{n} entries @var{xn - x1}. @var{flag} is |
|
\G true if the restore fails. In Gforth it fails pretty often |
|
\G (and sometimes with a @code{throw}). |
6 <> -12 and throw |
6 <> -12 and throw |
source-id <> -12 and throw |
source-id <> -12 and throw |
>tib ! |
>tib ! |
Line 168 decimal
|
Line 179 decimal
|
|
|
\ EXPECT SPAN 17may93jaw |
\ EXPECT SPAN 17may93jaw |
|
|
variable span ( -- a-addr ) \ core-ext |
variable span ( -- c-addr ) \ core-ext |
\ obsolescent |
\ VARIABLE: @var{c-addr} is the address of a cell that stores the |
|
\ length of the last string received by @code{expect}. OBSOLESCENT. |
: expect ( c-addr +len -- ) \ core-ext |
|
\ obsolescent; use accept |
: expect ( c-addr +n -- ) \ core-ext |
|
\G Receive a string of at most @var{+n} characters, and store it |
|
\G in memory starting at @var{c-addr}. The string is |
|
\G displayed. Input terminates when the <return> key is pressed or |
|
\G @var{+n} characters have been received. The normal Gforth line |
|
\G editing capabilites are available. The length of the string is |
|
\G stored in @code{span}; it does not include the <return> |
|
\G character. OBSOLESCENT: superceeded by @code{accept}. |
0 rot over |
0 rot over |
BEGIN ( maxlen span c-addr pos1 ) |
BEGIN ( maxlen span c-addr pos1 ) |
key decode ( maxlen span c-addr pos2 flag ) |
key decode ( maxlen span c-addr pos2 flag ) |