souffle
2.0.2-371-g6315b36
|
Go to the documentation of this file.
29 class TranslationUnit;
36 class RecursiveClausesAnalysis :
public Analysis {
38 static constexpr
const char*
name =
"recursive-clauses";
42 void run(
const TranslationUnit& translationUnit)
override;
44 void print(std::ostream& os)
const override;
Analysis(std::string identifier)
void run(const TranslationUnit &translationUnit) override
run analysis for a Ast translation unit
Intermediate representation of a horn clause.
bool computeIsRecursive(const Clause &clause, const TranslationUnit &translationUnit) const
Determines whether the given clause is recursive within the given program.
RecursiveClausesAnalysis()
std::set< const Clause * > recursiveClauses
void print(std::ostream &os) const override
print the analysis result in HTML format
Translation unit class for the translation pipeline.
bool recursive(const Clause *clause) const
static constexpr const char * name