X-Git-Url: https://git.stderr.nl/gitweb?a=blobdiff_plain;f=GlobalNameTable.hs;h=ab5657443425697341ff1ab17bf8efc47c205888;hb=0c113a538aa9a891935665481782bdce8350e345;hp=45eed895d89970629dd15c8bf0f8a4a58cecf6ff;hpb=6a5acc4caca3af4f44ae476f457a78a274fe681a;p=matthijs%2Fmaster-project%2Fc%CE%BBash.git diff --git a/GlobalNameTable.hs b/GlobalNameTable.hs index 45eed89..ab56574 100644 --- a/GlobalNameTable.hs +++ b/GlobalNameTable.hs @@ -12,26 +12,28 @@ import VHDLTypes import Constants import Generate -mkGlobalNameTable :: [(String, (Int, Builder) )] -> NameTable +mkGlobalNameTable :: [(String, (Int, BuiltinBuilder) )] -> NameTable mkGlobalNameTable = Map.fromList globalNameTable :: NameTable globalNameTable = mkGlobalNameTable - [ ("!" , (2, Left $ genExprFCall exId ) ) - , ("replace" , (3, Left $ genExprFCall replaceId ) ) - , ("head" , (1, Left $ genExprFCall headId ) ) - , ("last" , (1, Left $ genExprFCall lastId ) ) - , ("tail" , (1, Left $ genExprFCall tailId ) ) - , ("init" , (1, Left $ genExprFCall initId ) ) - , ("take" , (2, Left $ genExprFCall takeId ) ) - , ("drop" , (2, Left $ genExprFCall dropId ) ) - , ("+>" , (2, Left $ genExprFCall plusgtId ) ) - , ("map" , (2, Right $ genMapCall ) ) - , ("empty" , (0, Left $ genExprFCall emptyId ) ) - , ("singleton" , (1, Left $ genExprFCall singletonId ) ) - , ("copy" , (2, Left $ genExprFCall copyId ) ) - , ("hwxor" , (2, Left $ genExprOp2 AST.Xor ) ) - , ("hwand" , (2, Left $ genExprOp2 AST.And ) ) - , ("hwor" , (2, Left $ genExprOp2 AST.Or ) ) - , ("hwnot" , (1, Left $ genExprOp1 AST.Not ) ) + [ (exId , (2, genFCall ) ) + , (replaceId , (3, genFCall ) ) + , (headId , (1, genFCall ) ) + , (lastId , (1, genFCall ) ) + , (tailId , (1, genFCall ) ) + , (initId , (1, genFCall ) ) + , (takeId , (2, genFCall ) ) + , (dropId , (2, genFCall ) ) + , (plusgtId , (2, genFCall ) ) + , (mapId , (2, genMap ) ) + , (zipWithId , (3, genZipWith ) ) + , (foldlId , (3, genFoldl ) ) + , (emptyId , (0, genFCall ) ) + , (singletonId , (1, genFCall ) ) + , (copyId , (2, genFCall ) ) + , (hwxorId , (2, genOperator2 AST.Xor ) ) + , (hwandId , (2, genOperator2 AST.And ) ) + , (hworId , (2, genOperator2 AST.Or ) ) + , (hwnotId , (1, genOperator1 AST.Not ) ) ]