word.h
2.72 KB
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
/* File: word.h
Desc: Definition of the word struct
*/
typedef struct WORD_STRUCT{
int use; /* number of times this structure */
/* is pointed to */
TEXT *value; /* the word text */
TEXT *intern_value; /* the word text, for internal compares */
int value_id; /* Dictionary index to word */
TEXT *tag1; /* Optional tag associated with the word */
TEXT *tag2; /* Optional tag associated with the word */
int opt_del; /* boolean flag to identify
optionally deletable words */
int frag_corr; /* boolean flag to identify the word as a
fragment on correct if compared to its
substring */
double conf; /* Opt. confidence value for the word */
double T1, /* beginning word time */
T2, /* ending word time */
T_dur; /* word duration time (T2 - T1) */
double weight; /* The Weight assigned to a word from a WWL list */
} WORD;
#define NULL_WORD (WORD *)0
#define WORD_OPT_DEL_PRE_STR "("
#define WORD_OPT_DEL_PRE_CHAR '('
#define WORD_OPT_DEL_POST_STR ")"
#define WORD_OPT_DEL_POST_CHAR ')'
#define WORD_FRAG_STR "-"
#define WORD_FRAG_CHAR '-'
#define WORD_SGML_SUB_WORD_SEP_STR ";"
#define WORD_SGML_SUB_WORD_SEP_CHR ';'
#define WORD_SGML_ESCAPE '\\'
/* Functions defined in word.c */
float wwd_WORD(void *p1, void *p2, int (*cmp)(void *, void *));
float wwd_time_WORD(void *p1, void *p2, int (*cmp)(void *, void *));
float wwd_weight_WORD(void *p1, void *p2, int (*cmp)(void *p1, void *p2));
float wwd_WORD_rover(void *p1, void *p2, int (*cmp)(void *p1, void *p2));
WORD *get_WORD(void);
WORD *new_WORD_parseText(TEXT *t, int id, double t1, double t2, double conf, int fcorr, int odel, double weight);
WORD *new_WORD(TEXT *t, int id, double t1, double t2, double conf, TEXT *tag1, TEXT *tag2, int frag, int opt_del, double weight);
void release_WORD(void *p);
void *copy_WORD(void *p);
void *copy_WORD_via_use_count(void *p);
void *make_empty_WORD(void *p);
void print_WORD(void *p);
void print_WORD_wt(void *p);
void print_2_WORD_wt(void *p, void *p2, FILE *fp);
int equal_WORD2(void *tw1, void *tw2);
#ifdef old
int equal_WORD(void *tw1, void *tw2);
int equal_WORD_wfrag(void *p1, void *p2);
#endif
void *append_WORD(void *w1, void *w2);
void *append_WORD_no_NULL(void *w1, void *w2);
int null_alt_WORD(void *p);
int opt_del_WORD(void *p);
int use_count_WORD(void *p, int n);
void set_WORD_tag1(WORD *w, TEXT *t);
void sgml_dump_WORD(WORD *w, FILE *fp);