Analyzing Evaluator |
|
(define (eval exp env)
;; First call ANALYZE to build a bag of code
;; from the original EXPression, then call the
;; bag of code with the ENVironment.
((analyze exp) env))
(define (analyze exp)
;; Convert the EXPression into a bag of code
(cond ((self-evaluating? exp)
(analyze-self-evaluating exp))
...
((variable? exp) (analyze-variable exp))
((if? exp) (analyze-if exp))
((lambda? exp) (analyze-lambda exp))
((application? exp) (analyze-application exp))
(else ...)))
| Jim Miller |