souffle  2.0.2-371-g6315b36
Public Member Functions
souffle::ast::Literal Class Referenceabstract

Defines an abstract class for literals in a horn clause. More...

#include <Literal.h>

Inheritance diagram for souffle::ast::Literal:
Inheritance graph
Collaboration diagram for souffle::ast::Literal:
Collaboration graph

Public Member Functions

Literalclone () const override=0
 Create a clone (i.e. More...
 
 Node (SrcLocation loc={})
 
- Public Member Functions inherited from souffle::ast::Node
virtual void apply (const NodeMapper &)
 Apply the mapper to all child nodes. More...
 
std::string extloc () const
 Return source location of the syntactic element. More...
 
virtual std::vector< const Node * > getChildNodes () const
 Obtain a list of all embedded AST child nodes. More...
 
const SrcLocationgetSrcLoc () const
 Return source location of the Node. More...
 
 Node (SrcLocation loc={})
 
bool operator!= (const Node &other) const
 Inequality check for two AST nodes. More...
 
bool operator== (const Node &other) const
 Equivalence check for two AST nodes. More...
 
void setSrcLoc (SrcLocation l)
 Set source location for the Node. More...
 
virtual ~Node ()=default
 

Additional Inherited Members

- Protected Member Functions inherited from souffle::ast::Node
virtual bool equal (const Node &) const
 Abstract equality check for two AST nodes. More...
 
virtual void print (std::ostream &os) const =0
 Output to a given output stream. More...
 

Detailed Description

Defines an abstract class for literals in a horn clause.

Literals can be atoms, binary relations, and negated atoms in the body and head of a clause.

Definition at line 36 of file Literal.h.

Member Function Documentation

◆ clone()

Literal* souffle::ast::Literal::clone ( ) const
overridepure virtual

Create a clone (i.e.

deep copy) of this node

Implements souffle::ast::Node.

Implemented in souffle::ast::Constraint, souffle::ast::Atom, souffle::ast::Negation, and souffle::ast::ProvenanceNegation.

◆ Node()

souffle::ast::Node::Node
inline

Definition at line 42 of file Node.h.

45 {

The documentation for this class was generated from the following file: