41 |
#include <sysexits.h> |
#include <sysexits.h> |
42 |
/* assert */ |
/* assert */ |
43 |
#include <assert.h> |
#include <assert.h> |
44 |
|
/* waitpid */ |
45 |
|
#include <sys/wait.h> |
46 |
|
|
47 |
#ifdef __linux__ |
#ifdef __linux__ |
48 |
/* mtrace, muntrace */ |
/* mtrace, muntrace */ |
59 |
|
|
60 |
struct cons_struct; |
struct cons_struct; |
61 |
struct symbol_struct; |
struct symbol_struct; |
62 |
|
struct environment_struct; |
63 |
|
|
64 |
|
/* A type for pointers to external functions */ |
65 |
|
typedef void (*funcp)(struct environment_struct*); |
66 |
|
/* funcp is a pointer to a void function (environment *) */ |
67 |
|
|
68 |
/* A value of some type */ |
/* A value of some type */ |
69 |
typedef struct { |
typedef struct { |
93 |
FILE *p; /* ...or an I/O stream */ |
FILE *p; /* ...or an I/O stream */ |
94 |
int i; /* ...or an integer */ |
int i; /* ...or an integer */ |
95 |
float f; /* ...or a floating point number */ |
float f; /* ...or a floating point number */ |
96 |
|
funcp func; /* ...or a function pointer */ |
97 |
|
char *string; /* ...or a string */ |
98 |
} content; /* Stores a pointer or an integer */ |
} content; /* Stores a pointer or an integer */ |
99 |
|
|
100 |
} value; |
} value; |
142 |
int gc_count; /* Amount currently allocated */ |
int gc_count; /* Amount currently allocated */ |
143 |
} environment; |
} environment; |
144 |
|
|
|
/* A type for pointers to external functions */ |
|
|
typedef void (*funcp)(environment*); /* funcp is a pointer to a void |
|
|
function (environment *) */ |
|
145 |
|
|
146 |
void init_env(environment*); |
void init_env(environment*); |
147 |
void printerr(const char*); |
void printerr(const char*); |