|  | 
| Clause * | souffle::ast::cloneHead (const Clause *clause) | 
|  | Returns a clause which contains head of the given clause.  More... 
 | 
|  | 
| const Relation * | souffle::ast::getAtomRelation (const Atom *atom, const Program *program) | 
|  | Returns the relation referenced by the given atom.  More... 
 | 
|  | 
| std::set< const Relation * > | souffle::ast::getBodyRelations (const Clause *clause, const Program *program) | 
|  | Returns the relations referenced in the body of the given clause.  More... 
 | 
|  | 
| size_t | souffle::ast::getClauseNum (const Program *program, const Clause *clause) | 
|  | Returns the index of a clause within its relation, ignoring facts.  More... 
 | 
|  | 
| std::vector< Clause * > | souffle::ast::getClauses (const Program &program, const QualifiedName &relationName) | 
|  | Returns a vector of clauses in the program describing the relation with the given name.  More... 
 | 
|  | 
| std::vector< Clause * > | souffle::ast::getClauses (const Program &program, const Relation &rel) | 
|  | Returns a vector of clauses in the program describing the given relation.  More... 
 | 
|  | 
| std::vector< Directive * > | souffle::ast::getDirectives (const Program &program, const QualifiedName &relationName) | 
|  | 
| const Relation * | souffle::ast::getHeadRelation (const Clause *clause, const Program *program) | 
|  | Returns the relation referenced by the head of the given clause.  More... 
 | 
|  | 
| std::vector< const RecordInit * > | souffle::ast::getRecords (const Node &root) | 
|  | Obtains a list of all records referenced within the AST rooted by the given root node.  More... 
 | 
|  | 
| Relation * | souffle::ast::getRelation (const Program &program, const QualifiedName &name) | 
|  | Returns the relation with the given name in the program.  More... 
 | 
|  | 
| std::vector< const Variable * > | souffle::ast::getVariables (const Node &root) | 
|  | Obtains a list of all variables referenced within the AST rooted by the given root node.  More... 
 | 
|  | 
| bool | souffle::ast::hasClauseWithAggregatedRelation (const Relation *relation, const Relation *aggRelation, const Program *program, const Literal *&foundLiteral) | 
|  | Returns whether the given relation has any clauses which contain an aggregation over of a specific relation.  More... 
 | 
|  | 
| bool | souffle::ast::hasClauseWithNegatedRelation (const Relation *relation, const Relation *negRelation, const Program *program, const Literal *&foundLiteral) | 
|  | Returns whether the given relation has any clauses which contain a negation of a specific relation.  More... 
 | 
|  | 
| bool | souffle::ast::isDeltaRelation (const QualifiedName &name) | 
|  | Returns whether the given atom is a delta relation.  More... 
 | 
|  | 
| bool | souffle::ast::isFact (const Clause &clause) | 
|  | Returns whether the given clause is a fact.  More... 
 | 
|  | 
| bool | souffle::ast::isProposition (const Atom *atom) | 
|  | Returns whether the given atom is a propositon.  More... 
 | 
|  | 
| bool | souffle::ast::isRecursiveClause (const Clause &clause) | 
|  | Returns whether the given clause is recursive.  More... 
 | 
|  | 
| bool | souffle::ast::isRule (const Clause &clause) | 
|  | Returns whether the given clause is a rule.  More... 
 | 
|  | 
| void | souffle::ast::negateConstraintInPlace (Constraint &constraint) | 
|  | Negate an ast constraint.  More... 
 | 
|  | 
| std::string | souffle::ast::pprint (const Node &node) | 
|  | 
| void | souffle::ast::removeRelation (TranslationUnit &tu, const QualifiedName &name) | 
|  | Remove relation and all its clauses from the program.  More... 
 | 
|  | 
| void | souffle::ast::removeRelationClauses (TranslationUnit &tu, const QualifiedName &name) | 
|  | Removes the set of clauses with the given relation name.  More... 
 | 
|  | 
| void | souffle::ast::removeRelationIOs (TranslationUnit &tu, const QualifiedName &name) | 
|  | Removes the set of IOs with the given relation name.  More... 
 | 
|  | 
| bool | souffle::ast::renameAtoms (Node &node, const std::map< QualifiedName, QualifiedName > &oldToNew) | 
|  | Rename all atoms hat appear in a node to a given name.  More... 
 | 
|  | 
| Clause * | souffle::ast::reorderAtoms (const Clause *clause, const std::vector< unsigned int > &newOrder) | 
|  | Reorders the atoms of a clause to be in the given order.  More... 
 | 
|  |