LRDE Tiger Compiler  1.34a $Id: 7fef12e1f5fa43449d667a0eec1d837c40fc1202 $
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
fwd.hh
Go to the documentation of this file.
1 
7 #ifndef AST_FWD_HH
8 # define AST_FWD_HH
9 
10 
11 # include <list>
12 # include <misc/fwd.hh>
13 # include <misc/xalloc.hh>
14 
15 
16 namespace ast
17 {
18 
19  class ArrayExp;
20  class ArrayTy;
21  class AssignExp;
22  class Ast;
23  class BreakExp;
24  class CallExp;
25  class CastExp;
26  class CastVar;
27  class ClassTy;
28  class Dec;
29  class DecsList;
30  class Escapable;
31  class Exp;
32  class Field;
33  class FieldInit;
34  class FieldVar;
35  class ForExp;
36  class FunctionDec;
37  class IfExp;
38  class IntExp;
39  class LetExp;
40  class MethodCallExp;
41  class MethodDec;
42  class NameTy;
43  class NilExp;
44  class ObjectExp;
45  class OpExp;
46  class RecordExp;
47  class RecordTy;
48  class SeqExp;
49  class SimpleVar;
50  class StringExp;
51  class SubscriptVar;
52  class Ty;
53  class Typable;
54  class TypeConstructor;
55  class TypeDec;
56  class Var;
57  class VarDec;
58  class WhileExp;
59 
60 
61  // From visitor.hh
62  template <template <typename> class Const>
63  class GenVisitor;
66 
67  // Collections of nodes.
68  typedef std::list<Exp*> exps_type;
69  typedef std::list<FieldInit*> fieldinits_type;
70  typedef std::list<Field*> fields_type;
71 
72  // From decs.hh.
73  class Decs;
74 
75  // From decs-list.hh.
76  class DecsList;
77 
78  // From anydecs.hh.
79  template <typename T>
80  class AnyDecs;
85 
86 
87 } // namespace ast
88 
89 #endif // !AST_FWD_HH