Namazu-devel-ja(旧)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: libsgmt (Re: pluggable splitter)
Satoru Takabayashi <satoru-t@xxxxxxxxxxxxxxxxxx> wrote:
>「わかち書きすること」は英語では "word segmentation" と呼ぶ
>ようなので、 ライブラリ名は libsgmt にしました。
>
> % cvs -d :pserver:guest@xxxxxxxxxxxxxx:/storage/cvsroot co libsgmt
>
>で入手できます。ソースコードは割ときれいに書けていると思いま
>す。一度、目を通してもらえると助かります。
popen で外部コマンドを呼び出すモジュールを追加しました。
% echo '日本語情報処理' | ./sgmt -p "kakasi -w" -s/
日本語/情報処理
% echo '日本語情報処理' | ./sgmt -p "chasen -j -F '%m '" -s/
日本/語/情報処理
モジュールは簡単に追加できます。割とまともな設計かな?
% ls mod-*.[ch]
mod-chasen.c mod-kakasi.c mod-normal.c mod-pipe.c
mod-chasen.h mod-kakasi.h mod-normal.h mod-pipe.h
なお、libkakasi.so, libchasen.so が存在しない環境でも
libsgmt は make できます。libsgmt は実行時に libkakasi.so,
libchasen.so を探して、必要に応じてロードします。
Windows の DLL は対応できるかな? 駄目な場合は popen で我慢す
るしかないのだけど。調べてもらえます? > 安部さん
>内部で dlopen を使っているので、 libchasen.so がないと困りま
>す。libchasen.so を作るように ChaSen開発者に頼んでみます。
>
># 頼むと「お前がやれ」と言われそうでこわいな
案の定、僕がやることになりました。1日あればできるかなあ。
-- Satoru Takabayashi