diff options
Diffstat (limited to 'src/bootstrap/environment.c')
-rw-r--r-- | src/bootstrap/environment.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/bootstrap/environment.c b/src/bootstrap/environment.c new file mode 100644 index 0000000..4eda2ad --- /dev/null +++ b/src/bootstrap/environment.c | |||
@@ -0,0 +1,23 @@ | |||
1 | // | ||
2 | // Environment. | ||
3 | // | ||
4 | |||
5 | typedef struct EnvSymbol { | ||
6 | Object *symbol; | ||
7 | Object *value; | ||
8 | } EnvSymbol; | ||
9 | |||
10 | #define ENV_SIZE 256 | ||
11 | static EnvSymbol environment[ENV_SIZE]; | ||
12 | static size_t env_n = 0; | ||
13 | |||
14 | Object * | ||
15 | find_environment_symbol(Object *symbol) { | ||
16 | for (size_t i = 0; i < env_n; i++) { | ||
17 | if (symbol_eq(environment[i].symbol, symbol)) { | ||
18 | return environment[i].value; | ||
19 | } | ||
20 | } | ||
21 | return NULL; | ||
22 | } | ||
23 | |||