MCPcopy Create free account
hub / github.com/antchfx/xpath / parseMultiplicativeExpr

Method parseMultiplicativeExpr

parse.go:282–298  ·  view source on GitHub ↗

MultiplicativeExpr ::= UnaryExpr | MultiplicativeExpr MultiplyOperator(*) UnaryExpr | MultiplicativeExpr 'div' UnaryExpr | MultiplicativeExpr 'mod' UnaryExpr

(n node)

Source from the content-addressed store, hash-verified

280//
281// | MultiplicativeExpr 'div' UnaryExpr | MultiplicativeExpr 'mod' UnaryExpr
282func (p *parser) parseMultiplicativeExpr(n node) node {
283 opnd := p.parseUnaryExpr(n)
284Loop:
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
301func (p *parser) parseUnaryExpr(n node) node {

Callers 1

parseAdditiveExprMethod · 0.95

Calls 4

parseUnaryExprMethod · 0.95
nextMethod · 0.95
testOpFunction · 0.85
newOperatorNodeFunction · 0.85

Tested by

no test coverage detected