(ref *ruleRefExpr)
| 25636 | } |
| 25637 | |
| 25638 | func (p *parser) parseRuleRefExpr(ref *ruleRefExpr) (any, bool) { |
| 25639 | if p.debug { |
| 25640 | defer p.out(p.in("parseRuleRefExpr " + ref.name)) |
| 25641 | } |
| 25642 | |
| 25643 | if ref.name == "" { |
| 25644 | panic(fmt.Sprintf("%s: invalid rule: missing name", ref.pos)) |
| 25645 | } |
| 25646 | |
| 25647 | rule := p.rules[ref.name] |
| 25648 | if rule == nil { |
| 25649 | p.addErr(fmt.Errorf("undefined rule: %s", ref.name)) |
| 25650 | return nil, false |
| 25651 | } |
| 25652 | return p.parseRuleWrap(rule) |
| 25653 | } |
| 25654 | |
| 25655 | func (p *parser) parseSeqExpr(seq *seqExpr) (any, bool) { |
| 25656 | if p.debug { |
no test coverage detected