forked from Stichting-MINIX-Research-Foundation/minix
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathNOTE
More file actions
executable file
·38 lines (29 loc) · 1.77 KB
/
Copy pathNOTE
File metadata and controls
executable file
·38 lines (29 loc) · 1.77 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
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