From 060496fc6ee331e2710ff8ade23317a0a79cbd6c Mon Sep 17 00:00:00 2001 From: Eugen Wissner Date: Wed, 6 Nov 2024 22:23:49 +0100 Subject: Parse local variables --- lib/Language/Elna/Backend/Intermediate.hs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'lib/Language/Elna/Backend/Intermediate.hs') diff --git a/lib/Language/Elna/Backend/Intermediate.hs b/lib/Language/Elna/Backend/Intermediate.hs index f1a5d7a..c4dcf18 100644 --- a/lib/Language/Elna/Backend/Intermediate.hs +++ b/lib/Language/Elna/Backend/Intermediate.hs @@ -17,12 +17,12 @@ instance Show Label where show (Label label) = '.' : Text.unpack label -newtype Variable = TempVariable Word32 -- | Variable Text +data Variable = TempVariable Word32 | LocalVariable Word32 deriving Eq instance Show Variable where - -- show (Variable variable) = '$' : Text.unpack variable + show (LocalVariable variable) = '@' : show variable show (TempVariable variable) = '$' : show variable data Operand v @@ -41,8 +41,8 @@ data Quadruple v | ProductQuadruple (Operand v) (Operand v) v | DivisionQuadruple (Operand v) (Operand v) v | GoToQuadruple Label - {-| AssignQuadruple Operand Variable - | ArrayQuadruple Variable Operand Variable + | AssignQuadruple (Operand v) v + {-| ArrayQuadruple Variable Operand Variable | ArrayAssignQuadruple Operand Operand Variable -} | LessOrEqualQuadruple (Operand v) (Operand v) Label | GreaterOrEqualQuadruple (Operand v) (Operand v) Label -- cgit v1.2.3