演習6-5 K&R プログラミング言語C

演習6-5 削除する名前と定義を見つけてテーブル(連結リスト)のリンクを繋ぎ直して、名前と定義と nlist をメモリから解放する。 見つかった場所がテーブルの先頭であれば、テーブルの先頭を次の項目を指すように変更する。 #include <stdio.h> #include <stdlib.h> #include <string.h> #define HASH…続きを読む

演習6-4 K&R プログラミング言語C

演習6-4 単語の発生頻度順に単語リストを保存するツリーを作成する構造体 freq を定義する。 tnode から freq へデータをコピーして freq を印字する。 #include <stdio.h> #include <stdlib.h> #include <ctype.h> #include <string.h> #define MAXW…続きを読む

演習6-3 K&R プログラミング言語C

演習6-3 行番号のリストを構造体 lines として定義した。 tnode に行番号リストへのポインタを追加する。 ただ、lines 中の pword を使ってないので、相互参照になっていないような・・・。 #include <stdio.h> #include <stdlib.h> #include <ctype.h> #include <string…続きを読む

演習6-2 K&R プログラミング言語C

演習6-2 グループの情報をリストにして保持する。 リストの各要素は、グループ名、グループに属する tnode へのポインタの配列、グループに属する tnode の数、次のノードへのポインタで構成される。 始めに tnode によるツリーを作成し、そのツリーからグループリストを生成する。 グループリストの先頭ノードは印字の際のアクセスに利用するダミーノードとなっている。 コメントや文字列中の単語の…続きを読む

Apache2, passenger, で Rails をサブディレクトリでアクセスできるようにする (Mac OSX Snow Leopard and Ubuntu 9.10)

Head First Rails を読んで Rails アプリを作る際に、サーバに WEBrick ではなく、既に稼動済みの Apache2 を利用し、複数のプロジェクトを Apache2 サーバを使って動作させるため Rails アプリをサブディレクトリでアクセスできるようにするために行なった設定のメモ。 (※passenger の設定等についてはこちら、『Ubuntu 9.10 (Karmic…続きを読む

演習6-1 K&R プログラミング言語C

演習6-1 コメント、文字列リテラル内を無視するために skip_char 関数を定義して処理する。 現在の状態をセットして、コメント、文字列リテラル内では文字の取得をスキップする。 #include <stdio.h> #include <ctype.h> #include <string.h> #define MAXWORD 100 #define BUFS…続きを読む