New Features of Eli Version 4.4
A Table is a sparse memory with a 32-bit address space
(see Mapping Arbitrary Values To Definition Table Keys of Abstract data types to be used in specifications).
Each element of the memory contains a DefTableKey value.
This memory is used to implement a mapping from values of some arbitrary
type to definition table keys, allowing an arbitrary set of properties to
be associated with each value.
Any number of named tables can be instantiated, each with a specific type
of value to be mapped.
More than one table can map any given type of value.
When a table is initialized, the user must provide two functions.
One computes a 32-bit address from the value to be mapped, the other
determines whether two values of the type to be mapped are identical.
The first of these two functions often uses a general hashing operation
(see Computing a Hash Value of Solutions of Common Problems).
|