41 #ifndef __EST_LATTICE_H__ 42 #define __EST_LATTICE_H__ 252 std::cerr <<
"operator + makes no sense for Lattice::symbol_t !" << std::endl;
314 s <<
"Node:" << n.
name;
symbol_t * alphabet_index_to_symbol(int index)
EST_String name_as_string(EST_IList &l)
bool build_transition_function()
bool build_distinguished_state_table(bool **&dst)
EST_String nmap_index_to_name(int index)
int alphabet_index_lookup(int nmap_index, int qmap_index)
A vector class for floating point numbers. EST_FVector x should be used instead of float *x wherever ...
float qmap_index_to_value(int index)
EST_TList< Node * > final_nodes
int operator<(const Lattice::symbol_t s1, const Lattice::symbol_t s2)
void remove_arc_from_nodes_out_list(Node *n, Arc *a)
EST_TVector< EST_String > nmap
int qmap_value_to_index(float value)
bool build_distinguished_state_table_from_transition_function(bool **&dst)
int operator>=(Lattice::Arc a1, Lattice::Arc a2)
int index(EST_TList< T > &l, T &val, bool(*eq)(const EST_UItem *, const EST_UItem *)=NULL)
void prune_arcs(Node *node, EST_TList< Arc * > arcs)
friend bool load(Lattice &lattice, EST_String filename)
Lattice::symbol_t operator+(const Lattice::symbol_t s1, const Lattice::symbol_t s2)
bool build_distinguished_state_table_direct(bool **&dst)
void sort_by_label(EST_TList< Lattice::Arc * > &l)
int alphabet_symbol_to_index(symbol_t *sym)
friend bool save(Lattice &lattice, EST_String filename)
bool operator!=(const symbol_t &s2) const
bool accepts(EST_TList< symbol_t * > &string)
friend class Lattice_Language_Model
symbol_t operator+=(const symbol_t s2)
EST_TVector< symbol_t > alphabet
void merge_nodes(EST_TList< Node * > &l)
int nmap_name_to_index(const EST_String &name)
int operator<=(Lattice::Arc a1, Lattice::Arc a2)
friend ostream & operator<<(ostream &s, const Lattice::symbol_t &sy)
int operator==(Lattice::Arc a1, Lattice::Arc a2)
bool link(Node *n1, Node *n2, int label)
EST_TList< Arc * > arcs_out
int operator>(const Lattice::symbol_t s1, const Lattice::symbol_t s2)
void prune_arc(Node *node, Arc *arc)
EST_TList< Node * > nodes
float viterbi_transduce(EST_TList< EST_String > &input, EST_TList< Arc * > &path, EST_Litem *current_symbol=NULL, Node *start_node=NULL)