awkのメモを作成。
ついでに、UNIXコマンド一覧の「ファイル内容関連」を、ファイル内容の表示関連と編集関連に分割。awkは編集関連ね。
…編集と表示って、意外と区別が付けづらいなー…。
awk。大学時代に、情報工学科のyaccとlexの実習としてawkのインタープリターをC言語で作ったなぁ。(だから四則演算クラスなんてものも、あまり違和感無く作れた)
しかしその割に、awkの文法の細かい所は結構忘れてしまった(苦笑) まぁ使ってないと忘れるよなー。「BEGIN」を見て、そんなものがあったなー!!と懐かしかった(爆)
awkの文法や関数はC言語に似てるんだけど、printfはC言語より柔軟なので、実装するのは意外と面倒だったり。なにせ変数は数値でも文字列でも扱えるので、%dや%s等の書式を、C言語のvsprintfなんかにそのまま渡すわけにはいかない。結局自分で書式を解釈してやらないといけないんだよねー。
ついでに「\n」もC言語ではプリプロセッサーが解釈するから、awkインタープリターでは自作しないといけない。
おお、そういえば、あの頃はローカル変数の宣言に「auto」を付けてたなぁ。
「static」「extern」「auto」のそれぞれの直後にタブを入れると、タブが8桁なら、変数名の桁がぴったり並ぶので綺麗かと。そうなるとregisterはちょっと長いので、#defineしてみたり。
つーか、今どきregister宣言なんか使わねー(爆)
※コメント投稿者のブログIDはブログ作成者のみに通知されます