version 1.13, 2000/09/12 19:20:06
|
version 1.16, 2000/10/29 20:27:03
|
Line 1
|
Line 1
|
\ File specifiers 11jun93jaw |
\ File specifiers 11jun93jaw |
|
|
\ Copyright (C) 1995,1996,1997,1998 Free Software Foundation, Inc. |
\ Copyright (C) 1995,1996,1997,1998,2000 Free Software Foundation, Inc. |
|
|
\ This file is part of Gforth. |
\ This file is part of Gforth. |
|
|
Line 16
|
Line 16
|
|
|
\ 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, write to the Free Software |
\ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. |
\ 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 36
|
Line 36
|
|
|
\ include-file 07apr93py |
\ include-file 07apr93py |
|
|
|
has? new-input 0= [IF] |
: push-file ( -- ) r> |
: push-file ( -- ) r> |
#fill-bytes @ >r |
#fill-bytes @ >r |
loadline @ >r |
loadline @ >r |
Line 50
|
Line 51
|
|
|
: pop-file ( throw-code -- throw-code ) |
: pop-file ( throw-code -- throw-code ) |
dup IF |
dup IF |
source >in @ sourceline# sourcefilename |
source >in @ sourceline# sourcefilename >error |
error-stack dup @ dup 1+ |
|
max-errors 1- min error-stack ! |
|
6 * cells + cell+ |
|
5 cells bounds swap DO |
|
I ! |
|
-1 cells +LOOP |
|
THEN |
THEN |
r> |
r> |
r> >in ! |
r> >in ! |
Line 85
|
Line 80
|
|
|
: include-file ( i*x wfileid -- j*x ) \ file |
: include-file ( i*x wfileid -- j*x ) \ file |
loadfilename# @ >r |
loadfilename# @ >r |
3 loadfilename# ! \ "\a file/" |
3 loadfilename# ! \ "*a file*" |
include-file1 |
include-file1 |
r> loadfilename# ! |
r> loadfilename# ! |
throw throw ; |
throw throw ; |
|
[THEN] |
|
|
\ additional words only needed if there is file support |
\ additional words only needed if there is file support |
|
|