Lines Matching defs:link
53 struct tree *llink; /* Left link; MUST be first field. */
54 struct tree *rlink; /* Right link (to larger labels). */
131 register struct tree *link;
150 link = trie->links;
155 while (link && label != link->label)
157 links[depth] = link;
158 if (label < link->label)
159 dirs[depth++] = L, link = link->llink;
161 dirs[depth++] = R, link = link->rlink;
164 /* The current character doesn't have an outgoing link at
166 a link in the current trie node's tree. */
167 if (!link)
169 link = (struct tree *) obstack_alloc(&kwset->obstack,
171 if (!link)
173 link->llink = 0;
174 link->rlink = 0;
175 link->trie = (struct trie *) obstack_alloc(&kwset->obstack,
177 if (!link->trie)
179 link->trie->accepting = 0;
180 link->trie->links = 0;
181 link->trie->parent = trie;
182 link->trie->next = 0;
183 link->trie->fail = 0;
184 link->trie->depth = trie->depth + 1;
185 link->trie->shift = 0;
186 link->label = label;
187 link->balance = 0;
191 links[depth]->llink = link;
193 links[depth]->rlink = link;
262 trie = link->trie;
299 register struct tree *link;
311 link = fail->links;
312 while (link && tree->label != link->label)
313 if (tree->label < link->label)
314 link = link->llink;
316 link = link->rlink;
317 if (link)
319 tree->trie->fail = link->trie;