]> Joshua Wise's Git repositories - snipe.git/blobdiff - codegen/stringifier.sml
Add string pasting support to the gramamr.
[snipe.git] / codegen / stringifier.sml
index 5010d7bc048d0b806491b2bec9dafb2092f79047..b01beba8809e09ec313c37dbbe8fa8d2ae890d3e 100644 (file)
@@ -6,22 +6,22 @@
 
 signature STRINGIFY =
 sig
 
 signature STRINGIFY =
 sig
-  type asm = x86.insn list
+  type asm = Blarg.insn list
   val stringify : (string -> string) -> asm -> string
 end
 
 structure Stringify :> STRINGIFY =
 struct
   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 *)
 
 
   (* 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.CALL ((Symbol.symbol (rn (Symbol.name l))), n))
-    | stringify' rn x = X.prettyprint 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 *)
 
   (* 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
 
 end
This page took 0.027363 seconds and 4 git commands to generate.