ADTaaron-thesisarm-ehast-experimentalcleanup-dtorsdeferred_resndemanglerenumforall-pointer-decayjacob/cs343-translationjenkins-sandboxnew-astnew-ast-unique-exprnew-envno_listpersistent-indexerpthread-emulationqualifiedEnumwith_gc
Last change
on this file since 0a75b77 was
d807ca28,
checked in by Rob Schluntz <rschlunt@…>, 6 years ago
|
Add AST support for _Generic, along with C codegen
|
-
Property mode set to
100644
|
File size:
2.7 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 : Mon Jul 24 16:54:00 2017 |
---|
13 | // Update Count : 11 |
---|
14 | // |
---|
15 | |
---|
16 | #pragma once |
---|
17 | |
---|
18 | #include <string> |
---|
19 | #include <list> |
---|
20 | #include <map> |
---|
21 | #include <iostream> |
---|
22 | |
---|
23 | class BaseSyntaxNode; |
---|
24 | |
---|
25 | class Declaration; |
---|
26 | class DeclarationWithType; |
---|
27 | class ObjectDecl; |
---|
28 | class FunctionDecl; |
---|
29 | class AggregateDecl; |
---|
30 | class StructDecl; |
---|
31 | class UnionDecl; |
---|
32 | class EnumDecl; |
---|
33 | class TraitDecl; |
---|
34 | class NamedTypeDecl; |
---|
35 | class TypeDecl; |
---|
36 | class FtypeDecl; |
---|
37 | class DtypeDecl; |
---|
38 | class TypedefDecl; |
---|
39 | class AsmDecl; |
---|
40 | class StaticAssertDecl; |
---|
41 | |
---|
42 | class Statement; |
---|
43 | class CompoundStmt; |
---|
44 | class ExprStmt; |
---|
45 | class AsmStmt; |
---|
46 | class DirectiveStmt; |
---|
47 | class IfStmt; |
---|
48 | class WhileStmt; |
---|
49 | class ForStmt; |
---|
50 | class SwitchStmt; |
---|
51 | class CaseStmt; |
---|
52 | class BranchStmt; |
---|
53 | class ReturnStmt; |
---|
54 | class ThrowStmt; |
---|
55 | class TryStmt; |
---|
56 | class CatchStmt; |
---|
57 | class FinallyStmt; |
---|
58 | class WaitForStmt; |
---|
59 | class WithStmt; |
---|
60 | class NullStmt; |
---|
61 | class DeclStmt; |
---|
62 | class NullStmt; |
---|
63 | class ImplicitCtorDtorStmt; |
---|
64 | |
---|
65 | class Expression; |
---|
66 | class ApplicationExpr; |
---|
67 | class UntypedExpr; |
---|
68 | class NameExpr; |
---|
69 | class AddressExpr; |
---|
70 | class LabelAddressExpr; |
---|
71 | class CastExpr; |
---|
72 | class KeywordCastExpr; |
---|
73 | class VirtualCastExpr; |
---|
74 | class MemberExpr; |
---|
75 | class UntypedMemberExpr; |
---|
76 | class VariableExpr; |
---|
77 | class ConstantExpr; |
---|
78 | class SizeofExpr; |
---|
79 | class AlignofExpr; |
---|
80 | class UntypedOffsetofExpr; |
---|
81 | class OffsetofExpr; |
---|
82 | class OffsetPackExpr; |
---|
83 | class AttrExpr; |
---|
84 | class LogicalExpr; |
---|
85 | class ConditionalExpr; |
---|
86 | class CommaExpr; |
---|
87 | class TypeExpr; |
---|
88 | class AsmExpr; |
---|
89 | class ImplicitCopyCtorExpr; |
---|
90 | class ConstructorExpr; |
---|
91 | class CompoundLiteralExpr; |
---|
92 | class UntypedValofExpr; |
---|
93 | class RangeExpr; |
---|
94 | class UntypedTupleExpr; |
---|
95 | class TupleExpr; |
---|
96 | class TupleIndexExpr; |
---|
97 | class TupleAssignExpr; |
---|
98 | class StmtExpr; |
---|
99 | class UniqueExpr; |
---|
100 | class UntypedInitExpr; |
---|
101 | class InitExpr; |
---|
102 | class DeletedExpr; |
---|
103 | class GenericExpr; |
---|
104 | |
---|
105 | class Type; |
---|
106 | class VoidType; |
---|
107 | class BasicType; |
---|
108 | class PointerType; |
---|
109 | class ArrayType; |
---|
110 | class ReferenceType; |
---|
111 | class FunctionType; |
---|
112 | class ReferenceToType; |
---|
113 | class StructInstType; |
---|
114 | class UnionInstType; |
---|
115 | class EnumInstType; |
---|
116 | class TraitInstType; |
---|
117 | class TypeInstType; |
---|
118 | class TupleType; |
---|
119 | class TypeofType; |
---|
120 | class AttrType; |
---|
121 | class VarArgsType; |
---|
122 | class ZeroType; |
---|
123 | class OneType; |
---|
124 | |
---|
125 | class Designation; |
---|
126 | class Initializer; |
---|
127 | class SingleInit; |
---|
128 | class ListInit; |
---|
129 | class ConstructorInit; |
---|
130 | |
---|
131 | class Subrange; |
---|
132 | |
---|
133 | //template <class T> // emulate a union with templates? |
---|
134 | class Constant; |
---|
135 | |
---|
136 | // typedef std::string Label; |
---|
137 | class Label; |
---|
138 | typedef unsigned int UniqueId; |
---|
139 | |
---|
140 | class TypeSubstitution; |
---|
141 | |
---|
142 | // gcc attribute |
---|
143 | class Attribute; |
---|
144 | |
---|
145 | // Local Variables: // |
---|
146 | // tab-width: 4 // |
---|
147 | // mode: c++ // |
---|
148 | // compile-command: "make install" // |
---|
149 | // End: // |
---|
Note: See
TracBrowser
for help on using the repository browser.