Added support for Imply expression.
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
#include <plasp/pddl/Context.h>
|
||||
#include <plasp/pddl/Identifier.h>
|
||||
#include <plasp/pddl/expressions/And.h>
|
||||
#include <plasp/pddl/expressions/Imply.h>
|
||||
#include <plasp/pddl/expressions/Not.h>
|
||||
#include <plasp/pddl/expressions/Or.h>
|
||||
#include <plasp/pddl/expressions/Predicate.h>
|
||||
@@ -93,8 +94,9 @@ ExpressionPointer parseExpressionContent(const std::string &expressionIdentifier
|
||||
expression = expressions::Or::parse(context, parameters, parseExpression);
|
||||
else if (expressionIdentifier == "not")
|
||||
expression = expressions::Not::parse(context, parameters, parseExpression);
|
||||
else if (expressionIdentifier == "imply"
|
||||
|| expressionIdentifier == "exists"
|
||||
else if (expressionIdentifier == "imply")
|
||||
expression = expressions::Imply::parse(context, parameters, parseExpression);
|
||||
else if (expressionIdentifier == "exists"
|
||||
|| expressionIdentifier == "forall"
|
||||
|| expressionIdentifier == "-"
|
||||
|| expressionIdentifier == "="
|
||||
|
38
src/plasp/pddl/expressions/Binary.cpp
Normal file
38
src/plasp/pddl/expressions/Binary.cpp
Normal file
@@ -0,0 +1,38 @@
|
||||
#include <plasp/pddl/expressions/Binary.h>
|
||||
|
||||
#include <algorithm>
|
||||
|
||||
#include <plasp/pddl/Context.h>
|
||||
#include <plasp/pddl/ExpressionVisitor.h>
|
||||
#include <plasp/pddl/Identifier.h>
|
||||
|
||||
namespace plasp
|
||||
{
|
||||
namespace pddl
|
||||
{
|
||||
namespace expressions
|
||||
{
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Binary
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
const Expression *Binary::leftArgument() const
|
||||
{
|
||||
return m_leftArgument.get();
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
const Expression *Binary::rightArgument() const
|
||||
{
|
||||
return m_rightArgument.get();
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
}
|
||||
}
|
||||
}
|
27
src/plasp/pddl/expressions/Imply.cpp
Normal file
27
src/plasp/pddl/expressions/Imply.cpp
Normal file
@@ -0,0 +1,27 @@
|
||||
#include <plasp/pddl/expressions/Imply.h>
|
||||
|
||||
#include <plasp/pddl/ExpressionVisitor.h>
|
||||
|
||||
namespace plasp
|
||||
{
|
||||
namespace pddl
|
||||
{
|
||||
namespace expressions
|
||||
{
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Imply
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
void Imply::accept(plasp::pddl::ExpressionVisitor &expressionVisitor) const
|
||||
{
|
||||
expressionVisitor.visit(*this);
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user