問題5.11c – SICP(計算機プログラムの構造と解釈)その260
レジスタ名毎にスタックを用意し、スタック操作はレジスタ名を引数にとってチェックする。 スタックは連想リストを使ってレジスタ名と値のリストの形にする。 (define (make-stack) (let ((s ‘())) (define (push reg-name x) (let ((reg-stack (assoc reg-name s))) (if #?=reg-stack ;; リーダーマ…続きを読む
レジスタ名毎にスタックを用意し、スタック操作はレジスタ名を引数にとってチェックする。 スタックは連想リストを使ってレジスタ名と値のリストの形にする。 (define (make-stack) (let ((s ‘())) (define (push reg-name x) (let ((reg-stack (assoc reg-name s))) (if #?=reg-stack ;; リーダーマ…続きを読む
Acrobat Reader のプラグインが無くてもオンラインでブラウザから PDF を閲覧できる。 iframe でページへの埋め込みも可能。 PDF の他にも PowerPoint や TIFF 形式のファイルにも対応している。 Official Google Docs Blog: View online files using the Google Docs Viewer で iframe …続きを読む
Automator のワークフロー Finder 項目の選択を求める PDF ページを結合 Finder 項目を移動 Finder 項目の名前を変更
問題5.11 b. スタックの save でレジスタ名とその値をペアにして保存し、restore でレジスタ名のチェックを行う。 (define (make-save inst machine stack pc) (let ((reg-name (stack-inst-reg-name inst))) (let ((reg (get-register machine reg-name))) (la…続きを読む
Ubuntu 8.04 で uim を使用していると、画面の左上にツールバーの影のようなものが表示される。 どうも、起動時にパネルに入り損ねたツールバーらしい。 以下の手順で影を消すことができた。 compizconfig-settings-manager をインストールする。 $ sudo aptitude install compizconfig-settings-manager メニューの『…続きを読む
西院伽藍の中門 金剛力士像 阿形 金剛力士像 吽形 五重塔
問題5.11 a. afterfib-n-2 の内容を次のように変更できる。 afterfib-n-2 (assign n (reg val)) (restore val) … ↓ afterfib-n-2 (restore n) … 問題5.6のように (fib 4) として、スタックの処理内容を書き出してみる。 ; [n] [val] [continue] [stack] (test …続きを読む
問題5.9 (define (make-operation-exp exp machine labels operations) (let ((op (lookup-prim (operation-exp-op exp) operations)) (aprocs (map (lambda (e) (if (label-exp? e) (error "Operations can be u…続きを読む
問題5.8 1つめの here から there に達したとき、2つめの here には制御は移らないため、レジスタ a の内容は 3 となる。 (define test-machine (make-machine ‘(a) ‘() ‘(start (goto (label here)) here (assign a (const 3)) (goto (label there)) here (as…続きを読む
CSS のプロパティ float を使って2カラムレイアウトのページを作り、そのカラム内でさらに float を使って回り込みを行い clear で float の解除を行うと2カラムレイアウトの float も解除されてしまう。 そこで、display:table; を使い clear を使わずにカラム内の float の効く範囲を限定させて clear を使わずに float の解除と同様の効…続きを読む