source: src/SynTree/SynTree.h @ 9c951e3

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 9c951e3 was ce8c12f, checked in by Rob Schluntz <rschlunt@…>, 7 years ago

initial work on references: reference types passed through the system, very simple examples work

  • 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 : Thu Feb  9 14:23:49 2017
13// Update Count     : 8
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 TryStmt;
54class CatchStmt;
55class FinallyStmt;
56class NullStmt;
57class DeclStmt;
58class NullStmt;
59class ImplicitCtorDtorStmt;
60
61class Expression;
62class ApplicationExpr;
63class UntypedExpr;
64class NameExpr;
65class AddressExpr;
66class LabelAddressExpr;
67class CastExpr;
68class MemberExpr;
69class UntypedMemberExpr;
70class VariableExpr;
71class ConstantExpr;
72class SizeofExpr;
73class AlignofExpr;
74class UntypedOffsetofExpr;
75class OffsetofExpr;
76class OffsetPackExpr;
77class AttrExpr;
78class LogicalExpr;
79class ConditionalExpr;
80class CommaExpr;
81class TypeExpr;
82class AsmExpr;
83class ImplicitCopyCtorExpr;
84class ConstructorExpr;
85class CompoundLiteralExpr;
86class UntypedValofExpr;
87class RangeExpr;
88class UntypedTupleExpr;
89class TupleExpr;
90class TupleIndexExpr;
91class MemberTupleExpr;
92class TupleAssignExpr;
93class StmtExpr;
94class UniqueExpr;
95
96class Type;
97class VoidType;
98class BasicType;
99class PointerType;
100class ArrayType;
101class ReferenceType;
102class FunctionType;
103class ReferenceToType;
104class StructInstType;
105class UnionInstType;
106class EnumInstType;
107class TraitInstType;
108class TypeInstType;
109class TupleType;
110class TypeofType;
111class AttrType;
112class VarArgsType;
113class ZeroType;
114class OneType;
115
116class Initializer;
117class SingleInit;
118class ListInit;
119class ConstructorInit;
120
121class Subrange;
122
123//template <class T>    // emulate a union with templates?
124class Constant;
125
126// typedef std::string Label;
127class Label;
128typedef unsigned int UniqueId;
129
130class TypeSubstitution;
131
132// gcc attribute
133class Attribute;
134
135#endif // SYNTREE_H
136
137// Local Variables: //
138// tab-width: 4 //
139// mode: c++ //
140// compile-command: "make install" //
141// End: //
Note: See TracBrowser for help on using the repository browser.