Kind | Covered | All | % |
expression | 5 | 6 | 83.3 |
branch | 0 | 0 | nil |
1
;;; util.lisp --- Codegen Utilities
2
3
;;
4
5
;;; Code:
6
(in-package :syn/gen)
7
8
(defun init-gen (key)
9
(etypecase key
10
(gen-designator (setq *gen* key))))
11
12
(defmacro with-codegen (lang &body body)
13
"Enable the *GEN* reader for the duration of BODY."
14
`(unwind-protect (progn
15
(load-gen ,lang)
16
(funcall (gen-reader *gen*))
17
,@body)
18
(unload-gen ,lang)))