| 28 |
typedef struct { |
typedef struct { |
| 29 |
enum { |
enum { |
| 30 |
integer, |
integer, |
| 31 |
|
tfloat, |
| 32 |
string, |
string, |
| 33 |
func, /* Function pointer */ |
func, /* Function pointer */ |
| 34 |
symb, |
symb, |
| 35 |
list |
list |
| 36 |
} type:3; /* Type of stack element */ |
} type:4; /* Type of stack element */ |
| 37 |
|
|
| 38 |
int gc_garb:1; |
int gc_garb:1; |
| 39 |
|
|
| 40 |
union { |
union { |
| 41 |
void *ptr; /* Pointer to the content */ |
void *ptr; /* Pointer to the content */ |
| 42 |
int val; /* ...or an integer */ |
int i; /* ...or an integer */ |
| 43 |
|
float f; |
| 44 |
} content; /* Stores a pointer or an integer */ |
} content; /* Stores a pointer or an integer */ |
| 45 |
|
|
| 46 |
} value; |
} value; |
| 95 |
extern void gc_init(environment*); |
extern void gc_init(environment*); |
| 96 |
void push_val(environment*, value*); |
void push_val(environment*, value*); |
| 97 |
void push_int(environment*, int); |
void push_int(environment*, int); |
| 98 |
|
void push_float(environment*, float); |
| 99 |
void push_cstring(environment*, const char*); |
void push_cstring(environment*, const char*); |
| 100 |
char *mangle_str(const char*); |
char *mangle_str(const char*); |
| 101 |
extern void mangle(environment*); |
extern void mangle(environment*); |
| 141 |
extern void foreach(environment*); |
extern void foreach(environment*); |
| 142 |
void protect(environment*, value*); |
void protect(environment*, value*); |
| 143 |
void unprotect(environment*); |
void unprotect(environment*); |
| 144 |
extern void copying(environment *env); |
extern void copying(environment*); |
| 145 |
extern void warranty(environment *env); |
extern void warranty(environment*); |
| 146 |
|
extern void sx_2a(environment*); |
| 147 |
|
extern void sx_2f(environment*); |
| 148 |
|
extern void mod(environment*); |
| 149 |
|
extern void sx_3c(environment*); |
| 150 |
|
extern void sx_3c3d(environment*); |
| 151 |
|
extern void sx_3e3d(environment*); |