[Anthy-dev 2549] wtype.h and wtype.cメモ

Back to archive index

NIIBE Yutaka gniib****@fsij*****
2005年 10月 15日 (土) 16:59:22 JST


wtype.h と wtype.c のメモです。

On Sat, 15 Oct 2005 16:16:04 +0900
	NIIBE Yutaka <gniib****@m17n*****> wrote:
 > ここまでやっておくと、wtype_t の実装(今はビットに encode している) を
 > ハンドルがあってアクセサがテーブルを引くというのに変更できます。
 > 
 > 言いたかったのは、ビットに encode しているという実装を「使う側」も
 > 知っているというインタフェースってどうですかってことです。

知らないように隠せると嬉しい、という意味です。

以下、呼んでいてわかったことや、変更して作った関数の説明。
-----------------
* 名前のテーブルへアクセス

const char *anthy_type_to_wtype(const char *name, wtype_t *w);

anthy_type_to_wtype は、「辞書ファイル中の名前」(#KJ とか #T とか 
wtab.h がテーブル)から、品詞 (wtype_t)および「辞書ファイル中の名前」の
固定の文字列を得るルーチン。「辞書ファイル中の名前」は anthy が定義す
るものではなく、辞書を作る人が決める(た)もの。名前から品詞は決まるが、
異なる名前でもanthy としては同一の品詞にマップされることもありうる(品
詞から名前は一意ではない)。

int anthy_init_wtype_by_name(const char *str, wtype_t *w);

anthy_init_wtype_by_name は anthy の定義する品詞の名前から、品詞
(wtype_t)を得る。品詞は ptab.h がテーブルだが、これは名前から品詞(6次
元の数値データ)へのテーブルであり、目的は名前から品詞を得ることで重複
があるやもしれない。また、実行時にはこのテーブルにない品詞が生成されて
使われることもある。ptab.h は名前がつけられた固定の品詞が列挙されてい
るテーブルということ。


* 品詞の空間の演算について

wtype_t anthy_get_wtype(int pos, int cos, int scos, int cc, int ct, int wf);
6 次元のデータから品詞を得る。

wtype_t anthy_get_wtype_with_ct(wtype_t base, int ct);
BASE の品詞から CT(活用形)を変えた品詞を得る。

int anthy_wtype_get_pos(wtype_t w);
int anthy_wtype_get_cc(wtype_t w);
int anthy_wtype_get_ct(wtype_t w);
int anthy_wtype_get_cos(wtype_t w);
int anthy_wtype_get_scos(wtype_t w);
int anthy_wtype_get_wf(wtype_t w);
品詞から 6 次元のデータへのアクセサ。
-- 



Anthy-dev メーリングリストの案内
Back to archive index