LRDE Tiger Compiler  1.34a $Id: 7fef12e1f5fa43449d667a0eec1d837c40fc1202 $
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
binop.hh
Go to the documentation of this file.
1 
6 #ifndef TREE_BINOP_HH
7 # define TREE_BINOP_HH
8 
9 # include <iosfwd>
10 # include <tree/exp.hh>
11 
12 namespace tree
13 {
14 
15  class Binop : public Exp
16  {
17  public:
19  enum Oper
20  {
21  add,
22  sub,
23  mul,
24  div,
31  };
32 
39  Binop (const Oper oper, const rExp& left, const rExp& right);
40 
44 
45  rExp left_get () const;
46 
48  rExp right_get () const;
49 
52  Oper oper_get () const;
53 
59  virtual std::ostream& tag_print (std::ostream& ostr) const override;
60 
61  virtual kind_tree_type kind_get () const override;
62 
65  private:
67  };
68 
69 }
70 
71 # include <tree/binop.hxx>
72 
73 #endif // !TREE_BINOP_HH