summaryrefslogtreecommitdiff
path: root/lib/Language/Elna/Backend/Allocator.hs
diff options
context:
space:
mode:
authorEugen Wissner <belka@caraus.de>2024-10-04 18:26:10 +0200
committerEugen Wissner <belka@caraus.de>2024-10-04 18:26:10 +0200
commit35742aa52587400950cf25170c2247f98f498d4d (patch)
tree78d0fd208e2e08d30c18ada33c52bc76a91267d6 /lib/Language/Elna/Backend/Allocator.hs
parentfdf56ce9d0de459dc5bd65537847ded7b02ad5c2 (diff)
downloadelna-35742aa52587400950cf25170c2247f98f498d4d.tar.gz
Add printc and exit builtin functions
Diffstat (limited to 'lib/Language/Elna/Backend/Allocator.hs')
-rw-r--r--lib/Language/Elna/Backend/Allocator.hs2
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/Language/Elna/Backend/Allocator.hs b/lib/Language/Elna/Backend/Allocator.hs
index 9ad849e..1ffc85d 100644
--- a/lib/Language/Elna/Backend/Allocator.hs
+++ b/lib/Language/Elna/Backend/Allocator.hs
@@ -36,6 +36,8 @@ allocate MachineConfiguration{..} = fmap function
SubtractionQuadruple (operand operand1) (operand operand2) (Store temporaryRegister)
quadruple (NegationQuadruple operand1 _) =
NegationQuadruple (operand operand1) (Store temporaryRegister)
+ quadruple (ProductQuadruple operand1 operand2 _) =
+ ProductQuadruple (operand operand1) (operand operand2) (Store temporaryRegister)
operand :: Operand Variable -> Operand (Store r)
operand (IntOperand x) = IntOperand x
operand (VariableOperand _) = VariableOperand (Store temporaryRegister)