MultiplicativeExpr ::= UnaryExpr | MultiplicativeExpr MultiplyOperator(*) UnaryExpr | MultiplicativeExpr 'div' UnaryExpr | MultiplicativeExpr 'mod' UnaryExpr
(n node)
| 280 | // |
| 281 | // | MultiplicativeExpr 'div' UnaryExpr | MultiplicativeExpr 'mod' UnaryExpr |
| 282 | func (p *parser) parseMultiplicativeExpr(n node) node { |
| 283 | opnd := p.parseUnaryExpr(n) |
| 284 | Loop: |
| 285 | for { |
| 286 | var op string |
| 287 | if p.r.typ == itemStar { |
| 288 | op = "*" |
| 289 | } else if testOp(p.r, "div") || testOp(p.r, "mod") { |
| 290 | op = p.r.name |
| 291 | } else { |
| 292 | break Loop |
| 293 | } |
| 294 | p.next() |
| 295 | opnd = newOperatorNode(op, opnd, p.parseUnaryExpr(n)) |
| 296 | } |
| 297 | return opnd |
| 298 | } |
| 299 | |
| 300 | // UnaryExpr ::= UnionExpr | '-' UnaryExpr |
| 301 | func (p *parser) parseUnaryExpr(n node) node { |
no test coverage detected