diff options
| author | Rose Hogenson <rosehogenson@posteo.net> | 2024-06-02 09:17:55 -0700 |
|---|---|---|
| committer | Rose Hogenson <rosehogenson@posteo.net> | 2024-06-02 09:17:55 -0700 |
| commit | 22b8b7e2478e3b205c89cc7a700058bfe39175f2 (patch) | |
| tree | ad6cf17b8729ab9af71d4d731162e738f3a7b057 /cps.sml | |
| parent | Slightly simplify the sort algorithm. (diff) | |
| download | sml-22b8b7e2478e3b205c89cc7a700058bfe39175f2.tar.zst | |
Add strings and IO.
Diffstat (limited to 'cps.sml')
| -rw-r--r-- | cps.sml | 9 |
1 files changed, 8 insertions, 1 deletions
@@ -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 () |
