All pastes #263357 Raw Edit

Mine

public text v1 · immutable
·published 2006-12-01 13:30 UTC
rendered paste body
variable fid
create c 1 chars allot

: open ( c-addr u -- )  r/o open-file throw fid ! ;
: close ( -- )  fid @ close-file throw ;
: read ( -- u )  c 1 fid @ read-file throw ;
: display ( -- )  c c@ emit ;

: go-show  ( c-addr u -- )
    open  begin read while display repeat  close ;

: go-store ( c-addr1 u1 -- c-addr2 u2 )
    here >r
    open  begin read while c c@ c, repeat  close
    r> here over - ;

\ produces:

include file.forth  ok
s" file.forth" go-store  ok
.s <2> 2243200 406  ok
type variable fid
create c 1 chars allot

: open ( c-addr u -- )  r/o open-file throw fid ! ;
: close ( -- )  fid @ close-file throw ;
: read ( -- u )  c 1 fid @ read-file throw ;
: display ( -- )  c c@ emit ;

: go-show  ( c-addr u -- )
    open  begin read while display repeat  close ;

: go-store ( c-addr1 u1 -- c-addr2 u2 )
    here >r
    open  begin read while c c@ c, repeat  close
    r> here over - ; ok