SICP 読み (258) 5.2 レジスタ計算機での計算
作業開始。ログを以下に。
とりあえず、試験をログからコピペ。修正点を整理すると以下か。
- make-new-machine
- stack は使わない
- allocate-register において register-table に cons するリストに stack を追加
- lookup-register に引数追加して stack 又は register を返却
- get-register の修正 (インターフェースに変更ナシ。中身修正)
- get-stack の追加
- update-insts!
- stack を取得しない
- make-execution-procedure に stack を渡さない
- make-execution-procedure
- stack を引数リストから削除
- make-save と make-restore に stack を渡さない
- make-save と make-restore
- stack を引数リストから削除
- stack をレジスタ名から取得
これは既存の UT も直さないとアレですな。と、言いつつ試験の修正は若干量のみ??
既存な試験に影響があったのは make-execution-procedure と make-save、make-restore くらいだった模様。
盛り込み
大変でした。結論から言えば試験が微妙スギ。低水準な手続きをそこら中で使ってるから修正が大変。次の問題もワケワカんねぇ状態なんですが、それ以前にきちんと試験を書き直す必要あり。
頑張れればもう少し頑張ってみますが、きちんとした試験をナニできるのは明日以降 (弱