SICP 読み (307) 5.5 翻訳系
問題 5.32
見るからに面倒臭そげ。ch5-eceval.scm を eval-dispatch で grep してみた。
$ grep eval-dispatch ch5-eceval.scm (goto (label eval-dispatch)) eval-dispatch (goto (label eval-dispatch)) (goto (label eval-dispatch)) (goto (label eval-dispatch)) (goto (label eval-dispatch)) (goto (label eval-dispatch)) (goto (label eval-dispatch)) (goto (label eval-dispatch)) (goto (label eval-dispatch)) (goto (label eval-dispatch)) (goto (label eval-dispatch)) $
多いな。って問題文を見るに_演算子が記号である組合せの演算子の評価_とあるな。こんなカンジなんだろうか。
ev-application (save continue) (assign unev (op operands) (reg exp)) (assign exp (op operator) (reg exp)) (test (op variable?) (reg exp)) (branch (label eval-dispatch)) (save env) (save unev) (assign continue (label ev-appl-did-operator)) (goto (label eval-dispatch))
びみょー。ちなみに b.ですが、翻訳系の利点のすべてが最適化なソレではないのではないか、と。ただ、他に何が、という点を指摘できないあたりが駄目。