Removing trailing () at the end of 0-ary values for ASP output.
This commit is contained in:
parent
273e310c60
commit
d219ef0388
@ -44,6 +44,7 @@ struct Value
|
||||
|
||||
Sign m_sign;
|
||||
std::string m_name;
|
||||
bool m_hasArguments;
|
||||
};
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -31,7 +31,8 @@ const Value Value::Any = Value::any();
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
Value::Value()
|
||||
: m_sign(Sign::Positive)
|
||||
: m_sign{Sign::Positive},
|
||||
m_hasArguments{true}
|
||||
{
|
||||
}
|
||||
|
||||
@ -54,6 +55,13 @@ Value Value::fromSAS(std::istream &istream)
|
||||
{
|
||||
istream.ignore(1);
|
||||
std::getline(istream, value.m_name);
|
||||
|
||||
// Remove trailing ()
|
||||
if (value.m_name.find("()") != std::string::npos)
|
||||
{
|
||||
value.m_hasArguments = false;
|
||||
value.m_name.resize(value.m_name.size() - 2);
|
||||
}
|
||||
}
|
||||
catch (const std::exception &e)
|
||||
{
|
||||
@ -97,6 +105,9 @@ void Value::printAsSAS(std::ostream &ostream) const
|
||||
ostream << "NegatedAtom ";
|
||||
|
||||
ostream << m_name;
|
||||
|
||||
if (!m_hasArguments)
|
||||
ostream << "()";
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
Reference in New Issue
Block a user