Main Page | Modules | Data Structures | Directories | File List | Data Fields | Globals | Related Pages

dfa.h File Reference

Definitions for DFA grammar and category-pair information. More...

#include <sent/stddefs.h>
#include <sent/vocabulary.h>
#include <sent/htk_hmm.h>

Include dependency graph for dfa.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Defines

#define DFA_STATESTEP   1000
 Allocation step of DFA state.
#define INITIAL_S   0x10000000
 Status flag mask specifying an initial state.
#define ACCEPT_S   0x00000001
 Status flag mask specifying an accept state.

Typedefs

typedef _dfa_arc DFA_ARC
 Transition arc of DFA.

Functions

DFA_INFOdfa_info_new ()
void dfa_info_free (DFA_INFO *dfa)
void dfa_state_init (DFA_INFO *dinfo)
void dfa_state_expand (DFA_INFO *dinfo, int needed)
boolean rddfa (FILE *fp, DFA_INFO *dinfo)
boolean rddfa_fd (int fd, DFA_INFO *dinfo)
boolean rddfa_sd (int sd, DFA_INFO *dinfo)
boolean rddfa_line (char *line, DFA_INFO *dinfo, int *state_max, int *arc_num, int *terminal_max)
void dfa_append (DFA_INFO *dst, DFA_INFO *src, int soffset, int coffset)
void init_dfa (DFA_INFO *dinfo, char *filename)
WORD_ID dfa_symbol_lookup (DFA_INFO *dinfo, char *terminalname)
void extract_cpair (DFA_INFO *dinfo)
void cpair_append (DFA_INFO *dst, DFA_INFO *src, int coffset)
void print_dfa_info (DFA_INFO *dinfo)
void print_dfa_cp (DFA_INFO *dinfo)
boolean dfa_cp (DFA_INFO *dfa, int i, int j)
boolean dfa_cp_begin (DFA_INFO *dfa, int i)
boolean dfa_cp_end (DFA_INFO *dfa, int i)
void set_dfa_cp (DFA_INFO *dfa, int i, int j, boolean value)
void set_dfa_cp_begin (DFA_INFO *dfa, int i, boolean value)
void set_dfa_cp_end (DFA_INFO *dfa, int i, boolean value)
void init_dfa_cp (DFA_INFO *dfa)
void malloc_dfa_cp (DFA_INFO *dfa, int term_num)
void realloc_dfa_cp (DFA_INFO *dfa, int old_term_num, int new_term_num)
void free_dfa_cp (DFA_INFO *dfa)
void make_dfa_voca_ref (DFA_INFO *dinfo, WORD_INFO *winfo)
void make_terminfo (TERM_INFO *tinfo, DFA_INFO *dinfo, WORD_INFO *winfo)
void terminfo_append (TERM_INFO *dst, TERM_INFO *src, int coffset, int woffset)
void dfa_find_pause_word (DFA_INFO *dfa, WORD_INFO *winfo, HTK_HMM_INFO *hmminfo)
void dfa_pause_word_append (DFA_INFO *dst, DFA_INFO *src, int coffset)


Detailed Description

Definitions for DFA grammar and category-pair information.

Author:
Akinobu LEE
Date:
Thu Feb 10 18:21:27 2005
This file includes definitions for a finite state grammar called DFA.

DFA is a deterministic finite state automaton describing grammartical constraint, using the category number of each dictionary word as an input. It also holds lists of words belonging for each categories.

Additionaly, the category-pair information will be generated from the given DFA by extracting allowed connections between categories. It will be used as a degenerated constraint of word connection at the 1st pass.

Revision
1.1.1.1

Definition in file dfa.h.


Function Documentation

DFA_INFO* dfa_info_new  ) 
 

Allocate a new grammar information data structure and initialize it.

Returns:
pointer to the newly allocated DFA_INFO.

Definition at line 33 of file dfa_malloc.c.

void dfa_info_free DFA_INFO dfa  ) 
 

Free all informations in the DFA_INFO.

Parameters:
dfa [i/o] grammar information data to be freed.

Definition at line 54 of file dfa_malloc.c.

void dfa_state_init DFA_INFO dinfo  ) 
 

Initialize and allocate DFA state information list in the grammar.

Parameters:
dinfo [i/o] DFA grammar

Definition at line 35 of file rddfa.c.

Referenced by rddfa(), rddfa_fd(), and rddfa_sd().

void dfa_state_expand DFA_INFO dinfo,
int  needed
 

Expand the state information list to the required length.

Parameters:
dinfo [i/o] DFA grammar
needed [in] required new length

Definition at line 56 of file rddfa.c.

Referenced by dfa_append(), and rddfa_line().

boolean rddfa FILE *  fp,
DFA_INFO dinfo
 

Top loop function to read DFA grammar via file pointer

Parameters:
fp [in] file pointer that points to the DFA grammar data
dinfo [out] the read data will be stored in this DFA grammar structure
Returns:
TRUE on success, FALSE on failure.

Definition at line 79 of file rddfa.c.

Referenced by init_dfa().

boolean rddfa_fd int  fd,
DFA_INFO dinfo
 

Top loop function to read DFA grammar via file descriptor

Parameters:
fd [in] file descriptor that points to the DFA grammar data
dinfo [out] the read data will be stored in this DFA grammar structure
Returns:
TRUE on success, FALSE on failure.

Definition at line 109 of file rddfa.c.

boolean rddfa_sd int  sd,
DFA_INFO dinfo
 

Top loop function to read DFA grammar via socket descriptor

Parameters:
sd [in] socket descriptor that points to the DFA grammar data
dinfo [out] the read data will be stored in this DFA grammar structure
Returns:
TRUE on success, FALSE on failure.

Definition at line 139 of file rddfa.c.

boolean rddfa_line char *  line,
DFA_INFO dinfo,
int *  state_max,
int *  arc_num,
int *  terminal_max
 

Parse the input line and set grammar information, one by line.

Parameters:
line [in] text buffer that holds a line of DFA file
dinfo [i/o] the read data will be appended to this DFA data
state_max [i/o] maximum number of state id appeared, will be updated
arc_num [i/o] number of read arcs, will be updated
terminal_max [i/o] maximum number of state id appended, will be updated
Returns:
TRUE if the line was successfully parsed, FALSE if failed.

Definition at line 172 of file rddfa.c.

Referenced by rddfa(), rddfa_fd(), and rddfa_sd().

void dfa_append DFA_INFO dst,
DFA_INFO src,
int  soffset,
int  coffset
 

Append the DFA state information to other

Parameters:
dst [i/o] DFA grammar
src [i/o] DFA grammar to be appended to dst
soffset [in] offset state number in dst where the new state should be stored
coffset [in] category id offset in dst where the new data should be stored

Definition at line 230 of file rddfa.c.

void init_dfa DFA_INFO dinfo,
char *  filename
 

Read in a grammar file and set to DFA grammar structure

Parameters:
dinfo [i/o] a blank DFA data
filename [in] DFA grammar file name

Definition at line 45 of file init_dfa.c.

WORD_ID dfa_symbol_lookup DFA_INFO dinfo,
char *  terminalname
 

Return category id corresponding to the given terminal name. Actually they are mere strings of ID itself.

Parameters:
dinfo [in] DFA grammar information
terminalname [in] name string
Returns:
the category id.

Definition at line 44 of file dfa_lookup.c.

Referenced by make_dfa_voca_ref().

void extract_cpair DFA_INFO dinfo  ) 
 

Extract category-pair constraint from DFA grammar and newly set the category pair matrix of the give DFA.

Parameters:
dinfo [i/o] DFA grammar, in which the category-pair matrix will be created.

Definition at line 60 of file mkcpair.c.

void cpair_append DFA_INFO dst,
DFA_INFO src,
int  coffset
 

Append the category pair matrix at the last.

Parameters:
dst [i/o] DFA grammar
src [in] DFA grammar to be appended to dst
coffset [in] category id in dst where the new data should be stored

Definition at line 113 of file mkcpair.c.

void print_dfa_info DFA_INFO dinfo  ) 
 

Output overall grammar information to stdout.

Parameters:
dinfo [in] DFA grammar

Definition at line 33 of file dfa_util.c.

Referenced by print_info().

void print_dfa_cp DFA_INFO dinfo  ) 
 

Output the category-pair matrix in text format to stdout

Parameters:
dinfo [in] DFA grammar that holds category pair matrix

Definition at line 48 of file dfa_util.c.

Referenced by print_info().

boolean dfa_cp DFA_INFO dfa,
int  i,
int  j
 

Return whether the given two category can be connected or not.

Parameters:
dfa [in] DFA grammar holding category pair matrix
i [in] category id of left word
j [in] category id of right word
Returns:
TRUE if connection is allowed by the grammar, FALSE if prohibited.

Definition at line 48 of file cpair.c.

Referenced by cpair_append(), get_back_trellis_proceed(), and print_dfa_cp().

boolean dfa_cp_begin DFA_INFO dfa,
int  i
 

Return whether the category can be appear at the beginning of sentence.

Parameters:
dfa [in] DFA grammar holding category pair matrix
i [in] category id of the word
Returns:
TRUE if it can appear at the beginning of sentence, FALSE if not.

Definition at line 63 of file cpair.c.

Referenced by cpair_append(), init_nodescore(), and print_dfa_cp().

boolean dfa_cp_end DFA_INFO dfa,
int  i
 

Return whether the category can be appear at the end of sentence.

Parameters:
dfa [in] DFA grammar holding category pair matrix
i [in] category id of the word
Returns:
TRUE if it can appear at the end of sentence, FALSE if not.

Definition at line 78 of file cpair.c.

Referenced by cpair_append(), and print_dfa_cp().

void set_dfa_cp DFA_INFO dfa,
int  i,
int  j,
boolean  value
 

Set the category-pair matrix bit

Parameters:
dfa [out] DFA grammar holding category pair matrix
i [in] category id of left word
j [in] category id of right word
value TRUE if connection allowed, FALSE if connection prohibited.

Definition at line 93 of file cpair.c.

Referenced by cpair_append(), extract_cpair(), malloc_dfa_cp(), and realloc_dfa_cp().

void set_dfa_cp_begin DFA_INFO dfa,
int  i,
boolean  value
 

Set the category-pair matrix bit at the beginning of sentence

Parameters:
dfa [out] DFA grammar holding category pair matrix
i [in] category id of the word
value TRUE if the category can appear at the beginning of sentence, FALSE if not.

Definition at line 112 of file cpair.c.

Referenced by cpair_append(), extract_cpair(), malloc_dfa_cp(), and realloc_dfa_cp().

void set_dfa_cp_end DFA_INFO dfa,
int  i,
boolean  value
 

Set the category-pair matrix bit at the end of sentence

Parameters:
dfa [out] DFA grammar holding category pair matrix
i [in] category id of the word
value TRUE if the category can appear at the end of sentence, FALSE if not.

Definition at line 131 of file cpair.c.

Referenced by cpair_append(), extract_cpair(), malloc_dfa_cp(), and realloc_dfa_cp().

void init_dfa_cp DFA_INFO dfa  ) 
 

Initialize category pair matrix in the grammar data.

Parameters:
dfa [out] DFA grammar to hold category pair matrix

Definition at line 147 of file cpair.c.

Referenced by dfa_info_new().

void malloc_dfa_cp DFA_INFO dfa,
int  term_num
 

Allocate memory for category pair matrix and initialize it.

Parameters:
dfa [out] DFA grammar to hold category pair matrix
term_num [in] number of categories in the grammar

Definition at line 162 of file cpair.c.

Referenced by extract_cpair(), and realloc_dfa_cp().

void realloc_dfa_cp DFA_INFO dfa,
int  old_term_num,
int  new_term_num
 

Re-allocate memory for category pair matrix, can be called when the number of category is expanded.

Parameters:
dfa [I/O] DFA grammar holding category pair matrix
old_term_num [in] number of categories when the last category pair matrix was allocated
new_term_num [in] new number of categories in the grammar

Definition at line 193 of file cpair.c.

Referenced by cpair_append().

void free_dfa_cp DFA_INFO dfa  ) 
 

Free the category pair matrix from DFA grammar.

Parameters:
dfa [i/o] DFA grammar holding category pair matrix

Definition at line 254 of file cpair.c.

Referenced by dfa_info_free().

void make_dfa_voca_ref DFA_INFO dinfo,
WORD_INFO winfo
 

Make correspondence between all words in dictionary and categories in grammar, both from a word to a category and from a category to words.

Parameters:
dinfo [i/o] DFA grammar, category information will be built here.
winfo [i/o] Word dictionary, word-to-category information will be build here.

Definition at line 71 of file init_dfa.c.

void make_terminfo TERM_INFO tinfo,
DFA_INFO dinfo,
WORD_INFO winfo
 

Make a word list for each category.

Parameters:
tinfo [i/o] terminal data structure to hold the result
dinfo [in] DFA gammar to supply the number of category in the grammar
winfo [in] word dictionary.

Definition at line 38 of file mkterminfo.c.

Referenced by make_dfa_voca_ref().

void terminfo_append TERM_INFO dst,
TERM_INFO src,
int  coffset,
int  woffset
 

Append the terminal(category) word list.

Parameters:
dst [i/o] category data
src [i/o] category data to be appended to dst
coffset [in] category id offset in dst where the new data should be stored
woffset [in] word id offset where the new data should be stored

Definition at line 76 of file mkterminfo.c.

void dfa_find_pause_word DFA_INFO dfa,
WORD_INFO winfo,
HTK_HMM_INFO hmminfo
 

Find pause word and pause category information, and set to the grammar data.

Parameters:
dfa [i/o] DFA grammar, sp_id and is_sp will be built here.
winfo [in] Word dictionary
hmminfo [in] HTK HMM to provide which is short pause HMM

Definition at line 104 of file init_dfa.c.

void dfa_pause_word_append DFA_INFO dst,
DFA_INFO src,
int  coffset
 

Append the pause word/category information at the last.

Parameters:
dst [i/o] DFA grammar
src [in] DFA grammar to be appended to dst
coffset appending category point in dst

Definition at line 135 of file init_dfa.c.


Generated on Tue Mar 28 16:02:11 2006 for Julius by  doxygen 1.4.2