souffle
2.0.2-371-g6315b36
|
Abstract class for RAM statements. More...
#include <Statement.h>
Public Member Functions | |
Statement * | clone () const override=0 |
Create a clone (i.e. More... | |
Public Member Functions inherited from souffle::ram::Node | |
virtual void | apply (const NodeMapper &) |
Apply the mapper to all child nodes. More... | |
virtual std::vector< const Node * > | getChildNodes () const |
Obtain list of all embedded child nodes. More... | |
bool | operator!= (const Node &other) const |
Inequality check for two RAM nodes. More... | |
bool | operator== (const Node &other) const |
Equivalence check for two RAM nodes. More... | |
virtual void | rewrite (const Node *oldNode, Own< Node > newNode) |
Rewrite a child node. More... | |
virtual | ~Node ()=default |
Protected Member Functions | |
void | print (std::ostream &os) const override |
Print RAM node. More... | |
virtual void | print (std::ostream &os, int tabpos) const =0 |
Pretty print with indentation. More... | |
Protected Member Functions inherited from souffle::ram::Node | |
virtual bool | equal (const Node &) const |
Equality check for two RAM nodes. More... | |
Static Protected Member Functions | |
static void | print (const Statement *statement, std::ostream &os, int tabpos) |
Pretty print jump-bed. More... | |
Friends | |
class | Program |
Abstract class for RAM statements.
Definition at line 37 of file Statement.h.
|
overridepure virtual |
Create a clone (i.e.
deep copy) of this node
Implements souffle::ram::Node.
Implemented in souffle::ram::LogRelationTimer, souffle::ram::Query, souffle::ram::Exit, souffle::ram::LogTimer, souffle::ram::Loop, souffle::ram::IO, souffle::ram::Parallel, souffle::ram::DebugInfo, souffle::ram::Extend, souffle::ram::Clear, souffle::ram::Call, souffle::ram::LogSize, souffle::ram::Swap, and souffle::ram::Sequence.
|
inlinestaticprotected |
Pretty print jump-bed.
Definition at line 49 of file Statement.h.
|
inlineoverrideprotectedvirtual |
Print RAM node.
Implements souffle::ram::Node.
Definition at line 42 of file Statement.h.
Referenced by souffle::ram::DebugInfo::apply(), souffle::ram::Loop::apply(), souffle::ram::LogTimer::apply(), and souffle::ram::LogRelationTimer::apply().
|
protectedpure virtual |
Pretty print with indentation.
Implemented in souffle::ram::LogRelationTimer, souffle::ram::Query, souffle::ram::Exit, souffle::ram::LogTimer, souffle::ram::Loop, souffle::ram::Parallel, souffle::ram::DebugInfo, souffle::ram::IO, souffle::ram::Extend, souffle::ram::Clear, souffle::ram::Call, souffle::ram::Sequence, souffle::ram::LogSize, and souffle::ram::Swap.
|
friend |
Definition at line 54 of file Statement.h.