package ocaml-base-compiler

  1. Overview
  2. Docs

This 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 = Linear
module type S_subrange_state = sig ... end

The 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 ... end

The type of caller-defined information associated with subranges.

module type S_range_info = sig ... end

The type of caller-defined information associated with ranges.

module type S_functor = sig ... end

This module type specifies what the caller has to provide in order to instantiate a module to compute ranges.

module type S = sig ... end

This module type is the result type of the Compute_ranges.Make functor.