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:
ObjectOrValueOutputExpressionis the base class for expressions that output objects or values. This is only used for type hinting.ObjectOutputExpressionandValueOutputExpressionare the expressions that output objects or values.VariableExpressionwhich is the expression that refers to a variable.VariableAssignmentExpressionwhich assigns a value to a variable.
Under the ValueOutputExpression category, there are a few sub-categories:
NullExpressionwhich is the expression that outputs a null value.ConstantExpressionwhich is the expression that outputs a constant value.ListCreationExpressionwhich is the expression that creates a list.ListExpansionExpressionwhich is the expression that expands a list into a sequence of values (e.g., plan steps).FunctionApplicationExpressionwhich represents the application of a function.ListFunctionApplicationExpressionwhich represents the application of a function to a list of arguments.BoolExpressionwhich represents Boolean operations (and, or, not).QuantificationExpressionwhich represents quantification (forall, exists).GeneralizedQuantificationExpressionwhich represents generalized quantification (iota, all, counting quantifiers).FindOneExpressionwhich represents the find-one quantification.FindAllExpressionwhich represents the find-all quantification.PredicateEqualExpressionwhich represents the equality test between a state variable and a value.ObjectCompareExpressionwhich represents the comparison between two objects.ValueCompareExpressionwhich represents the comparison between two values.ConditionExpressionwhich represents the ternary conditional expression.ConditionalSelectExpressionwhich represents the conditional selection for some computed value.DeicticSelectExpressionwhich represents the deictic selection for some computed value (i.e., forall quantifiers).BatchedExpressionwhich is the expression that assigns values to state variables with batched expressions.
Under the ObjectOutputExpression category, there are a few sub-categories:
ObjectConstantExpressionwhich is the expression that outputs a constant object.
Under the VariableAssignmentExpression category, there are a few sub-categories:
AssignExpressionwhich is the expression that assigns a value to a state variable.ConditionalAssignExpressionwhich is the expression that assigns a value to a state variable conditionally.DeicticAssignExpressionwhich 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. |
|
This function is obsolete and should be replaced by |
|
Exceptions