Add "if" as alias for "branch"

This commit is contained in:
Dane Johnson 2025-06-28 10:35:07 -05:00
parent 227dcc662e
commit cc3d576112
2 changed files with 8 additions and 2 deletions

View File

@ -7,8 +7,14 @@
#:select (write-u8 write-bytevector)) #:select (write-u8 write-bytevector))
#:export (assemble)) #:export (assemble))
(define *aliases*
'((if . branch)))
(define (or-alias inst)
(or (assq-ref *aliases* inst) inst))
(define (lookup-instruction inst) (define (lookup-instruction inst)
(define inst-obj (assq inst *instruction-set*)) (define inst-obj (assq (or-alias inst) *instruction-set*))
(if inst-obj (if inst-obj
inst-obj inst-obj
(error (format #f "could not find instruction ~a" inst)))) (error (format #f "could not find instruction ~a" inst))))

View File

@ -32,7 +32,7 @@
(=) (=)
(or) (or)
(push recur) (push recur)
(branch) (if)
(return) (return)
recur recur
(dup) (dup)