aboutsummaryrefslogtreecommitdiffstats
path: root/src/Verismith/Verilog
diff options
context:
space:
mode:
authorYann Herklotz <git@yannherklotz.com>2020-04-26 16:57:22 +0100
committerYann Herklotz <git@yannherklotz.com>2020-04-26 16:57:22 +0100
commit34aaba05bda3377a90e056b7b371cae82778a202 (patch)
tree6132e2294f61c9b9308152f3baa4e24eb7662a4c /src/Verismith/Verilog
parent0fb9d8a7097c45a7f522c428850bf88d738d576b (diff)
downloadverismith-34aaba05bda3377a90e056b7b371cae82778a202.tar.gz
verismith-34aaba05bda3377a90e056b7b371cae82778a202.zip
Add distance to commandline
Diffstat (limited to 'src/Verismith/Verilog')
-rw-r--r--src/Verismith/Verilog/Distance.hs16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/Verismith/Verilog/Distance.hs b/src/Verismith/Verilog/Distance.hs
index 6ec9482..3559a6a 100644
--- a/src/Verismith/Verilog/Distance.hs
+++ b/src/Verismith/Verilog/Distance.hs
@@ -126,11 +126,25 @@ instance Distance PortType where
instance Distance PortDir where
distance = eqDistance
+instance Distance (Statement a) where
+ distance (TimeCtrl _ s1) s2 = 1 + distance s1 (Just s2)
+ distance (EventCtrl _ s1) s2 = 1 + distance s1 (Just s2)
+ distance (SeqBlock s1) (SeqBlock s2) = distance s1 s2
+ distance (CondStmnt _ st1 sf1) (CondStmnt _ st2 sf2) = distance st1 st2 + distance sf1 sf2
+ distance (ForLoop _ _ _ s1) (ForLoop _ _ _ s2) = distance s1 s2
+ distance (StmntAnn _ s1) s2 = distance s1 s2
+ distance (BlockAssign _) (BlockAssign _) = 0
+ distance (NonBlockAssign _) (NonBlockAssign _) = 0
+ distance (TaskEnable _) (TaskEnable _) = 0
+ distance (SysTaskEnable _) (SysTaskEnable _) = 0
+ distance (StmntCase _ _ _ _) (StmntCase _ _ _ _) = 0
+ distance _ _ = 1
+
instance Distance (ModItem a) where
distance (ModCA _) (ModCA _) = 0
distance (ModInst _ _ _) (ModInst _ _ _) = 0
distance (Initial _) (Initial _) = 0
- distance (Always _) (Always _) = 0
+ distance (Always s1) (Always s2) = distance s1 s2
distance (Decl _ _ _) (Decl _ _ _) = 0
distance (ParamDecl _) (ParamDecl _) = 0
distance (LocalParamDecl _) (LocalParamDecl _) = 0