Exemplo n.º 1
0
SBTrie *
sb_trie_open (const char *path, const char *name, TrieIOMode mode)
{
    SBTrie *sb_trie;

    sb_trie = (SBTrie *) malloc (sizeof (SBTrie));
    if (!sb_trie)
        return NULL;

    sb_trie->trie = trie_open (path, name, mode);
    if (!sb_trie->trie)
        goto exit1;

    sb_trie->alpha_map = alpha_map_open (path, name, ".sbm");
    if (!sb_trie->alpha_map)
        goto exit2;

    return sb_trie;

exit2:
    trie_close (sb_trie->trie);
exit1:
    free (sb_trie);
    return NULL;
}
Exemplo n.º 2
0
Arquivo: tries.c Projeto: edechter/yap
static int p_trie_open(void) {
  TrEntry trie;

  /* check arg */
  if (!YAP_IsVarTerm(arg_trie)) 
    return FALSE;

  /* open trie */
  trie = trie_open();
  return YAP_Unify(arg_trie, YAP_MkIntTerm((YAP_Int) trie));
}