From 1ec34678308709f7f6103bd4d67347ad859479c8 Mon Sep 17 00:00:00 2001 From: Eugen Wissner Date: Thu, 14 Nov 2024 19:55:30 +0100 Subject: Map local variables in IR to their original names --- lib/Language/Elna/Backend/Intermediate.hs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (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 c4dcf18..624bba8 100644 --- a/lib/Language/Elna/Backend/Intermediate.hs +++ b/lib/Language/Elna/Backend/Intermediate.hs @@ -1,11 +1,13 @@ module Language.Elna.Backend.Intermediate - ( Operand(..) + ( ProcedureQuadruples(..) + , Operand(..) , Quadruple(..) , Label(..) , Variable(..) ) where import Data.Int (Int32) +import Data.Vector (Vector) import Data.Word (Word32) import Data.Text (Text) import qualified Data.Text as Text @@ -30,6 +32,11 @@ data Operand v | VariableOperand v deriving (Eq, Show) +data ProcedureQuadruples v = ProcedureQuadruples + { quadruples :: Vector (Quadruple v) + , stackSize :: Word32 + } deriving (Eq, Show) + data Quadruple v = StartQuadruple | StopQuadruple -- cgit v1.2.3