source: src/SynTree/SynTree.h @ 0c92c9f

ADTaaron-thesisarm-ehast-experimentalcleanup-dtorsdeferred_resndemanglerenumforall-pointer-decayjacob/cs343-translationjenkins-sandboxnew-astnew-ast-unique-exprnew-envno_listpersistent-indexerpthread-emulationqualifiedEnumresolv-newwith_gc
Last change on this file since 0c92c9f was 907eccb, checked in by Rob Schluntz <rschlunt@…>, 7 years ago

added UntypedTupleExpr? to better differentiate typed and untyped contexts, simplifying some code

  • Property mode set to 100644
File size: 2.5 KB
Line 
1//
2// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
3//
4// The contents of this file are covered under the licence agreement in the
5// file "LICENCE" distributed with Cforall.
6//
7// SynTree.h --
8//
9// Author           : Richard C. Bilson
10// Created On       : Mon May 18 07:44:20 2015
11// Last Modified By : Peter A. Buhr
12// Last Modified On : Wed Aug  3 17:02:34 2016
13// Update Count     : 7
14//
15
16#ifndef SYNTREE_H
17#define SYNTREE_H
18
19#include <string>
20#include <list>
21#include <map>
22#include <iostream>
23
24class Declaration;
25class DeclarationWithType;
26class ObjectDecl;
27class FunctionDecl;
28class AggregateDecl;
29class StructDecl;
30class UnionDecl;
31class EnumDecl;
32class TraitDecl;
33class NamedTypeDecl;
34class TypeDecl;
35class FtypeDecl;
36class DtypeDecl;
37class TypedefDecl;
38
39class Statement;
40class CompoundStmt;
41class ExprStmt;
42class AsmStmt;
43class IfStmt;
44class WhileStmt;
45class ForStmt;
46class SwitchStmt;
47class CaseStmt;
48class BranchStmt;
49class ReturnStmt;
50class TryStmt;
51class CatchStmt;
52class FinallyStmt;
53class NullStmt;
54class DeclStmt;
55class NullStmt;
56class ImplicitCtorDtorStmt;
57
58class Expression;
59class ApplicationExpr;
60class UntypedExpr;
61class NameExpr;
62class AddressExpr;
63class LabelAddressExpr;
64class CastExpr;
65class MemberExpr;
66class UntypedMemberExpr;
67class VariableExpr;
68class ConstantExpr;
69class SizeofExpr;
70class AlignofExpr;
71class UntypedOffsetofExpr;
72class OffsetofExpr;
73class OffsetPackExpr;
74class AttrExpr;
75class LogicalExpr;
76class ConditionalExpr;
77class CommaExpr;
78class TypeExpr;
79class AsmExpr;
80class ImplicitCopyCtorExpr;
81class ConstructorExpr;
82class CompoundLiteralExpr;
83class UntypedValofExpr;
84class RangeExpr;
85class UntypedTupleExpr;
86class TupleExpr;
87class TupleIndexExpr;
88class MemberTupleExpr;
89class TupleAssignExpr;
90class StmtExpr;
91class UniqueExpr;
92
93class Type;
94class VoidType;
95class BasicType;
96class PointerType;
97class ArrayType;
98class FunctionType;
99class ReferenceToType;
100class StructInstType;
101class UnionInstType;
102class EnumInstType;
103class TraitInstType;
104class TypeInstType;
105class TupleType;
106class TypeofType;
107class AttrType;
108class VarArgsType;
109class ZeroType;
110class OneType;
111
112class Initializer;
113class SingleInit;
114class ListInit;
115class ConstructorInit;
116
117class Subrange;
118
119//template <class T>    // emulate a union with templates?
120class Constant;
121
122// typedef std::string Label;
123class Label;
124typedef unsigned int UniqueId;
125
126class TypeSubstitution;
127
128// gcc attribute
129class Attribute;
130
131#endif // SYNTREE_H
132
133// Local Variables: //
134// tab-width: 4 //
135// mode: c++ //
136// compile-command: "make install" //
137// End: //
Note: See TracBrowser for help on using the repository browser.