From 22b8b7e2478e3b205c89cc7a700058bfe39175f2 Mon Sep 17 00:00:00 2001 From: Rose Hogenson Date: Sun, 2 Jun 2024 09:17:55 -0700 Subject: Add strings and IO. --- codegen.sml | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'codegen.sml') diff --git a/codegen.sml b/codegen.sml index 9dbee51..67b2d30 100644 --- a/codegen.sml +++ b/codegen.sml @@ -169,6 +169,12 @@ struct @ Syntax.OLabel trueLabel :: go k1 end + | Syntax.CPrimop (Syntax.PRead, [Syntax.VVar ptr, off, len], [res], [k]) => + Syntax.ORead (translate res, translate ptr, translateVal off, translateVal len) :: go k + | Syntax.CPrimop (Syntax.PWrite, [Syntax.VVar ptr, off, len], _, [k]) => + Syntax.OWrite (translate ptr, translateVal off, translateVal len) :: go k + | Syntax.CPrimop (Syntax.PWriteErr, [Syntax.VVar ptr, off, len], _, [k]) => + Syntax.OWriteErr (translate ptr, translateVal off, translateVal len) :: go k | _ => raise Fail ("malformed CPS:\n" ^ Syntax.cexpToString expr) in go expr end -- cgit v1.3.1