version 1.22, 1996/05/23 15:13:08
|
version 1.24, 1996/07/25 09:25:15
|
Line 132 typedef Label *Xt;
|
Line 132 typedef Label *Xt;
|
/* CODE_ADDRESS is the address of the code jumped to through the code field */ |
/* CODE_ADDRESS is the address of the code jumped to through the code field */ |
#define CODE_ADDRESS(cfa) (*(Label *)(cfa)) |
#define CODE_ADDRESS(cfa) (*(Label *)(cfa)) |
/* DOES_CODE is the Forth code does jumps to */ |
/* DOES_CODE is the Forth code does jumps to */ |
#define DOES_CODE(cfa) (cfa[1]) |
#define DOES_CODE(cfa) ({Xt _cfa=(Xt)(cfa); \ |
#define DOES_CODE1(cfa) DOES_CODE(cfa) |
_cfa[0] == symbols[DODOES] ? _cfa[1] : NULL;}) |
|
#define DOES_CODE1(cfa) (cfa[1]) |
/* MAKE_CF creates an appropriate code field at the cfa; |
/* MAKE_CF creates an appropriate code field at the cfa; |
ca is the code address */ |
ca is the code address */ |
#define MAKE_CF(cfa,ca) ((*(Label *)(cfa)) = ((Label)ca)) |
#define MAKE_CF(cfa,ca) ((*(Label *)(cfa)) = ((Label)ca)) |