concepts.pdsketch.parsers.pdsketch_v3_parser.PDSketchV3DomainTransformer#

class PDSketchV3DomainTransformer[source]#

Bases: PDSketch3LiteralTransformer

Methods

BASIC_TYPENAME(token)

Captures basic type names (non-vector types), such as int, float, bool, object, etc.

BIN_NUMBER(value)

Captures binary number literals.

CONSTNAME(token)

Captures constant names, such as CONST_NAME.

DEC_NUMBER(value)

Captures decimal number literals.

ELLIPSIS(_)

Captures the ... literal.

FALSE(_)

Captures the False literal.

FLOAT_NUMBER(value)

Captures floating point number literals.

HEX_NUMBER(value)

Captures hexadecimal number literals.

IMAG_NUMBER(value)

Captures complex number literals.

OCT_NUMBER(value)

Captures octal number literals.

TRUE(_)

Captures the True literal.

VARNAME(token)

Captures variable names, such as var_name.

action_definition(annotations, name, args, ...)

action_effect_definition(suite)

action_impl_definition(suite)

action_precondition_definition(suite)

arguments_def(args)

Captures the arguments definition.

boolean(value)

Captures boolean literals.

decorator_kwarg(k[, v])

Captures the key-value pair of a decorator.

decorator_kwargs(args)

Captures the key-value pairs of a decorator.

derived_feature_definition(annotations, ...)

derived_function_definition(annotations, ...)

generator_definition(annotations, name, ...)

generator_goal_definition(suite)

generator_impl_definition(suite)

generator_in_definition(values)

generator_out_definition(values)

generator_precondition_definition(suite)

in_typed_argument(name, value)

Captures typed arguments defined as name in value.

is_typed_argument(name, typename)

Captures typed arguments defined as name is typename.

literal(value)

Captures literal values.

literal_list(*items)

Captures literal lists, such as [1, 2, 3, 4].

literal_set(*items)

Captures literal sets, such as {1, 2, 3, 4}.

number(value)

Captures number literals, including integers, floats, and complex numbers.

pragma_definition(pragma)

regression_rule_body_definition(suite)

regression_rule_definition(annotations, ...)

regression_rule_goal_definition(suite)

regression_rule_precondition_definition(suite)

regression_rule_side_effect_definition(suite)

sized_vector_typename(name, size)

Captures sized vector typenames defined as vector[typename, size].

string(value)

Captures string literals.

transform(tree)

Transform the given tree, and return the final result

type_definition(typename, basetype)

typed_argument(name, typename)

Captures typed arguments defined as name: typename.

typename(name)

Captures typenames including basic types and vector types.

undirected_generator_definition(annotations, ...)

unsized_vector_typename(name)

Captures unsized vector typenames defined as vector[typename].

Attributes

domain

expression_def_ctx

expression_interpreter

BASIC_TYPENAME(token)#

Captures basic type names (non-vector types), such as int, float, bool, object, etc.

BIN_NUMBER(value)#

Captures binary number literals.

Parameters:

value (str) –

Return type:

int

CONSTNAME(token)#

Captures constant names, such as CONST_NAME.

DEC_NUMBER(value)#

Captures decimal number literals.

Parameters:

value (str) –

Return type:

int

ELLIPSIS(_)#

Captures the literal.

Return type:

str

FALSE(_)#

Captures the False literal.

Return type:

bool

FLOAT_NUMBER(value)#

Captures floating point number literals.

Parameters:

value (str) –

Return type:

float

HEX_NUMBER(value)#

Captures hexadecimal number literals.

Parameters:

value (str) –

Return type:

int

IMAG_NUMBER(value)#

Captures complex number literals.

Parameters:

value (str) –

Return type:

complex

OCT_NUMBER(value)#

Captures octal number literals.

Parameters:

value (str) –

Return type:

int

TRUE(_)#

Captures the True literal.

Return type:

bool

VARNAME(token)#

Captures variable names, such as var_name.

__init__(domain=None)[source]#
Parameters:

domain (Domain | None) –

__mul__(other)#

Chain two transformers together, returning a new transformer.

Parameters:
  • self (Transformer) –

  • other (Transformer | TransformerChain[_Leaf_U, _Return_V]) –

Return type:

TransformerChain[_Leaf_T, _Return_V]

__new__(**kwargs)#
action_definition(annotations, name, args, *parts)[source]#
Parameters:
action_effect_definition(suite)[source]#
Parameters:

suite (Tree) –

Return type:

EffectPart

action_impl_definition(suite)[source]#
Parameters:

suite (Tree) –

Return type:

ImplPart

action_precondition_definition(suite)[source]#
Parameters:

suite (Tree) –

Return type:

PreconditionPart

arguments_def(args)#

Captures the arguments definition. This is used in function definitions.

boolean(value)#

Captures boolean literals.

Parameters:

value (bool) –

Return type:

bool

decorator_kwarg(k, v=True)#

Captures the key-value pair of a decorator. This is used in the decorator syntax, such as [[k=True]].

Parameters:

v (LiteralValue | LiteralList | LiteralSet) –

Return type:

Tuple[str, bool | int | float | complex | str | LiteralList | LiteralSet]

decorator_kwargs(args)#

Captures the key-value pairs of a decorator. This is used in the decorator syntax, such as [[k=True, k2=123, k3=[1, 2, 3]]].

Return type:

Dict[str, bool | int | float | complex | str | LiteralList | LiteralSet]

derived_feature_definition(annotations, name, args, ret, suite)[source]#
Parameters:
derived_function_definition(annotations, name, args, ret, suite)[source]#
Parameters:
generator_definition(annotations, name, args, *parts)[source]#
Parameters:
generator_goal_definition(suite)[source]#
Parameters:

suite (Tree) –

Return type:

GoalPart

generator_impl_definition(suite)[source]#
Parameters:

suite (Tree) –

Return type:

ImplPart

generator_in_definition(values)[source]#
Parameters:

values (Tree) –

Return type:

InPart

generator_out_definition(values)[source]#
Parameters:

values (Tree) –

Return type:

OutPart

generator_precondition_definition(suite)[source]#
Parameters:

suite (Tree) –

Return type:

PreconditionPart

in_typed_argument(name, value)#

Captures typed arguments defined as name in value. This is used in forall/exists statements.

Parameters:
  • name (str) –

  • value (Any) –

Return type:

InTypedArgument

is_typed_argument(name, typename)#

Captures typed arguments defined as name is typename. This is used in forall/exists statements.

Parameters:
Return type:

Variable

literal(value)#

Captures literal values.

Parameters:

value (bool | int | float | complex | str | LiteralList | LiteralSet) –

Return type:

LiteralValue | LiteralList | LiteralSet

literal_list(*items)#

Captures literal lists, such as [1, 2, 3, 4].

Parameters:

items (Any) –

Return type:

LiteralList

literal_set(*items)#

Captures literal sets, such as {1, 2, 3, 4}.

Parameters:

items (Any) –

Return type:

LiteralSet

number(value)#

Captures number literals, including integers, floats, and complex numbers.

Parameters:

value (int | float | complex) –

Return type:

int | float | complex

pragma_definition(pragma)[source]#
Parameters:

pragma (Dict[str, Any]) –

regression_rule_body_definition(suite)[source]#
Parameters:

suite (Tree) –

Return type:

BodyPart

regression_rule_definition(annotations, name, args, *parts)[source]#
Parameters:
regression_rule_goal_definition(suite)[source]#
Parameters:

suite (Tree) –

Return type:

GoalPart

regression_rule_precondition_definition(suite)[source]#
Parameters:

suite (Tree) –

Return type:

PreconditionPart

regression_rule_side_effect_definition(suite)[source]#
Parameters:

suite (Tree) –

Return type:

SideEffectPart

sized_vector_typename(name, size)#

Captures sized vector typenames defined as vector[typename, size].

Parameters:
Return type:

VectorValueType

string(value)#

Captures string literals.

Parameters:

value (str) –

Return type:

str

transform(tree)#

Transform the given tree, and return the final result

Parameters:

tree (Tree[_Leaf_T]) –

Return type:

_Return_T

type_definition(typename, basetype)[source]#
Parameters:

basetype (str | TypeBase | None) –

typed_argument(name, typename)#

Captures typed arguments defined as name: typename.

Parameters:
Return type:

Variable

typename(name)#

Captures typenames including basic types and vector types.

Parameters:

name (str | TypeBase) –

Return type:

TypeBase

undirected_generator_definition(annotations, name, args, *parts)[source]#
Parameters:
unsized_vector_typename(name)#

Captures unsized vector typenames defined as vector[typename].

Parameters:

name (str | TypeBase) –

Return type:

VectorValueType

domain: Domain#
expression_def_ctx: ExpressionDefinitionContext#
expression_interpreter: PDSketch3ExpressionInterpreter#