| 9734 | */ |
| 9735 | |
| 9736 | static void |
| 9737 | xmlXPathCompMultiplicativeExpr(xmlXPathParserContextPtr ctxt) { |
| 9738 | xmlXPathCompUnaryExpr(ctxt); |
| 9739 | CHECK_ERROR; |
| 9740 | SKIP_BLANKS; |
| 9741 | while ((CUR == '*') || |
| 9742 | ((CUR == 'd') && (NXT(1) == 'i') && (NXT(2) == 'v')) || |
| 9743 | ((CUR == 'm') && (NXT(1) == 'o') && (NXT(2) == 'd'))) { |
| 9744 | int op = -1; |
| 9745 | int op1 = ctxt->comp->last; |
| 9746 | |
| 9747 | if (CUR == '*') { |
| 9748 | op = 0; |
| 9749 | NEXT; |
| 9750 | } else if (CUR == 'd') { |
| 9751 | op = 1; |
| 9752 | SKIP(3); |
| 9753 | } else if (CUR == 'm') { |
| 9754 | op = 2; |
| 9755 | SKIP(3); |
| 9756 | } |
| 9757 | SKIP_BLANKS; |
| 9758 | xmlXPathCompUnaryExpr(ctxt); |
| 9759 | CHECK_ERROR; |
| 9760 | PUSH_BINARY_EXPR(XPATH_OP_MULT, op1, ctxt->comp->last, op, 0); |
| 9761 | SKIP_BLANKS; |
| 9762 | } |
| 9763 | } |
| 9764 | |
| 9765 | /** |
| 9766 | * xmlXPathCompAdditiveExpr: |
no test coverage detected