From 02a5b11884a840e2da531bfd36820051ecccd587 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Patrick=20L=C3=BChne?= Date: Mon, 23 May 2016 15:36:23 +0200 Subject: [PATCH] Switching SAS translator output format to multi-valued variable representation. --- src/plasp/sas/TranslatorASP.cpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/plasp/sas/TranslatorASP.cpp b/src/plasp/sas/TranslatorASP.cpp index 888f973..2405cce 100644 --- a/src/plasp/sas/TranslatorASP.cpp +++ b/src/plasp/sas/TranslatorASP.cpp @@ -70,11 +70,13 @@ void TranslatorASP::translate(std::ostream &ostream) const std::for_each(initialStateFacts.cbegin(), initialStateFacts.cend(), [&](const auto &fact) { - if (fact.value() == Value::None || fact.value().sign() == Value::Sign::Negative) + if (fact.value() == Value::None) return; ostream << "initialState("; - fact.value().printAsASP(ostream); + fact.variable().printNameAsASP(ostream); + ostream << ", "; + fact.value().printAsASPPredicateBody(ostream); ostream << ")." << std::endl; }); @@ -90,6 +92,8 @@ void TranslatorASP::translate(std::ostream &ostream) const return; ostream << "goal("; + fact.variable().printNameAsASP(ostream); + ostream << ", "; fact.value().printAsASPPredicateBody(ostream); ostream << ")." << std::endl; }); @@ -147,6 +151,8 @@ void TranslatorASP::translate(std::ostream &ostream) const ostream << "precondition("; operator_.predicate().printAsASP(ostream); ostream << ", "; + precondition.variable().printNameAsASP(ostream); + ostream << ", "; precondition.value().printAsASPPredicateBody(ostream); ostream << ")." << std::endl; }); @@ -162,6 +168,8 @@ void TranslatorASP::translate(std::ostream &ostream) const ostream << "postcondition("; operator_.predicate().printAsASP(ostream); ostream << ", "; + effect.postcondition().variable().printNameAsASP(ostream); + ostream << ", "; effect.postcondition().value().printAsASPPredicateBody(ostream); ostream << ")." << std::endl; }); @@ -184,6 +192,8 @@ void TranslatorASP::translate(std::ostream &ostream) const [&](const auto &fact) { ostream << "mutexGroupFact(mutexGroup" << i << ", "; + fact.variable().printNameAsASP(ostream); + ostream << ", "; fact.value().printAsASPPredicateBody(ostream); ostream << ")." << std::endl; });