Diff for /gforth/fi2c.fs between versions 1.17 and 1.21

version 1.17, 2007/03/18 22:35:52 version 1.21, 2007/12/31 17:34:58
Line 1 Line 1
 \ Convert image to C include file  \ Convert image to C include file
   
 \ Copyright (C) 1998,1999,2002,2003 Free Software Foundation, Inc.  \ Copyright (C) 1998,1999,2002,2003,2007 Free Software Foundation, Inc.
   
 \ This file is part of Gforth.  \ This file is part of Gforth.
   
Line 49  Variable env-current Line 49  Variable env-current
    t-env? dup IF drop THEN ;     t-env? dup IF drop THEN ;
   
 ' Value Alias DefaultValue  ' Value Alias DefaultValue
   ' Value Alias SetValue
   
 : kb 1024 * ;  : kb 1024 * ;
   
   ' noop alias T
   ' noop alias H
   
   : has?  parse-name 2drop true ;
   
 include machpc.fs  include machpc.fs
 ENVIRON>  ENVIRON>
   
Line 76  s" NULL" groups @ cell+ $! Line 82  s" NULL" groups @ cell+ $!
             IF              IF
                 11 /string $has? 0= IF r@ scan-ifs  THEN                  11 /string $has? 0= IF r@ scan-ifs  THEN
             ELSE  2dup s" #else" prefix?              ELSE  2dup s" #else" prefix?
                 IF  r@ scan-ifs                  IF  2drop r@ scan-ifs
                 ELSE  2dup s" GROUP(" prefix?                  ELSE  2dup s" GROUP(" prefix?
                     IF  2drop drop 1+ 0  ELSE                      IF  2drop drop 1+ 0  ELSE
                         2dup s" INST_ADDR(" prefix?                          2dup s" INST_ADDR(" prefix?
Line 106  Variable au Line 112  Variable au
     THEN      THEN
     dup 1 8 tcell @ * 1- lshift and negate or ;      dup 1 8 tcell @ * 1- lshift and negate or ;
   
 1 cells 4 = [IF]  
 : bswap ( n -- n' )  bswap? @ 0= ?EXIT  0  
     over 24 rshift $FF       and or  
     over  8 rshift $FF00     and or  
     over  8 lshift $FF0000   and or  
     over 24 lshift $FF000000 and or nip ;  
 [THEN]  
   
 1 cells 8 = [IF]  
 : bswap ( n -- n' )  bswap? @ 0= ?EXIT  0  
     over 56 rshift $FF               and or  
     over 40 rshift $FF00             and or  
     over 24 rshift $FF0000           and or  
     over  8 rshift $FF000000         and or  
     over  8 lshift $FF00000000       and or  
     over 24 lshift $FF0000000000     and or  
     over 40 lshift $FF000000000000   and or  
     over 56 lshift $FF00000000000000 and or  
     nip ;  
 [THEN]  
   
 : search-magic ( fd -- )  >r  : search-magic ( fd -- )  >r
     BEGIN  magicbuf 8 r@ read-file throw  8 =  WHILE      BEGIN  magicbuf 8 r@ read-file throw  8 =  WHILE
         magicbuf s" Gforth3" tuck str=  UNTIL          magicbuf s" Gforth3" tuck str=  UNTIL
Line 214  Variable bitmap-chars Line 199  Variable bitmap-chars
   
 : fi2c ( addr u -- )  base @ >r hex  : fi2c ( addr u -- )  base @ >r hex
     read-image      read-image
     ." static const void* image[" .imagesize ." ] = {" cr .image ." };" cr      \    .\" const static __attribute__ ((__section__ (\".rodata\"))) void* image[" .imagesize ." ] = {" cr .image ." };" cr
       .\" static void* image[" .imagesize ." ] = {" cr .image ." };" cr
     ." #ifdef USE_RELOC" cr      ." #ifdef USE_RELOC" cr
     ." const char reloc_bits[" .relocsize ." ] = {" cr .reloc ." };" cr      ." const char reloc_bits[" .relocsize ." ] = {" cr .reloc ." };" cr
     ." #endif" cr      ." #endif" cr

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


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