開発環境
- OS X Mavericks - Apple(OS)
- Emacs (CUI)、BBEdit - Bare Bones Software, Inc. (GUI) (Text Editor)
- Scheme (プログラミング言語)
- MIT/GNU Scheme (処理系)
計算機プログラムの構造と解釈(Gerald Jay Sussman(原著)、Julie Sussman(原著)、Harold Abelson(原著)、和田 英一(翻訳)、ピアソンエデュケーション、原書: Structure and Interpretation of Computer Programs (MIT Electrical Engineering and Computer Science)(SICP))の5(レジスタ計算機での計算)、5.4(積極制御評価器)、5.4.1(積極制御評価器の中核)、単純式の評価、手続き作用の評価、手続き作用、5.4.2(並びの評価と末尾再帰)、末尾再帰、5.4.3(条件式、代入および定義)、代入と定義、問題 5.23.を解いてみる。
その他参考書籍
問題 5.23.
追加箇所。
eval-dispatch (test (op self-evaluating?) (reg exp)) (branch (label ev-self-eval)) (test (op variable?) (reg exp)) (branch (label ev-variable)) (test (op quoted?) (reg exp)) (branch (label ev-quoted)) (test (op assignment?) (reg exp)) (branch (label ev-assignment)) (test (op definition?) (reg exp)) (branch (label ev-definition)) (test (op if?) (reg exp)) (branch (label ev-if)) (test (op lambda?) (reg exp)) (branch (label ev-lambda)) (test (op begin?) (reg exp)) (branch (label ev-begin)) (test (op cond?) (reg exp)) (branch (label ev-cond)) (test (op let?) (reg exp)) (branch (label ev-let)) (test (op application?) (reg exp)) (branch (label ev-application)) (goto (label unknown-expression-type)) ;; ev-cond (assign (op cond->if) (reg exp)) (goto (label ev-if)) ev-let (assign (op let->combination) (reg exp)) (goto (label eval-dispatch))
まだ積極制御評価器の実装し終わってないから、実装したら入出力も試してみることに。
0 コメント:
コメントを投稿