ROSE 0.11.145.147
Public Types | Public Member Functions | Protected Member Functions | List of all members
AstSharedMemoryParallelizableTopDownBottomUpProcessing< InheritedAttributeType, SynthesizedAttributeType > Class Template Reference

Description

template<class InheritedAttributeType, class SynthesizedAttributeType>
class AstSharedMemoryParallelizableTopDownBottomUpProcessing< InheritedAttributeType, SynthesizedAttributeType >

Definition at line 78 of file AstSharedMemoryParallelProcessing.h.

Inheritance diagram for AstSharedMemoryParallelizableTopDownBottomUpProcessing< InheritedAttributeType, SynthesizedAttributeType >:
Inheritance graph
[legend]
Collaboration diagram for AstSharedMemoryParallelizableTopDownBottomUpProcessing< InheritedAttributeType, SynthesizedAttributeType >:
Collaboration graph
[legend]

Public Types

typedef AstCombinedTopDownBottomUpProcessing< InheritedAttributeType, SynthesizedAttributeType > Superclass
 
typedef Superclass::TraversalType TraversalType
 
typedef Superclass::TraversalPtr TraversalPtr
 
typedef Superclass::TraversalPtrList TraversalPtrList
 
typedef Superclass::InheritedAttributeTypeList InheritedAttributeTypeList
 
typedef Superclass::SynthesizedAttributeTypeList SynthesizedAttributeTypeList
 
typedef Superclass::SynthesizedAttributesList SynthesizedAttributesList
 
- Public Types inherited from AstCombinedTopDownBottomUpProcessing< InheritedAttributeType, SynthesizedAttributeType >
typedef AstTopDownBottomUpProcessing< InheritedAttributeType, SynthesizedAttributeType > TraversalType
 
typedef TraversalTypeTraversalPtr
 
typedef std::vector< TraversalPtrTraversalPtrList
 
typedef std::vector< InheritedAttributeType > InheritedAttributeTypeList
 
typedef std::vector< SynthesizedAttributeType > SynthesizedAttributeTypeList
 
typedef AstTopDownBottomUpProcessing< std::vector< InheritedAttributeType > *, std::vector< SynthesizedAttributeType > * > Superclass
 
typedef Superclass::SynthesizedAttributesList SynthesizedAttributesList
 
- Public Types inherited from AstTopDownBottomUpProcessing< std::vector< InheritedAttributeType > *, std::vector< SynthesizedAttributeType > * >
typedef SgTreeTraversal< std::vector< InheritedAttributeType > *, std::vector< SynthesizedAttributeType > * >::SynthesizedAttributesList SynthesizedAttributesList
 
typedef SynthesizedAttributesList SubTreeSynthesizedAttributes
 
- Public Types inherited from SgTreeTraversal< InheritedAttributeType, SynthesizedAttributeType >
typedef StackFrameVector< SynthesizedAttributeType > SynthesizedAttributesList
 

Public Member Functions

 AstSharedMemoryParallelizableTopDownBottomUpProcessing (const AstSharedMemoryParallelProcessingSynchronizationInfo &, const TraversalPtrList &)
 
void set_runningParallelTraversal (bool val)
 
- Public Member Functions inherited from AstCombinedTopDownBottomUpProcessing< InheritedAttributeType, SynthesizedAttributeType >
 AstCombinedTopDownBottomUpProcessing ()
 default constructor
 
 AstCombinedTopDownBottomUpProcessing (const TraversalPtrList &)
 constructor that makes an internal copy of an existing list of traversals
 
void addTraversal (TraversalPtr)
 simple function for adding a traversal to the internal list
 
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.)
 
- 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
 
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
 
- Public Member Functions inherited from SgTreeTraversal< InheritedAttributeType, SynthesizedAttributeType >
SynthesizedAttributeType traverse (SgNode *basenode, InheritedAttributeType inheritedValue, t_traverseOrder travOrder=preandpostorder)
 
SynthesizedAttributeType traverseWithinFile (SgNode *basenode, InheritedAttributeType inheritedValue, t_traverseOrder travOrder=preandpostorder)
 
void traverseInputFiles (SgProject *projectNode, InheritedAttributeType inheritedValue, t_traverseOrder travOrder=preandpostorder)
 
 SgTreeTraversal (const SgTreeTraversal &)
 
const SgTreeTraversaloperator= (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
 
virtual void atTraversalEnd ()
 
- Protected Member Functions inherited from AstCombinedTopDownBottomUpProcessing< InheritedAttributeType, SynthesizedAttributeType >
virtual SynthesizedAttributeTypeList * evaluateSynthesizedAttribute (SgNode *astNode, InheritedAttributeTypeList *inheritedValues, SynthesizedAttributesList synthesizedAttributes)
 pure virtual function which must be implemented to compute the synthesized attribute at a node.
 
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.
 
- Protected Member Functions inherited from SgTreeTraversal< InheritedAttributeType, SynthesizedAttributeType >
virtual InheritedAttributeType evaluateInheritedAttribute (SgNode *astNode, InheritedAttributeType inheritedValue)=0
 
virtual SynthesizedAttributeType evaluateSynthesizedAttribute (SgNode *n, InheritedAttributeType in, SynthesizedAttributesList l)=0
 
virtual void setNodeSuccessors (SgNode *node, SuccessorsContainer &succContainer)
 
virtual SynthesizedAttributeType defaultSynthesizedAttribute (InheritedAttributeType inh)
 
void set_useDefaultIndexBasedTraversal (bool)
 

Additional Inherited Members

- Protected Types inherited from SgTreeTraversal< InheritedAttributeType, SynthesizedAttributeType >
typedef AstSuccessorsSelectors::SuccessorsContainer SuccessorsContainer
 
typedef SuccessorsContainer & SuccessorsContainerRef
 
- Protected Attributes inherited from AstCombinedTopDownBottomUpProcessing< InheritedAttributeType, SynthesizedAttributeType >
TraversalPtrList traversals
 

Member Typedef Documentation

◆ Superclass

template<class InheritedAttributeType , class SynthesizedAttributeType >
typedef AstCombinedTopDownBottomUpProcessing<InheritedAttributeType, SynthesizedAttributeType> AstSharedMemoryParallelizableTopDownBottomUpProcessing< InheritedAttributeType, SynthesizedAttributeType >::Superclass

Definition at line 83 of file AstSharedMemoryParallelProcessing.h.

◆ TraversalType

template<class InheritedAttributeType , class SynthesizedAttributeType >
typedef Superclass::TraversalType AstSharedMemoryParallelizableTopDownBottomUpProcessing< InheritedAttributeType, SynthesizedAttributeType >::TraversalType

Definition at line 84 of file AstSharedMemoryParallelProcessing.h.

◆ TraversalPtr

template<class InheritedAttributeType , class SynthesizedAttributeType >
typedef Superclass::TraversalPtr AstSharedMemoryParallelizableTopDownBottomUpProcessing< InheritedAttributeType, SynthesizedAttributeType >::TraversalPtr

Definition at line 85 of file AstSharedMemoryParallelProcessing.h.

◆ TraversalPtrList

template<class InheritedAttributeType , class SynthesizedAttributeType >
typedef Superclass::TraversalPtrList AstSharedMemoryParallelizableTopDownBottomUpProcessing< InheritedAttributeType, SynthesizedAttributeType >::TraversalPtrList

Definition at line 86 of file AstSharedMemoryParallelProcessing.h.

◆ InheritedAttributeTypeList

template<class InheritedAttributeType , class SynthesizedAttributeType >
typedef Superclass::InheritedAttributeTypeList AstSharedMemoryParallelizableTopDownBottomUpProcessing< InheritedAttributeType, SynthesizedAttributeType >::InheritedAttributeTypeList

Definition at line 87 of file AstSharedMemoryParallelProcessing.h.

◆ SynthesizedAttributeTypeList

template<class InheritedAttributeType , class SynthesizedAttributeType >
typedef Superclass::SynthesizedAttributeTypeList AstSharedMemoryParallelizableTopDownBottomUpProcessing< InheritedAttributeType, SynthesizedAttributeType >::SynthesizedAttributeTypeList

Definition at line 88 of file AstSharedMemoryParallelProcessing.h.

◆ SynthesizedAttributesList

template<class InheritedAttributeType , class SynthesizedAttributeType >
typedef Superclass::SynthesizedAttributesList AstSharedMemoryParallelizableTopDownBottomUpProcessing< InheritedAttributeType, SynthesizedAttributeType >::SynthesizedAttributesList

Definition at line 89 of file AstSharedMemoryParallelProcessing.h.

Member Function Documentation

◆ evaluateInheritedAttribute()

template<class InheritedAttributeType , class SynthesizedAttributeType >
virtual InheritedAttributeTypeList * AstSharedMemoryParallelizableTopDownBottomUpProcessing< InheritedAttributeType, SynthesizedAttributeType >::evaluateInheritedAttribute ( SgNode astNode,
InheritedAttributeTypeList *  inheritedValue 
)
protectedvirtual

pure virtual function which must be implemented to compute the inherited attribute at a node

Reimplemented from AstCombinedTopDownBottomUpProcessing< InheritedAttributeType, SynthesizedAttributeType >.

◆ atTraversalEnd()

template<class InheritedAttributeType , class SynthesizedAttributeType >
virtual void AstSharedMemoryParallelizableTopDownBottomUpProcessing< InheritedAttributeType, SynthesizedAttributeType >::atTraversalEnd ( )
protectedvirtual

The documentation for this class was generated from the following file: