#| -*-Scheme-*-
-$Id: envconv.scm,v 1.15 1995/07/15 06:17:24 adams Exp $
+$Id: envconv.scm,v 1.16 1995/09/07 22:07:49 adams Exp $
Copyright (c) 1994-1995 Massachusetts Institute of Technology
(not-yet-legal expr))
(else
(illegal expr))))
-
+\f
(define (envconv/expr env expr)
(envconv/expr-with-name env expr #f))
(if (null? exprs)
(reverse! fin)
(loop (cdr exprs) (cons (envconv/expr env (car exprs)) fin)))))
-\f
+
(define (envconv/remember new old block)
(call-with-values
(lambda () (code-rewrite/original-form*/previous old))
(env false read-only true)
(number false read-only true)
(references '() read-only false))
-
+\f
(define-structure
(envconv/reference
(conc-name envconv/reference/)
(set-envconv/env/children! parent
(cons env (envconv/env/children parent))))
env))
-\f
+
(define-integrable (envconv/env/reified? env)
(envconv/env/reified-name env))
(if (not parent)
(envconv/env/reify! env)
(envconv/env/reify-top-level! parent)))))
-
+\f
(define (envconv/new-reference env name reference-text)
(let* ((binding (envconv/env/lookup! env name))
(reference (envconv/reference/make reference-text binding env)))
(cons reference
(envconv/binding/references binding)))
reference-text))
-\f
+
(define (envconv/env/lookup! env name)
(let spine-loop ((frame env) (frame* false))
(cond ((not frame)
(define (envconv/medium/cache? context)
(eq? context 'TOP-LEVEL))
-
-
+\f
(define (envconv/new-declaration-scope)
(list 'DECLARE))