aboutsummaryrefslogtreecommitdiffstats
path: root/src/bootstrap/environment.c
blob: 4eda2ad3f0caf435a0dc76cee985132f6e48dcc8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
//
// Environment.
//

typedef struct EnvSymbol {
    Object *symbol;
    Object *value;
} EnvSymbol;

#define ENV_SIZE 256
static EnvSymbol environment[ENV_SIZE];
static size_t env_n = 0;

Object *
find_environment_symbol(Object *symbol) {
    for (size_t i = 0; i < env_n; i++) {
        if (symbol_eq(environment[i].symbol, symbol)) {
            return environment[i].value;
        }
    }
    return NULL;
}