patrick
/
plasp
Archived
1
0
Fork 0
This repository has been archived on 2023-07-19. You can view files and clone it, but cannot push or open issues or pull requests.
plasp/include/plasp/pddl/TranslatorASP.h

53 lines
1.2 KiB
C++

#ifndef __PLASP__PDDL__TRANSLATOR_ASP_H
#define __PLASP__PDDL__TRANSLATOR_ASP_H
#include <plasp/pddl/Description.h>
#include <iosfwd>
namespace plasp
{
namespace pddl
{
////////////////////////////////////////////////////////////////////////////////////////////////////
//
// TranslatorASP
//
////////////////////////////////////////////////////////////////////////////////////////////////////
class TranslatorASP
{
public:
explicit TranslatorASP(const Description &description, std::ostream &ostream);
void translate() const;
private:
void checkSupport() const;
void translateDomain() const;
void translateTypes() const;
void translateConstants() const;
void translatePredicates() const;
void translateActions() const;
void translateProblem() const;
void translateObjects() const;
void translateInitialState() const;
void translateVariablesHead(const expressions::Variables &variables) const;
void translateVariablesBody(const expressions::Variables &variables) const;
void translatePredicate(const expressions::Predicate &predicate) const;
const Description &m_description;
std::ostream &m_ostream;
};
////////////////////////////////////////////////////////////////////////////////////////////////////
}
}
#endif