2 * $Id: chalib.h,v 1.1.1.1 2007/03/13 07:40:10 masayu-a Exp $
11 #if defined _WIN32 && ! defined __CYGWIN__
12 #define strcasecmp stricmp
13 #define strncasecmp strnicmp
16 #define CHA_PATH_NUM 1024
17 #define CHA_INPUT_SIZE 8192
18 #define UNDEF_HINSI_MAX 256
19 #define DIC_NUM 32 /* Ʊ»þ¤Ë»È¤¨¤ë¼½ñ¤Î¿ô¤Î¾å¸Â (ChaSen) */
28 typedef struct _mrph_t {
29 /* don't move this order */
31 unsigned char inf_type;
32 unsigned char inf_form;
33 unsigned short weight;
43 typedef struct _mrph_data_t {
55 typedef struct _path_t {
66 typedef struct _cha_lat_t {
67 unsigned char text[CHA_INPUT_SIZE]; /* XXX */
77 int path_idx[PATH1_NUM];
87 typedef struct _cha_seg_t cha_seg_t;
91 char char_type[CHA_INPUT_SIZE]; /* XXX */
92 enum cha_segtype type;
95 unsigned char inf_type;
96 unsigned char inf_form;
100 /* information for annotation */
101 typedef struct _anno_info {
108 /* information for unseen word */
109 typedef struct _undef_info {
115 typedef struct _cha_mmap_t cha_mmap_t;
116 typedef struct _cha_block_t cha_block_t;
121 extern cha_block_t *Cha_mrph_block;
122 extern path_t *Cha_path;
123 extern int Cha_path_num;
124 extern int Cha_con_cost_weight, Cha_con_cost_undef;
125 extern int Cha_mrph_cost_weight, Cha_cost_width;
126 extern int Space_pos_hinsi;
127 extern anno_info Cha_anno_info[UNDEF_HINSI_MAX];
128 extern undef_info Cha_undef_info[UNDEF_HINSI_MAX];
129 extern int Cha_undef_info_num;
130 extern char *Cha_bos_string;
131 extern char *Cha_eos_string;
132 extern int Cha_output_iscompound;
139 void cha_read_rcfile_fp(FILE*);
143 char *cha_get_output(void);
144 void cha_set_output(FILE*);
145 void cha_print_reset(void);
146 void cha_printf_mrph(cha_lat_t*, int, mrph_data_t*, char*);
147 void cha_print_path(cha_lat_t*, int, int, char*);
148 void cha_print_bos_eos(int);
149 void cha_print_hinsi_table(void);
150 void cha_print_ctype_table(void);
151 void cha_print_cform_table(void);
154 int cha_parse_bos(cha_lat_t*);
155 int cha_parse_eos(cha_lat_t*);
156 int cha_parse_segment(cha_lat_t*, cha_seg_t*);
160 void cha_version(FILE*);
161 void cha_set_opt_form(char*);
162 void cha_set_cost_width(int);
163 void cha_set_language(char*);
164 char *cha_fgets(char*, int, FILE*);
165 void cha_read_dadic(chasen_cell_t*);
168 void cha_set_jfgets_delimiter(char*);
169 char *cha_fget_line(char*, int, FILE*);
170 char *cha_jfgets(char*, int, FILE*);
171 int cha_jistoeuc(unsigned char*, unsigned char*);
174 cha_mmap_t *cha_mmap_file(char*);
175 cha_mmap_t *cha_mmap_file_w(char*);
176 void cha_munmap_file(cha_mmap_t*);
177 void *cha_mmap_map(cha_mmap_t*);
178 off_t cha_mmap_size(cha_mmap_t*);
181 cha_block_t *cha_block_new(size_t, int);
182 void cha_block_delete(cha_block_t*);
183 void *cha_block_new_item(cha_block_t*);
184 void *cha_block_get_item(cha_block_t*, int);
185 void *cha_block_pop(cha_block_t*);
186 int cha_block_num(cha_block_t*);
187 void cha_block_clear(cha_block_t*);
189 #endif /* __CHALIB_H__ */