package bap-std
Constructs a trie
module type Key = sig ... end
Key requirements. Key is a sequence of tokens of the specified length. It is better to use contiguous data structures, like arrays as keys, otherwise you can end up with a slow implementation (i.e., don't use lists or sequences as keys, use strings, bitstrings, arrays, etc).
Prefix trie interface.
Trie is a mutable table that can be seen as a specialized form of a hash table.
Use the Trie.Make
functor to create modules that implement this signature. Some modules also provide an implementation of this signature under a Trie
name, e.g., Bitvector.Trie
, Bil.Trie
, Insn.Trie
, etc. See also a Trie.String
module below, that is a specialized implementation of a trie data structure with string keys.
module V1 : sig ... end
module V2 : sig ... end
module type S = V1.S
Create a trie for a given Key
module type Token = sig ... end
Minimum required interface for a token data type
module Array : sig ... end
Prefix and suffix tries for specified token types.
module String : sig ... end
Predefined prefix and suffix string tries.