Compute_ranges_intfThis file defines types that are used to specify the interface of Compute_ranges. The description of Compute_ranges is:
"Coalescing of per-instruction information into possibly-discontiguous regions of code delimited by labels. This is used for collating register availability and lexical block scoping information into a concise form."
Compute_ranges defines a functor, whose argument has type S_functor, and whose result has type S. Both S_functor and S are defined here.
It is suggested that those unfamiliar with this module start by reading the documentation on module type S, below.
module L = Linearmodule type S_subrange_state = sig ... endThe type of caller-defined contextual state associated with subranges. This may be used to track information throughout the range-computing process.
module type S_subrange_info = sig ... endThe type of caller-defined information associated with subranges.
module type S_range_info = sig ... endThe type of caller-defined information associated with ranges.
module type S_functor = sig ... endThis module type specifies what the caller has to provide in order to instantiate a module to compute ranges.
module type S = sig ... endThis module type is the result type of the Compute_ranges.Make functor.