diff options
author | Bad Diode <bd@badd10de.dev> | 2021-10-11 09:59:42 +0200 |
---|---|---|
committer | Bad Diode <bd@badd10de.dev> | 2021-10-11 09:59:42 +0200 |
commit | dc758810b463c1674991601edb0ba41d40831e7a (patch) | |
tree | 229b257883245adbfde2c056e6a0348e757ae130 /src/bootstrap/environment.c | |
parent | c497aca556295479b1ed5632e125ff1d0658d8d8 (diff) | |
download | bdl-dc758810b463c1674991601edb0ba41d40831e7a.tar.gz bdl-dc758810b463c1674991601edb0ba41d40831e7a.zip |
Remove most code for step-by-step guidev0.0
Diffstat (limited to 'src/bootstrap/environment.c')
-rw-r--r-- | src/bootstrap/environment.c | 42 |
1 files changed, 0 insertions, 42 deletions
diff --git a/src/bootstrap/environment.c b/src/bootstrap/environment.c deleted file mode 100644 index fca2449..0000000 --- a/src/bootstrap/environment.c +++ /dev/null | |||
@@ -1,42 +0,0 @@ | |||
1 | // | ||
2 | // Environment. | ||
3 | // | ||
4 | |||
5 | typedef struct EnvSymbol { | ||
6 | Object *symbol; | ||
7 | Object *value; | ||
8 | } EnvSymbol; | ||
9 | |||
10 | typedef struct Environment { | ||
11 | struct Environment *parent; | ||
12 | EnvSymbol *memory; | ||
13 | size_t size; | ||
14 | size_t capacity; | ||
15 | } Environment; | ||
16 | |||
17 | #define ENV_SIZE 256 | ||
18 | static EnvSymbol environment[ENV_SIZE]; | ||
19 | static size_t env_n = 0; | ||
20 | |||
21 | Object * | ||
22 | env_find_symbol(Object *symbol) { | ||
23 | for (size_t i = 0; i < env_n; i++) { | ||
24 | if (symbol_eq(environment[i].symbol, symbol)) { | ||
25 | return environment[i].value; | ||
26 | } | ||
27 | } | ||
28 | return obj_nil; | ||
29 | } | ||
30 | |||
31 | Environment * | ||
32 | env_create(Environment *parent) { | ||
33 | // TODO: calloc env and assign parent. | ||
34 | return NULL; | ||
35 | } | ||
36 | |||
37 | void | ||
38 | env_add_symbol(EnvSymbol symbol, Environment *env) { | ||
39 | // TODO: If empty allocate enough for one object. | ||
40 | // TODO: If full double the capacity and realloc. | ||
41 | // TODO: Put the symbol on the next slot available. | ||
42 | } | ||