diff options
Diffstat (limited to 'TypeCheck.hs')
-rw-r--r-- | TypeCheck.hs | 2 |
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 |