source: translator/SynTree/SynTree.h @ c8ffe20b

ADTaaron-thesisarm-ehast-experimentalcleanup-dtorsctordeferred_resndemanglerenumforall-pointer-decaygc_noraiijacob/cs343-translationjenkins-sandboxmemorynew-astnew-ast-unique-exprnew-envno_listpersistent-indexerpthread-emulationqualifiedEnumresolv-newstringwith_gc
Last change on this file since c8ffe20b was 51b7345, checked in by Peter A. Buhr <pabuhr@…>, 10 years ago

initial commit

  • Property mode set to 100644
File size: 1.8 KB
Line 
1/*
2 * This file is part of the Cforall project
3 *
4 * $Id: SynTree.h,v 1.22 2005/08/29 20:59:26 rcbilson Exp $
5 *
6 * Forward declarations for syntax tree classes, so that they can be mutually
7 * interdependent
8 */
9
10#ifndef SYNTREE_H
11#define SYNTREE_H
12
13#include <string>
14#include <list>
15#include <map>
16#include <iostream>
17
18
19class Declaration;
20class DeclarationWithType;
21class ObjectDecl;
22class FunctionDecl;
23class AggregateDecl;
24class StructDecl;
25class UnionDecl;
26class EnumDecl;
27class ContextDecl;
28class NamedTypeDecl;
29class TypeDecl;
30class FtypeDecl;
31class DtypeDecl;
32class TypedefDecl;
33
34class Statement;
35class CompoundStmt;
36class ExprStmt;
37class IfStmt;
38class WhileStmt;
39class ForStmt;
40class SwitchStmt;
41class ChooseStmt;
42class FallthruStmt;
43class CaseStmt;
44class BranchStmt;
45class ReturnStmt;
46class TryStmt;
47class CatchStmt;
48class FinallyStmt;
49class NullStmt;
50class DeclStmt;
51class NullStmt;
52
53class Expression;
54class ApplicationExpr;
55class UntypedExpr;
56class NameExpr;
57class AddressExpr;
58class LabelAddressExpr;
59class CastExpr;
60class MemberExpr;
61class UntypedMemberExpr;
62class VariableExpr;
63class ConstantExpr;
64class SizeofExpr;
65class AttrExpr;
66class LogicalExpr;
67class ConditionalExpr;
68class CommaExpr;
69class TupleExpr;
70class SolvedTupleExpr;
71class TypeExpr;
72class UntypedValofExpr;
73
74class Type;
75class VoidType;
76class BasicType;
77class PointerType;
78class ArrayType;
79class FunctionType;
80class ReferenceToType;
81class StructInstType;
82class UnionInstType;
83class EnumInstType;
84class ContextInstType;
85class TypeInstType;
86class TupleType;
87class TypeofType;
88class AttrType;
89
90class Initializer;
91class MemberInit;
92class ElementInit;
93class SingleInit;
94class ListInit;
95
96class Subrange;
97
98//template <class T>    // emulate a union with templates?
99class Constant;
100
101typedef std::string Label;
102typedef unsigned int UniqueId;
103
104class TypeSubstitution;
105
106
107#endif /* #ifndef SYNTREE_H */
Note: See TracBrowser for help on using the repository browser.