summaryrefslogtreecommitdiff
path: root/lib/codegen/include/code_gen/CG_outputRepr.h
blob: d72ae6fc7086f1a418d6f58f95a37b321967573d (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
/*****************************************************************************
 Copyright (C) 1994-2000 the Omega Project Team
 Copyright (C) 2005-2011 Chun Chen
 All Rights Reserved.

 Purpose:
   abstract base class of compiler IR code wrapper

 Notes:

 History:
   04/17/96 - Lei Zhou - created
*****************************************************************************/

#ifndef _CG_OUTPUTREPR_H
#define _CG_OUTPUTREPR_H

#include <string.h>

namespace omega {

class CG_outputRepr {
public:
  
  CG_outputRepr() {}
  virtual ~CG_outputRepr() { /* shallow delete */ }
  virtual CG_outputRepr *clone() const = 0;
  virtual void clear() { /* delete actual IR code wrapped inside */ }
  virtual void dump() const {}
  virtual char *type() const = 0; 
};

}

#endif