[gforth] / gforth / Attic / main.c  

gforth: gforth/Attic/main.c

Diff for /gforth/Attic/main.c between version 1.20 and 1.21

version 1.20, Mon Dec 12 17:10:42 1994 UTC version 1.21, Thu Jan 19 17:48:08 1995 UTC
Line 23 
Line 23 
 #ifdef DIRECT_THREADED  #ifdef DIRECT_THREADED
 #  define CA(n) (symbols[(n)])  #  define CA(n) (symbols[(n)])
 #else  #else
 #  define CA(n) ((int)(symbols+(n)))  #  define CA(n) ((Cell)(symbols+(n)))
 #endif  #endif
   
 #define maxaligned(n)   ((((Cell)n)+sizeof(Float)-1)&-sizeof(Float))  #define maxaligned(n)   ((((Cell)n)+sizeof(Float)-1)&-sizeof(Float))
   
 static int dictsize=0;  static Cell dictsize=0;
 static int dsize=0;  static Cell dsize=0;
 static int rsize=0;  static Cell rsize=0;
 static int fsize=0;  static Cell fsize=0;
 static int lsize=0;  static Cell lsize=0;
 char *progname;  char *progname;
   
   
Line 76 
Line 76 
             case CF(DOCON)   :              case CF(DOCON)   :
             case CF(DOUSER)  :              case CF(DOUSER)  :
             case CF(DODEFER) : MAKE_CF(image+i,symbols[CF(image[i])]); break;              case CF(DODEFER) : MAKE_CF(image+i,symbols[CF(image[i])]); break;
             case CF(DODOES)  : MAKE_DOES_CF(image+i,image[i+1]+((int)image));              case CF(DODOES)  : MAKE_DOES_CF(image+i,image[i+1]+((Cell)image));
               break;                break;
             case CF(DOESJUMP): MAKE_DOES_HANDLER(image+i); break;              case CF(DOESJUMP): MAKE_DOES_HANDLER(image+i); break;
             default          : image[i]=(Cell)CA(CF(image[i]));              default          : image[i]=(Cell)CA(CF(image[i]));
Line 96 
Line 96 
   do    do
     {      {
       if(fread(magic,sizeof(Char),8,imagefile) < 8) {        if(fread(magic,sizeof(Char),8,imagefile) < 8) {
         fprintf(stderr,"This file doesn't seam to be a gforth image\n");          fprintf(stderr,"This file doesn't seem to be a gforth image\n");
         exit(1);          exit(1);
       }        }
 #ifdef DEBUG  #ifdef DEBUG
Line 154 
Line 154 
   Address lp=(Address)((void *)sp+lsize);    Address lp=(Address)((void *)sp+lsize);
   Float *fp=(Float *)((void *)lp+fsize);    Float *fp=(Float *)((void *)lp+fsize);
   Cell *rp=(Cell*)((void *)fp+rsize);    Cell *rp=(Cell*)((void *)fp+rsize);
   Xt *ip=(Xt *)(image[3]);    Xt *ip=(Xt *)((Cell)image[3]);
   int throw_code;    int throw_code;
   
   for(;stack>0;stack--)    for(;stack>0;stack--)


Generate output suitable for use with a patch program
Legend:
Removed from v.1.20  
changed lines
  Added in v.1.21

CVS Admin

Powered by ViewCVS 1.0-dev
(Powered by ViewCVS)

ViewCVS and CVS Help