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

ADTaaron-thesisarm-ehast-experimentalcleanup-dtorsctordeferred_resndemanglerenumforall-pointer-decaygc_noraiijacob/cs343-translationjenkins-sandboxmemorynew-astnew-ast-unique-exprnew-envno_listpersistent-indexerpthread-emulationqualifiedEnumresolv-newwith_gc
Last change on this file since 0f8e4ac was 0f8e4ac, checked in by Rob Schluntz <rschlunt@…>, 8 years ago

change Label from a string typedef to a class

  • Property mode set to 100644
File size: 2.4 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
[71f4e4f]11// Last Modified By : Rob Schluntz
[70a06f6]12// Last Modified On : Thu Apr 14 15:31:36 2016
[630a82a]13// Update Count     : 5
[0dd3a2f]14//
[51b7345]15
16#ifndef SYNTREE_H
17#define SYNTREE_H
18
19#include <string>
20#include <list>
21#include <map>
22#include <iostream>
23
24class Declaration;
25class DeclarationWithType;
26class ObjectDecl;
27class FunctionDecl;
28class AggregateDecl;
29class StructDecl;
30class UnionDecl;
31class EnumDecl;
[4040425]32class TraitDecl;
[51b7345]33class NamedTypeDecl;
34class TypeDecl;
35class FtypeDecl;
36class DtypeDecl;
37class TypedefDecl;
38
39class Statement;
40class CompoundStmt;
41class ExprStmt;
[7f5566b]42class AsmStmt;
[51b7345]43class IfStmt;
44class WhileStmt;
45class ForStmt;
46class SwitchStmt;
47class ChooseStmt;
48class FallthruStmt;
49class CaseStmt;
50class BranchStmt;
51class ReturnStmt;
52class TryStmt;
53class CatchStmt;
54class FinallyStmt;
55class NullStmt;
56class DeclStmt;
57class NullStmt;
[f1b1e4c]58class ImplicitCtorDtorStmt;
[51b7345]59
60class Expression;
61class ApplicationExpr;
62class UntypedExpr;
63class NameExpr;
64class AddressExpr;
65class LabelAddressExpr;
66class CastExpr;
67class MemberExpr;
68class UntypedMemberExpr;
69class VariableExpr;
70class ConstantExpr;
71class SizeofExpr;
[47534159]72class AlignofExpr;
[2a4b088]73class UntypedOffsetofExpr;
[25a054f]74class OffsetofExpr;
[afc1045]75class OffsetPackExpr;
[51b7345]76class AttrExpr;
77class LogicalExpr;
78class ConditionalExpr;
79class CommaExpr;
80class TupleExpr;
81class SolvedTupleExpr;
82class TypeExpr;
[7f5566b]83class AsmExpr;
[db4ecc5]84class ImplicitCopyCtorExpr;
[51b7345]85class UntypedValofExpr;
[630a82a]86class CompoundLiteralExpr;
[51b7345]87
88class Type;
89class VoidType;
90class BasicType;
91class PointerType;
92class ArrayType;
93class FunctionType;
94class ReferenceToType;
95class StructInstType;
96class UnionInstType;
97class EnumInstType;
[4040425]98class TraitInstType;
[51b7345]99class TypeInstType;
100class TupleType;
101class TypeofType;
102class AttrType;
[44b7088]103class VarArgsType;
[51b7345]104
105class Initializer;
106class SingleInit;
107class ListInit;
[71f4e4f]108class ConstructorInit;
[51b7345]109
110class Subrange;
111
112//template <class T>    // emulate a union with templates?
113class Constant;
114
[0f8e4ac]115// typedef std::string Label;
116class Label;
[51b7345]117typedef unsigned int UniqueId;
118
119class TypeSubstitution;
120
[7baed7d]121// gcc attribute
122class Attribute;
123
[0dd3a2f]124#endif // SYNTREE_H
[51b7345]125
[0dd3a2f]126// Local Variables: //
127// tab-width: 4 //
128// mode: c++ //
129// compile-command: "make install" //
130// End: //
Note: See TracBrowser for help on using the repository browser.