Lines Matching refs:rec

37 int count_fsmarc_token_list(srec* rec, stokenID token_index)
43 fsmarc_token* stoken = &rec->fsmarc_token_array[token_index];
53 void initialize_free_fsmarc_tokens(srec *rec)
58 for (i = 0;i < rec->fsmarc_token_array_size - 1;i++)
60 rec->fsmarc_token_array[i].next_token_index = i + 1;
62 rec->fsmarc_token_array[rec->fsmarc_token_array_size-1].next_token_index = MAXstokenID;
63 rec->fsmarc_token_freelist = 0;
67 stokenID setup_free_fsmarc_token(srec *rec, FSMarc* arc, arcID fsm_arc_index, miscdata what_to_do_if_fails)
73 if (rec->fsmarc_token_freelist == MAXstokenID)
91 ASSERT(rec->fsmarc_token_freelist < rec->fsmarc_token_array_size);
92 token_to_return = rec->fsmarc_token_freelist;
93 token = &(rec->fsmarc_token_array[token_to_return]);
96 arc = &(rec->context->FSMarc_list[fsm_arc_index]);
97 token->num_hmm_states = rec->context->hmm_info_for_ilabel[arc->ilabel].num_states;
108 rec->fsmarc_token_freelist = token->next_token_index;
115 void free_fsmarc_token(srec *rec, stokenID old_token_index)
118 ASSERT(old_token_index < rec->fsmarc_token_array_size);
119 stoken = &rec->fsmarc_token_array[old_token_index];
120 stoken->next_token_index = rec->fsmarc_token_freelist;
121 rec->fsmarc_token_freelist = old_token_index;
125 free_altword_token_batch(rec, stoken->aword_backtrace[i]);
129 void sort_fsmarc_token_list(srec* rec, stokenID* ptoken_index)
136 void initialize_free_word_tokens(srec *rec)
141 for (i = 0;i < rec->word_token_array_size;i++)
143 wtoken = &rec->word_token_array[i];
148 rec->word_token_freelist = 0;
151 wtokenID get_free_word_token(srec *rec, miscdata what_to_do_if_fails)
156 if (rec->word_token_freelist == MAXwtokenID)
174 token_to_return = rec->word_token_freelist;
175 wtoken = &rec->word_token_array[token_to_return];
176 rec->word_token_freelist = wtoken->next_token_index;
191 int count_fsmnode_token_list(srec* rec, ftokenID token_index)
197 fsmnode_token* ftoken = &rec->fsmnode_token_array[token_index];
204 void initialize_free_fsmnode_tokens(srec *rec)
209 for (i = 0;i < rec->fsmnode_token_array_size;i++)
211 ftoken = &rec->fsmnode_token_array[i];
216 rec->fsmnode_token_freelist = 0;
219 ftokenID get_free_fsmnode_token(srec *rec, miscdata what_to_do_if_fails)
224 if (rec->fsmnode_token_freelist == MAXftokenID)
242 token_to_return = rec->fsmnode_token_freelist;
243 ftoken = &rec->fsmnode_token_array[token_to_return];
244 rec->fsmnode_token_freelist = ftoken->next_token_index;
253 void free_fsmnode_token(srec *rec, ftokenID old_token_index)
256 ASSERT(old_token_index < rec->fsmnode_token_array_size);
257 ftoken = &rec->fsmnode_token_array[old_token_index];
258 ftoken->next_token_index = rec->fsmnode_token_freelist;
260 rec->fsmnode_token_freelist = old_token_index;
262 free_altword_token_batch(rec, ftoken->aword_backtrace);
269 void initialize_free_altword_tokens(srec *rec)
273 for (i = 0;i < rec->altword_token_array_size;i++)
275 awtoken = rec->altword_token_array + i;
283 rec->altword_token_freelist = &rec->altword_token_array[0];
284 rec->altword_token_freelist_len = rec->altword_token_array_size;
288 int count_altword_token(srec* rec, altword_token* b)
300 altword_token* get_free_altword_token(srec* rec, miscdata what_to_do_if_fails)
302 altword_token* awtoken = rec->altword_token_freelist;
310 rec->altword_token_freelist = awtoken->next_token;
311 rec->altword_token_freelist_len--;
316 int free_altword_token(srec* rec, altword_token* old_token)
321 old_token->next_token = rec->altword_token_freelist;
323 rec->altword_token_freelist = old_token;
324 rec->altword_token_freelist_len++;
329 altword_token* free_altword_token_batch(srec* rec, altword_token* old_token)
341 awtoken->next_token = rec->altword_token_freelist;
342 rec->altword_token_freelist = awtoken;
343 rec->altword_token_freelist_len++;