|
souffle
2.0.2-371-g6315b36
|
RAM program relation declaration and functions. More...
#include <Program.h>


Public Member Functions | |
| void | apply (const NodeMapper &map) override |
| Apply the mapper to all child nodes. More... | |
| Program * | clone () const override |
| Create a clone (i.e. More... | |
| std::vector< const Node * > | getChildNodes () const override |
| Obtain list of all embedded child nodes. More... | |
| Statement & | getMain () const |
| Get main program. More... | |
| std::vector< Relation * > | getRelations () const |
| Get all relations of RAM program More... | |
| const Statement & | getSubroutine (const std::string &name) const |
| Get a specific subroutine. More... | |
| const std::map< std::string, Statement * > | getSubroutines () const |
| Get all subroutines of a RAM program. More... | |
| Program (VecOwn< Relation > rels, Own< Statement > main, std::map< std::string, Own< Statement >> subs) | |
Public Member Functions inherited from souffle::ram::Node | |
| 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 | |
| bool | equal (const Node &node) const override |
| Equality check for two RAM nodes. More... | |
| void | print (std::ostream &out) const override |
| Print RAM node. More... | |
Protected Attributes | |
| Own< Statement > | main |
| Main program. More... | |
| VecOwn< Relation > | relations |
| Relations of RAM program. More... | |
| std::map< std::string, Own< Statement > > | subroutines |
| Subroutines for provenance system. More... | |
Private Member Functions | |
| Program ()=default | |
RAM program relation declaration and functions.
A typical example:
|
privatedefault |
|
inline |
Definition at line 63 of file Program.h.
References souffle::ast::analysis::sub().

|
inlineoverridevirtual |
|
inlineoverridevirtual |
Create a clone (i.e.
deep copy) of this node
Implements souffle::ram::Node.
Definition at line 110 of file Program.h.
References souffle::clone(), and souffle::ast::analysis::sub().

|
inlineoverrideprotectedvirtual |
Equality check for two RAM nodes.
Default action is that nothing needs to be checked.
Reimplemented from souffle::ram::Node.
Definition at line 151 of file Program.h.
|
inlineoverridevirtual |
Obtain list of all embedded child nodes.
Reimplemented from souffle::ram::Node.
Definition at line 74 of file Program.h.
References souffle::ast::analysis::sub().

|
inline |
|
inline |
Get all relations of RAM program
Definition at line 92 of file Program.h.
References souffle::ast::analysis::sub().

|
inline |
|
inline |
Get all subroutines of a RAM program.
|
inlineoverrideprotectedvirtual |
Print RAM node.
Implements souffle::ram::Node.
Definition at line 133 of file Program.h.
References souffle::ast::analysis::sub().

1.8.17