ROSE
0.9.6a
|
#include <AstCombinedProcessing.h>
Public Member Functions | |
AstCombinedTopDownBottomUpProcessing () | |
default constructor More... | |
AstCombinedTopDownBottomUpProcessing (const TraversalPtrList &) | |
constructor that makes an internal copy of an existing list of traversals More... | |
void | addTraversal (TraversalPtr) |
simple function for adding a traversal to the internal list More... | |
TraversalPtrList & | get_traversalPtrListRef () |
function for obtaining a reference to the internal list of traversals, you can use this for any container operations you like (deleting elements etc.) More... | |
Public Member Functions inherited from AstTopDownBottomUpProcessing< std::vector< InheritedAttributeType > *, std::vector< SynthesizedAttributeType > * > | |
std::vector < SynthesizedAttributeType > * | traverse (SgNode *node, std::vector< InheritedAttributeType > *inheritedValue) |
evaluates attributes on the entire AST More... | |
std::vector < SynthesizedAttributeType > * | traverseWithinFile (SgNode *node, std::vector< InheritedAttributeType > *inheritedValue) |
evaluates attributes only at nodes which represent the same file as where the evaluation was started More... | |
Public Member Functions inherited from SgTreeTraversal< std::vector< InheritedAttributeType > *, std::vector< SynthesizedAttributeType > * > | |
std::vector < SynthesizedAttributeType > * | traverse (SgNode *basenode, std::vector< InheritedAttributeType > *inheritedValue, t_traverseOrder travOrder=preandpostorder) |
std::vector < SynthesizedAttributeType > * | traverseWithinFile (SgNode *basenode, std::vector< InheritedAttributeType > *inheritedValue, t_traverseOrder travOrder=preandpostorder) |
void | traverseInputFiles (SgProject *projectNode, std::vector< InheritedAttributeType > *inheritedValue, t_traverseOrder travOrder=preandpostorder) |
virtual | ~SgTreeTraversal () |
SgTreeTraversal () | |
SgTreeTraversal (const SgTreeTraversal &) | |
const SgTreeTraversal & | operator= (const SgTreeTraversal &) |
Protected Member Functions | |
virtual InheritedAttributeTypeList * | evaluateInheritedAttribute (SgNode *astNode, InheritedAttributeTypeList *inheritedValues) |
pure virtual function which must be implemented to compute the inherited attribute at a node More... | |
virtual SynthesizedAttributeTypeList * | evaluateSynthesizedAttribute (SgNode *astNode, InheritedAttributeTypeList *inheritedValues, SynthesizedAttributesList synthesizedAttributes) |
virtual SynthesizedAttributeTypeList * | defaultSynthesizedAttribute (InheritedAttributeTypeList *) |
virtual void | atTraversalStart () |
Function called at the start of the traversal, before any node is visited; override if necessary, the default implementation is a no-op. More... | |
virtual void | atTraversalEnd () |
Protected Member Functions inherited from AstTopDownBottomUpProcessing< std::vector< InheritedAttributeType > *, std::vector< SynthesizedAttributeType > * > | |
virtual std::vector < SynthesizedAttributeType > * | evaluateSynthesizedAttribute (SgNode *, std::vector< InheritedAttributeType > *, SynthesizedAttributesList)=0 |
pure virtual function which must be implemented to compute the synthesized attribute at a node. More... | |
Protected Member Functions inherited from SgTreeTraversal< std::vector< InheritedAttributeType > *, std::vector< SynthesizedAttributeType > * > | |
virtual void | setNodeSuccessors (SgNode *node, SuccessorsContainer &succContainer) |
void | set_useDefaultIndexBasedTraversal (bool) |
Protected Attributes | |
TraversalPtrList | traversals |
Private Attributes | |
TraversalPtrList::iterator | tBegin |
TraversalPtrList::iterator | tEnd |
TraversalPtrList::size_type | numberOfTraversals |
Additional Inherited Members | |
Protected Types inherited from SgTreeTraversal< std::vector< InheritedAttributeType > *, std::vector< SynthesizedAttributeType > * > | |
typedef AstSuccessorsSelectors::SuccessorsContainer | SuccessorsContainer |
typedef SuccessorsContainer & | SuccessorsContainerRef |
Definition at line 66 of file AstCombinedProcessing.h.
typedef AstTopDownBottomUpProcessing<InheritedAttributeType, SynthesizedAttributeType> AstCombinedTopDownBottomUpProcessing< InheritedAttributeType, SynthesizedAttributeType >::TraversalType |
Definition at line 70 of file AstCombinedProcessing.h.
typedef TraversalType* AstCombinedTopDownBottomUpProcessing< InheritedAttributeType, SynthesizedAttributeType >::TraversalPtr |
Definition at line 71 of file AstCombinedProcessing.h.
typedef std::vector<TraversalPtr> AstCombinedTopDownBottomUpProcessing< InheritedAttributeType, SynthesizedAttributeType >::TraversalPtrList |
Definition at line 72 of file AstCombinedProcessing.h.
typedef std::vector<InheritedAttributeType> AstCombinedTopDownBottomUpProcessing< InheritedAttributeType, SynthesizedAttributeType >::InheritedAttributeTypeList |
Definition at line 73 of file AstCombinedProcessing.h.
typedef std::vector<SynthesizedAttributeType> AstCombinedTopDownBottomUpProcessing< InheritedAttributeType, SynthesizedAttributeType >::SynthesizedAttributeTypeList |
Definition at line 74 of file AstCombinedProcessing.h.
typedef AstTopDownBottomUpProcessing<std::vector<InheritedAttributeType> *, std::vector<SynthesizedAttributeType> *> AstCombinedTopDownBottomUpProcessing< InheritedAttributeType, SynthesizedAttributeType >::Superclass |
Definition at line 75 of file AstCombinedProcessing.h.
typedef Superclass::SynthesizedAttributesList AstCombinedTopDownBottomUpProcessing< InheritedAttributeType, SynthesizedAttributeType >::SynthesizedAttributesList |
Definition at line 76 of file AstCombinedProcessing.h.
AstCombinedTopDownBottomUpProcessing< InheritedAttributeType, SynthesizedAttributeType >::AstCombinedTopDownBottomUpProcessing | ( | ) |
default constructor
AstCombinedTopDownBottomUpProcessing< InheritedAttributeType, SynthesizedAttributeType >::AstCombinedTopDownBottomUpProcessing | ( | const TraversalPtrList & | ) |
constructor that makes an internal copy of an existing list of traversals
void AstCombinedTopDownBottomUpProcessing< InheritedAttributeType, SynthesizedAttributeType >::addTraversal | ( | TraversalPtr | ) |
simple function for adding a traversal to the internal list
TraversalPtrList& AstCombinedTopDownBottomUpProcessing< InheritedAttributeType, SynthesizedAttributeType >::get_traversalPtrListRef | ( | ) |
function for obtaining a reference to the internal list of traversals, you can use this for any container operations you like (deleting elements etc.)
|
protectedvirtual |
pure virtual function which must be implemented to compute the inherited attribute at a node
Reimplemented in AstSharedMemoryParallelizableTopDownBottomUpProcessing< InheritedAttributeType, SynthesizedAttributeType >, and AstSharedMemoryParallelizableTopDownBottomUpProcessing< I, S >.
Referenced by AstCombinedTopDownBottomUpProcessing< I, S >::evaluateInheritedAttribute(), and AstSharedMemoryParallelizableTopDownBottomUpProcessing< I, S >::evaluateInheritedAttribute().
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
Function called at the start of the traversal, before any node is visited; override if necessary, the default implementation is a no-op.
Reimplemented from AstTopDownBottomUpProcessing< std::vector< InheritedAttributeType > *, std::vector< SynthesizedAttributeType > * >.
|
protectedvirtual |
Reimplemented from AstTopDownBottomUpProcessing< std::vector< InheritedAttributeType > *, std::vector< SynthesizedAttributeType > * >.
Reimplemented in AstSharedMemoryParallelizableTopDownBottomUpProcessing< InheritedAttributeType, SynthesizedAttributeType >, and AstSharedMemoryParallelizableTopDownBottomUpProcessing< I, S >.
Referenced by AstSharedMemoryParallelizableTopDownBottomUpProcessing< I, S >::atTraversalEnd().
|
protected |
Definition at line 102 of file AstCombinedProcessing.h.
Referenced by AstCombinedTopDownBottomUpProcessing< I, S >::addTraversal(), AstCombinedTopDownBottomUpProcessing< I, S >::atTraversalStart(), AstCombinedTopDownBottomUpProcessing< I, S >::defaultSynthesizedAttribute(), AstCombinedTopDownBottomUpProcessing< I, S >::evaluateSynthesizedAttribute(), and AstCombinedTopDownBottomUpProcessing< I, S >::get_traversalPtrListRef().
|
private |
|
private |
|
private |
Definition at line 106 of file AstCombinedProcessing.h.
Referenced by AstCombinedTopDownBottomUpProcessing< I, S >::atTraversalStart(), AstCombinedTopDownBottomUpProcessing< I, S >::defaultSynthesizedAttribute(), AstCombinedTopDownBottomUpProcessing< I, S >::evaluateInheritedAttribute(), and AstCombinedTopDownBottomUpProcessing< I, S >::evaluateSynthesizedAttribute().