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. --- cps.sml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'cps.sml') diff --git a/cps.sml b/cps.sml index 83d07f7..2d9d85d 100644 --- a/cps.sml +++ b/cps.sml @@ -45,7 +45,14 @@ struct Syntax.CApp (f', [x', Syntax.VVar addr])))) end | Syntax.LInt i => cont (Syntax.VInt i) - | Syntax.LString s => cont (Syntax.VString s) + | Syntax.LString s => + let val temp = Gensym.new () + in + Syntax.CRecord + ( [(map (fn c => (Syntax.VInt (Char.ord c), [])) (String.explode s), temp)] + , cont (Syntax.VVar temp) + ) + end | Syntax.LRecord [] => cont (Syntax.VInt 0) | Syntax.LSelect (i, expr) => let val temp = Gensym.new () -- cgit v1.3.1