- ((var? e) (codegen-var e si env))
- ((boolean? e) (emit "movq $~a, %rax" (if e 1 0)))
- (else (emit "movq $~a, %rax" e))))
+
+ ('var (codegen-var e si env))
+
+ ('string-literal (emit "movq ~a, %rax" label))
+ ('bool-literal (emit "movq $~a, %rax" (if e 1 0)))
+ ('int-literal (emit "movq $~a, %rax" e))
+
+ (else (error #f "don't know how to codegen this"))))
+