From f371a310affd9501f48aa8ade4670f9a29070cad Mon Sep 17 00:00:00 2001 From: Josh Rahm Date: Tue, 3 Dec 2024 17:49:28 -0700 Subject: Implement new syntactic-sugar for skip_to(). Allows specifying the offset directly on a register --- src/Language/Fiddle/Compiler/Qualification.hs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/Language/Fiddle/Compiler/Qualification.hs') diff --git a/src/Language/Fiddle/Compiler/Qualification.hs b/src/Language/Fiddle/Compiler/Qualification.hs index ac99f48..4f3d380 100644 --- a/src/Language/Fiddle/Compiler/Qualification.hs +++ b/src/Language/Fiddle/Compiler/Qualification.hs @@ -239,7 +239,7 @@ instance AdvanceStage S ObjTypeDecl where ident' <$> advanceStage localState'' sz <*> pure ann - RegisterDecl _ mod ident size bod ann -> do + RegisterDecl _ mod ident size Vacant bod ann -> do ident' <- guaranteeM (uniqueIdentifier "reg" ann) ident let (qualified, localState') = @@ -261,6 +261,7 @@ instance AdvanceStage S ObjTypeDecl where (guarantee (ModifierKeyword Rw ann) mod) ident' <$> progressBackM getProperRegSize size + <*> pure Vacant <*> mapM (advanceStage localState'') bod <*> pure ann ReservedDecl _ expr ann -> do @@ -281,6 +282,7 @@ instance AdvanceStage S ObjTypeDecl where (Guaranteed $ ModifierKeyword Pr ann) (Guaranteed ident) <$> fmap LeftV (getProperRegSize expr) + <*> pure Vacant <*> pure Nothing <*> pure ann TypeSubStructure bod name an -> do -- cgit