diff options
author | Josh Rahm <joshuarahm@gmail.com> | 2024-09-20 10:43:43 -0600 |
---|---|---|
committer | Josh Rahm <joshuarahm@gmail.com> | 2024-09-20 10:43:43 -0600 |
commit | f0c4da33e9576d2509b8c6330b1663e044e2dff3 (patch) | |
tree | 15120a7b0ca3795fc7b35478f708d54c1c988ec5 /src/Language/Fiddle/GenericTree.hs | |
parent | f1128c7c60809d1e96009eaed98c0756831fe29f (diff) | |
download | fiddle-f0c4da33e9576d2509b8c6330b1663e044e2dff3.tar.gz fiddle-f0c4da33e9576d2509b8c6330b1663e044e2dff3.tar.bz2 fiddle-f0c4da33e9576d2509b8c6330b1663e044e2dff3.zip |
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.
Diffstat (limited to 'src/Language/Fiddle/GenericTree.hs')
-rw-r--r-- | src/Language/Fiddle/GenericTree.hs | 16 |
1 files changed, 16 insertions, 0 deletions
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" |