Added back support for parsing effects and even conditional effects.
This commit is contained in:
@@ -173,6 +173,24 @@ using Preconditions = std::vector<Precondition>;
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
class ConditionalEffect;
|
||||
|
||||
namespace detail
|
||||
{
|
||||
using ConditionalEffectT = Variant<
|
||||
AtomicFormula,
|
||||
AndPointer<ConditionalEffect>,
|
||||
NotPointer<ConditionalEffect>,
|
||||
UnsupportedPointer>;
|
||||
}
|
||||
|
||||
class ConditionalEffect : public detail::ConditionalEffectT
|
||||
{
|
||||
using detail::ConditionalEffectT::ConditionalEffectT;
|
||||
};
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
class Effect;
|
||||
|
||||
namespace detail
|
||||
@@ -182,7 +200,7 @@ using EffectT = Variant<
|
||||
AndPointer<Effect>,
|
||||
ForAllPointer<Effect>,
|
||||
NotPointer<Effect>,
|
||||
WhenPointer<Precondition, Effect>,
|
||||
WhenPointer<Precondition, ConditionalEffect>,
|
||||
UnsupportedPointer>;
|
||||
}
|
||||
|
||||
|
27
lib/pddlparse/include/pddlparse/detail/parsing/Effect.h
Normal file
27
lib/pddlparse/include/pddlparse/detail/parsing/Effect.h
Normal file
@@ -0,0 +1,27 @@
|
||||
#ifndef __PDDL_PARSE__DETAIL__PARSING__EFFECT_H
|
||||
#define __PDDL_PARSE__DETAIL__PARSING__EFFECT_H
|
||||
|
||||
#include <pddlparse/ASTForward.h>
|
||||
#include <pddlparse/Context.h>
|
||||
#include <pddlparse/detail/ASTContext.h>
|
||||
#include <pddlparse/detail/VariableStack.h>
|
||||
|
||||
namespace pddl
|
||||
{
|
||||
namespace detail
|
||||
{
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Effect
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
std::experimental::optional<ast::Effect> parseEffect(Context &context, ASTContext &astContext, VariableStack &variableStack);
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
@@ -18,6 +18,7 @@ namespace detail
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
std::experimental::optional<ast::Precondition> parsePrecondition(Context &context, ASTContext &astContext, VariableStack &variableStack);
|
||||
std::experimental::optional<ast::Precondition> parsePreconditionBody(Context &context, ASTContext &astContext, VariableStack &variableStack);
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
Reference in New Issue
Block a user