cel/parser
Types
pub type Arithmetic {
Add
Sub
Mul
Div
Mod
}
Constructors
-
Add -
Sub -
Mul -
Div -
Mod
pub type Atom {
Int(Int)
UInt(Int)
Float(Float)
String(String)
Bytes(BitArray)
Bool(Bool)
Null
}
Constructors
-
Int(Int) -
UInt(Int) -
Float(Float) -
String(String) -
Bytes(BitArray) -
Bool(Bool) -
Null
pub type BinaryOp {
Arithmetic(Arithmetic)
Relation(Relation)
Logical(Logical)
}
Constructors
-
Arithmetic(Arithmetic) -
Relation(Relation) -
Logical(Logical)
pub type Error {
UnexpectedEndOfFile
UnexpectedSourceStr(String, Int)
UnexpectedToken(t.Token, Int)
DeadEnd(Tokens)
}
Constructors
-
UnexpectedEndOfFile -
UnexpectedSourceStr(String, Int) -
UnexpectedToken(t.Token, Int) -
DeadEnd(Tokens)
pub type Expression {
BinaryOperation(Expression, BinaryOp, Expression)
Unary(UnaryOp, Expression)
Ternary(Expression, Expression, Expression)
List(List(Expression))
Map(List(#(Expression, Expression)))
Member(Expression, Member)
FunctionCall(
String,
option.Option(Expression),
List(Expression),
)
Atom(Atom)
Ident(String)
}
Constructors
-
BinaryOperation(Expression, BinaryOp, Expression) -
Unary(UnaryOp, Expression) -
Ternary(Expression, Expression, Expression) -
List(List(Expression)) -
Map(List(#(Expression, Expression))) -
Member(Expression, Member) -
FunctionCall(String, option.Option(Expression), List(Expression)) -
Atom(Atom) -
Ident(String)
pub type Member {
Attribute(String)
Index(Expression)
}
Constructors
-
Attribute(String) -
Index(Expression)
pub type Relation {
LessThan
LessThanEq
GreaterThan
GreaterThanEq
Equals
NotEquals
In
}
Constructors
-
LessThan -
LessThanEq -
GreaterThan -
GreaterThanEq -
Equals -
NotEquals -
In