clasplayer.h
No OneTemporary

File Metadata

Created
Wed, Jul 8, 6:24 AM

clasplayer.h

#ifndef CLASPLAYER_H
#define CLASPLAYER_H
#include <string>
#include <gringo/control.hh>
#include <ast.h>
#include <QStringList>
namespace xreate {
class CFGraph;
class ClaspLayer {
public:
AST *ast;
ClaspLayer();
void addFunctionTags(const std::string &function, const std::vector<Tag> &tags);
void addCFGData(CFGraph &&graph);
void addRuleWarning(const RuleWarning &rule);
void run();
private:
std::map<std::string, std::string> __hooks;
std::ostringstream __partTags;
std::ostringstream __partGeneral;
bool onModel(Gringo::Model const &model);
QStringList compile(const Expression &e) const;
QStringList compileNeg(const Expression &e) const;
std::string registerHook(const std::string &message);
};
class CFGraph {
friend class ClaspLayer;
public:
void addNode(FID function, std::string &&tag);
void addLink(FID nodeFrom, FID nodeTo);
bool existsNode(FID function) const;
void print(std::ostream &cout) const;
private:
std::map<FID, FID> __relations;
std::map<FID, std::string> __nodes;
};
}
#endif

Event Timeline