From f0c4da33e9576d2509b8c6330b1663e044e2dff3 Mon Sep 17 00:00:00 2001 From: Josh Rahm Date: Fri, 20 Sep 2024 10:43:43 -0600 Subject: Some major changes to the structure of the language. Added structures and unions to better define the layout and model overlapping concerns. renamed objtype -> type and object -> instance. added reserved statements for types. --- src/Language/Fiddle/GenericTree.hs | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'src/Language/Fiddle/GenericTree.hs') diff --git a/src/Language/Fiddle/GenericTree.hs b/src/Language/Fiddle/GenericTree.hs index 668c290..00824ed 100644 --- a/src/Language/Fiddle/GenericTree.hs +++ b/src/Language/Fiddle/GenericTree.hs @@ -174,6 +174,8 @@ instance (GToGenericSyntaxTree r f a) => (GToGenericSyntaxTree (M1 i c r) f a) w deriving instance (ToGenericSyntaxTree Identifier) +deriving instance (ToGenericSyntaxTree BodyType) + deriving instance (Context stage) => (ToGenericSyntaxTree (FiddleUnit stage)) deriving instance (Context stage) => (ToGenericSyntaxTree (FiddleDecl stage)) @@ -206,6 +208,20 @@ instance (Context stage) => (ToGenericSyntaxTree (ObjTypeDecl stage)) where toGenericSyntaxTree t = case t of (AssertPosStatement expr a) -> SyntaxTreeObject "AssertPosStatement" [toGenericSyntaxTree expr] a t + (TypeSubStructure body mIdent a) -> + SyntaxTreeObject + "TypeSubStructure" + ( Data.Foldable.toList (toGenericSyntaxTree <$> body) + ++ Data.Foldable.toList (toGenericSyntaxTree <$> mIdent) + ) + a + t + (ReservedDecl expr a) -> + SyntaxTreeObject + "ReservedDecl" + [toGenericSyntaxTree expr] + a + t (RegisterDecl mMod mIdent expr mBody a) -> SyntaxTreeObject "RegisterDecl" -- cgit