version 1.92, 2006/10/22 16:54:01
|
version 1.97, 2007/03/04 22:39:37
|
Line 1
|
Line 1
|
/* Gforth virtual machine (aka inner interpreter) |
/* Gforth virtual machine (aka inner interpreter) |
|
|
Copyright (C) 1995,1996,1997,1998,2000,2003,2004,2005 Free Software Foundation, Inc. |
Copyright (C) 1995,1996,1997,1998,2000,2003,2004,2005,2006 Free Software Foundation, Inc. |
|
|
This file is part of Gforth. |
This file is part of Gforth. |
|
|
Line 54
|
Line 54
|
#include "fnmatch.h" |
#include "fnmatch.h" |
#endif |
#endif |
#else |
#else |
#include "systypes.h" |
/* #include <systypes.h> */ |
#endif |
#endif |
|
|
#if defined(HAVE_LIBDL) || defined(HAVE_DLOPEN) /* what else? */ |
#if defined(HAVE_LIBDL) || defined(HAVE_DLOPEN) /* what else? */ |
Line 97 extern int gforth_memcmp(const char * s1
|
Line 97 extern int gforth_memcmp(const char * s1
|
#endif |
#endif |
|
|
#define NEWLINE '\n' |
#define NEWLINE '\n' |
#define CELL_MIN (((Cell)1)<<(sizeof(Cell)*CHAR_BIT-1)) |
|
/* set CHECK_DIVISION to 0 if the hardware checks division by zero and |
/* These two flags control whether divisions are checked by software. |
division overflow. Note that not all checks are controlled by |
The CHECK_DIVISION_SW is for those cases where the event is a |
CHECK_DIVISION, in particular not overflow checks in mixed-size |
division by zero or overflow on the C level, and might be reported |
words implemented by C's double-by-double division, because that |
by hardware; we might check forr that in autoconf and set the |
division does not signal such overflows. !! make an autoconf test |
switch appropriately, but currently don't. The CHECK_DIVISION flag |
that sets CHECK_DIVISION */ |
is for the other cases. */ |
|
#ifdef GFORTH_DEBUGGING |
|
#define CHECK_DIVISION_SW 1 |
#define CHECK_DIVISION 1 |
#define CHECK_DIVISION 1 |
|
#else |
|
#define CHECK_DIVISION_SW 0 |
|
#define CHECK_DIVISION 0 |
|
#endif |
|
|
/* conversion on fetch */ |
/* conversion on fetch */ |
|
|
Line 353 Label *gforth_engine(Xt *ip0, Cell *sp0,
|
Line 359 Label *gforth_engine(Xt *ip0, Cell *sp0,
|
#include PRIM_LAB_I |
#include PRIM_LAB_I |
#undef INST_ADDR |
#undef INST_ADDR |
}; |
}; |
|
#ifdef INCLUDE_IMAGE |
|
#define INST_ADDR(name) ((Label)&&I_##name) |
|
#include "image.i" |
|
#undef INST_ADDR |
|
#endif |
#ifdef CPU_DEP2 |
#ifdef CPU_DEP2 |
CPU_DEP2 |
CPU_DEP2 |
#endif |
#endif |