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_MIPS_TARGET_HH
7 # define TARGET_MIPS_TARGET_HH
8 
9 # include <target/target.hh>
10 # include <target/mips/cpu.hh>
12 # include <target/mips/codegen.hh>
13 
14 namespace target
15 {
16  namespace mips
17  {
18 
20  class Target : public target::Target
21  {
24  public:
26  Target (const CpuLimits& limits, bool rule_trace_p = false);
27  virtual ~Target ();
30  public:
31  virtual const Cpu& cpu_get () const override;
32  virtual Cpu& cpu_get () override;
33 
34  virtual const Assembly& assembly_get () const override;
35  virtual Assembly& assembly_get () override;
36 
37  virtual const Codegen& codegen_get () const override;
38  virtual Codegen& codegen_get () override;
39 
40  protected:
42 
43  mips::Codegen codegen_;
44 
45  // This should be a target::mips::Assembly, dynamicaly set to
46  // SpimAssembly or other.
48  };
49 
50  } // namespace mips
51 } // namespace target
52 
53 #endif // !TARGET_MIPS_TARGET_HH