Map local variables in IR to their original names

This commit is contained in:
2024-11-14 19:55:30 +01:00
parent 060496fc6e
commit 1ec3467830
7 changed files with 376 additions and 386 deletions

View File

@@ -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