Reimplemented initial state parser.

This commit is contained in:
2017-06-17 19:58:00 +02:00
parent fbcb790611
commit f90009b6d1
6 changed files with 96 additions and 51 deletions

View File

@@ -241,11 +241,14 @@ using Literals = std::vector<Literal>;
////////////////////////////////////////////////////////////////////////////////////////////////////
class Fact;
namespace detail
{
using FactT = Variant<
AtomicFormula,
AtPointer<Literal>>;
AtPointer<Literal>,
NotPointer<Fact>>;
}
class Fact : public detail::FactT

View File

@@ -0,0 +1,27 @@
#ifndef __PDDL_PARSE__DETAIL__PARSING__FACT_H
#define __PDDL_PARSE__DETAIL__PARSING__FACT_H
#include <pddlparse/ASTForward.h>
#include <pddlparse/Context.h>
#include <pddlparse/detail/ASTContext.h>
#include <pddlparse/detail/VariableStack.h>
namespace pddl
{
namespace detail
{
////////////////////////////////////////////////////////////////////////////////////////////////////
//
// Fact
//
////////////////////////////////////////////////////////////////////////////////////////////////////
std::experimental::optional<ast::Fact> parseFact(Context &context, ASTContext &astContext, VariableStack &variableStack);
////////////////////////////////////////////////////////////////////////////////////////////////////
}
}
#endif

View File

@@ -15,7 +15,7 @@ namespace detail
//
////////////////////////////////////////////////////////////////////////////////////////////////////
ast::InitialState parseInitialState(Context &context, ASTContext &expressionContext);
ast::InitialState parseInitialState(Context &context, ASTContext &astContext, VariableStack &variableStack);
////////////////////////////////////////////////////////////////////////////////////////////////////