RelationalExpr ::= AdditiveExpr | RelationalExpr '<' AdditiveExpr | RelationalExpr '>' AdditiveExpr | RelationalExpr '<=' AdditiveExpr | RelationalExpr '>=' AdditiveExpr
(n node)
| 234 | // | RelationalExpr '<=' AdditiveExpr |
| 235 | // | RelationalExpr '>=' AdditiveExpr |
| 236 | func (p *parser) parseRelationalExpr(n node) node { |
| 237 | opnd := p.parseAdditiveExpr(n) |
| 238 | Loop: |
| 239 | for { |
| 240 | var op string |
| 241 | switch p.r.typ { |
| 242 | case itemLt: |
| 243 | op = "<" |
| 244 | case itemGt: |
| 245 | op = ">" |
| 246 | case itemLe: |
| 247 | op = "<=" |
| 248 | case itemGe: |
| 249 | op = ">=" |
| 250 | default: |
| 251 | break Loop |
| 252 | } |
| 253 | p.next() |
| 254 | opnd = newOperatorNode(op, opnd, p.parseAdditiveExpr(n)) |
| 255 | } |
| 256 | return opnd |
| 257 | } |
| 258 | |
| 259 | // AdditiveExpr ::= MultiplicativeExpr | AdditiveExpr '+' MultiplicativeExpr | AdditiveExpr '-' MultiplicativeExpr |
| 260 | func (p *parser) parseAdditiveExpr(n node) node { |
no test coverage detected