さかもとのブログ

つらつらと

2009-08-06から1日間の記事一覧

SICP演習問題5.42

(define (found? var) (if (not (eq? var 'not-found)) var false)) (define (compile-variable exp target linkage compile-time-env) (let ((found (found? (find-variable exp compile-time-env)))) (end-with-linkage linkage (make-instruction-sequenc…

SICP演習問題5.41

(define (first-frame env) (car env)) (define (first-variable frame) (car frame)) (define (find-variable variable env) (let ((frame-num 0) (variable-num 0)) (define (scan-frame env) (if (null? env) '() (let ((frame (first-frame env))) (if (…

SICP演習問題5.40

コード生成関数のすべてに翻訳時環境を追加。(コードは略) (define (compile-lambda-body exp proc-entry compile-time-env) (let ((formals (lambda-parameters exp))) (print "compile-time-environment: "compile-time-env) (append-instruction-sequence…

SICP演習問題5.39

たいぶおかしなコードですがお許しください。 (define (search-frame frame-num env) (define (scan-frame count env) (cond ((null? env) (error "search-frame" frame-num env)) ((= count frame-num) (car env)) (else (scan-frame (+ count 1) (cdr env)…

演習問題5.40について

め、め、め、めんどーだ.......コード生成関数のすべてに翻訳時環境を追加するって...