建築フォーラム(FARCHI)
建築コミュニティポータル:昔の名前で頑張ってます    
ユーザ名 パスワード
パスワードをお忘れの方新規登録ごあんない   
2010年7月30日(金) 00:57 JST

ファイル管理

メイン : その他 : 
カテゴリ: その他 ファイル提供: daioh_
  Japanized Gnu Awk (jgawk) 2.15.2 + 1.1    回数
Japanized Gnu Awk (jgawk) 2.15.2 + 1.1
Copyright (C) 1989, 1991, 1992, Free Software Foundation.

GNU awk 日本語対応版

● jgawk は、GNU版awk version 2.15 patchlevel 2 を漢字対応にしたものです。

● アーカイブの中身

copying - GNU GENERAL PUBLIC LICENSE
readme.11 - 2.15.2 + 1.0からの変更点
readme.sj - このファイル
changes - 旧版(2.11+3.0)からの主な変更点
jgawk.exe - MS-DOS用実行形式(Soft Float版)
jgawk87i.bdf - IBM PC/AT用80x87版への差分
jgawk87n.bdf - NEC PC9801用80x87版への差分
jgawk - GO32 DosExtender用実行形式
jgawk.dif - ソースの差分

● MS-DOS用の実行形式では、80x87を使用すると例外処理が機種依存となるた
め、80x87をまったく使用しないSoft Float版と特定機種用の80x87を使用
する版とにわかれています。80x87を搭載していない、実行される機器に搭
載されているかどうかわからない、という方はjgawk.exeを使用してくださ
い。80x87またはその互換チップを搭載している、あるいは487DXのように
80x87を内蔵している機器でだけ使用するという方で80x87版を使いたい場
合は、T.TANAKA(psh)氏のbdiffパッケージに含まれるbupdateコマンド
(v1.23以上)を使用し、カレントディレクトリにjgawk.exeを置いて

bupdate jgawk87i.bdf ;jgawk.exe ←IBM PC/AT(及び互換機)用
または
bupdate jgawk87n.bdf ;jgawk.exe ←NEC PC9801(及び互換機)用

として jgawk87i.exe / jgawk87n.exe を作成してこれを使用してください。

80x87版の方は、80x87が搭載されていない環境では動作しませんが、
Soft Float版は80x87の有無に関らず動作します。


● jgawkには、オリジナルのgawkに次のような変更が加えられています。

◎ 正規表現等が漢字などの2バイト文字に対応しています。
正規表現の'.'は2バイト文字であるか1バイト文字であるかによら
ず一文字にマッチしますし、
[ぁ-ん] ←ひらがな
[aAaA] ←アルファベットの“エー”
とほ+ ←“とほ”、“とほほ”、“とほほほほ”、など
のようにマッチすることになります。

2バイト文字のコード体系はオプションによって、

日本語Shift JIS (-Wlang-sjis)
日本語EUC (-Wlang-euc)
韓国語EUC(KS C5601-1987) (-Wlang-kseuc)
中国語(台湾) TCA (-Wlang-tca)

の4種類が指定できます。これらのオプションを指定しなかったとき
のディフォルトはjgawk自身のコンパイル時に決定されており、
MS-DOS版では日本語Shift JISとなっています。
なお、"-Wlang-latin"を指定すると2バイト文字の解釈をしません。

識別子に2バイト文字を使うことはできません。

◎ 組込み関数に以下のものを追加しました。

jindex(s, t)
文字列s中の文字列tの位置を返します.
jindex("ABC", "C");
の値は3となります.

jlength(s)
文字列sの文字数(バイト数ではない)を返します.
jlength("ABC");
の値は3となります.

jsubstr(s, i, n)
文字列sのi番目の文字から始まりn文字からなる部分文字列を返します.
jsubstr("ABC", 3, 1);
は"C"を返します.

◎ MS-DOS版では引数評価に次のような拡張がなされています。

* single quots('')で引数を括ることができます。
jgawk 'BEGIN{print "hello";}'
ただし、>, |, < のようにcommand.comに解釈されてしまうような
文字を使うときはdouble quotsを使ってください。
jgawk '$1 > 100 '
^
とすると、期待した動作をしてくれないばかりか"100"という名前
のファイルを作ってしまいます。

* ワイルドカードにcsh風のglobbingができます。
*.[ch] ... *.c および *.h
jgawk. ... jgawk.man, jgawk.doc, jgawk.tex

◎ MS-DOS版ではsystem()関数に次のような拡張がなされています。

* 戻り値が取得できます。ただし、command.comの内部コマンド
の場合は常に 0 となります。
実行出来なかった場合 255 を返します。

* 出力ハンドルの切り替え。
これは [FD1]>&[FD2] のような構文で、プログラムが
ファイルハンドル FD1 へ出力する内容を FD2 へりダイレクトします。
例えば
system("jgawk 2>&1");
とすると、通常は標準エラー出力(2)へ出力されるjgawkのusageが
標準出力へ出されます。この機構はgetlineへのパイプにも有効で、
"jgawk 2>&1" | getline s;
と書くこともできます。

◎ MS-DOS版では環境変数AWKPATHに列挙するpathの区切りは';'です。
また、AWKPATHがsetされているとき、カレントディレクトリは
見ませんので、
set AWKPATH=/usr/lib/awk;.
のように、(必要なら)AWKPATHに含めるようにしてください。

● ソースプログラム

ソースを再コンパイルするためには、オリジナル(2.15 patchlevel 2)
とLarry Wall氏によるpatchコマンドが必要です。これらとjgawk.dif
とからjgawkのソースを生成してください。

ソースプログラムは、Microsoft C/C++ 7.0 あるいは Microsoft
Visual C++ v1.00、djgccでコンパイル可能です。MS-Cは日本語版で
ある必要はありません。また、awk.yからawktab.cを生成するために
BISONが必要です。jgawk.difにはawktab.cに対する差分は含まれて
いません。

MS-Cに依存すると思われる変更箇所は #ifdef _MSC_VER 等で括られて
います。他のコンパイラを使用されるときはこの部分をチェックしてく
ださい。同じ処理が必要かもしれません(不必要かもしれません)。

添付のMS-C用Makefile(makefile.msc)では、NEC PC9801用80x87版を
作成する際にemoem.asmを使用しています。これは日本語版
MS-C(PC98, DOS/V)に付属しているもので80x87を使用する場合の各
機種依存部を記述したものです。

オリジナルソースに、以下のファイルが追加されています。

kanji.c:
kanji.h:
漢字処理用の雑関数等
xargs.c
MS-DOS用の引数評価ルーチン
xsystem.c:
MS-DOS用のsystem()の代替。戻り値を獲得する等のため。
missing.d/atof.c
MS-Cの仕様が従来のawkの仕様となじまなかったため。
pc/getpid.c
getpid()等
config/msc70
config/djgcc
MS-C/djgcc用のconfiguration file
config_h.msc
config_h.dj
MS-C/djgcc用のconfig.h
makefile.msc
makefile.dj
MS-C/djgcc用のMakefile


● 参考文献

「プログラミング言語AWK」 A.V.Aho, B.W.Kernighan, P.J.Weinberger 著
足立高徳 訳 トッパン ISBN4-8101-8008-5 ¥3,400

「sed&awkプログラミング」 Dale Dougherty 著
福崎俊博 訳 アスキー出版局 ISBN4-7561-0091-0 ¥3,800

「日本語AWKプログラミングテクニック」 佐々木伸介 著
毎日コミュニケーションズ ISBN4-89563-165-6 ¥2,800

「入門JGAWK」 伊藤博康 著
エーアイ出版 ISBN4-87193-171-4 ¥2,800

「JGAWKスクリプト集」 伊藤博康 著
エーアイ出版 ISBN4-87193-229-X ¥3,800

「MS-DOSテキストデータ料理学」 SE編集部
翔泳社 ISBN4-915673-95-2 ¥1,500

「awkでプログラミング」 植村富士夫, 富永浩之 著
オーム社 ISBN4-274-06046-2 ¥2,800

「AWKを256倍使うための本」 志村拓/鷲北賢/西村克信 著
アスキー出版局 ¥1200
----_--__---_-_-_-__--_-__-__---_-_----_--_-_---_---_-----
田中serow良知
mix: serow
ascii-net: pcs19614 (serow)
  バージョン:  2.15.2+1.1  日付:    評価: 0.00   611     261.20 KB  
コメント作成 |  ダウンロード |  全文表示 |  このファイルを評価 |  破損ファイル  | 

| 0 件のコメント | アカウント登録
コメントは投稿者の責任においてなされるものであり,サイト管理者は責任を負いません。