1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
|
(*
* This is a helper module for assemblers.
*)
signature ASM_FORMAT_UTIL =
sig
structure C : CELLS_BASIS
val reginfo :
(string -> unit) * Annotations.annotations ->
(C.cell -> unit)
val emit_cutsTo : (string -> unit) -> Label.label list -> unit
end
structure AsmFormatUtil : ASM_FORMAT_UTIL =
struct
structure C = CellsBasis
fun reginfo(emit,an) =
case #get MLRiscAnnotations.PRINT_CELLINFO an of
SOME f => (fn c => emit(f c))
| NONE => (fn _ => ())
fun emit_cutsTo emit [] = ()
| emit_cutsTo emit labels =
emit("\n\t/* cuts to:"^
List.foldr
(fn (l,"") => Label.toString l
| (l,s) => Label.toString l^","^s)
"" labels^" */\n")
end
|