Diff for /gforth/see.fs between versions 1.69 and 1.73

version 1.69, 2010/04/18 16:39:55 version 1.73, 2010/08/28 09:48:53
Line 254  VARIABLE C-Pass Line 254  VARIABLE C-Pass
 : Scan? ( -- flag ) C-Pass @ 0= ;  : Scan? ( -- flag ) C-Pass @ 0= ;
 : Display? ( -- flag ) C-Pass @ 1 = ;  : Display? ( -- flag ) C-Pass @ 1 = ;
 : Debug? ( -- flag ) C-Pass @ 2 = ;  : Debug? ( -- flag ) C-Pass @ 2 = ;
   : ?.string  ( c-addr u n -- )   Display? if .string else 2drop drop then ;
   
 : back? ( addr target -- addr flag )  : back? ( addr target -- addr flag )
     over u< ;      over u< ;
Line 293  VARIABLE C-Pass Line 294  VARIABLE C-Pass
 \ here docon: , docol: , dovar: , douser: , dodefer: , dofield: ,  \ here docon: , docol: , dovar: , douser: , dodefer: , dofield: ,
 \ here over - 2constant doers  \ here over - 2constant doers
   
   [IFDEF] !does
   : c-does>               \ end of create part
           Display? IF S" DOES> " Com# .string THEN ;
   \       maxaligned /does-handler + ; \ !! no longer needed for non-cross stuff
   [THEN]
   
 : c-lit ( addr1 -- addr2 )  : c-lit ( addr1 -- addr2 )
     Display? IF      dup @ dup body> dup cfaligned over = swap in-dictionary? and if
         dup @ dup body> dup cfaligned over = swap in-dictionary? and if          ( addr1 addr1@ )
             ( addr1 addr1@ )          dup body> @ dovar: = if
             dup body> @ dovar: = if              drop c-call EXIT
                 drop c-call EXIT          endif
             endif      endif
       over 4 cells + over = if
           over 1 cells + @ decompile-prim ['] call xt>threaded = >r
           over 3 cells + @ decompile-prim ['] ;S xt>threaded =
           r> and if
               over 2 cells + @ ['] !does >body = if  drop
                   S" DOES> " Com# ?.string 4 cells + EXIT endif
         endif          endif
           [IFDEF] !;abi-code
               over 2 cells + @ ['] !;abi-code >body = if  drop
                   S" ;abi-code " Com# ?.string 4 cells +
                   c-stop on
                   EXIT
               endif
           [THEN]
       endif
       Display? if
         \ !! test for cfa here, and print "['] ..."          \ !! test for cfa here, and print "['] ..."
         dup abs 0 <# #S rot sign #> 0 .string bl cemit          dup abs 0 <# #S rot sign #> 0 .string bl cemit
     endif      else  drop  then
     cell+ ;      cell+ ;
   
 : c-lit+ ( addr1 -- addr2 )  : c-lit+ ( addr1 -- addr2 )
Line 529  VARIABLE C-Pass Line 551  VARIABLE C-Pass
         ELSE    2drop          ELSE    2drop
         THEN ;          THEN ;
   
 [IFDEF] !does  
 : c-does>               \ end of create part  
         Display? IF S" DOES> " Com# .string THEN ;  
 \       maxaligned /does-handler + ; \ !! no longer needed for non-cross stuff  
 [THEN]  
   
 [IFDEF] (compile)  [IFDEF] (compile)
 : c-(compile)  : c-(compile)
     Display?      Display?
Line 576  CREATE C-Table Line 592  CREATE C-Table
 [IFDEF] (abort") ' (abort") A,      ' c-abort" A, [THEN]  [IFDEF] (abort") ' (abort") A,      ' c-abort" A, [THEN]
 \ only defined if compiler is loaded  \ only defined if compiler is loaded
 [IFDEF] (compile) ' (compile) A,      ' c-(compile) A, [THEN]  [IFDEF] (compile) ' (compile) A,      ' c-(compile) A, [THEN]
 [IFDEF] !does   ' !does A,          ' c-does> A, [THEN]  
                 0 ,             here 0 ,                  0 ,             here 0 ,
   
 avariable c-extender  avariable c-extender

Removed from v.1.69  
changed lines
  Added in v.1.73


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