Celixir.Parser (Celixir v0.2.0)

Copy Markdown View Source

Recursive descent parser for CEL. Transforms a token list into an AST.

Precedence (low to high): Conditional (?:) Or (||) And (&&) Relation (==, !=, <, <=, >, >=, in) Addition (+, -) Multiplication (*, /, %) Unary (!, -) Member (., [], ()) Primary (literals, idents, parens, list, map)

Summary

Types

tokens()

@type tokens() :: [Celixir.Lexer.token()]

Functions

parse(tokens)

@spec parse(tokens()) :: {:ok, Celixir.AST.expr()} | {:error, String.t()}