summaryrefslogtreecommitdiff
path: root/src/modules/tacky/traverse.scm
diff options
context:
space:
mode:
authorbd <bdunahu@operationnull.com>2025-01-18 11:40:25 -0700
committerbd <bdunahu@operationnull.com>2025-01-18 11:40:25 -0700
commitb1e901b5ea18eb5b1fc985ae2d44737858afc3e2 (patch)
tree105d2817f5ba2f1b72e6741a196591d6fc00d266 /src/modules/tacky/traverse.scm
parent14b2600bd58b0a4b09c6647c1d78ab7bccd4c1aa (diff)
Complete full translation for unary operators
Diffstat (limited to 'src/modules/tacky/traverse.scm')
-rw-r--r--src/modules/tacky/traverse.scm7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/modules/tacky/traverse.scm b/src/modules/tacky/traverse.scm
index 5f1ad1f..2fd4ca7 100644
--- a/src/modules/tacky/traverse.scm
+++ b/src/modules/tacky/traverse.scm
@@ -19,9 +19,10 @@
(list (list 'ret (car val)))))))
(define (expr op val)
- (cond
- ((integer? val) (make-instruction op (imm val) '()))
- (#t (make-instruction op (car val) (cdr val)))))
+ (make-instruction op (car val) (cdr val)))
+
+(define (const val)
+ (cons (imm val) '()))
(define (make-instruction op src instrs)
(let ((dst (make-temporary)))