source: src/SynTree/SynTree.h @ c9f9d4f

ADTast-experimentalenumforall-pointer-decayjacob/cs343-translationnew-ast-unique-exprpthread-emulationqualifiedEnum
Last change on this file since c9f9d4f was 7ff35e0e, checked in by Thierry Delisle <tdelisle@…>, 3 years ago

Implemented old ast boiler-plate for vtabletype.

  • Property mode set to 100644
File size: 2.8 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 : Fri Mar 12 18:56:44 2021
13// Update Count     : 13
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 TypedefDecl;
37class AsmDecl;
38class DirectiveDecl;
39class StaticAssertDecl;
40
41class Statement;
42class CompoundStmt;
43class ExprStmt;
44class AsmStmt;
45class DirectiveStmt;
46class IfStmt;
47class WhileStmt;
48class ForStmt;
49class SwitchStmt;
50class CaseStmt;
51class BranchStmt;
52class ReturnStmt;
53class ThrowStmt;
54class TryStmt;
55class CatchStmt;
56class FinallyStmt;
57class SuspendStmt;
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 LogicalExpr;
84class ConditionalExpr;
85class CommaExpr;
86class TypeExpr;
87class DimensionExpr;
88class AsmExpr;
89class ImplicitCopyCtorExpr;
90class ConstructorExpr;
91class CompoundLiteralExpr;
92class RangeExpr;
93class UntypedTupleExpr;
94class TupleExpr;
95class TupleIndexExpr;
96class TupleAssignExpr;
97class StmtExpr;
98class UniqueExpr;
99class UntypedInitExpr;
100class InitExpr;
101class DeletedExpr;
102class DefaultArgExpr;
103class GenericExpr;
104
105class Type;
106class VoidType;
107class BasicType;
108class PointerType;
109class ArrayType;
110class ReferenceType;
111class QualifiedType;
112class FunctionType;
113class ReferenceToType;
114class StructInstType;
115class UnionInstType;
116class EnumInstType;
117class TraitInstType;
118class TypeInstType;
119class TupleType;
120class TypeofType;
121class VTableType;
122class AttrType;
123class VarArgsType;
124class ZeroType;
125class OneType;
126class GlobalScopeType;
127
128class Designation;
129class Initializer;
130class SingleInit;
131class ListInit;
132class ConstructorInit;
133
134//template <class T>    // emulate a union with templates?
135class Constant;
136
137// typedef std::string Label;
138class Label;
139typedef unsigned int UniqueId;
140
141class TypeSubstitution;
142
143// gcc attribute
144class Attribute;
145
146// Local Variables: //
147// tab-width: 4 //
148// mode: c++ //
149// compile-command: "make install" //
150// End: //
Note: See TracBrowser for help on using the repository browser.