Renamed arguments to parameters in predicate declarations.
This commit is contained in:
parent
ebab65e233
commit
2334686c59
@ -25,7 +25,7 @@ class PredicateDeclaration: public ExpressionCRTP<PredicateDeclaration>
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
const std::string &name() const;
|
const std::string &name() const;
|
||||||
const Variables &arguments() const;
|
const Variables ¶meters() const;
|
||||||
|
|
||||||
bool isDeclared() const;
|
bool isDeclared() const;
|
||||||
|
|
||||||
|
@ -154,7 +154,7 @@ void TranslatorASP::translatePredicates() const
|
|||||||
const auto printPredicateName =
|
const auto printPredicateName =
|
||||||
[&](const auto &predicate)
|
[&](const auto &predicate)
|
||||||
{
|
{
|
||||||
if (predicate->arguments().empty())
|
if (predicate->parameters().empty())
|
||||||
{
|
{
|
||||||
m_outputStream << output::String(predicate->name().c_str());
|
m_outputStream << output::String(predicate->name().c_str());
|
||||||
|
|
||||||
@ -162,7 +162,7 @@ void TranslatorASP::translatePredicates() const
|
|||||||
}
|
}
|
||||||
|
|
||||||
m_outputStream << "(" << output::String(predicate->name().c_str());
|
m_outputStream << "(" << output::String(predicate->name().c_str());
|
||||||
translateVariablesHead(m_outputStream, predicate->arguments());
|
translateVariablesHead(m_outputStream, predicate->parameters());
|
||||||
m_outputStream << ")";
|
m_outputStream << ")";
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -178,7 +178,7 @@ void TranslatorASP::translatePredicates() const
|
|||||||
|
|
||||||
m_outputStream << "))";
|
m_outputStream << "))";
|
||||||
|
|
||||||
translateVariablesBody(m_outputStream, predicate->arguments());
|
translateVariablesBody(m_outputStream, predicate->parameters());
|
||||||
|
|
||||||
m_outputStream << ".";
|
m_outputStream << ".";
|
||||||
});
|
});
|
||||||
|
@ -42,7 +42,7 @@ void PredicateDeclaration::parse(Context &context, Domain &domain)
|
|||||||
ExpressionContext expressionContext(domain);
|
ExpressionContext expressionContext(domain);
|
||||||
expressionContext.variables.push(&predicate->m_parameters);
|
expressionContext.variables.push(&predicate->m_parameters);
|
||||||
|
|
||||||
// Parse arguments
|
// Parse parameters
|
||||||
Variable::parseTypedDeclarations(context, expressionContext, predicate->m_parameters);
|
Variable::parseTypedDeclarations(context, expressionContext, predicate->m_parameters);
|
||||||
|
|
||||||
context.parser.expect<std::string>(")");
|
context.parser.expect<std::string>(")");
|
||||||
@ -73,7 +73,7 @@ const std::string &PredicateDeclaration::name() const
|
|||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
const Variables &PredicateDeclaration::arguments() const
|
const Variables &PredicateDeclaration::parameters() const
|
||||||
{
|
{
|
||||||
return m_parameters;
|
return m_parameters;
|
||||||
}
|
}
|
||||||
|
@ -50,18 +50,18 @@ TEST_CASE("[PDDL parser] The Blocks World domain is parsed correctly", "[PDDL pa
|
|||||||
const auto &on = *domain.predicates()[0];
|
const auto &on = *domain.predicates()[0];
|
||||||
|
|
||||||
CHECK(on.name() == "on");
|
CHECK(on.name() == "on");
|
||||||
REQUIRE(on.arguments().size() == 2u);
|
REQUIRE(on.parameters().size() == 2u);
|
||||||
CHECK(on.arguments()[0]->name() == "x");
|
CHECK(on.parameters()[0]->name() == "x");
|
||||||
const auto &onArgument0Type = on.arguments()[0]->type()->as<expressions::PrimitiveType>();
|
const auto &onArgument0Type = on.parameters()[0]->type()->as<expressions::PrimitiveType>();
|
||||||
CHECK(&onArgument0Type == &block);
|
CHECK(&onArgument0Type == &block);
|
||||||
CHECK(on.arguments()[1]->name() == "y");
|
CHECK(on.parameters()[1]->name() == "y");
|
||||||
const auto &onArgument1Type = on.arguments()[1]->type()->as<expressions::PrimitiveType>();
|
const auto &onArgument1Type = on.parameters()[1]->type()->as<expressions::PrimitiveType>();
|
||||||
CHECK(&onArgument1Type == &block);
|
CHECK(&onArgument1Type == &block);
|
||||||
|
|
||||||
const auto &handempty = *domain.predicates()[3];
|
const auto &handempty = *domain.predicates()[3];
|
||||||
|
|
||||||
CHECK(handempty.name() == "handempty");
|
CHECK(handempty.name() == "handempty");
|
||||||
CHECK(handempty.arguments().empty());
|
CHECK(handempty.parameters().empty());
|
||||||
|
|
||||||
// Actions
|
// Actions
|
||||||
REQUIRE(domain.actions().size() == 4u);
|
REQUIRE(domain.actions().size() == 4u);
|
||||||
@ -207,19 +207,19 @@ TEST_CASE("[PDDL parser] The Storage domain is parsed correctly", "[PDDL parser]
|
|||||||
const auto &on = *domain.predicates()[5];
|
const auto &on = *domain.predicates()[5];
|
||||||
|
|
||||||
CHECK(on.name() == "on");
|
CHECK(on.name() == "on");
|
||||||
REQUIRE(on.arguments().size() == 2u);
|
REQUIRE(on.parameters().size() == 2u);
|
||||||
CHECK(on.arguments()[0]->name() == "c");
|
CHECK(on.parameters()[0]->name() == "c");
|
||||||
const auto &onArgument0Type = on.arguments()[0]->type()->as<expressions::PrimitiveType>();
|
const auto &onArgument0Type = on.parameters()[0]->type()->as<expressions::PrimitiveType>();
|
||||||
CHECK(&onArgument0Type == &crate);
|
CHECK(&onArgument0Type == &crate);
|
||||||
CHECK(on.arguments()[1]->name() == "s");
|
CHECK(on.parameters()[1]->name() == "s");
|
||||||
const auto &onArgument1Type = on.arguments()[1]->type()->as<expressions::PrimitiveType>();
|
const auto &onArgument1Type = on.parameters()[1]->type()->as<expressions::PrimitiveType>();
|
||||||
CHECK(&onArgument1Type == &storearea);
|
CHECK(&onArgument1Type == &storearea);
|
||||||
|
|
||||||
const auto &in = *domain.predicates()[1];
|
const auto &in = *domain.predicates()[1];
|
||||||
CHECK(in.name() == "in");
|
CHECK(in.name() == "in");
|
||||||
REQUIRE(in.arguments().size() == 2u);
|
REQUIRE(in.parameters().size() == 2u);
|
||||||
CHECK(in.arguments()[0]->name() == "x");
|
CHECK(in.parameters()[0]->name() == "x");
|
||||||
const auto &inArgument0Type = in.arguments()[0]->type()->as<expressions::Either>();
|
const auto &inArgument0Type = in.parameters()[0]->type()->as<expressions::Either>();
|
||||||
REQUIRE(inArgument0Type.arguments().size() == 2u);
|
REQUIRE(inArgument0Type.arguments().size() == 2u);
|
||||||
const auto &inArgument0Type0 = inArgument0Type.arguments()[0]->as<expressions::PrimitiveType>();
|
const auto &inArgument0Type0 = inArgument0Type.arguments()[0]->as<expressions::PrimitiveType>();
|
||||||
CHECK(&inArgument0Type0 == &storearea);
|
CHECK(&inArgument0Type0 == &storearea);
|
||||||
|
Reference in New Issue
Block a user