MCPcopy Create free account
hub / github.com/brimdata/super / parseOneOrMoreExpr

Method parseOneOrMoreExpr

compiler/parser/parser.go:25604–25624  ·  view source on GitHub ↗
(expr *oneOrMoreExpr)

Source from the content-addressed store, hash-verified

25602}
25603
25604func (p *parser) parseOneOrMoreExpr(expr *oneOrMoreExpr) (any, bool) {
25605 if p.debug {
25606 defer p.out(p.in("parseOneOrMoreExpr"))
25607 }
25608
25609 var vals []any
25610
25611 for {
25612 p.pushV()
25613 val, ok := p.parseExprWrap(expr.expr)
25614 p.popV()
25615 if !ok {
25616 if len(vals) == 0 {
25617 // did not match once, no match
25618 return nil, false
25619 }
25620 return vals, true
25621 }
25622 vals = append(vals, val)
25623 }
25624}
25625
25626func (p *parser) parseRecoveryExpr(recover *recoveryExpr) (any, bool) {
25627 if p.debug {

Callers 1

parseExprMethod · 0.95

Calls 5

outMethod · 0.95
inMethod · 0.95
pushVMethod · 0.95
parseExprWrapMethod · 0.95
popVMethod · 0.95

Tested by

no test coverage detected