5.5.7 翻訳したコードと評価器のインターフェース – SICP(計算機プログラムの構造と解釈)その296
2009年12月27日
翻訳したコードを受け取った場合の処理を追加し、コードを翻訳して REPL 呼び出す手続きを追加する。
実行には以下のファイル群を利用する。
- compiler.scm (5.5節の翻訳系)
- ece4compiler.scm (5.4節の積極制御評価器計算機)
- eval4ece.scm (4.1節の超循環評価器)
- register_machine.scm (5.2節のレジスタ計算機)
これらをまとめたアーカイブ(sicp5.5.7.zip)。
実行してみる。
$ gosh gosh> (load "./ece4compiler.scm") #t gosh> (compile-and-go '(define (factorial n) (if (= n 1) 1 (* (factorial (- n 1)) n)))) (total-pushes = 0 max-depth = 0) ;;; EC-Eval value: ok ;;; EC-Eval input: (factorial 5) (total-pushes = 31 max-depth = 14) ;;; EC-Eval value: 120
ちゃんと動作している。
計算機プログラムの構造と解釈
posted with amazlet at 08.11.07
ジェラルド・ジェイ サスマン ジュリー サスマン ハロルド エイブルソン
ピアソンエデュケーション
売り上げランキング: 6542
ピアソンエデュケーション
売り上げランキング: 6542