SPRAAK
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
Data Fields
SprCwrLmcHashEl Struct Reference

Data Fields

struct spr_t_cwr_lmc_hash_el * next
 next elements in the hash table More...
 
struct spr_t_cwr_lmc_hash_el ** link
 link to the previous element in the hash table More...
 
struct spr_t_cwr_lmc_hash_el * free_next
 next elements in the free list More...
 
struct spr_t_cwr_lmc_hash_el ** free_link
 link to the previous element in the free list More...
 
unsigned int lmc_num
 
unsigned short ord_num
 
unsigned int usage_cnt
 
SprLMContext lmc []
 

Detailed Description

Store all LM-contexts, i.e. the unique contexts –as far as the LM is concerned– that differentiate between tokens. The LM-contexts are organized in a hash table. Overlapping entries are stored in a list with backward links. The unused entries are kept in the hash table and are also stored in a free-list (Least Recent Used order) to allow for quick re-use.

Field Documentation

struct spr_t_cwr_lmc_hash_el* SprCwrLmcHashEl::next

next elements in the hash table

struct spr_t_cwr_lmc_hash_el** SprCwrLmcHashEl::link

link to the previous element in the hash table

struct spr_t_cwr_lmc_hash_el* SprCwrLmcHashEl::free_next

next elements in the free list

struct spr_t_cwr_lmc_hash_el** SprCwrLmcHashEl::free_link

link to the previous element in the free list

unsigned int SprCwrLmcHashEl::lmc_num

sequential numbering of the LmcHashEl elements -> allows for immediate checking for recombination if only the LM-context can be different

unsigned short SprCwrLmcHashEl::ord_num

reuse of the same data-block -> LM-cache should be able to detect this

unsigned int SprCwrLmcHashEl::usage_cnt

how many times is this element refered to by the running tokens

SprLMContext SprCwrLmcHashEl::lmc[]