-
David Bühler authored
These module definitions were previously in abstract_value, abstract_location and abstract_domain. They are now grouped in this new file for the three abstractions. These module types should only be useful for the engine, and need not to be visible in the implementation of the various abstractions. New module type Leaf in abstract_value, abstract_location and abstract_domain with the key identifying the module. The internal structure is no longer needed in these abstractions, and is instead built by the engine from this key. Keys are no longer exported outside the modules. For abstract domains, the key is automatically created by the functor Domain_builder.Complete from the domain name. Many changes throughout the analyzer: - in the engine, Abstract_value.{Internal|External} becomes Abstract.Value.{Internal|External}. - in the abstractions, Abstract_value.Internal becomes Abstract_value.Leaf.
David Bühler authoredThese module definitions were previously in abstract_value, abstract_location and abstract_domain. They are now grouped in this new file for the three abstractions. These module types should only be useful for the engine, and need not to be visible in the implementation of the various abstractions. New module type Leaf in abstract_value, abstract_location and abstract_domain with the key identifying the module. The internal structure is no longer needed in these abstractions, and is instead built by the engine from this key. Keys are no longer exported outside the modules. For abstract domains, the key is automatically created by the functor Domain_builder.Complete from the domain name. Many changes throughout the analyzer: - in the engine, Abstract_value.{Internal|External} becomes Abstract.Value.{Internal|External}. - in the abstractions, Abstract_value.Internal becomes Abstract_value.Leaf.