| souffle
    2.0.2-371-g6315b36
    | 
 
 
 
Go to the documentation of this file.
   34     static constexpr 
const char* boundPrefix = 
"+underscore";
 
   35     static size_t underscoreCount = 0;
 
   38         mutable bool changed = 
false;
 
   39         nameVariables() = 
default;
 
   42             if (isA<UnnamedVariable>(node.get())) {
 
   44                 std::stringstream name;
 
   45                 name << boundPrefix << 
"_" << underscoreCount++;
 
   46                 return mk<ast::Variable>(name.str());
 
   53     Program& program = translationUnit.getProgram();
 
   57             clause->
apply(update);
 
   58             changed |= update.changed;
 
  
An abstract class for manipulating AST Nodes by substitution.
Defines a relation with a name, attributes, qualifiers, and internal representation.
Intermediate representation of a horn clause.
The program class consists of relations, clauses and types.
std::vector< Relation * > getRelations() const
Return relations.
std::vector< Clause * > getClauses(const Program &program, const QualifiedName &relationName)
Returns a vector of clauses in the program describing the relation with the given name.
void rel(size_t limit, bool showLimit=true)
void apply(const NodeMapper &map) override
Apply the mapper to all child nodes.