void requires(pddl_req_flag flags) { if (!(flags & current_analysis->req)) current_analysis->error_list.add( E_WARNING, "Undeclared requirement " + pddl_req_flags_string(flags)); }
void domain::display(int ind) const { TITLE(domain); LEAF(name); LEAF(req); indent(ind); cout << pddl_req_flags_string(req); // FIELD(types); // FIELD(constants); // FIELD(pred_vars); FIELD(predicates); FIELD(ops); FIELD(drvs); }
void problem::display(int ind) const { TITLE(problem); LEAF(req); indent(ind+1); cout << pddl_req_flags_string(req); FIELD(types); FIELD(objects); FIELD(initial_state); FIELD(the_goal); FIELD(constraints); FIELD(metric); FIELD(length); };
void PrettyPrinter::write_domain(ostream & o,const domain * p) { string s = pddl_req_flags_string(p->req ^ E_DURATIVE_ACTIONS); o << "(define (domain " << p->name << ")\n(:requirements " << s << ":continuous-effects)\n"; if(p->types) { o << "(:types " << *(p->types) << ")\n"; }; o << "(:predicates\n\t"; if(p->predicates) { for_each(p->predicates->begin(),p->predicates->end(),Writer(o)); }; // PredWriter pw(o); // p->ops->visit(&pw); o << ")\n"; if(p->functions) { o << "(:functions\n\t"; for_each(p->functions->begin(),p->functions->end(),Writer(o)); o << ")\n"; }; if(p->constants) { o << "(:constants\n\t"; for_each(p->constants->begin(),p->constants->end(),Writer(o)); o << ")\n"; }; o << "\n"; p->ops->write(o); o << ")\n"; };
void RelaxTranslator::write_domain(ostream & o,const domain * p) { string s = pddl_req_flags_string(p->req ^ E_TIME); o << "(define (domain " << p->name << ")\n(:requirements " << s << ")\n"; if(p->types) { o << "(:types " << *(p->types) << ")\n"; }; o << "(:predicates\n\t"; if(p->predicates) { for_each(p->predicates->begin(),p->predicates->end(),Writer(o)); }; o << ")\n"; if(p->functions) { o << "(:functions\n\t"; for_each(p->functions->begin(),p->functions->end(),Writer(o)); o << ")\n"; }; if(p->constants) { o << "(:constants\n\t"; for_each(p->constants->begin(),p->constants->end(),Writer(o)); o << ")\n"; }; o << "\n"; p->ops->write(o); o << ")\n"; };