diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/Language/Fiddle/Compiler/Stage2.hs | 52 |
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 -> |