void CRB_add_global_variable(CRB_Interpreter *inter, char *identifier, CRB_Value *value) { Variable *new_variable; new_variable = crb_add_global_variable(inter, identifier); new_variable->value = *value; }
static SIMCAR_Value * get_identifier_lvalue(SIMCAR_Interpreter *inter, SIMCAR_LocalEnvironment *env, char *identifier) { Variable *new_var; Variable *left; left = crb_search_local_variable(env, identifier); if (left == NULL) { left = search_global_variable_from_env(inter, env, identifier); } if (left != NULL) return &left->value; if (env != NULL) { new_var = crb_add_local_variable(env, identifier); left = new_var; } else { new_var = crb_add_global_variable(inter, identifier); left = new_var; } return &left->value; }