2016-11-23 04:41:38 +01:00
|
|
|
#ifndef __ANTHEM__CONTEXT_H
|
|
|
|
#define __ANTHEM__CONTEXT_H
|
|
|
|
|
2016-11-24 00:52:28 +01:00
|
|
|
#include <clingo.hh>
|
|
|
|
|
|
|
|
#include <anthem/output/Logger.h>
|
|
|
|
|
2016-11-23 04:41:38 +01:00
|
|
|
namespace anthem
|
|
|
|
{
|
|
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
//
|
|
|
|
// Context
|
|
|
|
//
|
|
|
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
struct Context
|
|
|
|
{
|
2016-11-24 16:50:35 +01:00
|
|
|
void reset()
|
|
|
|
{
|
|
|
|
headTerms.clear();
|
2017-03-06 15:40:23 +01:00
|
|
|
isChoiceRule = false;
|
|
|
|
numberOfHeadLiterals = 0;
|
2017-03-28 17:24:41 +02:00
|
|
|
auxiliaryBodyVariableID = 1;
|
2017-03-29 21:28:46 +02:00
|
|
|
anonymousVariableID = 1;
|
2016-11-24 16:50:35 +01:00
|
|
|
}
|
|
|
|
|
2016-11-24 00:52:28 +01:00
|
|
|
output::Logger logger;
|
|
|
|
|
|
|
|
std::vector<const Clingo::AST::Term *> headTerms;
|
2017-03-06 15:40:23 +01:00
|
|
|
bool isChoiceRule = false;
|
|
|
|
size_t numberOfHeadLiterals = 0;
|
2017-03-28 17:24:41 +02:00
|
|
|
size_t auxiliaryBodyVariableID = 1;
|
2017-03-29 21:28:46 +02:00
|
|
|
size_t anonymousVariableID = 1;
|
2017-03-16 15:45:55 +01:00
|
|
|
|
|
|
|
bool simplify = false;
|
2017-04-05 18:15:42 +02:00
|
|
|
bool complete = false;
|
2016-11-23 04:41:38 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif
|