Trie DataStructure

Engine Independent trie library.

The next routines provide a set of utilities to create and manipulate prefix trees of Prolog terms. Tries were originally proposed to implement tabling in Logic Programming, but can be used for other purposes. The tries will be stored in the Prolog database and can seen as alternative to assert and record family of primitives. Most of these utilities have been implemented in C for efficiency. They are available through the use_module(library(tries)) command.

Define:

1. arg_mode:

1. arg_mode:

1. arg_mode:

1. arg_mode:

1. arg_trie:

1. arg_trie:

1. arg_trie:

1. arg_trie:

1. arg_trie:

1. arg_trie:

1. arg_trie:

1. arg_trie:

1. arg_trie:

1. arg_trie:

1. arg_trie:

1. arg_trie:

1. arg_trie:

1. arg_trie:

1. arg_trie:

1. arg_trie:

1. arg_trie:

1. arg_entry:

1. arg_entry:

1. arg_entry:

1. arg_entry:

1. arg_entry:

1. arg_entry:

1. arg_ref:

1. arg_ref:

1. arg_ref:

1. arg_ref:

1. arg_ref:

1. arg_ref:

1. arg_ref:

1. arg_ref:

1. arg_ref:

1. arg_ref:

1. arg_ref:

1. arg_ref:

1. arg_init_ref:

1. arg_init_ref:

1. arg_trie_dest:

1. arg_trie_dest:

1. arg_trie_source:

1. arg_trie_source:

1. arg_tri/1:

1. arg_tri/1:

1. arg_tri/2:

1. arg_tri/2:

1. arg_entries:

1. arg_entries:

1. arg_entries:

1. arg_entries:

1. arg_entries:

1. arg_file:

1. arg_file:

1. arg_memory:

1. arg_memory:

1. arg_tries:

1. arg_tries:

1. arg_nodes:

1. arg_nodes:

1. arg_nodes:

1. arg_virtualnodes:

1. arg_cur:

1. arg_next:

1. arg_list:

1. arg_db_trie:

1. arg_final_label:

1. arg_opt_level:

1. arg_opt_level:

1. arg_opt_level:

1. arg_start_counter:

1. arg_end_counter:

1. arg_count:

1. arg_count:

1. arg_nested_id:

1. arg_term:

1. arg_min_prefix:

Functions:

1. O_API void init_tries(void):

1. static YAP_Bool p_trie_open(void):

1. static YAP_Bool p_trie_close(void):

1. static YAP_Bool p_trie_close_all(void):

1. static YAP_Bool p_trie_mode(void):

1. static YAP_Bool p_trie_put_entry(void):

1. static YAP_Bool p_trie_check_entry(void):

1. static YAP_Bool p_trie_get_entry(void):

1. static YAP_Bool p_trie_get_first_entry(void):

1. static YAP_Bool p_trie_get_last_entry(void):

1. static YAP_Bool p_trie_traverse_init(void):

1. static YAP_Bool p_trie_traverse_cont(void):

1. static YAP_Bool p_trie_remove_entry(void):

1. static YAP_Bool p_trie_remove_subtree(void):

1. static YAP_Bool p_trie_join(void):

1. static YAP_Bool p_trie_intersect(void):

1. static YAP_Bool p_trie_count_join(void):

1. static YAP_Bool p_trie_count_intersect(void):

1. static YAP_Bool p_trie_save(void):

1. static YAP_Bool p_trie_load(void):

1. static YAP_Bool p_trie_stats(void):

1. static YAP_Bool p_trie_max_stats(void):

1. static YAP_Bool p_trie_usage(void):

1. static YAP_Bool p_trie_print(void):

1. static YAP_Bool p_trie_traverse_mode(void):

1. static YAP_Bool p_trie_disable_hash(void):

1. static YAP_Bool p_trie_enable_hash(void):

1. static YAP_Bool p_trie_traverse_first(void):

1. static YAP_Bool p_trie_traverse_next(void):

1. static YAP_Bool p_trie_to_list(void):

1. static YAP_Bool p_trie_depth_breadth(void):

1. static YAP_Bool p_trie_get_depth_breadth_reduction_current_data(void):

1. static YAP_Bool p_trie_get_db_opt_level_count_init(void):

1. static YAP_Bool p_trie_get_db_opt_level_count_cont(void):

1. static YAP_Bool p_trie_replace_nested_trie(void):

1. static YAP_Bool p_trie_db_opt_min_prefix(void):

1. static YAP_Bool p_open_trie(void):

1. static YAP_Bool p_close_trie(void):

1. static YAP_Bool p_close_all_tries(void):

1. static YAP_Bool p_put_trie_entry(void):

1. static YAP_Bool p_get_trie_entry(void):

1. static YAP_Bool p_remove_trie_entry(void):

1. static YAP_Bool p_print_trie(void):

Var:

1. db_trie_opt_level* opt_level: