Generate code for externs
[kaleidoscope-hs.git] / Main.hs
diff --git a/Main.hs b/Main.hs
index 2eae262967be844fff1886ac2d34318912b17e53..cf20ab898fa2bd9744d698f29ee8dffea73b1bfe 100644 (file)
--- a/Main.hs
+++ b/Main.hs
@@ -41,6 +41,9 @@ buildAST (Function (Prototype nameStr paramStrs) body) = do
     flip runReaderT binds $ buildExpr body >>= ret
   where params = zip (repeat Type.double) (map fromString paramStrs)
 
+buildAST (Extern (Prototype nameStr params)) =
+  extern (fromString nameStr) (replicate (length params) Type.double) Type.double
+
 buildAST (TopLevelExpr x) = function "__anon_expr" [] Type.double $
   const $ flip runReaderT mempty $ buildExpr x >>= ret