--- gforth/cross.fs 2011/10/06 20:04:35 1.176 +++ gforth/cross.fs 2011/11/11 18:39:37 1.178 @@ -2966,6 +2966,25 @@ Builder input-var Build: ( m v size -- m v' ) over T , H + ;Build DO: abort" Not in cross mode" ;DO +\ Mini-OOF + +Builder method +Build: ( m v -- m' v ) over T , swap cell+ swap H ;Build +DO: abort" Not in cross mode" ;DO + +Builder var +Build: ( m v size -- m v+size ) over T , H + ;Build +DO: ( o -- addr ) T @ H + ;DO + +Builder end-class +Build: ( addr m v -- ) + T here >r , dup , 2 cells H ?DO T ['] noop , 1 cells H +LOOP + T cell+ dup cell+ r> rot @ 2 cells /string move H ;Build +by Create + +: class ( class -- class methods vars ) dup T 2@ H ; +: defines ( xt class -- ) T ' >body @ + ! H ; + \ Peephole optimization 05sep01jaw \ this section defines different compilation