ROSE
0.9.6a
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
AstTraversal.h
Go to the documentation of this file.
1
// Author: Markus Schordan
2
// $Id: AstTraversal.h,v 1.3 2006/04/24 00:21:32 dquinlan Exp $
3
4
#ifndef ASTTRAVERSAL_H
5
#define ASTTRAVERSAL_H
6
7
8
#include "TreeTraversal.h"
9
//#include "sage3.h"
10
11
// WORK IN PROGRESS. DO NOT MODIFY OR THINK ABOUT IT.
12
13
// test new traversal classes
14
// example class for tree traversal
15
class
AstPreOrderTraversal
:
public
PreOrderTraversal<SgNode*> {
16
protected
:
17
virtual
void
preOrderVisit
(
SgNode
* node);
18
virtual
void
setChildrenContainer
(
SgNode
* node, std::vector<SgNode*>& c);
19
};
20
21
class
AstPrePostOrderTraversal
:
public
PrePostOrderTraversal<SgNode*> {
22
protected
:
23
virtual
void
setChildrenContainer
(
SgNode
* node, std::vector<SgNode*>& c);
24
};
25
35
class
AstCycleTest
:
public
AstPrePostOrderTraversal
{
36
public
:
39
std::list<SgNode*>
determineCycle
(std::list<SgNode*>& l,
SgNode
* node);
40
std::list<SgNode*>
activeNodes
;
41
virtual
void
preOrderVisit
(
SgNode
* node);
42
45
virtual
void
setChildrenContainer
(
SgNode
* node, std::vector<SgNode*>& c);
46
virtual
void
postOrderVisit
(
SgNode
* node);
47
virtual
void
modifyChildrenContainer
(
SgNode
* node, std::vector<SgNode*>& c) {}
48
};
49
50
#endif
51
rose-edg4x
src
midend
astProcessing
AstTraversal.h
Generated on Mon May 5 2014 17:28:51 for ROSE by
1.8.4