| 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 #