]> Joshua Wise's Git repositories - snipe.git/blob - codegen/stringifier.sml
6124a55b9af249cc4881f57311180035000673a3
[snipe.git] / codegen / stringifier.sml
1 (* L3 compiler
2  * stringifier
3  * turns a list of x86 insns into the assembly code to generate them
4  * Author: Chris Lu <czl@andrew.cmu.edu>
5  *)
6
7 signature STRINGIFY =
8 sig
9   type asm = Blarg.insn list
10   val stringify : (string -> string) -> asm -> string
11 end
12
13 structure Stringify :> STRINGIFY =
14 struct
15   type asm = Blarg.insn list
16   structure X = Blarg
17
18   (* val stringify : asm -> string
19    * turns a x86 instruction list into a string of assembly code for these instructions *)
20
21   fun (*stringify' rn (X.CALL (l, n)) = X.print (X.CALL ((Symbol.symbol (rn (Symbol.name l))), n))
22     | *)stringify' rn x = X.print x
23
24   (* val stringify : asm -> string *)
25   fun stringify realname l = String.concat (List.map (stringify' realname) l)
26
27 end
This page took 0.019601 seconds and 2 git commands to generate.