From 5ba1942302c6034c0bc7b3e6e2d3608e8f40fffa Mon Sep 17 00:00:00 2001 From: bd Date: Wed, 29 Jan 2025 19:51:40 -0500 Subject: tacky generation for binary operations --- src/backend/ast/ir.scm | 44 ++++++++++++++++++++++++++++++++++---------- 1 file changed, 34 insertions(+), 10 deletions(-) (limited to 'src/backend/ast/ir.scm') diff --git a/src/backend/ast/ir.scm b/src/backend/ast/ir.scm index 90617cd..129fcd2 100644 --- a/src/backend/ast/ir.scm +++ b/src/backend/ast/ir.scm @@ -1,19 +1,19 @@ (define-module (backend ast ir) #:export (prog-ir srout-ir - neg-ir - not-ir - plus-ir - minus-ir - mult-ir - div-ir - mod-ir mov-ir stack-ir reg-ir imm-ir tmp-ir - ret-ir)) + ret-ir + neg-ir + not-ir + plus-ir + minus-ir + mult-ir + div-ir + mod-ir)) ;;; Commentary: ;;; @@ -26,7 +26,31 @@ ((_ names ...) (begin (define (names . args) - (cons 'names args)) ...)))) + (cons 'names args)) ...)))) + +(define-syntax def-ir-syms + (syntax-rules () + ((_ names ...) + (begin + (define names + 'names) ...)))) (def-ir-nodes - prog-ir srout-ir neg-ir not-ir plus-ir minus-ir mult-ir div-ir mod-ir mov-ir stack-ir reg-ir imm-ir tmp-ir ret-ir) + prog-ir + srout-ir + instr-ir + mov-ir + stack-ir + reg-ir + imm-ir + tmp-ir) + +(def-ir-syms + ret-ir + neg-ir + not-ir + plus-ir + minus-ir + mult-ir + div-ir + mod-ir) -- cgit v1.2.3