[gforth] / gforth / engine / engine.c  

gforth: gforth/engine/engine.c

Diff for /gforth/engine/engine.c between version 1.3 and 1.4

version 1.3, Thu Apr 16 15:34:41 1998 UTC version 1.4, Sun Oct 25 23:15:47 1998 UTC
Line 24 
Line 24 
 #include <stdio.h>  #include <stdio.h>
 #include <string.h>  #include <string.h>
 #include <math.h>  #include <math.h>
   #include <assert.h>
   #include <stdlib.h>
   #include <errno.h>
   #include "forth.h"
   #include "io.h"
   #include "threaded.h"
   #ifndef STANDALONE
 #include <sys/types.h>  #include <sys/types.h>
 #include <sys/stat.h>  #include <sys/stat.h>
 #include <fcntl.h>  #include <fcntl.h>
 #include <assert.h>  
 #include <stdlib.h>  
 #include <time.h>  #include <time.h>
 #include <sys/time.h>  #include <sys/time.h>
 #include <unistd.h>  #include <unistd.h>
 #include <errno.h>  
 #include <pwd.h>  #include <pwd.h>
 #include "forth.h"  #else
 #include "io.h"  #include "systypes.h"
 #include "threaded.h"  #endif
   
 #if defined(HAVE_LIBDL) || defined(HAVE_DLOPEN) /* what else? */  #if defined(HAVE_LIBDL) || defined(HAVE_DLOPEN) /* what else? */
 #include <dlfcn.h>  #include <dlfcn.h>
Line 52 
Line 56 
   
 #define IOR(flag)       ((flag)? -512-errno : 0)  #define IOR(flag)       ((flag)? -512-errno : 0)
   
 typedef struct F83Name {  struct F83Name {
   struct F83Name        *next;  /* the link field for old hands */    struct F83Name        *next;  /* the link field for old hands */
   char                  countetc;    char                  countetc;
   Char                  name[0];    char          name[0];
 } F83Name;  };
   
 /* are macros for setting necessary? */  /* are macros for setting necessary? */
 #define F83NAME_COUNT(np)       ((np)->countetc & 0x1f)  #define F83NAME_COUNT(np)       ((np)->countetc & 0x1f)
Line 105 
Line 109 
   return b->buffer;    return b->buffer;
 }  }
   
   #ifdef STANDALONE
   char *tilde_cstr(Char *from, UCell size, int clear)
   {
     return cstr(from, size, clear);
   }
   #else
 char *tilde_cstr(Char *from, UCell size, int clear)  char *tilde_cstr(Char *from, UCell size, int clear)
 /* like cstr(), but perform tilde expansion on the string */  /* like cstr(), but perform tilde expansion on the string */
 {  {
Line 146 
Line 156 
     return cstr(path,s1_len+s2_len,clear);      return cstr(path,s1_len+s2_len,clear);
   }    }
 }  }
   #endif
   
 #define NEWLINE '\n'  #define NEWLINE '\n'
   
Line 231 
Line 241 
 #else /* !defined(DOUBLY_INDIRECT) */  #else /* !defined(DOUBLY_INDIRECT) */
   static Label symbols[]= {    static Label symbols[]= {
 #endif /* !defined(DOUBLY_INDIRECT) */  #endif /* !defined(DOUBLY_INDIRECT) */
     &&docol,      (Label)&&docol,
     &&docon,      (Label)&&docon,
     &&dovar,      (Label)&&dovar,
     &&douser,      (Label)&&douser,
     &&dodefer,      (Label)&&dodefer,
     &&dofield,      (Label)&&dofield,
     &&dodoes,      (Label)&&dodoes,
     /* the following entry is normally unused;      /* the following entry is normally unused;
        it's there because its index indicates a does-handler */         it's there because its index indicates a does-handler */
     CPU_DEP1,      CPU_DEP1,
 #include "prim_lab.i"  #include "prim_lab.i"
     0      (Label)0
   };    };
 #ifdef CPU_DEP2  #ifdef CPU_DEP2
   CPU_DEP2    CPU_DEP2


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

CVS Admin

Powered by ViewCVS 1.0-dev
(Powered by ViewCVS)

ViewCVS and CVS Help