concepts.pdsketch.parsers.csp_parser.PDSketchCSPProblemTransformer#

class PDSketchCSPProblemTransformer[source]#

Bases: PDSketchTransformer

Methods

action_controller(function_call)

action_definition(name, *defs)

action_definition2(name, extends, *defs)

action_effect(function_call)

action_instantiates(name)

action_name(name[, kwargs])

action_parameters(args)

action_precondition(function_call)

axiom_definition(decorator, vars, context, ...)

bool(v)

constant(name)

constants_definition(*args)

constraints_definition(function)

cspcommitflag(*args)

decorator_k(k)

decorator_kwarg(k[, v])

decorator_kwargs(args)

decorator_v(v)

definition_decl(definition_type, definition_name)

derived_definition(signature, expr)

derived_name(name[, kwargs])

derived_signature1(name, *args)

derived_signature2(name, *args)

ellipsis()

fancy_generator_definition(name, parameters, ...)

float(v)

function_call(name, *args)

function_name(name[, kwargs])

generator_definition(name, parameters, ...)

generator_name(name[, kwargs])

goal_definition(function_call)

init_definition_item(function_call)

int(v)

list(*args)

list_construction(*args)

list_expansion(e, args)

list_object_type_name(dtype)

list_value_type_name(dtype)

macro_content(*body_statements)

macro_definition(signature, body)

macro_name(name[, kwargs])

macro_signature(name, *args)

method_name(predicate_name, _, method_name)

object_type_name(typedef)

object_type_name_unwrapped(typedef)

objects_definition(*constants)

pm_function_call(pm_sign, function_call)

predicate_definition(name, *args)

predicate_definition2(name, *args)

predicate_group_definition(*args)

predicate_name(name[, kwargs])

quantified_function_call(quantifier, *args)

quantifiedvariable(quantifier, variable)

quantifier_name(name[, kwargs])

regression_body(*body_statements)

regression_definition(name, *defs)

regression_goal(function_call)

regression_name(name[, kwargs])

regression_parameters(args)

regression_precondition(function_call)

simple_function_call(name, *args)

slot(_, name[, kwargs])

string(v)

transform(tree)

Transform the given tree, and return the final result

type_definition(args)

Parse a type definition.

type_name(name)

typedconstant(name, typename)

typedvariable(name, typename)

value_type_name(typedef)

value_type_name_unwrapped(typedef)

variable(name)

variables_definition(*args)

vector_type_name(dtype, dim, choices[, kwargs])

__init__(domain, ignore_unknown_predicates=False)[source]#
Parameters:
  • domain (Domain) –

  • ignore_unknown_predicates (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)#
action_controller(function_call)#
action_definition(name, *defs)#
action_definition2(name, extends, *defs)#
action_effect(function_call)#
action_instantiates(name)#
action_name(name, kwargs=None)#
action_parameters(args)#
action_precondition(function_call)#
axiom_definition(decorator, vars, context, implies)#
bool(v)#
constant(name)#
Return type:

ObjectConstant

constants_definition(*args)[source]#
constraints_definition(function)[source]#
cspcommitflag(*args)#
decorator_k(k)#
decorator_kwarg(k, v=True)#
decorator_kwargs(args)#
decorator_v(v)#
definition_decl(definition_type, definition_name)#
derived_definition(signature, expr)#
derived_name(name, kwargs=None)#
derived_signature1(name, *args)#
derived_signature2(name, *args)#
ellipsis()#
fancy_generator_definition(name, parameters, certifies)#
float(v)#
function_call(name, *args)#
function_name(name, kwargs=None)#
generator_definition(name, parameters, certifies, context, generates)#
generator_name(name, kwargs=None)#
goal_definition(function_call)#
init_definition_item(function_call)#
int(v)#
list(*args)#
list_construction(*args)#
list_expansion(e, args)#
list_object_type_name(dtype)#
list_value_type_name(dtype)#
macro_content(*body_statements)#
macro_definition(signature, body)#
macro_name(name, kwargs=None)#
macro_signature(name, *args)#
method_name(predicate_name, _, method_name)#
object_type_name(typedef)#
object_type_name_unwrapped(typedef)#
objects_definition(*constants)#
pm_function_call(pm_sign, function_call)#
predicate_definition(name, *args)#
predicate_definition2(name, *args)#
predicate_group_definition(*args)#
predicate_name(name, kwargs=None)#
quantified_function_call(quantifier, *args)#
quantifiedvariable(quantifier, variable)#
quantifier_name(name, kwargs=None)#
regression_body(*body_statements)#
regression_definition(name, *defs)#
regression_goal(function_call)#
regression_name(name, kwargs=None)#
regression_parameters(args)#
regression_precondition(function_call)#
simple_function_call(name, *args)#
slot(_, name, kwargs=None)#
string(v)#
transform(tree)#

Transform the given tree, and return the final result

Parameters:

tree (Tree[_Leaf_T]) –

Return type:

_Return_T

type_definition(args)#

Parse a type definition.

Very ugly hack to handle multi-line definition in PDDL. In PDDL, type definition can be separated by newline. This kinds of breaks the parsing strategy that ignores all whitespaces. More specifically, consider the following two definitions:

(:types
  a
  b - a
)

and

(:types
  a b - a
)
type_name(name)#
typedconstant(name, typename)#
typedvariable(name, typename)#
value_type_name(typedef)#
value_type_name_unwrapped(typedef)#
variable(name)#
Return type:

Variable

variables_definition(*args)[source]#
vector_type_name(dtype, dim, choices, kwargs=None)#