2016-12-08 00:52:09 +01:00
|
|
|
#ifndef __PLASP__PDDL__TRANSLATION__PRIMITIVES_H
|
|
|
|
#define __PLASP__PDDL__TRANSLATION__PRIMITIVES_H
|
|
|
|
|
2017-06-22 20:58:31 +02:00
|
|
|
#include <colorlog/Formatting.h>
|
|
|
|
|
2017-08-09 17:52:50 +02:00
|
|
|
#include <pddl/NormalizedAST.h>
|
2017-06-20 01:53:55 +02:00
|
|
|
|
2017-06-22 20:58:31 +02:00
|
|
|
#include <plasp/TranslatorException.h>
|
2016-12-08 00:52:09 +01:00
|
|
|
|
|
|
|
namespace plasp
|
|
|
|
{
|
|
|
|
namespace pddl
|
|
|
|
{
|
|
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
//
|
|
|
|
// Primitives
|
|
|
|
//
|
|
|
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
2017-06-23 04:18:07 +02:00
|
|
|
inline colorlog::ColorStream &operator<<(colorlog::ColorStream &stream, const ::pddl::normalizedAST::ConstantDeclaration &constantDeclaration)
|
2017-06-20 01:53:55 +02:00
|
|
|
{
|
|
|
|
assert(!constantDeclaration.name.empty());
|
|
|
|
|
2017-06-22 20:58:31 +02:00
|
|
|
return (stream << colorlog::String(constantDeclaration.name.c_str()));
|
2017-06-20 01:53:55 +02:00
|
|
|
}
|
2016-12-08 00:52:09 +01:00
|
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
2017-06-23 04:18:07 +02:00
|
|
|
inline colorlog::ColorStream &operator<<(colorlog::ColorStream &stream, const ::pddl::normalizedAST::Constant &constant)
|
2016-12-08 00:52:09 +01:00
|
|
|
{
|
2017-06-20 01:53:55 +02:00
|
|
|
assert(constant.declaration != nullptr);
|
|
|
|
|
|
|
|
return (stream << *constant.declaration);
|
2016-12-08 00:52:09 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
2017-06-23 04:18:07 +02:00
|
|
|
inline colorlog::ColorStream &operator<<(colorlog::ColorStream &stream, const ::pddl::normalizedAST::PrimitiveTypeDeclaration &primitiveTypeDeclaration)
|
2017-06-20 01:53:55 +02:00
|
|
|
{
|
|
|
|
assert(!primitiveTypeDeclaration.name.empty());
|
|
|
|
|
2017-06-22 20:58:31 +02:00
|
|
|
return (stream << colorlog::String(primitiveTypeDeclaration.name.c_str()));
|
2016-12-08 00:52:09 +01:00
|
|
|
}
|
2017-06-20 01:53:55 +02:00
|
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
2017-06-23 04:18:07 +02:00
|
|
|
inline colorlog::ColorStream &operator<<(colorlog::ColorStream &stream, const ::pddl::normalizedAST::PrimitiveType &primitiveType)
|
2017-06-20 01:53:55 +02:00
|
|
|
{
|
|
|
|
assert(primitiveType.declaration != nullptr);
|
|
|
|
|
|
|
|
return (stream << *primitiveType.declaration);
|
|
|
|
}
|
|
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
// TODO: move to appropriate header
|
2017-06-23 04:18:07 +02:00
|
|
|
inline colorlog::ColorStream &operator<<(colorlog::ColorStream &stream, const ::pddl::normalizedAST::Action &action)
|
2017-06-20 01:53:55 +02:00
|
|
|
{
|
2017-06-22 20:58:31 +02:00
|
|
|
return (stream << colorlog::String(action.name.c_str()));
|
2017-06-20 01:53:55 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
// TODO: move to appropriate header
|
2017-06-23 04:18:07 +02:00
|
|
|
inline colorlog::ColorStream &operator<<(colorlog::ColorStream &stream, const ::pddl::normalizedAST::PredicateDeclaration &predicateDeclaration)
|
2017-06-20 01:53:55 +02:00
|
|
|
{
|
2017-06-22 20:58:31 +02:00
|
|
|
return (stream << colorlog::String(predicateDeclaration.name.c_str()));
|
2017-06-20 01:53:55 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
// TODO: move to appropriate header
|
2017-06-23 04:18:07 +02:00
|
|
|
inline colorlog::ColorStream &operator<<(colorlog::ColorStream &stream, const ::pddl::normalizedAST::Predicate &predicate)
|
2017-06-20 01:53:55 +02:00
|
|
|
{
|
|
|
|
return (stream << *predicate.declaration);
|
|
|
|
}
|
|
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
2017-06-23 04:18:07 +02:00
|
|
|
// TODO: move to appropriate header
|
|
|
|
inline colorlog::ColorStream &operator<<(colorlog::ColorStream &stream, const ::pddl::normalizedAST::DerivedPredicateDeclaration &derivedPredicateDeclaration)
|
|
|
|
{
|
|
|
|
return (stream << colorlog::String(derivedPredicateDeclaration.name.c_str()));
|
|
|
|
}
|
|
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
// TODO: move to appropriate header
|
|
|
|
inline colorlog::ColorStream &operator<<(colorlog::ColorStream &stream, const ::pddl::normalizedAST::DerivedPredicate &derivedPredicate)
|
|
|
|
{
|
|
|
|
return (stream << *derivedPredicate.declaration);
|
|
|
|
}
|
|
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
2016-12-08 00:52:09 +01:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif
|