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

@@ -33,7 +33,7 @@ TEST_CASE("[PDDL parser acceptance] All official PDDL domains are parsed without
{
pddl::Tokenizer tokenizer;
tokenizer.read(domainFile);
pddl::Context context(std::move(tokenizer), ignoreWarnings);
pddl::Context context(std::move(tokenizer), ignoreWarnings, pddl::Mode::Compatibility);
CHECK_NOTHROW(pddl::parseDescription(context));
}
@@ -67,7 +67,7 @@ TEST_CASE("[PDDL parser acceptance] The first instance for all official PDDL dom
pddl::Tokenizer tokenizer;
tokenizer.read(domainFile);
tokenizer.read(instanceFile);
pddl::Context context(std::move(tokenizer), ignoreWarnings);
pddl::Context context(std::move(tokenizer), ignoreWarnings, pddl::Mode::Compatibility);
CHECK_NOTHROW(pddl::parseDescription(context));
}

View File

@@ -188,6 +188,8 @@ TEST_CASE("[PDDL parser] The official PDDL instances are parsed correctly", "[PD
SECTION("“either” type in zenotravel domain")
{
context.mode = pddl::Mode::Compatibility;
const auto domainFile = pddlInstanceBasePath / "ipc-2002" / "domains" / "zenotravel-numeric-hand-coded" / "domain.pddl";
context.tokenizer.read(domainFile);
auto description = pddl::parseDescription(context);