月別: 2010年2月

演習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…続きを読む

zencodingcss.vim ver 0.2 (Vim Script)

CSS を Zen Coding 風に簡単入力できる Vim プラグイン zencodingcss.vim にラベル付きプレースホルダ機能を追加しました。 一括指定をする値の内容について記述するなどできます。 <c-n> キーを押すとプレースホルダに移動し入力をおこなえます。 設定例 if !exists(‘g:zencodingcssUserDict’) let g:zencodin…続きを読む

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

演習5-20 関数引数型を扱うために tokentype の値に FUNCARGS を追加する。"(" の後に "*" と ")" 以外の文字が続くと tokentype を FUNCARGS にする。 引数の中身については手抜きする。 const などの修飾子については、main 関数内でループ内で最初に修飾子のチェックを行う。 #in…続きを読む

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

演習5-19 type が * の場合は pre_type に * を保存してから次のループに移る。 pre_type が * かつ type が PARENS か BRACKETS の場合には、それまでの出力文字列 out をカッコでくくる。 #include <stdio.h> #include <string.h> #include <ctype.h> #…続きを読む