Lines Matching defs:left

110    If there are more than one subexpressions in sequence, the `left' part
112 (catenation is left associative). */
114 tre_ast_node_t *left;
135 tre_ast_node_t *left;
188 tre_ast_new_union(tre_mem_t mem, tre_ast_node_t *left, tre_ast_node_t *right)
193 if (!left)
199 un->left = left;
201 node->num_submatches = left->num_submatches + right->num_submatches;
206 tre_ast_new_catenation(tre_mem_t mem, tre_ast_node_t *left, tre_ast_node_t *right)
211 if (!left)
217 cat->left = left;
219 node->num_submatches = left->num_submatches + right->num_submatches;
1102 As the left child a new tag with number `tag_id' to `node' is added,
1112 c->left = tre_ast_new_literal(mem, TAG, tag_id, -1);
1113 if (c->left == NULL)
1134 and the left child is the old root. */
1146 c->left = tre_mem_alloc(mem, sizeof(tre_ast_node_t));
1147 if (c->left == NULL)
1150 c->left->obj = node->obj;
1151 c->left->type = node->type;
1152 c->left->nullable = -1;
1153 c->left->submatch_id = -1;
1154 c->left->firstpos = NULL;
1155 c->left->lastpos = NULL;
1156 c->left->num_tags = 0;
1157 c->left->num_submatches = 0;
1373 tre_ast_node_t *left = cat->left;
1386 /* After processing left child. */
1387 STACK_PUSHX(stack, int, next_tag + left->num_tags);
1388 if (left->num_tags > 0 && right->num_tags > 0)
1397 /* Process left child. */
1398 STACK_PUSHX(stack, voidptr, left);
1456 tre_ast_node_t *left = uni->left;
1479 STACK_PUSHX(stack, voidptr, left);
1486 /* After processing left child. */
1489 /* Process left child. */
1490 STACK_PUSHX(stack, voidptr, left);
1585 node->num_tags = ((tre_catenation_t *)node->obj)->left->num_tags
1601 tre_ast_node_t *left = tre_stack_pop_voidptr(stack);
1607 node->num_tags = ((tre_union_t *)node->obj)->left->num_tags
1615 /* Add tags after both children, the left child gets a smaller
1617 the left child over the right child. */
1628 status = tre_add_tag_right(mem, left, tag_left);
1761 *result = tre_ast_new_union(mem, uni->left, uni->right);
1768 result = &tmp->left;
1773 STACK_PUSHX(stack, voidptr, uni->left);
1781 *result = tre_ast_new_catenation(mem, cat->left, cat->right);
1788 tmp->left = NULL;
1790 result = &tmp->left;
1796 STACK_PUSHX(stack, voidptr, cat->left);
1878 STACK_PUSHX(stack, voidptr, uni->left);
1887 STACK_PUSHX(stack, voidptr, cat->left);
2195 starting later, so we prefer the left subexpression over the
2198 if (uni->left->nullable)
2199 STACK_PUSHX(stack, voidptr, uni->left)
2209 assert(cat->left->nullable);
2211 STACK_PUSHX(stack, voidptr, cat->left);
2321 STACK_PUSHR(stack, voidptr, ((tre_union_t *)node->obj)->left);
2332 STACK_PUSHR(stack, voidptr, ((tre_catenation_t *)node->obj)->left);
2350 node->nullable = uni->left->nullable || uni->right->nullable;
2351 node->firstpos = tre_set_union(mem, uni->left->firstpos,
2355 node->lastpos = tre_set_union(mem, uni->left->lastpos,
2380 node->nullable = cat->left->nullable && cat->right->nullable;
2383 if (cat->left->nullable)
2385 /* The left side matches the empty string. Make a first pass
2388 status = tre_match_empty(stack, cat->left,
2400 status = tre_match_empty(stack, cat->left, tags,
2408 tre_set_union(mem, cat->right->firstpos, cat->left->firstpos,
2416 node->firstpos = cat->left->firstpos;
2445 tre_set_union(mem, cat->left->lastpos, cat->right->lastpos,
2639 errcode = tre_ast_to_tnfa(uni->left, transitions, counts, offs);
2647 /* Add a transition from each position in cat->left->lastpos
2649 errcode = tre_make_trans(cat->left->lastpos, cat->right->firstpos,
2653 errcode = tre_ast_to_tnfa(cat->left, transitions, counts, offs);