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:
parent
e9f37e6a31
commit
a680a4cb9d
4 changed files with 39 additions and 42 deletions
|
@ -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))))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue