concepts.dsl.expression.Expression#

class Expression[source]#

Bases: ABC

Expression is an abstract class for all expressions in the DSL. An important note about Expression is that the class itself does not contain any “implementation.”

For example, the expression and(x, y, z) does not contain any information about how to compute the conjunction (e.g., taking the product of the three values). The actual implementation of the expression will be provided by the Executor classes.

Methods

cached_string([max_length])

check_arguments()

Attributes

__init__()#
__new__(**kwargs)#
cached_string(max_length=None)[source]#
Parameters:

max_length (int | None)

check_arguments()[source]#
property is_and_expr: bool#
property is_constant_bool_expr: bool#
property is_exists_expr: bool#
property is_forall_expr: bool#
property is_implies_expr: bool#
property is_not_expr: bool#
property is_null_expression: bool#
property is_object_output_expression: bool#
property is_or_expr: bool#
property is_value_output_expression: bool#
property is_variable_assignment_expression: bool#
property is_xor_expr: bool#
abstract property return_type: ObjectType | ValueType | FunctionType | SequenceType | None#