version 1.19, 2003/01/20 17:07:41
|
version 1.26, 2007/12/31 19:02:25
|
Line 1
|
Line 1
|
\ File specifiers 11jun93jaw |
\ File specifiers 11jun93jaw |
|
|
\ Copyright (C) 1995,1996,1997,1998,2000 Free Software Foundation, Inc. |
\ Copyright (C) 1995,1996,1997,1998,2000,2003,2006,2007 Free Software Foundation, Inc. |
|
|
\ This file is part of Gforth. |
\ This file is part of Gforth. |
|
|
\ Gforth is free software; you can redistribute it and/or |
\ Gforth is free software; you can redistribute it and/or |
\ modify it under the terms of the GNU General Public License |
\ modify it under the terms of the GNU General Public License |
\ as published by the Free Software Foundation; either version 2 |
\ as published by the Free Software Foundation, either version 3 |
\ of the License, or (at your option) any later version. |
\ of the License, or (at your option) any later version. |
|
|
\ This program is distributed in the hope that it will be useful, |
\ This program is distributed in the hope that it will be useful, |
Line 15
|
Line 15
|
\ GNU General Public License for more details. |
\ GNU General Public License for more details. |
|
|
\ You should have received a copy of the GNU General Public License |
\ You should have received a copy of the GNU General Public License |
\ along with this program; if not, write to the Free Software |
\ along with this program. If not, see http://www.gnu.org/licenses/. |
\ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. |
|
|
|
4 Constant w/o ( -- fam ) \ file w-o |
4 Constant w/o ( -- fam ) \ file w-o |
2 Constant r/w ( -- fam ) \ file r-w |
2 Constant r/w ( -- fam ) \ file r-w |
Line 37
|
Line 36
|
\ include-file 07apr93py |
\ include-file 07apr93py |
|
|
has? new-input 0= [IF] |
has? new-input 0= [IF] |
|
: loadfilename>r ( addr1 u1 -- R: addr2 u2 ) |
|
r> loadfilename 2@ 2>r >r |
|
loadfilename 2! ; |
|
|
|
: r>loadfilename ( R: addr u -- ) |
|
r> 2r> loadfilename 2! >r ; |
|
|
: push-file ( -- ) r> |
: push-file ( -- ) r> |
#fill-bytes @ >r |
#fill-bytes @ >r |
loadline @ >r |
loadline @ >r |
Line 51 has? new-input 0= [IF]
|
Line 57 has? new-input 0= [IF]
|
|
|
: pop-file ( throw-code -- throw-code ) |
: pop-file ( throw-code -- throw-code ) |
dup IF |
dup IF |
source >in @ sourceline# sourcefilename >error |
input-error-data >error |
THEN |
THEN |
r> |
r> |
r> >in ! |
r> >in ! |
Line 79 has? new-input 0= [IF]
|
Line 85 has? new-input 0= [IF]
|
include-file1 throw throw ; |
include-file1 throw throw ; |
|
|
: include-file ( i*x wfileid -- j*x ) \ file |
: include-file ( i*x wfileid -- j*x ) \ file |
loadfilename# @ >r |
s" *a file*" loadfilename>r |
3 loadfilename# ! \ "*a file*" |
|
include-file1 |
include-file1 |
r> loadfilename# ! |
r>loadfilename |
throw throw ; |
throw throw ; |
[THEN] |
[THEN] |
|
|