aboutsummaryrefslogtreecommitdiffstats
path: root/src/Test/VeriFuzz/CodeGen.hs
blob: 4e4fb8cc9999c765995bcdba7f338d0d2cde00ab (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
{-# LANGUAGE OverloadedStrings #-}

module Test.VeriFuzz.CodeGen where

import           Control.Lens
import           Data.Text                     (Text)
import qualified Data.Text                     as T
import           Test.VeriFuzz.Internal.Shared
import           Test.VeriFuzz.VerilogAST

genSourceText :: SourceText -> Text
genSourceText source =
  fromList $ genDescription <$> source ^. getSourceText

genDescription :: Description -> Text
genDescription desc =
  genModuleDecl $ desc ^. getDescription

genModuleDecl :: ModuleDecl -> Text
genModuleDecl mod =