OpenADFortTk (including Open64 and OpenAnalysis references)
|
#include <NewExprTree.hpp>
Classes | |
class | CallNode |
class | ChildNodesIterator |
class | ConstSymNode |
class | ConstValNode |
class | Edge |
class | EdgesIterator |
class | MemRefNode |
class | Node |
class | NodesIterator |
class | OpNode |
class | OutEdgesIterator |
class | PostOrderIterator |
class | PreOrderIterator |
class | ReversePostOrderIterator |
Public Member Functions | |
NewExprTree () | |
virtual | ~NewExprTree () |
OA_ptr< Node > | getRoot () |
void | acceptVisitor (NewExprTreeVisitor &pVisitor) |
visit root and then accept visitor on tree More... | |
void | connect (OA_ptr< Node > src, OA_ptr< Node > dst) |
void | disconnect (OA_ptr< Edge > e) |
void | copyAndConnectSubTree (OA_ptr< Node > src, OA_ptr< NewExprTree > subtree) |
bool | operator< (NewExprTree &rhs) |
bool | operator== (NewExprTree &rhs) |
void | str (std::ostream &os) |
void | dump (std::ostream &os, OA_ptr< IRHandlesIRInterface > ir) |
void | output (IRHandlesIRInterface &ir) |
Public Member Functions inherited from OA::ExprTree | |
ExprTree () | |
virtual | ~ExprTree () |
OA_ptr< Node > | getRoot () |
void | acceptVisitor (ExprTreeVisitor &pVisitor) |
visit root and then accept visitor on tree More... | |
void | connect (OA_ptr< Node > src, OA_ptr< Node > dst) |
void | disconnect (OA_ptr< Edge > e) |
void | copyAndConnectSubTree (OA_ptr< Node > src, OA_ptr< ExprTree > subtree) |
bool | operator< (ExprTree &other) |
an ordering for expression trees, needed for use within STL containers More... | |
bool | operator== (ExprTree &other) |
virtual int | getOrder () |
void | str (std::ostream &os) |
void | dump (std::ostream &os, OA_ptr< IRHandlesIRInterface > ir) |
ExprTree () | |
virtual | ~ExprTree () |
OA_ptr< Node > | getRoot () |
void | acceptVisitor (ExprTreeVisitor &pVisitor) |
visit root and then accept visitor on tree More... | |
void | connect (OA_ptr< Node > src, OA_ptr< Node > dst) |
void | disconnect (OA_ptr< Edge > e) |
void | copyAndConnectSubTree (OA_ptr< Node > src, OA_ptr< ExprTree > subtree) |
bool | operator< (ExprTree &other) |
an ordering for expression trees, needed for use within STL containers More... | |
bool | operator== (ExprTree &other) |
virtual int | getOrder () |
void | str (std::ostream &os) |
void | dump (std::ostream &os, OA_ptr< IRHandlesIRInterface > ir) |
Public Member Functions inherited from OA::Tree | |
Tree () | |
Tree (OA_ptr< Node > root) | |
virtual | ~Tree () |
OA_ptr< Node > | getRoot () |
void | addEdge (OA_ptr< Edge >) throw (DuplicateEdge, EdgeInUse, EmptyEdge, SecondParent, EmptyEndPoint) |
void | addNode (OA_ptr< Node >) throw (DuplicateNode, NodeInUse, EmptyNode) |
void | add_empty_edge (OA_ptr< Node >) throw (EmptyNode) |
void | removeEdge (OA_ptr< Edge >) throw (NonexistentEdge, EmptyEdge) |
void | removeNode (OA_ptr< Node >) throw (NonexistentNode, DeletingRootOfNonSingletonTree, EmptyNode) |
OA_ptr< NodesIterator > | getNodesIterator () const |
OA_ptr< EdgesIterator > | getEdgesIterator () const |
OA_ptr< PreOrderIterator > | getPreOrderIterator () |
OA_ptr< PostOrderIterator > | getPostOrderIterator () |
OA_ptr< ReversePostOrderIterator > | getReversePostOrderIterator () const |
Public Member Functions inherited from OA::Annotation | |
Annotation () | |
virtual | ~Annotation () |
Private Member Functions | |
bool | compareTreesRootedAt (OA_ptr< Node > rootLHS, OA_ptr< Node > rootRHS) |
Additional Inherited Members | |
Static Public Member Functions inherited from OA::Annotation | |
static void | configOutput (OA_ptr< OutputBuilder > ob) |
Protected Attributes inherited from OA::Tree | |
OA_ptr< Node > | root_node |
OA_ptr< Node > | mPostOrderStart |
OA_ptr< std::set< OA_ptr< Edge > > > | edge_set |
OA_ptr< std::set< OA_ptr< Node > > > | node_set |
bool | preorder_needed |
bool | postorder_needed |
bool | rpostorder_needed |
Static Protected Attributes inherited from OA::Annotation | |
static OA_ptr< OutputBuilder > | sOutBuild |
ExprTree is a Tree with enhanced nodes. It represents expressions involving various IRHandles.
Definition at line 44 of file NewExprTree.hpp.
OA::NewExprTree::NewExprTree | ( | ) |
Definition at line 28 of file NewExprTree.cpp.
References OA::debug, and OA_DEBUG_CTRL_MACRO.
|
virtual |
Definition at line 33 of file NewExprTree.cpp.
void OA::NewExprTree::acceptVisitor | ( | NewExprTreeVisitor & | pVisitor) |
visit root and then accept visitor on tree
visit nodes in require order and then accept visitor on tree
Definition at line 38 of file NewExprTree.cpp.
References OA::NewExprTree::Node::acceptVisitor(), getRoot(), OA::NewExprTreeVisitor::visitExprTreeAfter(), and OA::NewExprTreeVisitor::visitExprTreeBefore().
Referenced by output().
|
private |
Definition at line 99 of file NewExprTree.cpp.
References OA::OA_ptr< T >::convert(), and OA::debug.
Referenced by operator<().
Definition at line 65 of file NewExprTree.hpp.
Referenced by copyAndConnectSubTree().
void OA::NewExprTree::copyAndConnectSubTree | ( | OA_ptr< Node > | src, |
OA_ptr< NewExprTree > | subtree | ||
) |
Copies the given subtree into this tree as a child of the given node
Definition at line 51 of file NewExprTree.cpp.
References connect(), OA::NewExprTree::Node::copy(), OA::NewExprTree::NodesIterator::current(), OA::NewExprTree::EdgesIterator::current(), OA::Tree::NodesIterator::isValid(), OA::Tree::EdgesIterator::isValid(), OA::NewExprTree::Edge::sink(), and OA::NewExprTree::Edge::source().
Definition at line 67 of file NewExprTree.hpp.
References OA::OA_ptr< T >::convert().
void OA::NewExprTree::dump | ( | std::ostream & | os, |
OA_ptr< IRHandlesIRInterface > | ir | ||
) |
Definition at line 73 of file NewExprTree.cpp.
References OA::NewExprTree::NodesIterator::current(), OA::OA_ptr< T >::dump(), and OA::Tree::NodesIterator::isValid().
Definition at line 53 of file NewExprTree.hpp.
References OA::OA_ptr< T >::convert(), OA::Tree::getRoot(), and OA::n.
Referenced by acceptVisitor(), and operator<().
bool OA::NewExprTree::operator< | ( | NewExprTree & | rhs) |
Definition at line 88 of file NewExprTree.cpp.
References compareTreesRootedAt(), OA::debug, and getRoot().
bool OA::NewExprTree::operator== | ( | NewExprTree & | rhs) |
Definition at line 142 of file NewExprTree.cpp.
|
virtual |
Reimplemented from OA::ExprTree.
Definition at line 153 of file NewExprTree.cpp.
References acceptVisitor(), and OA::Annotation::sOutBuild.
void OA::NewExprTree::str | ( | std::ostream & | os) |