File: README

package info (click to toggle)
skksearch 0.0-26
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, sid, trixie
  • size: 228 kB
  • sloc: ansic: 1,079; makefile: 23; sh: 18
file content (72 lines) | stat: -rw-r--r-- 2,564 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
skksearch の README

* 使いかた

  o 適当に inetd.conf を設定してください.

      skksearch db:/foo/SKK-JISYO.L.db plain:/bar/SOME-JISYO

  のように, 引数に `辞書タイプ:辞書のパス' を与えて起動します.
  次のオプションが使用できます.

      -s                … syslog を使う
      -f <ログファイル> … エラーメッセージをファイルに吐く
      -l <ログレベル>   … -f と併用.  -1 〜 7 の値が使えます.

  o 利用できる辞書のタイプは以下のとおりです.

        db: Berkeley DB 2.x
       cdb: CDB に変換した辞書
     plain: SKK-JISYO.L などと同じプレインテキストの辞書
     dummy: デバッグ用のダミーの辞書

* 動作環境

  o cdb を使うときは CDB が必要です.

  o db  を使うときは Berkeley DB 2.x の最近のバージョンが必要です.

  o 次の環境でコンパイルできることと動作することを確認しました.
  適当に Makefile と config.h を変更してコンパイルしてください.

  - Solaris 2.6/x86                gcc-2.8.1
  - SunOS 4.1.4-JL                 gcc-2.7.2.3
  - FreeBSD 2.2.8-STABLE #0        gcc-2.7.2.1
  - Slackware 3.5 (Kernel 2.2.3)   egcs-1.1.1
  - Solaris 2.6/SPARC   

* 辞書のフォーマットについて

  o db, cdb の辞書はプレインテキスト形式の辞書の行を空白文字の前後で
    分割し, キーとデータとしてつっこんだものです. たとえば,

        filer /ファイラー/ファイラ/

    というエントリは, "filer" をキーとし, "/ファイラー/ファイラ/"
    をデータとするエントリになります. データの最後に改行がはいって
    もたぶんちゃんと動きます.

* ベンチマーク

     Solaris 2.6/x86 が稼働している PentiumII 400MHz の計算機で
   SKK-JISYO.L を変換して作った辞書ファイルを用いて, SKK-JISYO.L
   の全ての見出し語を変換した結果

     plain: 18.71s user 87.92s system 98% cpu 1:48.04 total
     db:    11.20s user 12.37s system 97% cpu   24.253 total
     cdb:    2.42s user  6.99s system 87% cpu   10.767 total

   プレインテキストの2分探索のインプリメントのまずさが光ります (^^;

* 今後の課題

  o tcpserver 対応
  o ndbm, gdbm, PostgreSQL 対応
  o autoconf の利用
  o Pthreads あそび
  などなど

* おまけ

   適当に skk-server.el を変更すると Emacs から直接 skksearch
 コマンドを叩けます.