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
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()
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)
def visitDurative_action_goal_descriptor_empty(self, ctx: pddl22Parser.Durative_action_goal_descriptor_emptyContext): return GoalDescriptor()
def visitGoal_descriptor_empty(self, ctx: pddl22Parser.Goal_descriptor_emptyContext): return GoalDescriptor()