Enum dmntk_feel::AstNode [−][src]
pub enum AstNode {}Show variants
Add(Box<AstNode>, Box<AstNode>), And(Box<AstNode>, Box<AstNode>), At(String), Between(Box<AstNode>, Box<AstNode>, Box<AstNode>), Boolean(bool), CommaList(Vec<AstNode>), Context(Vec<AstNode>), ContextEntry(Box<AstNode>, Box<AstNode>), ContextEntryKey(Name), ContextType(Vec<AstNode>), ContextTypeEntry(Box<AstNode>, FeelType), Div(Box<AstNode>, Box<AstNode>), Eq(Box<AstNode>, Box<AstNode>), Exp(Box<AstNode>, Box<AstNode>), ExpressionList(Vec<AstNode>), FilterExpression(Box<AstNode>, Box<AstNode>), ForExpression(Vec<(Name, AstNode, OptAstNode)>, Box<AstNode>), FormalParameter(Name, FeelType), FormalParameters(Vec<AstNode>), FunctionBody(Box<AstNode>, bool), FunctionDefinition(Box<AstNode>, Box<AstNode>), FunctionInvocation(Box<AstNode>, Box<AstNode>), FunctionType(Box<AstNode>, FeelType), Ge(Box<AstNode>, Box<AstNode>), Gt(Box<AstNode>, Box<AstNode>), If(Box<AstNode>, Box<AstNode>, Box<AstNode>), In(Box<AstNode>, Box<AstNode>), InstanceOf(Box<AstNode>, FeelType), IntervalEnd(Box<AstNode>, bool), IntervalStart(Box<AstNode>, bool), Irrelevant, IterationClauses(Vec<AstNode>), IterationContextSingle(Box<AstNode>), IterationContextRange(Box<AstNode>, Box<AstNode>), Le(Box<AstNode>, Box<AstNode>), Lt(Box<AstNode>, Box<AstNode>), List(Vec<AstNode>), ListType(FeelType), Mul(Box<AstNode>, Box<AstNode>), Name(Name), NamedParameter(Box<AstNode>, Box<AstNode>), NamedParameters(Vec<AstNode>), NegatedList(Vec<AstNode>), Neg(Box<AstNode>), Nq(Box<AstNode>, Box<AstNode>), Null, Numeric(String, String), Or(Box<AstNode>, Box<AstNode>), Out(Box<AstNode>, Box<AstNode>), ParameterName(Name), ParameterTypes(Vec<FeelType>), Path(Box<AstNode>, Box<AstNode>), PositionalParameters(Vec<AstNode>), QualifiedName(Vec<Name>), QuantifiedClauses(Vec<AstNode>), QuantifiedExpressionEvery(Box<AstNode>, Box<AstNode>), QuantifiedExpressionSome(Box<AstNode>, Box<AstNode>), Range(Box<AstNode>, Box<AstNode>), RangeType(FeelType), String(String), Sub(Box<AstNode>, Box<AstNode>), UnaryGe(Box<AstNode>), UnaryGt(Box<AstNode>), UnaryLe(Box<AstNode>), UnaryLt(Box<AstNode>),
Expand description
Node of the Abstract Syntax Tree for FEEL
grammar.
Variants
Node representing an arithmetic operator +
.
Node representing a logical operator and
.
At(String)
Node representing a date and time literal @
.
Node representing a comparison operator between
.
Boolean(bool)
Node representing a value of type boolean
.
Node representing a comma separated list of nodes.
Node representing a context. Context entries are stored in the order of appearance in definition.
Node representing single context entry; key-value pair.
ContextEntryKey(Name)
Node representing the key of the context entry; the key in context entry may be a name or string literal. String literals are converted to one segment names containing exactly the value of the string.
Node representing the type of a context. Context type is defined by names and types of all entries. This node contains a collection of types for all context entries in order of appearance in definition.
Node representing single context type entry, name-type pair.
Node representing arithmetic operator /
(division).
Node representing filter expression.
Node representing for
expression (iteration clauses, evaluated expression).
Node representing function’s formal parameter.
This node holds mandatory parameter’s name and optional parameter’s type.
Parameter’s type must be valid FEEL
type.
Node representing a list of formal parameters.
Node representing function’s body. This node holds mandatory function body and a flag indicating if the function is external.
Node representing function definition. This node holds function’s formal parameter list and function’s body.
Node representing function invocation.
Node representing function type (parameter types, result type).
Node representing IF
expression (condition, result_when_true, result_when_false).
Node representing the interval end used in ranges.
Node representing the interval start used in ranges.
Node representing the comparison operator irrelevant
.
List of iteration clauses, containing list of variables bounded to iteration contexts.
Iteration context returning a single list of elements to iterate over.
Iteration context built from the range of integers.
Node representing a list.
ListType(FeelType)
Node representing list type; contains the type of list items.
Node representing arithmetic operator *
(multiplication).
Name(Name)
Node representing single named parameter.
Node representing a collection of named parameters.
Node representing a negated list (used in negated unary tests).
Unary arithmetic negation -
.
Value of type Null
.
Numeric value.
ParameterName(Name)
Name of the parameter in named parameter of the function invocation.
Node representing a collection of function parameter types.
Node representing a path expression.
Node representing a collection of positional parameters.
List of quantified clauses, containing list of names bounded to expressions.
RangeType(FeelType)
Node representing a definition of type range
.
String(String)
Value of type string
.
Implementations
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for AstNode
impl UnwindSafe for AstNode
Blanket Implementations
Mutably borrows from an owned value. Read more