38 lines
1.8 KiB
Text
Executable file
38 lines
1.8 KiB
Text
Executable file
a small AWK clone
|
|
|
|
このプログラムは、Minix 1.2 用に書いたものです。浮動小数点演算を使い
|
|
ますから、Minix 1.5 以前の ACK-C ではコンパイルできません。そのため makefile
|
|
では、Peter S. Houselさんの浮動小数点パッケージを使うようになっています。
|
|
CFLAGS の -f が、その指示です。この浮動小数点パッケージは、非常によくできて
|
|
いますが、atan(x, y) の引き数の順序が逆になっていますので、修正しておいてく
|
|
ださい。他にも何かあったような記憶がありますが、忘れてしまいました。もし、何
|
|
か問題があるようでしたら、ご連絡いただければ、私が自分で使っているものを公表
|
|
するようにします。
|
|
|
|
このプログラムは、Shift-JIS の漢字コードを扱うようになっています。
|
|
|
|
EUC に対応させる場合は、正規表現の扱い等、漢字コードに関係する部分の書換が必
|
|
要ですが、大した手間ではありません。どなたか変更された場合は、パッチを用意し
|
|
ていただけると嬉しいです。
|
|
|
|
当初は、昔の awk の仕様になっていましたが、「AWK Programming Language」
|
|
が出版され、POSIX 1003.2 の draft でも nawk 仕様が採用されたのを機会に、nawk
|
|
の仕様に書き換えました。オリジナルの awk と違って、parser も lexical analizer
|
|
も hand maid ですから、64K+64K のメモリに収まっています。
|
|
|
|
本来は、Minix らしい、教材的なプログラムにすべきですし、そうしたかっ
|
|
たのですが、もともと、自分たちが使うために、メモもとらずにスクリーンを見なが
|
|
ら書いてしまったため、きれいなコーディングになっていません。しかし、64K+64K
|
|
のメモリで使える awk が他にありませんので、とりあえず現行の状態で公開しておく
|
|
ことにしました。
|
|
|
|
プログラムそのものは、正規表現の評価順序に依存するものを除いて、「AWK
|
|
Programming Language」に掲載されているテストプログラムに通ることを確認してあ
|
|
ります。
|
|
|
|
|
|
32-bit Minix の場合は、AT&T オジナルの awk とか gawk, mawk といった
|
|
プログラムが使えますが、浮動小数点をサポートした、c386 でこのプログラムをコ
|
|
ンパイルすることもできます。
|
|
|
|
平林 浩一 (kh@hiraide.mogami-wire.co.jp) 1995-01-29
|