summaryrefslogtreecommitdiff
path: root/src/Language/Fiddle/Parser.hs
diff options
context:
space:
mode:
authorJosh Rahm <joshuarahm@gmail.com>2024-10-11 16:19:21 -0600
committerJosh Rahm <joshuarahm@gmail.com>2024-10-11 16:19:21 -0600
commit1e820e50668631a239cfc3188137cc90c34cf738 (patch)
treec2f2271d17199d97b91b397be46da075a569b21c /src/Language/Fiddle/Parser.hs
parent8082f91fd9fd1bdcbde5ebf74ed4710cdbb0c6c5 (diff)
downloadfiddle-1e820e50668631a239cfc3188137cc90c34cf738.tar.gz
fiddle-1e820e50668631a239cfc3188137cc90c34cf738.tar.bz2
fiddle-1e820e50668631a239cfc3188137cc90c34cf738.zip
Further implement C backend.
There is a problem where I'm mixing up bits and bytes. I think I'll try to resolve that using more type-level constraints.
Diffstat (limited to 'src/Language/Fiddle/Parser.hs')
-rw-r--r--src/Language/Fiddle/Parser.hs6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/Language/Fiddle/Parser.hs b/src/Language/Fiddle/Parser.hs
index e8f1b62..8d2eab2 100644
--- a/src/Language/Fiddle/Parser.hs
+++ b/src/Language/Fiddle/Parser.hs
@@ -207,7 +207,7 @@ objTypeDeclP =
)
<|> ( do
tok_ KWReserved
- ReservedDecl <$> exprInParenP
+ ReservedDecl Vacant Vacant <$> exprInParenP
)
<|> ( do
bt <- bodyTypeP
@@ -216,7 +216,7 @@ objTypeDeclP =
<|> ( do
modifier <- optionMaybe modifierP
tok_ KWReg
- RegisterDecl () modifier . Perhaps
+ RegisterDecl Vacant modifier . Perhaps
<$> optionMaybe ident
<*> exprInParenP
<*> optionMaybe (tok TokColon *> registerBodyP)
@@ -258,7 +258,7 @@ registerBitsDeclP =
tok KWReserved >> ReservedBits <$> exprInParenP
)
<|> (BitsSubStructure <$> registerBodyP <*> optionMaybe ident)
- <|> ( DefinedBits ()
+ <|> ( DefinedBits Vacant
<$> optionMaybe modifierP
<*> ident
<*> (tok TokColon >> registerBitsTypeRefP)