Also emit some comments in the assembly for debugging
(emit "~a:" exit-label)))
(define (codegen-expr e si env)
(emit "~a:" exit-label)))
(define (codegen-expr e si env)
(case (ast-type e)
('closure (codegen-closure (cadr e) (caddr e) si env))
('app
(case (ast-type e)
('closure (codegen-closure (cadr e) (caddr e) si env))
('app
(emit "movq %rax, (%rsi)")))
(define (codegen program)
(emit "movq %rax, (%rsi)")))
(define (codegen program)
+ (set! cur-label 0)
+ (set! cur-lambda 0)
(let* ((extract-res-0 (extract-strings program))
(strings (car extract-res-0))
(extract-res-1 (extract-lambdas (cdr extract-res-0)))
(let* ((extract-res-0 (extract-strings program))
(strings (car extract-res-0))
(extract-res-1 (extract-lambdas (cdr extract-res-0)))