version 1.58, 2003/01/26 20:56:38
|
version 1.62, 2003/08/01 08:11:26
|
Line 1
|
Line 1
|
/* Gforth virtual machine (aka inner interpreter) |
/* Gforth virtual machine (aka inner interpreter) |
|
|
Copyright (C) 1995,1996,1997,1998,2000 Free Software Foundation, Inc. |
Copyright (C) 1995,1996,1997,1998,2000,2003 Free Software Foundation, Inc. |
|
|
This file is part of Gforth. |
This file is part of Gforth. |
|
|
Line 72
|
Line 72
|
#define ftello ftell |
#define ftello ftell |
#endif |
#endif |
|
|
struct F83Name { |
|
struct F83Name *next; /* the link field for old hands */ |
|
char countetc; |
|
char name[0]; |
|
}; |
|
|
|
#define F83NAME_COUNT(np) ((np)->countetc & 0x1f) |
|
|
|
#define NULLC '\0' |
#define NULLC '\0' |
|
|
#ifdef MEMCMP_AS_SUBROUTINE |
#ifdef MEMCMP_AS_SUBROUTINE |
Line 164 extern int gforth_memcmp(const char * s1
|
Line 156 extern int gforth_memcmp(const char * s1
|
# define CPU_DEP1 0 |
# define CPU_DEP1 0 |
#endif |
#endif |
|
|
/* instructions containing these must be the last instruction of a |
/* instructions containing SUPER_END must be the last instruction of a |
super-instruction (e.g., branches, EXECUTE, and other instructions |
super-instruction (e.g., branches, EXECUTE, and other instructions |
ending the basic block). Instructions containing SET_IP get this |
ending the basic block). Instructions containing SET_IP get this |
automatically, so you usually don't have to write it. If you have |
automatically, so you usually don't have to write it. If you have |
Line 297 Label *engine(Xt *ip0, Cell *sp0, Cell *
|
Line 289 Label *engine(Xt *ip0, Cell *sp0, Cell *
|
xts[i] = symbols[i] = (Label)routines[i]; |
xts[i] = symbols[i] = (Label)routines[i]; |
for (; routines[i]!=0; i++) { |
for (; routines[i]!=0; i++) { |
if (i>=MAX_SYMBOLS) { |
if (i>=MAX_SYMBOLS) { |
fprintf(stderr,"gforth-ditc: more than %d primitives\n",MAX_SYMBOLS); |
fprintf(stderr,"gforth-ditc: more than %ld primitives\n",(long)MAX_SYMBOLS); |
exit(1); |
exit(1); |
} |
} |
xts[i] = symbols[i] = &routines[i]; |
xts[i] = symbols[i] = &routines[i]; |