diff options
Diffstat (limited to 'While.icl')
-rw-r--r-- | While.icl | 9 |
1 files changed, 7 insertions, 2 deletions
@@ -107,8 +107,13 @@ where toString Skip = "skip" toString (s1 :. s2) = s1 <+ "; " <+ s2 toString (v := a) = v <+ ":=" <+ a - toString (If b s1 s2) = "if " <+ b <+ " then " <+ s1 <+ " else " <+ s2 - toString (While b s) = "while " <+ b <+ " do " <+ s <+ " done" + toString (While b s) = "while " <+ b <+ " do " <+ parens s + toString (If b s1 s2) + = "if " <+ b <+ " then " <+ parens s1 <+ " else " <+ parens s2 + +parens :: Stm -> String +parens (s1 :. s2) = "(" <+ s1 <+ "; " <+ s2 <+ ")" +parens stm = toString stm instance toString Var where toString (Var v) = {v} |