diff options
author | bd <bdunahu@operationnull.com> | 2025-01-29 19:51:40 -0500 |
---|---|---|
committer | bd <bdunahu@operationnull.com> | 2025-01-29 19:51:40 -0500 |
commit | 5ba1942302c6034c0bc7b3e6e2d3608e8f40fffa (patch) | |
tree | ee9c98e33f3540f050c25f1e4052557e8f888334 /src/backend/ast/ir.scm | |
parent | aea28b9ece45eb0340a480b4f3eb0a4470fdc85b (diff) |
tacky generation for binary operations
Diffstat (limited to 'src/backend/ast/ir.scm')
-rw-r--r-- | src/backend/ast/ir.scm | 44 |
1 files changed, 34 insertions, 10 deletions
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) |