AdditiveExpr ::= MultiplicativeExpr | AdditiveExpr '+' MultiplicativeExpr | AdditiveExpr '-' MultiplicativeExpr
(n node)
| 258 | |
| 259 | // AdditiveExpr ::= MultiplicativeExpr | AdditiveExpr '+' MultiplicativeExpr | AdditiveExpr '-' MultiplicativeExpr |
| 260 | func (p *parser) parseAdditiveExpr(n node) node { |
| 261 | opnd := p.parseMultiplicativeExpr(n) |
| 262 | Loop: |
| 263 | for { |
| 264 | var op string |
| 265 | switch p.r.typ { |
| 266 | case itemPlus: |
| 267 | op = "+" |
| 268 | case itemMinus: |
| 269 | op = "-" |
| 270 | default: |
| 271 | break Loop |
| 272 | } |
| 273 | p.next() |
| 274 | opnd = newOperatorNode(op, opnd, p.parseMultiplicativeExpr(n)) |
| 275 | } |
| 276 | return opnd |
| 277 | } |
| 278 | |
| 279 | // MultiplicativeExpr ::= UnaryExpr | MultiplicativeExpr MultiplyOperator(*) UnaryExpr |
| 280 | // |
no test coverage detected