LRDE Tiger Compiler  1.34a $Id: 7fef12e1f5fa43449d667a0eec1d837c40fc1202 $
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
target.hh
Go to the documentation of this file.
1 
6 #ifndef TARGET_TARGET_HH
7 # define TARGET_TARGET_HH
8 
9 # include <iosfwd>
10 # include <target/fwd.hh>
11 
12 namespace target
13 {
15  class Target
16  {
19  public:
20  virtual ~Target();
25  public:
26  virtual const Cpu& cpu_get() const = 0;
27  virtual Cpu& cpu_get() = 0;
28 
29  virtual const Assembly& assembly_get() const = 0;
30  virtual Assembly& assembly_get() = 0;
31 
32  virtual const Codegen& codegen_get() const = 0;
33  virtual Codegen& codegen_get() = 0;
37 
38  std::ostream& dump(std::ostream& ostr) const;
39  };
40 
42  std::ostream& operator<< (std::ostream& ostr, const Target& t);
43 
44 } // namespace target
45 
46 #endif // !TARGET_TARGET_HH