diff options
author | tomsmeding <tom.smeding@gmail.com> | 2017-08-26 18:54:41 +0200 |
---|---|---|
committer | tomsmeding <tom.smeding@gmail.com> | 2017-08-26 18:54:41 +0200 |
commit | b2c5ef755bc7a2c736c5f52c4753dde66c04c3aa (patch) | |
tree | 9bda1fbc34a5490494dadf690ae90a2279fade35 /AST.hs | |
parent | 3fd304ea2272432a435e6c877ce002ff3d4c77df (diff) |
Add break statements
Diffstat (limited to 'AST.hs')
-rw-r--r-- | AST.hs | 5 |
1 files changed, 5 insertions, 0 deletions
@@ -27,6 +27,7 @@ data Statement | SAs AsExpression Expression | SIf Expression Block Block | SWhile Expression Block + | SBreak Int | SReturn (Maybe Expression) | SExpr Expression deriving (Show, Eq) @@ -111,6 +112,10 @@ instance Pretty Statement where "if " ++ prettyI i c ++ " " ++ prettyI i b1 ++ " else " ++ prettyI i b2 prettyI i (SWhile c b) = "while " ++ prettyI i c ++ " " ++ prettyI i b + prettyI _ (SBreak 0) = + "break;" + prettyI _ (SBreak n) = + "break " ++ show n ++ ";" prettyI _ (SReturn Nothing) = "return;" prettyI i (SReturn (Just e)) = |