diff options
Diffstat (limited to 'src-worddic/dic_main.h')
-rw-r--r-- | src-worddic/dic_main.h | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/src-worddic/dic_main.h b/src-worddic/dic_main.h new file mode 100644 index 0000000..a497ed8 --- /dev/null +++ b/src-worddic/dic_main.h @@ -0,0 +1,93 @@ +#ifndef _dic_main_h_included_ +#define _dic_main_h_included_ + +#include <anthy/dic.h> +#include <anthy/word_dic.h> +#include <anthy/wtype.h> +#include <anthy/xstr.h> + + +/* 辞書中の頻度に対して内部の頻度の倍率 */ +#define FREQ_RATIO 8 + + +/* dic_main.c */ +int anthy_init_dic_cache(void); +struct seq_ent *anthy_cache_get_seq_ent(xstr *x, int is_reverse); + + +/* word_dic.c */ +/* 辞書検索のキーに使用する部分文字列 */ +struct gang_elm { + char *key; + xstr xs; + union { + /* 省メモリのためにunionにしている */ + int idx; + struct gang_elm *next; + } tmp; +}; +struct seq_ent *anthy_cache_get_seq_ent(xstr *xs, int is_reverse); +struct seq_ent *anthy_validate_seq_ent(struct seq_ent *seq, xstr *xs, + int is_reverse); + + +/* word_lookup.c */ +void anthy_init_word_dic(void); +struct word_dic* anthy_create_word_dic(void); +void anthy_release_word_dic(struct word_dic *); +void anthy_gang_fill_seq_ent(struct word_dic *wd, + struct gang_elm **array, int nr, + int is_reverse); + + +/* use_dic.c */ +void anthy_init_use_dic(void); +void anthy_quit_use_dic(void); +int anthy_word_dic_check_word_relation(struct word_dic *, + int from, int to); + +struct dic_session *anthy_create_session(void); +void anthy_activate_session(struct dic_session *); +void anthy_release_session(struct dic_session *); +int anthy_get_current_session_mask(void); + +/* mem_dic.c */ +void anthy_init_mem_dic(void); +void anthy_quit_mem_dic(void); +struct mem_dic * anthy_create_mem_dic(void); +void anthy_release_mem_dic(struct mem_dic * ); +/* node がなければ作る */ +struct seq_ent *anthy_mem_dic_alloc_seq_ent_by_xstr(struct mem_dic * d, + xstr *, int is_reverse); +/* node がなければ作らない */ +struct seq_ent *anthy_mem_dic_find_seq_ent_by_xstr(struct mem_dic * d, + xstr *, int is_reverse); +/**/ +void anthy_mem_dic_push_back_dic_ent(struct seq_ent *se, int is_compound, + xstr *xs, wtype_t wt, + const char *wt_name, int freq, + int feature); +void anthy_mem_dic_release_seq_ent(struct mem_dic * d, xstr *, int is_reverse); + + +/* priv_dic.c */ +void anthy_init_private_dic(const char *id); +void anthy_copy_words_from_private_dic(struct seq_ent *seq, xstr *xs, + int is_reverse); +void anthy_release_private_dic(void); +void anthy_check_user_dir(void); +void anthy_priv_dic_lock(void); +void anthy_priv_dic_unlock(void); +void anthy_priv_dic_update(void); +struct word_line { + char wt[10]; + int freq; + const char *word; +}; +int anthy_parse_word_line(const char *line, struct word_line *res); +struct textdict; +void anthy_ask_scan(void (*request_scan)(struct textdict *, void *), + void *arg); + +#endif |