タグ: sicp

5.5 翻訳系 – SICP(計算機プログラムの構造と解釈)その281

いよいよ、最後の5.5節。 コンパイラを作ってプログラムを走らせる方法を調べる。 今回も問題を解く前に、動作するコンパイラを作っておく。 作るといっても書き写すだけ。そのまま、修正の必要もなく動作した。 ;;;; 5.5.1 翻訳系の構造 ;;; 翻訳系のトップレベルの振り分け処理 compile (define (compile exp target linkage) (cond ((self-…続きを読む

問題5.30 a – SICP(計算機プログラムの構造と解釈)その280

問題5.30 a. これまで、未束縛の変数があった場合は基盤の scheme のエラーを発生させていたために、評価器の駆動ループが終了されて基盤の scheme に戻ってしまっていた。 これを、未束縛の変数の存在を捕捉し評価器の駆動ループ内で処理させるように変更する。 ;;; EC-Eval input: (+ x 2) *** ERROR: Unbound variable x Stack Tr…続きを読む