Module SymbolTable


module SymbolTable: sig  end

type 'a symbol_table 
type item = int 
val create : ('a -> 'a -> bool) * ('a -> string) -> 'a symbol_table
val mem : 'a symbol_table -> 'a -> bool
val add_symbol : 'a symbol_table -> 'a -> unit
val rm_symbol : 'a symbol_table -> 'a -> unit
val lookup : 'a symbol_table -> 'a -> item
val get_symbol : 'a symbol_table -> item -> 'a
val get_index : 'a symbol_table -> 'a -> item
val iter : ('a -> int -> unit) -> 'a symbol_table -> unit
val eq : 'a symbol_table -> 'a -> 'a -> bool
val to_string : 'a symbol_table -> 'a -> string