aboutsummaryrefslogtreecommitdiffstats
path: root/src/VeriFuzz/Verilog/AST.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/VeriFuzz/Verilog/AST.hs')
-rw-r--r--src/VeriFuzz/Verilog/AST.hs21
1 files changed, 14 insertions, 7 deletions
diff --git a/src/VeriFuzz/Verilog/AST.hs b/src/VeriFuzz/Verilog/AST.hs
index 306366c..43063e6 100644
--- a/src/VeriFuzz/Verilog/AST.hs
+++ b/src/VeriFuzz/Verilog/AST.hs
@@ -139,14 +139,18 @@ module VeriFuzz.Verilog.AST
)
where
-import Control.Lens hiding ((<|))
+import Control.Lens hiding ( (<|) )
import Data.Data
import Data.Data.Lens
-import Data.Functor.Foldable.TH (makeBaseFunctor)
-import Data.List.NonEmpty (NonEmpty (..), (<|))
-import Data.String (IsString, fromString)
-import Data.Text (Text)
-import Data.Traversable (sequenceA)
+import Data.Functor.Foldable.TH ( makeBaseFunctor )
+import Data.List.NonEmpty ( NonEmpty(..)
+ , (<|)
+ )
+import Data.String ( IsString
+ , fromString
+ )
+import Data.Text ( Text )
+import Data.Traversable ( sequenceA )
import VeriFuzz.Verilog.BitVec
-- | Identifier in Verilog. This is just a string of characters that can either
@@ -169,6 +173,9 @@ data Event = EId {-# UNPACK #-} !Identifier
| EComb !Event !Event
deriving (Eq, Show, Ord, Data)
+instance Plated Event where
+ plate = uniplate
+
-- | Binary operators that are currently supported in the verilog generation.
data BinaryOperator = BinPlus -- ^ @+@
| BinMinus -- ^ @-@
@@ -492,7 +499,7 @@ newtype Verilog = Verilog { getVerilog :: [ModDecl] }
data SourceInfo = SourceInfo { _infoTop :: {-# UNPACK #-} !Text
, _infoSrc :: !Verilog
}
- deriving (Eq, Show)
+ deriving (Eq, Ord, Data, Show)
$(makeLenses ''Expr)
$(makeLenses ''ConstExpr)