- "return " ^ pp_exp e ^ ";"
- | pp_stm Nop = ";"
- | pp_stm Break = "break;"
- | pp_stm Continue = "continue;"
- | pp_stm (If (e, s, NONE)) = "if ("^pp_exp e^")"^pp_block s
- | pp_stm (If (e, s, SOME s2)) = "if ("^pp_exp e^")"^pp_block s^" else "^pp_block s2
- | pp_stm (While (e, s)) = "while ("^pp_exp e^") "^pp_block s
- | pp_stm (For (so1, e, so2, s)) = "for ("^ (if (isSome so1) then pp_stm (valOf so1) else "") ^ pp_exp e ^ (if(isSome so2) then pp_stm (valOf so2) else "") ^ ")" ^ pp_block s
+ "return " ^ pp_exp e ^ ";\n"
+ | pp_stm Nop = ";\n"
+ | pp_stm Break = "break;\n"
+ | pp_stm Continue = "continue;\n"
+ | pp_stm (If (e, s, NONE)) = "if ("^pp_exp e^")\n"^pp_block s
+ | pp_stm (If (e, s, SOME s2)) = "if ("^pp_exp e^")\n"^pp_block s^"else\n"^pp_block s2
+ | pp_stm (While (e, s)) = "while ("^pp_exp e^")\n"^pp_block s
+ | pp_stm (For (so1, e, so2, s)) = "for ("^ (if (isSome so1) then pp_stm (valOf so1) else "") ^ pp_exp e ^ (if(isSome so2) then pp_stm (valOf so2) else "") ^ ")\n" ^ pp_block s