blob: ce7c6cd7ece2a82ac33247c902afac1f2771026b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
#ifndef CG_suifRepr_h
#define CG_suifRepr_h
#include <code_gen/CG_outputRepr.h>
#include <suif1.h>
namespace omega {
class CG_suifRepr : public CG_outputRepr {
friend class CG_suifBuilder;
public:
CG_suifRepr();
CG_suifRepr(tree_node_list *tnl);
CG_suifRepr(operand op);
virtual ~CG_suifRepr();
virtual CG_outputRepr *clone();
virtual void clear();
tree_node_list* GetCode() const;
operand GetExpression() const;
//---------------------------------------------------------------------------
// Dump operations
//---------------------------------------------------------------------------
virtual void Dump() const;
virtual void DumpToFile(FILE *fp = stderr) const;
private:
// only one of _tnl and _op would be active at any time, depending on
// whether it is building a statement list or an expression tree
tree_node_list *tnl_;
operand op_;
};
} // namespace
#endif
|