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
@type tokens() :: [Celixir.Lexer.token()]
Functions
@spec parse(tokens()) :: {:ok, Celixir.AST.expr()} | {:error, String.t()}