X-Git-Url: https://git.hcoop.net/hcoop/domtool2.git/blobdiff_plain/9b7ee2b22abce813120a633f5a4f5523a630a2ea..ecc307a0d31b150d93330795398268814b249ff4:/src/printFn.sml diff --git a/src/printFn.sml b/src/printFn.sml index 871c1df..42282aa 100644 --- a/src/printFn.sml +++ b/src/printFn.sml @@ -115,9 +115,13 @@ fun p_exp' pn (e, _) = | ESkip => keyword "_" | ESet (x, e) => parenIf pn [exp x, space 1, punct "=", space 1, p_exp e] - | EGet (x1, x2, e) => parenIf pn [dBox [exp x1, space 1, punct "<-", - space 1, exp x2, punct ";", space 1], - p_exp e] + | EGet (x1, NONE, x2, e) => parenIf pn [dBox [exp x1, space 1, punct "<-", + space 1, exp x2, punct ";", space 1], + p_exp e] + | EGet (x1, SOME t, x2, e) => parenIf pn [dBox [exp x1, space 1, punct ":", space 1, p_typ t, + space 1, punct "<-", + space 1, exp x2, punct ";", space 1], + p_exp e] | ESeq es => parenIf pn (valOf (foldr (fn (e, NONE) => SOME [p_exp e] | (e, SOME ds) => SOME (dBox [p_exp e, punct ";", newline] :: ds)) NONE es)) @@ -128,6 +132,9 @@ fun p_exp' pn (e, _) = keyword "end"] | EWith (e1, (ESkip, _)) => dBox [p_exp e1, space 1, keyword "with", space 1, keyword "end"] | EWith (e1, e2) => dBox [p_exp e1, space 1, keyword "with", p_exp e2, space 1, keyword "end"] + | EIf (e1, e2, e3) => dBox [keyword "if", space 1, p_exp e1, + space 1, keyword "then", space 1, p_exp e2, + space 1, keyword "else", space 1, p_exp e3] and p_exp e = p_exp' false e fun p_decl d =