version 1.21, 2002/09/14 08:20:21
|
version 1.24, 2003/01/20 19:17:59
|
Line 38 create image-included-files 4 , A, ( poi
|
Line 38 create image-included-files 4 , A, ( poi
|
\G loaded. If the current input source is no (stream) file, the |
\G loaded. If the current input source is no (stream) file, the |
\G result is undefined. In Gforth, the result is valid during the |
\G result is undefined. In Gforth, the result is valid during the |
\G whole seesion (but not across @code{savesystem} etc.). |
\G whole seesion (but not across @code{savesystem} etc.). |
loadfilename# @ loadfilename#>str ; |
loadfilename 2@ ; |
|
|
: sourceline# ( -- u ) \ gforth sourceline-number |
: sourceline# ( -- u ) \ gforth sourceline-number |
\G The line number of the line that is currently being interpreted |
\G The line number of the line that is currently being interpreted |
Line 78 create image-included-files 4 , A, ( poi
|
Line 78 create image-included-files 4 , A, ( poi
|
has? new-input [IF] |
has? new-input [IF] |
: included1 ( i*x file-id c-addr u -- j*x ) \ gforth |
: included1 ( i*x file-id c-addr u -- j*x ) \ gforth |
\G Include the file file-id with the name given by @var{c-addr u}. |
\G Include the file file-id with the name given by @var{c-addr u}. |
save-mem add-included-file ( file-id ) |
save-mem 2dup add-included-file ( file-id ) |
included-files @ 1- ['] include-file2 catch |
['] include-file2 catch |
throw ; |
throw ; |
[ELSE] |
[ELSE] |
: included1 ( i*x file-id c-addr u -- j*x ) \ gforth |
: included1 ( i*x file-id c-addr u -- j*x ) \ gforth |
\G Include the file file-id with the name given by @var{c-addr u}. |
\G Include the file file-id with the name given by @var{c-addr u}. |
loadfilename# @ >r |
loadfilename 2@ 2>r |
save-mem add-included-file ( file-id ) |
save-mem 2dup loadfilename 2! |
included-files 2@ nip 1- loadfilename# ! |
add-included-file ( file-id ) |
['] include-file2 catch |
['] include-file2 catch |
r> loadfilename# ! |
2r> loadfilename 2! |
throw ; |
throw ; |
[THEN] |
[THEN] |
|
|
Line 143 has? new-input [IF]
|
Line 143 has? new-input [IF]
|
\ REPEAT |
\ REPEAT |
\ drop ; |
\ drop ; |
|
|
\ : loadfilename#>str ( n -- adr len ) |
|
\ \ this converts the filenumber into the string |
|
\ loadfilenamecount @ swap - |
|
\ needs^ @ |
|
\ swap 0 ?DO dup 0= IF LEAVE THEN @ LOOP |
|
\ dup IF cell+ count ELSE drop s" NOT FOUND" THEN ; |
|
|
|
: loadfilename#>str ( n -- adr len ) |
|
included-files 2@ drop swap 2* cells + 2@ ; |
|
|
|
: .strings ( addr u -- ) \ gforth |
: .strings ( addr u -- ) \ gforth |
\G list the strings from an array of string descriptors at addr |
\G list the strings from an array of string descriptors at addr |
\G with u entries, one per line. |
\G with u entries, one per line. |