-- VHDL Imports
import qualified Language.VHDL.AST as AST
+-- | A list of all builtin functions. Partly duplicates the name table
+-- in VHDL.Generate, but we can't use that map everywhere due to
+-- circular dependencie.
+builtinIds = [ exId, replaceId, headId, lastId, tailId, initId, takeId, dropId
+ , selId, plusgtId, ltplusId, plusplusId, mapId, zipWithId, foldlId
+ , foldrId, zipId, unzipId, shiftlId, shiftrId, rotlId, rotrId
+ , concatId, reverseId, iteratenId, iterateId, generatenId, generateId
+ , emptyId, singletonId, copynId, copyId, lengthTId, nullId
+ , hwxorId, hwandId, hworId, hwnotId, equalityId, inEqualityId, ltId
+ , lteqId, gtId, gteqId, boolOrId, boolAndId, plusId, timesId
+ , negateId, minusId, fromSizedWordId, fromIntegerId, resizeWordId
+ , resizeIntId, sizedIntId, smallIntegerId, fstId, sndId, blockRAMId
+ , splitId, minimumId
+ ]
--------------
-- Identifiers
--------------
-- | tup VHDLName suffix
tupVHDLSuffix :: AST.VHDLId -> AST.Suffix
-tupVHDLSuffix id = AST.SSimple id
\ No newline at end of file
+tupVHDLSuffix id = AST.SSimple id
type NameTable = Map.Map String (Int, BuiltinBuilder )
-- | The builtin functions we support. Maps a name to an argument count and a
--- builder function.
+-- builder function. If you add a name to this map, don't forget to add
+-- it to VHDL.Constants/builtinIds as well.
globalNameTable :: NameTable
globalNameTable = Map.fromList
[ (exId , (2, genFCall True ) )