Copyright | (c) 2021 Yann Herklotz |
---|---|
License | GPL-3 |
Maintainer | yann [at] yannherklotz [dot] com |
Stability | experimental |
Portability | POSIX |
Safe Haskell | None |
Language | Haskell2010 |
Verismith.Shuffle
Description
Shuffles the Verilog file around a bit.
Synopsis
- shuffleLinesModule :: MonadGen m => ModDecl a -> m (ModDecl a)
- renameIdent :: Map Text Text -> Identifier -> Identifier
- renameExpr :: Map Text Text -> Expr -> Expr
- renameVariablesModule :: MonadGen m => ModDecl a -> m (ModDecl a)
- identModule :: MonadGen m => ModDecl a -> m (ModDecl a)
- applyModules :: MonadGen m => (ModDecl a -> m (ModDecl a)) -> SourceInfo a -> m (SourceInfo a)
- shuffleLines :: SourceInfo a -> Gen (SourceInfo a)
- renameVariables :: SourceInfo a -> Gen (SourceInfo a)
- identityMod :: SourceInfo a -> Gen (SourceInfo a)
- shuffleLinesIO :: SourceInfo a -> IO (SourceInfo a)
- renameVariablesIO :: SourceInfo a -> IO (SourceInfo a)
- runShuffle :: Bool -> Bool -> SourceInfo a -> IO (SourceInfo a)
- m' :: SourceInfo ()
- renameExample :: IO (GenVerilog (SourceInfo ()))
- shuffleExample :: IO (GenVerilog (SourceInfo ()))
Documentation
shuffleLinesModule :: MonadGen m => ModDecl a -> m (ModDecl a) Source #
Shuffles assign statements and always blocks in a Verilog file.
renameIdent :: Map Text Text -> Identifier -> Identifier Source #
applyModules :: MonadGen m => (ModDecl a -> m (ModDecl a)) -> SourceInfo a -> m (SourceInfo a) Source #
shuffleLines :: SourceInfo a -> Gen (SourceInfo a) Source #
renameVariables :: SourceInfo a -> Gen (SourceInfo a) Source #
identityMod :: SourceInfo a -> Gen (SourceInfo a) Source #
shuffleLinesIO :: SourceInfo a -> IO (SourceInfo a) Source #
renameVariablesIO :: SourceInfo a -> IO (SourceInfo a) Source #
runShuffle :: Bool -> Bool -> SourceInfo a -> IO (SourceInfo a) Source #
m' :: SourceInfo () Source #
renameExample :: IO (GenVerilog (SourceInfo ())) Source #
shuffleExample :: IO (GenVerilog (SourceInfo ())) Source #