Import Upstream version 20180207
[hcoop/debian/mlton.git] / mlton / main / compile.sig
1 (* Copyright (C) 1999-2005 Henry Cejtin, Matthew Fluet, Suresh
2 * Jagannathan, and Stephen Weeks.
3 * Copyright (C) 1997-2000 NEC Research Institute.
4 *
5 * MLton is released under a BSD-style license.
6 * See the file MLton-LICENSE for details.
7 *)
8
9 signature COMPILE_STRUCTS =
10 sig
11 end
12
13 signature COMPILE =
14 sig
15 include COMPILE_STRUCTS
16
17 val compileMLB: {input: File.t,
18 outputC: unit -> {file: File.t,
19 print: string -> unit,
20 done: unit -> unit},
21 outputLL: unit -> {file: File.t,
22 print: string -> unit,
23 done: unit -> unit},
24 outputS: unit -> {file: File.t,
25 print: string -> unit,
26 done: unit -> unit}} -> unit
27 val compileSML: {input: File.t list,
28 outputC: unit -> {file: File.t,
29 print: string -> unit,
30 done: unit -> unit},
31 outputLL: unit -> {file: File.t,
32 print: string -> unit,
33 done: unit -> unit},
34 outputS: unit -> {file: File.t,
35 print: string -> unit,
36 done: unit -> unit}} -> unit
37 val compileSXML: {input: File.t,
38 outputC: unit -> {file: File.t,
39 print: string -> unit,
40 done: unit -> unit},
41 outputLL: unit -> {file: File.t,
42 print: string -> unit,
43 done: unit -> unit},
44 outputS: unit -> {file: File.t,
45 print: string -> unit,
46 done: unit -> unit}} -> unit
47 val elaborateMLB: {input: File.t} -> unit
48 val elaborateSML: {input: File.t list} -> unit
49 val setCommandLineConstant: {name: string, value: string} -> unit
50 val sourceFilesMLB: {input: File.t} -> File.t vector
51 (* output a C file to print out the basis constants. *)
52 val outputBasisConstants: Out.t -> unit
53 end