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; }