Sockeye: Code cleanup
authorDaniel Schwyn <schwyda@student.ethz.ch>
Thu, 3 Aug 2017 07:57:59 +0000 (09:57 +0200)
committerDaniel Schwyn <schwyda@student.ethz.ch>
Thu, 3 Aug 2017 12:33:57 +0000 (14:33 +0200)
Signed-off-by: Daniel Schwyn <schwyda@student.ethz.ch>

tools/sockeye/Main.hs
tools/sockeye/SockeyeASTTypeChecker.hs
tools/sockeye/SockeyeBackendProlog.hs
tools/sockeye/SockeyeInstantiator.hs
tools/sockeye/SockeyeNetBuilder.hs

index b5b33cd..d96c7ed 100644 (file)
@@ -255,14 +255,14 @@ main = do
         outFile = optOutputFile opts
         depFile = optDepFile opts
     (parsedAst, deps) <- parseSpec inclDirs inFile
-    case depFile of
-        Nothing -> return ()
-        Just f  -> do
-            out <- dependencyFile outFile f deps
-            output f out
     ast <- typeCheck parsedAst
     instAst <- instanitateModules ast
     netAst <- buildNet instAst
     out <- compile (optTarget opts) netAst
     output outFile out
+    case depFile of
+        Nothing -> return ()
+        Just f  -> do
+            out <- dependencyFile outFile f deps
+            output f out
     
\ No newline at end of file
index 967abcc..905162a 100644 (file)
@@ -1,5 +1,5 @@
 {-
-  SockeyeAST.hs: AST for Sockeye
+  SockeyeASTTypeChecker.hs: Type checked AST for Sockeye
 
   Part of Sockeye
 
index 4be1bcb..c6ffd0b 100644 (file)
@@ -1,5 +1,5 @@
 {-
-  SockeyeBackendProlog.hs: Backend for generating Prolog facts for Sockeye
+  SockeyeBackendProlog.hs: Backend for generating ECLiPSe-Prolog facts for Sockeye
 
   Part of Sockeye
 
index bafabde..a5f2437 100644 (file)
@@ -1,5 +1,5 @@
 {-
-    SockeyeModuleInstantiator.hs: Module instantiator for Sockeye
+    SockeyeInstantiator.hs: Module instantiator for Sockeye
 
     Part of Sockeye
 
@@ -44,13 +44,13 @@ data InstFail
     | DuplicateOutMap    !String !String
 
 instance Show InstFail where
-    show (ModuleInstLoop     loop)       = concat ["Module instantiation loop: '", intercalate "' -> '" loop, "'"]
-    show (DuplicateInPort    port)       = concat ["Multiple declarations of input port '", port, "'"]
-    show (DuplicateOutPort   port)       = concat ["Multiple declarations of output port '", port, "'"]
-    show (DuplicateNamespace ident)      = concat ["Multiple usage of namespace '", ident, "'"]
-    show (DuplicateIdentifer ident)      = concat ["Multiple declarations of node '", ident, "'"]
-    show (DuplicateInMap   inst port)    = concat ["Multiple mappings for input port '",  port, "' in module instantiation '", inst, "'"]
-    show (DuplicateOutMap  inst port)    = concat ["Multiple mappings for output port '", port, "' in module instantiation '", inst, "'"]
+    show (ModuleInstLoop     loop)    = concat ["Module instantiation loop: '", intercalate "' -> '" loop, "'"]
+    show (DuplicateInPort    port)    = concat ["Multiple declarations of input port '", port, "'"]
+    show (DuplicateOutPort   port)    = concat ["Multiple declarations of output port '", port, "'"]
+    show (DuplicateNamespace ident)   = concat ["Multiple usage of namespace '", ident, "'"]
+    show (DuplicateIdentifer ident)   = concat ["Multiple declarations of node '", ident, "'"]
+    show (DuplicateInMap   inst port) = concat ["Multiple mappings for input port '",  port, "' in module instantiation '", inst, "'"]
+    show (DuplicateOutMap  inst port) = concat ["Multiple mappings for output port '", port, "' in module instantiation '", inst, "'"]
 
 type PortMapping = (InstAST.Identifier, InstAST.Identifier)
 
@@ -375,6 +375,9 @@ instance Instantiatable CheckAST.ForLimit Integer where
 instance (Traversable t, Instantiatable a b) => Instantiatable (t a) (t b) where
     instantiate context ast = mapM (instantiate context) ast
 
+---
+--- Helpers
+---
 getModule :: Context -> String -> CheckAST.Module
 getModule context name = (modules context) Map.! name
 
index 646028d..4bd5481 100644 (file)
@@ -318,6 +318,10 @@ data ScanLineState
 instance (Traversable t, NetTransformable a b) => NetTransformable (t a)  (t b) where
     transform context as = mapM (transform context) as
 
+
+---
+--- Helpers
+---
 checkReference :: Context -> (String -> NetBuildFail) -> String -> (Checks NetBuildFail) ()
 checkReference context fail name =
     if name `Set.member` (nodes context)