diff options
author | tomsmeding <tom.smeding@gmail.com> | 2017-08-26 23:16:00 +0200 |
---|---|---|
committer | tomsmeding <tom.smeding@gmail.com> | 2017-08-26 23:16:15 +0200 |
commit | aa049227c17f15ad22092f1fcab4410bbf3521ba (patch) | |
tree | 7046e62ff530746754e19d07d4e8bc7d7a42ea22 /AST.hs | |
parent | b2c5ef755bc7a2c736c5f52c4753dde66c04c3aa (diff) |
Cleanup and features
debugger, bitwise ops, bounds checking, hex literals,
better typing of some optimisations, makefile fix, exit function.
Diffstat (limited to 'AST.hs')
-rw-r--r-- | AST.hs | 6 |
1 files changed, 6 insertions, 0 deletions
@@ -30,6 +30,7 @@ data Statement | SBreak Int | SReturn (Maybe Expression) | SExpr Expression + | SDebugger deriving (Show, Eq) data AsExpression @@ -49,6 +50,7 @@ data Expression data BinaryOp = BOAdd | BOSub | BOMul | BODiv | BOMod | BOPow | BOAnd | BOOr + | BOBitAnd | BOBitOr | BOBitXor | BOEq | BONeq | BOGt | BOLt | BOGeq | BOLeq deriving (Show, Eq) @@ -121,6 +123,7 @@ instance Pretty Statement where prettyI i (SReturn (Just e)) = "return " ++ prettyI i e ++ ";" prettyI i (SExpr e) = prettyI i e ++ ";" + prettyI _ SDebugger = "debugger;" instance Pretty Expression where prettyI i (EBin bo a b (Just t)) = @@ -164,6 +167,9 @@ instance Pretty BinaryOp where prettyI _ BOLt = "<" prettyI _ BOGeq = ">=" prettyI _ BOLeq = "<=" + prettyI _ BOBitAnd = "&" + prettyI _ BOBitOr = "|" + prettyI _ BOBitXor = "^" instance Pretty UnaryOp where |