X-Git-Url: https://git.stderr.nl/gitweb?a=blobdiff_plain;f=GlobalNameTable.hs;h=ab5657443425697341ff1ab17bf8efc47c205888;hb=0c113a538aa9a891935665481782bdce8350e345;hp=cf585ea50a88607ef146f7654f2510a7ace02765;hpb=b4e5628b8d3714338abb9af0c96b1faddabfaee8;p=matthijs%2Fmaster-project%2Fc%CE%BBash.git diff --git a/GlobalNameTable.hs b/GlobalNameTable.hs index cf585ea..ab56574 100644 --- a/GlobalNameTable.hs +++ b/GlobalNameTable.hs @@ -12,22 +12,28 @@ import VHDLTypes import Constants import Generate -mkGlobalNameTable :: [(String, (Int, [AST.Expr] -> AST.Expr ) )] -> NameTable +mkGlobalNameTable :: [(String, (Int, BuiltinBuilder) )] -> NameTable mkGlobalNameTable = Map.fromList globalNameTable :: NameTable globalNameTable = mkGlobalNameTable - [ ("!" , (2, genExprFCall exId ) ) - , ("replace" , (3, genExprFCall replaceId ) ) - , ("head" , (1, genExprFCall headId ) ) - , ("last" , (1, genExprFCall lastId ) ) - , ("tail" , (1, genExprFCall tailId ) ) - , ("init" , (1, genExprFCall initId ) ) - , ("take" , (2, genExprFCall takeId ) ) - , ("drop" , (2, genExprFCall dropId ) ) - , ("+>" , (2, genExprFCall plusgtId ) ) - , ("hwxor" , (2, genExprOp2 AST.Xor ) ) - , ("hwand" , (2, genExprOp2 AST.And ) ) - , ("hwor" , (2, genExprOp2 AST.Or ) ) - , ("hwnot" , (1, 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 ) ) ]