diff options
author | Yann Herklotz <git@ymhg.org> | 2019-05-09 23:18:10 +0100 |
---|---|---|
committer | Yann Herklotz <git@ymhg.org> | 2019-05-09 23:18:10 +0100 |
commit | 77702d5492ba19b6e3e0dda9e9460a8bb67a8e3f (patch) | |
tree | 1fb623c5b94aab30c7ab74d34942390827cb0a5d /src/VeriFuzz/Verilog/Gen.hs | |
parent | 76ce30d979686307babe8ebb6269072338f24910 (diff) | |
download | verismith-77702d5492ba19b6e3e0dda9e9460a8bb67a8e3f.tar.gz verismith-77702d5492ba19b6e3e0dda9e9460a8bb67a8e3f.zip |
Add new pretty printer with indentation
Diffstat (limited to 'src/VeriFuzz/Verilog/Gen.hs')
-rw-r--r-- | src/VeriFuzz/Verilog/Gen.hs | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/src/VeriFuzz/Verilog/Gen.hs b/src/VeriFuzz/Verilog/Gen.hs index feb2be5..9a5b71d 100644 --- a/src/VeriFuzz/Verilog/Gen.hs +++ b/src/VeriFuzz/Verilog/Gen.hs @@ -98,12 +98,6 @@ randomMod inps total = do gen :: Gen a -> StateGen a gen = lift . lift -listOf1 :: Gen a -> Gen [a] -listOf1 a = Hog.list (Hog.linear 1 100) a - ---listOf :: Gen a -> Gen [a] ---listOf = Hog.list (Hog.linear 0 100) - largeNum :: Gen Int largeNum = Hog.int Hog.linearBounded @@ -178,9 +172,9 @@ constExprWithContext ps prob size , ConstBinOp <$> subexpr 2 <*> binOp <*> subexpr 2 ) , ( prob ^. probExprCond - , ConstCond <$> subexpr 3 <*> subexpr 3 <*> subexpr 3 + , ConstCond <$> subexpr 2 <*> subexpr 2 <*> subexpr 2 ) - , (prob ^. probExprConcat, ConstConcat <$> listOf1 (subexpr 8)) + , (prob ^. probExprConcat, ConstConcat <$> Hog.list (Hog.linear 1 10) (subexpr 2)) ] | otherwise = constExprWithContext ps prob 0 where subexpr y = constExprWithContext ps prob $ size `div` y @@ -191,11 +185,11 @@ exprSafeList prob = [(prob ^. probExprNum, Number <$> genBitVec)] exprRecList :: ProbExpr -> (Hog.Size -> Gen Expr) -> [(Int, Gen Expr)] exprRecList prob subexpr = [ (prob ^. probExprNum , Number <$> genBitVec) - , (prob ^. probExprConcat , Concat <$> listOf1 (subexpr 8)) + , (prob ^. probExprConcat , Concat <$> Hog.list (Hog.linear 1 10) (subexpr 2)) , (prob ^. probExprUnOp , UnOp <$> unOp <*> subexpr 2) , (prob ^. probExprStr, Str <$> Hog.text (Hog.linear 0 100) Hog.alphaNum) , (prob ^. probExprBinOp , BinOp <$> subexpr 2 <*> binOp <*> subexpr 2) - , (prob ^. probExprCond , Cond <$> subexpr 3 <*> subexpr 3 <*> subexpr 3) + , (prob ^. probExprCond , Cond <$> subexpr 2 <*> subexpr 2 <*> subexpr 2) , (prob ^. probExprSigned , Appl <$> pure "$signed" <*> subexpr 2) , (prob ^. probExprUnsigned, Appl <$> pure "$unsigned" <*> subexpr 2) ] |