SICP 読み (356) 5.5 翻訳系
次の問題に着手。
問題 5.48
色々見てるんですがハードル高い。次のページをめくるのが正直嫌ッス。とりあえず自分メモで。
- 基本手続きという事は eval-dispatch で振り分けるソレ??
- 振り分けた後は
- compile->assemble したリストを val にセットして
- initialize-stack して
- env に get-global-environment セットして
- continue に print-result セットして
- (goto (reg val))
- eceval の中で compile->assemble できるかどうか
- assemble と statements と compile が eceval-operatios に追加されてれば OK ??
む。assemble には machine 渡さんとイカんのですが this ってないしなぁ。あ、でも eceval ってグローバルなシンボルなのかなぁ。てーことは compile->assemble なんていう手続きを作って eceval-operations に追加しておけばなんとかなりそげ??
でもこれだと翻訳系のインターフェースは無傷なのかどうなのか。