Skip to content
  • David Bühler's avatar
    [Eva] New file abstract defining the Internal and External module types. · e342fcf1
    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.
    e342fcf1