parseOrExpression parses OR expressions (lowest precedence)
()
| 188 | |
| 189 | // parseOrExpression parses OR expressions (lowest precedence) |
| 190 | func (p *ExpressionParser) parseOrExpression() (ConditionNode, error) { |
| 191 | left, err := p.parseAndExpression() |
| 192 | if err != nil { |
| 193 | return nil, err |
| 194 | } |
| 195 | |
| 196 | for p.current().kind == tokenOr { |
| 197 | p.advance() // consume || |
| 198 | right, err := p.parseAndExpression() |
| 199 | if err != nil { |
| 200 | return nil, err |
| 201 | } |
| 202 | left = &OrNode{Left: left, Right: right} |
| 203 | } |
| 204 | |
| 205 | return left, nil |
| 206 | } |
| 207 | |
| 208 | // parseAndExpression parses AND expressions (higher precedence than OR) |
| 209 | func (p *ExpressionParser) parseAndExpression() (ConditionNode, error) { |
no test coverage detected