2016-02-18 07:11:59 -08:00
|
|
|
(**************************************************************************)
|
|
|
|
(* *)
|
|
|
|
(* OCaml *)
|
|
|
|
(* *)
|
|
|
|
(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *)
|
|
|
|
(* *)
|
|
|
|
(* Copyright 1996 Institut National de Recherche en Informatique et *)
|
|
|
|
(* en Automatique. *)
|
|
|
|
(* *)
|
|
|
|
(* All rights reserved. This file is distributed under the terms of *)
|
|
|
|
(* the GNU Lesser General Public License version 2.1, with the *)
|
|
|
|
(* special exception on linking described in the file LICENSE. *)
|
|
|
|
(* *)
|
|
|
|
(**************************************************************************)
|
1995-08-09 08:06:35 -07:00
|
|
|
|
2016-05-03 09:51:07 -07:00
|
|
|
(** Native compilation for .ml and .mli files. *)
|
1995-07-02 09:51:07 -07:00
|
|
|
|
2018-12-30 09:02:45 -08:00
|
|
|
val interface: source_file:string -> output_prefix:string -> unit
|
2016-01-26 07:43:24 -08:00
|
|
|
|
2016-09-01 06:05:28 -07:00
|
|
|
val implementation:
|
|
|
|
backend:(module Backend_intf.S)
|
2020-10-13 06:07:13 -07:00
|
|
|
-> start_from:Clflags.Compiler_pass.t
|
2018-12-30 09:02:45 -08:00
|
|
|
-> source_file:string -> output_prefix:string -> unit
|
2016-05-03 09:51:07 -07:00
|
|
|
|
|
|
|
(** {2 Internal functions} **)
|
|
|
|
|
|
|
|
val clambda :
|
|
|
|
Compile_common.info ->
|
2019-04-01 09:18:47 -07:00
|
|
|
(module Backend_intf.S) ->
|
2016-05-03 09:51:07 -07:00
|
|
|
Typedtree.structure * Typedtree.module_coercion -> unit
|
|
|
|
(** [clambda info typed] applies the regular compilation pipeline to the
|
|
|
|
given typechecked implementation and outputs the resulting files.
|
|
|
|
*)
|
|
|
|
|
|
|
|
val flambda :
|
|
|
|
Compile_common.info ->
|
|
|
|
(module Backend_intf.S) ->
|
|
|
|
Typedtree.structure * Typedtree.module_coercion -> unit
|
|
|
|
(** [flambda info backend typed] applies the Flambda compilation pipeline to the
|
|
|
|
given typechecked implementation and outputs the resulting files.
|
|
|
|
*)
|