X-Git-Url: https://git.stderr.nl/gitweb?a=blobdiff_plain;f=GlobalNameTable.hs;h=dda018c7fc1a41a7dcba431e6e7805f865d24965;hb=a0c01abba26d4c00428d340d068f87a84afbc917;hp=756c6113c932e978e29a7bccd52d84669250e0e0;hpb=98734f52c51081459172bd28c0913162264cf3e5;p=matthijs%2Fmaster-project%2Fc%CE%BBash.git diff --git a/GlobalNameTable.hs b/GlobalNameTable.hs index 756c611..dda018c 100644 --- a/GlobalNameTable.hs +++ b/GlobalNameTable.hs @@ -12,15 +12,26 @@ import VHDLTypes import Constants import Generate -mkGlobalNameTable :: [(String, (Int, [AST.Expr] -> AST.Expr ) )] -> NameTable +mkGlobalNameTable :: [(String, (Int, Builder) )] -> NameTable mkGlobalNameTable = Map.fromList globalNameTable :: NameTable globalNameTable = mkGlobalNameTable - [ ("!" , (2, genExprFCall exId ) ) - , ("head" , (1, genExprFCall headId ) ) - , ("hwxor" , (2, genExprOp2 AST.Xor ) ) - , ("hwand" , (2, genExprOp2 AST.And ) ) - , ("hwor" , (2, genExprOp2 AST.And ) ) - , ("hwnot" , (1, genExprOp1 AST.Not ) ) + [ (exId , (2, Left $ genExprFCall exId ) ) + , (replaceId , (3, Left $ genExprFCall replaceId ) ) + , (headId , (1, Left $ genExprFCall headId ) ) + , (lastId , (1, Left $ genExprFCall lastId ) ) + , (tailId , (1, Left $ genExprFCall tailId ) ) + , (initId , (1, Left $ genExprFCall initId ) ) + , (takeId , (2, Left $ genExprFCall takeId ) ) + , (dropId , (2, Left $ genExprFCall dropId ) ) + , (plusgtId , (2, Left $ genExprFCall plusgtId ) ) + , (mapId , (2, Right $ genMapCall ) ) + , (emptyId , (0, Left $ genExprFCall emptyId ) ) + , (singletonId , (1, Left $ genExprFCall singletonId ) ) + , (copyId , (2, Left $ genExprFCall copyId ) ) + , (hwxorId , (2, Left $ genExprOp2 AST.Xor ) ) + , (hwandId , (2, Left $ genExprOp2 AST.And ) ) + , (hworId , (2, Left $ genExprOp2 AST.Or ) ) + , (hwnotId , (1, Left $ genExprOp1 AST.Not ) ) ]