UnaryExpr ::= UnionExpr | '-' UnaryExpr
(n node)
| 299 | |
| 300 | // UnaryExpr ::= UnionExpr | '-' UnaryExpr |
| 301 | func (p *parser) parseUnaryExpr(n node) node { |
| 302 | minus := false |
| 303 | // ignore '-' sequence |
| 304 | for p.r.typ == itemMinus { |
| 305 | p.next() |
| 306 | minus = !minus |
| 307 | } |
| 308 | opnd := p.parseUnionExpr(n) |
| 309 | if minus { |
| 310 | opnd = newOperatorNode("*", opnd, newOperandNode(float64(-1))) |
| 311 | } |
| 312 | return opnd |
| 313 | } |
| 314 | |
| 315 | // UnionExpr ::= PathExpr | UnionExpr '|' PathExpr |
| 316 | func (p *parser) parseUnionExpr(n node) node { |
no test coverage detected