--- gforth/Attic/forth.h 1994/07/08 15:00:39 1.7 +++ gforth/Attic/forth.h 1995/02/23 20:17:19 1.14 @@ -1,5 +1,4 @@ /* - $Id: forth.h,v 1.7 1994/07/08 15:00:39 anton Exp $ Copyright 1992 by the ANSI figForth Development Group */ @@ -13,14 +12,10 @@ typedef void *Label; #define DOCON 1 #define DOVAR 2 #define DOUSER 3 -#define DODOES 4 -#define DOESJUMP 5 - -/* Some versions of some unices (Linux) have the symbol BIG_ENDIAN defined - in their standard headers. Make sure it's undefined -- Lennart */ -#ifdef BIG_ENDIAN -#undef BIG_ENDIAN -#endif +#define DODEFER 4 +#define DOSTRUC 5 +#define DODOES 6 +#define DOESJUMP 7 #include "machine.h" @@ -44,7 +39,6 @@ typedef Label *Xt; #endif Label *engine(Xt *ip, Cell *sp, Cell *rp, Float *fp, Address lp); -extern Xt *throw_ip; #ifndef DIRECT_THREADED /* i.e. indirect threaded */ @@ -66,12 +60,12 @@ extern Xt *throw_ip; #define MAKE_DOES_CF(cfa,does_code) ({MAKE_CF(cfa,symbols[DODOES]); \ ((Cell *)cfa)[1] = (Cell)does_code;}) /* the does handler resides between DOES> and the following Forth code */ -#define DOES_HANDLER_SIZE 8 +#define DOES_HANDLER_SIZE (2*sizeof(Cell)) #define MAKE_DOES_HANDLER(addr) 0 /* do nothing */ #endif #ifdef DEBUG -# define NAME(string) printf("%08x: "string"\n",(int)ip); +# define NAME(string) fprintf(stderr,"%08x: "string"\n",(Cell)ip); #else # define NAME(string) #endif