File: mini-oof.fs

package info (click to toggle)
gforth 0.6.2-4
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 8,268 kB
  • ctags: 1,534
  • sloc: ansic: 6,256; sh: 3,044; lisp: 1,788; makefile: 873; yacc: 186; sed: 141; lex: 104; awk: 21
file content (13 lines) | stat: -rw-r--r-- 655 bytes parent folder | download | duplicates (11)
1
2
3
4
5
6
7
8
9
10
11
12
13
\ Mini-OOF                                                 12apr98py
: method ( m v "name" -- m' v ) Create  over , swap cell+ swap
  DOES> ( ... o -- ... ) @ over @ + @ execute ;
: var ( m v size "name" -- m v' ) Create  over , +
  DOES> ( o -- addr ) @ + ;
: class ( class -- class methods vars ) dup 2@ ;
: end-class  ( class methods vars "name" -- )
  Create  here >r , dup , 2 cells ?DO ['] noop , 1 cells +LOOP
  cell+ dup cell+ r> rot @ 2 cells /string move ;
: defines ( xt class "name" -- ) ' >body @ + ! ;
: new ( class -- o )  here over @ allot swap over ! ;
: :: ( class "name" -- ) ' >body @ + @ compile, ;
Create object  1 cells , 2 cells ,