version 1.23, 1995/02/22 18:40:13
|
version 1.25, 1995/04/06 16:56:09
|
Line 14
|
Line 14
|
#include <time.h> |
#include <time.h> |
#include <sys/time.h> |
#include <sys/time.h> |
#include <unistd.h> |
#include <unistd.h> |
|
#include <errno.h> |
#include "forth.h" |
#include "forth.h" |
#include "io.h" |
#include "io.h" |
|
|
Line 22
|
Line 23
|
#define SEEK_SET 0 |
#define SEEK_SET 0 |
#endif |
#endif |
|
|
|
#define IOR(flag) ((flag)? -512-errno : 0) |
|
|
typedef union { |
typedef union { |
struct { |
struct { |
#ifdef WORDS_BIGENDIAN |
#ifdef WORDS_BIGENDIAN |
Line 123 typedef struct F83Name {
|
Line 126 typedef struct F83Name {
|
#define FTOS (fp[0]) |
#define FTOS (fp[0]) |
#endif |
#endif |
|
|
|
Cell *SP; |
|
Float *FP; |
int emitcounter; |
int emitcounter; |
#define NULLC '\0' |
#define NULLC '\0' |
|
|
Line 214 Label *engine(Xt *ip0, Cell *sp0, Cell *
|
Line 219 Label *engine(Xt *ip0, Cell *sp0, Cell *
|
&&dovar, |
&&dovar, |
&&douser, |
&&douser, |
&&dodefer, |
&&dodefer, |
|
&&dostruc, |
&&dodoes, |
&&dodoes, |
&&dodoes, /* dummy for does handler address */ |
&&dodoes, /* dummy for does handler address */ |
#include "prim_labels.i" |
#include "prim_labels.i" |
Line 309 Label *engine(Xt *ip0, Cell *sp0, Cell *
|
Line 315 Label *engine(Xt *ip0, Cell *sp0, Cell *
|
cfa = *(Xt *)PFA1(cfa); |
cfa = *(Xt *)PFA1(cfa); |
NEXT1; |
NEXT1; |
|
|
|
dostruc: |
|
#ifdef DEBUG |
|
fprintf(stderr,"%08x: struc: %08x\n",(Cell)ip,(Cell)PFA1(cfa)); |
|
#endif |
|
TOS += *(Cell*)PFA1(cfa); |
|
NEXT_P0; |
|
NEXT; |
|
|
dodoes: |
dodoes: |
/* this assumes the following structure: |
/* this assumes the following structure: |
defining-word: |
defining-word: |