MCPcopy
hub / github.com/expr-lang/expr / parseSequenceExpression

Method parseSequenceExpression

parser/parser.go:199–218  ·  view source on GitHub ↗

parse functions

()

Source from the content-addressed store, hash-verified

197// parse functions
198
199func (p *Parser) parseSequenceExpression() Node {
200 nodes := []Node{p.parseExpression(0)}
201
202 for p.current.Is(Operator, ";") && p.err == nil {
203 p.next()
204 // If a trailing semicolon is present, break out.
205 if p.current.Is(EOF) {
206 break
207 }
208 nodes = append(nodes, p.parseExpression(0))
209 }
210
211 if len(nodes) == 1 {
212 return nodes[0]
213 }
214
215 return p.createNode(&SequenceNode{
216 Nodes: nodes,
217 }, nodes[0].Location())
218}
219
220func (p *Parser) parseExpression(precedence int) Node {
221 if p.err != nil {

Callers 5

ParseMethod · 0.95
parseConditionalIfMethod · 0.95
parsePrimaryMethod · 0.95
parsePredicateMethod · 0.95

Calls 5

parseExpressionMethod · 0.95
nextMethod · 0.95
createNodeMethod · 0.95
IsMethod · 0.80
LocationMethod · 0.65

Tested by

no test coverage detected