LRDE Tiger Compiler  1.34a $Id: 7fef12e1f5fa43449d667a0eec1d837c40fc1202 $
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
ast.hh
Go to the documentation of this file.
1 
6 #ifndef AST_AST_HH
7 # define AST_AST_HH
8 
9 # include <ast/location.hh>
10 # include <ast/fwd.hh>
11 
12 namespace ast
13 {
14 
16  class Ast
17  {
20  public:
22  Ast(const Location& location);
24  virtual ~Ast();
27 
28 
29  public:
31  virtual void accept(ConstVisitor& v) const = 0;
33  virtual void accept(Visitor& v) = 0;
35 
38  public:
40  const Location& location_get() const;
42  void location_set(const Location&);
45  protected:
48  };
49 
50 } // namespace ast
51 
52 # include <ast/ast.hxx>
53 
54 #endif // !AST_AST_HH