Parsing PDDL requirements.

This commit is contained in:
2016-05-30 15:06:04 +02:00
parent 8aa419b5c2
commit 5c37026ec7
4 changed files with 49 additions and 4 deletions

View File

@@ -1,6 +1,7 @@
#ifndef __PLASP__PDDL__DOMAIN_H
#define __PLASP__PDDL__DOMAIN_H
#include <plasp/pddl/Requirement.h>
#include <plasp/utils/Parser.h>
namespace plasp
@@ -19,12 +20,19 @@ class Domain
public:
static Domain fromPDDL(utils::Parser &parser);
public:
const std::string &name() const;
const Requirement::Types &requirements() const;
private:
Domain() = default;
void parseSection(utils::Parser &parser);
void parseRequirementsSection(utils::Parser &parser);
std::string m_name;
Requirement::Types m_requirements;
};
////////////////////////////////////////////////////////////////////////////////////////////////////

View File

@@ -2,6 +2,7 @@
#define __PLASP__PDDL__REQUIREMENT_H
#include <plasp/utils/Parser.h>
#include <vector>
namespace plasp
{
@@ -40,6 +41,8 @@ struct Requirement
ActionCosts
};
using Types = std::vector<Type>;
static Requirement::Type fromPDDL(utils::Parser &parser);
static void toPDDL(std::ostream &ostream, Requirement::Type requirementType);