concepts.pdsketch.parsers.pdsketch_v3_parser.PDSketchV3ProblemTransformer#

class PDSketchV3ProblemTransformer[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.

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.

domain_def(filename)

goal_definition(suite)

in_typed_argument(name, value)

Captures typed arguments defined as name in value.

init_definition(suite)

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.

objects_definition(*objects)

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

typed_argument(name, typename)

Captures typed arguments defined as name: typename.

typename(name)

Captures typenames including basic types and vector types.

unsized_vector_typename(name)

Captures unsized vector typenames defined as vector[typename].

Attributes

domain

state

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, state=None, auto_constant_guess=False)[source]#
Parameters:
  • domain (Domain | None) –

  • state (State | None) –

  • auto_constant_guess (bool) –

__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)#
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]

domain_def(filename)[source]#
Parameters:

filename (str) –

goal_definition(suite)[source]#
Parameters:

suite (Tree) –

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

init_definition(suite)[source]#
Parameters:

suite (Tree) –

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

objects_definition(*objects)[source]#
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

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

unsized_vector_typename(name)#

Captures unsized vector typenames defined as vector[typename].

Parameters:

name (str | TypeBase) –

Return type:

VectorValueType

domain: Domain | None#
state: State | None#