Diff for /gforth/glocals.fs between versions 1.60 and 1.61

version 1.60, 2007/12/31 18:40:24 version 1.61, 2011/12/21 18:00:00
Line 224  variable locals-dp \ so here's the speci Line 224  variable locals-dp \ so here's the speci
 : create-local ( " name" -- a-addr )  : create-local ( " name" -- a-addr )
     \ defines the local "name"; the offset of the local shall be      \ defines the local "name"; the offset of the local shall be
     \ stored in a-addr      \ stored in a-addr
       dp
       locals-dp dpp !
     create      create
         immediate restrict      immediate restrict
         here 0 , ( place for the offset ) ;      here 0 , ( place for the offset )
       swap dpp ! ;
   
 : lp-offset ( n1 -- n2 )  : lp-offset ( n1 -- n2 )
 \ converts the offset from the frame start to an offset from lp and  \ converts the offset from the frame start to an offset from lp and
Line 313  also locals-types Line 316  also locals-types
           
 \ these "locals" are used for comparison in TO  \ these "locals" are used for comparison in TO
   
   here locals-dp !
 c: some-clocal 2drop  c: some-clocal 2drop
 d: some-dlocal 2drop  d: some-dlocal 2drop
 f: some-flocal 2drop  f: some-flocal 2drop
 w: some-wlocal 2drop  w: some-wlocal 2drop
   locals-dp @ dp !
           
 \ the following gymnastics are for declaring locals without type specifier.  \ the following gymnastics are for declaring locals without type specifier.
 \ we exploit a feature of our dictionary: every wordlist  \ we exploit a feature of our dictionary: every wordlist
Line 351  new-locals-map mappedwordlist Constant n Line 356  new-locals-map mappedwordlist Constant n
 \ slowvoc !  \ slowvoc !
 \ new-locals-map ' new-locals >body wordlist-map A! \ !! use special access words  \ new-locals-map ' new-locals >body wordlist-map A! \ !! use special access words
   
 variable old-dpp  
   
 \ and now, finally, the user interface words  \ and now, finally, the user interface words
 : { ( -- latestxt wid 0 ) \ gforth open-brace  : { ( -- latestxt wid 0 ) \ gforth open-brace
     dp old-dpp !  
     locals-dp dpp !  
     latestxt get-current      latestxt get-current
     get-order new-locals-wl swap 1+ set-order      get-order new-locals-wl swap 1+ set-order
     also locals definitions locals-types      also locals definitions locals-types
Line 367  locals-types definitions Line 368  locals-types definitions
   
 : } ( latestxt wid 0 a-addr1 xt1 ... -- ) \ gforth close-brace  : } ( latestxt wid 0 a-addr1 xt1 ... -- ) \ gforth close-brace
     \ ends locals definitions      \ ends locals definitions
     ] old-dpp @ dpp !      ]
     begin      begin
         dup          dup
     while      while

Removed from v.1.60  
changed lines
  Added in v.1.61


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