Exemple #1
0
    def visitDurative_action_def(self,
                                 ctx: pddl22Parser.Durative_action_defContext):

        op_formula = AtomicFormula(ctx.name().getText())
        for param_list in ctx.typed_var_list():
            op_formula.typed_parameters.extend(self.visit(param_list))

        if ctx.durative_action_goal_descriptor():
            condition = self.visit(ctx.durative_action_goal_descriptor())
        else:
            condition = GoalDescriptor()

        if ctx.durative_action_effect():
            effect = self.visit(ctx.durative_action_effect())
        else:
            effect = Effect()

        self.operator = Operator(op_formula,
                                 durative=True,
                                 duration=self.visit(
                                     ctx.duration_constraint()),
                                 condition=condition,
                                 effect=effect)

        self.domain.operators[op_formula.name] = self.operator
 def __init__(self,
         # header
         formula  : AtomicFormula,
         durative : bool,
         duration : Duration = Duration(),
         condition : GoalDescriptor = GoalDescriptor(),
         effect : Effect = Effect(),
         ) -> None:
     self.formula = formula
     self.durative = durative
     self.duration = duration
     self.condition = condition
     self.effect = effect
Exemple #3
0
 def __init__(
     self,
     # header
     formula: AtomicFormula,
     durative: bool,
     duration: Duration = None,
     condition: GoalDescriptor = None,
     effect: Effect = None,
 ) -> None:
     self.formula: AtomicFormula = formula
     self.durative: bool = durative
     self.duration: Duration = duration if duration else Duration()
     self.condition: GoalDescriptor = condition if condition else GoalDescriptor(
     )
     self.effect: Effect = effect if effect else Effect()
Exemple #4
0
    def visitAction_def(self, ctx:pddl22Parser.Action_defContext):

        op_formula = AtomicFormula(ctx.name().getText())
        for param_list in ctx.typed_var_list():
            op_formula.typed_parameters.extend(self.visit(param_list))

        if ctx.goal_descriptor(): condition = self.visit(ctx.goal_descriptor())
        else: condition = GoalDescriptor()

        if ctx.effect(): effect = self.visit(ctx.effect())
        else: effect = Effect()

        self.operator = Operator(op_formula,
            durative=False,
            condition=condition,
            effect=effect)

        self.domain.operators.append(self.operator)
Exemple #5
0
 def visitDurative_action_goal_descriptor_empty(self, ctx: pddl22Parser.Durative_action_goal_descriptor_emptyContext):
     return GoalDescriptor()
Exemple #6
0
 def visitGoal_descriptor_empty(self, ctx: pddl22Parser.Goal_descriptor_emptyContext):
     return GoalDescriptor()