Diff for /gforth/glocals.fs between versions 1.20 and 1.21

version 1.20, 1996/05/03 13:05:05 version 1.21, 1996/05/09 18:12:59
Line 505  forth definitions Line 505  forth definitions
     then ;      then ;
   
 : TO ( c|w|d|r "name" -- ) \ core-ext,local  : TO ( c|w|d|r "name" -- ) \ core-ext,local
  0 0 0. 0.0e0 { c: clocal w: wlocal d: dlocal f: flocal }      0 0 0. 0.0e0 { c: clocal w: wlocal d: dlocal f: flocal }
  ' dup >definer      ' dup >definer
  state @       case
  if          [ ' locals-wordlist >definer ] literal \ value
    case          OF >body POSTPONE Aliteral POSTPONE ! ENDOF
      [ ' locals-wordlist >definer ] literal \ value          [ ' clocal >definer ] literal
      OF >body POSTPONE Aliteral POSTPONE ! ENDOF          OF POSTPONE laddr# >body @ lp-offset, POSTPONE c! ENDOF
      [ ' clocal >definer ] literal          [ ' wlocal >definer ] literal
      OF POSTPONE laddr# >body @ lp-offset, POSTPONE c! ENDOF          OF POSTPONE laddr# >body @ lp-offset, POSTPONE ! ENDOF
      [ ' wlocal >definer ] literal          [ ' dlocal >definer ] literal
      OF POSTPONE laddr# >body @ lp-offset, POSTPONE ! ENDOF          OF POSTPONE laddr# >body @ lp-offset, POSTPONE 2! ENDOF
      [ ' dlocal >definer ] literal          [ ' flocal >definer ] literal
      OF POSTPONE laddr# >body @ lp-offset, POSTPONE 2! ENDOF          OF POSTPONE laddr# >body @ lp-offset, POSTPONE f! ENDOF
      [ ' flocal >definer ] literal          -&32 throw
      OF POSTPONE laddr# >body @ lp-offset, POSTPONE f! ENDOF      endcase ; immediate
      -&32 throw  interpretation:
    endcase      ' dup >definer [ ' locals-wordlist >definer ] literal =
  else      if
    [ ' locals-wordlist >definer ] literal =          >body !
    if      else
      >body !          -&32 throw
    else      endif ;
      -&32 throw  
    endif  
  endif ; immediate  
   
 : locals|  : locals|
     \ don't use 'locals|'! use '{'! A portable and free '{'      \ don't use 'locals|'! use '{'! A portable and free '{'
     \ implementation is anslocals.fs      \ implementation is compat/anslocals.fs
     BEGIN      BEGIN
         name 2dup s" |" compare 0<>          name 2dup s" |" compare 0<>
     WHILE      WHILE

Removed from v.1.20  
changed lines
  Added in v.1.21


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