| 1 | (* Copyright (C) 2013-2014 Matthew Fluet, Brian Leibig. |
| 2 | * |
| 3 | * MLton is released under a BSD-style license. |
| 4 | * See the file MLton-LICENSE for details. |
| 5 | *) |
| 6 | |
| 7 | signature LLVM_CODEGEN_STRUCTS = |
| 8 | sig |
| 9 | structure CCodegen: C_CODEGEN |
| 10 | structure Machine: MACHINE |
| 11 | sharing Machine = CCodegen.Machine |
| 12 | end |
| 13 | |
| 14 | signature LLVM_CODEGEN = |
| 15 | sig |
| 16 | include LLVM_CODEGEN_STRUCTS |
| 17 | |
| 18 | val implementsPrim: 'a Machine.Prim.t -> bool |
| 19 | val output: {program: Machine.Program.t, |
| 20 | outputC: unit -> {file: File.t, |
| 21 | print: string -> unit, |
| 22 | done: unit -> unit}, |
| 23 | outputLL: unit -> {file: File.t, |
| 24 | print: string -> unit, |
| 25 | done: unit -> unit} |
| 26 | } -> unit |
| 27 | end |