LRDE Tiger Compiler  1.34a $Id: 7fef12e1f5fa43449d667a0eec1d837c40fc1202 $
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
subscript-var.hh
Go to the documentation of this file.
1 
6 #ifndef AST_SUBSCRIPT_VAR_HH
7 # define AST_SUBSCRIPT_VAR_HH
8 
9 # include <ast/exp.hh>
10 # include <ast/var.hh>
11 
12 namespace ast
13 {
14 
16  class SubscriptVar : public Var
17  {
20  public:
22  SubscriptVar(const Location& location, Var* var, Exp* index);
24  virtual ~SubscriptVar();
27 
28 
29  public:
31  virtual void accept(ConstVisitor& v) const override;
33  virtual void accept(Visitor& v) override;
35 
38  public:
40  const Var& var_get() const;
42  Var& var_get();
44  const Exp& index_get() const;
46  Exp& index_get();
49  protected:
51  Var* var_;
54  };
55 
56 } // namespace ast
57 
58 # include <ast/subscript-var.hxx>
59 
60 #endif // !AST_SUBSCRIPT_VAR_HH