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

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
23class BaseSyntaxNode;
24
25class Declaration;
26class DeclarationWithType;
27class ObjectDecl;
28class FunctionDecl;
29class AggregateDecl;
30class StructDecl;
31class UnionDecl;
32class EnumDecl;
33class TraitDecl;
34class NamedTypeDecl;
35class TypeDecl;
36class FtypeDecl;
37class DtypeDecl;
38class TypedefDecl;
39class AsmDecl;
40class StaticAssertDecl;
41
42class Statement;
43class CompoundStmt;
44class ExprStmt;
45class AsmStmt;
46class DirectiveStmt;
47class IfStmt;
48class WhileStmt;
49class ForStmt;
50class SwitchStmt;
51class CaseStmt;
52class BranchStmt;
53class ReturnStmt;
54class ThrowStmt;
55class TryStmt;
56class CatchStmt;
57class FinallyStmt;
58class WaitForStmt;
59class WithStmt;
60class NullStmt;
61class DeclStmt;
62class NullStmt;
63class ImplicitCtorDtorStmt;
64
65class Expression;
66class ApplicationExpr;
67class UntypedExpr;
68class NameExpr;
69class AddressExpr;
70class LabelAddressExpr;
71class CastExpr;
72class KeywordCastExpr;
73class VirtualCastExpr;
74class MemberExpr;
75class UntypedMemberExpr;
76class VariableExpr;
77class ConstantExpr;
78class SizeofExpr;
79class AlignofExpr;
80class UntypedOffsetofExpr;
81class OffsetofExpr;
82class OffsetPackExpr;
83class AttrExpr;
84class LogicalExpr;
85class ConditionalExpr;
86class CommaExpr;
87class TypeExpr;
88class AsmExpr;
89class ImplicitCopyCtorExpr;
90class ConstructorExpr;
91class CompoundLiteralExpr;
92class UntypedValofExpr;
93class RangeExpr;
94class UntypedTupleExpr;
95class TupleExpr;
96class TupleIndexExpr;
97class TupleAssignExpr;
98class StmtExpr;
99class UniqueExpr;
100class UntypedInitExpr;
101class InitExpr;
102class DeletedExpr;
103class GenericExpr;
104
105class Type;
106class VoidType;
107class BasicType;
108class PointerType;
109class ArrayType;
110class ReferenceType;
111class FunctionType;
112class ReferenceToType;
113class StructInstType;
114class UnionInstType;
115class EnumInstType;
116class TraitInstType;
117class TypeInstType;
118class TupleType;
119class TypeofType;
120class AttrType;
121class VarArgsType;
122class ZeroType;
123class OneType;
124
125class Designation;
126class Initializer;
127class SingleInit;
128class ListInit;
129class ConstructorInit;
130
131class Subrange;
132
133//template <class T>    // emulate a union with templates?
134class Constant;
135
136// typedef std::string Label;
137class Label;
138typedef unsigned int UniqueId;
139
140class TypeSubstitution;
141
142// gcc attribute
143class 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.