ROSE  0.9.6a
 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;
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,
62  /* Numeric tests: */ Evaluate, Is_Constant,
63  /* Pointer alias tests: */ Is_AliasOf, Is_SameAs, Is_Empty,
64  /* Flow-value update: */ Assign,
66  /* Equivalences: */ Is_Equivalent, Add_Equivalences
67 
68  } Operator;
69 
72  typedef enum { None, Before, After, Always, Ever,
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 */