Lines Matching full:right
6183 * which will be allowed only if the counter is within the right range.
6416 xmlExpNodePtr right) {
6423 value += right->key;
6429 value += right->key;
6435 value += right->key;
6467 * needed. @left and @right are consumed, i.e. their ref count will
6474 xmlExpNodePtr left, xmlExpNodePtr right,
6513 return(right);
6515 if (right->type == XML_EXP_FORBID) {
6516 xmlExpFree(ctxt, right);
6522 if (left == right) {
6528 if ((left->type == XML_EXP_OR) && (right->type != XML_EXP_OR)) {
6530 left = right;
6531 right = tmp;
6535 if (right->type == XML_EXP_OR) {
6536 if ((left == right->exp_left) ||
6537 (left == right->exp_right)) {
6539 return(right);
6555 tmp = xmlExpHashGetEntry(ctxt, XML_EXP_OR, left->exp_right, right,
6564 if (right->type == XML_EXP_OR) {
6567 if (left->key > right->exp_right->key) {
6569 right->exp_right->ref++;
6570 tmp = xmlExpHashGetEntry(ctxt, XML_EXP_OR, right->exp_right,
6572 right->exp_left->ref++;
6573 tmp = xmlExpHashGetEntry(ctxt, XML_EXP_OR, right->exp_left,
6575 xmlExpFree(ctxt, right);
6580 if (left->key > right->exp_left->key) {
6582 right->exp_right->ref++;
6584 right->exp_right, NULL, 0, 0);
6585 right->exp_left->ref++;
6586 tmp = xmlExpHashGetEntry(ctxt, XML_EXP_OR, right->exp_left,
6588 xmlExpFree(ctxt, right);
6593 else if (left->key > right->key) {
6595 left = right;
6596 right = tmp;
6598 kbase = xmlExpHashComputeKey(type, left, right);
6602 xmlExpFree(ctxt, right);
6605 if (right->type == XML_EXP_FORBID) {
6607 return(right);
6610 if (right->type == XML_EXP_EMPTY) {
6614 return(right);
6616 kbase = xmlExpHashComputeKey(type, left, right);
6639 (insert->exp_right == right)) {
6642 right->ref--;
6668 entry->exp_right = right;
6670 if ((IS_NILLABLE(left)) || (IS_NILLABLE(right)))
6680 if ((IS_NILLABLE(left)) && (IS_NILLABLE(right)))
6778 * @right: right expression
6780 * Get the atom associated to the choice @left | @right
6781 * Note that @left and @right are consumed in the operation, to keep
6788 xmlExpNewOr(xmlExpCtxtPtr ctxt, xmlExpNodePtr left, xmlExpNodePtr right) {
6791 if ((left == NULL) || (right == NULL)) {
6793 xmlExpFree(ctxt, right);
6796 return(xmlExpHashGetEntry(ctxt, XML_EXP_OR, left, right, NULL, 0, 0));
6803 * @right: right expression
6805 * Get the atom associated to the sequence @left , @right
6806 * Note that @left and @right are consumed in the operation, to keep
6813 xmlExpNewSeq(xmlExpCtxtPtr ctxt, xmlExpNodePtr left, xmlExpNodePtr right) {
6816 if ((left == NULL) || (right == NULL)) {
6818 xmlExpFree(ctxt, right);
6821 return(xmlExpHashGetEntry(ctxt, XML_EXP_SEQ, left, right, NULL, 0, 0));
7351 * subset which could be matched by the right
7875 xmlExpNodePtr ret, right;
7881 right = xmlExpParseOr(ctxt);
7882 if (right == NULL) {
7886 ret = xmlExpHashGetEntry(ctxt, XML_EXP_OR, ret, right, NULL, 0, 0);
7895 xmlExpNodePtr ret, right;
7901 right = xmlExpParseSeq(ctxt);
7902 if (right == NULL) {
7906 ret = xmlExpHashGetEntry(ctxt, XML_EXP_SEQ, ret, right, NULL, 0, 0);