MCPcopy Create free account
hub / github.com/Permify/permify / parseExpressionStatement

Method parseExpressionStatement

pkg/dsl/parser/parser.go:562–574  ·  view source on GitHub ↗

parseExpressionStatement method parses an expression statement and returns an ExpressionStatement AST node

()

Source from the content-addressed store, hash-verified

560
561// parseExpressionStatement method parses an expression statement and returns an ExpressionStatement AST node
562func (p *Parser) parseExpressionStatement() (*ast.ExpressionStatement, error) {
563 // create a new ExpressionStatement object
564 stmt := &ast.ExpressionStatement{}
565 var err error
566 // parse the expression using the lowest precedence value as the initial precedence level
567 stmt.Expression, err = p.parseExpression(LOWEST)
568 if err != nil {
569 return nil, p.Error()
570 }
571
572 // return the parsed ExpressionStatement and nil for the error value
573 return stmt, nil
574}
575
576// expectAndNext method checks if the next token is of the expected type and advances the lexer to the next token if it is. It returns true if the next token is of the expected type, and false otherwise.
577func (p *Parser) expectAndNext(t token.Type) bool {

Callers 1

Calls 2

parseExpressionMethod · 0.95
ErrorMethod · 0.95

Tested by

no test coverage detected