Use less general names as labels some fields.
[matthijs/master-project/cλash.git] / Translator.hs
index b7d3e0ef32d681fc2f80562212a79d7960611a54..88f321eaf10e127f3cc20344f8363df96f7456b1 100644 (file)
@@ -70,6 +70,7 @@ main =
       mapM processBind binds
       modFuncs nameFlatFunction
       modFuncs VHDL.createEntity
+      modFuncs VHDL.createArchitecture
       -- Extract the library units generated from all the functions in the
       -- session.
       funcs <- getFuncs
@@ -115,7 +116,7 @@ flattenBind hsfunc bind@(NonRec var expr) = do
   let flatfunc = flattenFunction hsfunc bind
   addFunc hsfunc
   setFlatFunc hsfunc flatfunc
-  let used_hsfuncs = map appFunc (apps flatfunc)
+  let used_hsfuncs = map appFunc (flat_apps flatfunc)
   State.mapM resolvFunc used_hsfuncs
   return ()
 
@@ -185,9 +186,9 @@ nameFlatFunction hsfunc fdata =
     Nothing -> fdata
     -- Name the signals in all other functions
     Just flatfunc ->
-      let s = sigs flatfunc in
-      let s' = map (\(id, (SignalInfo Nothing)) -> (id, SignalInfo (Just $ "sig_" ++ (show id)))) s in
-      let flatfunc' = flatfunc { sigs = s' } in
+      let s = flat_sigs flatfunc in
+      let s' = map (\(id, (SignalInfo Nothing ty)) -> (id, SignalInfo (Just $ "sig_" ++ (show id)) ty)) s in
+      let flatfunc' = flatfunc { flat_sigs = s' } in
       fdata { flatFunc = Just flatfunc' }
 
 -- | Splits a tuple type into a list of element types, or Nothing if the type