source: src/SynTree/SynTree.h@ f4e01f1

ADT
Last change on this file since f4e01f1 was 561354f, checked in by JiadaL <j82liang@…>, 3 years ago

Save progress

  • Property mode set to 100644
File size: 2.8 KB
RevLine 
[0dd3a2f]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//
[71f4e4f]7// SynTree.h --
[0dd3a2f]8//
9// Author : Richard C. Bilson
10// Created On : Mon May 18 07:44:20 2015
[033ff37]11// Last Modified By : Peter A. Buhr
[3b0bc16]12// Last Modified On : Tue Feb 1 09:22:33 2022
13// Update Count : 14
[0dd3a2f]14//
[51b73452]15
[6b0b624]16#pragma once
[51b73452]17
18#include <string>
19#include <list>
20#include <map>
21#include <iostream>
22
[262f085f]23class BaseSyntaxNode;
24
[51b73452]25class Declaration;
26class DeclarationWithType;
27class ObjectDecl;
28class FunctionDecl;
29class AggregateDecl;
30class StructDecl;
31class UnionDecl;
32class EnumDecl;
[561354f]33class AdtDecl;
[4040425]34class TraitDecl;
[51b73452]35class NamedTypeDecl;
36class TypeDecl;
37class TypedefDecl;
[e994912]38class AsmDecl;
[2d019af]39class DirectiveDecl;
[f6e3e34]40class StaticAssertDecl;
[71806e0]41class InlineMemberDecl;
[51b73452]42
43class Statement;
44class CompoundStmt;
45class ExprStmt;
[7f5566b]46class AsmStmt;
[cc32d83]47class DirectiveStmt;
[51b73452]48class IfStmt;
[3b0bc16]49class WhileDoStmt;
[51b73452]50class ForStmt;
51class SwitchStmt;
52class CaseStmt;
53class BranchStmt;
54class ReturnStmt;
[daf1af8]55class ThrowStmt;
[51b73452]56class TryStmt;
57class CatchStmt;
58class FinallyStmt;
[37cdd97]59class SuspendStmt;
[135b431]60class WaitForStmt;
[61255ad]61class WithStmt;
[51b73452]62class NullStmt;
63class DeclStmt;
64class NullStmt;
[f1b1e4c]65class ImplicitCtorDtorStmt;
[6cebfef]66class MutexStmt;
[51b73452]67
68class Expression;
69class ApplicationExpr;
70class UntypedExpr;
71class NameExpr;
72class AddressExpr;
73class LabelAddressExpr;
74class CastExpr;
[9a705dc8]75class KeywordCastExpr;
[a5f0529]76class VirtualCastExpr;
[51b73452]77class MemberExpr;
78class UntypedMemberExpr;
79class VariableExpr;
80class ConstantExpr;
81class SizeofExpr;
[47534159]82class AlignofExpr;
[2a4b088]83class UntypedOffsetofExpr;
[25a054f]84class OffsetofExpr;
[afc1045]85class OffsetPackExpr;
[51b73452]86class LogicalExpr;
87class ConditionalExpr;
88class CommaExpr;
89class TypeExpr;
[6e50a6b]90class DimensionExpr;
[7f5566b]91class AsmExpr;
[db4ecc5]92class ImplicitCopyCtorExpr;
[b6fe7e6]93class ConstructorExpr;
[630a82a]94class CompoundLiteralExpr;
[8688ce1]95class RangeExpr;
[907eccb]96class UntypedTupleExpr;
[6eb8948]97class TupleExpr;
[3b58d91]98class TupleIndexExpr;
[6eb8948]99class TupleAssignExpr;
100class StmtExpr;
[3c13c03]101class UniqueExpr;
[e4d829b]102class UntypedInitExpr;
103class InitExpr;
[44b4114]104class DeletedExpr;
[0f79853]105class DefaultArgExpr;
[d807ca28]106class GenericExpr;
[50a8aa9]107class QualifiedNameExpr;
[51b73452]108
109class Type;
110class VoidType;
111class BasicType;
112class PointerType;
113class ArrayType;
[ce8c12f]114class ReferenceType;
[c5d7701]115class QualifiedType;
[51b73452]116class FunctionType;
117class ReferenceToType;
118class StructInstType;
119class UnionInstType;
120class EnumInstType;
[4040425]121class TraitInstType;
[51b73452]122class TypeInstType;
123class TupleType;
124class TypeofType;
[7ff35e0e]125class VTableType;
[51b73452]126class AttrType;
[44b7088]127class VarArgsType;
[89e6ffc]128class ZeroType;
129class OneType;
[47498bd]130class GlobalScopeType;
[51b73452]131
[e4d829b]132class Designation;
[51b73452]133class Initializer;
134class SingleInit;
135class ListInit;
[71f4e4f]136class ConstructorInit;
[51b73452]137
138//template <class T> // emulate a union with templates?
139class Constant;
140
[0f8e4ac]141// typedef std::string Label;
142class Label;
[51b73452]143typedef unsigned int UniqueId;
144
145class TypeSubstitution;
146
[7baed7d]147// gcc attribute
148class Attribute;
149
[0dd3a2f]150// Local Variables: //
151// tab-width: 4 //
152// mode: c++ //
153// compile-command: "make install" //
154// End: //
Note: See TracBrowser for help on using the repository browser.