source: src/SynTree/SynTree.h @ 7bbba76

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 7bbba76 was daf1af8, checked in by Andrew Beach <ajbeach@…>, 7 years ago

Added a new ThrowStmt? node to the Syntax Tree.

  • 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 : Andrew Beach
12// Last Modified On : Thu Jun  8 17:00:00 2017
13// Update Count     : 9
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 BaseSyntaxNode;
25
26class Declaration;
27class DeclarationWithType;
28class ObjectDecl;
29class FunctionDecl;
30class AggregateDecl;
31class StructDecl;
32class UnionDecl;
33class EnumDecl;
34class TraitDecl;
35class NamedTypeDecl;
36class TypeDecl;
37class FtypeDecl;
38class DtypeDecl;
39class TypedefDecl;
40class AsmDecl;
41
42class Statement;
43class CompoundStmt;
44class ExprStmt;
45class AsmStmt;
46class IfStmt;
47class WhileStmt;
48class ForStmt;
49class SwitchStmt;
50class CaseStmt;
51class BranchStmt;
52class ReturnStmt;
53class ThrowStmt;
54class TryStmt;
55class CatchStmt;
56class FinallyStmt;
57class NullStmt;
58class DeclStmt;
59class NullStmt;
60class ImplicitCtorDtorStmt;
61
62class Expression;
63class ApplicationExpr;
64class UntypedExpr;
65class NameExpr;
66class AddressExpr;
67class LabelAddressExpr;
68class CastExpr;
69class MemberExpr;
70class UntypedMemberExpr;
71class VariableExpr;
72class ConstantExpr;
73class SizeofExpr;
74class AlignofExpr;
75class UntypedOffsetofExpr;
76class OffsetofExpr;
77class OffsetPackExpr;
78class AttrExpr;
79class LogicalExpr;
80class ConditionalExpr;
81class CommaExpr;
82class TypeExpr;
83class AsmExpr;
84class ImplicitCopyCtorExpr;
85class ConstructorExpr;
86class CompoundLiteralExpr;
87class UntypedValofExpr;
88class RangeExpr;
89class UntypedTupleExpr;
90class TupleExpr;
91class TupleIndexExpr;
92class TupleAssignExpr;
93class StmtExpr;
94class UniqueExpr;
95
96class Type;
97class VoidType;
98class BasicType;
99class PointerType;
100class ArrayType;
101class FunctionType;
102class ReferenceToType;
103class StructInstType;
104class UnionInstType;
105class EnumInstType;
106class TraitInstType;
107class TypeInstType;
108class TupleType;
109class TypeofType;
110class AttrType;
111class VarArgsType;
112class ZeroType;
113class OneType;
114
115class Initializer;
116class SingleInit;
117class ListInit;
118class ConstructorInit;
119
120class Subrange;
121
122//template <class T>    // emulate a union with templates?
123class Constant;
124
125// typedef std::string Label;
126class Label;
127typedef unsigned int UniqueId;
128
129class TypeSubstitution;
130
131// gcc attribute
132class Attribute;
133
134#endif // SYNTREE_H
135
136// Local Variables: //
137// tab-width: 4 //
138// mode: c++ //
139// compile-command: "make install" //
140// End: //
Note: See TracBrowser for help on using the repository browser.