aboutsummaryrefslogtreecommitdiff
path: root/TypeCheck.hs
diff options
context:
space:
mode:
Diffstat (limited to 'TypeCheck.hs')
-rw-r--r--TypeCheck.hs2
1 files changed, 2 insertions, 0 deletions
diff --git a/TypeCheck.hs b/TypeCheck.hs
index 13d33c9..66affa4 100644
--- a/TypeCheck.hs
+++ b/TypeCheck.hs
@@ -33,6 +33,7 @@ emptyDB = [Map.fromList
[("putc", DBFunc Nothing [TChar]),
("putint", DBFunc Nothing [TInt]),
("getc", DBFunc (Just TInt) []),
+ ("exit", DBFunc Nothing [TInt]),
("_builtin_malloc", DBFunc (Just $ TArr TChar Nothing) [TInt])]]
withScope :: TypeDB -> (TypeDB -> a) -> a
@@ -152,6 +153,7 @@ annotateStatement (State {stDfunc = DFunc mrt _ _ _}) db (SReturn (Just expr)) =
" in 'return'"
return (db, SReturn (Just expr'))
annotateStatement _ db (SExpr expr) = (\expr' -> (db, SExpr expr')) <$> annotateExpr db expr
+annotateStatement _ db SDebugger = return (db, SDebugger)
annotateExpr :: TypeDB -> Expression -> Error Expression
annotateExpr db (EBin bo e1 e2 _) = do