Implemented compatibility mode to support old instances.

This commit is contained in:
2017-06-17 22:18:39 +02:00
parent dde277cc3e
commit 615167e7cd
9 changed files with 52 additions and 9 deletions

View File

@@ -3,6 +3,7 @@
#include <functional>
#include <pddlparse/Mode.h>
#include <pddlparse/Tokenizer.h>
namespace pddl
@@ -27,9 +28,10 @@ struct Context
Context() = default;
~Context() = default;
explicit Context(Tokenizer &&tokenizer, WarningCallback warningCallback)
explicit Context(Tokenizer &&tokenizer, WarningCallback warningCallback, Mode mode = Mode::Strict)
: tokenizer{std::move(tokenizer)},
warningCallback{warningCallback}
warningCallback{warningCallback},
mode{mode}
{
}
@@ -40,6 +42,8 @@ struct Context
Tokenizer tokenizer;
WarningCallback warningCallback;
Mode mode;
};
////////////////////////////////////////////////////////////////////////////////////////////////////

View File

@@ -0,0 +1,27 @@
#ifndef __PDDL_PARSE__MODE_H
#define __PDDL_PARSE__MODE_H
#include <functional>
#include <pddlparse/Tokenizer.h>
namespace pddl
{
////////////////////////////////////////////////////////////////////////////////////////////////////
//
// Mode
//
////////////////////////////////////////////////////////////////////////////////////////////////////
enum class Mode
{
Strict,
Compatibility
};
////////////////////////////////////////////////////////////////////////////////////////////////////
}
#endif