programming
SICPの日記をこちらのSICPグループのページに移動しました。dorayakitaroのSICP日記 - sicp
「Lisp脳」の謎に迫る - Schemeプログラマの発想 『「Lisp脳」の謎に迫る』の舞台裏 lisp脳になりたい Lisp脳でやってみよう -- Schemeプログラマの発想をJavaでやるとどんなことになっちゃうのか SICPを解いていて感じたことは、 問題の再帰的な構造に着目…
gaucheのユーザリファレンスに、gaucheで書いた簡単なgrepの実装が載っているので、これを参考にしてgaucheの勉強をしてみたいと思います。今回学べそうなことは次の様なことです。 C言語のprintfのようなformat手続きの簡単な使い方 ファイルの扱い方 文字…
catコマンドで各行を出力する「-n」オプションをgaucheで実装するためには、一行ずつファイルを読み込まなければなりません。では、逆に今まではどのようにファイルを読み込んでいたかというと、 (copy-port in (current-output-port))))) という記述の中の…
コマンド解析についてのソースを探ってた時に、 (define (main args) (let1 predef-syms '() (let-args (cdr args) ((#f "D=s" => (lambda (sym) (push! predef-syms sym))) (else _ (usage)) . args) (match args ((file) (do-it file predef-syms)) (_ (us…
コマンドにおけるオプションとは コマンドにおけるオプションとは、ある実行させたいコマンドに、細かな指示を与えるものです。たとえばcatコマンドなら cat -n filenameとすることによって、各行の先頭に行数を表示することができます。 オプションの解析 …
プログラムを勉強する時に、Linuxのコマンドなどのよく使われるプログラムを見たいことがよくあります。しかし、「ソースファイルどこにあるんだよ!!」ってことがありました。そこで私が調べて使っている方法を紹介します。 Webサービスを使ってゲットする…
この章での前半はIPL(ブートローダ)を実装する。後半はブートローダから読み込んだ、C言語で書かれたOS本体を実行できるようにする。 この章で注意するべきことは、16進数で書かれているのが、メモリの番地かディスクの番地を区別することだと思う。読ん…
2日目分にやったことをメモ。 アセンブラnask、ディスクイメージ作成ツールはサポートページのLinux版を使用。 Makefile書き換え。 makeはDebianでインストールしたものを使用。 エミュレータqemu上での実行を念頭においてるので、Installターゲットの廃止。…