Diff for /gforth/mini-oof.fs between versions 1.1 and 1.8

version 1.1, 1998/04/12 21:49:13 version 1.8, 2012/05/26 10:20:01
Line 1 Line 1
 1 cells Constant cell  \ Mini-OOF                                                 12apr98py
 : method ( m v -- m' v ) Create  over , swap cell+ swap  : method ( m v "name" -- m' v ) Create  over , swap cell+ swap
   DOES> ( ... o -- ... ) @ over @ + @ execute ;    DOES> ( ... o -- ... ) @ over @ + @ execute ;
 : var ( m v size -- m v' ) Create  over , +  : var ( m v size "name" -- m v' ) Create  over , +
   DOES> ( o -- addr ) @ + ;    DOES> ( o -- addr ) @ + ;
 : class ( class -- class methods vars ) dup 2@ ;  : class ( class -- class methods vars ) dup 2@ ;
 : end-class  ( class methods vars -- )  : end-class  ( class methods vars "name" -- )
   Create  here >r , dup , 2 cells ?DO ['] noop , cell +LOOP    Create  here >r , dup , 2 cells ?DO ['] noop , 1 cells +LOOP
   cell+ dup cell+ swap @ 2 - cells r> 2 cells + swap move ;    cell+ dup cell+ r> rot @ 2 cells /string move ;
 : defines ( xt class -- ) ' >body @ + ! ;  : >vt ( class "name" -- addr )  ' >body @ + ;
   : bind ( class "name" -- xt )    >vt @ ;
   : defines ( xt class "name" -- ) >vt ! ;
 : new ( class -- o )  here over @ allot swap over ! ;  : new ( class -- o )  here over @ allot swap over ! ;
 : :: ( class "name" -- ) ' >body @ + @ compile, ;  : :: ( class "name" -- ) bind compile, ;
 Create object  1 cells , 2 cells ,  Create object  1 cells , 2 cells ,

Removed from v.1.1  
changed lines
  Added in v.1.8


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>