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>