source: src/SynTree/SynTree.h @ ca69a8a

ADTast-experimentalenumforall-pointer-decayjacob/cs343-translationnew-ast-unique-exprpthread-emulationqualifiedEnum
Last change on this file since ca69a8a was 6e50a6b, checked in by Michael Brooks <mlbrooks@…>, 3 years ago

Implementing language-provided syntax for (array) dimensions.

Former z(i) and Z(N) macros are eliminated.

  • 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 AttrType;
122class VarArgsType;
123class ZeroType;
124class OneType;
125class GlobalScopeType;
126
127class Designation;
128class Initializer;
129class SingleInit;
130class ListInit;
131class ConstructorInit;
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.