Rename VHDLState to TranslatorState.
authorMatthijs Kooijman <m.kooijman@student.utwente.nl>
Mon, 9 Mar 2009 16:02:06 +0000 (17:02 +0100)
committerMatthijs Kooijman <m.kooijman@student.utwente.nl>
Mon, 9 Mar 2009 16:02:06 +0000 (17:02 +0100)
Pretty.hs
Translator.hs
TranslatorTypes.hs

index eb8378c6c1e1f03e640ac9ec575c5d89229851b0..edfe05b41be06c8c74519af88a8752b00f746dc9 100644 (file)
--- a/Pretty.hs
+++ b/Pretty.hs
@@ -96,7 +96,7 @@ instance Pretty SigUse where
   pPrint (SigStateNew n) = text "SN:" <> int n
   pPrint SigSubState = text "s"
 
-instance Pretty VHDLSession where
+instance Pretty TranslatorSession where
   pPrint (VHDLSession mod nameCount funcs) =
     text "Module: " $$ nest 15 (text modname)
     $+$ text "NameCount: " $$ nest 15 (int nameCount)
index eb4e59f5da01448e8390445e6a511593c626941d..aa8d0d9946c2eb11263d509544eea1ba2efe9dd5 100644 (file)
@@ -149,7 +149,7 @@ findBind binds lookfor =
 processBind ::
   Bool                       -- ^ Should this be stateful function?
   -> CoreBind                -- ^ The bind to process
-  -> VHDLState ()
+  -> TranslatorState ()
 
 processBind _ (Rec _) = error "Recursive binders not supported"
 processBind stateful bind@(NonRec var expr) = do
@@ -164,7 +164,7 @@ processBind stateful bind@(NonRec var expr) = do
 flattenBind ::
   HsFunction                         -- The signature to flatten into
   -> CoreBind                        -- The bind to flatten
-  -> VHDLState ()
+  -> TranslatorState ()
 
 flattenBind _ (Rec _) = error "Recursive binders not supported"
 
@@ -273,7 +273,7 @@ getStateSignals hsfunc flatfunc =
 --   (recursively) do the same for any functions used.
 resolvFunc ::
   HsFunction        -- | The function to look for
-  -> VHDLState ()
+  -> TranslatorState ()
 
 resolvFunc hsfunc = do
   -- See if the function is already known
@@ -378,7 +378,7 @@ toVHDLSignalMap = fmap (\(name, ty) -> Just (VHDL.mkVHDLId name, ty))
 
 -- | Translate a concise representation of a builtin function to something
 --   that can be put into FuncMap directly.
-addBuiltIn :: BuiltIn -> VHDLState ()
+addBuiltIn :: BuiltIn -> TranslatorState ()
 addBuiltIn (BuiltIn name args res) = do
     addFunc hsfunc
     setEntity hsfunc entity
index 17a2b9cccafbc47dfd6314d0a5d21159a8e9a665..fdd0e34fcd86f95e0f75afa0f8437a22d1ea8aea 100644 (file)
@@ -33,61 +33,63 @@ data FuncData = FuncData {
 -- Derive accessors
 $( Data.Accessor.Template.deriveAccessors ''FuncData )
 
-data VHDLSession = VHDLSession {
+data TranslatorSession = VHDLSession {
   coreMod   :: HscTypes.CoreModule, -- The current module
   nameCount :: Int,             -- A counter that can be used to generate unique names
   funcs     :: FuncMap          -- A map from HsFunction to FlatFunction, HWFunction, VHDL Entity and Architecture
 }
 
+type TranslatorState = State.State TranslatorSession
+
 -- | Add the function to the session
-addFunc :: HsFunction -> VHDLState ()
+addFunc :: HsFunction -> TranslatorState ()
 addFunc hsfunc =
   modFuncMap (Map.insert hsfunc (FuncData Nothing Nothing Nothing))
 
 -- | Find the given function in the current session
-getFunc :: HsFunction -> VHDLState (Maybe FuncData)
+getFunc :: HsFunction -> TranslatorState (Maybe FuncData)
 getFunc hsfunc = do
   fs <- State.gets funcs -- Get the funcs element from the session
   return $ Map.lookup hsfunc fs
 
 -- | Gets all functions from the current session
-getFuncs :: VHDLState [(HsFunction, FuncData)]
+getFuncs :: TranslatorState [(HsFunction, FuncData)]
 getFuncs = do
   fs <- State.gets funcs -- Get the funcs element from the session
   return $ Map.toList fs
 
 -- | Gets all the functions from the current session
-getHsFuncs :: VHDLState [HsFunction]
+getHsFuncs :: TranslatorState [HsFunction]
 getHsFuncs = do
   fs <- State.gets funcs -- Get the funcs element from the session
   return $ Map.keys fs
   
 -- | Sets the FlatFunction for the given HsFunction in the current session.
-setFlatFunc :: HsFunction -> FlatFunction -> VHDLState ()
+setFlatFunc :: HsFunction -> FlatFunction -> TranslatorState ()
 setFlatFunc hsfunc flatfunc =
   modFunc (fdFlatFunc ^= Just flatfunc) hsfunc
 
 -- | Sets the Entity for the given HsFunction in the current session.
-setEntity :: HsFunction -> Entity -> VHDLState ()
+setEntity :: HsFunction -> Entity -> TranslatorState ()
 setEntity hsfunc entity =
   modFunc (fdEntity ^= Just entity) hsfunc
 
 -- | Sets the Entity for the given HsFunction in the current session.
-setArchitecture :: HsFunction -> AST.ArchBody -> VHDLState ()
+setArchitecture :: HsFunction -> AST.ArchBody -> TranslatorState ()
 setArchitecture hsfunc arch =
   modFunc (fdArch ^= Just arch) hsfunc
 
 -- | Modify a function in the map using the given function
-modFunc :: (FuncData -> FuncData) -> HsFunction -> VHDLState ()
+modFunc :: (FuncData -> FuncData) -> HsFunction -> TranslatorState ()
 modFunc f hsfunc =
   modFuncMap (Map.adjust f hsfunc)
 
 -- | Get the map of functions in the session
-getFuncMap :: VHDLState FuncMap
+getFuncMap :: TranslatorState FuncMap
 getFuncMap = State.gets funcs
 
 -- | Modify the function map in the session using the given function
-modFuncMap :: (FuncMap -> FuncMap) -> VHDLState ()
+modFuncMap :: (FuncMap -> FuncMap) -> TranslatorState ()
 modFuncMap f = do
   fs <- State.gets funcs -- Get the funcs element from the session
   let fs' = f fs
@@ -96,7 +98,7 @@ modFuncMap f = do
 -- | Apply the given function to all functions in the map, and collect the
 --   results. The function is allowed to change the function map in the
 --   session, but any new functions added will not be mapped.
-modFuncs :: (HsFunction -> FuncData -> VHDLState ()) -> VHDLState ()
+modFuncs :: (HsFunction -> FuncData -> TranslatorState ()) -> TranslatorState ()
 modFuncs f = do
   hsfuncs <- getHsFuncs
   mapM doFunc hsfuncs
@@ -108,15 +110,13 @@ modFuncs f = do
         Nothing -> do return ()
         Just fdata -> f hsfunc fdata
 
-getModule :: VHDLState HscTypes.CoreModule
+getModule :: TranslatorState HscTypes.CoreModule
 getModule = State.gets coreMod -- Get the coreMod element from the session
 
-type VHDLState = State.State VHDLSession
-
 -- Makes the given name unique by appending a unique number.
 -- This does not do any checking against existing names, so it only guarantees
 -- uniqueness with other names generated by uniqueName.
-uniqueName :: String -> VHDLState String
+uniqueName :: String -> TranslatorState String
 uniqueName name = do
   count <- State.gets nameCount -- Get the funcs element from the session
   State.modify (\s -> s {nameCount = count + 1})