concepts.dsl.expression#
Data structures for expressions in a DSL.
All classes extend the basic Expression
class. They can be categorized into the following groups:
ObjectOrValueOutputExpression
is the base class for expressions that output objects or values. This is only used for type hinting.ObjectOutputExpression
andValueOutputExpression
are the expressions that output objects or values.VariableExpression
which is the expression that refers to a variable.VariableAssignmentExpression
which assigns a value to a variable.
Under the ValueOutputExpression
category, there are a few sub-categories:
NullExpression
which is the expression that outputs a null value.ConstantExpression
which is the expression that outputs a constant value.ListCreationExpression
which is the expression that creates a list.ListExpansionExpression
which is the expression that expands a list into a sequence of values (e.g., plan steps).FunctionApplicationExpression
which represents the application of a function.ListFunctionApplicationExpression
which represents the application of a function to a list of arguments.BoolExpression
which represents Boolean operations (and, or, not).QuantificationExpression
which represents quantification (forall, exists).GeneralizedQuantificationExpression
which represents generalized quantification (iota, all, counting quantifiers).FindOneExpression
which represents the find-one quantification.FindAllExpression
which represents the find-all quantification.PredicateEqualExpression
which represents the equality test between a state variable and a value.ObjectCompareExpression
which represents the comparison between two objects.ValueCompareExpression
which represents the comparison between two values.ConditionExpression
which represents the ternary conditional expression.ConditionalSelectExpression
which represents the conditional selection for some computed value.DeicticSelectExpression
which represents the deictic selection for some computed value (i.e., forall quantifiers).
Under the ObjectOutputExpression
category, there are a few sub-categories:
ObjectConstantExpression
which is the expression that outputs a constant object.
Under the VariableAssignmentExpression
category, there are a few sub-categories:
AssignExpression
which is the expression that assigns a value to a state variable.ConditionalAssignExpression
which is the expression that assigns a value to a state variable conditionally.DeicticAssignExpression
which is the expression that assigns values to state variables with deictic expressions (i.e., forall quantifiers).
The most important classes are: VariableExpression
, ObjectConstantExpression
, ConstantExpression
, and FunctionApplicationExpression
.
Functions
|
Convert an expression compatible object to an expression. |
|
Convert a list of expression compatible objects to a list of expressions. |
|
Get the type of the given value. |
|
Get the types of the given arguments and keyword arguments. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Classes
Conditional select expression represents the selection of a value based on a condition. |
|
Constant expression always returns a constant value. |
|
Expression is an abstract class for all expressions in the DSL. |
|
Function application expression represents the application of a function over a list of arguments. |
|
Function application expression represents the application of a function over a list of arguments. |
|
Exceptions