X-Git-Url: https://git.stderr.nl/gitweb?a=blobdiff_plain;f=GlobalNameTable.hs;h=8d38f6c34bc2bbe72d21e2b58427af1c70828c17;hb=acdf6e104979ff6354caeecf73eef680ea9369e4;hp=ef4b25ed986d542c79465bc46793f3c0de9a21e8;hpb=241a1d6f8a4bc9cccc0cacb05e8348fa3e204f74;p=matthijs%2Fmaster-project%2Fc%CE%BBash.git diff --git a/GlobalNameTable.hs b/GlobalNameTable.hs index ef4b25e..8d38f6c 100644 --- a/GlobalNameTable.hs +++ b/GlobalNameTable.hs @@ -12,11 +12,24 @@ 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 - [ (show ('(V.!)) , (2, genExprFCall2L exId ) ) - , ("head" , (1, genExprFCall1L headId ) ) - ] \ No newline at end of file + [ ("!" , (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 ) ) + , ("hwxor" , (2, Left $ genExprOp2 AST.Xor ) ) + , ("hwand" , (2, Left $ genExprOp2 AST.And ) ) + , ("hwor" , (2, Left $ genExprOp2 AST.Or ) ) + , ("hwnot" , (1, Left $ genExprOp1 AST.Not ) ) + ]