Implement 5.52 translate Scheme to C
This commit is contained in:
25
shared/scm2c/env.h
Normal file
25
shared/scm2c/env.h
Normal file
@@ -0,0 +1,25 @@
|
||||
#ifndef ENV_H
|
||||
#define ENV_H
|
||||
|
||||
#include "datum.h"
|
||||
|
||||
typedef struct mapping {
|
||||
const char *variable;
|
||||
datum *value;
|
||||
struct mapping *next;
|
||||
} mapping;
|
||||
|
||||
typedef struct environment {
|
||||
struct mapping *first_mapping;
|
||||
struct environment *outer_env;
|
||||
} environment;
|
||||
|
||||
datum* define_variable(const char *var, datum *value, environment *env);
|
||||
datum* lookup_variable_value(char* c, environment* e);
|
||||
datum* make_compiled_proc(void* entry, environment* e);
|
||||
environment* extend_environment(const char **args, datum *argl, environment* env);
|
||||
environment* get_global_environment(void);
|
||||
mapping* new_mapping(const char* var, datum* value);
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user