Lines Matching defs:link
54 struct tree *llink; /* Left link; MUST be first field. */
55 struct tree *rlink; /* Right link (to larger labels). */
132 register struct tree *link;
151 link = trie->links;
156 while (link && label != link->label)
158 links[depth] = link;
159 if (label < link->label)
160 dirs[depth++] = L, link = link->llink;
162 dirs[depth++] = R, link = link->rlink;
165 /* The current character doesn't have an outgoing link at
167 a link in the current trie node's tree. */
168 if (!link)
170 link = (struct tree *) obstack_alloc(&kwset->obstack,
172 if (!link)
174 link->llink = 0;
175 link->rlink = 0;
176 link->trie = (struct trie *) obstack_alloc(&kwset->obstack,
178 if (!link->trie)
180 link->trie->accepting = 0;
181 link->trie->links = 0;
182 link->trie->parent = trie;
183 link->trie->next = 0;
184 link->trie->fail = 0;
185 link->trie->depth = trie->depth + 1;
186 link->trie->shift = 0;
187 link->label = label;
188 link->balance = 0;
192 links[depth]->llink = link;
194 links[depth]->rlink = link;
263 trie = link->trie;
300 register struct tree *link;
312 link = fail->links;
313 while (link && tree->label != link->label)
314 if (tree->label < link->label)
315 link = link->llink;
317 link = link->rlink;
318 if (link)
320 tree->trie->fail = link->trie;