LRDE Tiger Compiler  1.34a $Id: 7fef12e1f5fa43449d667a0eec1d837c40fc1202 $
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
instr.hxx
Go to the documentation of this file.
1 
6 #ifndef ASSEM_INSTR_HXX
7 # define ASSEM_INSTR_HXX
8 
9 # include <assem/instr.hh>
10 
11 namespace assem
12 {
13 
14  inline
15  Instr::Instr(const std::string& assem,
16  const temp::temp_list_type& used_temps,
17  const temp::temp_list_type& defd_temps,
18  const temp::label_list_type& jump_labels)
19  : assem_(assem)
20  , use_(used_temps)
21  , def_(defd_temps)
22  , jumps_(jump_labels)
23  {
24  }
25 
26  inline const temp::temp_list_type&
27  Instr::use() const
28  {
29  return use_;
30  }
31 
32  inline temp::temp_list_type&
34  {
35  return use_;
36  }
37 
38  inline const temp::temp_list_type&
39  Instr::def() const
40  {
41  return def_;
42  }
43 
44  inline temp::temp_list_type&
46  {
47  return def_;
48  }
49 
50  inline const temp::label_list_type&
51  Instr::jumps() const
52  {
53  return jumps_;
54  }
55 
56 
57  inline std::ostream&
58  operator<<(std::ostream& ostr, const Instr& instr)
59  {
60  return instr.dump(ostr);
61  }
62 
63 } // namespace assem
64 
65 #endif // !ASSEM_INSTR_HXX