LRDE Tiger Compiler  1.34a $Id: 7fef12e1f5fa43449d667a0eec1d837c40fc1202 $
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
layout.hh
Go to the documentation of this file.
1 
6 #ifndef ASSEM_LAYOUT_HH
7 # define ASSEM_LAYOUT_HH
8 
9 # include <iosfwd>
10 
11 # include <temp/fwd.hh>
12 # include <assem/visitor.hh>
13 
14 namespace assem
15 {
16 
18  class Layout : public ConstVisitor
19  {
22  public:
23  Layout();
24  virtual ~Layout();
29  public:
30  void ostr_set(std::ostream& ostr);
31  void tempmap_set(const temp::TempMap& tempmap);
32  void debug_set(bool debug);
37  public:
39  virtual void operator()(const ProcFrag& a) override = 0;
41  virtual void operator()(const DataFrag& a) override = 0;
43  virtual void operator()(const Fragments& frags) override;
44 
45  protected:
46  std::ostream* postr_;
48  };
49 
50 } // namespace assem
51 
52 # include <assem/layout.hxx>
53 
54 #endif // !ASSEM_LAYOUT_HH