No. 295/622 Index Prev Next
Path: titcca!fgw!flab!ichikawa
From: ichikawa@flab.flab.fujitsu.JUNET (Itaru Ichikawa)
Newsgroups: fj.kanji
Subject: about New NKF - 2
Message-ID: < 3877@flab.flab.fujitsu.JUNET> 
Date: 20 Jul 88 03:21:43 GMT
References: < 3832@flab.flab.fujitsu.JUNET> 
Reply-To: ichikawa@flab.flab.fujitsu.JUNET (Itaru Ichikawa)
Distribution: fj
Organization: Fujitsu Laboratories Ltd., Kawasaki, Japan
Lines: 68

皆さん、数々の有用なコメントありがとうございました。

今の版のNKFは、重くてのろい、というまるで私の体型のような:−)ものです
ので、もうちょっとスリムにしたいというわけなんです。とにかく、今の版のは
コード系確定後の処理があまり速くないのは自覚しています。

そこで、確定後のスピードアップを考えています。(特に入力と出力が同じなら
ば手をぬくというぐわいに)

I wrote:
>  入力のコード系が確定した後、それ以降の入力に確定コード系に反するもの
> があった場合:
> 	1)そのまま通過させる
> 	2)無視する and/or stderrで警告する
> 	3)なんとかまともになるように加工する
> のいずれかがよろしいでしょうか。

これについては、検討の結果、1)のものと3)のものの2タイプを作ろうと思
います(そして、リターンコードで2)については反映します)

つまり、速度快適Aタイプと機能豊富Bタイプに分離する予定です。

例えば、
	いわゆる半角カナコードについては、Aタイプでは発生ないものと考え
	ます。Bタイプでは、入力コード系が推測あるいは指定されていれば、
	可能なかぎり対処しようとします。
	また、Aでは、一度確定すればそのままです。Bでは(optionで)確定
	に矛盾すれば再確定処理をします(だから、そのぶん重くなる)
	Aでは確定すれば、子プロセスとして、実際のフィルタを起動します。
	つまり、Aタイプでは、NKF本体はフィルタへのスイッチャとバッファ的
	な働らきをし、実際に変換するプログラムは、例えばlibにつっこまれて
	いて、それが起動されます。
	そして、Bタイプは、今と類似の関数呼び出しで行います。そして、不確
	定要素が来るたびに、メインループを回るという形になります(不確定要
	素のチェックを毎回おこなうという、めんどくさいものになる)その他、
	Bタイプには、rot13/47がありますが、Aタイプにはありません。......
といったぐわいです。

というわけで、2つのNKFが存在するようになります。(冗談ですがNKF-2-HJ
とNKF-2-HJ/1とでも呼びましょうか:−)

そこでおねがいです。速度快適Aタイプについて:

	以下の仕様についての御意見をおねがいします。

	い)子フィルタプロセスを起動してしまう形でかまわないか?

		これは、プロセスをポコポコ作るのはまずいかどうかです。それに、
		移植性がもうひとつになる危険性もないではない。さてどうでしょ
		うか。問題がなければ、ポコポコ、子プロセスを作ります。

	ろ)入力と出力が同じとみなされれば、無変換であってもいいか?
		これは、いちいち入力をチェックせず、はっきりいって手を抜くた
		めです。Aタイプでは、なるべくなら手を抜いて高速化をねらいた
		いのです。

		さらにこれに関連して、次の事項はいかがでしょうか。

	は)JISのエスケープシーケンスは保存か変換か?
		(ただし、Bタイプではoptionで保存と強制変換どちらも可)

		つまり入力がJISらしく出力がJISである時にも、エスケープ
		シーケンスの変換をするのか?ということです。

そこで、この い)〜は)の点について、御意見をおねがいします。また、2つ
のタイプに分離することについての問題、2つにした時のネーミング、その他の
提案、等、皆様の御意見もお待ちしています。
−−−(い)
Next
Continue < 159@qmfl.qmflp.JUNET>