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