diff options
| author | Eugen Wissner <belka@caraus.de> | 2024-11-14 19:55:30 +0100 |
|---|---|---|
| committer | Eugen Wissner <belka@caraus.de> | 2024-11-14 19:55:30 +0100 |
| commit | 1ec34678308709f7f6103bd4d67347ad859479c8 (patch) | |
| tree | 816abb7b59a5e6bc5b302e846e585626cb908954 /lib/Language/Elna/Backend/Intermediate.hs | |
| parent | 060496fc6ee331e2710ff8ade23317a0a79cbd6c (diff) | |
| download | elna-1ec34678308709f7f6103bd4d67347ad859479c8.tar.gz | |
Map local variables in IR to their original names
Diffstat (limited to 'lib/Language/Elna/Backend/Intermediate.hs')
| -rw-r--r-- | lib/Language/Elna/Backend/Intermediate.hs | 9 |
1 files changed, 8 insertions, 1 deletions
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 |
