summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJosh Rahm <joshuarahm@gmail.com>2024-09-25 22:54:27 -0600
committerJosh Rahm <joshuarahm@gmail.com>2024-09-25 22:54:27 -0600
commit9b6a5f836680c95ce65390ba24a4c1390306fa75 (patch)
tree352f532433d2bdd1ed10bd590005046f0bc8523b /src
parent0274c964874801d7cbde8f13fa13e11ed7948660 (diff)
downloadfiddle-9b6a5f836680c95ce65390ba24a4c1390306fa75.tar.gz
fiddle-9b6a5f836680c95ce65390ba24a4c1390306fa75.tar.bz2
fiddle-9b6a5f836680c95ce65390ba24a4c1390306fa75.zip
cleanup: re-organize Stage2 so the derived AdvaceStage instances are together.
Diffstat (limited to 'src')
-rw-r--r--src/Language/Fiddle/Compiler/Stage2.hs52
1 files changed, 26 insertions, 26 deletions
diff --git a/src/Language/Fiddle/Compiler/Stage2.hs b/src/Language/Fiddle/Compiler/Stage2.hs
index 1363620..7306b3f 100644
--- a/src/Language/Fiddle/Compiler/Stage2.hs
+++ b/src/Language/Fiddle/Compiler/Stage2.hs
@@ -58,6 +58,32 @@ deriving instance AdvanceStage Stage2 FiddleUnit
deriving instance AdvanceStage Stage2 Expression
+deriving instance AdvanceStage Stage2 ObjType
+
+deriving instance AdvanceStage Stage2 DeferredRegisterBody
+
+deriving instance AdvanceStage Stage2 RegisterBitsDecl
+
+deriving instance AdvanceStage Stage2 RegisterBitsTypeRef
+
+deriving instance AdvanceStage Stage2 AnonymousBitsType
+
+deriving instance AdvanceStage Stage2 BitType
+
+deriving instance AdvanceStage Stage2 EnumBody
+
+deriving instance AdvanceStage Stage2 EnumConstantDecl
+
+deriving instance AdvanceStage Stage2 PackageBody
+
+deriving instance (AdvanceStage Stage2 t) => AdvanceStage Stage2 (Directed t)
+
+instance AdvanceStage Stage2 RegisterBody where
+ advanceStage s body = fst <$> registerBodyToStage3 s body
+
+instance AdvanceStage Stage2 ObjTypeBody where
+ advanceStage s body = fst <$> objTypeBodyToStage3 s body 0
+
instance AdvanceStage Stage2 FiddleDecl where
modifyState t s = case t of
(BitsDecl id typ a) -> do
@@ -83,32 +109,6 @@ instance AdvanceStage Stage2 FiddleDecl where
nameToList :: Name f a -> [String]
nameToList (Name idents _) = map (\(Identifier (Text.unpack -> s) _) -> s) (toList idents)
-instance AdvanceStage Stage2 ObjTypeBody where
- advanceStage s body = fst <$> objTypeBodyToStage3 s body 0
-
-deriving instance AdvanceStage Stage2 ObjType
-
-deriving instance AdvanceStage Stage2 DeferredRegisterBody
-
-deriving instance AdvanceStage Stage2 RegisterBitsDecl
-
-instance AdvanceStage Stage2 RegisterBody where
- advanceStage s body = fst <$> registerBodyToStage3 s body
-
-deriving instance AdvanceStage Stage2 RegisterBitsTypeRef
-
-deriving instance AdvanceStage Stage2 AnonymousBitsType
-
-deriving instance AdvanceStage Stage2 BitType
-
-deriving instance AdvanceStage Stage2 EnumBody
-
-deriving instance AdvanceStage Stage2 EnumConstantDecl
-
-deriving instance AdvanceStage Stage2 PackageBody
-
-deriving instance (AdvanceStage Stage2 t) => AdvanceStage Stage2 (Directed t)
-
objTypeBodyToStage3 ::
LocalState ->
ObjTypeBody Stage2 I Annot ->