static mpdm_t find_local_symtbl(mpdm_t s, mpdm_t l) /* finds the local symbol table hash that holds l */ { int n; mpdm_t v = NULL; if (l != NULL) { /* if s is multiple, take just the first element */ if (MPDM_IS_ARRAY(s)) s = mpdm_aget(s, 0); /* travel the local symbol table trying to find it */ for (n = mpdm_size(l) - 1; n >= 0; n--) { mpdm_t h = mpdm_aget(l, n); if (mpdm_exists(h, s)) { v = h; break; } } } return v; }
/** bool = exists(h, k); */ static mpdm_t F_exists(F_ARGS) { return mpdm_bool(mpdm_exists(A0, A1)); }