X-Git-Url: http://git.joshuawise.com/snipe.git/blobdiff_plain/6ade8b0a3251e44b34c6bdbbd9403e36d6fd6231..c148fe943397f2ec0ea1f9b6784a217213ff54c1:/codegen/stringifier.sml diff --git a/codegen/stringifier.sml b/codegen/stringifier.sml index 74fe8c1..b01beba 100644 --- a/codegen/stringifier.sml +++ b/codegen/stringifier.sml @@ -6,22 +6,22 @@ signature STRINGIFY = sig - type asm = x86.insn list + type asm = Blarg.insn list val stringify : (string -> string) -> asm -> string end structure Stringify :> STRINGIFY = struct - type asm = x86.insn list - structure X = x86 + type asm = Blarg.insn list + structure X = Blarg (* val stringify : asm -> string * turns a x86 instruction list into a string of assembly code for these instructions *) - fun stringify' rn (X.CALL (l, n)) = X.prettyprint X.Long (X.CALL ((Symbol.symbol (rn (Symbol.name l))), n)) - | stringify' rn x = X.prettyprint X.Long x + fun stringify' rn (X.INSN (pred, X.MOVSYM (r, n))) = X.print (X.INSN (pred, X.MOVSYM (r, (Symbol.symbol (rn (Symbol.name n)))))) + | stringify' rn x = X.print x (* val stringify : asm -> string *) - fun stringify realname l = foldr (fn (a,b) => (stringify' realname a) ^ b) ("") l + fun stringify realname l = String.concat (List.map (stringify' realname) l) end