1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-01 04:10:18 +02:00

Change local type representation and remove var type

This commit is contained in:
Ian Price 2015-06-21 01:56:01 +01:00
parent e9f37e6a31
commit a680a4cb9d
4 changed files with 39 additions and 42 deletions

View file

@ -149,11 +149,13 @@
clauses)
(list (compile-jump-table clauses)))))
(($ il:local bindings body)
(make-block (append (map compile-exp bindings) (list (compile-exp body)))))
(($ il:var id exp)
(make-var (rename-id id) (compile-exp exp)))
(($ il:local ((ids . bindings) ...) body)
(make-block
(append (map (lambda (id binding)
(make-var (rename-id id) (compile-exp binding)))
ids
bindings)
(list (compile-exp body)))))
(($ il:continue k exps)
(make-return (make-call (compile-id k) (map compile-exp exps))))