version 1.3, 2007/12/31 18:40:25
|
version 1.7, 2008/10/06 20:09:07
|
Line 20
|
Line 20
|
|
|
#include <gforth/@PACKAGE_VERSION@/config.h> |
#include <gforth/@PACKAGE_VERSION@/config.h> |
|
|
|
#if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) |
|
#undef HAS_BACKLINK |
|
#else |
|
#define HAS_BACKLINK 1 |
|
#endif |
|
|
typedef CELL_TYPE Cell; |
typedef CELL_TYPE Cell; |
typedef double Float; |
typedef double Float; |
|
|
#define Clongest long long |
#define Clongest long long |
typedef unsigned Clongest UClongest; |
typedef unsigned Clongest UClongest; |
|
|
|
#ifdef HAS_BACKLINK |
extern Cell *gforth_SP; |
extern Cell *gforth_SP; |
extern Float *gforth_FP; |
extern Float *gforth_FP; |
|
extern Cell *gforth_RP; |
|
extern char *gforth_LP; |
|
extern char *gforth_UP; |
|
extern void *gforth_engine(void *, Cell *, Cell *, Float *, char *, char *); |
|
extern char *cstr(char *from, Cell size, int clear) |
|
extern char *tilde_cstr(char *from, Cell size, int clear) |
|
#define GFORTH_ARGS void |
|
#else |
|
#define gforth_SP *((Cell **)(gforth_pointers[0])) |
|
#define gforth_FP *((Float **)(gforth_pointers[1])) |
|
#define gforth_LP *((char **)(gforth_pointers[2])) |
|
#define gforth_RP *((Cell **)(gforth_pointers[3])) |
|
#define gforth_UP *((char **)(gforth_pointers[4])) |
|
#define gforth_engine ((char *(*)(Xt *, Cell *, Cell *, Float *, char *, char *))(((void **)(gforth_pointers[5])))) |
|
#define cstr ((char *(*)(char *, Cell, int))(((void **)(gforth_pointers[6])))) |
|
#define tilde_cstr ((char *(*)(char *, Cell, int))(((void **)(gforth_pointers[7])))) |
|
#define GFORTH_ARGS void ** gforth_pointers |
|
#endif |
|
|
#define CELL_BITS (sizeof(Cell) * 8) |
#define CELL_BITS (sizeof(Cell) * 8) |
|
|