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
broadway.h
Go to the documentation of this file.
1
2
#ifndef BDWY_H
3
#define BDWY_H
4
5
#define TREE
6
#define REF
7
8
// DQ (12/30/2005): This is a Bad Bad thing to do (I can explain)
9
// it hides names in the global namespace and causes errors in
10
// otherwise valid and useful code. Where it is needed it should
11
// appear only in *.C files (and only ones not included for template
12
// instantiation reasons) else they effect user who use ROSE unexpectedly.
13
// using namespace std;
14
15
#include <iostream>
16
17
#ifdef __C_BREEZE_H
18
#include "c_breeze.h"
19
#endif
20
#ifdef __POINTERS_H
21
#include "pointers.h"
22
#endif
23
#ifdef __ID_LOOKUP_WALKER_H
24
#include "id_lookup_walker.h"
25
#endif
26
#ifdef __META_H
27
#include "meta.h"
28
#endif
29
30
class
exprAnn
;
31
class
enumPropertyExprAnn
;
32
class
procedureAnn
;
33
class
analyzeAnn
;
34
class
structureAnn
;
35
class
Annotations
;
36
class
Analyzer;
37
class
propertyAnalyzer;
38
class
idNodeAnn;
39
class
annVariable
;
40
class
reportAnn
;
41
class
ruleAnn
;
42
class
pointerRuleAnn
;
43
class
actionAnn
;
44
45
class
propertyAnn
;
46
class
enumValueAnn
;
47
class
enumPropertyAnn
;
48
class
setPropertyAnn
;
49
50
class
enumvalue_set
;
51
52
class
Adaptor_Statistics
;
// TB
53
54
class
Broadway
55
{
56
public
:
57
60
typedef
enum
{
/* Logical connectives: */
And
,
Or
,
Not
,
61
/* Property tests: */
Is_Exactly
,
Is_AtLeast
,
Could_Be
,
Is_AtMost
,
Is_Bottom
,
Report
,
62
/* Numeric tests: */
Evaluate
,
Is_Constant
,
63
/* Pointer alias tests: */
Is_AliasOf
,
Is_SameAs
,
Is_Empty
,
64
/* Flow-value update: */
Assign
,
65
/* Sets: */
Is_Element_Of
,
Is_EmptySet
,
Add_Elements
,
66
/* Equivalences: */
Is_Equivalent
,
Add_Equivalences
67
68
}
Operator
;
69
72
typedef
enum
{
None
,
Before
,
After
,
Always
,
Ever
,
73
Trace
,
Confidence
74
}
FlowSensitivity
;
75
};
76
77
#include "
ann.h
"
78
79
#include "
annvariable.h
"
80
81
#ifdef INCLUDE_EXTRA
82
#include "
callingcontext.h
"
83
84
#endif
85
#include "
property.h
"
86
#include "
enum_property.h
"
87
#include "
set_property.h
"
88
89
// DQ (8/12/2004): Changed name to avoid conflit with EDG "expr.h" file
90
// #include "expr.h"
91
#include "
broadway_expr.h
"
92
93
#include "
structure.h
"
94
#include "
rule.h
"
95
96
#include "
pointerrule.h
"
97
#include "
report.h
"
98
#ifdef INCLUDE_EXTRA
99
#include "
action.h
"
100
#endif
101
#include "
analyze.h
"
102
#include "
procedure.h
"
103
104
#include "
annotations.h
"
105
#ifdef INCLUDE_EXTRA
106
#ifdef __PROPERTYANALYZER_H
107
#include "propertyanalyzer.h"
108
#endif
109
#include "
bdwy_liveness.h
"
110
#ifdef __ANALYZER_H
111
#include "analyzer.h"
112
#endif
113
114
#include "
cpattern.h
"
115
116
#include "
actionchanger.h
"
117
118
#include "
adaptor_statistics.h
"
119
#endif
120
121
#endif
/* BDWY_H */
rose-edg4x
src
midend
programAnalysis
annotationLanguageParser
broadway.h
Generated on Mon May 5 2014 17:28:51 for ROSE by
1.8.4