11 typedef struct {void *p, *sp, *ep;} ptr_t;
16 typedef long long eic_llong;
18 typedef long eic_llong;
23 char cval; /* char value */
25 short sval; /* short integer val */
27 int ival; /* integer value */
29 long lval; /* long integer */
32 /* long longs are not yet supported by ANSI C*/
34 eic_llong llval; /* long long value */
36 float fval; /* float value */
37 double dval; /* double float value */
39 ptr_t p; /* safe pointer */
40 void *up; /* unsafe pointer */
45 int (*func)(); /* function pointer */
48 struct symentry_t * sym;/* pointer into symbol table */
51 pid_t pid; /* process ID value */
53 size_t szval; /* generic size value */
55 ssize_t sszval; /* POSIX.1 byte count value */
59 mode_t mval; /* mode_t value */
63 long offval; /* file offset position */
65 off_t offval; /* file offset position */
69 typedef union VaL val_t;
72 typedef struct Label_t {
73 char *name; /* label name */
74 int loc; /* label location */
75 struct Label_t *nxt; /* link to next label in list */
87 unsigned int nextinst; /* next instruction */
88 unsigned int binst; /* physical size */
89 InsT_t * inst; /* instructions */
90 char * Filename; /* file with source code */
93 void * parent; /* used for callbacks */
94 void * prev; /* used for chaining during reentry and callbacks*/
97 /* methods for code */
98 #define opcode(C,i) ((C)->inst[i].opcode)
99 #define setopcode(C,i,y) (opcode(C,i) = y)
100 #define ivalcode(C,i) ((C)->inst[i].val.ival)
101 #define pvalcode(C,i) ((C)->inst[i].val.p.p)
102 #define nextinst(C) ((C)->nextinst)
103 #define instline(C,i) ((C)->inst[i].line)
104 #define codeName(C) (C)->Filename
108 typedef struct AR_t {
114 typedef struct AR_t {