mirror of https://github.com/zachjs/sv2v.git
support implied port directions
This commit is contained in:
parent
4b3b09d2db
commit
fc9999aeea
|
|
@ -105,10 +105,22 @@ parseDTsAsPortDecls pieces =
|
||||||
length pieces == length commaIdxs + length identIdxs
|
length pieces == length commaIdxs + length identIdxs
|
||||||
|
|
||||||
simpleIdents = map extractIdent $ filter isIdent pieces
|
simpleIdents = map extractIdent $ filter isIdent pieces
|
||||||
declarations = parseDTsAsDecls pieces
|
declarations = propagateDirections Input $ parseDTsAsDecls pieces
|
||||||
|
|
||||||
extractIdent = \(DTIdent _ x) -> x
|
extractIdent = \(DTIdent _ x) -> x
|
||||||
|
|
||||||
|
propagateDirections :: Direction -> [Decl] -> [Decl]
|
||||||
|
propagateDirections dir (decl @ (Variable _ InterfaceT{} _ _ _) : decls) =
|
||||||
|
decl : propagateDirections dir decls
|
||||||
|
propagateDirections lastDir (Variable currDir t x a me : decls) =
|
||||||
|
decl : propagateDirections dir decls
|
||||||
|
where
|
||||||
|
decl = Variable dir t x a me
|
||||||
|
dir = if currDir == Local then lastDir else currDir
|
||||||
|
propagateDirections dir (decl : decls) =
|
||||||
|
decl : propagateDirections dir decls
|
||||||
|
propagateDirections _ [] = []
|
||||||
|
|
||||||
portNames :: [Decl] -> [Identifier]
|
portNames :: [Decl] -> [Identifier]
|
||||||
portNames items = mapMaybe portName items
|
portNames items = mapMaybe portName items
|
||||||
portName :: Decl -> Maybe Identifier
|
portName :: Decl -> Maybe Identifier
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue