1 {-# LANGUAGE TemplateHaskell #-}
3 module GlobalNameTable (globalNameTable) where
5 import Language.Haskell.TH
6 import qualified Data.Map as Map
8 import qualified ForSyDe.Backend.VHDL.AST as AST
9 import qualified Data.Param.TFVec as V
15 mkGlobalNameTable :: [(String, (Int, BuiltinBuilder) )] -> NameTable
16 mkGlobalNameTable = Map.fromList
18 globalNameTable :: NameTable
19 globalNameTable = mkGlobalNameTable
20 [ (exId , (2, genFCall ) )
21 , (replaceId , (3, genFCall ) )
22 , (headId , (1, genFCall ) )
23 , (lastId , (1, genFCall ) )
24 , (tailId , (1, genFCall ) )
25 , (initId , (1, genFCall ) )
26 , (takeId , (2, genFCall ) )
27 , (dropId , (2, genFCall ) )
28 , (plusgtId , (2, genFCall ) )
29 , (mapId , (2, genMap ) )
30 , (zipWithId , (3, genZipWith ) )
31 , (foldlId , (3, genFoldl ) )
32 , (emptyId , (0, genFCall ) )
33 , (singletonId , (1, genFCall ) )
34 , (copyId , (2, genFCall ) )
35 , (hwxorId , (2, genOperator2 AST.Xor ) )
36 , (hwandId , (2, genOperator2 AST.And ) )
37 , (hworId , (2, genOperator2 AST.Or ) )
38 , (hwnotId , (1, genOperator1 AST.Not ) )