souffle
2.0.2-371-g6315b36
|
Defines an abstract class for literals in a horn clause. More...
#include <Literal.h>
Public Member Functions | |
Literal * | clone () 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 SrcLocation & | getSrcLoc () 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... | |
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.
|
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.