summaryrefslogtreecommitdiffstats
path: root/Compiler.sml
diff options
context:
space:
mode:
authorRose Hogenson <rosehogenson@posteo.net>2025-05-16 08:24:59 -0700
committerRose Hogenson <rosehogenson@posteo.net>2025-05-17 09:50:31 -0700
commit06624f3183f4d773cf1023cabe2e370ebba5dee1 (patch)
tree93742397b82037c81077507920096d5ac80d4e63 /Compiler.sml
parentc2bb80335b590c9118bad0da1d4407942b3765de (diff)
downloadsml-06624f3183f4d773cf1023cabe2e370ebba5dee1.tar.zst
Use code generation for printing the AST
Diffstat (limited to 'Compiler.sml')
-rw-r--r--Compiler.sml10
1 files changed, 5 insertions, 5 deletions
diff --git a/Compiler.sml b/Compiler.sml
index 4c5e238..0ca0ee5 100644
--- a/Compiler.sml
+++ b/Compiler.sml
@@ -2,17 +2,17 @@ structure Compiler =
struct
fun compile (prog : Syntax.expr) : Word8Vector.vector =
let
- val _ = print ("ast:\n" ^ Syntax.exprToString prog ^ "\n")
+ val _ = print ("ast:\n" ^ ShowSyntax.exprToString prog ^ "\n")
val elab = Elab.elaborate prog
- val _ = print ("lambda lang:\n" ^ Syntax.lexpToString elab ^ "\n")
+ val _ = print ("lambda lang:\n" ^ ShowSyntax.lexpToString elab ^ "\n")
val cps =
CPS.toCPS elab
(fn _ => Syntax.CPrimop (Syntax.PExit, [Syntax.VInt 0], [], []))
- val _ = print ("cps1:\n" ^ Syntax.cexpToString cps ^ "\n")
+ val _ = print ("cps1:\n" ^ ShowSyntax.cexpToString cps ^ "\n")
val cps' = CPS.convertClosures cps
- val _ = print ("cps:\n" ^ Syntax.cexpToString cps' ^ "\n")
+ val _ = print ("cps:\n" ^ ShowSyntax.cexpToString cps' ^ "\n")
val asm = CodeGen.toASM cps'
- val _ = print ("bytecode:\n" ^ String.concatWith "\n" (map Syntax.opcodeToString asm) ^ "\n")
+ val _ = print ("bytecode:\n" ^ String.concatWith "\n" (map ShowSyntax.opcodeToString asm) ^ "\n")
in
Linker.link asm
end