From 9b6a5f836680c95ce65390ba24a4c1390306fa75 Mon Sep 17 00:00:00 2001 From: Josh Rahm Date: Wed, 25 Sep 2024 22:54:27 -0600 Subject: cleanup: re-organize Stage2 so the derived AdvaceStage instances are together. --- src/Language/Fiddle/Compiler/Stage2.hs | 52 +++++++++++++++++----------------- 1 file changed, 26 insertions(+), 26 deletions(-) (limited to 'src') 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 -> -- cgit