projects
/
matthijs
/
master-project
/
cλash.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
bfcff19
)
adtShow now calls vhdl show function to show the constructor
author
christiaanb
<christiaan.baaij@gmail.com>
Mon, 21 Jun 2010 11:33:51 +0000
(13:33 +0200)
committer
christiaanb
<christiaan.baaij@gmail.com>
Mon, 21 Jun 2010 11:33:51 +0000
(13:33 +0200)
clash/CLasH/VHDL/VHDLTools.hs
patch
|
blob
|
history
diff --git
a/clash/CLasH/VHDL/VHDLTools.hs
b/clash/CLasH/VHDL/VHDLTools.hs
index 507fe3b995d0a2de4c3809cb524b3df163717802..6ba4d765179bf118b729744a2e29e07a09500d15 100644
(file)
--- a/
clash/CLasH/VHDL/VHDLTools.hs
+++ b/
clash/CLasH/VHDL/VHDLTools.hs
@@
-645,18
+645,16
@@
mkAdtShow conLbl conIds elemIdss adtTM = AST.SubProgBody showSpec [] [showExpr]
where
adtPar = AST.unsafeVHDLBasicId "adt"
showSpec = AST.Function showId [AST.IfaceVarDec adtPar adtTM] stringTM
where
adtPar = AST.unsafeVHDLBasicId "adt"
showSpec = AST.Function showId [AST.IfaceVarDec adtPar adtTM] stringTM
- showExpr = AST.CaseSm (AST.PrimName $ AST.NSelected $ (AST.NSimple adtPar) AST.:.: (AST.SSimple $ (mkVHDLBasicId conLbl)))
- [AST.CaseSmAlt [AST.ChoiceE $ AST.PrimLit $ show x] [AST.ReturnSm (Just $ ((AST.PrimLit $ '"':(conIds!!x)++[' ','"'])) AST.:&: showFields x)] | x <- [0..(length conIds) -1]]
+ showExpr = AST.CaseSm ((selectedName adtPar) (mkVHDLBasicId conLbl))
+ [AST.CaseSmAlt [AST.ChoiceE $ AST.PrimLit $ show x]
+ [AST.ReturnSm (Just $ ((genExprFCall showId) . (selectedName adtPar) $ mkVHDLBasicId conLbl) AST.:&: showFields x)] | x <- [0..(length conIds) -1]]
showFields i = if (null (elemIdss!!i)) then
AST.PrimLit "''"
else
showFields i = if (null (elemIdss!!i)) then
AST.PrimLit "''"
else
- foldr1 (\e1 e2 -> e1 AST.:&: AST.PrimLit "' '" AST.:&: e2) $
- map ((genExprFCall showId).
- AST.PrimName .
- AST.NSelected .
- (AST.NSimple adtPar AST.:.:).
- tupVHDLSuffix)
- (map mkVHDLBasicId (elemIdss!!i))
+ foldr1 (\e1 e2 -> e1 AST.:&: e2) $
+ map ((AST.PrimLit "' '" AST.:&:) . (genExprFCall showId) . (selectedName adtPar))
+ (map mkVHDLBasicId (elemIdss!!i))
+ selectedName par = (AST.PrimName . AST.NSelected . (AST.NSimple par AST.:.:) . tupVHDLSuffix)
mkEnumShow ::
[String]
mkEnumShow ::
[String]